import type { Stimulus } from "../eval/types.js"; import type { Trajectory } from "../trajectory/types.js"; import type { Executor, ExecutorOptions } from "./types.js"; /** * A zero-dependency executor that returns a minimal valid trajectory * without making any API calls or spawning external processes. * * Useful for: * - Testing graders in isolation (feed fixture responses) * - CI pipelines that validate eval YAML without a live agent * - Benchmarking the pipeline itself (no executor latency) * * Fixture support: if a JSON file exists at * `/.mock-executor/.json`, its content is used * as the assistant response output. The file must contain a JSON object * with an `output` string field and an optional `events` array. */ export declare class MockExecutor implements Executor { readonly name = "mock"; readonly supportsPreparedWorkspace = true; readonly supportsMultiTurn = true; /** * The `ExecutorOptions` from the most recent `execute()` call. Exposed for * tests to assert what the pipeline forwarded (e.g. `model`, * `reasoningEffort`) without touching the server-parsed trajectory metadata. */ lastReceivedOptions?: ExecutorOptions; /** * Execute a stimulus by returning a minimal trajectory. * * If a fixture file exists at `/.mock-executor/.json`, * its `output` and optional `events` are used. Otherwise the stimulus prompt * is echoed back as the trajectory output. * * @param stimulus - The eval stimulus to execute. * @param options - Execution options including workDir and optional model/sessionID. * @returns A trajectory with the fixture or echoed output, computed metrics * (derived from fixture events, or near-zero when no fixture is present), and mock metadata. */ execute(stimulus: Stimulus, options: ExecutorOptions): Promise; shutdown(): Promise; /** * Load an optional fixture file from `/.mock-executor/.json`. * Returns `undefined` when the file doesn't exist or can't be parsed. */ private loadFixture; } //# sourceMappingURL=mock-executor.d.ts.map