/** * Interactive REPL mode for Supen CLI. * * Features: * - Multiline input (shift+enter for newlines, enter to send) * - Slash command autocomplete * - Command history (up/down arrows) * - Tab completion for commands * - Streaming response display * - Interrupt with Ctrl+C */ import { type CommandEntry } from './repl-renderer.js'; import { type ReplTurnEvent, type ReplTurnOutcome, type ReplTurnState } from './repl-events.js'; export declare const CORE_SLASH_COMMANDS: CommandEntry[]; interface ReplSkillEntry { name: string; description?: string; status?: string; enabled?: boolean; installed?: boolean; permission?: { level?: number; }; } interface SkillsDisplayData { visibleSkills: ReplSkillEntry[]; availableCount: number; enabledCount: number; sampleAvailable: string[]; } export interface ExternalReplCommand extends CommandEntry { promptTemplate: string; sourcePath?: string; skillName?: string; } export declare function buildVisibleSkillsForDisplay(commands: ReplSkillEntry[], knownSkillNames?: Set): ReplSkillEntry[]; export declare function parseExternalCommandMarkdown(raw: string, sourcePath?: string): ExternalReplCommand | undefined; export declare function expandExternalCommandPrompt(promptTemplate: string, rawArgs: string): string; export declare function formatDaemonConnectionError(error: unknown): string; export declare function buildCommandsDisplayEntries(externalCommands: ExternalReplCommand[]): CommandEntry[]; export declare function formatSkillsDisplay(data: SkillsDisplayData): string[]; export declare function loadSkillsForDisplay(agentId: string): Promise; export interface ReplStreamHandlers { onTextDelta?: (delta: string) => void; onActivityEvent?: (event: ReplTurnEvent) => void; onErrorMessage?: (message: string) => void; onThreadUpdate?: (agentId: string, threadId: string) => void; onTurnFooter?: (turnState: ReplTurnState) => void; } export declare function consumeReplChatStream(stream: NodeJS.ReadableStream, initialTurnState: ReplTurnState, handlers?: ReplStreamHandlers): Promise; export declare function startRepl(): Promise; export {};