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,172 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// Task Tool - Launch sub-agents for parallel task execution
|
|
3
|
+
// ============================================================================
|
|
4
|
+
import { ToolError } from '../../types/errors.js';
|
|
5
|
+
import { AgentLoop } from '../../session/AgentLoop.js';
|
|
6
|
+
import { buildSystemPrompt } from '../../context/defaultSystemPrompt.js';
|
|
7
|
+
/**
|
|
8
|
+
* Task handler - launches a sub-agent to perform a specific task
|
|
9
|
+
*
|
|
10
|
+
* This enables parallel task execution and specialized agent behaviors:
|
|
11
|
+
* - code-explorer: Analyzes codebases and provides insights
|
|
12
|
+
* - research: Gathers information from web and documentation
|
|
13
|
+
* - executor: Performs actions and executes commands
|
|
14
|
+
*/
|
|
15
|
+
export const taskHandler = async (input) => {
|
|
16
|
+
// Validate required fields
|
|
17
|
+
const { description, prompt, subagentType, maxTurns = 10, mode = 'default', name } = input.params;
|
|
18
|
+
if (typeof description !== 'string' || typeof prompt !== 'string' || typeof subagentType !== 'string') {
|
|
19
|
+
throw new ToolError('Task requires description, prompt, and subagentType parameters to be strings', 'task');
|
|
20
|
+
}
|
|
21
|
+
if (!description || !prompt || !subagentType) {
|
|
22
|
+
throw new ToolError('Task requires description, prompt, and subagentType parameters', 'task');
|
|
23
|
+
}
|
|
24
|
+
const params = {
|
|
25
|
+
description,
|
|
26
|
+
prompt,
|
|
27
|
+
subagentType: subagentType,
|
|
28
|
+
maxTurns: typeof maxTurns === 'number' ? maxTurns : 10,
|
|
29
|
+
mode: typeof mode === 'string' ? mode : 'default',
|
|
30
|
+
name: typeof name === 'string' ? name : undefined,
|
|
31
|
+
};
|
|
32
|
+
const sessionManager = input.context.sessionManager;
|
|
33
|
+
const toolRegistry = input.context.toolRegistry;
|
|
34
|
+
const modelClient = input.context.modelClient;
|
|
35
|
+
const contextCompressor = input.context.contextCompressor;
|
|
36
|
+
if (!sessionManager || !toolRegistry || !modelClient) {
|
|
37
|
+
throw new ToolError('Task tool requires sessionManager, toolRegistry, and modelClient in context', 'task');
|
|
38
|
+
}
|
|
39
|
+
// Create a new session for the sub-agent
|
|
40
|
+
const subSession = sessionManager.create({
|
|
41
|
+
workingDirectory: input.context.workingDirectory,
|
|
42
|
+
model: modelClient.getModel(),
|
|
43
|
+
streaming: false,
|
|
44
|
+
parentSessionId: input.context.sessionId,
|
|
45
|
+
});
|
|
46
|
+
// Configure approval mode based on task mode
|
|
47
|
+
let approvalMode = input.context.approvalMode || 'plan';
|
|
48
|
+
if (mode === 'acceptEdits') {
|
|
49
|
+
approvalMode = 'plan';
|
|
50
|
+
}
|
|
51
|
+
else if (mode === 'bypassPermissions') {
|
|
52
|
+
approvalMode = 'yolo';
|
|
53
|
+
}
|
|
54
|
+
// Build system prompt for sub-agent
|
|
55
|
+
const subSystemPrompt = buildSystemPrompt({
|
|
56
|
+
workingDirectory: input.context.workingDirectory,
|
|
57
|
+
model: modelClient.getModel(),
|
|
58
|
+
approvalMode,
|
|
59
|
+
});
|
|
60
|
+
// Add sub-agent specialization to system prompt
|
|
61
|
+
const specializations = {
|
|
62
|
+
'code-explorer': `You are a Code Explorer agent. Your specialty is analyzing codebases, understanding architecture, identifying patterns, and providing code insights.
|
|
63
|
+
Focus on:
|
|
64
|
+
- Code structure and organization
|
|
65
|
+
- Design patterns and architecture
|
|
66
|
+
- Potential issues and improvements
|
|
67
|
+
- Dependencies and relationships
|
|
68
|
+
|
|
69
|
+
Be thorough in your analysis and provide actionable insights.`,
|
|
70
|
+
'research': `You are a Research agent. Your specialty is gathering information, investigating problems, and finding solutions.
|
|
71
|
+
Focus on:
|
|
72
|
+
- Searching for relevant documentation and examples
|
|
73
|
+
- Investigating error messages and issues
|
|
74
|
+
- Finding best practices and patterns
|
|
75
|
+
- Gathering context and background information
|
|
76
|
+
|
|
77
|
+
Be comprehensive in your research and cite sources when possible.`,
|
|
78
|
+
'executor': `You are an Executor agent. Your specialty is performing tasks, running commands, and making changes.
|
|
79
|
+
Focus on:
|
|
80
|
+
- Executing commands and scripts
|
|
81
|
+
- Modifying files and code
|
|
82
|
+
- Running tests and builds
|
|
83
|
+
- Implementing solutions
|
|
84
|
+
|
|
85
|
+
Be careful and precise in your actions, following best practices.`
|
|
86
|
+
};
|
|
87
|
+
const specializedSystemPrompt = subSystemPrompt + '\n\n' + specializations[subagentType];
|
|
88
|
+
// Create agent loop for sub-agent
|
|
89
|
+
const agentLoop = new AgentLoop({
|
|
90
|
+
modelClient,
|
|
91
|
+
sessionManager,
|
|
92
|
+
toolRegistry,
|
|
93
|
+
systemPrompt: specializedSystemPrompt,
|
|
94
|
+
contextCompressor,
|
|
95
|
+
maxContextTokens: input.context.maxTokens * 8 || 128000,
|
|
96
|
+
onApprovalRequired: input.context.onApprovalRequired,
|
|
97
|
+
});
|
|
98
|
+
// Run the sub-agent
|
|
99
|
+
const result = await agentLoop.run(subSession.id, prompt);
|
|
100
|
+
// Get all messages from the sub-session
|
|
101
|
+
const messages = sessionManager.getMessages(subSession.id);
|
|
102
|
+
const assistantMessages = messages.filter(m => m.role === 'assistant');
|
|
103
|
+
// Extract the final response
|
|
104
|
+
let finalResponse = '';
|
|
105
|
+
if (assistantMessages.length > 0) {
|
|
106
|
+
const lastMessage = assistantMessages[assistantMessages.length - 1];
|
|
107
|
+
const textBlocks = lastMessage.content.filter(block => block.type === 'text');
|
|
108
|
+
finalResponse = textBlocks.map(block => block.text).join('\n\n');
|
|
109
|
+
}
|
|
110
|
+
// Clean up sub-session
|
|
111
|
+
sessionManager.delete(subSession.id);
|
|
112
|
+
// Format the result
|
|
113
|
+
const output = `
|
|
114
|
+
### 🤖 Sub-agent Task Complete
|
|
115
|
+
|
|
116
|
+
**Task**: ${description}
|
|
117
|
+
**Type**: ${subagentType}
|
|
118
|
+
**Agent**: ${name || 'Unnamed'}
|
|
119
|
+
**Turns**: ${result.turnsCompleted}
|
|
120
|
+
**Tokens**: ${result.totalInputTokens + result.totalOutputTokens}
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
${finalResponse}
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
**Status**: ✅ Completed successfully
|
|
129
|
+
`.trim();
|
|
130
|
+
return { content: output };
|
|
131
|
+
};
|
|
132
|
+
export const taskSchema = {
|
|
133
|
+
type: 'object',
|
|
134
|
+
properties: {
|
|
135
|
+
description: {
|
|
136
|
+
type: 'string',
|
|
137
|
+
description: 'Brief description of the task (3-5 words)',
|
|
138
|
+
},
|
|
139
|
+
prompt: {
|
|
140
|
+
type: 'string',
|
|
141
|
+
description: 'Detailed task description for the sub-agent',
|
|
142
|
+
},
|
|
143
|
+
subagentType: {
|
|
144
|
+
type: 'string',
|
|
145
|
+
description: 'Type of sub-agent to spawn',
|
|
146
|
+
enum: ['code-explorer', 'research', 'executor'],
|
|
147
|
+
default: 'research',
|
|
148
|
+
},
|
|
149
|
+
maxTurns: {
|
|
150
|
+
type: 'number',
|
|
151
|
+
description: 'Maximum number of agentic turns',
|
|
152
|
+
default: 10,
|
|
153
|
+
},
|
|
154
|
+
mode: {
|
|
155
|
+
type: 'string',
|
|
156
|
+
description: 'Permission mode for the sub-agent',
|
|
157
|
+
enum: ['acceptEdits', 'bypassPermissions', 'default', 'plan'],
|
|
158
|
+
default: 'default',
|
|
159
|
+
},
|
|
160
|
+
name: {
|
|
161
|
+
type: 'string',
|
|
162
|
+
description: 'Name for the sub-agent (enables team mode)',
|
|
163
|
+
},
|
|
164
|
+
teamName: {
|
|
165
|
+
type: 'string',
|
|
166
|
+
description: 'Team to join (enables team mode)',
|
|
167
|
+
},
|
|
168
|
+
},
|
|
169
|
+
required: ['description', 'prompt', 'subagentType'],
|
|
170
|
+
additionalProperties: false,
|
|
171
|
+
};
|
|
172
|
+
//# sourceMappingURL=TaskTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskTool.js","sourceRoot":"","sources":["../../../../../../../core/src/tools/impl/TaskTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { ToolHandler } from '../../types/tools.js';
|
|
2
|
+
export declare const todoHandler: ToolHandler;
|
|
3
|
+
export declare const todoSchema: {
|
|
4
|
+
type: "object";
|
|
5
|
+
properties: {
|
|
6
|
+
action: {
|
|
7
|
+
type: string;
|
|
8
|
+
enum: string[];
|
|
9
|
+
description: string;
|
|
10
|
+
};
|
|
11
|
+
items: {
|
|
12
|
+
type: string;
|
|
13
|
+
description: string;
|
|
14
|
+
};
|
|
15
|
+
id: {
|
|
16
|
+
type: string;
|
|
17
|
+
description: string;
|
|
18
|
+
};
|
|
19
|
+
content: {
|
|
20
|
+
type: string;
|
|
21
|
+
description: string;
|
|
22
|
+
};
|
|
23
|
+
status: {
|
|
24
|
+
type: string;
|
|
25
|
+
enum: string[];
|
|
26
|
+
description: string;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
additionalProperties: boolean;
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=TodoTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TodoTool.d.ts","sourceRoot":"","sources":["../../../../../../../core/src/tools/impl/TodoTool.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAuC,MAAM,sBAAsB,CAAC;AA6B7F,eAAO,MAAM,WAAW,EAAE,WA2DzB,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BtB,CAAC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// Todo Tool - Task tracking and progress display
|
|
3
|
+
// ============================================================================
|
|
4
|
+
import { ToolError } from '../../types/errors.js';
|
|
5
|
+
/** In-memory todo storage per session */
|
|
6
|
+
const sessionTodos = new Map();
|
|
7
|
+
function getTodos(sessionId) {
|
|
8
|
+
if (!sessionTodos.has(sessionId)) {
|
|
9
|
+
sessionTodos.set(sessionId, []);
|
|
10
|
+
}
|
|
11
|
+
return sessionTodos.get(sessionId);
|
|
12
|
+
}
|
|
13
|
+
function renderTodos(todos) {
|
|
14
|
+
if (todos.length === 0)
|
|
15
|
+
return 'No tasks tracked.';
|
|
16
|
+
const statusIcons = {
|
|
17
|
+
pending: '○',
|
|
18
|
+
in_progress: '◉',
|
|
19
|
+
completed: '●',
|
|
20
|
+
};
|
|
21
|
+
return todos.map((t) => `${statusIcons[t.status]} [${t.status.padEnd(12)}] ${t.content}`).join('\n');
|
|
22
|
+
}
|
|
23
|
+
export const todoHandler = async (input) => {
|
|
24
|
+
const { action, items, id, content, status } = input.params;
|
|
25
|
+
const sessionId = input.context.sessionId;
|
|
26
|
+
const todos = getTodos(sessionId);
|
|
27
|
+
switch (action) {
|
|
28
|
+
case 'list': {
|
|
29
|
+
return { content: renderTodos(todos) };
|
|
30
|
+
}
|
|
31
|
+
case 'create': {
|
|
32
|
+
if (!items) {
|
|
33
|
+
throw new ToolError('Missing "items" parameter. Provide a JSON array of task strings.', 'todo');
|
|
34
|
+
}
|
|
35
|
+
let parsed;
|
|
36
|
+
try {
|
|
37
|
+
parsed = JSON.parse(typeof items === 'string' ? items : JSON.stringify(items));
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
parsed = [String(items)];
|
|
41
|
+
}
|
|
42
|
+
for (const item of parsed) {
|
|
43
|
+
todos.push({ id: `t${todos.length + 1}`, content: String(item), status: 'pending' });
|
|
44
|
+
}
|
|
45
|
+
return { content: `Added ${parsed.length} task(s).\n${renderTodos(todos)}` };
|
|
46
|
+
}
|
|
47
|
+
case 'update': {
|
|
48
|
+
if (!id || !status) {
|
|
49
|
+
throw new ToolError('Missing "id" or "status" parameter.', 'todo');
|
|
50
|
+
}
|
|
51
|
+
const target = todos.find((t) => t.id === id || t.id === `t${id}`);
|
|
52
|
+
if (!target) {
|
|
53
|
+
throw new ToolError(`Task "${id}" not found.`, 'todo');
|
|
54
|
+
}
|
|
55
|
+
const validStatuses = ['pending', 'in_progress', 'completed'];
|
|
56
|
+
if (!validStatuses.includes(status)) {
|
|
57
|
+
throw new ToolError(`Invalid status "${status}". Use: ${validStatuses.join(', ')}`, 'todo');
|
|
58
|
+
}
|
|
59
|
+
if (content)
|
|
60
|
+
target.content = content;
|
|
61
|
+
target.status = status;
|
|
62
|
+
return { content: renderTodos(todos) };
|
|
63
|
+
}
|
|
64
|
+
case 'clear': {
|
|
65
|
+
todos.length = 0;
|
|
66
|
+
return { content: 'All tasks cleared.' };
|
|
67
|
+
}
|
|
68
|
+
default: {
|
|
69
|
+
// If no action, show current state
|
|
70
|
+
return { content: renderTodos(todos) };
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
export const todoSchema = {
|
|
75
|
+
type: 'object',
|
|
76
|
+
properties: {
|
|
77
|
+
action: {
|
|
78
|
+
type: 'string',
|
|
79
|
+
enum: ['list', 'create', 'update', 'clear'],
|
|
80
|
+
description: 'Action to perform: list (show tasks), create (add tasks), update (change status), clear (remove all)',
|
|
81
|
+
},
|
|
82
|
+
items: {
|
|
83
|
+
type: 'string',
|
|
84
|
+
description: 'JSON array of task strings to create (for action=create). Example: \'["Task 1", "Task 2"]\'',
|
|
85
|
+
},
|
|
86
|
+
id: {
|
|
87
|
+
type: 'string',
|
|
88
|
+
description: 'Task ID to update (for action=update)',
|
|
89
|
+
},
|
|
90
|
+
content: {
|
|
91
|
+
type: 'string',
|
|
92
|
+
description: 'New content for the task (for action=update)',
|
|
93
|
+
},
|
|
94
|
+
status: {
|
|
95
|
+
type: 'string',
|
|
96
|
+
enum: ['pending', 'in_progress', 'completed'],
|
|
97
|
+
description: 'New status for the task (for action=update)',
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
additionalProperties: false,
|
|
101
|
+
};
|
|
102
|
+
//# sourceMappingURL=TodoTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TodoTool.js","sourceRoot":"","sources":["../../../../../../../core/src/tools/impl/TodoTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebFetchTool.d.ts","sourceRoot":"","sources":["../../../../../../../core/src/tools/impl/WebFetchTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAuC,MAAM,sBAAsB,CAAC;AAG7F,eAAO,MAAM,eAAe,EAAE,WA+E7B,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { ToolError, TimeoutError } from '../../types/errors.js';
|
|
2
|
+
export const webFetchHandler = async (input) => {
|
|
3
|
+
const { url, method = 'GET', headers: extraHeaders, body, timeout = 15000, followRedirects = true, maxLength = 50000, } = input.params;
|
|
4
|
+
try {
|
|
5
|
+
// Basic URL validation
|
|
6
|
+
const parsedUrl = new URL(url);
|
|
7
|
+
if (!['http:', 'https:'].includes(parsedUrl.protocol)) {
|
|
8
|
+
throw new Error(`Unsupported protocol: ${parsedUrl.protocol}`);
|
|
9
|
+
}
|
|
10
|
+
const controller = new AbortController();
|
|
11
|
+
const timer = setTimeout(() => controller.abort(), timeout);
|
|
12
|
+
const response = await fetch(url, {
|
|
13
|
+
method,
|
|
14
|
+
headers: {
|
|
15
|
+
'User-Agent': 'NovaCLI/0.1.0 (Research Agent)',
|
|
16
|
+
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,text/markdown;q=0.9,*/*;q=0.8',
|
|
17
|
+
...extraHeaders,
|
|
18
|
+
},
|
|
19
|
+
body: method !== 'GET' ? body : undefined,
|
|
20
|
+
signal: controller.signal,
|
|
21
|
+
redirect: followRedirects ? 'follow' : 'manual',
|
|
22
|
+
});
|
|
23
|
+
clearTimeout(timer);
|
|
24
|
+
if (!response.ok) {
|
|
25
|
+
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
|
|
26
|
+
}
|
|
27
|
+
const contentType = response.headers.get('content-type') || '';
|
|
28
|
+
let content = await response.text();
|
|
29
|
+
// Truncate if too long
|
|
30
|
+
if (content.length > maxLength) {
|
|
31
|
+
content = content.slice(0, maxLength) + `\n\n[Content truncated: showing ${maxLength} of ${content.length} characters]`;
|
|
32
|
+
}
|
|
33
|
+
// Basic HTML to text conversion
|
|
34
|
+
if (contentType.includes('text/html')) {
|
|
35
|
+
content = htmlToText(content);
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
content,
|
|
39
|
+
metadata: {
|
|
40
|
+
url,
|
|
41
|
+
status: response.status,
|
|
42
|
+
contentType,
|
|
43
|
+
contentLength: content.length,
|
|
44
|
+
finalUrl: response.url,
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
catch (err) {
|
|
49
|
+
if (err instanceof DOMException && err.name === 'AbortError') {
|
|
50
|
+
throw new TimeoutError(`Fetch timed out after ${timeout}ms`, timeout);
|
|
51
|
+
}
|
|
52
|
+
if (err instanceof TypeError && err.message.includes('URL')) {
|
|
53
|
+
throw new ToolError(`Invalid URL: ${url}`, 'web_fetch');
|
|
54
|
+
}
|
|
55
|
+
throw new ToolError(`Failed to fetch URL: ${err.message}`, 'web_fetch');
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
/** Basic HTML to text converter */
|
|
59
|
+
function htmlToText(html) {
|
|
60
|
+
return html
|
|
61
|
+
// Remove scripts and styles
|
|
62
|
+
.replace(/<script[\s\S]*?<\/script>/gi, '')
|
|
63
|
+
.replace(/<style[\s\S]*?<\/style>/gi, '')
|
|
64
|
+
// Remove HTML tags
|
|
65
|
+
.replace(/<[^>]+>/g, ' ')
|
|
66
|
+
// Decode HTML entities
|
|
67
|
+
.replace(/&/g, '&')
|
|
68
|
+
.replace(/</g, '<')
|
|
69
|
+
.replace(/>/g, '>')
|
|
70
|
+
.replace(/"/g, '"')
|
|
71
|
+
.replace(/'/g, "'")
|
|
72
|
+
.replace(/ /g, ' ')
|
|
73
|
+
// Collapse whitespace
|
|
74
|
+
.replace(/\s+/g, ' ')
|
|
75
|
+
.trim();
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=WebFetchTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebFetchTool.js","sourceRoot":"","sources":["../../../../../../../core/src/tools/impl/WebFetchTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebSearchTool.d.ts","sourceRoot":"","sources":["../../../../../../../core/src/tools/impl/WebSearchTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAuC,MAAM,sBAAsB,CAAC;AAG7F,eAAO,MAAM,gBAAgB,EAAE,WAqF9B,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { ToolError } from '../../types/errors.js';
|
|
2
|
+
export const webSearchHandler = async (input) => {
|
|
3
|
+
const { query, maxResults = 10, language, region, safeSearch = true, freshness } = input.params;
|
|
4
|
+
// This is a placeholder implementation. In production, integrate with a search API
|
|
5
|
+
// such as Google Custom Search, Bing Web Search, or Serper API.
|
|
6
|
+
const apiKey = process.env.NOVA_SEARCH_API_KEY || process.env.SERPER_API_KEY;
|
|
7
|
+
if (!apiKey) {
|
|
8
|
+
// Fallback: provide a helpful message about configuration
|
|
9
|
+
return {
|
|
10
|
+
content: `[Web Search Not Configured]\n\nQuery: ${query}\n\nTo enable web search, you need a Serper.dev API key:\n\n 1. Register at https://serper.dev (free tier: 2500 queries/month)\n 2. Get your API key from the dashboard\n 3. Configure by ONE of:\n - Environment variable: set NOVA_SEARCH_API_KEY=<your-key>\n - Config file: add to ~/.nova/config.yaml under search.apiKey`,
|
|
11
|
+
metadata: { query, configured: false },
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
try {
|
|
15
|
+
// Serper.dev API integration
|
|
16
|
+
const response = await fetch('https://google.serper.dev/search', {
|
|
17
|
+
method: 'POST',
|
|
18
|
+
headers: {
|
|
19
|
+
'X-API-KEY': apiKey,
|
|
20
|
+
'Content-Type': 'application/json',
|
|
21
|
+
},
|
|
22
|
+
body: JSON.stringify({
|
|
23
|
+
q: query,
|
|
24
|
+
num: maxResults,
|
|
25
|
+
gl: region,
|
|
26
|
+
hl: language,
|
|
27
|
+
safe: safeSearch ? 'active' : 'off',
|
|
28
|
+
tbs: freshness ? `qdr:${freshness}` : undefined,
|
|
29
|
+
}),
|
|
30
|
+
});
|
|
31
|
+
if (!response.ok) {
|
|
32
|
+
throw new Error(`Search API returned ${response.status}: ${response.statusText}`);
|
|
33
|
+
}
|
|
34
|
+
const data = await response.json();
|
|
35
|
+
const organic = (data.organic || []);
|
|
36
|
+
if (organic.length === 0) {
|
|
37
|
+
return {
|
|
38
|
+
content: `No results found for: "${query}"`,
|
|
39
|
+
metadata: { query, count: 0 },
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
const results = organic
|
|
43
|
+
.map((r, i) => `${i + 1}. ${r.title}\n ${r.link}\n ${r.snippet}`)
|
|
44
|
+
.join('\n\n');
|
|
45
|
+
const knowledgeGraph = data.knowledgeGraph;
|
|
46
|
+
let output = '';
|
|
47
|
+
if (knowledgeGraph?.title) {
|
|
48
|
+
output += `Knowledge Graph: ${knowledgeGraph.title}\n`;
|
|
49
|
+
if (knowledgeGraph.description)
|
|
50
|
+
output += `${knowledgeGraph.description}\n`;
|
|
51
|
+
output += '\n';
|
|
52
|
+
}
|
|
53
|
+
output += results;
|
|
54
|
+
return {
|
|
55
|
+
content: output,
|
|
56
|
+
metadata: {
|
|
57
|
+
query,
|
|
58
|
+
count: organic.length,
|
|
59
|
+
hasKnowledgeGraph: !!knowledgeGraph,
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
catch (err) {
|
|
64
|
+
throw new ToolError(`Web search failed: ${err.message}`, 'web_search');
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=WebSearchTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebSearchTool.js","sourceRoot":"","sources":["../../../../../../../core/src/tools/impl/WebSearchTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WriteFileTool.d.ts","sourceRoot":"","sources":["../../../../../../../core/src/tools/impl/WriteFileTool.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAuC,MAAM,sBAAsB,CAAC;AAG7F,eAAO,MAAM,gBAAgB,EAAE,WA2C9B,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { ToolError } from '../../types/errors.js';
|
|
4
|
+
export const writeFileHandler = async (input) => {
|
|
5
|
+
const { filePath, content, createDirectories = false, encoding = 'utf-8' } = input.params;
|
|
6
|
+
const resolvedPath = path.resolve(filePath);
|
|
7
|
+
try {
|
|
8
|
+
if (createDirectories) {
|
|
9
|
+
const dir = path.dirname(resolvedPath);
|
|
10
|
+
await fs.mkdir(dir, { recursive: true });
|
|
11
|
+
}
|
|
12
|
+
// Verify parent directory exists
|
|
13
|
+
const dir = path.dirname(resolvedPath);
|
|
14
|
+
try {
|
|
15
|
+
await fs.access(dir, fs.constants.W_OK);
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
throw new ToolError(`Cannot write to directory: ${dir}`, 'write_file');
|
|
19
|
+
}
|
|
20
|
+
await fs.writeFile(resolvedPath, content, { encoding });
|
|
21
|
+
return {
|
|
22
|
+
content: `Successfully wrote ${content.length} characters to ${resolvedPath}`,
|
|
23
|
+
metadata: {
|
|
24
|
+
path: resolvedPath,
|
|
25
|
+
size: Buffer.byteLength(content, encoding),
|
|
26
|
+
encoding,
|
|
27
|
+
},
|
|
28
|
+
filesAffected: [resolvedPath],
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
catch (err) {
|
|
32
|
+
if (err instanceof ToolError)
|
|
33
|
+
throw err;
|
|
34
|
+
const code = err.code;
|
|
35
|
+
if (code === 'EACCES') {
|
|
36
|
+
throw new ToolError(`Permission denied: ${filePath}`, 'write_file', undefined, { code });
|
|
37
|
+
}
|
|
38
|
+
throw new ToolError(`Failed to write file: ${err.message}`, 'write_file');
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=WriteFileTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WriteFileTool.js","sourceRoot":"","sources":["../../../../../../../core/src/tools/impl/WriteFileTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,MAAM,CAAC,MAAM,gBAAgB,GAAgB,KAAK,EAAE,KAAuB,EAA8B,EAAE;IACzG,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,GAAG,KAAK,EAAE,QAAQ,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC,MAKlF,CAAC;IAEF,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE5C,IAAI,CAAC;QACH,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACvC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,iCAAiC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,SAAS,CAAC,8BAA8B,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAExD,OAAO;YACL,OAAO,EAAE,sBAAsB,OAAO,CAAC,MAAM,kBAAkB,YAAY,EAAE;YAC7E,QAAQ,EAAE;gBACR,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC;gBAC1C,QAAQ;aACT;YACD,aAAa,EAAE,CAAC,YAAY,CAAC;SAC9B,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,SAAS;YAAE,MAAM,GAAG,CAAC;QACxC,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;QACjD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,SAAS,CAAC,sBAAsB,QAAQ,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,yBAA0B,GAAa,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;IACvF,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { readFileHandler } from './ReadFileTool.js';
|
|
2
|
+
export { writeFileHandler } from './WriteFileTool.js';
|
|
3
|
+
export { editFileHandler } from './EditFileTool.js';
|
|
4
|
+
export { listDirectoryHandler } from './ListDirectoryTool.js';
|
|
5
|
+
export { searchFileHandler } from './SearchFileTool.js';
|
|
6
|
+
export { searchContentHandler } from './SearchContentTool.js';
|
|
7
|
+
export { shellHandler } from './ShellTool.js';
|
|
8
|
+
export { webSearchHandler } from './WebSearchTool.js';
|
|
9
|
+
export { webFetchHandler } from './WebFetchTool.js';
|
|
10
|
+
export { memoryReadHandler, memoryWriteHandler } from './MemoryTool.js';
|
|
11
|
+
export { todoHandler } from './TodoTool.js';
|
|
12
|
+
export { taskHandler } from './TaskTool.js';
|
|
13
|
+
export { imageProcessorHandler, extractTextFromImage, processImage } from './ImageProcessorTool.js';
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../core/src/tools/impl/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACb,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// Tool Implementations Barrel Export
|
|
3
|
+
// ============================================================================
|
|
4
|
+
// File operations
|
|
5
|
+
export { readFileHandler } from './ReadFileTool.js';
|
|
6
|
+
export { writeFileHandler } from './WriteFileTool.js';
|
|
7
|
+
export { editFileHandler } from './EditFileTool.js';
|
|
8
|
+
export { listDirectoryHandler } from './ListDirectoryTool.js';
|
|
9
|
+
export { searchFileHandler } from './SearchFileTool.js';
|
|
10
|
+
export { searchContentHandler } from './SearchContentTool.js';
|
|
11
|
+
// Shell and web
|
|
12
|
+
export { shellHandler } from './ShellTool.js';
|
|
13
|
+
export { webSearchHandler } from './WebSearchTool.js';
|
|
14
|
+
export { webFetchHandler } from './WebFetchTool.js';
|
|
15
|
+
// Memory and task management
|
|
16
|
+
export { memoryReadHandler, memoryWriteHandler } from './MemoryTool.js';
|
|
17
|
+
export { todoHandler } from './TodoTool.js';
|
|
18
|
+
export { taskHandler } from './TaskTool.js';
|
|
19
|
+
// New capabilities - Image Processing (OCR)
|
|
20
|
+
export { imageProcessorHandler, extractTextFromImage, processImage } from './ImageProcessorTool.js';
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../core/src/tools/impl/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,qCAAqC;AACrC,+EAA+E;AAE/E,kBAAkB;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,6BAA6B;AAC7B,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,4CAA4C;AAC5C,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACb,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export { FileProcessorTool, fileProcessorTool } from './impl/FileProcessorTool.js';
|
|
2
|
+
export { fileProcessor, FileProcessor } from './impl/FileProcessor.js';
|
|
3
|
+
export { fileProcessorSchema, fileProcessorToolDefinition } from './schemas/fileProcessorSchema.js';
|
|
4
|
+
export { readFileHandler } from './impl/ReadFileTool.js';
|
|
5
|
+
export { writeFileHandler } from './impl/WriteFileTool.js';
|
|
6
|
+
export { editFileHandler } from './impl/EditFileTool.js';
|
|
7
|
+
export { listDirectoryHandler } from './impl/ListDirectoryTool.js';
|
|
8
|
+
export { searchFileHandler } from './impl/SearchFileTool.js';
|
|
9
|
+
export { searchContentHandler } from './impl/SearchContentTool.js';
|
|
10
|
+
export { shellHandler } from './impl/ShellTool.js';
|
|
11
|
+
export { webSearchHandler } from './impl/WebSearchTool.js';
|
|
12
|
+
export { webFetchHandler } from './impl/WebFetchTool.js';
|
|
13
|
+
export { memoryReadHandler, memoryWriteHandler } from './impl/MemoryTool.js';
|
|
14
|
+
export { todoHandler } from './impl/TodoTool.js';
|
|
15
|
+
export { taskHandler } from './impl/TaskTool.js';
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../core/src/tools/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAGpG,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC"}
|