Skip to content

normalizeHarnessRun

normalizeHarnessRun<TInput, TMetadata, TOutput>(input, result, context?): HarnessRun<TOutput>

Normalizes a lightweight harness result into the reporter-facing run shape.

TInput = unknown

TMetadata extends HarnessMetadata = HarnessMetadata

TOutput extends JsonValue | undefined = JsonValue | undefined

TInput

Original input passed to the harness.

HarnessResultLike<TOutput>

Lightweight result or pre-normalized harness run.

HarnessContext<TMetadata>

Optional per-run context used to merge artifacts.

HarnessRun<TOutput>

const run = normalizeHarnessRun("Refund invoice inv_123", {
output: { status: "approved" },
toolCalls: [{ name: "lookupInvoice", arguments: { invoiceId: "inv_123" } }],
usage: { provider: "openai", model: "gpt-4o-mini" },
});
expect(toolCalls(run.session)).toHaveLength(1);