createHarness
createHarness<
TInput,TOutput,TMetadata>(options):Harness<TInput,TOutput,TMetadata>
Creates a harness from the common “run app code and return output” shape.
Type Parameters
Section titled “Type Parameters”TInput
Section titled “TInput”TInput = unknown
TOutput
Section titled “TOutput”TOutput extends JsonValue | undefined = JsonValue | undefined
TMetadata
Section titled “TMetadata”TMetadata extends HarnessMetadata = HarnessMetadata
Parameters
Section titled “Parameters”options
Section titled “options”CreateHarnessOptions<TInput, TOutput, TMetadata>
Harness name plus the callback that executes app code.
Returns
Section titled “Returns”Harness<TInput, TOutput, TMetadata>
Example
Section titled “Example”import { createHarness } from "vitest-evals";
export const refundHarness = createHarness< string, { status: "approved" | "denied" }, { expected: { status: "approved" | "denied" } }>({ name: "refund-agent", run: async ({ input, metadata, setArtifact }) => { const result = await runRefundFlow(input, metadata); const output = { status: result.status };
setArtifact("case", { expected: metadata.expected.status });
return { output, toolCalls: result.toolCalls, usage: { provider: "openai", model: "gpt-4o-mini" }, }; },});