Skip to content

HarnessContext

HarnessContext<TMetadata> = object

Runtime context passed from the eval fixture into a harness run.

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: [],
};
},
};

TMetadata extends HarnessMetadata = HarnessMetadata

artifacts: Record<string, JsonValue>

Mutable JSON-safe artifact bag shared with the harness.


metadata: Readonly<TMetadata>

Per-run metadata passed through run(input, { metadata }).


setArtifact: (name, value) => void

Stores one JSON-safe artifact on the current run.

string

JsonValue

void


optional signal?: AbortSignal

Abort signal from Vitest when available.