import type { CommandModule } from "yargs"; /** * CLI Command Factory for generate commands */ export declare class CLICommandFactory { /** * Normalize loop session variables before merging them into provider options. * * The CLI loop schema models some fields (e.g. `stopSequences`, * `enabledToolNames`) as a single comma-separated string for ergonomic * input, but providers expect `string[]`. Without conversion, * `set stopSequences a,b` would be sent as one stop token "a,b" instead * of two ("a", "b"); `set enabledToolNames read,write` would be cast to * a `string[]` containing the single literal "read,write" and silently * filter out every tool. This helper splits and trims those fields so * the spread into `enhancedOptions` produces the correct shape across * generate / batch / stream paths. */ private static normalizeLoopSessionVariables; private static readonly commonOptions; private static buildOptions; private static processCliImages; private static processCliCSVFiles; private static processCliPDFFiles; private static processCliFiles; private static processCliVideoFiles; private static isNonLocalFileReference; private static validateCliInputFiles; private static processOptions; /** * Validate Anthropic subscription options * Ensures subscription tier is provided when using anthropic-subscription provider * or when oauth auth method is selected */ private static validateAnthropicSubscriptionOptions; private static handleOutput; /** * Helper method to handle TTS audio file output and playback * Saves audio to file when --tts-output flag is provided * Plays audio when --tts-play flag is provided */ private static handleTTSOutput; /** * Helper method to configure options for video generation mode * Auto-configures provider, model, and tools settings for video generation */ private static configureVideoMode; /** * Helper method to configure options for PPT generation mode * Auto-configures provider, model, and tools settings for presentation generation */ private static configurePPTMode; /** * Helper method to handle video file output * Saves generated video to file when --videoOutput flag is provided */ private static handleVideoOutput; /** * Helper method to handle avatar video file output. * Saves the generated avatar buffer to --avatarOutput path when provided. */ private static handleAvatarOutput; /** * Helper method to handle music audio file output. * Saves the generated music buffer to --musicOutput path when provided. */ private static handleMusicOutput; /** * Helper method to handle PPT file output * Displays PPT generation result info */ private static handlePPTOutput; private static isValidTokenUsage; private static normalizeTokenUsage; private static formatAnalyticsForTextMode; /** * Create the new primary 'generate' command */ static createGenerateCommand(): CommandModule; /** * Create stream command */ static createStreamCommand(): CommandModule; /** * Create batch command */ static createBatchCommand(): CommandModule; /** * Create provider commands */ static createProviderCommands(): CommandModule; /** * Create status command (alias for provider status) */ static createStatusCommand(): CommandModule; /** * Create models commands */ static createModelsCommands(): CommandModule; /** * Create MCP commands */ static createMCPCommands(): CommandModule; /** * Create discover command */ static createDiscoverCommand(): CommandModule; /** * Create agent commands for multi-agent orchestration */ static createAgentCommands(): CommandModule; /** * Create network commands for agent network orchestration */ static createNetworkCommands(): CommandModule; /** * Create memory commands */ static createMemoryCommands(): CommandModule; /** * Create skills commands — manage the local skills store * (list / show / search / create / delete). The store directory comes * from --skills-dir, NEUROLINK_SKILLS_DIR, or defaults to ./skills. */ static createSkillsCommands(): CommandModule; /** * Create config commands */ static createConfigCommands(): CommandModule; /** * Create validate command */ static createValidateCommand(): CommandModule; /** * Create get-best-provider command */ static createBestProviderCommand(): CommandModule; /** * Create Ollama commands */ static createOllamaCommands(): CommandModule; /** * Create setup command */ static createSetupCommand(): CommandModule; /** * Create SageMaker commands */ static createSageMakerCommands(): CommandModule; /** * Create completion command */ /** * Create loop command */ static createLoopCommand(): CommandModule; /** * Create completion command */ static createCompletionCommand(): CommandModule; /** * Execute provider status command */ private static executeProviderStatus; /** * Handle stdin input for generate command */ private static handleGenerateStdinInput; /** * Detect output mode (video, ppt, avatar, music, or text) based on CLI arguments */ private static detectGenerateOutputMode; /** * Process context for generation command */ private static processGenerateContext; /** * Build multimodal input from CLI arguments */ private static buildGenerateMultimodalInput; /** * Build output configuration for generate request */ private static buildGenerateOutputConfig; /** * Handle successful generation result */ private static handleGenerateSuccess; /** * Execute the generate command */ private static executeGenerate; /** * Process context for streaming */ private static processStreamContext; /** * Execute dry-run streaming simulation */ private static executeDryRunStream; /** * Execute real streaming with timeout handling */ private static executeRealStream; /** * Process stream with timeout handling */ private static processStreamWithTimeout; /** * Display analytics and evaluation results */ private static displayStreamResults; /** * Handle stream output file writing and debug output */ private static handleStreamOutput; /** * Log debug information for stream result */ private static logStreamDebugInfo; /** * Handle stdin input for stream command */ private static handleStdinInput; /** * Execute the stream command */ private static executeStream; /** * Execute the batch command */ private static executeBatch; /** * Execute config export command */ private static executeConfigExport; /** * Execute get best provider command */ private static executeGetBestProvider; /** * Execute memory stats command */ /** * Resolve a standalone SkillsManager for the `skills` command group. * Directory precedence: --skills-dir > NEUROLINK_SKILLS_DIR > ./skills. * Cache is disabled so every command sees the directory's current state. */ private static resolveSkillsManagerForCli; private static executeSkillsList; private static executeSkillsShow; private static executeSkillsSearch; private static executeSkillsCreate; private static executeSkillsDelete; private static executeMemoryStats; /** * Execute memory history command */ private static executeMemoryHistory; /** * Execute memory clear command */ private static executeMemoryClear; /** * Execute memory list command */ private static executeMemoryList; /** * Resolve the requested export format for memory export commands. * The generic `--format` flag is typed for the generate/stream commands * (text/json/table/yaml), so read the raw value here and narrow it to the * two serializations the memory export path actually supports. */ private static resolveMemoryExportFormat; /** * Build a filesystem-safe filename for a session export. * * A session ID is caller-controlled data (it can come from Redis keys, user * input, etc.), so it must never be interpolated directly into a path — a * value like `../../etc/cron.d/x` would otherwise let export-all write * outside the chosen output directory. We reduce the ID to a bare basename * and allow-list its characters; callers additionally verify containment. */ private static sanitizeSessionExportFilename; /** * Serialize one or more session exports to CSV. Each message becomes a row; * session-level fields are repeated per row so the output is a flat, * spreadsheet-friendly table. */ private static sessionExportsToCsv; /** * Execute memory export command */ private static executeMemoryExport; /** * Execute memory export-all command */ private static executeMemoryExportAll; /** * Execute memory delete command */ private static executeMemoryDelete; /** * Execute completion command */ private static executeCompletion; /** * Flush Langfuse traces before exit */ private static flushLangfuseTraces; }