/** * [WHO]: Provides ConfigCommandHandlersController + ConfigCommandHandlersContext — interactive * runtime-config command bodies (/agent-loop, /mcp, /language) * [FROM]: Depends on injected host capability closures + mcp-config + i18n; no InteractiveMode reference * [TO]: Consumed by modes/interactive/interactive-mode.ts (held as `this.configCommands`; wired into * SlashDispatcherController commands port) * [HERE]: modes/interactive/controllers/config-command-handlers.ts — P7 C-3a slice 3/4 (extracted from * InteractiveMode command-handler block; behavior-preserving move) */ import { type CachedContainer, type TUI } from "@catui/tui"; import type { AgentSession } from "../../../core/runtime/agent-session.js"; import type { FooterComponent } from "../components/footer.js"; /** Host capabilities needed by the runtime-config command handlers. */ export interface ConfigCommandHandlersContext { readonly session: AgentSession; readonly chatContainer: CachedContainer; readonly ui: TUI; readonly footer: FooterComponent; showStatus(message: string): void; showError(errorMessage: string): void; } export declare class ConfigCommandHandlersController { private readonly ctx; constructor(ctx: ConfigCommandHandlersContext); handleAgentLoopCommand(text: string): void; handleMcpCommand(text: string): Promise; handleLanguageCommand(text: string): Promise; }