HarnessContext
HarnessContext<
TMetadata> =object
Runtime context passed from the eval fixture into a harness run.
Example
Section titled “Example”const harness: Harness<string> = { name: "refund-agent", async run(input, context) { context.setArtifact("inputLength", input.length);
return { output: undefined, session: { messages: [{ role: "user", content: input }] }, usage: {}, errors: [], }; },};Type Parameters
Section titled “Type Parameters”TMetadata
Section titled “TMetadata”TMetadata extends HarnessMetadata = HarnessMetadata
Properties
Section titled “Properties”artifacts
Section titled “artifacts”artifacts:
Record<string,JsonValue>
Mutable JSON-safe artifact bag shared with the harness.
metadata
Section titled “metadata”metadata:
Readonly<TMetadata>
Per-run metadata passed through run(input, { metadata }).
setArtifact
Section titled “setArtifact”setArtifact: (
name,value) =>void
Stores one JSON-safe artifact on the current run.
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”void
signal?
Section titled “signal?”
optionalsignal?:AbortSignal
Abort signal from Vitest when available.