agentic-qe 2.5.10 → 2.6.1
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/.claude/agents/qe-code-intelligence.md +359 -0
- package/CHANGELOG.md +146 -0
- package/README.md +3 -2
- package/dist/agents/BaseAgent.d.ts +48 -0
- package/dist/agents/BaseAgent.d.ts.map +1 -1
- package/dist/agents/BaseAgent.js +126 -0
- package/dist/agents/BaseAgent.js.map +1 -1
- package/dist/agents/CodeIntelligenceAgent.d.ts +133 -0
- package/dist/agents/CodeIntelligenceAgent.d.ts.map +1 -0
- package/dist/agents/CodeIntelligenceAgent.js +473 -0
- package/dist/agents/CodeIntelligenceAgent.js.map +1 -0
- package/dist/agents/context/ContextCache.d.ts +105 -0
- package/dist/agents/context/ContextCache.d.ts.map +1 -0
- package/dist/agents/context/ContextCache.js +235 -0
- package/dist/agents/context/ContextCache.js.map +1 -0
- package/dist/agents/context/ContextFormatter.d.ts +92 -0
- package/dist/agents/context/ContextFormatter.d.ts.map +1 -0
- package/dist/agents/context/ContextFormatter.js +338 -0
- package/dist/agents/context/ContextFormatter.js.map +1 -0
- package/dist/agents/context/GraphExpander.d.ts +87 -0
- package/dist/agents/context/GraphExpander.d.ts.map +1 -0
- package/dist/agents/context/GraphExpander.js +215 -0
- package/dist/agents/context/GraphExpander.js.map +1 -0
- package/dist/agents/context/KnowledgeGraphContextBuilder.d.ts +160 -0
- package/dist/agents/context/KnowledgeGraphContextBuilder.d.ts.map +1 -0
- package/dist/agents/context/KnowledgeGraphContextBuilder.js +300 -0
- package/dist/agents/context/KnowledgeGraphContextBuilder.js.map +1 -0
- package/dist/agents/context/index.d.ts +15 -0
- package/dist/agents/context/index.d.ts.map +1 -0
- package/dist/agents/context/index.js +18 -0
- package/dist/agents/context/index.js.map +1 -0
- package/dist/agents/index.d.ts +1 -0
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +67 -3
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/pool/AgentPool.d.ts +112 -0
- package/dist/agents/pool/AgentPool.d.ts.map +1 -0
- package/dist/agents/pool/AgentPool.js +573 -0
- package/dist/agents/pool/AgentPool.js.map +1 -0
- package/dist/agents/pool/QEAgentPoolFactory.d.ts +118 -0
- package/dist/agents/pool/QEAgentPoolFactory.d.ts.map +1 -0
- package/dist/agents/pool/QEAgentPoolFactory.js +251 -0
- package/dist/agents/pool/QEAgentPoolFactory.js.map +1 -0
- package/dist/agents/pool/index.d.ts +34 -0
- package/dist/agents/pool/index.d.ts.map +1 -0
- package/dist/agents/pool/index.js +44 -0
- package/dist/agents/pool/index.js.map +1 -0
- package/dist/agents/pool/types.d.ts +227 -0
- package/dist/agents/pool/types.d.ts.map +1 -0
- package/dist/agents/pool/types.js +28 -0
- package/dist/agents/pool/types.js.map +1 -0
- package/dist/cli/commands/knowledge-graph.d.ts +112 -0
- package/dist/cli/commands/knowledge-graph.d.ts.map +1 -0
- package/dist/cli/commands/knowledge-graph.js +466 -0
- package/dist/cli/commands/knowledge-graph.js.map +1 -0
- package/dist/cli/formatters/KGOutputFormatter.d.ts +50 -0
- package/dist/cli/formatters/KGOutputFormatter.d.ts.map +1 -0
- package/dist/cli/formatters/KGOutputFormatter.js +237 -0
- package/dist/cli/formatters/KGOutputFormatter.js.map +1 -0
- package/dist/cli/index-working.js +138 -0
- package/dist/cli/index-working.js.map +1 -1
- package/dist/cli/init/claude-config.d.ts +13 -1
- package/dist/cli/init/claude-config.d.ts.map +1 -1
- package/dist/cli/init/claude-config.js +70 -8
- package/dist/cli/init/claude-config.js.map +1 -1
- package/dist/cli/init/code-intelligence-init.d.ts +52 -0
- package/dist/cli/init/code-intelligence-init.d.ts.map +1 -0
- package/dist/cli/init/code-intelligence-init.js +250 -0
- package/dist/cli/init/code-intelligence-init.js.map +1 -0
- package/dist/cli/init/index.d.ts +2 -2
- package/dist/cli/init/index.d.ts.map +1 -1
- package/dist/cli/init/index.js +10 -1
- package/dist/cli/init/index.js.map +1 -1
- package/dist/code-intelligence/chunking/ASTChunker.d.ts +64 -0
- package/dist/code-intelligence/chunking/ASTChunker.d.ts.map +1 -0
- package/dist/code-intelligence/chunking/ASTChunker.js +344 -0
- package/dist/code-intelligence/chunking/ASTChunker.js.map +1 -0
- package/dist/code-intelligence/chunking/ChunkSplitter.d.ts +48 -0
- package/dist/code-intelligence/chunking/ChunkSplitter.d.ts.map +1 -0
- package/dist/code-intelligence/chunking/ChunkSplitter.js +278 -0
- package/dist/code-intelligence/chunking/ChunkSplitter.js.map +1 -0
- package/dist/code-intelligence/chunking/index.d.ts +8 -0
- package/dist/code-intelligence/chunking/index.d.ts.map +1 -0
- package/dist/code-intelligence/chunking/index.js +13 -0
- package/dist/code-intelligence/chunking/index.js.map +1 -0
- package/dist/code-intelligence/chunking/types.d.ts +52 -0
- package/dist/code-intelligence/chunking/types.d.ts.map +1 -0
- package/dist/code-intelligence/chunking/types.js +6 -0
- package/dist/code-intelligence/chunking/types.js.map +1 -0
- package/dist/code-intelligence/config/database-schema.d.ts +245 -0
- package/dist/code-intelligence/config/database-schema.d.ts.map +1 -0
- package/dist/code-intelligence/config/database-schema.js +110 -0
- package/dist/code-intelligence/config/database-schema.js.map +1 -0
- package/dist/code-intelligence/config/environment.d.ts +53 -0
- package/dist/code-intelligence/config/environment.d.ts.map +1 -0
- package/dist/code-intelligence/config/environment.js +86 -0
- package/dist/code-intelligence/config/environment.js.map +1 -0
- package/dist/code-intelligence/config/index.d.ts +10 -0
- package/dist/code-intelligence/config/index.d.ts.map +1 -0
- package/dist/code-intelligence/config/index.js +36 -0
- package/dist/code-intelligence/config/index.js.map +1 -0
- package/dist/code-intelligence/embeddings/EmbeddingCache.d.ts +81 -0
- package/dist/code-intelligence/embeddings/EmbeddingCache.d.ts.map +1 -0
- package/dist/code-intelligence/embeddings/EmbeddingCache.js +168 -0
- package/dist/code-intelligence/embeddings/EmbeddingCache.js.map +1 -0
- package/dist/code-intelligence/embeddings/NomicEmbedder.d.ts +82 -0
- package/dist/code-intelligence/embeddings/NomicEmbedder.d.ts.map +1 -0
- package/dist/code-intelligence/embeddings/NomicEmbedder.js +233 -0
- package/dist/code-intelligence/embeddings/NomicEmbedder.js.map +1 -0
- package/dist/code-intelligence/embeddings/OllamaClient.d.ts +42 -0
- package/dist/code-intelligence/embeddings/OllamaClient.d.ts.map +1 -0
- package/dist/code-intelligence/embeddings/OllamaClient.js +142 -0
- package/dist/code-intelligence/embeddings/OllamaClient.js.map +1 -0
- package/dist/code-intelligence/embeddings/index.d.ts +33 -0
- package/dist/code-intelligence/embeddings/index.d.ts.map +1 -0
- package/dist/code-intelligence/embeddings/index.js +39 -0
- package/dist/code-intelligence/embeddings/index.js.map +1 -0
- package/dist/code-intelligence/embeddings/types.d.ts +84 -0
- package/dist/code-intelligence/embeddings/types.d.ts.map +1 -0
- package/dist/code-intelligence/embeddings/types.js +19 -0
- package/dist/code-intelligence/embeddings/types.js.map +1 -0
- package/dist/code-intelligence/graph/GraphBuilder.d.ts +126 -0
- package/dist/code-intelligence/graph/GraphBuilder.d.ts.map +1 -0
- package/dist/code-intelligence/graph/GraphBuilder.js +416 -0
- package/dist/code-intelligence/graph/GraphBuilder.js.map +1 -0
- package/dist/code-intelligence/graph/ImportParser.d.ts +72 -0
- package/dist/code-intelligence/graph/ImportParser.d.ts.map +1 -0
- package/dist/code-intelligence/graph/ImportParser.js +422 -0
- package/dist/code-intelligence/graph/ImportParser.js.map +1 -0
- package/dist/code-intelligence/graph/RelationshipExtractor.d.ts +74 -0
- package/dist/code-intelligence/graph/RelationshipExtractor.d.ts.map +1 -0
- package/dist/code-intelligence/graph/RelationshipExtractor.js +310 -0
- package/dist/code-intelligence/graph/RelationshipExtractor.js.map +1 -0
- package/dist/code-intelligence/graph/TestMapper.d.ts +99 -0
- package/dist/code-intelligence/graph/TestMapper.d.ts.map +1 -0
- package/dist/code-intelligence/graph/TestMapper.js +335 -0
- package/dist/code-intelligence/graph/TestMapper.js.map +1 -0
- package/dist/code-intelligence/graph/index.d.ts +14 -0
- package/dist/code-intelligence/graph/index.d.ts.map +1 -0
- package/dist/code-intelligence/graph/index.js +19 -0
- package/dist/code-intelligence/graph/index.js.map +1 -0
- package/dist/code-intelligence/graph/types.d.ts +141 -0
- package/dist/code-intelligence/graph/types.d.ts.map +1 -0
- package/dist/code-intelligence/graph/types.js +18 -0
- package/dist/code-intelligence/graph/types.js.map +1 -0
- package/dist/code-intelligence/indexing/FileWatcher.d.ts +90 -0
- package/dist/code-intelligence/indexing/FileWatcher.d.ts.map +1 -0
- package/dist/code-intelligence/indexing/FileWatcher.js +304 -0
- package/dist/code-intelligence/indexing/FileWatcher.js.map +1 -0
- package/dist/code-intelligence/indexing/GitChangeDetector.d.ts +76 -0
- package/dist/code-intelligence/indexing/GitChangeDetector.d.ts.map +1 -0
- package/dist/code-intelligence/indexing/GitChangeDetector.js +347 -0
- package/dist/code-intelligence/indexing/GitChangeDetector.js.map +1 -0
- package/dist/code-intelligence/indexing/IncrementalIndexer.d.ts +108 -0
- package/dist/code-intelligence/indexing/IncrementalIndexer.d.ts.map +1 -0
- package/dist/code-intelligence/indexing/IncrementalIndexer.js +269 -0
- package/dist/code-intelligence/indexing/IncrementalIndexer.js.map +1 -0
- package/dist/code-intelligence/indexing/index.d.ts +11 -0
- package/dist/code-intelligence/indexing/index.d.ts.map +1 -0
- package/dist/code-intelligence/indexing/index.js +18 -0
- package/dist/code-intelligence/indexing/index.js.map +1 -0
- package/dist/code-intelligence/indexing/types.d.ts +133 -0
- package/dist/code-intelligence/indexing/types.d.ts.map +1 -0
- package/dist/code-intelligence/indexing/types.js +27 -0
- package/dist/code-intelligence/indexing/types.js.map +1 -0
- package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.d.ts +150 -0
- package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.d.ts.map +1 -0
- package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.js +806 -0
- package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.js.map +1 -0
- package/dist/code-intelligence/orchestrator/index.d.ts +8 -0
- package/dist/code-intelligence/orchestrator/index.d.ts.map +1 -0
- package/dist/code-intelligence/orchestrator/index.js +24 -0
- package/dist/code-intelligence/orchestrator/index.js.map +1 -0
- package/dist/code-intelligence/orchestrator/types.d.ts +164 -0
- package/dist/code-intelligence/orchestrator/types.d.ts.map +1 -0
- package/dist/code-intelligence/orchestrator/types.js +18 -0
- package/dist/code-intelligence/orchestrator/types.js.map +1 -0
- package/dist/code-intelligence/parser/LanguageRegistry.d.ts +13 -0
- package/dist/code-intelligence/parser/LanguageRegistry.d.ts.map +1 -0
- package/dist/code-intelligence/parser/LanguageRegistry.js +150 -0
- package/dist/code-intelligence/parser/LanguageRegistry.js.map +1 -0
- package/dist/code-intelligence/parser/TreeSitterParser.d.ts +98 -0
- package/dist/code-intelligence/parser/TreeSitterParser.d.ts.map +1 -0
- package/dist/code-intelligence/parser/TreeSitterParser.js +530 -0
- package/dist/code-intelligence/parser/TreeSitterParser.js.map +1 -0
- package/dist/code-intelligence/parser/extractors/BaseExtractor.d.ts +36 -0
- package/dist/code-intelligence/parser/extractors/BaseExtractor.d.ts.map +1 -0
- package/dist/code-intelligence/parser/extractors/BaseExtractor.js +31 -0
- package/dist/code-intelligence/parser/extractors/BaseExtractor.js.map +1 -0
- package/dist/code-intelligence/parser/extractors/GoExtractor.d.ts +21 -0
- package/dist/code-intelligence/parser/extractors/GoExtractor.d.ts.map +1 -0
- package/dist/code-intelligence/parser/extractors/GoExtractor.js +249 -0
- package/dist/code-intelligence/parser/extractors/GoExtractor.js.map +1 -0
- package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.d.ts +21 -0
- package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.d.ts.map +1 -0
- package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.js +217 -0
- package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.js.map +1 -0
- package/dist/code-intelligence/parser/extractors/PythonExtractor.d.ts +20 -0
- package/dist/code-intelligence/parser/extractors/PythonExtractor.d.ts.map +1 -0
- package/dist/code-intelligence/parser/extractors/PythonExtractor.js +237 -0
- package/dist/code-intelligence/parser/extractors/PythonExtractor.js.map +1 -0
- package/dist/code-intelligence/parser/extractors/RustExtractor.d.ts +21 -0
- package/dist/code-intelligence/parser/extractors/RustExtractor.d.ts.map +1 -0
- package/dist/code-intelligence/parser/extractors/RustExtractor.js +234 -0
- package/dist/code-intelligence/parser/extractors/RustExtractor.js.map +1 -0
- package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.d.ts +23 -0
- package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.d.ts.map +1 -0
- package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.js +247 -0
- package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.js.map +1 -0
- package/dist/code-intelligence/parser/extractors/index.d.ts +7 -0
- package/dist/code-intelligence/parser/extractors/index.d.ts.map +1 -0
- package/dist/code-intelligence/parser/extractors/index.js +16 -0
- package/dist/code-intelligence/parser/extractors/index.js.map +1 -0
- package/dist/code-intelligence/parser/index.d.ts +8 -0
- package/dist/code-intelligence/parser/index.d.ts.map +1 -0
- package/dist/code-intelligence/parser/index.js +12 -0
- package/dist/code-intelligence/parser/index.js.map +1 -0
- package/dist/code-intelligence/parser/types.d.ts +60 -0
- package/dist/code-intelligence/parser/types.d.ts.map +1 -0
- package/dist/code-intelligence/parser/types.js +6 -0
- package/dist/code-intelligence/parser/types.js.map +1 -0
- package/dist/code-intelligence/rag/ContextBuilder.d.ts +82 -0
- package/dist/code-intelligence/rag/ContextBuilder.d.ts.map +1 -0
- package/dist/code-intelligence/rag/ContextBuilder.js +242 -0
- package/dist/code-intelligence/rag/ContextBuilder.js.map +1 -0
- package/dist/code-intelligence/rag/GraphExpander.d.ts +95 -0
- package/dist/code-intelligence/rag/GraphExpander.d.ts.map +1 -0
- package/dist/code-intelligence/rag/GraphExpander.js +250 -0
- package/dist/code-intelligence/rag/GraphExpander.js.map +1 -0
- package/dist/code-intelligence/rag/index.d.ts +9 -0
- package/dist/code-intelligence/rag/index.d.ts.map +1 -0
- package/dist/code-intelligence/rag/index.js +25 -0
- package/dist/code-intelligence/rag/index.js.map +1 -0
- package/dist/code-intelligence/rag/types.d.ts +121 -0
- package/dist/code-intelligence/rag/types.d.ts.map +1 -0
- package/dist/code-intelligence/rag/types.js +50 -0
- package/dist/code-intelligence/rag/types.js.map +1 -0
- package/dist/code-intelligence/retrieval/SemanticRetriever.d.ts +62 -0
- package/dist/code-intelligence/retrieval/SemanticRetriever.d.ts.map +1 -0
- package/dist/code-intelligence/retrieval/SemanticRetriever.js +174 -0
- package/dist/code-intelligence/retrieval/SemanticRetriever.js.map +1 -0
- package/dist/code-intelligence/retrieval/index.d.ts +9 -0
- package/dist/code-intelligence/retrieval/index.d.ts.map +1 -0
- package/dist/code-intelligence/retrieval/index.js +16 -0
- package/dist/code-intelligence/retrieval/index.js.map +1 -0
- package/dist/code-intelligence/retrieval/types.d.ts +118 -0
- package/dist/code-intelligence/retrieval/types.d.ts.map +1 -0
- package/dist/code-intelligence/retrieval/types.js +46 -0
- package/dist/code-intelligence/retrieval/types.js.map +1 -0
- package/dist/code-intelligence/router/CodeIntelligenceHybridRouter.d.ts +167 -0
- package/dist/code-intelligence/router/CodeIntelligenceHybridRouter.d.ts.map +1 -0
- package/dist/code-intelligence/router/CodeIntelligenceHybridRouter.js +365 -0
- package/dist/code-intelligence/router/CodeIntelligenceHybridRouter.js.map +1 -0
- package/dist/code-intelligence/router/index.d.ts +7 -0
- package/dist/code-intelligence/router/index.d.ts.map +1 -0
- package/dist/code-intelligence/router/index.js +14 -0
- package/dist/code-intelligence/router/index.js.map +1 -0
- package/dist/code-intelligence/search/BM25Search.d.ts +74 -0
- package/dist/code-intelligence/search/BM25Search.d.ts.map +1 -0
- package/dist/code-intelligence/search/BM25Search.js +233 -0
- package/dist/code-intelligence/search/BM25Search.js.map +1 -0
- package/dist/code-intelligence/search/HybridSearchEngine.d.ts +94 -0
- package/dist/code-intelligence/search/HybridSearchEngine.d.ts.map +1 -0
- package/dist/code-intelligence/search/HybridSearchEngine.js +168 -0
- package/dist/code-intelligence/search/HybridSearchEngine.js.map +1 -0
- package/dist/code-intelligence/search/RRFFusion.d.ts +46 -0
- package/dist/code-intelligence/search/RRFFusion.d.ts.map +1 -0
- package/dist/code-intelligence/search/RRFFusion.js +223 -0
- package/dist/code-intelligence/search/RRFFusion.js.map +1 -0
- package/dist/code-intelligence/search/VectorSearch.d.ts +157 -0
- package/dist/code-intelligence/search/VectorSearch.d.ts.map +1 -0
- package/dist/code-intelligence/search/VectorSearch.js +301 -0
- package/dist/code-intelligence/search/VectorSearch.js.map +1 -0
- package/dist/code-intelligence/search/index.d.ts +14 -0
- package/dist/code-intelligence/search/index.d.ts.map +1 -0
- package/dist/code-intelligence/search/index.js +23 -0
- package/dist/code-intelligence/search/index.js.map +1 -0
- package/dist/code-intelligence/search/types.d.ts +201 -0
- package/dist/code-intelligence/search/types.d.ts.map +1 -0
- package/dist/code-intelligence/search/types.js +35 -0
- package/dist/code-intelligence/search/types.js.map +1 -0
- package/dist/code-intelligence/service/CodeIntelligenceService.d.ts +171 -0
- package/dist/code-intelligence/service/CodeIntelligenceService.d.ts.map +1 -0
- package/dist/code-intelligence/service/CodeIntelligenceService.js +325 -0
- package/dist/code-intelligence/service/CodeIntelligenceService.js.map +1 -0
- package/dist/code-intelligence/service/index.d.ts +7 -0
- package/dist/code-intelligence/service/index.d.ts.map +1 -0
- package/dist/code-intelligence/service/index.js +14 -0
- package/dist/code-intelligence/service/index.js.map +1 -0
- package/dist/code-intelligence/storage/CodeChunkStore.d.ts +213 -0
- package/dist/code-intelligence/storage/CodeChunkStore.d.ts.map +1 -0
- package/dist/code-intelligence/storage/CodeChunkStore.js +542 -0
- package/dist/code-intelligence/storage/CodeChunkStore.js.map +1 -0
- package/dist/code-intelligence/storage/index.d.ts +7 -0
- package/dist/code-intelligence/storage/index.d.ts.map +1 -0
- package/dist/code-intelligence/storage/index.js +13 -0
- package/dist/code-intelligence/storage/index.js.map +1 -0
- package/dist/code-intelligence/visualization/ClassDiagramBuilder.d.ts +51 -0
- package/dist/code-intelligence/visualization/ClassDiagramBuilder.d.ts.map +1 -0
- package/dist/code-intelligence/visualization/ClassDiagramBuilder.js +180 -0
- package/dist/code-intelligence/visualization/ClassDiagramBuilder.js.map +1 -0
- package/dist/code-intelligence/visualization/DependencyGraphBuilder.d.ts +66 -0
- package/dist/code-intelligence/visualization/DependencyGraphBuilder.d.ts.map +1 -0
- package/dist/code-intelligence/visualization/DependencyGraphBuilder.js +203 -0
- package/dist/code-intelligence/visualization/DependencyGraphBuilder.js.map +1 -0
- package/dist/code-intelligence/visualization/MermaidGenerator.d.ts +76 -0
- package/dist/code-intelligence/visualization/MermaidGenerator.d.ts.map +1 -0
- package/dist/code-intelligence/visualization/MermaidGenerator.js +368 -0
- package/dist/code-intelligence/visualization/MermaidGenerator.js.map +1 -0
- package/dist/code-intelligence/visualization/index.d.ts +9 -0
- package/dist/code-intelligence/visualization/index.d.ts.map +1 -0
- package/dist/code-intelligence/visualization/index.js +15 -0
- package/dist/code-intelligence/visualization/index.js.map +1 -0
- package/dist/core/FleetManager.d.ts +27 -0
- package/dist/core/FleetManager.d.ts.map +1 -1
- package/dist/core/FleetManager.js +84 -0
- package/dist/core/FleetManager.js.map +1 -1
- package/dist/core/memory/HNSWVectorMemory.js +1 -1
- package/dist/core/memory/HNSWVectorMemory.js.map +1 -1
- package/dist/mcp/handlers/agent-spawn.d.ts +71 -5
- package/dist/mcp/handlers/agent-spawn.d.ts.map +1 -1
- package/dist/mcp/handlers/agent-spawn.js +336 -110
- package/dist/mcp/handlers/agent-spawn.js.map +1 -1
- package/dist/mcp/handlers/fleet-init.d.ts +24 -0
- package/dist/mcp/handlers/fleet-init.d.ts.map +1 -1
- package/dist/mcp/handlers/fleet-init.js +56 -4
- package/dist/mcp/handlers/fleet-init.js.map +1 -1
- package/dist/mcp/server-instructions.d.ts +1 -1
- package/dist/mcp/server-instructions.d.ts.map +1 -1
- package/dist/mcp/server-instructions.js +1 -1
- package/dist/mcp/server-instructions.js.map +1 -1
- package/dist/memory/HNSWPatternStore.d.ts.map +1 -1
- package/dist/memory/HNSWPatternStore.js.map +1 -1
- package/dist/plugins/BasePlugin.d.ts +111 -0
- package/dist/plugins/BasePlugin.d.ts.map +1 -0
- package/dist/plugins/BasePlugin.js +154 -0
- package/dist/plugins/BasePlugin.js.map +1 -0
- package/dist/plugins/PluginManager.d.ts +145 -0
- package/dist/plugins/PluginManager.d.ts.map +1 -0
- package/dist/plugins/PluginManager.js +862 -0
- package/dist/plugins/PluginManager.js.map +1 -0
- package/dist/plugins/adapters/McpToolsPlugin.d.ts +98 -0
- package/dist/plugins/adapters/McpToolsPlugin.d.ts.map +1 -0
- package/dist/plugins/adapters/McpToolsPlugin.js +518 -0
- package/dist/plugins/adapters/McpToolsPlugin.js.map +1 -0
- package/dist/plugins/adapters/PlaywrightPlugin.d.ts +63 -0
- package/dist/plugins/adapters/PlaywrightPlugin.d.ts.map +1 -0
- package/dist/plugins/adapters/PlaywrightPlugin.js +451 -0
- package/dist/plugins/adapters/PlaywrightPlugin.js.map +1 -0
- package/dist/plugins/adapters/VitestPlugin.d.ts +74 -0
- package/dist/plugins/adapters/VitestPlugin.d.ts.map +1 -0
- package/dist/plugins/adapters/VitestPlugin.js +589 -0
- package/dist/plugins/adapters/VitestPlugin.js.map +1 -0
- package/dist/plugins/adapters/index.d.ts +8 -0
- package/dist/plugins/adapters/index.d.ts.map +1 -0
- package/dist/plugins/adapters/index.js +17 -0
- package/dist/plugins/adapters/index.js.map +1 -0
- package/dist/plugins/index.d.ts +32 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +48 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/types.d.ts +528 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/plugins/types.js +61 -0
- package/dist/plugins/types.js.map +1 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/docs/reference/agents.md +44 -1
- package/package.json +15 -1
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code Intelligence Hybrid Router
|
|
3
|
+
*
|
|
4
|
+
* Extends HybridRouter with code-specific routing optimizations:
|
|
5
|
+
* - Code-aware embedding generation with nomic-embed-text
|
|
6
|
+
* - Automatic storage of code chunks and relationships
|
|
7
|
+
* - Integration with CodeChunkStore for persistent vector storage
|
|
8
|
+
*
|
|
9
|
+
* @module code-intelligence/router/CodeIntelligenceHybridRouter
|
|
10
|
+
*/
|
|
11
|
+
import { HybridRouter, HybridRouterConfig } from '../../providers/HybridRouter.js';
|
|
12
|
+
import { CodeChunkStore, CodeChunkStoreConfig } from '../storage/CodeChunkStore.js';
|
|
13
|
+
import type { CodeChunk } from '../chunking/types.js';
|
|
14
|
+
import type { CodeEntity } from '../parser/types.js';
|
|
15
|
+
import type { EdgeType } from '../graph/types.js';
|
|
16
|
+
/**
|
|
17
|
+
* Configuration for code intelligence routing
|
|
18
|
+
*/
|
|
19
|
+
export interface CodeIntelligenceRouterConfig extends HybridRouterConfig {
|
|
20
|
+
/** Database configuration for CodeChunkStore */
|
|
21
|
+
database?: CodeChunkStoreConfig;
|
|
22
|
+
/** Whether to auto-store chunks in database (default: true) */
|
|
23
|
+
autoStoreChunks?: boolean;
|
|
24
|
+
/** Whether to store entity relationships (default: true) */
|
|
25
|
+
storeRelationships?: boolean;
|
|
26
|
+
/** Embedding dimension (default: 768 for nomic-embed-text) */
|
|
27
|
+
embeddingDimension?: number;
|
|
28
|
+
/** Batch size for bulk embedding operations */
|
|
29
|
+
embeddingBatchSize?: number;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Code chunk with embedding
|
|
33
|
+
*/
|
|
34
|
+
export interface EmbeddedChunk {
|
|
35
|
+
chunk: CodeChunk;
|
|
36
|
+
embedding: number[];
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Default configuration
|
|
40
|
+
*/
|
|
41
|
+
export declare const DEFAULT_CODE_ROUTER_CONFIG: Partial<CodeIntelligenceRouterConfig>;
|
|
42
|
+
/**
|
|
43
|
+
* CodeIntelligenceHybridRouter - Specialized router for code intelligence
|
|
44
|
+
*
|
|
45
|
+
* Extends HybridRouter with:
|
|
46
|
+
* - CodeChunkStore integration for persistent vector storage
|
|
47
|
+
* - Code-specific embedding generation
|
|
48
|
+
* - Automatic storage of code chunks and relationships
|
|
49
|
+
*/
|
|
50
|
+
export declare class CodeIntelligenceHybridRouter extends HybridRouter {
|
|
51
|
+
private codeConfig;
|
|
52
|
+
private chunkStore;
|
|
53
|
+
private embeddingDimension;
|
|
54
|
+
private isCodeRouterInitialized;
|
|
55
|
+
constructor(config?: CodeIntelligenceRouterConfig);
|
|
56
|
+
/**
|
|
57
|
+
* Initialize the router and code chunk store
|
|
58
|
+
*/
|
|
59
|
+
initialize(): Promise<void>;
|
|
60
|
+
/**
|
|
61
|
+
* Generate embedding for a code chunk
|
|
62
|
+
*/
|
|
63
|
+
embedChunk(chunk: CodeChunk): Promise<EmbeddedChunk>;
|
|
64
|
+
/**
|
|
65
|
+
* Generate embeddings for multiple chunks in batch
|
|
66
|
+
*/
|
|
67
|
+
embedChunks(chunks: CodeChunk[]): Promise<EmbeddedChunk[]>;
|
|
68
|
+
/**
|
|
69
|
+
* Store a chunk with its embedding
|
|
70
|
+
*/
|
|
71
|
+
storeChunk(chunk: CodeChunk, embedding: number[]): Promise<void>;
|
|
72
|
+
/**
|
|
73
|
+
* Embed and store a chunk in one operation
|
|
74
|
+
*/
|
|
75
|
+
embedAndStoreChunk(chunk: CodeChunk): Promise<EmbeddedChunk>;
|
|
76
|
+
/**
|
|
77
|
+
* Embed and store multiple chunks
|
|
78
|
+
*/
|
|
79
|
+
embedAndStoreChunks(chunks: CodeChunk[]): Promise<EmbeddedChunk[]>;
|
|
80
|
+
/**
|
|
81
|
+
* Store a code entity
|
|
82
|
+
*/
|
|
83
|
+
storeEntity(entity: CodeEntity, filePath: string): Promise<void>;
|
|
84
|
+
/**
|
|
85
|
+
* Store a relationship between entities
|
|
86
|
+
*/
|
|
87
|
+
storeRelationship(sourceId: string, targetId: string, type: EdgeType, metadata?: Record<string, unknown>): Promise<void>;
|
|
88
|
+
/**
|
|
89
|
+
* Search for similar code chunks
|
|
90
|
+
*/
|
|
91
|
+
searchCode(query: string, options?: {
|
|
92
|
+
topK?: number;
|
|
93
|
+
language?: string;
|
|
94
|
+
entityType?: string;
|
|
95
|
+
filePattern?: string;
|
|
96
|
+
}): Promise<Array<{
|
|
97
|
+
id: string;
|
|
98
|
+
filePath: string;
|
|
99
|
+
content: string;
|
|
100
|
+
startLine: number;
|
|
101
|
+
endLine: number;
|
|
102
|
+
score: number;
|
|
103
|
+
entityType?: string;
|
|
104
|
+
entityName?: string;
|
|
105
|
+
}>>;
|
|
106
|
+
/**
|
|
107
|
+
* Hybrid search combining vector and keyword search
|
|
108
|
+
*/
|
|
109
|
+
hybridSearchCode(query: string, options?: {
|
|
110
|
+
topK?: number;
|
|
111
|
+
vectorWeight?: number;
|
|
112
|
+
keywordWeight?: number;
|
|
113
|
+
}): Promise<Array<{
|
|
114
|
+
id: string;
|
|
115
|
+
filePath: string;
|
|
116
|
+
content: string;
|
|
117
|
+
startLine: number;
|
|
118
|
+
endLine: number;
|
|
119
|
+
score: number;
|
|
120
|
+
vectorScore?: number;
|
|
121
|
+
keywordScore?: number;
|
|
122
|
+
}>>;
|
|
123
|
+
/**
|
|
124
|
+
* Get the underlying CodeChunkStore
|
|
125
|
+
*/
|
|
126
|
+
getChunkStore(): CodeChunkStore | null;
|
|
127
|
+
/**
|
|
128
|
+
* Check if router is using database storage
|
|
129
|
+
*/
|
|
130
|
+
isUsingDatabase(): boolean;
|
|
131
|
+
/**
|
|
132
|
+
* Get router statistics
|
|
133
|
+
*/
|
|
134
|
+
getCodeRouterStats(): Promise<{
|
|
135
|
+
embeddingDimension: number;
|
|
136
|
+
chunkCount: number;
|
|
137
|
+
entityCount: number;
|
|
138
|
+
relationshipCount: number;
|
|
139
|
+
databaseHealthy: boolean;
|
|
140
|
+
routerHealthy: boolean;
|
|
141
|
+
}>;
|
|
142
|
+
/**
|
|
143
|
+
* Remove chunks for a file
|
|
144
|
+
*/
|
|
145
|
+
removeFile(filePath: string): Promise<number>;
|
|
146
|
+
/**
|
|
147
|
+
* Clear all stored data
|
|
148
|
+
*/
|
|
149
|
+
clearStorage(): Promise<void>;
|
|
150
|
+
/**
|
|
151
|
+
* Shutdown router and close connections
|
|
152
|
+
*/
|
|
153
|
+
shutdown(): Promise<void>;
|
|
154
|
+
/**
|
|
155
|
+
* Format a code chunk for embedding
|
|
156
|
+
*/
|
|
157
|
+
private formatChunkForEmbedding;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Factory function to create router with Docker defaults
|
|
161
|
+
*/
|
|
162
|
+
export declare function createDockerCodeIntelligenceRouter(config?: Partial<CodeIntelligenceRouterConfig>): CodeIntelligenceHybridRouter;
|
|
163
|
+
/**
|
|
164
|
+
* Factory function to create router from environment
|
|
165
|
+
*/
|
|
166
|
+
export declare function createCodeIntelligenceRouterFromEnv(): CodeIntelligenceHybridRouter;
|
|
167
|
+
//# sourceMappingURL=CodeIntelligenceHybridRouter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodeIntelligenceHybridRouter.d.ts","sourceRoot":"","sources":["../../../src/code-intelligence/router/CodeIntelligenceHybridRouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Code Intelligence Hybrid Router
|
|
4
|
+
*
|
|
5
|
+
* Extends HybridRouter with code-specific routing optimizations:
|
|
6
|
+
* - Code-aware embedding generation with nomic-embed-text
|
|
7
|
+
* - Automatic storage of code chunks and relationships
|
|
8
|
+
* - Integration with CodeChunkStore for persistent vector storage
|
|
9
|
+
*
|
|
10
|
+
* @module code-intelligence/router/CodeIntelligenceHybridRouter
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.CodeIntelligenceHybridRouter = exports.DEFAULT_CODE_ROUTER_CONFIG = void 0;
|
|
14
|
+
exports.createDockerCodeIntelligenceRouter = createDockerCodeIntelligenceRouter;
|
|
15
|
+
exports.createCodeIntelligenceRouterFromEnv = createCodeIntelligenceRouterFromEnv;
|
|
16
|
+
const HybridRouter_js_1 = require("../../providers/HybridRouter.js");
|
|
17
|
+
const CodeChunkStore_js_1 = require("../storage/CodeChunkStore.js");
|
|
18
|
+
/**
|
|
19
|
+
* Default configuration
|
|
20
|
+
*/
|
|
21
|
+
exports.DEFAULT_CODE_ROUTER_CONFIG = {
|
|
22
|
+
autoStoreChunks: true,
|
|
23
|
+
storeRelationships: true,
|
|
24
|
+
embeddingDimension: 768,
|
|
25
|
+
embeddingBatchSize: 32,
|
|
26
|
+
defaultStrategy: HybridRouter_js_1.RoutingStrategy.BALANCED,
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* CodeIntelligenceHybridRouter - Specialized router for code intelligence
|
|
30
|
+
*
|
|
31
|
+
* Extends HybridRouter with:
|
|
32
|
+
* - CodeChunkStore integration for persistent vector storage
|
|
33
|
+
* - Code-specific embedding generation
|
|
34
|
+
* - Automatic storage of code chunks and relationships
|
|
35
|
+
*/
|
|
36
|
+
class CodeIntelligenceHybridRouter extends HybridRouter_js_1.HybridRouter {
|
|
37
|
+
constructor(config = {}) {
|
|
38
|
+
// Merge with defaults
|
|
39
|
+
const mergedConfig = { ...exports.DEFAULT_CODE_ROUTER_CONFIG, ...config };
|
|
40
|
+
super(mergedConfig);
|
|
41
|
+
this.chunkStore = null;
|
|
42
|
+
this.isCodeRouterInitialized = false;
|
|
43
|
+
this.codeConfig = mergedConfig;
|
|
44
|
+
this.embeddingDimension = mergedConfig.embeddingDimension ?? 768;
|
|
45
|
+
// Initialize CodeChunkStore if database configured
|
|
46
|
+
if (config.database) {
|
|
47
|
+
this.chunkStore = new CodeChunkStore_js_1.CodeChunkStore({
|
|
48
|
+
...config.database,
|
|
49
|
+
embeddingDimension: this.embeddingDimension,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Initialize the router and code chunk store
|
|
55
|
+
*/
|
|
56
|
+
async initialize() {
|
|
57
|
+
// Initialize parent HybridRouter
|
|
58
|
+
await super.initialize();
|
|
59
|
+
// Initialize CodeChunkStore
|
|
60
|
+
if (this.chunkStore) {
|
|
61
|
+
await this.chunkStore.initialize();
|
|
62
|
+
}
|
|
63
|
+
this.isCodeRouterInitialized = true;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Generate embedding for a code chunk
|
|
67
|
+
*/
|
|
68
|
+
async embedChunk(chunk) {
|
|
69
|
+
// Format chunk for embedding
|
|
70
|
+
const text = this.formatChunkForEmbedding(chunk);
|
|
71
|
+
// Generate embedding using parent's embed method
|
|
72
|
+
const response = await this.embed({
|
|
73
|
+
text,
|
|
74
|
+
model: 'nomic-embed-text',
|
|
75
|
+
});
|
|
76
|
+
return {
|
|
77
|
+
chunk,
|
|
78
|
+
embedding: response.embedding,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Generate embeddings for multiple chunks in batch
|
|
83
|
+
*/
|
|
84
|
+
async embedChunks(chunks) {
|
|
85
|
+
const batchSize = this.codeConfig.embeddingBatchSize ?? 32;
|
|
86
|
+
const results = [];
|
|
87
|
+
// Process in batches
|
|
88
|
+
for (let i = 0; i < chunks.length; i += batchSize) {
|
|
89
|
+
const batch = chunks.slice(i, i + batchSize);
|
|
90
|
+
// Generate embeddings in parallel within batch
|
|
91
|
+
const batchResults = await Promise.all(batch.map((chunk) => this.embedChunk(chunk)));
|
|
92
|
+
results.push(...batchResults);
|
|
93
|
+
}
|
|
94
|
+
return results;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Store a chunk with its embedding
|
|
98
|
+
*/
|
|
99
|
+
async storeChunk(chunk, embedding) {
|
|
100
|
+
if (!this.chunkStore) {
|
|
101
|
+
throw new Error('CodeChunkStore not configured. Provide database config.');
|
|
102
|
+
}
|
|
103
|
+
await this.chunkStore.storeChunk({
|
|
104
|
+
id: chunk.id,
|
|
105
|
+
filePath: chunk.filePath,
|
|
106
|
+
content: chunk.content,
|
|
107
|
+
embedding,
|
|
108
|
+
chunkType: chunk.entityType,
|
|
109
|
+
name: chunk.parentEntity, // Use parentEntity as name
|
|
110
|
+
startLine: chunk.lineStart,
|
|
111
|
+
endLine: chunk.lineEnd,
|
|
112
|
+
language: chunk.language,
|
|
113
|
+
metadata: chunk.metadata,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Embed and store a chunk in one operation
|
|
118
|
+
*/
|
|
119
|
+
async embedAndStoreChunk(chunk) {
|
|
120
|
+
const embedded = await this.embedChunk(chunk);
|
|
121
|
+
if (this.chunkStore && this.codeConfig.autoStoreChunks) {
|
|
122
|
+
await this.storeChunk(chunk, embedded.embedding);
|
|
123
|
+
}
|
|
124
|
+
return embedded;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Embed and store multiple chunks
|
|
128
|
+
*/
|
|
129
|
+
async embedAndStoreChunks(chunks) {
|
|
130
|
+
const embedded = await this.embedChunks(chunks);
|
|
131
|
+
if (this.chunkStore && this.codeConfig.autoStoreChunks) {
|
|
132
|
+
// Store all chunks in batch
|
|
133
|
+
await this.chunkStore.storeChunks(embedded.map((e) => ({
|
|
134
|
+
id: e.chunk.id,
|
|
135
|
+
filePath: e.chunk.filePath,
|
|
136
|
+
content: e.chunk.content,
|
|
137
|
+
embedding: e.embedding,
|
|
138
|
+
chunkType: e.chunk.entityType,
|
|
139
|
+
name: e.chunk.parentEntity,
|
|
140
|
+
startLine: e.chunk.lineStart,
|
|
141
|
+
endLine: e.chunk.lineEnd,
|
|
142
|
+
language: e.chunk.language,
|
|
143
|
+
metadata: e.chunk.metadata,
|
|
144
|
+
})));
|
|
145
|
+
}
|
|
146
|
+
return embedded;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Store a code entity
|
|
150
|
+
*/
|
|
151
|
+
async storeEntity(entity, filePath) {
|
|
152
|
+
if (!this.chunkStore) {
|
|
153
|
+
throw new Error('CodeChunkStore not configured');
|
|
154
|
+
}
|
|
155
|
+
await this.chunkStore.storeEntity({
|
|
156
|
+
id: `${filePath}:${entity.name}`,
|
|
157
|
+
name: entity.name,
|
|
158
|
+
entityType: entity.type,
|
|
159
|
+
filePath,
|
|
160
|
+
startLine: entity.lineStart,
|
|
161
|
+
endLine: entity.lineEnd,
|
|
162
|
+
signature: entity.signature,
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Store a relationship between entities
|
|
167
|
+
*/
|
|
168
|
+
async storeRelationship(sourceId, targetId, type, metadata) {
|
|
169
|
+
if (!this.chunkStore || !this.codeConfig.storeRelationships) {
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
await this.chunkStore.storeRelationship({
|
|
173
|
+
sourceId,
|
|
174
|
+
targetId,
|
|
175
|
+
relationshipType: type,
|
|
176
|
+
metadata,
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Search for similar code chunks
|
|
181
|
+
*/
|
|
182
|
+
async searchCode(query, options = {}) {
|
|
183
|
+
if (!this.chunkStore) {
|
|
184
|
+
throw new Error('CodeChunkStore not configured');
|
|
185
|
+
}
|
|
186
|
+
// Generate query embedding
|
|
187
|
+
const response = await this.embed({
|
|
188
|
+
text: query,
|
|
189
|
+
model: 'nomic-embed-text',
|
|
190
|
+
});
|
|
191
|
+
// Search in CodeChunkStore
|
|
192
|
+
const results = await this.chunkStore.search(response.embedding, {
|
|
193
|
+
topK: options.topK ?? 10,
|
|
194
|
+
language: options.language,
|
|
195
|
+
entityType: options.entityType,
|
|
196
|
+
filePattern: options.filePattern,
|
|
197
|
+
});
|
|
198
|
+
return results.map((r) => ({
|
|
199
|
+
id: r.id,
|
|
200
|
+
filePath: r.filePath,
|
|
201
|
+
content: r.content,
|
|
202
|
+
startLine: r.startLine,
|
|
203
|
+
endLine: r.endLine,
|
|
204
|
+
score: r.score,
|
|
205
|
+
entityType: r.chunkType,
|
|
206
|
+
entityName: r.name,
|
|
207
|
+
}));
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Hybrid search combining vector and keyword search
|
|
211
|
+
*/
|
|
212
|
+
async hybridSearchCode(query, options = {}) {
|
|
213
|
+
if (!this.chunkStore) {
|
|
214
|
+
throw new Error('CodeChunkStore not configured');
|
|
215
|
+
}
|
|
216
|
+
// Generate query embedding
|
|
217
|
+
const response = await this.embed({
|
|
218
|
+
text: query,
|
|
219
|
+
model: 'nomic-embed-text',
|
|
220
|
+
});
|
|
221
|
+
// Perform hybrid search with correct signature
|
|
222
|
+
const semanticWeight = options.vectorWeight ?? 0.7;
|
|
223
|
+
const results = await this.chunkStore.hybridSearch(response.embedding, query, {
|
|
224
|
+
topK: options.topK ?? 10,
|
|
225
|
+
semanticWeight,
|
|
226
|
+
});
|
|
227
|
+
return results.map((r) => ({
|
|
228
|
+
id: r.id,
|
|
229
|
+
filePath: r.filePath,
|
|
230
|
+
content: r.content,
|
|
231
|
+
startLine: r.startLine,
|
|
232
|
+
endLine: r.endLine,
|
|
233
|
+
score: r.score,
|
|
234
|
+
vectorScore: r.metadata?.semanticScore,
|
|
235
|
+
keywordScore: r.metadata?.keywordScore,
|
|
236
|
+
}));
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Get the underlying CodeChunkStore
|
|
240
|
+
*/
|
|
241
|
+
getChunkStore() {
|
|
242
|
+
return this.chunkStore;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Check if router is using database storage
|
|
246
|
+
*/
|
|
247
|
+
isUsingDatabase() {
|
|
248
|
+
return this.chunkStore !== null;
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Get router statistics
|
|
252
|
+
*/
|
|
253
|
+
async getCodeRouterStats() {
|
|
254
|
+
const routerHealth = await this.healthCheck();
|
|
255
|
+
if (this.chunkStore) {
|
|
256
|
+
const dbHealth = await this.chunkStore.healthCheck();
|
|
257
|
+
const stats = await this.chunkStore.getStats();
|
|
258
|
+
return {
|
|
259
|
+
embeddingDimension: this.embeddingDimension,
|
|
260
|
+
chunkCount: stats.chunkCount,
|
|
261
|
+
entityCount: stats.entityCount,
|
|
262
|
+
relationshipCount: stats.relationshipCount,
|
|
263
|
+
databaseHealthy: dbHealth.healthy,
|
|
264
|
+
routerHealthy: routerHealth.healthy,
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
return {
|
|
268
|
+
embeddingDimension: this.embeddingDimension,
|
|
269
|
+
chunkCount: 0,
|
|
270
|
+
entityCount: 0,
|
|
271
|
+
relationshipCount: 0,
|
|
272
|
+
databaseHealthy: false,
|
|
273
|
+
routerHealthy: routerHealth.healthy,
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Remove chunks for a file
|
|
278
|
+
*/
|
|
279
|
+
async removeFile(filePath) {
|
|
280
|
+
if (!this.chunkStore) {
|
|
281
|
+
return 0;
|
|
282
|
+
}
|
|
283
|
+
return this.chunkStore.deleteByFilePath(filePath);
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Clear all stored data
|
|
287
|
+
*/
|
|
288
|
+
async clearStorage() {
|
|
289
|
+
if (this.chunkStore) {
|
|
290
|
+
await this.chunkStore.clear();
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Shutdown router and close connections
|
|
295
|
+
*/
|
|
296
|
+
async shutdown() {
|
|
297
|
+
// Shutdown parent
|
|
298
|
+
await super.shutdown();
|
|
299
|
+
// Close CodeChunkStore connection
|
|
300
|
+
if (this.chunkStore) {
|
|
301
|
+
await this.chunkStore.close();
|
|
302
|
+
this.chunkStore = null;
|
|
303
|
+
}
|
|
304
|
+
this.isCodeRouterInitialized = false;
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* Format a code chunk for embedding
|
|
308
|
+
*/
|
|
309
|
+
formatChunkForEmbedding(chunk) {
|
|
310
|
+
const parts = [];
|
|
311
|
+
// Add metadata context for better semantic understanding
|
|
312
|
+
if (chunk.language) {
|
|
313
|
+
parts.push(`Language: ${chunk.language}`);
|
|
314
|
+
}
|
|
315
|
+
if (chunk.entityType) {
|
|
316
|
+
parts.push(`Type: ${chunk.entityType}`);
|
|
317
|
+
}
|
|
318
|
+
if (chunk.parentEntity) {
|
|
319
|
+
parts.push(`Name: ${chunk.parentEntity}`);
|
|
320
|
+
}
|
|
321
|
+
parts.push('');
|
|
322
|
+
parts.push(chunk.content);
|
|
323
|
+
return parts.join('\n');
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
exports.CodeIntelligenceHybridRouter = CodeIntelligenceHybridRouter;
|
|
327
|
+
/**
|
|
328
|
+
* Factory function to create router with Docker defaults
|
|
329
|
+
*/
|
|
330
|
+
function createDockerCodeIntelligenceRouter(config) {
|
|
331
|
+
return new CodeIntelligenceHybridRouter({
|
|
332
|
+
database: {
|
|
333
|
+
host: process.env.RUVECTOR_HOST ?? 'localhost',
|
|
334
|
+
port: parseInt(process.env.RUVECTOR_PORT ?? '5432'),
|
|
335
|
+
database: process.env.RUVECTOR_DATABASE ?? 'ruvector',
|
|
336
|
+
user: process.env.RUVECTOR_USER ?? 'ruvector',
|
|
337
|
+
password: process.env.RUVECTOR_PASSWORD ?? 'ruvector',
|
|
338
|
+
embeddingDimension: 768,
|
|
339
|
+
},
|
|
340
|
+
ruvllm: {
|
|
341
|
+
port: parseInt(process.env.RUVLLM_PORT ?? '11434'),
|
|
342
|
+
},
|
|
343
|
+
ruvector: {
|
|
344
|
+
enabled: true,
|
|
345
|
+
baseUrl: process.env.RUVECTOR_URL ?? 'http://localhost:8080',
|
|
346
|
+
},
|
|
347
|
+
...config,
|
|
348
|
+
});
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* Factory function to create router from environment
|
|
352
|
+
*/
|
|
353
|
+
function createCodeIntelligenceRouterFromEnv() {
|
|
354
|
+
const connectionString = process.env.RUVECTOR_CONNECTION_STRING;
|
|
355
|
+
if (connectionString) {
|
|
356
|
+
return new CodeIntelligenceHybridRouter({
|
|
357
|
+
database: {
|
|
358
|
+
connectionString,
|
|
359
|
+
embeddingDimension: parseInt(process.env.EMBEDDING_DIMENSION ?? '768'),
|
|
360
|
+
},
|
|
361
|
+
});
|
|
362
|
+
}
|
|
363
|
+
return createDockerCodeIntelligenceRouter();
|
|
364
|
+
}
|
|
365
|
+
//# sourceMappingURL=CodeIntelligenceHybridRouter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodeIntelligenceHybridRouter.js","sourceRoot":"","sources":["../../../src/code-intelligence/router/CodeIntelligenceHybridRouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code Intelligence Router Module
|
|
3
|
+
*
|
|
4
|
+
* Exports the CodeIntelligenceHybridRouter for code-specific LLM routing.
|
|
5
|
+
*/
|
|
6
|
+
export { CodeIntelligenceHybridRouter, CodeIntelligenceRouterConfig, EmbeddedChunk, DEFAULT_CODE_ROUTER_CONFIG, createDockerCodeIntelligenceRouter, createCodeIntelligenceRouterFromEnv, } from './CodeIntelligenceHybridRouter.js';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/code-intelligence/router/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC5B,aAAa,EACb,0BAA0B,EAC1B,kCAAkC,EAClC,mCAAmC,GACpC,MAAM,mCAAmC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Code Intelligence Router Module
|
|
4
|
+
*
|
|
5
|
+
* Exports the CodeIntelligenceHybridRouter for code-specific LLM routing.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.createCodeIntelligenceRouterFromEnv = exports.createDockerCodeIntelligenceRouter = exports.DEFAULT_CODE_ROUTER_CONFIG = exports.CodeIntelligenceHybridRouter = void 0;
|
|
9
|
+
var CodeIntelligenceHybridRouter_js_1 = require("./CodeIntelligenceHybridRouter.js");
|
|
10
|
+
Object.defineProperty(exports, "CodeIntelligenceHybridRouter", { enumerable: true, get: function () { return CodeIntelligenceHybridRouter_js_1.CodeIntelligenceHybridRouter; } });
|
|
11
|
+
Object.defineProperty(exports, "DEFAULT_CODE_ROUTER_CONFIG", { enumerable: true, get: function () { return CodeIntelligenceHybridRouter_js_1.DEFAULT_CODE_ROUTER_CONFIG; } });
|
|
12
|
+
Object.defineProperty(exports, "createDockerCodeIntelligenceRouter", { enumerable: true, get: function () { return CodeIntelligenceHybridRouter_js_1.createDockerCodeIntelligenceRouter; } });
|
|
13
|
+
Object.defineProperty(exports, "createCodeIntelligenceRouterFromEnv", { enumerable: true, get: function () { return CodeIntelligenceHybridRouter_js_1.createCodeIntelligenceRouterFromEnv; } });
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/code-intelligence/router/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,qFAO2C;AANzC,+IAAA,4BAA4B,OAAA;AAG5B,6IAAA,0BAA0B,OAAA;AAC1B,qJAAA,kCAAkC,OAAA;AAClC,sJAAA,mCAAmC,OAAA"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BM25 Search Engine
|
|
3
|
+
*
|
|
4
|
+
* Implements Best Matching 25 algorithm for keyword-based
|
|
5
|
+
* code search with:
|
|
6
|
+
* - Term frequency saturation
|
|
7
|
+
* - Document length normalization
|
|
8
|
+
* - Inverse document frequency weighting
|
|
9
|
+
*/
|
|
10
|
+
import { BM25Config, BM25Document, SearchResult } from './types.js';
|
|
11
|
+
export declare class BM25Search {
|
|
12
|
+
private config;
|
|
13
|
+
private index;
|
|
14
|
+
constructor(config?: Partial<BM25Config>);
|
|
15
|
+
/**
|
|
16
|
+
* Add a document to the index.
|
|
17
|
+
*/
|
|
18
|
+
addDocument(doc: Omit<BM25Document, 'terms'>): void;
|
|
19
|
+
/**
|
|
20
|
+
* Add multiple documents.
|
|
21
|
+
*/
|
|
22
|
+
addDocuments(docs: Array<Omit<BM25Document, 'terms'>>): void;
|
|
23
|
+
/**
|
|
24
|
+
* Remove a document from the index.
|
|
25
|
+
*/
|
|
26
|
+
removeDocument(docId: string): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Search for documents matching a query.
|
|
29
|
+
*/
|
|
30
|
+
search(query: string, topK?: number): SearchResult[];
|
|
31
|
+
/**
|
|
32
|
+
* Get term matches in content for highlighting.
|
|
33
|
+
*/
|
|
34
|
+
getHighlights(content: string, queryTerms: string[]): string[];
|
|
35
|
+
/**
|
|
36
|
+
* Get index statistics.
|
|
37
|
+
*/
|
|
38
|
+
getStats(): {
|
|
39
|
+
docCount: number;
|
|
40
|
+
avgDocLength: number;
|
|
41
|
+
uniqueTerms: number;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Clear the index.
|
|
45
|
+
*/
|
|
46
|
+
clear(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Get configuration.
|
|
49
|
+
*/
|
|
50
|
+
getConfig(): BM25Config;
|
|
51
|
+
/**
|
|
52
|
+
* Calculate Inverse Document Frequency.
|
|
53
|
+
* IDF = ln((N - df + 0.5) / (df + 0.5))
|
|
54
|
+
*/
|
|
55
|
+
private calculateIDF;
|
|
56
|
+
/**
|
|
57
|
+
* Calculate normalized term frequency.
|
|
58
|
+
* TF = (tf * (k1 + 1)) / (tf + k1 * (1 - b + b * dl/avgdl))
|
|
59
|
+
*/
|
|
60
|
+
private calculateTF;
|
|
61
|
+
/**
|
|
62
|
+
* Tokenize text into terms.
|
|
63
|
+
*/
|
|
64
|
+
private tokenize;
|
|
65
|
+
/**
|
|
66
|
+
* Update average document length.
|
|
67
|
+
*/
|
|
68
|
+
private updateAvgDocLength;
|
|
69
|
+
/**
|
|
70
|
+
* Create empty index structure.
|
|
71
|
+
*/
|
|
72
|
+
private createEmptyIndex;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=BM25Search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BM25Search.d.ts","sourceRoot":"","sources":["../../../src/code-intelligence/search/BM25Search.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,UAAU,EAEV,YAAY,EACZ,YAAY,EAEb,MAAM,YAAY,CAAC;AAEpB,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,KAAK,CAAY;gBAEb,MAAM,GAAE,OAAO,CAAC,UAAU,CAAM;IAK5C;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,IAAI;IA6BnD;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI;IAM5D;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IA6BtC;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,MAAW,GAAG,YAAY,EAAE;IA6DxD;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAe9D;;OAEG;IACH,QAAQ,IAAI;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;KACrB;IAQD;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,SAAS,IAAI,UAAU;IAIvB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAKpB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAUnB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAYhB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAUzB"}
|