agentic-qe 2.5.9 → 2.6.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/.claude/agents/qe-code-intelligence.md +359 -0
- package/CHANGELOG.md +136 -0
- package/README.md +4 -3
- package/dist/agents/BaseAgent.d.ts +167 -0
- package/dist/agents/BaseAgent.d.ts.map +1 -1
- package/dist/agents/BaseAgent.js +414 -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/FlakyTestHunterAgent.d.ts +15 -0
- package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
- package/dist/agents/FlakyTestHunterAgent.js +93 -0
- package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
- package/dist/agents/SecurityScannerAgent.d.ts +19 -0
- package/dist/agents/SecurityScannerAgent.d.ts.map +1 -1
- package/dist/agents/SecurityScannerAgent.js +137 -0
- package/dist/agents/SecurityScannerAgent.js.map +1 -1
- 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/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/commands/ruvector/index.d.ts +13 -0
- package/dist/cli/commands/ruvector/index.d.ts.map +1 -0
- package/dist/cli/commands/ruvector/index.js +308 -0
- package/dist/cli/commands/ruvector/index.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/index.js +5 -0
- package/dist/cli/index.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 +21 -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/mcp/server-instructions.d.ts +1 -1
- package/dist/mcp/server-instructions.js +1 -1
- package/dist/memory/RuVectorPatternStore.d.ts +258 -0
- package/dist/memory/RuVectorPatternStore.d.ts.map +1 -0
- package/dist/memory/RuVectorPatternStore.js +525 -0
- package/dist/memory/RuVectorPatternStore.js.map +1 -0
- package/dist/providers/RuVectorPostgresAdapter.d.ts +134 -0
- package/dist/providers/RuVectorPostgresAdapter.d.ts.map +1 -0
- package/dist/providers/RuVectorPostgresAdapter.js +504 -0
- package/dist/providers/RuVectorPostgresAdapter.js.map +1 -0
- package/dist/providers/index.d.ts +2 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +7 -1
- package/dist/providers/index.js.map +1 -1
- 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 -2
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for RAG (Retrieval-Augmented Generation) Module
|
|
3
|
+
*
|
|
4
|
+
* Defines interfaces for context building, query processing,
|
|
5
|
+
* and response generation.
|
|
6
|
+
*/
|
|
7
|
+
export interface RAGConfig {
|
|
8
|
+
/**
|
|
9
|
+
* Maximum tokens in generated context.
|
|
10
|
+
*/
|
|
11
|
+
maxContextTokens: number;
|
|
12
|
+
/**
|
|
13
|
+
* Number of chunks to retrieve.
|
|
14
|
+
*/
|
|
15
|
+
topK: number;
|
|
16
|
+
/**
|
|
17
|
+
* Minimum relevance score for inclusion.
|
|
18
|
+
*/
|
|
19
|
+
minRelevanceScore: number;
|
|
20
|
+
/**
|
|
21
|
+
* Enable graph expansion for related code.
|
|
22
|
+
*/
|
|
23
|
+
enableGraphExpansion: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Depth of graph expansion.
|
|
26
|
+
*/
|
|
27
|
+
graphExpansionDepth: number;
|
|
28
|
+
/**
|
|
29
|
+
* Enable response caching.
|
|
30
|
+
*/
|
|
31
|
+
enableCaching: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Cache TTL in milliseconds.
|
|
34
|
+
*/
|
|
35
|
+
cacheTtlMs: number;
|
|
36
|
+
/**
|
|
37
|
+
* Summarization strategy.
|
|
38
|
+
*/
|
|
39
|
+
summarizationStrategy: 'tree' | 'map-reduce' | 'refine';
|
|
40
|
+
/**
|
|
41
|
+
* LLM model for summarization.
|
|
42
|
+
*/
|
|
43
|
+
summarizationModel?: string;
|
|
44
|
+
}
|
|
45
|
+
export interface RetrievedContext {
|
|
46
|
+
/** Unique ID */
|
|
47
|
+
id: string;
|
|
48
|
+
/** Source file path */
|
|
49
|
+
filePath: string;
|
|
50
|
+
/** Code content */
|
|
51
|
+
content: string;
|
|
52
|
+
/** Start line in file */
|
|
53
|
+
startLine: number;
|
|
54
|
+
/** End line in file */
|
|
55
|
+
endLine: number;
|
|
56
|
+
/** Relevance score */
|
|
57
|
+
score: number;
|
|
58
|
+
/** Entity type (function, class, etc.) */
|
|
59
|
+
entityType?: string;
|
|
60
|
+
/** Entity name */
|
|
61
|
+
entityName?: string;
|
|
62
|
+
/** Programming language */
|
|
63
|
+
language?: string;
|
|
64
|
+
/** Related contexts from graph expansion */
|
|
65
|
+
relatedContexts?: RetrievedContext[];
|
|
66
|
+
/** Relationship type for related contexts */
|
|
67
|
+
relationship?: string;
|
|
68
|
+
}
|
|
69
|
+
export interface QueryContext {
|
|
70
|
+
/** Original user query */
|
|
71
|
+
query: string;
|
|
72
|
+
/** Parsed intent (if applicable) */
|
|
73
|
+
intent?: 'explain' | 'find' | 'modify' | 'debug' | 'generate';
|
|
74
|
+
/** Extracted entities from query */
|
|
75
|
+
entities?: string[];
|
|
76
|
+
/** Filter by language */
|
|
77
|
+
language?: string;
|
|
78
|
+
/** Filter by file pattern */
|
|
79
|
+
filePattern?: string;
|
|
80
|
+
/** Additional metadata */
|
|
81
|
+
metadata?: Record<string, unknown>;
|
|
82
|
+
}
|
|
83
|
+
export interface GeneratedContext {
|
|
84
|
+
/** Formatted context string for LLM */
|
|
85
|
+
contextText: string;
|
|
86
|
+
/** Token count estimate */
|
|
87
|
+
tokenCount: number;
|
|
88
|
+
/** Retrieved chunks used */
|
|
89
|
+
sources: RetrievedContext[];
|
|
90
|
+
/** Whether context was truncated */
|
|
91
|
+
truncated: boolean;
|
|
92
|
+
/** Summary if generated */
|
|
93
|
+
summary?: string;
|
|
94
|
+
/** Cache hit */
|
|
95
|
+
cached: boolean;
|
|
96
|
+
}
|
|
97
|
+
export interface RAGResponse {
|
|
98
|
+
/** Generated context */
|
|
99
|
+
context: GeneratedContext;
|
|
100
|
+
/** Processing metadata */
|
|
101
|
+
metadata: {
|
|
102
|
+
query: string;
|
|
103
|
+
retrievalTimeMs: number;
|
|
104
|
+
graphExpansionTimeMs: number;
|
|
105
|
+
formattingTimeMs: number;
|
|
106
|
+
totalTimeMs: number;
|
|
107
|
+
chunksRetrieved: number;
|
|
108
|
+
chunksIncluded: number;
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
export interface ContextTemplate {
|
|
112
|
+
/** Template name */
|
|
113
|
+
name: string;
|
|
114
|
+
/** Template for formatting context */
|
|
115
|
+
format: string;
|
|
116
|
+
/** Variables available in template */
|
|
117
|
+
variables: string[];
|
|
118
|
+
}
|
|
119
|
+
export declare const DEFAULT_RAG_CONFIG: RAGConfig;
|
|
120
|
+
export declare const DEFAULT_CONTEXT_TEMPLATE: ContextTemplate;
|
|
121
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/code-intelligence/rag/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Types for RAG (Retrieval-Augmented Generation) Module
|
|
4
|
+
*
|
|
5
|
+
* Defines interfaces for context building, query processing,
|
|
6
|
+
* and response generation.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.DEFAULT_CONTEXT_TEMPLATE = exports.DEFAULT_RAG_CONFIG = void 0;
|
|
10
|
+
exports.DEFAULT_RAG_CONFIG = {
|
|
11
|
+
maxContextTokens: 4096,
|
|
12
|
+
topK: 10,
|
|
13
|
+
minRelevanceScore: 0.5,
|
|
14
|
+
enableGraphExpansion: true,
|
|
15
|
+
graphExpansionDepth: 2,
|
|
16
|
+
enableCaching: true,
|
|
17
|
+
cacheTtlMs: 5 * 60 * 1000, // 5 minutes
|
|
18
|
+
summarizationStrategy: 'tree',
|
|
19
|
+
};
|
|
20
|
+
exports.DEFAULT_CONTEXT_TEMPLATE = {
|
|
21
|
+
name: 'default',
|
|
22
|
+
format: `# Relevant Code Context
|
|
23
|
+
|
|
24
|
+
{{#each sources}}
|
|
25
|
+
## {{filePath}} (lines {{startLine}}-{{endLine}})
|
|
26
|
+
{{#if entityType}}Type: {{entityType}}{{/if}}
|
|
27
|
+
{{#if entityName}}Name: {{entityName}}{{/if}}
|
|
28
|
+
|
|
29
|
+
\`\`\`{{language}}
|
|
30
|
+
{{content}}
|
|
31
|
+
\`\`\`
|
|
32
|
+
|
|
33
|
+
{{#if relatedContexts}}
|
|
34
|
+
### Related Code:
|
|
35
|
+
{{#each relatedContexts}}
|
|
36
|
+
- **{{relationship}}**: {{filePath}} ({{entityName}})
|
|
37
|
+
{{/each}}
|
|
38
|
+
{{/if}}
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
{{/each}}
|
|
42
|
+
|
|
43
|
+
{{#if summary}}
|
|
44
|
+
## Summary
|
|
45
|
+
{{summary}}
|
|
46
|
+
{{/if}}
|
|
47
|
+
`,
|
|
48
|
+
variables: ['sources', 'summary', 'query'],
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/code-intelligence/rag/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAuJU,QAAA,kBAAkB,GAAc;IAC3C,gBAAgB,EAAE,IAAI;IACtB,IAAI,EAAE,EAAE;IACR,iBAAiB,EAAE,GAAG;IACtB,oBAAoB,EAAE,IAAI;IAC1B,mBAAmB,EAAE,CAAC;IACtB,aAAa,EAAE,IAAI;IACnB,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;IACvC,qBAAqB,EAAE,MAAM;CAC9B,CAAC;AAEW,QAAA,wBAAwB,GAAoB;IACvD,IAAI,EAAE,SAAS;IACf,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;CAyBT;IACC,SAAS,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;CAC3C,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Semantic Code Retriever
|
|
3
|
+
*
|
|
4
|
+
* Performs similarity-based code search using embeddings.
|
|
5
|
+
* Optimized for AST-chunked code with configurable top-k retrieval.
|
|
6
|
+
*
|
|
7
|
+
* Key Features:
|
|
8
|
+
* - Top-k retrieval (default: 5 chunks)
|
|
9
|
+
* - Similarity threshold filtering
|
|
10
|
+
* - Per-file deduplication
|
|
11
|
+
* - Context expansion
|
|
12
|
+
*/
|
|
13
|
+
import { NomicEmbedder } from '../embeddings/NomicEmbedder.js';
|
|
14
|
+
import { RetrievalConfig, RetrievalResponse, StoredChunk } from './types.js';
|
|
15
|
+
export declare class SemanticRetriever {
|
|
16
|
+
private embedder;
|
|
17
|
+
private config;
|
|
18
|
+
private chunks;
|
|
19
|
+
constructor(embedder: NomicEmbedder, config?: Partial<RetrievalConfig>);
|
|
20
|
+
/**
|
|
21
|
+
* Add chunks to the search index.
|
|
22
|
+
*/
|
|
23
|
+
addChunks(chunks: StoredChunk[]): void;
|
|
24
|
+
/**
|
|
25
|
+
* Clear all indexed chunks.
|
|
26
|
+
*/
|
|
27
|
+
clearIndex(): void;
|
|
28
|
+
/**
|
|
29
|
+
* Get current index size.
|
|
30
|
+
*/
|
|
31
|
+
getIndexSize(): number;
|
|
32
|
+
/**
|
|
33
|
+
* Retrieve relevant code chunks for a query.
|
|
34
|
+
*
|
|
35
|
+
* @param query - Natural language or code query
|
|
36
|
+
* @param configOverride - Optional config override for this query
|
|
37
|
+
* @returns Retrieval response with ranked results
|
|
38
|
+
*/
|
|
39
|
+
retrieve(query: string, configOverride?: Partial<RetrievalConfig>): Promise<RetrievalResponse>;
|
|
40
|
+
/**
|
|
41
|
+
* Retrieve and merge results into a single context string.
|
|
42
|
+
* Useful for providing context to LLMs.
|
|
43
|
+
*/
|
|
44
|
+
retrieveAsContext(query: string, configOverride?: Partial<RetrievalConfig>): Promise<string>;
|
|
45
|
+
/**
|
|
46
|
+
* Get configuration.
|
|
47
|
+
*/
|
|
48
|
+
getConfig(): RetrievalConfig;
|
|
49
|
+
/**
|
|
50
|
+
* Update configuration.
|
|
51
|
+
*/
|
|
52
|
+
updateConfig(config: Partial<RetrievalConfig>): void;
|
|
53
|
+
/**
|
|
54
|
+
* Calculate cosine similarity between two vectors.
|
|
55
|
+
*/
|
|
56
|
+
private cosineSimilarity;
|
|
57
|
+
/**
|
|
58
|
+
* Apply filtering, deduplication, and limits.
|
|
59
|
+
*/
|
|
60
|
+
private applyFilters;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=SemanticRetriever.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SemanticRetriever.d.ts","sourceRoot":"","sources":["../../../src/code-intelligence/retrieval/SemanticRetriever.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EACL,eAAe,EAEf,iBAAiB,EAEjB,WAAW,EAEZ,MAAM,YAAY,CAAC;AAEpB,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,MAAM,CAAuC;gBAGnD,QAAQ,EAAE,aAAa,EACvB,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM;IAMvC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI;IAMtC;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;;;;;OAMG;IACG,QAAQ,CACZ,KAAK,EAAE,MAAM,EACb,cAAc,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GACxC,OAAO,CAAC,iBAAiB,CAAC;IA2D7B;;;OAGG;IACG,iBAAiB,CACrB,KAAK,EAAE,MAAM,EACb,cAAc,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GACxC,OAAO,CAAC,MAAM,CAAC;IAgBlB;;OAEG;IACH,SAAS,IAAI,eAAe;IAI5B;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IAIpD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAuBxB;;OAEG;IACH,OAAO,CAAC,YAAY;CA6BrB"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Semantic Code Retriever
|
|
4
|
+
*
|
|
5
|
+
* Performs similarity-based code search using embeddings.
|
|
6
|
+
* Optimized for AST-chunked code with configurable top-k retrieval.
|
|
7
|
+
*
|
|
8
|
+
* Key Features:
|
|
9
|
+
* - Top-k retrieval (default: 5 chunks)
|
|
10
|
+
* - Similarity threshold filtering
|
|
11
|
+
* - Per-file deduplication
|
|
12
|
+
* - Context expansion
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.SemanticRetriever = void 0;
|
|
16
|
+
const types_js_1 = require("./types.js");
|
|
17
|
+
class SemanticRetriever {
|
|
18
|
+
constructor(embedder, config = {}) {
|
|
19
|
+
this.chunks = new Map();
|
|
20
|
+
this.embedder = embedder;
|
|
21
|
+
this.config = { ...types_js_1.DEFAULT_RETRIEVAL_CONFIG, ...config };
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Add chunks to the search index.
|
|
25
|
+
*/
|
|
26
|
+
addChunks(chunks) {
|
|
27
|
+
for (const chunk of chunks) {
|
|
28
|
+
this.chunks.set(chunk.id, chunk);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Clear all indexed chunks.
|
|
33
|
+
*/
|
|
34
|
+
clearIndex() {
|
|
35
|
+
this.chunks.clear();
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Get current index size.
|
|
39
|
+
*/
|
|
40
|
+
getIndexSize() {
|
|
41
|
+
return this.chunks.size;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Retrieve relevant code chunks for a query.
|
|
45
|
+
*
|
|
46
|
+
* @param query - Natural language or code query
|
|
47
|
+
* @param configOverride - Optional config override for this query
|
|
48
|
+
* @returns Retrieval response with ranked results
|
|
49
|
+
*/
|
|
50
|
+
async retrieve(query, configOverride) {
|
|
51
|
+
const startTime = Date.now();
|
|
52
|
+
const config = { ...this.config, ...configOverride };
|
|
53
|
+
// Generate query embedding
|
|
54
|
+
const queryEmbedding = await this.embedder.embed(query);
|
|
55
|
+
// Calculate similarities for all chunks
|
|
56
|
+
const similarities = [];
|
|
57
|
+
for (const chunk of this.chunks.values()) {
|
|
58
|
+
const similarity = this.cosineSimilarity(queryEmbedding, chunk.embedding);
|
|
59
|
+
if (similarity >= config.minSimilarity) {
|
|
60
|
+
similarities.push({ chunk, similarity });
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
// Sort by similarity (descending)
|
|
64
|
+
similarities.sort((a, b) => b.similarity - a.similarity);
|
|
65
|
+
// Apply deduplication and limits
|
|
66
|
+
const results = this.applyFilters(similarities, config);
|
|
67
|
+
// Convert to results format
|
|
68
|
+
const retrievalResults = results.map(({ chunk, similarity }) => ({
|
|
69
|
+
chunkId: chunk.id,
|
|
70
|
+
filePath: chunk.filePath,
|
|
71
|
+
content: chunk.content,
|
|
72
|
+
startLine: chunk.startLine,
|
|
73
|
+
endLine: chunk.endLine,
|
|
74
|
+
similarity,
|
|
75
|
+
entityType: chunk.entityType,
|
|
76
|
+
entityName: chunk.entityName,
|
|
77
|
+
language: chunk.language,
|
|
78
|
+
metadata: chunk.metadata,
|
|
79
|
+
}));
|
|
80
|
+
// Calculate statistics
|
|
81
|
+
const uniqueFiles = new Set(retrievalResults.map(r => r.filePath)).size;
|
|
82
|
+
const avgSimilarity = retrievalResults.length > 0
|
|
83
|
+
? retrievalResults.reduce((sum, r) => sum + r.similarity, 0) / retrievalResults.length
|
|
84
|
+
: 0;
|
|
85
|
+
const stats = {
|
|
86
|
+
totalChunksSearched: this.chunks.size,
|
|
87
|
+
chunksAboveThreshold: similarities.length,
|
|
88
|
+
chunksReturned: retrievalResults.length,
|
|
89
|
+
uniqueFiles,
|
|
90
|
+
avgSimilarity,
|
|
91
|
+
};
|
|
92
|
+
return {
|
|
93
|
+
results: retrievalResults,
|
|
94
|
+
query,
|
|
95
|
+
retrievalTimeMs: Date.now() - startTime,
|
|
96
|
+
stats,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Retrieve and merge results into a single context string.
|
|
101
|
+
* Useful for providing context to LLMs.
|
|
102
|
+
*/
|
|
103
|
+
async retrieveAsContext(query, configOverride) {
|
|
104
|
+
const response = await this.retrieve(query, configOverride);
|
|
105
|
+
if (response.results.length === 0) {
|
|
106
|
+
return '';
|
|
107
|
+
}
|
|
108
|
+
// Format results as context
|
|
109
|
+
const contextParts = response.results.map((result, index) => {
|
|
110
|
+
const header = `// [${index + 1}] ${result.filePath}:${result.startLine}-${result.endLine} (${result.entityType}${result.entityName ? `: ${result.entityName}` : ''})`;
|
|
111
|
+
return `${header}\n${result.content}`;
|
|
112
|
+
});
|
|
113
|
+
return contextParts.join('\n\n');
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Get configuration.
|
|
117
|
+
*/
|
|
118
|
+
getConfig() {
|
|
119
|
+
return { ...this.config };
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Update configuration.
|
|
123
|
+
*/
|
|
124
|
+
updateConfig(config) {
|
|
125
|
+
this.config = { ...this.config, ...config };
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Calculate cosine similarity between two vectors.
|
|
129
|
+
*/
|
|
130
|
+
cosineSimilarity(a, b) {
|
|
131
|
+
if (a.length !== b.length) {
|
|
132
|
+
throw new Error(`Vector length mismatch: ${a.length} vs ${b.length}`);
|
|
133
|
+
}
|
|
134
|
+
let dotProduct = 0;
|
|
135
|
+
let normA = 0;
|
|
136
|
+
let normB = 0;
|
|
137
|
+
for (let i = 0; i < a.length; i++) {
|
|
138
|
+
dotProduct += a[i] * b[i];
|
|
139
|
+
normA += a[i] * a[i];
|
|
140
|
+
normB += b[i] * b[i];
|
|
141
|
+
}
|
|
142
|
+
const denominator = Math.sqrt(normA) * Math.sqrt(normB);
|
|
143
|
+
if (denominator === 0) {
|
|
144
|
+
return 0;
|
|
145
|
+
}
|
|
146
|
+
return dotProduct / denominator;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Apply filtering, deduplication, and limits.
|
|
150
|
+
*/
|
|
151
|
+
applyFilters(similarities, config) {
|
|
152
|
+
if (!config.deduplicateByFile) {
|
|
153
|
+
// Simple case: just take top-k
|
|
154
|
+
return similarities.slice(0, config.topK);
|
|
155
|
+
}
|
|
156
|
+
// Track chunks per file
|
|
157
|
+
const fileChunkCounts = new Map();
|
|
158
|
+
const results = [];
|
|
159
|
+
for (const item of similarities) {
|
|
160
|
+
if (results.length >= config.topK) {
|
|
161
|
+
break;
|
|
162
|
+
}
|
|
163
|
+
const filePath = item.chunk.filePath;
|
|
164
|
+
const currentCount = fileChunkCounts.get(filePath) || 0;
|
|
165
|
+
if (currentCount < config.maxChunksPerFile) {
|
|
166
|
+
results.push(item);
|
|
167
|
+
fileChunkCounts.set(filePath, currentCount + 1);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
return results;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
exports.SemanticRetriever = SemanticRetriever;
|
|
174
|
+
//# sourceMappingURL=SemanticRetriever.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SemanticRetriever.js","sourceRoot":"","sources":["../../../src/code-intelligence/retrieval/SemanticRetriever.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code Intelligence Retrieval Module
|
|
3
|
+
*
|
|
4
|
+
* Semantic search for code using embeddings.
|
|
5
|
+
* Optimized for AST-chunked code with multi-chunk retrieval.
|
|
6
|
+
*/
|
|
7
|
+
export { SemanticRetriever } from './SemanticRetriever.js';
|
|
8
|
+
export { RetrievalConfig, RetrievalResult, RetrievalResponse, RetrievalStats, StoredChunk, DEFAULT_RETRIEVAL_CONFIG, PRECISION_RETRIEVAL_CONFIG, RECALL_RETRIEVAL_CONFIG, } from './types.js';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/code-intelligence/retrieval/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACL,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,wBAAwB,EACxB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Code Intelligence Retrieval Module
|
|
4
|
+
*
|
|
5
|
+
* Semantic search for code using embeddings.
|
|
6
|
+
* Optimized for AST-chunked code with multi-chunk retrieval.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.RECALL_RETRIEVAL_CONFIG = exports.PRECISION_RETRIEVAL_CONFIG = exports.DEFAULT_RETRIEVAL_CONFIG = exports.SemanticRetriever = void 0;
|
|
10
|
+
var SemanticRetriever_js_1 = require("./SemanticRetriever.js");
|
|
11
|
+
Object.defineProperty(exports, "SemanticRetriever", { enumerable: true, get: function () { return SemanticRetriever_js_1.SemanticRetriever; } });
|
|
12
|
+
var types_js_1 = require("./types.js");
|
|
13
|
+
Object.defineProperty(exports, "DEFAULT_RETRIEVAL_CONFIG", { enumerable: true, get: function () { return types_js_1.DEFAULT_RETRIEVAL_CONFIG; } });
|
|
14
|
+
Object.defineProperty(exports, "PRECISION_RETRIEVAL_CONFIG", { enumerable: true, get: function () { return types_js_1.PRECISION_RETRIEVAL_CONFIG; } });
|
|
15
|
+
Object.defineProperty(exports, "RECALL_RETRIEVAL_CONFIG", { enumerable: true, get: function () { return types_js_1.RECALL_RETRIEVAL_CONFIG; } });
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/code-intelligence/retrieval/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,+DAA2D;AAAlD,yHAAA,iBAAiB,OAAA;AAC1B,uCASoB;AAHlB,oHAAA,wBAAwB,OAAA;AACxB,sHAAA,0BAA0B,OAAA;AAC1B,mHAAA,uBAAuB,OAAA"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for Code Intelligence Retrieval System
|
|
3
|
+
*
|
|
4
|
+
* Supports multi-chunk retrieval with configurable top-k
|
|
5
|
+
* to balance semantic precision with context completeness.
|
|
6
|
+
*/
|
|
7
|
+
export interface RetrievalConfig {
|
|
8
|
+
/**
|
|
9
|
+
* Number of top chunks to retrieve per query.
|
|
10
|
+
* Higher values = more context but potentially less precision.
|
|
11
|
+
* Recommended: 3-5 for AST-chunked code (smaller semantic units)
|
|
12
|
+
* Default: 5
|
|
13
|
+
*/
|
|
14
|
+
topK: number;
|
|
15
|
+
/**
|
|
16
|
+
* Minimum similarity score threshold (0-1).
|
|
17
|
+
* Chunks below this score are filtered out.
|
|
18
|
+
* Default: 0.5
|
|
19
|
+
*/
|
|
20
|
+
minSimilarity: number;
|
|
21
|
+
/**
|
|
22
|
+
* Whether to deduplicate results from the same file.
|
|
23
|
+
* When true, consecutive chunks from same file are merged.
|
|
24
|
+
* Default: true
|
|
25
|
+
*/
|
|
26
|
+
deduplicateByFile: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Maximum number of chunks to return from same file.
|
|
29
|
+
* Prevents single large file from dominating results.
|
|
30
|
+
* Default: 3
|
|
31
|
+
*/
|
|
32
|
+
maxChunksPerFile: number;
|
|
33
|
+
/**
|
|
34
|
+
* Whether to include surrounding context for each chunk.
|
|
35
|
+
* Expands results to include adjacent chunks.
|
|
36
|
+
* Default: false
|
|
37
|
+
*/
|
|
38
|
+
includeContext: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Number of chunks before/after to include as context.
|
|
41
|
+
* Only used when includeContext is true.
|
|
42
|
+
* Default: 1
|
|
43
|
+
*/
|
|
44
|
+
contextWindow: number;
|
|
45
|
+
}
|
|
46
|
+
export interface RetrievalResult {
|
|
47
|
+
/** Unique chunk identifier */
|
|
48
|
+
chunkId: string;
|
|
49
|
+
/** File path containing this chunk */
|
|
50
|
+
filePath: string;
|
|
51
|
+
/** Chunk content */
|
|
52
|
+
content: string;
|
|
53
|
+
/** Start line in original file */
|
|
54
|
+
startLine: number;
|
|
55
|
+
/** End line in original file */
|
|
56
|
+
endLine: number;
|
|
57
|
+
/** Cosine similarity score (0-1) */
|
|
58
|
+
similarity: number;
|
|
59
|
+
/** Entity type (function, class, method, etc.) */
|
|
60
|
+
entityType: string;
|
|
61
|
+
/** Entity name if available */
|
|
62
|
+
entityName?: string;
|
|
63
|
+
/** Language of the code */
|
|
64
|
+
language: string;
|
|
65
|
+
/** Additional metadata */
|
|
66
|
+
metadata?: Record<string, unknown>;
|
|
67
|
+
}
|
|
68
|
+
export interface RetrievalResponse {
|
|
69
|
+
/** Retrieved chunks, ordered by relevance */
|
|
70
|
+
results: RetrievalResult[];
|
|
71
|
+
/** Query that was searched */
|
|
72
|
+
query: string;
|
|
73
|
+
/** Time taken for retrieval in milliseconds */
|
|
74
|
+
retrievalTimeMs: number;
|
|
75
|
+
/** Statistics about the retrieval */
|
|
76
|
+
stats: RetrievalStats;
|
|
77
|
+
}
|
|
78
|
+
export interface RetrievalStats {
|
|
79
|
+
/** Total chunks searched */
|
|
80
|
+
totalChunksSearched: number;
|
|
81
|
+
/** Chunks that passed similarity threshold */
|
|
82
|
+
chunksAboveThreshold: number;
|
|
83
|
+
/** Final chunks returned (after dedup/limits) */
|
|
84
|
+
chunksReturned: number;
|
|
85
|
+
/** Unique files in results */
|
|
86
|
+
uniqueFiles: number;
|
|
87
|
+
/** Average similarity of returned chunks */
|
|
88
|
+
avgSimilarity: number;
|
|
89
|
+
}
|
|
90
|
+
export interface StoredChunk {
|
|
91
|
+
id: string;
|
|
92
|
+
fileId: string;
|
|
93
|
+
filePath: string;
|
|
94
|
+
content: string;
|
|
95
|
+
startLine: number;
|
|
96
|
+
endLine: number;
|
|
97
|
+
entityType: string;
|
|
98
|
+
entityName?: string;
|
|
99
|
+
language: string;
|
|
100
|
+
embedding: number[];
|
|
101
|
+
metadata?: Record<string, unknown>;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Default retrieval configuration optimized for AST-chunked code.
|
|
105
|
+
* Uses top-k=5 to compensate for smaller semantic chunks.
|
|
106
|
+
*/
|
|
107
|
+
export declare const DEFAULT_RETRIEVAL_CONFIG: RetrievalConfig;
|
|
108
|
+
/**
|
|
109
|
+
* High-precision configuration for specific queries.
|
|
110
|
+
* Use when you need exact matches over broad context.
|
|
111
|
+
*/
|
|
112
|
+
export declare const PRECISION_RETRIEVAL_CONFIG: RetrievalConfig;
|
|
113
|
+
/**
|
|
114
|
+
* High-recall configuration for exploratory queries.
|
|
115
|
+
* Use when you want to find all potentially relevant code.
|
|
116
|
+
*/
|
|
117
|
+
export declare const RECALL_RETRIEVAL_CONFIG: RetrievalConfig;
|
|
118
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/code-intelligence/retrieval/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAE3B;;;;OAIG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,cAAc,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAEhB,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IAEjB,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAEhB,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAElB,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAEhB,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IAEnB,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;IAEnB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IAEjB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,iBAAiB;IAChC,6CAA6C;IAC7C,OAAO,EAAE,eAAe,EAAE,CAAC;IAE3B,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IAEd,+CAA+C;IAC/C,eAAe,EAAE,MAAM,CAAC;IAExB,qCAAqC;IACrC,KAAK,EAAE,cAAc,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAE5B,8CAA8C;IAC9C,oBAAoB,EAAE,MAAM,CAAC;IAE7B,iDAAiD;IACjD,cAAc,EAAE,MAAM,CAAC;IAEvB,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAC;IAEpB,4CAA4C;IAC5C,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,eAOtC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,eAOxC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,eAOrC,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Types for Code Intelligence Retrieval System
|
|
4
|
+
*
|
|
5
|
+
* Supports multi-chunk retrieval with configurable top-k
|
|
6
|
+
* to balance semantic precision with context completeness.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.RECALL_RETRIEVAL_CONFIG = exports.PRECISION_RETRIEVAL_CONFIG = exports.DEFAULT_RETRIEVAL_CONFIG = void 0;
|
|
10
|
+
/**
|
|
11
|
+
* Default retrieval configuration optimized for AST-chunked code.
|
|
12
|
+
* Uses top-k=5 to compensate for smaller semantic chunks.
|
|
13
|
+
*/
|
|
14
|
+
exports.DEFAULT_RETRIEVAL_CONFIG = {
|
|
15
|
+
topK: 5, // Retrieve 5 chunks (recommended for AST chunking)
|
|
16
|
+
minSimilarity: 0.5, // 50% similarity threshold
|
|
17
|
+
deduplicateByFile: true,
|
|
18
|
+
maxChunksPerFile: 3,
|
|
19
|
+
includeContext: false,
|
|
20
|
+
contextWindow: 1,
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* High-precision configuration for specific queries.
|
|
24
|
+
* Use when you need exact matches over broad context.
|
|
25
|
+
*/
|
|
26
|
+
exports.PRECISION_RETRIEVAL_CONFIG = {
|
|
27
|
+
topK: 3,
|
|
28
|
+
minSimilarity: 0.7, // Higher threshold
|
|
29
|
+
deduplicateByFile: true,
|
|
30
|
+
maxChunksPerFile: 2,
|
|
31
|
+
includeContext: false,
|
|
32
|
+
contextWindow: 0,
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* High-recall configuration for exploratory queries.
|
|
36
|
+
* Use when you want to find all potentially relevant code.
|
|
37
|
+
*/
|
|
38
|
+
exports.RECALL_RETRIEVAL_CONFIG = {
|
|
39
|
+
topK: 10, // More results
|
|
40
|
+
minSimilarity: 0.4, // Lower threshold
|
|
41
|
+
deduplicateByFile: false,
|
|
42
|
+
maxChunksPerFile: 5,
|
|
43
|
+
includeContext: true,
|
|
44
|
+
contextWindow: 2,
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/code-intelligence/retrieval/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AA4HH;;;GAGG;AACU,QAAA,wBAAwB,GAAoB;IACvD,IAAI,EAAE,CAAC,EAAe,mDAAmD;IACzE,aAAa,EAAE,GAAG,EAAI,2BAA2B;IACjD,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,CAAC;IACnB,cAAc,EAAE,KAAK;IACrB,aAAa,EAAE,CAAC;CACjB,CAAC;AAEF;;;GAGG;AACU,QAAA,0BAA0B,GAAoB;IACzD,IAAI,EAAE,CAAC;IACP,aAAa,EAAE,GAAG,EAAI,mBAAmB;IACzC,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,CAAC;IACnB,cAAc,EAAE,KAAK;IACrB,aAAa,EAAE,CAAC;CACjB,CAAC;AAEF;;;GAGG;AACU,QAAA,uBAAuB,GAAoB;IACtD,IAAI,EAAE,EAAE,EAAc,eAAe;IACrC,aAAa,EAAE,GAAG,EAAI,kBAAkB;IACxC,iBAAiB,EAAE,KAAK;IACxB,gBAAgB,EAAE,CAAC;IACnB,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,CAAC;CACjB,CAAC"}
|