#!/usr/bin/env node /** * CodeSeekerCLI - SOLID Principles Implementation * Single Responsibility: Orchestrate components and manage CLI lifecycle * Following SOLID architecture with proper dependency injection */ export declare class CodeSeekerCLI { private rl; private commandProcessor; private context; private currentProject; private activeOperations; private currentAbortController?; private transparentMode; private verboseMode; private noSearchMode; private commandMode; private commandModeCompleted; private replMode; private explicitExitRequested; private isProcessingCommand; private commandHistory; private historyFile; private historyDir; private static readonly MAX_HISTORY_SIZE; constructor(); /** * Start silently for command mode (no welcome, no interactive prompt) */ startSilent(): Promise; /** * Start the CLI - SOLID implementation with immediate prompt */ start(): Promise; /** * Setup event handlers for readline - SOLID event handling */ private setupEventHandlers; /** * Process user input through command processor - Single Responsibility */ private processInput; /** * Sync project context with command processor (optimized) */ private syncProjectContext; /** * Internal operation handler to be tracked * Note: No global timeout here - timeouts are handled at the service level * (database connections, Claude CLI calls) to avoid timing out during user input */ private processInputOperation; /** * Auto-detect CodeSeeker project silently (no output) */ private autoDetectProjectSilent; /** * Auto-detect CodeSeeker project - Delegated to ProjectManager (SOLID) */ private autoDetectProject; /** * Set project path programmatically (for command-line options) */ setProjectPath(projectPath: string): void; /** * Set transparent mode (skip interactive prompts, output context directly) */ setTransparentMode(enabled: boolean): void; /** * Set verbose mode (show full debug output: files, relationships, prompt) */ setVerboseMode(enabled: boolean): void; /** * Set command mode (single command execution with -c flag) * This prevents premature exit during inquirer prompts * Also configures search toggle behavior (always ON in command mode) */ setCommandMode(enabled: boolean): void; /** * Set no-search mode (skip semantic search) * When enabled, prompts go directly to Claude without file discovery */ setNoSearchMode(enabled: boolean): void; /** * Set REPL mode (interactive mode) * In REPL mode, the CLI only exits on explicit /exit or double Ctrl+C */ setReplMode(enabled: boolean): void; /** * Request explicit exit (called by /exit command) */ requestExit(): void; /** * Recreate readline interface after it's closed * This is used to recover from inquirer prompts or EOF signals */ private recreateReadlineInterface; /** * Setup Escape key handler for interrupting operations * Uses keypress events to detect Escape without conflicting with readline */ private setupEscapeKeyHandler; /** * Handle Escape key press - interrupt current operation */ private handleEscapeKey; /** * Check database connections on startup * For embedded mode: Shows SQLite + MiniSearch status * For server mode: Checks PostgreSQL, Redis, Neo4j connections */ private checkDatabaseConnections; /** * Load command history from file */ private loadHistory; /** * Save command history to file */ private saveHistory; /** * Add command to history (avoid duplicates of last command) */ private addToHistory; /** * Clear command history */ private clearHistory; /** * Get current history file path */ private getHistoryFile; /** * Get command history array */ private getHistory; /** * Ensure history directory exists */ private ensureHistoryDir; /** * Get project-specific history file path * Uses a hash of the project path to create unique history files per project */ private getProjectHistoryFile; /** * Cleanup resources on exit */ private cleanup; } /** * Main entry point - SOLID architecture */ export declare function main(): Promise; export default CodeSeekerCLI; //# sourceMappingURL=codeseeker-cli.d.ts.map