import { Effect, Schema } from "effect"; import { type DriverCheckpoint, type DriverDecision, type OperationOutcome } from "./driver-contract.js"; import { DriverError, DriverStateInvalid, type DurableAgentDriver } from "./durable-driver.js"; /** @experimental Scripted model response used by the tracer driver. */ export interface TracerModelStep { readonly text?: string; readonly toolCalls?: ReadonlyArray<{ readonly name: string; readonly params: unknown; }>; readonly wait?: { readonly waitId: string; readonly reason: string; }; } /** @experimental Internal tracer state serialized in DriverCheckpoint.state. */ export declare const TracerState: Schema.Struct<{ readonly promptText: Schema.String; readonly text: Schema.String; readonly phase: Schema.Literals; readonly modelIndex: Schema.Finite; readonly toolIndex: Schema.Finite; readonly pendingTools: Schema.$Array>; readonly waitId: Schema.optionalKey; readonly script: Schema.$Array; readonly toolCalls: Schema.optionalKey>>; readonly wait: Schema.optionalKey>; }>>; }>; /** @experimental */ export type TracerState = typeof TracerState.Type; /** @experimental Canonical in-memory driver for checkpoint/decision/apply conformance tests. */ export declare const makeTracer: (script: ReadonlyArray) => DurableAgentDriver; /** @experimental Advance one Execute decision using a supplied outcome. */ export declare const applyOperation: { (checkpoint: DriverCheckpoint, outcome: OperationOutcome): (driver: DurableAgentDriver) => Effect.Effect; (driver: DurableAgentDriver, checkpoint: DriverCheckpoint, outcome: OperationOutcome): Effect.Effect; }; /** @experimental Produce a Complete decision from a terminal tracer checkpoint. */ export declare const completeFromCheckpoint: (checkpoint: DriverCheckpoint) => Effect.Effect, DriverStateInvalid>;