import { Effect, Schema, Stream } from "effect"; import { DriverInterpreter, type OperationSpec } from "./driver-interpreter.js"; import type { BudgetLimits, RunBudget } from "./run-budget.js"; import { DriverError, DriverStateInvalid } from "./durable-driver.js"; import { DriverUnknownReplay } from "./driver-interpreter.js"; import { RunBudgetExhausted } from "./run-budget.js"; import type { HandoffControlState } from "../agent/handoff-state.js"; /** @experimental */ export declare const checkpoint: Effect.Effect<{ readonly driverVersion: string; readonly executable?: Schema.Struct.ReadonlySide<{ readonly executable: Schema.brand; readonly active: Schema.Union, Schema.brand]>; }, "Type">; readonly turn: number; readonly budget: Schema.Struct.ReadonlySide<{ readonly allocation: Schema.Struct<{ readonly modelCalls: Schema.optionalKey; readonly toolCalls: Schema.optionalKey; readonly totalTokens: Schema.optionalKey; readonly childRuns: Schema.optionalKey; readonly handoffs: Schema.optionalKey; readonly depth: Schema.optionalKey; readonly deadline: Schema.optionalKey; }>; readonly remaining: Schema.Struct<{ readonly modelCalls: Schema.optionalKey; readonly toolCalls: Schema.optionalKey; readonly totalTokens: Schema.optionalKey; readonly childRuns: Schema.optionalKey; readonly handoffs: Schema.optionalKey; readonly depth: Schema.optionalKey; readonly deadline: Schema.optionalKey; }>; readonly depth: Schema.Int; }, "Type">; readonly state: unknown; }, never, DriverInterpreter>; /** @experimental */ export declare const logicalOperationId: Effect.Effect; /** @experimental */ export declare const intercept: { (spec: OperationSpec): (effect: Effect.Effect) => Effect.Effect; (spec: OperationSpec, effect: Effect.Effect): Effect.Effect; }; /** @experimental */ export declare const interceptStream: { (spec: OperationSpec): (stream: Stream.Stream) => Stream.Stream; (spec: OperationSpec, stream: Stream.Stream): Stream.Stream; }; /** @experimental */ export declare const recordSuspension: (input: { readonly waitId: string; readonly reason: string; readonly token: string; }) => Effect.Effect; /** @experimental */ export declare const bindResume: (token: string) => Effect.Effect; /** @experimental */ export declare const abortPending: (error: unknown) => Effect.Effect; /** @experimental */ export declare const chargeUsage: (usage: BudgetLimits) => Effect.Effect; /** @experimental */ export declare const setBudget: (budget: RunBudget) => Effect.Effect; /** @experimental */ export declare const reserveChildBudget: (grant: BudgetLimits) => Effect.Effect; readonly toolCalls: Schema.optionalKey; readonly totalTokens: Schema.optionalKey; readonly childRuns: Schema.optionalKey; readonly handoffs: Schema.optionalKey; readonly depth: Schema.optionalKey; readonly deadline: Schema.optionalKey; }>; readonly remaining: Schema.Struct<{ readonly modelCalls: Schema.optionalKey; readonly toolCalls: Schema.optionalKey; readonly totalTokens: Schema.optionalKey; readonly childRuns: Schema.optionalKey; readonly handoffs: Schema.optionalKey; readonly depth: Schema.optionalKey; readonly deadline: Schema.optionalKey; }>; readonly depth: Schema.Int; }, "Type">, RunBudgetExhausted | import("./run-budget.js").RunBudgetGrantWidened, DriverInterpreter>; /** @experimental */ export declare const refundChildBudget: (child: RunBudget) => Effect.Effect; /** @internal Persist a live handoff control transition in the owning checkpoint. */ export declare const setHandoffState: (state: HandoffControlState) => Effect.Effect; /** @experimental */ export declare const recorded: Effect.Effect;