/** * Compaction-queue flushing extracted from interactive-mode. * * When auto-compaction runs while the user has queued follow-up/steer messages, * `flushCompactionQueue` drains that queue after compaction settles — sending the * first non-command message as the resuming prompt, replaying steer/follow-up * modes for the rest, executing extension commands inline, and restoring the * queue on failure. It mutates the queue through a `CompactionQueueHost` seam * (`compactionQueuedMessages` via get/set); interactive-mode keeps a thin wrapper * (retained on the prototype for the compaction_end event handler). */ import type { ImageContent } from "@caupulican/pi-ai"; import type { AgentSession } from "../../core/agent-session.ts"; export type CompactionQueuedMessage = { text: string; mode: "steer" | "followUp"; images?: ImageContent[]; }; export interface CompactionQueueHost { compactionQueuedMessages: CompactionQueuedMessage[]; readonly session: Pick; updatePendingMessagesDisplay(): void; showError(message: string): void; isExtensionCommand(text: string): boolean; refreshAutonomyFooterStatus(): void; } export declare function flushCompactionQueue(host: CompactionQueueHost, options?: { willRetry?: boolean; }): Promise; //# sourceMappingURL=compaction-queue.d.ts.map