import type { SettledCall } from "#harness/session-machine/transitions.js"; import type { StepCoordinates as PendingInputBatchEvent } from "#harness/session-machine/view.js"; import type { InputRequest, InputResponse } from "#shared/input.js"; export declare const TOOL_EXECUTION_DENIED_MESSAGE = "Tool execution was denied."; type ApprovalTerminalStatus = "approved" | "denied" | "ignored" | "invalid"; export interface ResolvedInputBatch { readonly event: PendingInputBatchEvent; readonly inputs: readonly { readonly outcome: "answered" | ApprovalTerminalStatus; readonly request: InputRequest; readonly response?: InputResponse; }[]; } /** * One request's terminal outcome once its batch resolves: an approval's * decision, or whether a question received a response. */ export declare function resolveInputOutcome(kind: InputRequest["kind"], response: InputResponse | undefined): "answered" | ApprovalTerminalStatus; export declare function resolveApprovalOutcome(response: InputResponse | undefined): { readonly approved: boolean; readonly reason: string | undefined; readonly status: ApprovalTerminalStatus; }; /** * What the model reads when a call's tool went away before the call could run. * `searchable` says whether the agent has `eve__search` to find another. */ export declare function unavailableToolMessage(toolName: string, searchable: boolean): string; /** * A call that ends without running: its failed runtime result, which the lifecycle reports at the * step's coordinates, and the `error-text` result the model reads. */ export declare function failedCall(call: { readonly callId: string; readonly message: string; readonly toolName: string; }): Required; export {};