import { type DawnResumeEntry } from "@dawn-ai/cli/runtime"; import type { FixtureSet, ScriptBuilder } from "./fixture-builder.js"; import { type AgentRunResult } from "./run-result.js"; export interface AgentHarnessOptions { readonly appRoot: string; readonly route: string; readonly fixtures?: FixtureSet; /** * When true, proxy all LLM requests through a real upstream (OPENAI_API_KEY * must be set). Requires OPENAI_API_KEY to be present in the environment. */ readonly live?: boolean; /** Capture real-model traffic for getRecordedFixtures(). Proxies to recordUpstream. */ readonly record?: boolean; /** Upstream base URL for record mode (no /v1 suffix). Default https://api.openai.com. */ readonly recordUpstream?: string; } export interface AgentHarness { readonly baseUrl: string; run(opts: { input: string; fixtures?: FixtureSet | ScriptBuilder; }): Promise; resume(opts: { resume: readonly DawnResumeEntry[]; fixtures?: FixtureSet | ScriptBuilder; }): Promise; reset(): void; close(): Promise; [Symbol.asyncDispose](): Promise; /** Fixtures captured from the most recent run() (record mode only); re-keyed for replay. */ getRecordedFixtures(): FixtureSet; } export declare function createAgentHarness(options: AgentHarnessOptions): Promise; //# sourceMappingURL=harness.d.ts.map