@nexus-ai-nexoralabs/cli 0.1.0
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/.env.example +16 -0
- package/LICENSE +21 -0
- package/README.md +106 -0
- package/dist/api/index.d.ts +81 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +224 -0
- package/dist/api/index.js.map +1 -0
- package/dist/chat/chatService.d.ts +49 -0
- package/dist/chat/chatService.d.ts.map +1 -0
- package/dist/chat/chatService.js +163 -0
- package/dist/chat/chatService.js.map +1 -0
- package/dist/chat/contextBuilder.d.ts +19 -0
- package/dist/chat/contextBuilder.d.ts.map +1 -0
- package/dist/chat/contextBuilder.js +43 -0
- package/dist/chat/contextBuilder.js.map +1 -0
- package/dist/chat/conversationService.d.ts +25 -0
- package/dist/chat/conversationService.d.ts.map +1 -0
- package/dist/chat/conversationService.js +55 -0
- package/dist/chat/conversationService.js.map +1 -0
- package/dist/chat/index.d.ts +6 -0
- package/dist/chat/index.d.ts.map +1 -0
- package/dist/chat/index.js +6 -0
- package/dist/chat/index.js.map +1 -0
- package/dist/chat/messageService.d.ts +18 -0
- package/dist/chat/messageService.d.ts.map +1 -0
- package/dist/chat/messageService.js +26 -0
- package/dist/chat/messageService.js.map +1 -0
- package/dist/chat/promptTemplates.d.ts +19 -0
- package/dist/chat/promptTemplates.d.ts.map +1 -0
- package/dist/chat/promptTemplates.js +32 -0
- package/dist/chat/promptTemplates.js.map +1 -0
- package/dist/cli/agentRunner.d.ts +126 -0
- package/dist/cli/agentRunner.d.ts.map +1 -0
- package/dist/cli/agentRunner.js +892 -0
- package/dist/cli/agentRunner.js.map +1 -0
- package/dist/cli/bin.d.ts +14 -0
- package/dist/cli/bin.d.ts.map +1 -0
- package/dist/cli/bin.js +20 -0
- package/dist/cli/bin.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/inputEngine.d.ts +76 -0
- package/dist/cli/inputEngine.d.ts.map +1 -0
- package/dist/cli/inputEngine.js +281 -0
- package/dist/cli/inputEngine.js.map +1 -0
- package/dist/cli/main.d.ts +9 -0
- package/dist/cli/main.d.ts.map +1 -0
- package/dist/cli/main.js +144 -0
- package/dist/cli/main.js.map +1 -0
- package/dist/cli/uiFormatters.d.ts +108 -0
- package/dist/cli/uiFormatters.d.ts.map +1 -0
- package/dist/cli/uiFormatters.js +925 -0
- package/dist/cli/uiFormatters.js.map +1 -0
- package/dist/common/logger.d.ts +13 -0
- package/dist/common/logger.d.ts.map +1 -0
- package/dist/common/logger.js +43 -0
- package/dist/common/logger.js.map +1 -0
- package/dist/config/firstRunHealthCheck.d.ts +50 -0
- package/dist/config/firstRunHealthCheck.d.ts.map +1 -0
- package/dist/config/firstRunHealthCheck.js +196 -0
- package/dist/config/firstRunHealthCheck.js.map +1 -0
- package/dist/config/firstRunService.d.ts +53 -0
- package/dist/config/firstRunService.d.ts.map +1 -0
- package/dist/config/firstRunService.js +93 -0
- package/dist/config/firstRunService.js.map +1 -0
- package/dist/config/index.d.ts +30 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +65 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/productionPaths.d.ts +34 -0
- package/dist/config/productionPaths.d.ts.map +1 -0
- package/dist/config/productionPaths.js +95 -0
- package/dist/config/productionPaths.js.map +1 -0
- package/dist/config/workspaceService.d.ts +42 -0
- package/dist/config/workspaceService.d.ts.map +1 -0
- package/dist/config/workspaceService.js +218 -0
- package/dist/config/workspaceService.js.map +1 -0
- package/dist/desktop/appWindow.d.ts +21 -0
- package/dist/desktop/appWindow.d.ts.map +1 -0
- package/dist/desktop/appWindow.js +77 -0
- package/dist/desktop/appWindow.js.map +1 -0
- package/dist/desktop/main.d.ts +14 -0
- package/dist/desktop/main.d.ts.map +1 -0
- package/dist/desktop/main.js +90 -0
- package/dist/desktop/main.js.map +1 -0
- package/dist/desktop/preload.d.ts +14 -0
- package/dist/desktop/preload.d.ts.map +1 -0
- package/dist/desktop/preload.js +20 -0
- package/dist/desktop/preload.js.map +1 -0
- package/dist/intelligence/index.d.ts +33 -0
- package/dist/intelligence/index.d.ts.map +1 -0
- package/dist/intelligence/index.js +82 -0
- package/dist/intelligence/index.js.map +1 -0
- package/dist/intelligence/modelGateway.d.ts +35 -0
- package/dist/intelligence/modelGateway.d.ts.map +1 -0
- package/dist/intelligence/modelGateway.js +123 -0
- package/dist/intelligence/modelGateway.js.map +1 -0
- package/dist/intelligence/modelRegistry.d.ts +17 -0
- package/dist/intelligence/modelRegistry.d.ts.map +1 -0
- package/dist/intelligence/modelRegistry.js +87 -0
- package/dist/intelligence/modelRegistry.js.map +1 -0
- package/dist/intelligence/modelRouter.d.ts +76 -0
- package/dist/intelligence/modelRouter.d.ts.map +1 -0
- package/dist/intelligence/modelRouter.js +256 -0
- package/dist/intelligence/modelRouter.js.map +1 -0
- package/dist/intelligence/ollamaAdapter.d.ts +49 -0
- package/dist/intelligence/ollamaAdapter.d.ts.map +1 -0
- package/dist/intelligence/ollamaAdapter.js +197 -0
- package/dist/intelligence/ollamaAdapter.js.map +1 -0
- package/dist/intelligence/prototype/runPrototype.d.ts +14 -0
- package/dist/intelligence/prototype/runPrototype.d.ts.map +1 -0
- package/dist/intelligence/prototype/runPrototype.js +87 -0
- package/dist/intelligence/prototype/runPrototype.js.map +1 -0
- package/dist/intelligence/providers/embeddedInferenceProvider.d.ts +29 -0
- package/dist/intelligence/providers/embeddedInferenceProvider.d.ts.map +1 -0
- package/dist/intelligence/providers/embeddedInferenceProvider.js +162 -0
- package/dist/intelligence/providers/embeddedInferenceProvider.js.map +1 -0
- package/dist/intelligence/providers/index.d.ts +4 -0
- package/dist/intelligence/providers/index.d.ts.map +1 -0
- package/dist/intelligence/providers/index.js +4 -0
- package/dist/intelligence/providers/index.js.map +1 -0
- package/dist/intelligence/providers/inferenceProvider.d.ts +98 -0
- package/dist/intelligence/providers/inferenceProvider.d.ts.map +1 -0
- package/dist/intelligence/providers/inferenceProvider.js +9 -0
- package/dist/intelligence/providers/inferenceProvider.js.map +1 -0
- package/dist/intelligence/providers/ollamaInferenceProvider.d.ts +17 -0
- package/dist/intelligence/providers/ollamaInferenceProvider.d.ts.map +1 -0
- package/dist/intelligence/providers/ollamaInferenceProvider.js +103 -0
- package/dist/intelligence/providers/ollamaInferenceProvider.js.map +1 -0
- package/dist/intelligence/provisioning/hardwareDetector.d.ts +5 -0
- package/dist/intelligence/provisioning/hardwareDetector.d.ts.map +1 -0
- package/dist/intelligence/provisioning/hardwareDetector.js +48 -0
- package/dist/intelligence/provisioning/hardwareDetector.js.map +1 -0
- package/dist/intelligence/provisioning/index.d.ts +12 -0
- package/dist/intelligence/provisioning/index.d.ts.map +1 -0
- package/dist/intelligence/provisioning/index.js +12 -0
- package/dist/intelligence/provisioning/index.js.map +1 -0
- package/dist/intelligence/provisioning/modelDownloader.d.ts +22 -0
- package/dist/intelligence/provisioning/modelDownloader.d.ts.map +1 -0
- package/dist/intelligence/provisioning/modelDownloader.js +134 -0
- package/dist/intelligence/provisioning/modelDownloader.js.map +1 -0
- package/dist/intelligence/provisioning/modelManifest.d.ts +10 -0
- package/dist/intelligence/provisioning/modelManifest.d.ts.map +1 -0
- package/dist/intelligence/provisioning/modelManifest.js +72 -0
- package/dist/intelligence/provisioning/modelManifest.js.map +1 -0
- package/dist/intelligence/provisioning/modelSelector.d.ts +14 -0
- package/dist/intelligence/provisioning/modelSelector.d.ts.map +1 -0
- package/dist/intelligence/provisioning/modelSelector.js +40 -0
- package/dist/intelligence/provisioning/modelSelector.js.map +1 -0
- package/dist/intelligence/provisioning/modelStorage.d.ts +12 -0
- package/dist/intelligence/provisioning/modelStorage.d.ts.map +1 -0
- package/dist/intelligence/provisioning/modelStorage.js +66 -0
- package/dist/intelligence/provisioning/modelStorage.js.map +1 -0
- package/dist/intelligence/provisioning/modelUpdater.d.ts +29 -0
- package/dist/intelligence/provisioning/modelUpdater.d.ts.map +1 -0
- package/dist/intelligence/provisioning/modelUpdater.js +89 -0
- package/dist/intelligence/provisioning/modelUpdater.js.map +1 -0
- package/dist/intelligence/provisioning/modelVerifier.d.ts +16 -0
- package/dist/intelligence/provisioning/modelVerifier.d.ts.map +1 -0
- package/dist/intelligence/provisioning/modelVerifier.js +108 -0
- package/dist/intelligence/provisioning/modelVerifier.js.map +1 -0
- package/dist/intelligence/provisioning/nativeRuntime.d.ts +18 -0
- package/dist/intelligence/provisioning/nativeRuntime.d.ts.map +1 -0
- package/dist/intelligence/provisioning/nativeRuntime.js +78 -0
- package/dist/intelligence/provisioning/nativeRuntime.js.map +1 -0
- package/dist/intelligence/provisioning/platformDetector.d.ts +15 -0
- package/dist/intelligence/provisioning/platformDetector.d.ts.map +1 -0
- package/dist/intelligence/provisioning/platformDetector.js +40 -0
- package/dist/intelligence/provisioning/platformDetector.js.map +1 -0
- package/dist/intelligence/provisioning/setupState.d.ts +10 -0
- package/dist/intelligence/provisioning/setupState.d.ts.map +1 -0
- package/dist/intelligence/provisioning/setupState.js +59 -0
- package/dist/intelligence/provisioning/setupState.js.map +1 -0
- package/dist/intelligence/provisioning/types.d.ts +51 -0
- package/dist/intelligence/provisioning/types.d.ts.map +1 -0
- package/dist/intelligence/provisioning/types.js +2 -0
- package/dist/intelligence/provisioning/types.js.map +1 -0
- package/dist/intelligence/runtime/embeddedRuntimeAdapter.d.ts +26 -0
- package/dist/intelligence/runtime/embeddedRuntimeAdapter.d.ts.map +1 -0
- package/dist/intelligence/runtime/embeddedRuntimeAdapter.js +119 -0
- package/dist/intelligence/runtime/embeddedRuntimeAdapter.js.map +1 -0
- package/dist/intelligence/runtime/ollamaRuntimeAdapter.d.ts +28 -0
- package/dist/intelligence/runtime/ollamaRuntimeAdapter.d.ts.map +1 -0
- package/dist/intelligence/runtime/ollamaRuntimeAdapter.js +131 -0
- package/dist/intelligence/runtime/ollamaRuntimeAdapter.js.map +1 -0
- package/dist/intelligence/runtime/runtimeManager.d.ts +37 -0
- package/dist/intelligence/runtime/runtimeManager.d.ts.map +1 -0
- package/dist/intelligence/runtime/runtimeManager.js +168 -0
- package/dist/intelligence/runtime/runtimeManager.js.map +1 -0
- package/dist/intelligence/runtime/types.d.ts +56 -0
- package/dist/intelligence/runtime/types.d.ts.map +1 -0
- package/dist/intelligence/runtime/types.js +7 -0
- package/dist/intelligence/runtime/types.js.map +1 -0
- package/dist/knowledge/chunker.d.ts +18 -0
- package/dist/knowledge/chunker.d.ts.map +1 -0
- package/dist/knowledge/chunker.js +55 -0
- package/dist/knowledge/chunker.js.map +1 -0
- package/dist/knowledge/citationService.d.ts +26 -0
- package/dist/knowledge/citationService.d.ts.map +1 -0
- package/dist/knowledge/citationService.js +47 -0
- package/dist/knowledge/citationService.js.map +1 -0
- package/dist/knowledge/embeddings.d.ts +11 -0
- package/dist/knowledge/embeddings.d.ts.map +1 -0
- package/dist/knowledge/embeddings.js +28 -0
- package/dist/knowledge/embeddings.js.map +1 -0
- package/dist/knowledge/hybridSearch.d.ts +13 -0
- package/dist/knowledge/hybridSearch.d.ts.map +1 -0
- package/dist/knowledge/hybridSearch.js +38 -0
- package/dist/knowledge/hybridSearch.js.map +1 -0
- package/dist/knowledge/index.d.ts +25 -0
- package/dist/knowledge/index.d.ts.map +1 -0
- package/dist/knowledge/index.js +37 -0
- package/dist/knowledge/index.js.map +1 -0
- package/dist/knowledge/parsers.d.ts +20 -0
- package/dist/knowledge/parsers.d.ts.map +1 -0
- package/dist/knowledge/parsers.js +94 -0
- package/dist/knowledge/parsers.js.map +1 -0
- package/dist/knowledge/ragEngine.d.ts +24 -0
- package/dist/knowledge/ragEngine.d.ts.map +1 -0
- package/dist/knowledge/ragEngine.js +121 -0
- package/dist/knowledge/ragEngine.js.map +1 -0
- package/dist/knowledge/reranker.d.ts +10 -0
- package/dist/knowledge/reranker.d.ts.map +1 -0
- package/dist/knowledge/reranker.js +11 -0
- package/dist/knowledge/reranker.js.map +1 -0
- package/dist/knowledge/vectorStore.d.ts +22 -0
- package/dist/knowledge/vectorStore.d.ts.map +1 -0
- package/dist/knowledge/vectorStore.js +74 -0
- package/dist/knowledge/vectorStore.js.map +1 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +113 -0
- package/dist/main.js.map +1 -0
- package/dist/orchestration/agentExecutionService.d.ts +29 -0
- package/dist/orchestration/agentExecutionService.d.ts.map +1 -0
- package/dist/orchestration/agentExecutionService.js +306 -0
- package/dist/orchestration/agentExecutionService.js.map +1 -0
- package/dist/orchestration/agentStateMachine.d.ts +29 -0
- package/dist/orchestration/agentStateMachine.d.ts.map +1 -0
- package/dist/orchestration/agentStateMachine.js +153 -0
- package/dist/orchestration/agentStateMachine.js.map +1 -0
- package/dist/orchestration/agentTaskService.d.ts +44 -0
- package/dist/orchestration/agentTaskService.d.ts.map +1 -0
- package/dist/orchestration/agentTaskService.js +168 -0
- package/dist/orchestration/agentTaskService.js.map +1 -0
- package/dist/orchestration/codingAgentDiscovery.d.ts +32 -0
- package/dist/orchestration/codingAgentDiscovery.d.ts.map +1 -0
- package/dist/orchestration/codingAgentDiscovery.js +148 -0
- package/dist/orchestration/codingAgentDiscovery.js.map +1 -0
- package/dist/orchestration/codingAgentService.d.ts +40 -0
- package/dist/orchestration/codingAgentService.d.ts.map +1 -0
- package/dist/orchestration/codingAgentService.js +319 -0
- package/dist/orchestration/codingAgentService.js.map +1 -0
- package/dist/orchestration/codingAgentTypes.d.ts +111 -0
- package/dist/orchestration/codingAgentTypes.d.ts.map +1 -0
- package/dist/orchestration/codingAgentTypes.js +32 -0
- package/dist/orchestration/codingAgentTypes.js.map +1 -0
- package/dist/orchestration/codingAgentVerifier.d.ts +34 -0
- package/dist/orchestration/codingAgentVerifier.d.ts.map +1 -0
- package/dist/orchestration/codingAgentVerifier.js +109 -0
- package/dist/orchestration/codingAgentVerifier.js.map +1 -0
- package/dist/orchestration/codingRepairService.d.ts +34 -0
- package/dist/orchestration/codingRepairService.d.ts.map +1 -0
- package/dist/orchestration/codingRepairService.js +120 -0
- package/dist/orchestration/codingRepairService.js.map +1 -0
- package/dist/orchestration/goalCompletionVerifier.d.ts +36 -0
- package/dist/orchestration/goalCompletionVerifier.d.ts.map +1 -0
- package/dist/orchestration/goalCompletionVerifier.js +165 -0
- package/dist/orchestration/goalCompletionVerifier.js.map +1 -0
- package/dist/orchestration/humanApprovalService.d.ts +89 -0
- package/dist/orchestration/humanApprovalService.d.ts.map +1 -0
- package/dist/orchestration/humanApprovalService.js +346 -0
- package/dist/orchestration/humanApprovalService.js.map +1 -0
- package/dist/orchestration/index.d.ts +47 -0
- package/dist/orchestration/index.d.ts.map +1 -0
- package/dist/orchestration/index.js +67 -0
- package/dist/orchestration/index.js.map +1 -0
- package/dist/orchestration/planner.d.ts +105 -0
- package/dist/orchestration/planner.d.ts.map +1 -0
- package/dist/orchestration/planner.js +692 -0
- package/dist/orchestration/planner.js.map +1 -0
- package/dist/orchestration/types.d.ts +109 -0
- package/dist/orchestration/types.d.ts.map +1 -0
- package/dist/orchestration/types.js +20 -0
- package/dist/orchestration/types.js.map +1 -0
- package/dist/preview/previewServer.d.ts +39 -0
- package/dist/preview/previewServer.d.ts.map +1 -0
- package/dist/preview/previewServer.js +228 -0
- package/dist/preview/previewServer.js.map +1 -0
- package/dist/preview/previewService.d.ts +43 -0
- package/dist/preview/previewService.d.ts.map +1 -0
- package/dist/preview/previewService.js +289 -0
- package/dist/preview/previewService.js.map +1 -0
- package/dist/preview/previewTypes.d.ts +35 -0
- package/dist/preview/previewTypes.d.ts.map +1 -0
- package/dist/preview/previewTypes.js +5 -0
- package/dist/preview/previewTypes.js.map +1 -0
- package/dist/storage/database.d.ts +12 -0
- package/dist/storage/database.d.ts.map +1 -0
- package/dist/storage/database.js +46 -0
- package/dist/storage/database.js.map +1 -0
- package/dist/storage/health.d.ts +17 -0
- package/dist/storage/health.d.ts.map +1 -0
- package/dist/storage/health.js +48 -0
- package/dist/storage/health.js.map +1 -0
- package/dist/storage/index.d.ts +45 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +96 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/migration.d.ts +17 -0
- package/dist/storage/migration.d.ts.map +1 -0
- package/dist/storage/migration.js +354 -0
- package/dist/storage/migration.js.map +1 -0
- package/dist/storage/projectService.d.ts +19 -0
- package/dist/storage/projectService.d.ts.map +1 -0
- package/dist/storage/projectService.js +29 -0
- package/dist/storage/projectService.js.map +1 -0
- package/dist/storage/repositories/agentTaskRepository.d.ts +34 -0
- package/dist/storage/repositories/agentTaskRepository.d.ts.map +1 -0
- package/dist/storage/repositories/agentTaskRepository.js +128 -0
- package/dist/storage/repositories/agentTaskRepository.js.map +1 -0
- package/dist/storage/repositories/approvalRepository.d.ts +20 -0
- package/dist/storage/repositories/approvalRepository.d.ts.map +1 -0
- package/dist/storage/repositories/approvalRepository.js +116 -0
- package/dist/storage/repositories/approvalRepository.js.map +1 -0
- package/dist/storage/repositories/conversationRepository.d.ts +16 -0
- package/dist/storage/repositories/conversationRepository.d.ts.map +1 -0
- package/dist/storage/repositories/conversationRepository.js +50 -0
- package/dist/storage/repositories/conversationRepository.js.map +1 -0
- package/dist/storage/repositories/knowledgeRepository.d.ts +109 -0
- package/dist/storage/repositories/knowledgeRepository.d.ts.map +1 -0
- package/dist/storage/repositories/knowledgeRepository.js +177 -0
- package/dist/storage/repositories/knowledgeRepository.js.map +1 -0
- package/dist/storage/repositories/messageRepository.d.ts +13 -0
- package/dist/storage/repositories/messageRepository.d.ts.map +1 -0
- package/dist/storage/repositories/messageRepository.js +39 -0
- package/dist/storage/repositories/messageRepository.js.map +1 -0
- package/dist/storage/repositories/modelsRepository.d.ts +39 -0
- package/dist/storage/repositories/modelsRepository.d.ts.map +1 -0
- package/dist/storage/repositories/modelsRepository.js +92 -0
- package/dist/storage/repositories/modelsRepository.js.map +1 -0
- package/dist/storage/repositories/projectRepository.d.ts +14 -0
- package/dist/storage/repositories/projectRepository.d.ts.map +1 -0
- package/dist/storage/repositories/projectRepository.js +44 -0
- package/dist/storage/repositories/projectRepository.js.map +1 -0
- package/dist/storage/repositories/settingsRepository.d.ts +10 -0
- package/dist/storage/repositories/settingsRepository.d.ts.map +1 -0
- package/dist/storage/repositories/settingsRepository.js +27 -0
- package/dist/storage/repositories/settingsRepository.js.map +1 -0
- package/dist/storage/repositories/types.d.ts +56 -0
- package/dist/storage/repositories/types.d.ts.map +1 -0
- package/dist/storage/repositories/types.js +2 -0
- package/dist/storage/repositories/types.js.map +1 -0
- package/dist/tools/adapters/filesystemAdapter.d.ts +121 -0
- package/dist/tools/adapters/filesystemAdapter.d.ts.map +1 -0
- package/dist/tools/adapters/filesystemAdapter.js +808 -0
- package/dist/tools/adapters/filesystemAdapter.js.map +1 -0
- package/dist/tools/adapters/terminalAdapter.d.ts +67 -0
- package/dist/tools/adapters/terminalAdapter.d.ts.map +1 -0
- package/dist/tools/adapters/terminalAdapter.js +487 -0
- package/dist/tools/adapters/terminalAdapter.js.map +1 -0
- package/dist/tools/adapters/terminalCommandPolicy.d.ts +44 -0
- package/dist/tools/adapters/terminalCommandPolicy.d.ts.map +1 -0
- package/dist/tools/adapters/terminalCommandPolicy.js +422 -0
- package/dist/tools/adapters/terminalCommandPolicy.js.map +1 -0
- package/dist/tools/adapters/terminalTypes.d.ts +111 -0
- package/dist/tools/adapters/terminalTypes.d.ts.map +1 -0
- package/dist/tools/adapters/terminalTypes.js +26 -0
- package/dist/tools/adapters/terminalTypes.js.map +1 -0
- package/dist/tools/approvalGate.d.ts +24 -0
- package/dist/tools/approvalGate.d.ts.map +1 -0
- package/dist/tools/approvalGate.js +137 -0
- package/dist/tools/approvalGate.js.map +1 -0
- package/dist/tools/approvalPolicyEngine.d.ts +32 -0
- package/dist/tools/approvalPolicyEngine.d.ts.map +1 -0
- package/dist/tools/approvalPolicyEngine.js +141 -0
- package/dist/tools/approvalPolicyEngine.js.map +1 -0
- package/dist/tools/approvalTypes.d.ts +67 -0
- package/dist/tools/approvalTypes.d.ts.map +1 -0
- package/dist/tools/approvalTypes.js +23 -0
- package/dist/tools/approvalTypes.js.map +1 -0
- package/dist/tools/index.d.ts +72 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +353 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/permissionEngine.d.ts +27 -0
- package/dist/tools/permissionEngine.d.ts.map +1 -0
- package/dist/tools/permissionEngine.js +130 -0
- package/dist/tools/permissionEngine.js.map +1 -0
- package/dist/tools/toolExecutor.d.ts +37 -0
- package/dist/tools/toolExecutor.d.ts.map +1 -0
- package/dist/tools/toolExecutor.js +440 -0
- package/dist/tools/toolExecutor.js.map +1 -0
- package/dist/tools/toolRegistry.d.ts +34 -0
- package/dist/tools/toolRegistry.d.ts.map +1 -0
- package/dist/tools/toolRegistry.js +92 -0
- package/dist/tools/toolRegistry.js.map +1 -0
- package/dist/tools/types.d.ts +82 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/types.js +33 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/ui/public/app.js +777 -0
- package/dist/ui/public/index.html +117 -0
- package/dist/ui/public/styles.css +413 -0
- package/dist/ui/server.d.ts +27 -0
- package/dist/ui/server.d.ts.map +1 -0
- package/dist/ui/server.js +373 -0
- package/dist/ui/server.js.map +1 -0
- package/package.json +63 -0
package/.env.example
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# NEXUS AI Application Environment Configuration
|
|
2
|
+
|
|
3
|
+
# Server / API Port
|
|
4
|
+
PORT=3000
|
|
5
|
+
|
|
6
|
+
# Environment Mode (development | production | test)
|
|
7
|
+
NODE_ENV=development
|
|
8
|
+
|
|
9
|
+
# Local Ollama Service URL
|
|
10
|
+
OLLAMA_HOST=http://127.0.0.1:11434
|
|
11
|
+
|
|
12
|
+
# Data & Persistence Directory
|
|
13
|
+
DATABASE_PATH=./data/nexus.sqlite
|
|
14
|
+
|
|
15
|
+
# Logging Level (debug | info | warn | error)
|
|
16
|
+
LOG_LEVEL=info
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 NEXUS AI Team
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# NEXUS AI — Local-First AI Workstation CLI
|
|
2
|
+
|
|
3
|
+
NEXUS AI is a local-first, cross-platform AI workstation CLI that orchestrates local language models (via Ollama), retrieves private knowledge (RAG), manages project context, executes permission-controlled tools, and performs full coding-agent workflows — entirely on your own machine.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
### Requirements
|
|
8
|
+
|
|
9
|
+
- **Node.js** `>=20.0.0` — [nodejs.org](https://nodejs.org)
|
|
10
|
+
- **Ollama** — [ollama.com/download](https://ollama.com/download)
|
|
11
|
+
- At least one local model (e.g. `qwen2.5:3b`)
|
|
12
|
+
|
|
13
|
+
### Install NEXUS AI CLI
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm install -g @nexus-ai-nexoralabs/cli
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Install a local model (if you haven't already)
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
ollama pull qwen2.5:3b
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Launch NEXUS
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
nexus
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
That's it. NEXUS will initialize your workspace and configuration automatically on first run.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## First-Run Experience
|
|
36
|
+
|
|
37
|
+
When you run `nexus` for the first time, NEXUS will:
|
|
38
|
+
|
|
39
|
+
1. Create your personal workspace at `~/NEXUS-Workspace` (Windows: `%USERPROFILE%\NEXUS-Workspace`)
|
|
40
|
+
2. Initialize the local database at `%APPDATA%\NEXUS AI\data\nexus.sqlite` (Windows) or `~/.nexus-ai/data/nexus.sqlite`
|
|
41
|
+
3. Detect available Ollama models
|
|
42
|
+
4. Display the interactive dashboard
|
|
43
|
+
|
|
44
|
+
If Ollama is not installed or not running, NEXUS will display a clear, actionable setup guide instead of crashing.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## CLI Commands
|
|
49
|
+
|
|
50
|
+
Once inside NEXUS:
|
|
51
|
+
|
|
52
|
+
| Command | Description |
|
|
53
|
+
|---|---|
|
|
54
|
+
| `/help` | Show all available commands |
|
|
55
|
+
| `/models` | List available local AI models |
|
|
56
|
+
| `/model <id>` | Switch to a specific model |
|
|
57
|
+
| `/tasks` | Show recent tasks |
|
|
58
|
+
| `/preview` | Preview the latest completed web project |
|
|
59
|
+
| `/preview stop` | Stop the preview server |
|
|
60
|
+
| `/clear` | Clear the screen |
|
|
61
|
+
| `/exit` | Exit NEXUS |
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Subsystem Architecture
|
|
66
|
+
|
|
67
|
+
- `src/config/` — Environment configuration & production path resolution
|
|
68
|
+
- `src/storage/` — SQLite persistence & workspace abstraction
|
|
69
|
+
- `src/intelligence/` — Local Ollama gateway & model registry
|
|
70
|
+
- `src/knowledge/` — RAG document indexing & retrieval
|
|
71
|
+
- `src/tools/` — Controlled filesystem, search & terminal adapters
|
|
72
|
+
- `src/orchestration/` — Agent planning, execution & verification
|
|
73
|
+
- `src/preview/` — Local web project preview server
|
|
74
|
+
- `src/api/` — Application API contracts & health checks
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Developer Setup
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
# 1. Clone and install
|
|
82
|
+
npm install
|
|
83
|
+
|
|
84
|
+
# 2. Copy environment template
|
|
85
|
+
cp .env.example .env
|
|
86
|
+
|
|
87
|
+
# 3. Type check
|
|
88
|
+
npm run typecheck
|
|
89
|
+
|
|
90
|
+
# 4. Lint
|
|
91
|
+
npm run lint
|
|
92
|
+
|
|
93
|
+
# 5. Run tests
|
|
94
|
+
npm test
|
|
95
|
+
|
|
96
|
+
# 6. Build
|
|
97
|
+
npm run build
|
|
98
|
+
|
|
99
|
+
# 7. Run CLI in development mode
|
|
100
|
+
npm run agent
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## License
|
|
104
|
+
|
|
105
|
+
MIT
|
|
106
|
+
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { SubsystemStatus } from '../storage/index.js';
|
|
2
|
+
import type { AppConfig } from '../config/index.js';
|
|
3
|
+
import { ProjectService } from '../storage/index.js';
|
|
4
|
+
import { IntelligenceService } from '../intelligence/index.js';
|
|
5
|
+
import { KnowledgeEngine } from '../knowledge/index.js';
|
|
6
|
+
import { ToolGateway } from '../tools/index.js';
|
|
7
|
+
import { ConversationService } from '../chat/conversationService.js';
|
|
8
|
+
import { MessageService } from '../chat/messageService.js';
|
|
9
|
+
import { ChatService } from '../chat/chatService.js';
|
|
10
|
+
import { WorkspaceService } from '../config/workspaceService.js';
|
|
11
|
+
import { FirstRunService } from '../config/firstRunService.js';
|
|
12
|
+
import { PreviewService } from '../preview/previewService.js';
|
|
13
|
+
import type { WorkspaceValidationResult } from '../config/workspaceService.js';
|
|
14
|
+
import type { FirstRunReport } from '../config/firstRunHealthCheck.js';
|
|
15
|
+
import type { AgentTaskService, AgentExecutionService, PlanSynthesisService, HumanApprovalService, CodingAgentService } from '../orchestration/index.js';
|
|
16
|
+
export interface SystemHealthReport {
|
|
17
|
+
overall: 'ok' | 'degraded' | 'error';
|
|
18
|
+
timestamp: string;
|
|
19
|
+
config: {
|
|
20
|
+
environment: string;
|
|
21
|
+
port: number;
|
|
22
|
+
ollamaHost: string;
|
|
23
|
+
databasePath: string;
|
|
24
|
+
};
|
|
25
|
+
subsystems: SubsystemStatus[];
|
|
26
|
+
}
|
|
27
|
+
export declare class ApplicationApi {
|
|
28
|
+
private config;
|
|
29
|
+
private storage;
|
|
30
|
+
intelligence: IntelligenceService;
|
|
31
|
+
knowledge: KnowledgeEngine;
|
|
32
|
+
projects: ProjectService;
|
|
33
|
+
conversations: ConversationService;
|
|
34
|
+
messages: MessageService;
|
|
35
|
+
chat: ChatService;
|
|
36
|
+
/** Agent task lifecycle service — exposed from Orchestrator. */
|
|
37
|
+
tasks: AgentTaskService;
|
|
38
|
+
/** Agent execution loop service — exposed from Orchestrator. */
|
|
39
|
+
execution?: AgentExecutionService;
|
|
40
|
+
/** Plan synthesis service (P5-E) — exposed from Orchestrator. */
|
|
41
|
+
planner?: PlanSynthesisService;
|
|
42
|
+
/** Human approval service (P5-F) — exposed from Orchestrator. */
|
|
43
|
+
approvals?: HumanApprovalService;
|
|
44
|
+
/** Coding agent service (P6-D) — exposed from Orchestrator. */
|
|
45
|
+
codingAgent?: CodingAgentService;
|
|
46
|
+
/** Tool registry and permission authorization gateway. */
|
|
47
|
+
tools: ToolGateway;
|
|
48
|
+
/** Workspace service — exposes validateWorkspace for safe consumer use. */
|
|
49
|
+
workspace: WorkspaceService;
|
|
50
|
+
/** First-run state management service (available after bootstrap). */
|
|
51
|
+
firstRun?: FirstRunService;
|
|
52
|
+
/** Local web project preview service (P7-H). */
|
|
53
|
+
preview: PreviewService;
|
|
54
|
+
private orchestrator;
|
|
55
|
+
private closed;
|
|
56
|
+
private workspaceResult?;
|
|
57
|
+
constructor(config: AppConfig);
|
|
58
|
+
/**
|
|
59
|
+
* Safe workspace validation — can be called before or after bootstrap.
|
|
60
|
+
* Never bypasses sandbox or traversal rules.
|
|
61
|
+
*/
|
|
62
|
+
validateWorkspace(rawPath: string): WorkspaceValidationResult;
|
|
63
|
+
bootstrap(): Promise<SystemHealthReport>;
|
|
64
|
+
getHealthReport(): SystemHealthReport;
|
|
65
|
+
/**
|
|
66
|
+
* Build a consolidated first-run health report.
|
|
67
|
+
* Returns null if bootstrap has not been called yet.
|
|
68
|
+
*/
|
|
69
|
+
getFirstRunReport(): Promise<FirstRunReport | null>;
|
|
70
|
+
getConfig(): AppConfig;
|
|
71
|
+
getWorkspaceResult(): WorkspaceValidationResult | undefined;
|
|
72
|
+
getActivityTimeline(): Array<{
|
|
73
|
+
id: string;
|
|
74
|
+
type: 'task_created' | 'state_transition' | 'approval_requested' | 'approval_decision' | 'step_executed';
|
|
75
|
+
title: string;
|
|
76
|
+
detail?: string;
|
|
77
|
+
timestamp: string;
|
|
78
|
+
}>;
|
|
79
|
+
close(): void;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
import { StorageService, ProjectService } from '../storage/index.js';
|
|
2
|
+
import { IntelligenceService } from '../intelligence/index.js';
|
|
3
|
+
import { KnowledgeEngine } from '../knowledge/index.js';
|
|
4
|
+
import { ToolGateway } from '../tools/index.js';
|
|
5
|
+
import { Orchestrator } from '../orchestration/index.js';
|
|
6
|
+
import { ConversationService } from '../chat/conversationService.js';
|
|
7
|
+
import { MessageService } from '../chat/messageService.js';
|
|
8
|
+
import { ChatService } from '../chat/chatService.js';
|
|
9
|
+
import { WorkspaceService } from '../config/workspaceService.js';
|
|
10
|
+
import { FirstRunService } from '../config/firstRunService.js';
|
|
11
|
+
import { PreviewService } from '../preview/previewService.js';
|
|
12
|
+
import { buildFirstRunReport } from '../config/firstRunHealthCheck.js';
|
|
13
|
+
export class ApplicationApi {
|
|
14
|
+
config;
|
|
15
|
+
storage;
|
|
16
|
+
intelligence;
|
|
17
|
+
knowledge;
|
|
18
|
+
projects;
|
|
19
|
+
conversations;
|
|
20
|
+
messages;
|
|
21
|
+
chat;
|
|
22
|
+
/** Agent task lifecycle service — exposed from Orchestrator. */
|
|
23
|
+
tasks;
|
|
24
|
+
/** Agent execution loop service — exposed from Orchestrator. */
|
|
25
|
+
execution;
|
|
26
|
+
/** Plan synthesis service (P5-E) — exposed from Orchestrator. */
|
|
27
|
+
planner;
|
|
28
|
+
/** Human approval service (P5-F) — exposed from Orchestrator. */
|
|
29
|
+
approvals;
|
|
30
|
+
/** Coding agent service (P6-D) — exposed from Orchestrator. */
|
|
31
|
+
codingAgent;
|
|
32
|
+
/** Tool registry and permission authorization gateway. */
|
|
33
|
+
tools;
|
|
34
|
+
/** Workspace service — exposes validateWorkspace for safe consumer use. */
|
|
35
|
+
workspace;
|
|
36
|
+
/** First-run state management service (available after bootstrap). */
|
|
37
|
+
firstRun;
|
|
38
|
+
/** Local web project preview service (P7-H). */
|
|
39
|
+
preview;
|
|
40
|
+
orchestrator = new Orchestrator();
|
|
41
|
+
closed = false;
|
|
42
|
+
workspaceResult;
|
|
43
|
+
constructor(config) {
|
|
44
|
+
this.config = config;
|
|
45
|
+
this.storage = new StorageService(config.databasePath, config.logLevel);
|
|
46
|
+
this.intelligence = new IntelligenceService(config.ollamaHost, config.logLevel, config.nexusInferenceProvider);
|
|
47
|
+
this.knowledge = new KnowledgeEngine(config.logLevel);
|
|
48
|
+
this.tools = new ToolGateway(undefined, config.logLevel);
|
|
49
|
+
this.workspace = new WorkspaceService(config.logLevel);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Safe workspace validation — can be called before or after bootstrap.
|
|
53
|
+
* Never bypasses sandbox or traversal rules.
|
|
54
|
+
*/
|
|
55
|
+
validateWorkspace(rawPath) {
|
|
56
|
+
return this.workspace.validateWorkspace(rawPath);
|
|
57
|
+
}
|
|
58
|
+
async bootstrap() {
|
|
59
|
+
// Workspace initialization (before tool init so ToolGateway gets canonical root)
|
|
60
|
+
this.workspaceResult = this.workspace.initializeWorkspace(this.config.workspaceRoot);
|
|
61
|
+
await this.storage.initialize();
|
|
62
|
+
await this.intelligence.initialize(this.storage.models);
|
|
63
|
+
await this.knowledge.initialize(this.storage.knowledge);
|
|
64
|
+
this.projects = new ProjectService(this.storage.projects, this.config.logLevel);
|
|
65
|
+
this.conversations = new ConversationService(this.storage.conversations, this.config.logLevel);
|
|
66
|
+
this.messages = new MessageService(this.storage.messages, this.config.logLevel);
|
|
67
|
+
this.chat = new ChatService(this.conversations, this.messages, this.intelligence.gateway, this.knowledge.rag, this.config.logLevel);
|
|
68
|
+
await this.orchestrator.initialize(this.storage.agentTasks, this.tools, this.intelligence.gateway, this.storage.approvals);
|
|
69
|
+
this.tasks = this.orchestrator.tasks;
|
|
70
|
+
this.execution = this.orchestrator.execution;
|
|
71
|
+
this.planner = this.orchestrator.planner;
|
|
72
|
+
this.approvals = this.orchestrator.approvals;
|
|
73
|
+
this.codingAgent = this.orchestrator.codingAgent;
|
|
74
|
+
await this.tools.initialize(this.tasks, this.config.workspaceRoot);
|
|
75
|
+
// Startup Crash Recovery: recover interrupted active tasks left in transient execution states
|
|
76
|
+
const transientStates = ['executing', 'observing', 'verifying'];
|
|
77
|
+
for (const state of transientStates) {
|
|
78
|
+
const activeTasks = this.tasks.getTasksByState(state);
|
|
79
|
+
for (const t of activeTasks) {
|
|
80
|
+
this.tasks.failTask(t.id, {
|
|
81
|
+
errorCategory: 'INTERRUPTED_BY_SHUTDOWN',
|
|
82
|
+
currentStep: t.currentStep || undefined,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
// Wire up FirstRunService using the settings repository
|
|
87
|
+
this.firstRun = new FirstRunService(this.storage.settings, this.config.logLevel);
|
|
88
|
+
// Initialize Local Web Project Preview Service (P7-H)
|
|
89
|
+
this.preview = new PreviewService(this.storage.agentTasks, this.config.workspaceRoot, this.config.logLevel);
|
|
90
|
+
return this.getHealthReport();
|
|
91
|
+
}
|
|
92
|
+
getHealthReport() {
|
|
93
|
+
const subsystems = [
|
|
94
|
+
this.storage.getStatus(),
|
|
95
|
+
this.intelligence.getStatus(),
|
|
96
|
+
this.knowledge.getStatus(),
|
|
97
|
+
this.tools.getStatus(),
|
|
98
|
+
this.orchestrator.getStatus(),
|
|
99
|
+
];
|
|
100
|
+
const hasError = subsystems.some((s) => s.status === 'error');
|
|
101
|
+
const hasDegraded = subsystems.some((s) => s.status === 'degraded');
|
|
102
|
+
const overallStatus = hasError ? 'error' : hasDegraded ? 'degraded' : 'ok';
|
|
103
|
+
return {
|
|
104
|
+
overall: overallStatus,
|
|
105
|
+
timestamp: new Date().toISOString(),
|
|
106
|
+
config: {
|
|
107
|
+
environment: this.config.environment,
|
|
108
|
+
port: this.config.port,
|
|
109
|
+
ollamaHost: this.config.ollamaHost,
|
|
110
|
+
databasePath: this.config.databasePath,
|
|
111
|
+
},
|
|
112
|
+
subsystems,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Build a consolidated first-run health report.
|
|
117
|
+
* Returns null if bootstrap has not been called yet.
|
|
118
|
+
*/
|
|
119
|
+
async getFirstRunReport() {
|
|
120
|
+
if (!this.firstRun || !this.workspaceResult) {
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
const storageStatus = this.storage.getStatus();
|
|
124
|
+
const toolGatewayStatus = this.tools.getStatus();
|
|
125
|
+
const orchestratorStatus = this.orchestrator.getStatus();
|
|
126
|
+
const knowledgeStatus = this.knowledge.getStatus();
|
|
127
|
+
const runtimeHealth = await this.intelligence.runtimeManager.getHealth();
|
|
128
|
+
const availableModels = this.intelligence.registry?.getAvailableModels() ?? [];
|
|
129
|
+
const availableModelIds = availableModels.map((m) => m.id);
|
|
130
|
+
// Resolve primary/fallback model readiness
|
|
131
|
+
const primaryModelId = this.config.primaryModel || availableModelIds[0];
|
|
132
|
+
const fallbackModelId = this.config.fallbackModel || availableModelIds[1];
|
|
133
|
+
let primaryModelReadiness = undefined;
|
|
134
|
+
let fallbackModelReadiness = undefined;
|
|
135
|
+
if (primaryModelId) {
|
|
136
|
+
const check = await this.intelligence.runtimeManager.checkModelReadiness(primaryModelId);
|
|
137
|
+
primaryModelReadiness = check.readiness;
|
|
138
|
+
}
|
|
139
|
+
if (fallbackModelId && fallbackModelId !== primaryModelId) {
|
|
140
|
+
const check = await this.intelligence.runtimeManager.checkModelReadiness(fallbackModelId);
|
|
141
|
+
fallbackModelReadiness = check.readiness;
|
|
142
|
+
}
|
|
143
|
+
const dbOk = storageStatus.status === 'ok';
|
|
144
|
+
const workspaceOk = this.workspaceResult.state === 'WORKSPACE_READY' || this.workspaceResult.state === 'WORKSPACE_CREATED';
|
|
145
|
+
const runtimeReady = runtimeHealth.status === 'READY';
|
|
146
|
+
const hasUsableModel = availableModelIds.length > 0;
|
|
147
|
+
const firstRunState = this.firstRun.determineState({
|
|
148
|
+
configOk: true,
|
|
149
|
+
dbOk,
|
|
150
|
+
workspaceOk,
|
|
151
|
+
runtimeReady,
|
|
152
|
+
hasUsableModel,
|
|
153
|
+
});
|
|
154
|
+
const report = buildFirstRunReport({
|
|
155
|
+
configOk: true,
|
|
156
|
+
storageStatus,
|
|
157
|
+
workspaceResult: this.workspaceResult,
|
|
158
|
+
runtimeHealth,
|
|
159
|
+
availableModelIds,
|
|
160
|
+
primaryModelId,
|
|
161
|
+
primaryModelReadiness,
|
|
162
|
+
fallbackModelId,
|
|
163
|
+
fallbackModelReadiness,
|
|
164
|
+
toolGatewayStatus,
|
|
165
|
+
orchestratorStatus,
|
|
166
|
+
knowledgeStatus,
|
|
167
|
+
firstRunState,
|
|
168
|
+
});
|
|
169
|
+
// Persist first-run completion if workspace is valid
|
|
170
|
+
if (workspaceOk && dbOk) {
|
|
171
|
+
this.firstRun.markFirstRunCompleted(this.workspaceResult.canonicalPath);
|
|
172
|
+
}
|
|
173
|
+
return report;
|
|
174
|
+
}
|
|
175
|
+
getConfig() {
|
|
176
|
+
return this.config;
|
|
177
|
+
}
|
|
178
|
+
getWorkspaceResult() {
|
|
179
|
+
return this.workspaceResult;
|
|
180
|
+
}
|
|
181
|
+
getActivityTimeline() {
|
|
182
|
+
const items = [];
|
|
183
|
+
const tasks = this.tasks?.listTasks() ?? [];
|
|
184
|
+
for (const t of tasks) {
|
|
185
|
+
items.push({
|
|
186
|
+
id: `act-task-${t.id}`,
|
|
187
|
+
type: 'task_created',
|
|
188
|
+
title: `Task Created: "${t.title}"`,
|
|
189
|
+
detail: `Task ID: ${t.id} | State: ${t.state}`,
|
|
190
|
+
timestamp: t.createdAt,
|
|
191
|
+
});
|
|
192
|
+
if (t.completedAt) {
|
|
193
|
+
items.push({
|
|
194
|
+
id: `act-task-comp-${t.id}`,
|
|
195
|
+
type: 'state_transition',
|
|
196
|
+
title: `Task Completed: "${t.title}"`,
|
|
197
|
+
detail: `Task ID: ${t.id}`,
|
|
198
|
+
timestamp: t.completedAt,
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
const approvals = this.approvals?.listPendingApprovals() ?? [];
|
|
203
|
+
for (const a of approvals) {
|
|
204
|
+
items.push({
|
|
205
|
+
id: `act-appr-${a.approvalId}`,
|
|
206
|
+
type: 'approval_requested',
|
|
207
|
+
title: `Approval Required: ${a.toolId}`,
|
|
208
|
+
detail: `Risk Level: ${a.riskLevel.toUpperCase()} | Task: ${a.taskId}`,
|
|
209
|
+
timestamp: a.createdAt,
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
items.sort((a, b) => new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime());
|
|
213
|
+
return items.slice(0, 50);
|
|
214
|
+
}
|
|
215
|
+
close() {
|
|
216
|
+
if (this.closed) {
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
this.closed = true;
|
|
220
|
+
void this.preview?.stop();
|
|
221
|
+
this.storage.close();
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { ConversationService } from './conversationService.js';
|
|
2
|
+
import type { MessageService } from './messageService.js';
|
|
3
|
+
import type { ModelGateway } from '../intelligence/modelGateway.js';
|
|
4
|
+
import type { RagEngine } from '../knowledge/ragEngine.js';
|
|
5
|
+
import type { Message } from '../storage/repositories/types.js';
|
|
6
|
+
import { type ContextPackage } from './contextBuilder.js';
|
|
7
|
+
import { type RetrievalResultPackage } from '../knowledge/citationService.js';
|
|
8
|
+
import { LogLevel } from '../common/logger.js';
|
|
9
|
+
export interface SendMessageOptions {
|
|
10
|
+
conversationId: string;
|
|
11
|
+
userPrompt: string;
|
|
12
|
+
modelId?: string;
|
|
13
|
+
customSystemPrompt?: string;
|
|
14
|
+
maxContextTokens?: number;
|
|
15
|
+
temperature?: number;
|
|
16
|
+
timeoutMs?: number;
|
|
17
|
+
enableRag?: boolean;
|
|
18
|
+
collectionId?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface ChatStreamEvent {
|
|
21
|
+
type: 'delta' | 'completion' | 'error' | 'cancellation';
|
|
22
|
+
conversationId: string;
|
|
23
|
+
delta?: string;
|
|
24
|
+
fullText?: string;
|
|
25
|
+
messageId?: string;
|
|
26
|
+
error?: string;
|
|
27
|
+
contextInfo?: {
|
|
28
|
+
estimatedTokens: number;
|
|
29
|
+
truncatedCount: number;
|
|
30
|
+
ragGrounding?: string;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export declare class ChatService {
|
|
34
|
+
private conversationService;
|
|
35
|
+
private messageService;
|
|
36
|
+
private modelGateway;
|
|
37
|
+
private ragEngine?;
|
|
38
|
+
private logger;
|
|
39
|
+
private contextBuilder;
|
|
40
|
+
private citationService;
|
|
41
|
+
constructor(conversationService: ConversationService, messageService: MessageService, modelGateway: ModelGateway, ragEngine?: RagEngine | undefined, logLevel?: LogLevel);
|
|
42
|
+
sendMessage(options: SendMessageOptions, onEvent?: (event: ChatStreamEvent) => void, externalSignal?: AbortSignal): Promise<{
|
|
43
|
+
userMessage: Message;
|
|
44
|
+
assistantMessage: Message;
|
|
45
|
+
context: ContextPackage;
|
|
46
|
+
ragResult?: RetrievalResultPackage;
|
|
47
|
+
}>;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=chatService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chatService.d.ts","sourceRoot":"","sources":["../../src/chat/chatService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1E,OAAO,EAAmB,KAAK,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC/F,OAAO,EAAU,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,GAAG,YAAY,GAAG,OAAO,GAAG,cAAc,CAAC;IACxD,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE;QACZ,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,qBAAa,WAAW;IAMpB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,SAAS,CAAC;IARpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,eAAe,CAAyB;gBAGtC,mBAAmB,EAAE,mBAAmB,EACxC,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,EAC1B,SAAS,CAAC,EAAE,SAAS,YAAA,EAC7B,QAAQ,GAAE,QAAiB;IAKvB,WAAW,CACf,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,EAC1C,cAAc,CAAC,EAAE,WAAW,GAC3B,OAAO,CAAC;QAAE,WAAW,EAAE,OAAO,CAAC;QAAC,gBAAgB,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,cAAc,CAAC;QAAC,SAAS,CAAC,EAAE,sBAAsB,CAAA;KAAE,CAAC;CAsK7H"}
|