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,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CodeIntelligenceAgent - Knowledge graph-based code understanding
|
|
3
|
+
* Wave 6 (v2.6.0) - Code Intelligence System Integration
|
|
4
|
+
*
|
|
5
|
+
* Provides semantic code search, AST parsing, and context building
|
|
6
|
+
* with 80% token reduction through intelligent code retrieval.
|
|
7
|
+
*/
|
|
8
|
+
import { MemoryStore, QETask } from '../types';
|
|
9
|
+
import { BaseAgent, BaseAgentConfig } from './BaseAgent';
|
|
10
|
+
import { CodeIntelligenceOrchestrator } from '../code-intelligence/orchestrator/CodeIntelligenceOrchestrator';
|
|
11
|
+
import type { QueryResult } from '../code-intelligence/orchestrator/types';
|
|
12
|
+
export interface CodeIntelligenceAgentConfig extends BaseAgentConfig {
|
|
13
|
+
/** Root directory for indexing (default: process.cwd()) */
|
|
14
|
+
rootDir?: string;
|
|
15
|
+
/** Ollama server URL (default: http://localhost:11434) */
|
|
16
|
+
ollamaUrl?: string;
|
|
17
|
+
/** Database configuration */
|
|
18
|
+
database?: {
|
|
19
|
+
enabled?: boolean;
|
|
20
|
+
host?: string;
|
|
21
|
+
port?: number;
|
|
22
|
+
database?: string;
|
|
23
|
+
user?: string;
|
|
24
|
+
password?: string;
|
|
25
|
+
};
|
|
26
|
+
/** File patterns to include */
|
|
27
|
+
includePatterns?: string[];
|
|
28
|
+
/** File patterns to exclude */
|
|
29
|
+
excludePatterns?: string[];
|
|
30
|
+
/** Enable incremental indexing */
|
|
31
|
+
incrementalIndexing?: boolean;
|
|
32
|
+
}
|
|
33
|
+
export type CodeIntelligenceTaskType = 'index' | 'search' | 'context' | 'graph' | 'stats' | 'incremental-update';
|
|
34
|
+
export interface CodeIntelligenceTaskPayload {
|
|
35
|
+
/** Task type */
|
|
36
|
+
taskType: CodeIntelligenceTaskType;
|
|
37
|
+
/** For search/context: the query string */
|
|
38
|
+
query?: string;
|
|
39
|
+
/** For context: target file path */
|
|
40
|
+
filePath?: string;
|
|
41
|
+
/** For context: target entity name */
|
|
42
|
+
entityName?: string;
|
|
43
|
+
/** For search: number of results */
|
|
44
|
+
topK?: number;
|
|
45
|
+
/** For search: include graph context */
|
|
46
|
+
includeGraphContext?: boolean;
|
|
47
|
+
/** For search: graph traversal depth */
|
|
48
|
+
graphDepth?: number;
|
|
49
|
+
/** For search: filter by language */
|
|
50
|
+
language?: string;
|
|
51
|
+
/** For graph: diagram type */
|
|
52
|
+
diagramType?: 'class' | 'dependency';
|
|
53
|
+
/** For incremental: git commit to compare against */
|
|
54
|
+
gitSince?: string;
|
|
55
|
+
}
|
|
56
|
+
export interface CodeIntelligenceResult {
|
|
57
|
+
success: boolean;
|
|
58
|
+
taskType: CodeIntelligenceTaskType;
|
|
59
|
+
/** For index: indexing statistics */
|
|
60
|
+
indexStats?: {
|
|
61
|
+
filesIndexed: number;
|
|
62
|
+
entitiesExtracted: number;
|
|
63
|
+
chunksCreated: number;
|
|
64
|
+
embeddingsGenerated: number;
|
|
65
|
+
graphEdges: number;
|
|
66
|
+
duration: number;
|
|
67
|
+
};
|
|
68
|
+
/** For search: search results */
|
|
69
|
+
searchResults?: QueryResult;
|
|
70
|
+
/** For context: formatted context string */
|
|
71
|
+
context?: string;
|
|
72
|
+
/** For context: token estimate */
|
|
73
|
+
tokenEstimate?: number;
|
|
74
|
+
/** For context: token reduction percentage */
|
|
75
|
+
tokenReduction?: number;
|
|
76
|
+
/** For graph: Mermaid diagram */
|
|
77
|
+
diagram?: string;
|
|
78
|
+
/** For stats: graph statistics */
|
|
79
|
+
stats?: {
|
|
80
|
+
totalChunks: number;
|
|
81
|
+
totalEntities: number;
|
|
82
|
+
totalEdges: number;
|
|
83
|
+
languages: string[];
|
|
84
|
+
lastIndexed?: Date;
|
|
85
|
+
};
|
|
86
|
+
/** Error message if failed */
|
|
87
|
+
error?: string;
|
|
88
|
+
}
|
|
89
|
+
export declare class CodeIntelligenceAgent extends BaseAgent {
|
|
90
|
+
private orchestrator;
|
|
91
|
+
private agentConfig;
|
|
92
|
+
private logger;
|
|
93
|
+
private isIndexed;
|
|
94
|
+
constructor(config: CodeIntelligenceAgentConfig);
|
|
95
|
+
protected initializeComponents(): Promise<void>;
|
|
96
|
+
protected performTask(task: QETask): Promise<CodeIntelligenceResult>;
|
|
97
|
+
protected loadKnowledge(): Promise<void>;
|
|
98
|
+
protected cleanup(): Promise<void>;
|
|
99
|
+
private performIndexTask;
|
|
100
|
+
private performSearchTask;
|
|
101
|
+
private performContextTask;
|
|
102
|
+
private performGraphTask;
|
|
103
|
+
private performStatsTask;
|
|
104
|
+
private performIncrementalUpdateTask;
|
|
105
|
+
private inferTaskType;
|
|
106
|
+
private formatSearchResultsAsContext;
|
|
107
|
+
private getEdgesForNodes;
|
|
108
|
+
/**
|
|
109
|
+
* Check if the codebase has been indexed
|
|
110
|
+
*/
|
|
111
|
+
isCodebaseIndexed(): boolean;
|
|
112
|
+
/**
|
|
113
|
+
* Get the underlying orchestrator for advanced usage
|
|
114
|
+
*/
|
|
115
|
+
getOrchestrator(): CodeIntelligenceOrchestrator | null;
|
|
116
|
+
/**
|
|
117
|
+
* Quick search without full task execution
|
|
118
|
+
*/
|
|
119
|
+
quickSearch(query: string, topK?: number): Promise<QueryResult | null>;
|
|
120
|
+
/**
|
|
121
|
+
* Get formatted context for a file (for other agents)
|
|
122
|
+
*/
|
|
123
|
+
getFormattedFileContext(filePath: string): Promise<string | null>;
|
|
124
|
+
/**
|
|
125
|
+
* Get formatted context for a query (for other agents)
|
|
126
|
+
*/
|
|
127
|
+
getFormattedQueryContext(query: string, topK?: number): Promise<string | null>;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Create a Code Intelligence agent with default configuration
|
|
131
|
+
*/
|
|
132
|
+
export declare function createCodeIntelligenceAgent(memoryStore: MemoryStore, config?: Partial<CodeIntelligenceAgentConfig>): CodeIntelligenceAgent;
|
|
133
|
+
//# sourceMappingURL=CodeIntelligenceAgent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodeIntelligenceAgent.d.ts","sourceRoot":"","sources":["../../src/agents/CodeIntelligenceAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,473 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* CodeIntelligenceAgent - Knowledge graph-based code understanding
|
|
4
|
+
* Wave 6 (v2.6.0) - Code Intelligence System Integration
|
|
5
|
+
*
|
|
6
|
+
* Provides semantic code search, AST parsing, and context building
|
|
7
|
+
* with 80% token reduction through intelligent code retrieval.
|
|
8
|
+
*/
|
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
26
|
+
var ownKeys = function(o) {
|
|
27
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
28
|
+
var ar = [];
|
|
29
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
30
|
+
return ar;
|
|
31
|
+
};
|
|
32
|
+
return ownKeys(o);
|
|
33
|
+
};
|
|
34
|
+
return function (mod) {
|
|
35
|
+
if (mod && mod.__esModule) return mod;
|
|
36
|
+
var result = {};
|
|
37
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
38
|
+
__setModuleDefault(result, mod);
|
|
39
|
+
return result;
|
|
40
|
+
};
|
|
41
|
+
})();
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.CodeIntelligenceAgent = void 0;
|
|
44
|
+
exports.createCodeIntelligenceAgent = createCodeIntelligenceAgent;
|
|
45
|
+
const path = __importStar(require("path"));
|
|
46
|
+
const BaseAgent_1 = require("./BaseAgent");
|
|
47
|
+
const Logger_1 = require("../utils/Logger");
|
|
48
|
+
const CodeIntelligenceOrchestrator_1 = require("../code-intelligence/orchestrator/CodeIntelligenceOrchestrator");
|
|
49
|
+
// ============================================================================
|
|
50
|
+
// Main Agent Class
|
|
51
|
+
// ============================================================================
|
|
52
|
+
class CodeIntelligenceAgent extends BaseAgent_1.BaseAgent {
|
|
53
|
+
constructor(config) {
|
|
54
|
+
super({
|
|
55
|
+
...config,
|
|
56
|
+
type: 'code-intelligence',
|
|
57
|
+
capabilities: [
|
|
58
|
+
{ name: 'code-indexing', version: '1.0.0', description: 'Parse and index codebases with Tree-sitter' },
|
|
59
|
+
{ name: 'semantic-search', version: '1.0.0', description: 'Search code by meaning using embeddings' },
|
|
60
|
+
{ name: 'context-building', version: '1.0.0', description: 'Build focused context with 80% token reduction' },
|
|
61
|
+
{ name: 'graph-visualization', version: '1.0.0', description: 'Generate Mermaid diagrams for code structure' },
|
|
62
|
+
{ name: 'incremental-updates', version: '1.0.0', description: 'Track git changes and update index' },
|
|
63
|
+
],
|
|
64
|
+
});
|
|
65
|
+
this.orchestrator = null;
|
|
66
|
+
this.isIndexed = false;
|
|
67
|
+
this.agentConfig = config;
|
|
68
|
+
this.logger = Logger_1.Logger.getInstance();
|
|
69
|
+
}
|
|
70
|
+
// ============================================================================
|
|
71
|
+
// BaseAgent Abstract Methods
|
|
72
|
+
// ============================================================================
|
|
73
|
+
async initializeComponents() {
|
|
74
|
+
this.logger.info('Initializing Code Intelligence components...');
|
|
75
|
+
const orchestratorConfig = {
|
|
76
|
+
rootDir: this.agentConfig.rootDir || process.cwd(),
|
|
77
|
+
watchEnabled: false,
|
|
78
|
+
gitEnabled: this.agentConfig.incrementalIndexing ?? true,
|
|
79
|
+
};
|
|
80
|
+
// Add Ollama config if provided
|
|
81
|
+
if (this.agentConfig.ollamaUrl) {
|
|
82
|
+
orchestratorConfig.ollamaUrl = this.agentConfig.ollamaUrl;
|
|
83
|
+
}
|
|
84
|
+
// Add database config if provided
|
|
85
|
+
if (this.agentConfig.database?.enabled !== false) {
|
|
86
|
+
orchestratorConfig.database = {
|
|
87
|
+
enabled: true,
|
|
88
|
+
host: this.agentConfig.database?.host || process.env.PGHOST || 'localhost',
|
|
89
|
+
port: this.agentConfig.database?.port || parseInt(process.env.PGPORT || '5432'),
|
|
90
|
+
database: this.agentConfig.database?.database || process.env.PGDATABASE || 'ruvector_db',
|
|
91
|
+
user: this.agentConfig.database?.user || process.env.PGUSER || 'ruvector',
|
|
92
|
+
password: this.agentConfig.database?.password || process.env.PGPASSWORD || 'ruvector',
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
this.orchestrator = new CodeIntelligenceOrchestrator_1.CodeIntelligenceOrchestrator(orchestratorConfig);
|
|
96
|
+
await this.orchestrator.initialize();
|
|
97
|
+
this.logger.info('Code Intelligence components initialized');
|
|
98
|
+
}
|
|
99
|
+
async performTask(task) {
|
|
100
|
+
const payload = task.payload;
|
|
101
|
+
const taskType = payload.taskType || this.inferTaskType(task);
|
|
102
|
+
this.logger.info(`Performing task: ${taskType}`);
|
|
103
|
+
try {
|
|
104
|
+
switch (taskType) {
|
|
105
|
+
case 'index':
|
|
106
|
+
return await this.performIndexTask(payload);
|
|
107
|
+
case 'search':
|
|
108
|
+
return await this.performSearchTask(payload);
|
|
109
|
+
case 'context':
|
|
110
|
+
return await this.performContextTask(payload);
|
|
111
|
+
case 'graph':
|
|
112
|
+
return await this.performGraphTask(payload);
|
|
113
|
+
case 'stats':
|
|
114
|
+
return await this.performStatsTask();
|
|
115
|
+
case 'incremental-update':
|
|
116
|
+
return await this.performIncrementalUpdateTask(payload);
|
|
117
|
+
default:
|
|
118
|
+
throw new Error(`Unknown task type: ${taskType}`);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
this.logger.error(`Task failed: ${error.message}`);
|
|
123
|
+
return {
|
|
124
|
+
success: false,
|
|
125
|
+
taskType,
|
|
126
|
+
error: error.message,
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
async loadKnowledge() {
|
|
131
|
+
// Check if index exists
|
|
132
|
+
if (this.orchestrator) {
|
|
133
|
+
try {
|
|
134
|
+
const stats = this.orchestrator.getStats();
|
|
135
|
+
if (stats.indexer.totalChunks > 0) {
|
|
136
|
+
this.isIndexed = true;
|
|
137
|
+
this.logger.info(`Loaded existing index: ${stats.indexer.totalChunks} chunks`);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
// No existing index, will need to index first
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
async cleanup() {
|
|
146
|
+
if (this.orchestrator) {
|
|
147
|
+
await this.orchestrator.shutdown();
|
|
148
|
+
this.orchestrator = null;
|
|
149
|
+
}
|
|
150
|
+
this.logger.info('Code Intelligence agent cleaned up');
|
|
151
|
+
}
|
|
152
|
+
// ============================================================================
|
|
153
|
+
// Task Implementations
|
|
154
|
+
// ============================================================================
|
|
155
|
+
async performIndexTask(payload) {
|
|
156
|
+
if (!this.orchestrator) {
|
|
157
|
+
throw new Error('Orchestrator not initialized');
|
|
158
|
+
}
|
|
159
|
+
const rootDir = this.agentConfig.rootDir || process.cwd();
|
|
160
|
+
const startTime = Date.now();
|
|
161
|
+
const result = await this.orchestrator.indexProject(rootDir, (progress) => {
|
|
162
|
+
this.logger.debug(`Indexing: ${progress.processedFiles}/${progress.totalFiles} files`);
|
|
163
|
+
});
|
|
164
|
+
this.isIndexed = true;
|
|
165
|
+
const graphStats = this.orchestrator.getStats().graph;
|
|
166
|
+
return {
|
|
167
|
+
success: true,
|
|
168
|
+
taskType: 'index',
|
|
169
|
+
indexStats: {
|
|
170
|
+
filesIndexed: result.stats.filesIndexed,
|
|
171
|
+
entitiesExtracted: graphStats.nodesByType?.class || 0 + (graphStats.nodesByType?.function || 0),
|
|
172
|
+
chunksCreated: result.stats.chunksCreated,
|
|
173
|
+
embeddingsGenerated: result.stats.embeddingsGenerated,
|
|
174
|
+
graphEdges: result.stats.edgesCreated,
|
|
175
|
+
duration: Date.now() - startTime,
|
|
176
|
+
},
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
async performSearchTask(payload) {
|
|
180
|
+
if (!this.orchestrator) {
|
|
181
|
+
throw new Error('Orchestrator not initialized');
|
|
182
|
+
}
|
|
183
|
+
if (!payload.query) {
|
|
184
|
+
throw new Error('Query is required for search task');
|
|
185
|
+
}
|
|
186
|
+
const queryContext = {
|
|
187
|
+
query: payload.query,
|
|
188
|
+
topK: payload.topK || 10,
|
|
189
|
+
includeGraphContext: payload.includeGraphContext ?? true,
|
|
190
|
+
graphDepth: payload.graphDepth || 2,
|
|
191
|
+
};
|
|
192
|
+
const result = await this.orchestrator.query(queryContext);
|
|
193
|
+
return {
|
|
194
|
+
success: true,
|
|
195
|
+
taskType: 'search',
|
|
196
|
+
searchResults: result,
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
async performContextTask(payload) {
|
|
200
|
+
if (!this.orchestrator) {
|
|
201
|
+
throw new Error('Orchestrator not initialized');
|
|
202
|
+
}
|
|
203
|
+
// Use the KnowledgeGraphContextBuilder through BaseAgent's methods
|
|
204
|
+
if (!this.hasCodeIntelligence()) {
|
|
205
|
+
// Fallback: use orchestrator directly
|
|
206
|
+
const searchResult = await this.orchestrator.query({
|
|
207
|
+
query: payload.query || `file:${payload.filePath}`,
|
|
208
|
+
topK: payload.topK || 10,
|
|
209
|
+
includeGraphContext: true,
|
|
210
|
+
graphDepth: 2,
|
|
211
|
+
});
|
|
212
|
+
const context = this.formatSearchResultsAsContext(searchResult);
|
|
213
|
+
return {
|
|
214
|
+
success: true,
|
|
215
|
+
taskType: 'context',
|
|
216
|
+
context,
|
|
217
|
+
tokenEstimate: Math.ceil(context.length / 4),
|
|
218
|
+
tokenReduction: 80, // Estimate
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
// Use BaseAgent's code intelligence context building
|
|
222
|
+
let enrichedContext;
|
|
223
|
+
if (payload.filePath && payload.entityName) {
|
|
224
|
+
enrichedContext = await this.getEntityContext(payload.filePath, payload.entityName);
|
|
225
|
+
}
|
|
226
|
+
else if (payload.filePath) {
|
|
227
|
+
enrichedContext = await this.getFileContext(payload.filePath);
|
|
228
|
+
}
|
|
229
|
+
else if (payload.query) {
|
|
230
|
+
enrichedContext = await this.getCodeIntelligenceContext({
|
|
231
|
+
query: payload.query,
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
throw new Error('Either query, filePath, or both filePath and entityName required');
|
|
236
|
+
}
|
|
237
|
+
if (!enrichedContext) {
|
|
238
|
+
throw new Error('Failed to build context');
|
|
239
|
+
}
|
|
240
|
+
return {
|
|
241
|
+
success: true,
|
|
242
|
+
taskType: 'context',
|
|
243
|
+
context: enrichedContext.formatted.content,
|
|
244
|
+
tokenEstimate: enrichedContext.metadata.tokenEstimate,
|
|
245
|
+
tokenReduction: enrichedContext.metadata.tokenReduction || 80,
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
async performGraphTask(payload) {
|
|
249
|
+
if (!this.orchestrator) {
|
|
250
|
+
throw new Error('Orchestrator not initialized');
|
|
251
|
+
}
|
|
252
|
+
if (!payload.filePath) {
|
|
253
|
+
throw new Error('filePath is required for graph task');
|
|
254
|
+
}
|
|
255
|
+
const graphBuilder = this.orchestrator.getGraphBuilder();
|
|
256
|
+
const nodes = graphBuilder.findNodesInFile(payload.filePath);
|
|
257
|
+
if (nodes.length === 0) {
|
|
258
|
+
return {
|
|
259
|
+
success: true,
|
|
260
|
+
taskType: 'graph',
|
|
261
|
+
diagram: `%% No graph data found for ${path.basename(payload.filePath)}\n%% Run index task first`,
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
// Import visualization builders
|
|
265
|
+
const { ClassDiagramBuilder } = await Promise.resolve().then(() => __importStar(require('../code-intelligence/visualization/ClassDiagramBuilder')));
|
|
266
|
+
const { DependencyGraphBuilder } = await Promise.resolve().then(() => __importStar(require('../code-intelligence/visualization/DependencyGraphBuilder')));
|
|
267
|
+
// Get edges for nodes
|
|
268
|
+
const edges = this.getEdgesForNodes(graphBuilder, nodes);
|
|
269
|
+
let diagram;
|
|
270
|
+
if (payload.diagramType === 'dependency') {
|
|
271
|
+
diagram = DependencyGraphBuilder.build(nodes, edges, { direction: 'TB' });
|
|
272
|
+
}
|
|
273
|
+
else {
|
|
274
|
+
diagram = ClassDiagramBuilder.build(nodes, edges, { includeMethods: true });
|
|
275
|
+
}
|
|
276
|
+
return {
|
|
277
|
+
success: true,
|
|
278
|
+
taskType: 'graph',
|
|
279
|
+
diagram,
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
async performStatsTask() {
|
|
283
|
+
if (!this.orchestrator) {
|
|
284
|
+
throw new Error('Orchestrator not initialized');
|
|
285
|
+
}
|
|
286
|
+
const stats = this.orchestrator.getStats();
|
|
287
|
+
const graphStats = stats.graph;
|
|
288
|
+
// Calculate entities from graph
|
|
289
|
+
const entities = Object.values(graphStats.nodesByType || {}).reduce((sum, count) => sum + count, 0);
|
|
290
|
+
return {
|
|
291
|
+
success: true,
|
|
292
|
+
taskType: 'stats',
|
|
293
|
+
stats: {
|
|
294
|
+
totalChunks: stats.indexer.totalChunks,
|
|
295
|
+
totalEntities: entities,
|
|
296
|
+
totalEdges: graphStats.edgeCount,
|
|
297
|
+
languages: Object.keys(graphStats.nodesByType || {}),
|
|
298
|
+
},
|
|
299
|
+
};
|
|
300
|
+
}
|
|
301
|
+
async performIncrementalUpdateTask(payload) {
|
|
302
|
+
if (!this.orchestrator) {
|
|
303
|
+
throw new Error('Orchestrator not initialized');
|
|
304
|
+
}
|
|
305
|
+
const gitSince = payload.gitSince || 'HEAD~1';
|
|
306
|
+
const startTime = Date.now();
|
|
307
|
+
const changes = await this.orchestrator.getGitChanges(gitSince);
|
|
308
|
+
if (changes.length === 0) {
|
|
309
|
+
return {
|
|
310
|
+
success: true,
|
|
311
|
+
taskType: 'incremental-update',
|
|
312
|
+
indexStats: {
|
|
313
|
+
filesIndexed: 0,
|
|
314
|
+
entitiesExtracted: 0,
|
|
315
|
+
chunksCreated: 0,
|
|
316
|
+
embeddingsGenerated: 0,
|
|
317
|
+
graphEdges: 0,
|
|
318
|
+
duration: Date.now() - startTime,
|
|
319
|
+
},
|
|
320
|
+
};
|
|
321
|
+
}
|
|
322
|
+
const result = await this.orchestrator.processChanges(changes);
|
|
323
|
+
const graphStats = this.orchestrator.getStats().graph;
|
|
324
|
+
return {
|
|
325
|
+
success: true,
|
|
326
|
+
taskType: 'incremental-update',
|
|
327
|
+
indexStats: {
|
|
328
|
+
filesIndexed: result.stats.filesIndexed,
|
|
329
|
+
entitiesExtracted: graphStats.nodesByType?.class || 0,
|
|
330
|
+
chunksCreated: result.stats.chunksCreated,
|
|
331
|
+
embeddingsGenerated: result.stats.embeddingsGenerated,
|
|
332
|
+
graphEdges: result.stats.edgesCreated,
|
|
333
|
+
duration: Date.now() - startTime,
|
|
334
|
+
},
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
// ============================================================================
|
|
338
|
+
// Helper Methods
|
|
339
|
+
// ============================================================================
|
|
340
|
+
inferTaskType(task) {
|
|
341
|
+
const description = (task.description || task.type || '').toLowerCase();
|
|
342
|
+
if (description.includes('index') || description.includes('parse')) {
|
|
343
|
+
return 'index';
|
|
344
|
+
}
|
|
345
|
+
if (description.includes('search') || description.includes('find')) {
|
|
346
|
+
return 'search';
|
|
347
|
+
}
|
|
348
|
+
if (description.includes('context') || description.includes('build')) {
|
|
349
|
+
return 'context';
|
|
350
|
+
}
|
|
351
|
+
if (description.includes('graph') || description.includes('diagram') || description.includes('visualiz')) {
|
|
352
|
+
return 'graph';
|
|
353
|
+
}
|
|
354
|
+
if (description.includes('stat') || description.includes('info')) {
|
|
355
|
+
return 'stats';
|
|
356
|
+
}
|
|
357
|
+
if (description.includes('update') || description.includes('incremental')) {
|
|
358
|
+
return 'incremental-update';
|
|
359
|
+
}
|
|
360
|
+
// Default to search if query is present
|
|
361
|
+
if (task.payload?.query) {
|
|
362
|
+
return 'search';
|
|
363
|
+
}
|
|
364
|
+
return 'stats';
|
|
365
|
+
}
|
|
366
|
+
formatSearchResultsAsContext(result) {
|
|
367
|
+
const lines = [
|
|
368
|
+
`## Code Context`,
|
|
369
|
+
`Query: ${result.metadata?.query || 'N/A'}`,
|
|
370
|
+
`Results: ${result.results.length}`,
|
|
371
|
+
`Search Time: ${result.metadata?.searchTimeMs || 0}ms`,
|
|
372
|
+
'',
|
|
373
|
+
];
|
|
374
|
+
for (const item of result.results) {
|
|
375
|
+
lines.push(`### ${item.entityName || path.basename(item.filePath)}`);
|
|
376
|
+
lines.push(`**File:** ${item.filePath}:${item.startLine}-${item.endLine}`);
|
|
377
|
+
lines.push(`**Type:** ${item.entityType || 'chunk'}`);
|
|
378
|
+
lines.push(`**Score:** ${item.score.toFixed(4)}`);
|
|
379
|
+
lines.push('```typescript');
|
|
380
|
+
lines.push(item.content);
|
|
381
|
+
lines.push('```');
|
|
382
|
+
lines.push('');
|
|
383
|
+
}
|
|
384
|
+
return lines.join('\n');
|
|
385
|
+
}
|
|
386
|
+
getEdgesForNodes(graphBuilder, nodes) {
|
|
387
|
+
const nodeIds = new Set(nodes.map(n => n.id));
|
|
388
|
+
const edges = [];
|
|
389
|
+
const seenEdges = new Set();
|
|
390
|
+
for (const node of nodes) {
|
|
391
|
+
const outgoing = graphBuilder.getOutgoingEdges?.(node.id) || [];
|
|
392
|
+
for (const edge of outgoing) {
|
|
393
|
+
if (!seenEdges.has(edge.id)) {
|
|
394
|
+
edges.push(edge);
|
|
395
|
+
seenEdges.add(edge.id);
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
const incoming = graphBuilder.getIncomingEdges?.(node.id) || [];
|
|
399
|
+
for (const edge of incoming) {
|
|
400
|
+
if (nodeIds.has(edge.source) && !seenEdges.has(edge.id)) {
|
|
401
|
+
edges.push(edge);
|
|
402
|
+
seenEdges.add(edge.id);
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
return edges;
|
|
407
|
+
}
|
|
408
|
+
// ============================================================================
|
|
409
|
+
// Public API
|
|
410
|
+
// ============================================================================
|
|
411
|
+
/**
|
|
412
|
+
* Check if the codebase has been indexed
|
|
413
|
+
*/
|
|
414
|
+
isCodebaseIndexed() {
|
|
415
|
+
return this.isIndexed;
|
|
416
|
+
}
|
|
417
|
+
/**
|
|
418
|
+
* Get the underlying orchestrator for advanced usage
|
|
419
|
+
*/
|
|
420
|
+
getOrchestrator() {
|
|
421
|
+
return this.orchestrator;
|
|
422
|
+
}
|
|
423
|
+
/**
|
|
424
|
+
* Quick search without full task execution
|
|
425
|
+
*/
|
|
426
|
+
async quickSearch(query, topK = 10) {
|
|
427
|
+
if (!this.orchestrator) {
|
|
428
|
+
return null;
|
|
429
|
+
}
|
|
430
|
+
return this.orchestrator.query({
|
|
431
|
+
query,
|
|
432
|
+
topK,
|
|
433
|
+
includeGraphContext: true,
|
|
434
|
+
graphDepth: 2,
|
|
435
|
+
});
|
|
436
|
+
}
|
|
437
|
+
/**
|
|
438
|
+
* Get formatted context for a file (for other agents)
|
|
439
|
+
*/
|
|
440
|
+
async getFormattedFileContext(filePath) {
|
|
441
|
+
const result = await this.performContextTask({
|
|
442
|
+
taskType: 'context',
|
|
443
|
+
filePath,
|
|
444
|
+
});
|
|
445
|
+
return result.success ? result.context || null : null;
|
|
446
|
+
}
|
|
447
|
+
/**
|
|
448
|
+
* Get formatted context for a query (for other agents)
|
|
449
|
+
*/
|
|
450
|
+
async getFormattedQueryContext(query, topK = 10) {
|
|
451
|
+
const result = await this.performContextTask({
|
|
452
|
+
taskType: 'context',
|
|
453
|
+
query,
|
|
454
|
+
topK,
|
|
455
|
+
});
|
|
456
|
+
return result.success ? result.context || null : null;
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
exports.CodeIntelligenceAgent = CodeIntelligenceAgent;
|
|
460
|
+
// ============================================================================
|
|
461
|
+
// Factory Function
|
|
462
|
+
// ============================================================================
|
|
463
|
+
/**
|
|
464
|
+
* Create a Code Intelligence agent with default configuration
|
|
465
|
+
*/
|
|
466
|
+
function createCodeIntelligenceAgent(memoryStore, config) {
|
|
467
|
+
return new CodeIntelligenceAgent({
|
|
468
|
+
memoryStore,
|
|
469
|
+
type: 'code-intelligence',
|
|
470
|
+
...config,
|
|
471
|
+
});
|
|
472
|
+
}
|
|
473
|
+
//# sourceMappingURL=CodeIntelligenceAgent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodeIntelligenceAgent.js","sourceRoot":"","sources":["../../src/agents/CodeIntelligenceAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -125,6 +125,7 @@ export declare class FlakyTestHunterAgent extends BaseAgent {
|
|
|
125
125
|
private mlDetector;
|
|
126
126
|
private mlEnabled;
|
|
127
127
|
private detectionMetrics;
|
|
128
|
+
private patternStoreEnabled;
|
|
128
129
|
constructor(baseConfig: BaseAgentConfig, config?: FlakyTestHunterConfig);
|
|
129
130
|
/**
|
|
130
131
|
* Pre-task hook - Load test execution history from TestExecutor events
|
|
@@ -139,6 +140,20 @@ export declare class FlakyTestHunterAgent extends BaseAgent {
|
|
|
139
140
|
assignment: any;
|
|
140
141
|
result: any;
|
|
141
142
|
}): Promise<void>;
|
|
143
|
+
/**
|
|
144
|
+
* Phase 0.5: Store flaky test detection patterns for self-learning
|
|
145
|
+
* Enables pattern recognition and reuse across detection sessions
|
|
146
|
+
*/
|
|
147
|
+
private storeFlakynessPatterns;
|
|
148
|
+
/**
|
|
149
|
+
* Generate embedding for flaky test pattern
|
|
150
|
+
* Uses root cause and pattern characteristics for similarity matching
|
|
151
|
+
*/
|
|
152
|
+
private generateFlakyPatternEmbedding;
|
|
153
|
+
/**
|
|
154
|
+
* Simple hash function for pattern strings
|
|
155
|
+
*/
|
|
156
|
+
private hashString;
|
|
142
157
|
/**
|
|
143
158
|
* Task error hook - Log flakiness detection failures
|
|
144
159
|
*/
|