/** * Simple @clack-based agent REPL. * No React, no ink, no alt-screen — just a scrolling terminal. * * Design: clack's text() blocks until user submits, so agent output * flows naturally between prompts — no readline interleaving issues. * Loop: await text() → send → await idle → loop */ /** * Options for {@link startRepl}. * * @param projectDir - Absolute path to the project root. Used to locate the agent dir, settings, and skill count. * @param cwd - Working directory passed to the agent process. Defaults to `projectDir`. * @param driver - Agent driver override (`"omp"` or `"claude-sdk"`). Falls back to settings resolution. * @param model - Model name passed to the agent driver. * @param provider - Provider name passed to the agent driver. * @param resume - When `true`, load the last session ID from `.skaile/last_session` and resume it. * @param resumeSessionId - Explicit session ID to resume. Takes precedence over `resume`. * @param verbose - When `true`, show telemetry log lines inline between prompts. Default: `false`. * * @docLink packages/tui/concepts#start-repl */ export interface ReplOptions { projectDir: string; cwd?: string; driver?: string; model?: string; provider?: string; resume?: boolean; resumeSessionId?: string; /** When true, show telemetry log lines inline. Default: false. */ verbose?: boolean; } /** * Start the scrolling REPL for an interactive agent conversation. * * Initialises the agent session (including OMP extension injection when the driver is `omp`), * prints a banner with project metadata, then enters a `@clack/prompts` input loop. * Each iteration awaits user input, forwards it to the agent via {@link createReplSession}, * and blocks until the agent signals `idle` or `stopped`. Slash commands (`/help`, `/log`, * `/quit`) are handled before the message reaches the agent. * * @param opts - Configuration for the REPL session. * @returns Resolves when the session ends (user quit or fatal error). * * @docLink packages/tui/concepts#start-repl */ export declare function startRepl(opts: ReplOptions): Promise; //# sourceMappingURL=repl.d.ts.map