import type { Component, Terminal } from "@earendil-works/pi-tui"; import type { AgentSessionRuntimeDiagnostic } from "../../core/agent-session-services.ts"; import type { EarlyInputCapture } from "../../main-early-input.ts"; import type { ImageContent } from "./interactive-mode-deps.ts"; /** Interface for components that can be expanded/collapsed. */ export interface Expandable { setExpanded(expanded: boolean): void; } export type CompactionQueuedMessage = { text: string; mode: "steer" | "followUp"; }; export type ExtensionDialogComponent = Component & { dispose?(): void; }; /** * Options for InteractiveMode initialization. */ export interface InteractiveModeOptions { /** Providers that were migrated to auth.json (shows warning) */ migratedProviders?: string[]; /** Diagnostics collected before the interactive transcript was initialized. */ startupDiagnostics?: AgentSessionRuntimeDiagnostic[]; /** Warning message if session model couldn't be restored */ modelFallbackMessage?: string; /** Cwd to persist as trusted after reload/shutdown if it gains trust inputs during an implicitly trusted session. */ autoTrustOnReloadCwd?: string; /** Initial message to send on startup (can include @file content) */ initialMessage?: string; /** Images to attach to the initial message */ initialImages?: ImageContent[]; /** Additional messages to send after the initial message */ initialMessages?: string[]; /** Force verbose startup (overrides quietStartup setting) */ verbose?: boolean; /** Initial interactive theme setting for this invocation (from --use-theme; never persisted). */ initialThemeSetting?: string; holdTuiForStartupTrust?: boolean; /** Runtime was created without extension code; finish loading in the background after first paint. */ deferredExtensionLoad?: boolean; /** Model scope patterns resolved again after deferred extension load registers providers. */ deferredModelScopePatterns?: string[]; /** Preserve an explicit CLI thinking level when applying deferred model-scope suffixes. */ deferredModelScopePreserveThinking?: boolean; /** Raw terminal input capture active until the TUI prompt is ready to take over stdin. */ startupInputCapture?: EarlyInputCapture; /** Internal deterministic terminal seam used by default-main integration tests. */ terminal?: Terminal; } //# sourceMappingURL=interactive-mode-types.d.ts.map