/** * orchestrator-live-turn.ts, per-call cancellation registry and queued-message * editing for the live turn. * * Two small interaction wins the Orchestrator delegates here: * - ToolCallAbortRegistry: one AbortController per in-flight tool call, so ONE * running call can be cancelled (structured "cancelled by user" result, turn * continues) without touching the whole-turn abort or sibling calls. The * registry itself is the `toolCallSignals` seam executeToolCalls consumes. * - Queued-message list/edit/delete: the mid-turn message queue was push/shift * only; entries now carry ids and stay editable/deletable until delivered. */ /** One pending mid-turn message (the Orchestrator.messageQueue element shape). */ export interface QueuedMessageEntry { id: string; queuedAt: number; text: string; content?: unknown; options?: unknown; } /** Per-tool-call abort controllers for calls currently in flight. */ export declare class ToolCallAbortRegistry { private readonly controllers; /** Open a per-call signal (registers the call as cancellable). */ open(callId: string): AbortSignal; /** Retire a settled call. */ close(callId: string): void; /** Cancel ONE in-flight call. False when no such call is running. */ cancel(callId: string): boolean; /** The callIds currently in flight. */ list(): readonly string[]; /** Abort every in-flight call (the whole-turn abort path) and clear. */ abortAll(): void; } /** The pending queue in delivery order (undelivered messages only). */ export declare function listQueuedMessages(queue: readonly QueuedMessageEntry[]): ReadonlyArray<{ id: string; queuedAt: number; text: string; }>; /** * Replace the text of a still-queued message. False when the id is no longer * queued (already delivered, delivered messages are immutable) or the new * text is blank. Editing clears multimodal content: the edited plain text is * what will be delivered. */ export declare function editQueuedMessage(queue: QueuedMessageEntry[], id: string, text: string): boolean; /** Remove a still-queued message before delivery. False when already delivered. */ export declare function deleteQueuedMessage(queue: QueuedMessageEntry[], id: string): boolean; //# sourceMappingURL=orchestrator-live-turn.d.ts.map