/** * The exec conversation, in the shape the Ink TUI consumes. * * Exec drives its own turns — one assistant call, no session object — so this * adapter answers the same `TuiConversation` contract over that loop. `/setup` * and `/go` are hand-offs: both need the bare terminal (a settings menu, a * workflow run) and the conversation resumes afterwards. */ import { type ImageAttachmentStore } from '../interactive/imageAttachments.js'; import type { ConversationMessage } from '../interactive/interactive.js'; import type { TuiConversation } from '../tui/tuiConversation.js'; import { type ExecSessionContext } from './assistantSession.js'; /** The ids the exec run answers when the conversation hands the terminal over. */ export declare const EXEC_SETUP_HANDOFF = "exec-setup"; export declare const EXEC_GO_HANDOFF = "exec-go"; export interface ExecTuiConversationOptions { readonly cwd: string; readonly attachmentStore: ImageAttachmentStore; /** The session as it stands right now, which `/setup` can replace. */ readonly session: () => ExecSessionContext; /** The system prompt for a clarifying turn. */ readonly systemPrompt: () => string; /** Called after every finished turn so the run keeps the transcript it summarizes. */ readonly onTurn: (turn: readonly ConversationMessage[], sessionId: string | undefined) => void; } export declare function createExecTuiConversation(options: ExecTuiConversationOptions): TuiConversation; //# sourceMappingURL=tuiConversation.d.ts.map