nova-terminal-ai 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +84 -0
- package/bin/nova +38 -0
- package/bin/nova.js +11 -0
- package/dist/commands/SmartCompletion.d.ts +71 -0
- package/dist/commands/SmartCompletion.d.ts.map +1 -0
- package/dist/commands/SmartCompletion.js +377 -0
- package/dist/commands/SmartCompletion.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/packages/cli/src/commands/SmartCompletion.d.ts +71 -0
- package/dist/packages/cli/src/commands/SmartCompletion.d.ts.map +1 -0
- package/dist/packages/cli/src/commands/SmartCompletion.js +377 -0
- package/dist/packages/cli/src/commands/SmartCompletion.js.map +1 -0
- package/dist/packages/cli/src/index.d.ts +2 -0
- package/dist/packages/cli/src/index.d.ts.map +1 -0
- package/dist/packages/cli/src/index.js +5 -0
- package/dist/packages/cli/src/index.js.map +1 -0
- package/dist/packages/cli/src/startup/IFlowRepl.d.ts +50 -0
- package/dist/packages/cli/src/startup/IFlowRepl.d.ts.map +1 -0
- package/dist/packages/cli/src/startup/IFlowRepl.js +178 -0
- package/dist/packages/cli/src/startup/IFlowRepl.js.map +1 -0
- package/dist/packages/cli/src/startup/InkBasedRepl.d.ts +151 -0
- package/dist/packages/cli/src/startup/InkBasedRepl.d.ts.map +1 -0
- package/dist/packages/cli/src/startup/InkBasedRepl.js +1415 -0
- package/dist/packages/cli/src/startup/InkBasedRepl.js.map +1 -0
- package/dist/packages/cli/src/startup/InteractiveRepl.d.ts +141 -0
- package/dist/packages/cli/src/startup/InteractiveRepl.d.ts.map +1 -0
- package/dist/packages/cli/src/startup/InteractiveRepl.js +2561 -0
- package/dist/packages/cli/src/startup/InteractiveRepl.js.map +1 -0
- package/dist/packages/cli/src/startup/NovaApp.d.ts +57 -0
- package/dist/packages/cli/src/startup/NovaApp.d.ts.map +1 -0
- package/dist/packages/cli/src/startup/NovaApp.js +1978 -0
- package/dist/packages/cli/src/startup/NovaApp.js.map +1 -0
- package/dist/packages/cli/src/startup/index.d.ts +5 -0
- package/dist/packages/cli/src/startup/index.d.ts.map +1 -0
- package/dist/packages/cli/src/startup/index.js +4 -0
- package/dist/packages/cli/src/startup/index.js.map +1 -0
- package/dist/packages/cli/src/startup/parseArgs.d.ts +47 -0
- package/dist/packages/cli/src/startup/parseArgs.d.ts.map +1 -0
- package/dist/packages/cli/src/startup/parseArgs.js +262 -0
- package/dist/packages/cli/src/startup/parseArgs.js.map +1 -0
- package/dist/packages/cli/src/ui/IFlowDropdown.d.ts +63 -0
- package/dist/packages/cli/src/ui/IFlowDropdown.d.ts.map +1 -0
- package/dist/packages/cli/src/ui/IFlowDropdown.js +362 -0
- package/dist/packages/cli/src/ui/IFlowDropdown.js.map +1 -0
- package/dist/packages/cli/src/ui/ModernReplUI.d.ts +55 -0
- package/dist/packages/cli/src/ui/ModernReplUI.d.ts.map +1 -0
- package/dist/packages/cli/src/ui/ModernReplUI.js +207 -0
- package/dist/packages/cli/src/ui/ModernReplUI.js.map +1 -0
- package/dist/packages/cli/src/ui/SimpleSelector2.d.ts +28 -0
- package/dist/packages/cli/src/ui/SimpleSelector2.d.ts.map +1 -0
- package/dist/packages/cli/src/ui/SimpleSelector2.js +181 -0
- package/dist/packages/cli/src/ui/SimpleSelector2.js.map +1 -0
- package/dist/packages/cli/src/ui/components/ActiveCursor.d.ts +128 -0
- package/dist/packages/cli/src/ui/components/ActiveCursor.d.ts.map +1 -0
- package/dist/packages/cli/src/ui/components/ActiveCursor.js +273 -0
- package/dist/packages/cli/src/ui/components/ActiveCursor.js.map +1 -0
- package/dist/packages/cli/src/ui/components/ConfirmDialog.d.ts +51 -0
- package/dist/packages/cli/src/ui/components/ConfirmDialog.d.ts.map +1 -0
- package/dist/packages/cli/src/ui/components/ConfirmDialog.js +147 -0
- package/dist/packages/cli/src/ui/components/ConfirmDialog.js.map +1 -0
- package/dist/packages/cli/src/ui/components/ErrorPanel.d.ts +33 -0
- package/dist/packages/cli/src/ui/components/ErrorPanel.d.ts.map +1 -0
- package/dist/packages/cli/src/ui/components/ErrorPanel.js +309 -0
- package/dist/packages/cli/src/ui/components/ErrorPanel.js.map +1 -0
- package/dist/packages/cli/src/ui/components/InkAppRunner.d.ts +18 -0
- package/dist/packages/cli/src/ui/components/InkAppRunner.d.ts.map +1 -0
- package/dist/packages/cli/src/ui/components/InkAppRunner.js +33 -0
- package/dist/packages/cli/src/ui/components/InkAppRunner.js.map +1 -0
- package/dist/packages/cli/src/ui/components/InkComponents.d.ts +126 -0
- package/dist/packages/cli/src/ui/components/InkComponents.d.ts.map +1 -0
- package/dist/packages/cli/src/ui/components/InkComponents.js +216 -0
- package/dist/packages/cli/src/ui/components/InkComponents.js.map +1 -0
- package/dist/packages/cli/src/ui/components/NovaInkApp.d.ts +11 -0
- package/dist/packages/cli/src/ui/components/NovaInkApp.d.ts.map +1 -0
- package/dist/packages/cli/src/ui/components/NovaInkApp.js +148 -0
- package/dist/packages/cli/src/ui/components/NovaInkApp.js.map +1 -0
- package/dist/packages/cli/src/ui/components/ProgressBar.d.ts +65 -0
- package/dist/packages/cli/src/ui/components/ProgressBar.d.ts.map +1 -0
- package/dist/packages/cli/src/ui/components/ProgressBar.js +135 -0
- package/dist/packages/cli/src/ui/components/ProgressBar.js.map +1 -0
- package/dist/packages/cli/src/ui/components/ProgressIndicator.d.ts +41 -0
- package/dist/packages/cli/src/ui/components/ProgressIndicator.d.ts.map +1 -0
- package/dist/packages/cli/src/ui/components/ProgressIndicator.js +235 -0
- package/dist/packages/cli/src/ui/components/ProgressIndicator.js.map +1 -0
- package/dist/packages/cli/src/ui/components/QuickActions.d.ts +36 -0
- package/dist/packages/cli/src/ui/components/QuickActions.d.ts.map +1 -0
- package/dist/packages/cli/src/ui/components/QuickActions.js +328 -0
- package/dist/packages/cli/src/ui/components/QuickActions.js.map +1 -0
- package/dist/packages/cli/src/ui/components/SimpleErrorPanel.d.ts +16 -0
- package/dist/packages/cli/src/ui/components/SimpleErrorPanel.d.ts.map +1 -0
- package/dist/packages/cli/src/ui/components/SimpleErrorPanel.js +193 -0
- package/dist/packages/cli/src/ui/components/SimpleErrorPanel.js.map +1 -0
- package/dist/packages/cli/src/ui/components/StatusBar.d.ts +30 -0
- package/dist/packages/cli/src/ui/components/StatusBar.d.ts.map +1 -0
- package/dist/packages/cli/src/ui/components/StatusBar.js +154 -0
- package/dist/packages/cli/src/ui/components/StatusBar.js.map +1 -0
- package/dist/packages/cli/src/ui/components/ThinkingBlockRenderer.d.ts +109 -0
- package/dist/packages/cli/src/ui/components/ThinkingBlockRenderer.d.ts.map +1 -0
- package/dist/packages/cli/src/ui/components/ThinkingBlockRenderer.js +335 -0
- package/dist/packages/cli/src/ui/components/ThinkingBlockRenderer.js.map +1 -0
- package/dist/packages/cli/src/ui/components/ThinkingContentDisplay.d.ts +59 -0
- package/dist/packages/cli/src/ui/components/ThinkingContentDisplay.d.ts.map +1 -0
- package/dist/packages/cli/src/ui/components/ThinkingContentDisplay.js +172 -0
- package/dist/packages/cli/src/ui/components/ThinkingContentDisplay.js.map +1 -0
- package/dist/packages/cli/src/ui/components/TodoProgressPanel.d.ts +91 -0
- package/dist/packages/cli/src/ui/components/TodoProgressPanel.d.ts.map +1 -0
- package/dist/packages/cli/src/ui/components/TodoProgressPanel.js +284 -0
- package/dist/packages/cli/src/ui/components/TodoProgressPanel.js.map +1 -0
- package/dist/packages/cli/src/ui/components/ToolCallStatusDisplay.d.ts +89 -0
- package/dist/packages/cli/src/ui/components/ToolCallStatusDisplay.d.ts.map +1 -0
- package/dist/packages/cli/src/ui/components/ToolCallStatusDisplay.js +246 -0
- package/dist/packages/cli/src/ui/components/ToolCallStatusDisplay.js.map +1 -0
- package/dist/packages/cli/src/ui/components/UserMessageHighlight.d.ts +48 -0
- package/dist/packages/cli/src/ui/components/UserMessageHighlight.d.ts.map +1 -0
- package/dist/packages/cli/src/ui/components/UserMessageHighlight.js +196 -0
- package/dist/packages/cli/src/ui/components/UserMessageHighlight.js.map +1 -0
- package/dist/packages/cli/src/ui/components/index.d.ts +17 -0
- package/dist/packages/cli/src/ui/components/index.d.ts.map +1 -0
- package/dist/packages/cli/src/ui/components/index.js +18 -0
- package/dist/packages/cli/src/ui/components/index.js.map +1 -0
- package/dist/packages/cli/src/ui/ink-prototype.d.ts +3 -0
- package/dist/packages/cli/src/ui/ink-prototype.d.ts.map +1 -0
- package/dist/packages/cli/src/ui/ink-prototype.js +160 -0
- package/dist/packages/cli/src/ui/ink-prototype.js.map +1 -0
- package/dist/packages/cli/src/utils/CliUI.d.ts +163 -0
- package/dist/packages/cli/src/utils/CliUI.d.ts.map +1 -0
- package/dist/packages/cli/src/utils/CliUI.js +292 -0
- package/dist/packages/cli/src/utils/CliUI.js.map +1 -0
- package/dist/packages/cli/src/utils/CompletionHelper.d.ts +112 -0
- package/dist/packages/cli/src/utils/CompletionHelper.d.ts.map +1 -0
- package/dist/packages/cli/src/utils/CompletionHelper.js +304 -0
- package/dist/packages/cli/src/utils/CompletionHelper.js.map +1 -0
- package/dist/packages/cli/src/utils/EnhancedCompleter.d.ts +107 -0
- package/dist/packages/cli/src/utils/EnhancedCompleter.d.ts.map +1 -0
- package/dist/packages/cli/src/utils/EnhancedCompleter.js +428 -0
- package/dist/packages/cli/src/utils/EnhancedCompleter.js.map +1 -0
- package/dist/packages/cli/src/utils/ErrorEnhancer.d.ts +103 -0
- package/dist/packages/cli/src/utils/ErrorEnhancer.d.ts.map +1 -0
- package/dist/packages/cli/src/utils/ErrorEnhancer.js +350 -0
- package/dist/packages/cli/src/utils/ErrorEnhancer.js.map +1 -0
- package/dist/packages/cli/src/utils/OutputFormatter.d.ts +65 -0
- package/dist/packages/cli/src/utils/OutputFormatter.d.ts.map +1 -0
- package/dist/packages/cli/src/utils/OutputFormatter.js +145 -0
- package/dist/packages/cli/src/utils/OutputFormatter.js.map +1 -0
- package/dist/packages/cli/src/utils/index.d.ts +5 -0
- package/dist/packages/cli/src/utils/index.d.ts.map +1 -0
- package/dist/packages/cli/src/utils/index.js +8 -0
- package/dist/packages/cli/src/utils/index.js.map +1 -0
- package/dist/packages/cli/tsconfig.tsbuildinfo +1 -0
- package/dist/packages/core/src/agents/AgentOrchestrator.d.ts +147 -0
- package/dist/packages/core/src/agents/AgentOrchestrator.d.ts.map +1 -0
- package/dist/packages/core/src/agents/AgentOrchestrator.js +358 -0
- package/dist/packages/core/src/agents/AgentOrchestrator.js.map +1 -0
- package/dist/packages/core/src/agents/index.d.ts +3 -0
- package/dist/packages/core/src/agents/index.d.ts.map +1 -0
- package/dist/packages/core/src/agents/index.js +5 -0
- package/dist/packages/core/src/agents/index.js.map +1 -0
- package/dist/packages/core/src/analysis/ProjectAnalyzer.d.ts +95 -0
- package/dist/packages/core/src/analysis/ProjectAnalyzer.d.ts.map +1 -0
- package/dist/packages/core/src/analysis/ProjectAnalyzer.js +656 -0
- package/dist/packages/core/src/analysis/ProjectAnalyzer.js.map +1 -0
- package/dist/packages/core/src/audit/AuditLogger.d.ts +140 -0
- package/dist/packages/core/src/audit/AuditLogger.d.ts.map +1 -0
- package/dist/packages/core/src/audit/AuditLogger.js +357 -0
- package/dist/packages/core/src/audit/AuditLogger.js.map +1 -0
- package/dist/packages/core/src/audit/index.d.ts +3 -0
- package/dist/packages/core/src/audit/index.d.ts.map +1 -0
- package/dist/packages/core/src/audit/index.js +5 -0
- package/dist/packages/core/src/audit/index.js.map +1 -0
- package/dist/packages/core/src/auth/AuthManager.d.ts +38 -0
- package/dist/packages/core/src/auth/AuthManager.d.ts.map +1 -0
- package/dist/packages/core/src/auth/AuthManager.js +120 -0
- package/dist/packages/core/src/auth/AuthManager.js.map +1 -0
- package/dist/packages/core/src/auth/index.d.ts +3 -0
- package/dist/packages/core/src/auth/index.d.ts.map +1 -0
- package/dist/packages/core/src/auth/index.js +2 -0
- package/dist/packages/core/src/auth/index.js.map +1 -0
- package/dist/packages/core/src/config/ConfigManager.d.ts +47 -0
- package/dist/packages/core/src/config/ConfigManager.d.ts.map +1 -0
- package/dist/packages/core/src/config/ConfigManager.js +1197 -0
- package/dist/packages/core/src/config/ConfigManager.js.map +1 -0
- package/dist/packages/core/src/config/index.d.ts +2 -0
- package/dist/packages/core/src/config/index.d.ts.map +1 -0
- package/dist/packages/core/src/config/index.js +2 -0
- package/dist/packages/core/src/config/index.js.map +1 -0
- package/dist/packages/core/src/context/ContextBuilder.d.ts +39 -0
- package/dist/packages/core/src/context/ContextBuilder.d.ts.map +1 -0
- package/dist/packages/core/src/context/ContextBuilder.js +132 -0
- package/dist/packages/core/src/context/ContextBuilder.js.map +1 -0
- package/dist/packages/core/src/context/ContextCompressor.d.ts +147 -0
- package/dist/packages/core/src/context/ContextCompressor.d.ts.map +1 -0
- package/dist/packages/core/src/context/ContextCompressor.js +451 -0
- package/dist/packages/core/src/context/ContextCompressor.js.map +1 -0
- package/dist/packages/core/src/context/LayeredMemoryManager.d.ts +160 -0
- package/dist/packages/core/src/context/LayeredMemoryManager.d.ts.map +1 -0
- package/dist/packages/core/src/context/LayeredMemoryManager.js +505 -0
- package/dist/packages/core/src/context/LayeredMemoryManager.js.map +1 -0
- package/dist/packages/core/src/context/MemoryDiscovery.d.ts +33 -0
- package/dist/packages/core/src/context/MemoryDiscovery.d.ts.map +1 -0
- package/dist/packages/core/src/context/MemoryDiscovery.js +146 -0
- package/dist/packages/core/src/context/MemoryDiscovery.js.map +1 -0
- package/dist/packages/core/src/context/defaultSystemPrompt.d.ts +12 -0
- package/dist/packages/core/src/context/defaultSystemPrompt.d.ts.map +1 -0
- package/dist/packages/core/src/context/defaultSystemPrompt.js +32 -0
- package/dist/packages/core/src/context/defaultSystemPrompt.js.map +1 -0
- package/dist/packages/core/src/context/index.d.ts +9 -0
- package/dist/packages/core/src/context/index.d.ts.map +1 -0
- package/dist/packages/core/src/context/index.js +5 -0
- package/dist/packages/core/src/context/index.js.map +1 -0
- package/dist/packages/core/src/extensions/SkillGenerator.d.ts +77 -0
- package/dist/packages/core/src/extensions/SkillGenerator.d.ts.map +1 -0
- package/dist/packages/core/src/extensions/SkillGenerator.js +323 -0
- package/dist/packages/core/src/extensions/SkillGenerator.js.map +1 -0
- package/dist/packages/core/src/extensions/SkillInstaller.d.ts +74 -0
- package/dist/packages/core/src/extensions/SkillInstaller.d.ts.map +1 -0
- package/dist/packages/core/src/extensions/SkillInstaller.js +216 -0
- package/dist/packages/core/src/extensions/SkillInstaller.js.map +1 -0
- package/dist/packages/core/src/extensions/SkillRegistry.d.ts +99 -0
- package/dist/packages/core/src/extensions/SkillRegistry.d.ts.map +1 -0
- package/dist/packages/core/src/extensions/SkillRegistry.js +263 -0
- package/dist/packages/core/src/extensions/SkillRegistry.js.map +1 -0
- package/dist/packages/core/src/extensions/SkillValidator.d.ts +51 -0
- package/dist/packages/core/src/extensions/SkillValidator.d.ts.map +1 -0
- package/dist/packages/core/src/extensions/SkillValidator.js +465 -0
- package/dist/packages/core/src/extensions/SkillValidator.js.map +1 -0
- package/dist/packages/core/src/extensions/index.d.ts +11 -0
- package/dist/packages/core/src/extensions/index.d.ts.map +1 -0
- package/dist/packages/core/src/extensions/index.js +8 -0
- package/dist/packages/core/src/extensions/index.js.map +1 -0
- package/dist/packages/core/src/index.d.ts +14 -0
- package/dist/packages/core/src/index.d.ts.map +1 -0
- package/dist/packages/core/src/index.js +30 -0
- package/dist/packages/core/src/index.js.map +1 -0
- package/dist/packages/core/src/mcp/McpManager.d.ts +94 -0
- package/dist/packages/core/src/mcp/McpManager.d.ts.map +1 -0
- package/dist/packages/core/src/mcp/McpManager.js +494 -0
- package/dist/packages/core/src/mcp/McpManager.js.map +1 -0
- package/dist/packages/core/src/mcp/index.d.ts +2 -0
- package/dist/packages/core/src/mcp/index.d.ts.map +1 -0
- package/dist/packages/core/src/mcp/index.js +3 -0
- package/dist/packages/core/src/mcp/index.js.map +1 -0
- package/dist/packages/core/src/model/ModelClient.d.ts +40 -0
- package/dist/packages/core/src/model/ModelClient.d.ts.map +1 -0
- package/dist/packages/core/src/model/ModelClient.js +163 -0
- package/dist/packages/core/src/model/ModelClient.js.map +1 -0
- package/dist/packages/core/src/model/ModelConnectionTester.d.ts +58 -0
- package/dist/packages/core/src/model/ModelConnectionTester.d.ts.map +1 -0
- package/dist/packages/core/src/model/ModelConnectionTester.js +311 -0
- package/dist/packages/core/src/model/ModelConnectionTester.js.map +1 -0
- package/dist/packages/core/src/model/ModelValidator.d.ts +39 -0
- package/dist/packages/core/src/model/ModelValidator.d.ts.map +1 -0
- package/dist/packages/core/src/model/ModelValidator.js +296 -0
- package/dist/packages/core/src/model/ModelValidator.js.map +1 -0
- package/dist/packages/core/src/model/index.d.ts +7 -0
- package/dist/packages/core/src/model/index.d.ts.map +1 -0
- package/dist/packages/core/src/model/index.js +5 -0
- package/dist/packages/core/src/model/index.js.map +1 -0
- package/dist/packages/core/src/model/providers/AnthropicProvider.d.ts +25 -0
- package/dist/packages/core/src/model/providers/AnthropicProvider.d.ts.map +1 -0
- package/dist/packages/core/src/model/providers/AnthropicProvider.js +258 -0
- package/dist/packages/core/src/model/providers/AnthropicProvider.js.map +1 -0
- package/dist/packages/core/src/model/providers/CodingPlanProvider.d.ts +66 -0
- package/dist/packages/core/src/model/providers/CodingPlanProvider.d.ts.map +1 -0
- package/dist/packages/core/src/model/providers/CodingPlanProvider.js +161 -0
- package/dist/packages/core/src/model/providers/CodingPlanProvider.js.map +1 -0
- package/dist/packages/core/src/model/providers/OllamaCloudProvider.d.ts +38 -0
- package/dist/packages/core/src/model/providers/OllamaCloudProvider.d.ts.map +1 -0
- package/dist/packages/core/src/model/providers/OllamaCloudProvider.js +365 -0
- package/dist/packages/core/src/model/providers/OllamaCloudProvider.js.map +1 -0
- package/dist/packages/core/src/model/providers/OllamaManager.d.ts +72 -0
- package/dist/packages/core/src/model/providers/OllamaManager.d.ts.map +1 -0
- package/dist/packages/core/src/model/providers/OllamaManager.js +144 -0
- package/dist/packages/core/src/model/providers/OllamaManager.js.map +1 -0
- package/dist/packages/core/src/model/providers/OllamaProvider.d.ts +23 -0
- package/dist/packages/core/src/model/providers/OllamaProvider.d.ts.map +1 -0
- package/dist/packages/core/src/model/providers/OllamaProvider.js +56 -0
- package/dist/packages/core/src/model/providers/OllamaProvider.js.map +1 -0
- package/dist/packages/core/src/model/providers/OpenAICompatibleProvider.d.ts +53 -0
- package/dist/packages/core/src/model/providers/OpenAICompatibleProvider.d.ts.map +1 -0
- package/dist/packages/core/src/model/providers/OpenAICompatibleProvider.js +383 -0
- package/dist/packages/core/src/model/providers/OpenAICompatibleProvider.js.map +1 -0
- package/dist/packages/core/src/model/providers/OpenAIProvider.d.ts +12 -0
- package/dist/packages/core/src/model/providers/OpenAIProvider.d.ts.map +1 -0
- package/dist/packages/core/src/model/providers/OpenAIProvider.js +19 -0
- package/dist/packages/core/src/model/providers/OpenAIProvider.js.map +1 -0
- package/dist/packages/core/src/model/providers/index.d.ts +13 -0
- package/dist/packages/core/src/model/providers/index.d.ts.map +1 -0
- package/dist/packages/core/src/model/providers/index.js +7 -0
- package/dist/packages/core/src/model/providers/index.js.map +1 -0
- package/dist/packages/core/src/model/types.d.ts +81 -0
- package/dist/packages/core/src/model/types.d.ts.map +1 -0
- package/dist/packages/core/src/model/types.js +12 -0
- package/dist/packages/core/src/model/types.js.map +1 -0
- package/dist/packages/core/src/security/ApprovalManager.d.ts +56 -0
- package/dist/packages/core/src/security/ApprovalManager.d.ts.map +1 -0
- package/dist/packages/core/src/security/ApprovalManager.js +122 -0
- package/dist/packages/core/src/security/ApprovalManager.js.map +1 -0
- package/dist/packages/core/src/security/FileFilter.d.ts +47 -0
- package/dist/packages/core/src/security/FileFilter.d.ts.map +1 -0
- package/dist/packages/core/src/security/FileFilter.js +111 -0
- package/dist/packages/core/src/security/FileFilter.js.map +1 -0
- package/dist/packages/core/src/security/HookExecutor.d.ts +37 -0
- package/dist/packages/core/src/security/HookExecutor.d.ts.map +1 -0
- package/dist/packages/core/src/security/HookExecutor.js +142 -0
- package/dist/packages/core/src/security/HookExecutor.js.map +1 -0
- package/dist/packages/core/src/security/SandboxExecutor.d.ts +90 -0
- package/dist/packages/core/src/security/SandboxExecutor.d.ts.map +1 -0
- package/dist/packages/core/src/security/SandboxExecutor.js +345 -0
- package/dist/packages/core/src/security/SandboxExecutor.js.map +1 -0
- package/dist/packages/core/src/security/index.d.ts +8 -0
- package/dist/packages/core/src/security/index.d.ts.map +1 -0
- package/dist/packages/core/src/security/index.js +6 -0
- package/dist/packages/core/src/security/index.js.map +1 -0
- package/dist/packages/core/src/session/AgentLoop.d.ts +75 -0
- package/dist/packages/core/src/session/AgentLoop.d.ts.map +1 -0
- package/dist/packages/core/src/session/AgentLoop.js +381 -0
- package/dist/packages/core/src/session/AgentLoop.js.map +1 -0
- package/dist/packages/core/src/session/SessionManager.d.ts +96 -0
- package/dist/packages/core/src/session/SessionManager.d.ts.map +1 -0
- package/dist/packages/core/src/session/SessionManager.js +390 -0
- package/dist/packages/core/src/session/SessionManager.js.map +1 -0
- package/dist/packages/core/src/session/index.d.ts +4 -0
- package/dist/packages/core/src/session/index.d.ts.map +1 -0
- package/dist/packages/core/src/session/index.js +3 -0
- package/dist/packages/core/src/session/index.js.map +1 -0
- package/dist/packages/core/src/telemetry/Telemetry.d.ts +25 -0
- package/dist/packages/core/src/telemetry/Telemetry.d.ts.map +1 -0
- package/dist/packages/core/src/telemetry/Telemetry.js +73 -0
- package/dist/packages/core/src/telemetry/Telemetry.js.map +1 -0
- package/dist/packages/core/src/telemetry/TelemetryService.d.ts +152 -0
- package/dist/packages/core/src/telemetry/TelemetryService.d.ts.map +1 -0
- package/dist/packages/core/src/telemetry/TelemetryService.js +410 -0
- package/dist/packages/core/src/telemetry/TelemetryService.js.map +1 -0
- package/dist/packages/core/src/telemetry/index.d.ts +5 -0
- package/dist/packages/core/src/telemetry/index.d.ts.map +1 -0
- package/dist/packages/core/src/telemetry/index.js +3 -0
- package/dist/packages/core/src/telemetry/index.js.map +1 -0
- package/dist/packages/core/src/testing/AutoFixer.d.ts +98 -0
- package/dist/packages/core/src/testing/AutoFixer.d.ts.map +1 -0
- package/dist/packages/core/src/testing/AutoFixer.js +262 -0
- package/dist/packages/core/src/testing/AutoFixer.js.map +1 -0
- package/dist/packages/core/src/testing/ErrorAnalyzer.d.ts +74 -0
- package/dist/packages/core/src/testing/ErrorAnalyzer.d.ts.map +1 -0
- package/dist/packages/core/src/testing/ErrorAnalyzer.js +407 -0
- package/dist/packages/core/src/testing/ErrorAnalyzer.js.map +1 -0
- package/dist/packages/core/src/testing/TestRunner.d.ts +57 -0
- package/dist/packages/core/src/testing/TestRunner.d.ts.map +1 -0
- package/dist/packages/core/src/testing/TestRunner.js +205 -0
- package/dist/packages/core/src/testing/TestRunner.js.map +1 -0
- package/dist/packages/core/src/testing/agent-cli-tests.d.ts +2 -0
- package/dist/packages/core/src/testing/agent-cli-tests.d.ts.map +1 -0
- package/dist/packages/core/src/testing/agent-cli-tests.js +493 -0
- package/dist/packages/core/src/testing/agent-cli-tests.js.map +1 -0
- package/dist/packages/core/src/testing/index.d.ts +7 -0
- package/dist/packages/core/src/testing/index.d.ts.map +1 -0
- package/dist/packages/core/src/testing/index.js +8 -0
- package/dist/packages/core/src/testing/index.js.map +1 -0
- package/dist/packages/core/src/tools/ToolRegistry.d.ts +72 -0
- package/dist/packages/core/src/tools/ToolRegistry.d.ts.map +1 -0
- package/dist/packages/core/src/tools/ToolRegistry.js +208 -0
- package/dist/packages/core/src/tools/ToolRegistry.js.map +1 -0
- package/dist/packages/core/src/tools/impl/EditFileTool.d.ts +3 -0
- package/dist/packages/core/src/tools/impl/EditFileTool.d.ts.map +1 -0
- package/dist/packages/core/src/tools/impl/EditFileTool.js +76 -0
- package/dist/packages/core/src/tools/impl/EditFileTool.js.map +1 -0
- package/dist/packages/core/src/tools/impl/FileProcessor.d.ts +85 -0
- package/dist/packages/core/src/tools/impl/FileProcessor.d.ts.map +1 -0
- package/dist/packages/core/src/tools/impl/FileProcessor.js +512 -0
- package/dist/packages/core/src/tools/impl/FileProcessor.js.map +1 -0
- package/dist/packages/core/src/tools/impl/FileProcessorTool.d.ts +151 -0
- package/dist/packages/core/src/tools/impl/FileProcessorTool.d.ts.map +1 -0
- package/dist/packages/core/src/tools/impl/FileProcessorTool.js +100 -0
- package/dist/packages/core/src/tools/impl/FileProcessorTool.js.map +1 -0
- package/dist/packages/core/src/tools/impl/ImageProcessorTool.d.ts +43 -0
- package/dist/packages/core/src/tools/impl/ImageProcessorTool.d.ts.map +1 -0
- package/dist/packages/core/src/tools/impl/ImageProcessorTool.js +104 -0
- package/dist/packages/core/src/tools/impl/ImageProcessorTool.js.map +1 -0
- package/dist/packages/core/src/tools/impl/ListDirectoryTool.d.ts +3 -0
- package/dist/packages/core/src/tools/impl/ListDirectoryTool.d.ts.map +1 -0
- package/dist/packages/core/src/tools/impl/ListDirectoryTool.js +120 -0
- package/dist/packages/core/src/tools/impl/ListDirectoryTool.js.map +1 -0
- package/dist/packages/core/src/tools/impl/MemoryTool.d.ts +4 -0
- package/dist/packages/core/src/tools/impl/MemoryTool.d.ts.map +1 -0
- package/dist/packages/core/src/tools/impl/MemoryTool.js +80 -0
- package/dist/packages/core/src/tools/impl/MemoryTool.js.map +1 -0
- package/dist/packages/core/src/tools/impl/ReadFileTool.d.ts +3 -0
- package/dist/packages/core/src/tools/impl/ReadFileTool.d.ts.map +1 -0
- package/dist/packages/core/src/tools/impl/ReadFileTool.js +223 -0
- package/dist/packages/core/src/tools/impl/ReadFileTool.js.map +1 -0
- package/dist/packages/core/src/tools/impl/SearchContentTool.d.ts +3 -0
- package/dist/packages/core/src/tools/impl/SearchContentTool.d.ts.map +1 -0
- package/dist/packages/core/src/tools/impl/SearchContentTool.js +65 -0
- package/dist/packages/core/src/tools/impl/SearchContentTool.js.map +1 -0
- package/dist/packages/core/src/tools/impl/SearchFileTool.d.ts +3 -0
- package/dist/packages/core/src/tools/impl/SearchFileTool.d.ts.map +1 -0
- package/dist/packages/core/src/tools/impl/SearchFileTool.js +48 -0
- package/dist/packages/core/src/tools/impl/SearchFileTool.js.map +1 -0
- package/dist/packages/core/src/tools/impl/ShellTool.d.ts +3 -0
- package/dist/packages/core/src/tools/impl/ShellTool.d.ts.map +1 -0
- package/dist/packages/core/src/tools/impl/ShellTool.js +92 -0
- package/dist/packages/core/src/tools/impl/ShellTool.js.map +1 -0
- package/dist/packages/core/src/tools/impl/TaskTool.d.ts +51 -0
- package/dist/packages/core/src/tools/impl/TaskTool.d.ts.map +1 -0
- package/dist/packages/core/src/tools/impl/TaskTool.js +172 -0
- package/dist/packages/core/src/tools/impl/TaskTool.js.map +1 -0
- package/dist/packages/core/src/tools/impl/TodoTool.d.ts +31 -0
- package/dist/packages/core/src/tools/impl/TodoTool.d.ts.map +1 -0
- package/dist/packages/core/src/tools/impl/TodoTool.js +102 -0
- package/dist/packages/core/src/tools/impl/TodoTool.js.map +1 -0
- package/dist/packages/core/src/tools/impl/WebFetchTool.d.ts +3 -0
- package/dist/packages/core/src/tools/impl/WebFetchTool.d.ts.map +1 -0
- package/dist/packages/core/src/tools/impl/WebFetchTool.js +77 -0
- package/dist/packages/core/src/tools/impl/WebFetchTool.js.map +1 -0
- package/dist/packages/core/src/tools/impl/WebSearchTool.d.ts +3 -0
- package/dist/packages/core/src/tools/impl/WebSearchTool.d.ts.map +1 -0
- package/dist/packages/core/src/tools/impl/WebSearchTool.js +67 -0
- package/dist/packages/core/src/tools/impl/WebSearchTool.js.map +1 -0
- package/dist/packages/core/src/tools/impl/WriteFileTool.d.ts +3 -0
- package/dist/packages/core/src/tools/impl/WriteFileTool.d.ts.map +1 -0
- package/dist/packages/core/src/tools/impl/WriteFileTool.js +41 -0
- package/dist/packages/core/src/tools/impl/WriteFileTool.js.map +1 -0
- package/dist/packages/core/src/tools/impl/index.d.ts +14 -0
- package/dist/packages/core/src/tools/impl/index.d.ts.map +1 -0
- package/dist/packages/core/src/tools/impl/index.js +21 -0
- package/dist/packages/core/src/tools/impl/index.js.map +1 -0
- package/dist/packages/core/src/tools/index.d.ts +16 -0
- package/dist/packages/core/src/tools/index.d.ts.map +1 -0
- package/dist/packages/core/src/tools/index.js +21 -0
- package/dist/packages/core/src/tools/index.js.map +1 -0
- package/dist/packages/core/src/tools/schemas/execution.d.ts +41 -0
- package/dist/packages/core/src/tools/schemas/execution.d.ts.map +1 -0
- package/dist/packages/core/src/tools/schemas/execution.js +42 -0
- package/dist/packages/core/src/tools/schemas/execution.js.map +1 -0
- package/dist/packages/core/src/tools/schemas/file.d.ts +113 -0
- package/dist/packages/core/src/tools/schemas/file.d.ts.map +1 -0
- package/dist/packages/core/src/tools/schemas/file.js +116 -0
- package/dist/packages/core/src/tools/schemas/file.js.map +1 -0
- package/dist/packages/core/src/tools/schemas/fileProcessorSchema.d.ts +278 -0
- package/dist/packages/core/src/tools/schemas/fileProcessorSchema.d.ts.map +1 -0
- package/dist/packages/core/src/tools/schemas/fileProcessorSchema.js +61 -0
- package/dist/packages/core/src/tools/schemas/fileProcessorSchema.js.map +1 -0
- package/dist/packages/core/src/tools/schemas/index.d.ts +8 -0
- package/dist/packages/core/src/tools/schemas/index.d.ts.map +1 -0
- package/dist/packages/core/src/tools/schemas/index.js +11 -0
- package/dist/packages/core/src/tools/schemas/index.js.map +1 -0
- package/dist/packages/core/src/tools/schemas/memory.d.ts +50 -0
- package/dist/packages/core/src/tools/schemas/memory.d.ts.map +1 -0
- package/dist/packages/core/src/tools/schemas/memory.js +51 -0
- package/dist/packages/core/src/tools/schemas/memory.js.map +1 -0
- package/dist/packages/core/src/tools/schemas/orchestration.d.ts +41 -0
- package/dist/packages/core/src/tools/schemas/orchestration.d.ts.map +1 -0
- package/dist/packages/core/src/tools/schemas/orchestration.js +44 -0
- package/dist/packages/core/src/tools/schemas/orchestration.js.map +1 -0
- package/dist/packages/core/src/tools/schemas/search.d.ts +111 -0
- package/dist/packages/core/src/tools/schemas/search.d.ts.map +1 -0
- package/dist/packages/core/src/tools/schemas/search.js +110 -0
- package/dist/packages/core/src/tools/schemas/search.js.map +1 -0
- package/dist/packages/core/src/tools/schemas/todo.d.ts +29 -0
- package/dist/packages/core/src/tools/schemas/todo.d.ts.map +1 -0
- package/dist/packages/core/src/tools/schemas/todo.js +32 -0
- package/dist/packages/core/src/tools/schemas/todo.js.map +1 -0
- package/dist/packages/core/src/tools/schemas/web.d.ts +84 -0
- package/dist/packages/core/src/tools/schemas/web.d.ts.map +1 -0
- package/dist/packages/core/src/tools/schemas/web.js +85 -0
- package/dist/packages/core/src/tools/schemas/web.js.map +1 -0
- package/dist/packages/core/src/types/config.d.ts +212 -0
- package/dist/packages/core/src/types/config.d.ts.map +1 -0
- package/dist/packages/core/src/types/config.js +5 -0
- package/dist/packages/core/src/types/config.js.map +1 -0
- package/dist/packages/core/src/types/errors.d.ts +92 -0
- package/dist/packages/core/src/types/errors.d.ts.map +1 -0
- package/dist/packages/core/src/types/errors.js +172 -0
- package/dist/packages/core/src/types/errors.js.map +1 -0
- package/dist/packages/core/src/types/index.d.ts +5 -0
- package/dist/packages/core/src/types/index.d.ts.map +1 -0
- package/dist/packages/core/src/types/index.js +8 -0
- package/dist/packages/core/src/types/index.js.map +1 -0
- package/dist/packages/core/src/types/session.d.ts +141 -0
- package/dist/packages/core/src/types/session.d.ts.map +1 -0
- package/dist/packages/core/src/types/session.js +16 -0
- package/dist/packages/core/src/types/session.js.map +1 -0
- package/dist/packages/core/src/types/tools.d.ts +126 -0
- package/dist/packages/core/src/types/tools.d.ts.map +1 -0
- package/dist/packages/core/src/types/tools.js +26 -0
- package/dist/packages/core/src/types/tools.js.map +1 -0
- package/dist/packages/core/src/utils/CheckpointManager.d.ts +100 -0
- package/dist/packages/core/src/utils/CheckpointManager.d.ts.map +1 -0
- package/dist/packages/core/src/utils/CheckpointManager.js +255 -0
- package/dist/packages/core/src/utils/CheckpointManager.js.map +1 -0
- package/dist/packages/core/src/utils/Logger.d.ts +29 -0
- package/dist/packages/core/src/utils/Logger.d.ts.map +1 -0
- package/dist/packages/core/src/utils/Logger.js +77 -0
- package/dist/packages/core/src/utils/Logger.js.map +1 -0
- package/dist/packages/core/src/utils/RetryManager.d.ts +125 -0
- package/dist/packages/core/src/utils/RetryManager.d.ts.map +1 -0
- package/dist/packages/core/src/utils/RetryManager.js +348 -0
- package/dist/packages/core/src/utils/RetryManager.js.map +1 -0
- package/dist/packages/core/src/utils/TokenCounter.d.ts +73 -0
- package/dist/packages/core/src/utils/TokenCounter.d.ts.map +1 -0
- package/dist/packages/core/src/utils/TokenCounter.js +338 -0
- package/dist/packages/core/src/utils/TokenCounter.js.map +1 -0
- package/dist/packages/core/src/utils/VectorMemoryStore.d.ts +110 -0
- package/dist/packages/core/src/utils/VectorMemoryStore.d.ts.map +1 -0
- package/dist/packages/core/src/utils/VectorMemoryStore.js +320 -0
- package/dist/packages/core/src/utils/VectorMemoryStore.js.map +1 -0
- package/dist/packages/core/src/utils/helpers.d.ts +24 -0
- package/dist/packages/core/src/utils/helpers.d.ts.map +1 -0
- package/dist/packages/core/src/utils/helpers.js +77 -0
- package/dist/packages/core/src/utils/helpers.js.map +1 -0
- package/dist/packages/core/src/utils/index.d.ts +11 -0
- package/dist/packages/core/src/utils/index.d.ts.map +1 -0
- package/dist/packages/core/src/utils/index.js +7 -0
- package/dist/packages/core/src/utils/index.js.map +1 -0
- package/dist/startup/IFlowRepl.d.ts +50 -0
- package/dist/startup/IFlowRepl.d.ts.map +1 -0
- package/dist/startup/IFlowRepl.js +178 -0
- package/dist/startup/IFlowRepl.js.map +1 -0
- package/dist/startup/InkBasedRepl.d.ts +151 -0
- package/dist/startup/InkBasedRepl.d.ts.map +1 -0
- package/dist/startup/InkBasedRepl.js +1415 -0
- package/dist/startup/InkBasedRepl.js.map +1 -0
- package/dist/startup/InteractiveRepl.d.ts +141 -0
- package/dist/startup/InteractiveRepl.d.ts.map +1 -0
- package/dist/startup/InteractiveRepl.js +2561 -0
- package/dist/startup/InteractiveRepl.js.map +1 -0
- package/dist/startup/NovaApp.d.ts +57 -0
- package/dist/startup/NovaApp.d.ts.map +1 -0
- package/dist/startup/NovaApp.js +1978 -0
- package/dist/startup/NovaApp.js.map +1 -0
- package/dist/startup/index.d.ts +5 -0
- package/dist/startup/index.d.ts.map +1 -0
- package/dist/startup/index.js +4 -0
- package/dist/startup/index.js.map +1 -0
- package/dist/startup/parseArgs.d.ts +47 -0
- package/dist/startup/parseArgs.d.ts.map +1 -0
- package/dist/startup/parseArgs.js +262 -0
- package/dist/startup/parseArgs.js.map +1 -0
- package/dist/ui/IFlowDropdown.d.ts +63 -0
- package/dist/ui/IFlowDropdown.d.ts.map +1 -0
- package/dist/ui/IFlowDropdown.js +362 -0
- package/dist/ui/IFlowDropdown.js.map +1 -0
- package/dist/ui/ModernReplUI.d.ts +55 -0
- package/dist/ui/ModernReplUI.d.ts.map +1 -0
- package/dist/ui/ModernReplUI.js +207 -0
- package/dist/ui/ModernReplUI.js.map +1 -0
- package/dist/ui/SimpleSelector2.d.ts +28 -0
- package/dist/ui/SimpleSelector2.d.ts.map +1 -0
- package/dist/ui/SimpleSelector2.js +181 -0
- package/dist/ui/SimpleSelector2.js.map +1 -0
- package/dist/ui/components/ActiveCursor.d.ts +128 -0
- package/dist/ui/components/ActiveCursor.d.ts.map +1 -0
- package/dist/ui/components/ActiveCursor.js +273 -0
- package/dist/ui/components/ActiveCursor.js.map +1 -0
- package/dist/ui/components/ConfirmDialog.d.ts +51 -0
- package/dist/ui/components/ConfirmDialog.d.ts.map +1 -0
- package/dist/ui/components/ConfirmDialog.js +147 -0
- package/dist/ui/components/ConfirmDialog.js.map +1 -0
- package/dist/ui/components/ErrorPanel.d.ts +33 -0
- package/dist/ui/components/ErrorPanel.d.ts.map +1 -0
- package/dist/ui/components/ErrorPanel.js +309 -0
- package/dist/ui/components/ErrorPanel.js.map +1 -0
- package/dist/ui/components/InkAppRunner.d.ts +18 -0
- package/dist/ui/components/InkAppRunner.d.ts.map +1 -0
- package/dist/ui/components/InkAppRunner.js +33 -0
- package/dist/ui/components/InkAppRunner.js.map +1 -0
- package/dist/ui/components/InkComponents.d.ts +126 -0
- package/dist/ui/components/InkComponents.d.ts.map +1 -0
- package/dist/ui/components/InkComponents.js +216 -0
- package/dist/ui/components/InkComponents.js.map +1 -0
- package/dist/ui/components/NovaInkApp.d.ts +11 -0
- package/dist/ui/components/NovaInkApp.d.ts.map +1 -0
- package/dist/ui/components/NovaInkApp.js +148 -0
- package/dist/ui/components/NovaInkApp.js.map +1 -0
- package/dist/ui/components/ProgressBar.d.ts +65 -0
- package/dist/ui/components/ProgressBar.d.ts.map +1 -0
- package/dist/ui/components/ProgressBar.js +135 -0
- package/dist/ui/components/ProgressBar.js.map +1 -0
- package/dist/ui/components/ProgressIndicator.d.ts +41 -0
- package/dist/ui/components/ProgressIndicator.d.ts.map +1 -0
- package/dist/ui/components/ProgressIndicator.js +235 -0
- package/dist/ui/components/ProgressIndicator.js.map +1 -0
- package/dist/ui/components/QuickActions.d.ts +36 -0
- package/dist/ui/components/QuickActions.d.ts.map +1 -0
- package/dist/ui/components/QuickActions.js +328 -0
- package/dist/ui/components/QuickActions.js.map +1 -0
- package/dist/ui/components/SimpleErrorPanel.d.ts +16 -0
- package/dist/ui/components/SimpleErrorPanel.d.ts.map +1 -0
- package/dist/ui/components/SimpleErrorPanel.js +193 -0
- package/dist/ui/components/SimpleErrorPanel.js.map +1 -0
- package/dist/ui/components/StatusBar.d.ts +30 -0
- package/dist/ui/components/StatusBar.d.ts.map +1 -0
- package/dist/ui/components/StatusBar.js +154 -0
- package/dist/ui/components/StatusBar.js.map +1 -0
- package/dist/ui/components/ThinkingBlockRenderer.d.ts +109 -0
- package/dist/ui/components/ThinkingBlockRenderer.d.ts.map +1 -0
- package/dist/ui/components/ThinkingBlockRenderer.js +335 -0
- package/dist/ui/components/ThinkingBlockRenderer.js.map +1 -0
- package/dist/ui/components/ThinkingContentDisplay.d.ts +59 -0
- package/dist/ui/components/ThinkingContentDisplay.d.ts.map +1 -0
- package/dist/ui/components/ThinkingContentDisplay.js +172 -0
- package/dist/ui/components/ThinkingContentDisplay.js.map +1 -0
- package/dist/ui/components/TodoProgressPanel.d.ts +91 -0
- package/dist/ui/components/TodoProgressPanel.d.ts.map +1 -0
- package/dist/ui/components/TodoProgressPanel.js +284 -0
- package/dist/ui/components/TodoProgressPanel.js.map +1 -0
- package/dist/ui/components/ToolCallStatusDisplay.d.ts +89 -0
- package/dist/ui/components/ToolCallStatusDisplay.d.ts.map +1 -0
- package/dist/ui/components/ToolCallStatusDisplay.js +246 -0
- package/dist/ui/components/ToolCallStatusDisplay.js.map +1 -0
- package/dist/ui/components/UserMessageHighlight.d.ts +48 -0
- package/dist/ui/components/UserMessageHighlight.d.ts.map +1 -0
- package/dist/ui/components/UserMessageHighlight.js +196 -0
- package/dist/ui/components/UserMessageHighlight.js.map +1 -0
- package/dist/ui/components/index.d.ts +17 -0
- package/dist/ui/components/index.d.ts.map +1 -0
- package/dist/ui/components/index.js +18 -0
- package/dist/ui/components/index.js.map +1 -0
- package/dist/ui/ink-prototype.d.ts +3 -0
- package/dist/ui/ink-prototype.d.ts.map +1 -0
- package/dist/ui/ink-prototype.js +160 -0
- package/dist/ui/ink-prototype.js.map +1 -0
- package/dist/utils/CliUI.d.ts +163 -0
- package/dist/utils/CliUI.d.ts.map +1 -0
- package/dist/utils/CliUI.js +292 -0
- package/dist/utils/CliUI.js.map +1 -0
- package/dist/utils/CompletionHelper.d.ts +112 -0
- package/dist/utils/CompletionHelper.d.ts.map +1 -0
- package/dist/utils/CompletionHelper.js +304 -0
- package/dist/utils/CompletionHelper.js.map +1 -0
- package/dist/utils/EnhancedCompleter.d.ts +107 -0
- package/dist/utils/EnhancedCompleter.d.ts.map +1 -0
- package/dist/utils/EnhancedCompleter.js +428 -0
- package/dist/utils/EnhancedCompleter.js.map +1 -0
- package/dist/utils/ErrorEnhancer.d.ts +103 -0
- package/dist/utils/ErrorEnhancer.d.ts.map +1 -0
- package/dist/utils/ErrorEnhancer.js +350 -0
- package/dist/utils/ErrorEnhancer.js.map +1 -0
- package/dist/utils/OutputFormatter.d.ts +65 -0
- package/dist/utils/OutputFormatter.d.ts.map +1 -0
- package/dist/utils/OutputFormatter.js +145 -0
- package/dist/utils/OutputFormatter.js.map +1 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +8 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +99 -0
|
@@ -0,0 +1,362 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// IFlowDropdown - True iFlow CLI style dropdown interface for Nova CLI
|
|
3
|
+
// ============================================================================
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
export class IFlowDropdown {
|
|
6
|
+
items = [];
|
|
7
|
+
filteredItems = [];
|
|
8
|
+
selectedIndex = 0;
|
|
9
|
+
isVisible = false;
|
|
10
|
+
config;
|
|
11
|
+
currentInput = '';
|
|
12
|
+
constructor(config = {}) {
|
|
13
|
+
this.config = {
|
|
14
|
+
maxHeight: 15,
|
|
15
|
+
animationDuration: 200,
|
|
16
|
+
showIcons: true,
|
|
17
|
+
enableSearch: true,
|
|
18
|
+
theme: 'dark',
|
|
19
|
+
...config
|
|
20
|
+
};
|
|
21
|
+
this.initializeItems();
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Show dropdown with suggestions based on input
|
|
25
|
+
*/
|
|
26
|
+
async show(input, session) {
|
|
27
|
+
if (!input.startsWith('/'))
|
|
28
|
+
return null;
|
|
29
|
+
// Filter items based on input and context
|
|
30
|
+
this.filterItems(input, session);
|
|
31
|
+
if (this.filteredItems.length === 0)
|
|
32
|
+
return null;
|
|
33
|
+
this.isVisible = true;
|
|
34
|
+
this.selectedIndex = 0;
|
|
35
|
+
await this.render(input);
|
|
36
|
+
return await this.handleInput(input);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Initialize all dropdown items
|
|
40
|
+
*/
|
|
41
|
+
initializeItems() {
|
|
42
|
+
this.items = [
|
|
43
|
+
// Navigation commands
|
|
44
|
+
{
|
|
45
|
+
id: 'help',
|
|
46
|
+
label: 'Help',
|
|
47
|
+
description: 'Show detailed help information',
|
|
48
|
+
category: 'navigation',
|
|
49
|
+
icon: '?',
|
|
50
|
+
shortcut: '/h'
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
id: 'quit',
|
|
54
|
+
label: 'Quit',
|
|
55
|
+
description: 'Exit Nova CLI (session auto-saved)',
|
|
56
|
+
category: 'navigation',
|
|
57
|
+
icon: '✗',
|
|
58
|
+
shortcut: '/exit'
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
id: 'clear',
|
|
62
|
+
label: 'Clear',
|
|
63
|
+
description: 'Clear conversation and start new session',
|
|
64
|
+
category: 'navigation',
|
|
65
|
+
icon: '🗑️',
|
|
66
|
+
shortcut: '/reset'
|
|
67
|
+
},
|
|
68
|
+
// Session management
|
|
69
|
+
{
|
|
70
|
+
id: 'status',
|
|
71
|
+
label: 'Status',
|
|
72
|
+
description: 'Show current session statistics and info',
|
|
73
|
+
category: 'session',
|
|
74
|
+
icon: '📊'
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
id: 'history',
|
|
78
|
+
label: 'History',
|
|
79
|
+
description: 'Browse and manage previous sessions',
|
|
80
|
+
category: 'session',
|
|
81
|
+
icon: '📚'
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
id: 'compress',
|
|
85
|
+
label: 'Compress',
|
|
86
|
+
description: 'Optimize context window size',
|
|
87
|
+
category: 'session',
|
|
88
|
+
icon: '⚡'
|
|
89
|
+
},
|
|
90
|
+
// Model commands
|
|
91
|
+
{
|
|
92
|
+
id: 'model',
|
|
93
|
+
label: 'Model',
|
|
94
|
+
description: 'Switch or list available models',
|
|
95
|
+
category: 'model',
|
|
96
|
+
icon: '🤖'
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
id: 'models',
|
|
100
|
+
label: 'Models',
|
|
101
|
+
description: 'List all available models',
|
|
102
|
+
category: 'model',
|
|
103
|
+
icon: '🤖'
|
|
104
|
+
},
|
|
105
|
+
// Mode commands
|
|
106
|
+
{
|
|
107
|
+
id: 'mode',
|
|
108
|
+
label: 'Mode',
|
|
109
|
+
description: 'Change interaction mode (AUTO/PLAN/ASK)',
|
|
110
|
+
category: 'session',
|
|
111
|
+
icon: '🔄'
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
id: 'auto',
|
|
115
|
+
label: 'Auto',
|
|
116
|
+
description: 'Switch to AUTO mode (no approval needed)',
|
|
117
|
+
category: 'session',
|
|
118
|
+
icon: '🚀'
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
id: 'plan',
|
|
122
|
+
label: 'Plan',
|
|
123
|
+
description: 'Switch to PLAN mode (confirm before action)',
|
|
124
|
+
category: 'session',
|
|
125
|
+
icon: '📋'
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
id: 'ask',
|
|
129
|
+
label: 'Ask',
|
|
130
|
+
description: 'Switch to ASK mode (read-only questions)',
|
|
131
|
+
category: 'session',
|
|
132
|
+
icon: '❓'
|
|
133
|
+
},
|
|
134
|
+
// Tool commands
|
|
135
|
+
{
|
|
136
|
+
id: 'tools',
|
|
137
|
+
label: 'Tools',
|
|
138
|
+
description: 'Manage built-in tools and capabilities',
|
|
139
|
+
category: 'tools',
|
|
140
|
+
icon: '🛠️'
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
id: 'skills',
|
|
144
|
+
label: 'Skills',
|
|
145
|
+
description: 'Use or manage AI skills',
|
|
146
|
+
category: 'skills',
|
|
147
|
+
icon: '🧩'
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
id: 'init',
|
|
151
|
+
label: 'Init',
|
|
152
|
+
description: 'Generate NOVA.md project memory file',
|
|
153
|
+
category: 'tools',
|
|
154
|
+
icon: '📝'
|
|
155
|
+
},
|
|
156
|
+
// MCP commands
|
|
157
|
+
{
|
|
158
|
+
id: 'mcp',
|
|
159
|
+
label: 'MCP',
|
|
160
|
+
description: 'Manage MCP server connections',
|
|
161
|
+
category: 'mcp',
|
|
162
|
+
icon: '🌐'
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
id: 'mcp-status',
|
|
166
|
+
label: 'MCP Status',
|
|
167
|
+
description: 'Check MCP server connection status',
|
|
168
|
+
category: 'mcp',
|
|
169
|
+
icon: '🌐'
|
|
170
|
+
},
|
|
171
|
+
// Memory commands
|
|
172
|
+
{
|
|
173
|
+
id: 'memory',
|
|
174
|
+
label: 'Memory',
|
|
175
|
+
description: 'Manage persistent notes and memory',
|
|
176
|
+
category: 'session',
|
|
177
|
+
icon: '💾'
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
id: 'profile',
|
|
181
|
+
label: 'Profile',
|
|
182
|
+
description: 'Show detailed session profile',
|
|
183
|
+
category: 'session',
|
|
184
|
+
icon: '👤'
|
|
185
|
+
}
|
|
186
|
+
];
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Filter items based on input and session context
|
|
190
|
+
*/
|
|
191
|
+
filterItems(input, session) {
|
|
192
|
+
const baseInput = input.slice(1).toLowerCase(); // Remove / and lowercase
|
|
193
|
+
this.filteredItems = this.items.filter(item => {
|
|
194
|
+
// Basic text matching
|
|
195
|
+
const matchesText = item.label.toLowerCase().includes(baseInput) ||
|
|
196
|
+
item.description.toLowerCase().includes(baseInput) ||
|
|
197
|
+
item.id.toLowerCase().startsWith(baseInput);
|
|
198
|
+
if (!matchesText)
|
|
199
|
+
return false;
|
|
200
|
+
// Context-based filtering
|
|
201
|
+
if (session?.mode === 'ask') {
|
|
202
|
+
// In ask mode, hide editing commands
|
|
203
|
+
if (['clear', 'memory-add'].includes(item.id))
|
|
204
|
+
return false;
|
|
205
|
+
}
|
|
206
|
+
// Mode-specific suggestions based on recent errors would go here
|
|
207
|
+
// For now, return basic filtered results
|
|
208
|
+
return true;
|
|
209
|
+
});
|
|
210
|
+
// Sort by relevance
|
|
211
|
+
this.sortItems();
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Sort items by relevance
|
|
215
|
+
*/
|
|
216
|
+
sortItems() {
|
|
217
|
+
this.filteredItems.sort((a, b) => {
|
|
218
|
+
// Exact match first
|
|
219
|
+
if (a.id === b.id)
|
|
220
|
+
return 0;
|
|
221
|
+
if (a.id.toLowerCase() === this.currentInput.toLowerCase())
|
|
222
|
+
return -1;
|
|
223
|
+
if (b.id.toLowerCase() === this.currentInput.toLowerCase())
|
|
224
|
+
return 1;
|
|
225
|
+
// Then by startsWith
|
|
226
|
+
const aStarts = a.id.toLowerCase().startsWith(this.currentInput.toLowerCase());
|
|
227
|
+
const bStarts = b.id.toLowerCase().startsWith(this.currentInput.toLowerCase());
|
|
228
|
+
if (aStarts && !bStarts)
|
|
229
|
+
return -1;
|
|
230
|
+
if (!aStarts && bStarts)
|
|
231
|
+
return 1;
|
|
232
|
+
// Finally alphabetically
|
|
233
|
+
return a.label.localeCompare(b.label);
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Render the dropdown UI
|
|
238
|
+
*/
|
|
239
|
+
async render(input) {
|
|
240
|
+
console.clear();
|
|
241
|
+
// Header
|
|
242
|
+
const width = Math.min(process.stdout.columns || 80, 70);
|
|
243
|
+
const border = '━'.repeat(width);
|
|
244
|
+
const title = ' NOVA CLI COMMAND SUGGESTIONS ';
|
|
245
|
+
const header = `╭${border}╮\n│${title.padEnd(width)}│\n├${'─'.repeat(width)}┤`;
|
|
246
|
+
console.log(chalk.bgBlue.black(header));
|
|
247
|
+
console.log(chalk.blue(`│ Use ↑↓ to navigate, Enter to select, Esc to cancel${' '.repeat(width - 64)}│`));
|
|
248
|
+
console.log(chalk.blue(`│ Input: ${chalk.cyan(input)}${' '.repeat(width - 18 - input.length)}│`));
|
|
249
|
+
console.log(chalk.blue(`├${'─'.repeat(width)}┤`));
|
|
250
|
+
// Items
|
|
251
|
+
const displayCount = Math.min(this.filteredItems.length, this.config.maxHeight || 15);
|
|
252
|
+
for (let i = 0; i < displayCount; i++) {
|
|
253
|
+
const item = this.filteredItems[i];
|
|
254
|
+
const isSelected = i === this.selectedIndex;
|
|
255
|
+
// Selection indicator
|
|
256
|
+
const prefix = isSelected ? chalk.green('▶ ') : chalk.gray(' ');
|
|
257
|
+
const indent = isSelected ? ' ' : '·';
|
|
258
|
+
// Icon
|
|
259
|
+
let iconDisplay = '';
|
|
260
|
+
if (this.config.showIcons && item.icon) {
|
|
261
|
+
iconDisplay = isSelected ? chalk.white(item.icon) : chalk.gray(item.icon);
|
|
262
|
+
}
|
|
263
|
+
// Label and description
|
|
264
|
+
const labelDisplay = isSelected
|
|
265
|
+
? chalk.cyan.bold(item.label)
|
|
266
|
+
: chalk.white(item.label);
|
|
267
|
+
const descDisplay = isSelected
|
|
268
|
+
? chalk.yellow(item.description)
|
|
269
|
+
: chalk.gray(item.description);
|
|
270
|
+
// Shortcut
|
|
271
|
+
let shortcutDisplay = '';
|
|
272
|
+
if (item.shortcut) {
|
|
273
|
+
shortcutDisplay = isSelected
|
|
274
|
+
? chalk.magenta(` [${item.shortcut}]`)
|
|
275
|
+
: chalk.gray(` (${item.shortcut})`);
|
|
276
|
+
}
|
|
277
|
+
const line = `${prefix}${indent}${iconDisplay} ${labelDisplay} ${descDisplay}${shortcutDisplay}`;
|
|
278
|
+
console.log(chalk.blue(`│${line.padEnd(width)}│`));
|
|
279
|
+
}
|
|
280
|
+
// Footer
|
|
281
|
+
const footer = `╰${'━'.repeat(width)}╯`;
|
|
282
|
+
console.log(chalk.blue(footer));
|
|
283
|
+
console.log('');
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Handle user input for dropdown navigation
|
|
287
|
+
*/
|
|
288
|
+
async handleInput(input) {
|
|
289
|
+
return new Promise((resolve) => {
|
|
290
|
+
const readline = require('node:readline');
|
|
291
|
+
const rl = readline.createInterface({
|
|
292
|
+
input: process.stdin,
|
|
293
|
+
output: process.stdout
|
|
294
|
+
});
|
|
295
|
+
// Set raw mode for direct key capture
|
|
296
|
+
const wasRaw = process.stdin.isRaw;
|
|
297
|
+
if (process.stdin.isTTY) {
|
|
298
|
+
process.stdin.setRawMode(true);
|
|
299
|
+
}
|
|
300
|
+
const handleKeyPress = (key) => {
|
|
301
|
+
switch (key) {
|
|
302
|
+
case '\x1b[A': // Up arrow
|
|
303
|
+
this.selectedIndex = Math.max(0, this.selectedIndex - 1);
|
|
304
|
+
this.render(input);
|
|
305
|
+
break;
|
|
306
|
+
case '\x1b[B': // Down arrow
|
|
307
|
+
this.selectedIndex = Math.min(this.filteredItems.length - 1, this.selectedIndex + 1);
|
|
308
|
+
this.render(input);
|
|
309
|
+
break;
|
|
310
|
+
case '\r': // Enter
|
|
311
|
+
case '\n':
|
|
312
|
+
rl.close();
|
|
313
|
+
if (process.stdin.isTTY) {
|
|
314
|
+
process.stdin.setRawMode(wasRaw);
|
|
315
|
+
}
|
|
316
|
+
const selected = this.filteredItems[this.selectedIndex];
|
|
317
|
+
if (selected) {
|
|
318
|
+
console.log(chalk.green(`✓ Executing: ${selected.label}`));
|
|
319
|
+
setTimeout(() => {
|
|
320
|
+
if (selected.action) {
|
|
321
|
+
selected.action();
|
|
322
|
+
}
|
|
323
|
+
resolve(selected);
|
|
324
|
+
}, 500);
|
|
325
|
+
}
|
|
326
|
+
else {
|
|
327
|
+
resolve(null);
|
|
328
|
+
}
|
|
329
|
+
break;
|
|
330
|
+
case '\x1b': // Escape
|
|
331
|
+
rl.close();
|
|
332
|
+
if (process.stdin.isTTY) {
|
|
333
|
+
process.stdin.setRawMode(wasRaw);
|
|
334
|
+
}
|
|
335
|
+
console.log(chalk.gray('\nCancelled.'));
|
|
336
|
+
resolve(null);
|
|
337
|
+
break;
|
|
338
|
+
}
|
|
339
|
+
};
|
|
340
|
+
process.stdin.on('data', handleKeyPress);
|
|
341
|
+
});
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* Hide dropdown
|
|
345
|
+
*/
|
|
346
|
+
hide() {
|
|
347
|
+
this.isVisible = false;
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* Get all available items (for testing)
|
|
351
|
+
*/
|
|
352
|
+
getAllItems() {
|
|
353
|
+
return [...this.items];
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* Get items by category
|
|
357
|
+
*/
|
|
358
|
+
getItemsByCategory(category) {
|
|
359
|
+
return this.items.filter(item => item.category === category);
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
//# sourceMappingURL=IFlowDropdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFlowDropdown.js","sourceRoot":"","sources":["../../src/ui/IFlowDropdown.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { SessionInfo, NovaConfig } from '../../../core/src/types/config.js';
|
|
2
|
+
export interface ModernReplOptions {
|
|
3
|
+
showStatusBar?: boolean;
|
|
4
|
+
showInputBox?: boolean;
|
|
5
|
+
enableQuickActions?: boolean;
|
|
6
|
+
compactMode?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare class ModernReplUI {
|
|
9
|
+
private session;
|
|
10
|
+
private config;
|
|
11
|
+
private options;
|
|
12
|
+
private statusBar;
|
|
13
|
+
private progressIndicator;
|
|
14
|
+
private errorPanel;
|
|
15
|
+
private quickActions;
|
|
16
|
+
constructor(options?: ModernReplOptions);
|
|
17
|
+
start(): Promise<void>;
|
|
18
|
+
updateSession(session: SessionInfo): void;
|
|
19
|
+
updateConfig(config: NovaConfig): void;
|
|
20
|
+
showProgress(message?: string, type?: 'spinner' | 'bar' | 'dots'): void;
|
|
21
|
+
updateProgress(progress: number, message?: string): void;
|
|
22
|
+
completeProgress(message?: string): void;
|
|
23
|
+
failProgress(error: Error | string, message?: string): void;
|
|
24
|
+
handleError(error: Error | string, context?: any): void;
|
|
25
|
+
showQuickMenu(): Promise<string>;
|
|
26
|
+
renderInputBox(prompt?: string): void;
|
|
27
|
+
clearInputBox(): void;
|
|
28
|
+
private renderStatusBar;
|
|
29
|
+
private showWelcomeMessage;
|
|
30
|
+
static withModernUI<T>(task: (ui: ModernReplUI) => Promise<T>, options?: ModernReplOptions): Promise<T>;
|
|
31
|
+
static createFromExisting(originalRepl: any, options?: ModernReplOptions): Promise<ModernReplUI>;
|
|
32
|
+
setOption<K extends keyof ModernReplOptions>(key: K, value: ModernReplOptions[K]): void;
|
|
33
|
+
getStatus(): ReplUIStatus;
|
|
34
|
+
dispose(): void;
|
|
35
|
+
}
|
|
36
|
+
interface ReplUIStatus {
|
|
37
|
+
hasSession: boolean;
|
|
38
|
+
hasConfig: boolean;
|
|
39
|
+
sessionStats: {
|
|
40
|
+
id: string;
|
|
41
|
+
model: string;
|
|
42
|
+
turnCount: number;
|
|
43
|
+
tokenUsage: number;
|
|
44
|
+
duration: number;
|
|
45
|
+
} | null;
|
|
46
|
+
uiOptions: ModernReplOptions;
|
|
47
|
+
components: {
|
|
48
|
+
statusBar: boolean;
|
|
49
|
+
progressIndicator: boolean;
|
|
50
|
+
errorPanel: boolean;
|
|
51
|
+
quickActions: boolean;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
export {};
|
|
55
|
+
//# sourceMappingURL=ModernReplUI.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModernReplUI.d.ts","sourceRoot":"","sources":["../../src/ui/ModernReplUI.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAOjF,MAAM,WAAW,iBAAiB;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,OAAO,CAAyB;IAGxC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAAe;gBAEvB,OAAO,GAAE,iBAAsB;IAoBrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAe5B,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IASzC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAStC,YAAY,CAAC,OAAO,GAAE,MAAwB,EAAE,IAAI,GAAE,SAAS,GAAG,KAAK,GAAG,MAAkB,GAAG,IAAI;IAInG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAIxD,gBAAgB,CAAC,OAAO,GAAE,MAAgB,GAAG,IAAI;IAIjD,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,OAAO,GAAE,MAAiB,GAAG,IAAI;IAKrE,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI;IAKjD,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAWtC,cAAc,CAAC,MAAM,GAAE,MAAkB,GAAG,IAAI;IAchD,aAAa,IAAI,IAAI;IAYrB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,kBAAkB;WAyBb,YAAY,CAAC,CAAC,EACzB,IAAI,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,EACtC,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,CAAC,CAAC;WAaA,kBAAkB,CAC7B,YAAY,EAAE,GAAG,EACjB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,YAAY,CAAC;IAgBxB,SAAS,CAAC,CAAC,SAAS,MAAM,iBAAiB,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI;IAqBvF,SAAS,IAAI,YAAY;IAsBzB,OAAO,IAAI,IAAI;CAIhB;AAGD,UAAU,YAAY;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,IAAI,CAAC;IACT,SAAS,EAAE,iBAAiB,CAAC;IAC7B,UAAU,EAAE;QACV,SAAS,EAAE,OAAO,CAAC;QACnB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,UAAU,EAAE,OAAO,CAAC;QACpB,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;CACH"}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// ModernReplUI - Integrated modern UI for Nova CLI REPL
|
|
3
|
+
// ============================================================================
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import { StatusBar } from './components/StatusBar.js';
|
|
6
|
+
import { ProgressIndicator } from './components/ProgressIndicator.js';
|
|
7
|
+
import { ErrorPanel } from './components/ErrorPanel.js';
|
|
8
|
+
import { QuickActions } from './components/QuickActions.js';
|
|
9
|
+
export class ModernReplUI {
|
|
10
|
+
session = null;
|
|
11
|
+
config = null;
|
|
12
|
+
options = {};
|
|
13
|
+
// UI Components
|
|
14
|
+
statusBar;
|
|
15
|
+
progressIndicator;
|
|
16
|
+
errorPanel;
|
|
17
|
+
quickActions;
|
|
18
|
+
constructor(options = {}) {
|
|
19
|
+
this.options = {
|
|
20
|
+
showStatusBar: true,
|
|
21
|
+
showInputBox: true,
|
|
22
|
+
enableQuickActions: true,
|
|
23
|
+
compactMode: false,
|
|
24
|
+
...options
|
|
25
|
+
};
|
|
26
|
+
// Initialize components
|
|
27
|
+
this.statusBar = new StatusBar({ compact: this.options.compactMode });
|
|
28
|
+
this.progressIndicator = new ProgressIndicator();
|
|
29
|
+
this.errorPanel = new ErrorPanel({ compact: this.options.compactMode });
|
|
30
|
+
this.quickActions = new QuickActions(this.session);
|
|
31
|
+
console.log(chalk.bgGreen.black.bold(' NOVA CLI v0.1.0 '));
|
|
32
|
+
console.log(chalk.green('-'.repeat(50)));
|
|
33
|
+
console.log('');
|
|
34
|
+
}
|
|
35
|
+
async start() {
|
|
36
|
+
// Clear screen and setup
|
|
37
|
+
console.clear();
|
|
38
|
+
if (this.options.showStatusBar) {
|
|
39
|
+
this.renderStatusBar();
|
|
40
|
+
}
|
|
41
|
+
// Show welcome message
|
|
42
|
+
this.showWelcomeMessage();
|
|
43
|
+
// Main input loop would be handled by parent component
|
|
44
|
+
console.log(chalk.dim('Type /help for commands, or press Ctrl+C to exit...'));
|
|
45
|
+
}
|
|
46
|
+
updateSession(session) {
|
|
47
|
+
this.session = session;
|
|
48
|
+
this.quickActions = new QuickActions(session);
|
|
49
|
+
if (this.options.showStatusBar) {
|
|
50
|
+
this.statusBar.update(session, this.config);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
updateConfig(config) {
|
|
54
|
+
this.config = config;
|
|
55
|
+
if (this.options.showStatusBar) {
|
|
56
|
+
this.statusBar.update(this.session, config);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
// Progress management
|
|
60
|
+
showProgress(message = 'Processing...', type = 'spinner') {
|
|
61
|
+
this.progressIndicator.start(message);
|
|
62
|
+
}
|
|
63
|
+
updateProgress(progress, message) {
|
|
64
|
+
this.progressIndicator.update(progress, message);
|
|
65
|
+
}
|
|
66
|
+
completeProgress(message = 'Done!') {
|
|
67
|
+
this.progressIndicator.complete(message);
|
|
68
|
+
}
|
|
69
|
+
failProgress(error, message = 'Failed') {
|
|
70
|
+
this.progressIndicator.fail(error, message);
|
|
71
|
+
}
|
|
72
|
+
// Error handling
|
|
73
|
+
handleError(error, context) {
|
|
74
|
+
this.errorPanel.display(error, context);
|
|
75
|
+
}
|
|
76
|
+
// Quick actions
|
|
77
|
+
async showQuickMenu() {
|
|
78
|
+
if (!this.options.enableQuickActions) {
|
|
79
|
+
return '';
|
|
80
|
+
}
|
|
81
|
+
this.quickActions.showMenu();
|
|
82
|
+
const result = await this.quickActions.handleInput('');
|
|
83
|
+
return result ? 'handled' : '';
|
|
84
|
+
}
|
|
85
|
+
// Input box rendering
|
|
86
|
+
renderInputBox(prompt = 'NOVA > ') {
|
|
87
|
+
if (!this.options.showInputBox)
|
|
88
|
+
return;
|
|
89
|
+
const width = Math.min(process.stdout.columns || 80, 100);
|
|
90
|
+
const border = '─'.repeat(width);
|
|
91
|
+
console.log('');
|
|
92
|
+
console.log(chalk.blue('┌' + border + '┐'));
|
|
93
|
+
console.log(chalk.blue('│') + ' '.repeat(width) + chalk.blue('│'));
|
|
94
|
+
console.log(chalk.blue('│') + chalk.white(` ${prompt}`).padEnd(width - 2) + chalk.blue('│'));
|
|
95
|
+
console.log(chalk.blue('│') + ' '.repeat(width) + chalk.blue('│'));
|
|
96
|
+
console.log(chalk.blue('└' + border + '┘'));
|
|
97
|
+
}
|
|
98
|
+
clearInputBox() {
|
|
99
|
+
if (!this.options.showInputBox)
|
|
100
|
+
return;
|
|
101
|
+
const width = Math.min(process.stdout.columns || 80, 100);
|
|
102
|
+
console.log(chalk.blue('┌' + ' '.repeat(width) + '┐'));
|
|
103
|
+
console.log(chalk.blue('│') + ' '.repeat(width) + chalk.blue('│'));
|
|
104
|
+
console.log(chalk.blue('│') + ' '.repeat(width) + chalk.blue('│'));
|
|
105
|
+
console.log(chalk.blue('│') + ' '.repeat(width) + chalk.blue('│'));
|
|
106
|
+
console.log(chalk.blue('└' + ' '.repeat(width) + '┘'));
|
|
107
|
+
}
|
|
108
|
+
// Utility methods
|
|
109
|
+
renderStatusBar() {
|
|
110
|
+
if (this.session && this.config) {
|
|
111
|
+
console.log(this.statusBar.render());
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
showWelcomeMessage() {
|
|
115
|
+
const messages = [
|
|
116
|
+
chalk.cyan('🚀 Welcome to Nova CLI - Your AI-Powered Terminal Assistant'),
|
|
117
|
+
'',
|
|
118
|
+
chalk.yellow('✨ Features:'),
|
|
119
|
+
' • Multiple AI model providers (OpenAI, Anthropic, Ollama, etc.)',
|
|
120
|
+
' • Smart file operations with @file references',
|
|
121
|
+
' • Built-in tools for code analysis and generation',
|
|
122
|
+
' • MCP server integration for extended functionality',
|
|
123
|
+
' • Session persistence and history management',
|
|
124
|
+
'',
|
|
125
|
+
chalk.blue('📖 Quick Start:'),
|
|
126
|
+
' • Type your request and press Enter',
|
|
127
|
+
' • Use @filename to reference files',
|
|
128
|
+
' • Use !command to execute shell commands',
|
|
129
|
+
' • Press /help for command reference',
|
|
130
|
+
'',
|
|
131
|
+
chalk.gray('Press Ctrl+C at any time to cancel current operation')
|
|
132
|
+
];
|
|
133
|
+
messages.forEach(msg => console.log(msg));
|
|
134
|
+
console.log('');
|
|
135
|
+
}
|
|
136
|
+
// Static utility methods
|
|
137
|
+
static async withModernUI(task, options) {
|
|
138
|
+
const ui = new ModernReplUI(options);
|
|
139
|
+
await ui.start();
|
|
140
|
+
try {
|
|
141
|
+
const result = await task(ui);
|
|
142
|
+
return result;
|
|
143
|
+
}
|
|
144
|
+
finally {
|
|
145
|
+
// Cleanup
|
|
146
|
+
console.clear();
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
static async createFromExisting(originalRepl, options) {
|
|
150
|
+
const ui = new ModernReplUI(options);
|
|
151
|
+
// Hook into existing REPL methods
|
|
152
|
+
if (originalRepl.printBanner) {
|
|
153
|
+
const originalPrintBanner = originalRepl.printBanner.bind(originalRepl);
|
|
154
|
+
originalRepl.printBanner = async function () {
|
|
155
|
+
await originalPrintBanner();
|
|
156
|
+
console.log('\n' + ui.statusBar.render());
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
return ui;
|
|
160
|
+
}
|
|
161
|
+
// Configuration helpers
|
|
162
|
+
setOption(key, value) {
|
|
163
|
+
this.options[key] = value;
|
|
164
|
+
switch (key) {
|
|
165
|
+
case 'showStatusBar':
|
|
166
|
+
if (value && this.session && this.config) {
|
|
167
|
+
this.statusBar.update(this.session, this.config);
|
|
168
|
+
}
|
|
169
|
+
break;
|
|
170
|
+
case 'compactMode':
|
|
171
|
+
this.statusBar.options.compact = value;
|
|
172
|
+
if (this.session && this.config) {
|
|
173
|
+
this.statusBar.update(this.session, this.config);
|
|
174
|
+
}
|
|
175
|
+
break;
|
|
176
|
+
case 'enableQuickActions':
|
|
177
|
+
// Actions can be toggled dynamically
|
|
178
|
+
break;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
getStatus() {
|
|
182
|
+
return {
|
|
183
|
+
hasSession: !!this.session,
|
|
184
|
+
hasConfig: !!this.config,
|
|
185
|
+
sessionStats: this.session ? {
|
|
186
|
+
id: this.session.id,
|
|
187
|
+
model: this.session.model,
|
|
188
|
+
turnCount: this.session.turnCount || 0,
|
|
189
|
+
tokenUsage: (this.session.totalInputTokens || 0) + (this.session.totalOutputTokens || 0),
|
|
190
|
+
duration: Date.now() - (this.session.startTime?.getTime() || Date.now())
|
|
191
|
+
} : null,
|
|
192
|
+
uiOptions: { ...this.options },
|
|
193
|
+
components: {
|
|
194
|
+
statusBar: !!this.statusBar,
|
|
195
|
+
progressIndicator: !!this.progressIndicator,
|
|
196
|
+
errorPanel: !!this.errorPanel,
|
|
197
|
+
quickActions: !!this.quickActions
|
|
198
|
+
}
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
// Cleanup
|
|
202
|
+
dispose() {
|
|
203
|
+
this.progressIndicator.stop();
|
|
204
|
+
console.clear();
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
//# sourceMappingURL=ModernReplUI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModernReplUI.js","sourceRoot":"","sources":["../../src/ui/ModernReplUI.ts"],"names":[],"mappings":"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"}
|