agentic-qe 2.5.10 → 2.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/qe-code-intelligence.md +359 -0
- package/CHANGELOG.md +146 -0
- package/README.md +3 -2
- package/dist/agents/BaseAgent.d.ts +48 -0
- package/dist/agents/BaseAgent.d.ts.map +1 -1
- package/dist/agents/BaseAgent.js +126 -0
- package/dist/agents/BaseAgent.js.map +1 -1
- package/dist/agents/CodeIntelligenceAgent.d.ts +133 -0
- package/dist/agents/CodeIntelligenceAgent.d.ts.map +1 -0
- package/dist/agents/CodeIntelligenceAgent.js +473 -0
- package/dist/agents/CodeIntelligenceAgent.js.map +1 -0
- package/dist/agents/context/ContextCache.d.ts +105 -0
- package/dist/agents/context/ContextCache.d.ts.map +1 -0
- package/dist/agents/context/ContextCache.js +235 -0
- package/dist/agents/context/ContextCache.js.map +1 -0
- package/dist/agents/context/ContextFormatter.d.ts +92 -0
- package/dist/agents/context/ContextFormatter.d.ts.map +1 -0
- package/dist/agents/context/ContextFormatter.js +338 -0
- package/dist/agents/context/ContextFormatter.js.map +1 -0
- package/dist/agents/context/GraphExpander.d.ts +87 -0
- package/dist/agents/context/GraphExpander.d.ts.map +1 -0
- package/dist/agents/context/GraphExpander.js +215 -0
- package/dist/agents/context/GraphExpander.js.map +1 -0
- package/dist/agents/context/KnowledgeGraphContextBuilder.d.ts +160 -0
- package/dist/agents/context/KnowledgeGraphContextBuilder.d.ts.map +1 -0
- package/dist/agents/context/KnowledgeGraphContextBuilder.js +300 -0
- package/dist/agents/context/KnowledgeGraphContextBuilder.js.map +1 -0
- package/dist/agents/context/index.d.ts +15 -0
- package/dist/agents/context/index.d.ts.map +1 -0
- package/dist/agents/context/index.js +18 -0
- package/dist/agents/context/index.js.map +1 -0
- package/dist/agents/index.d.ts +1 -0
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +67 -3
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/pool/AgentPool.d.ts +112 -0
- package/dist/agents/pool/AgentPool.d.ts.map +1 -0
- package/dist/agents/pool/AgentPool.js +573 -0
- package/dist/agents/pool/AgentPool.js.map +1 -0
- package/dist/agents/pool/QEAgentPoolFactory.d.ts +118 -0
- package/dist/agents/pool/QEAgentPoolFactory.d.ts.map +1 -0
- package/dist/agents/pool/QEAgentPoolFactory.js +251 -0
- package/dist/agents/pool/QEAgentPoolFactory.js.map +1 -0
- package/dist/agents/pool/index.d.ts +34 -0
- package/dist/agents/pool/index.d.ts.map +1 -0
- package/dist/agents/pool/index.js +44 -0
- package/dist/agents/pool/index.js.map +1 -0
- package/dist/agents/pool/types.d.ts +227 -0
- package/dist/agents/pool/types.d.ts.map +1 -0
- package/dist/agents/pool/types.js +28 -0
- package/dist/agents/pool/types.js.map +1 -0
- package/dist/cli/commands/knowledge-graph.d.ts +112 -0
- package/dist/cli/commands/knowledge-graph.d.ts.map +1 -0
- package/dist/cli/commands/knowledge-graph.js +466 -0
- package/dist/cli/commands/knowledge-graph.js.map +1 -0
- package/dist/cli/formatters/KGOutputFormatter.d.ts +50 -0
- package/dist/cli/formatters/KGOutputFormatter.d.ts.map +1 -0
- package/dist/cli/formatters/KGOutputFormatter.js +237 -0
- package/dist/cli/formatters/KGOutputFormatter.js.map +1 -0
- package/dist/cli/index-working.js +138 -0
- package/dist/cli/index-working.js.map +1 -1
- package/dist/cli/init/claude-config.d.ts +13 -1
- package/dist/cli/init/claude-config.d.ts.map +1 -1
- package/dist/cli/init/claude-config.js +70 -8
- package/dist/cli/init/claude-config.js.map +1 -1
- package/dist/cli/init/code-intelligence-init.d.ts +52 -0
- package/dist/cli/init/code-intelligence-init.d.ts.map +1 -0
- package/dist/cli/init/code-intelligence-init.js +250 -0
- package/dist/cli/init/code-intelligence-init.js.map +1 -0
- package/dist/cli/init/index.d.ts +2 -2
- package/dist/cli/init/index.d.ts.map +1 -1
- package/dist/cli/init/index.js +10 -1
- package/dist/cli/init/index.js.map +1 -1
- package/dist/code-intelligence/chunking/ASTChunker.d.ts +64 -0
- package/dist/code-intelligence/chunking/ASTChunker.d.ts.map +1 -0
- package/dist/code-intelligence/chunking/ASTChunker.js +344 -0
- package/dist/code-intelligence/chunking/ASTChunker.js.map +1 -0
- package/dist/code-intelligence/chunking/ChunkSplitter.d.ts +48 -0
- package/dist/code-intelligence/chunking/ChunkSplitter.d.ts.map +1 -0
- package/dist/code-intelligence/chunking/ChunkSplitter.js +278 -0
- package/dist/code-intelligence/chunking/ChunkSplitter.js.map +1 -0
- package/dist/code-intelligence/chunking/index.d.ts +8 -0
- package/dist/code-intelligence/chunking/index.d.ts.map +1 -0
- package/dist/code-intelligence/chunking/index.js +13 -0
- package/dist/code-intelligence/chunking/index.js.map +1 -0
- package/dist/code-intelligence/chunking/types.d.ts +52 -0
- package/dist/code-intelligence/chunking/types.d.ts.map +1 -0
- package/dist/code-intelligence/chunking/types.js +6 -0
- package/dist/code-intelligence/chunking/types.js.map +1 -0
- package/dist/code-intelligence/config/database-schema.d.ts +245 -0
- package/dist/code-intelligence/config/database-schema.d.ts.map +1 -0
- package/dist/code-intelligence/config/database-schema.js +110 -0
- package/dist/code-intelligence/config/database-schema.js.map +1 -0
- package/dist/code-intelligence/config/environment.d.ts +53 -0
- package/dist/code-intelligence/config/environment.d.ts.map +1 -0
- package/dist/code-intelligence/config/environment.js +86 -0
- package/dist/code-intelligence/config/environment.js.map +1 -0
- package/dist/code-intelligence/config/index.d.ts +10 -0
- package/dist/code-intelligence/config/index.d.ts.map +1 -0
- package/dist/code-intelligence/config/index.js +36 -0
- package/dist/code-intelligence/config/index.js.map +1 -0
- package/dist/code-intelligence/embeddings/EmbeddingCache.d.ts +81 -0
- package/dist/code-intelligence/embeddings/EmbeddingCache.d.ts.map +1 -0
- package/dist/code-intelligence/embeddings/EmbeddingCache.js +168 -0
- package/dist/code-intelligence/embeddings/EmbeddingCache.js.map +1 -0
- package/dist/code-intelligence/embeddings/NomicEmbedder.d.ts +82 -0
- package/dist/code-intelligence/embeddings/NomicEmbedder.d.ts.map +1 -0
- package/dist/code-intelligence/embeddings/NomicEmbedder.js +233 -0
- package/dist/code-intelligence/embeddings/NomicEmbedder.js.map +1 -0
- package/dist/code-intelligence/embeddings/OllamaClient.d.ts +42 -0
- package/dist/code-intelligence/embeddings/OllamaClient.d.ts.map +1 -0
- package/dist/code-intelligence/embeddings/OllamaClient.js +142 -0
- package/dist/code-intelligence/embeddings/OllamaClient.js.map +1 -0
- package/dist/code-intelligence/embeddings/index.d.ts +33 -0
- package/dist/code-intelligence/embeddings/index.d.ts.map +1 -0
- package/dist/code-intelligence/embeddings/index.js +39 -0
- package/dist/code-intelligence/embeddings/index.js.map +1 -0
- package/dist/code-intelligence/embeddings/types.d.ts +84 -0
- package/dist/code-intelligence/embeddings/types.d.ts.map +1 -0
- package/dist/code-intelligence/embeddings/types.js +19 -0
- package/dist/code-intelligence/embeddings/types.js.map +1 -0
- package/dist/code-intelligence/graph/GraphBuilder.d.ts +126 -0
- package/dist/code-intelligence/graph/GraphBuilder.d.ts.map +1 -0
- package/dist/code-intelligence/graph/GraphBuilder.js +416 -0
- package/dist/code-intelligence/graph/GraphBuilder.js.map +1 -0
- package/dist/code-intelligence/graph/ImportParser.d.ts +72 -0
- package/dist/code-intelligence/graph/ImportParser.d.ts.map +1 -0
- package/dist/code-intelligence/graph/ImportParser.js +422 -0
- package/dist/code-intelligence/graph/ImportParser.js.map +1 -0
- package/dist/code-intelligence/graph/RelationshipExtractor.d.ts +74 -0
- package/dist/code-intelligence/graph/RelationshipExtractor.d.ts.map +1 -0
- package/dist/code-intelligence/graph/RelationshipExtractor.js +310 -0
- package/dist/code-intelligence/graph/RelationshipExtractor.js.map +1 -0
- package/dist/code-intelligence/graph/TestMapper.d.ts +99 -0
- package/dist/code-intelligence/graph/TestMapper.d.ts.map +1 -0
- package/dist/code-intelligence/graph/TestMapper.js +335 -0
- package/dist/code-intelligence/graph/TestMapper.js.map +1 -0
- package/dist/code-intelligence/graph/index.d.ts +14 -0
- package/dist/code-intelligence/graph/index.d.ts.map +1 -0
- package/dist/code-intelligence/graph/index.js +19 -0
- package/dist/code-intelligence/graph/index.js.map +1 -0
- package/dist/code-intelligence/graph/types.d.ts +141 -0
- package/dist/code-intelligence/graph/types.d.ts.map +1 -0
- package/dist/code-intelligence/graph/types.js +18 -0
- package/dist/code-intelligence/graph/types.js.map +1 -0
- package/dist/code-intelligence/indexing/FileWatcher.d.ts +90 -0
- package/dist/code-intelligence/indexing/FileWatcher.d.ts.map +1 -0
- package/dist/code-intelligence/indexing/FileWatcher.js +304 -0
- package/dist/code-intelligence/indexing/FileWatcher.js.map +1 -0
- package/dist/code-intelligence/indexing/GitChangeDetector.d.ts +76 -0
- package/dist/code-intelligence/indexing/GitChangeDetector.d.ts.map +1 -0
- package/dist/code-intelligence/indexing/GitChangeDetector.js +347 -0
- package/dist/code-intelligence/indexing/GitChangeDetector.js.map +1 -0
- package/dist/code-intelligence/indexing/IncrementalIndexer.d.ts +108 -0
- package/dist/code-intelligence/indexing/IncrementalIndexer.d.ts.map +1 -0
- package/dist/code-intelligence/indexing/IncrementalIndexer.js +269 -0
- package/dist/code-intelligence/indexing/IncrementalIndexer.js.map +1 -0
- package/dist/code-intelligence/indexing/index.d.ts +11 -0
- package/dist/code-intelligence/indexing/index.d.ts.map +1 -0
- package/dist/code-intelligence/indexing/index.js +18 -0
- package/dist/code-intelligence/indexing/index.js.map +1 -0
- package/dist/code-intelligence/indexing/types.d.ts +133 -0
- package/dist/code-intelligence/indexing/types.d.ts.map +1 -0
- package/dist/code-intelligence/indexing/types.js +27 -0
- package/dist/code-intelligence/indexing/types.js.map +1 -0
- package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.d.ts +150 -0
- package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.d.ts.map +1 -0
- package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.js +806 -0
- package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.js.map +1 -0
- package/dist/code-intelligence/orchestrator/index.d.ts +8 -0
- package/dist/code-intelligence/orchestrator/index.d.ts.map +1 -0
- package/dist/code-intelligence/orchestrator/index.js +24 -0
- package/dist/code-intelligence/orchestrator/index.js.map +1 -0
- package/dist/code-intelligence/orchestrator/types.d.ts +164 -0
- package/dist/code-intelligence/orchestrator/types.d.ts.map +1 -0
- package/dist/code-intelligence/orchestrator/types.js +18 -0
- package/dist/code-intelligence/orchestrator/types.js.map +1 -0
- package/dist/code-intelligence/parser/LanguageRegistry.d.ts +13 -0
- package/dist/code-intelligence/parser/LanguageRegistry.d.ts.map +1 -0
- package/dist/code-intelligence/parser/LanguageRegistry.js +150 -0
- package/dist/code-intelligence/parser/LanguageRegistry.js.map +1 -0
- package/dist/code-intelligence/parser/TreeSitterParser.d.ts +98 -0
- package/dist/code-intelligence/parser/TreeSitterParser.d.ts.map +1 -0
- package/dist/code-intelligence/parser/TreeSitterParser.js +530 -0
- package/dist/code-intelligence/parser/TreeSitterParser.js.map +1 -0
- package/dist/code-intelligence/parser/extractors/BaseExtractor.d.ts +36 -0
- package/dist/code-intelligence/parser/extractors/BaseExtractor.d.ts.map +1 -0
- package/dist/code-intelligence/parser/extractors/BaseExtractor.js +31 -0
- package/dist/code-intelligence/parser/extractors/BaseExtractor.js.map +1 -0
- package/dist/code-intelligence/parser/extractors/GoExtractor.d.ts +21 -0
- package/dist/code-intelligence/parser/extractors/GoExtractor.d.ts.map +1 -0
- package/dist/code-intelligence/parser/extractors/GoExtractor.js +249 -0
- package/dist/code-intelligence/parser/extractors/GoExtractor.js.map +1 -0
- package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.d.ts +21 -0
- package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.d.ts.map +1 -0
- package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.js +217 -0
- package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.js.map +1 -0
- package/dist/code-intelligence/parser/extractors/PythonExtractor.d.ts +20 -0
- package/dist/code-intelligence/parser/extractors/PythonExtractor.d.ts.map +1 -0
- package/dist/code-intelligence/parser/extractors/PythonExtractor.js +237 -0
- package/dist/code-intelligence/parser/extractors/PythonExtractor.js.map +1 -0
- package/dist/code-intelligence/parser/extractors/RustExtractor.d.ts +21 -0
- package/dist/code-intelligence/parser/extractors/RustExtractor.d.ts.map +1 -0
- package/dist/code-intelligence/parser/extractors/RustExtractor.js +234 -0
- package/dist/code-intelligence/parser/extractors/RustExtractor.js.map +1 -0
- package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.d.ts +23 -0
- package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.d.ts.map +1 -0
- package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.js +247 -0
- package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.js.map +1 -0
- package/dist/code-intelligence/parser/extractors/index.d.ts +7 -0
- package/dist/code-intelligence/parser/extractors/index.d.ts.map +1 -0
- package/dist/code-intelligence/parser/extractors/index.js +16 -0
- package/dist/code-intelligence/parser/extractors/index.js.map +1 -0
- package/dist/code-intelligence/parser/index.d.ts +8 -0
- package/dist/code-intelligence/parser/index.d.ts.map +1 -0
- package/dist/code-intelligence/parser/index.js +12 -0
- package/dist/code-intelligence/parser/index.js.map +1 -0
- package/dist/code-intelligence/parser/types.d.ts +60 -0
- package/dist/code-intelligence/parser/types.d.ts.map +1 -0
- package/dist/code-intelligence/parser/types.js +6 -0
- package/dist/code-intelligence/parser/types.js.map +1 -0
- package/dist/code-intelligence/rag/ContextBuilder.d.ts +82 -0
- package/dist/code-intelligence/rag/ContextBuilder.d.ts.map +1 -0
- package/dist/code-intelligence/rag/ContextBuilder.js +242 -0
- package/dist/code-intelligence/rag/ContextBuilder.js.map +1 -0
- package/dist/code-intelligence/rag/GraphExpander.d.ts +95 -0
- package/dist/code-intelligence/rag/GraphExpander.d.ts.map +1 -0
- package/dist/code-intelligence/rag/GraphExpander.js +250 -0
- package/dist/code-intelligence/rag/GraphExpander.js.map +1 -0
- package/dist/code-intelligence/rag/index.d.ts +9 -0
- package/dist/code-intelligence/rag/index.d.ts.map +1 -0
- package/dist/code-intelligence/rag/index.js +25 -0
- package/dist/code-intelligence/rag/index.js.map +1 -0
- package/dist/code-intelligence/rag/types.d.ts +121 -0
- package/dist/code-intelligence/rag/types.d.ts.map +1 -0
- package/dist/code-intelligence/rag/types.js +50 -0
- package/dist/code-intelligence/rag/types.js.map +1 -0
- package/dist/code-intelligence/retrieval/SemanticRetriever.d.ts +62 -0
- package/dist/code-intelligence/retrieval/SemanticRetriever.d.ts.map +1 -0
- package/dist/code-intelligence/retrieval/SemanticRetriever.js +174 -0
- package/dist/code-intelligence/retrieval/SemanticRetriever.js.map +1 -0
- package/dist/code-intelligence/retrieval/index.d.ts +9 -0
- package/dist/code-intelligence/retrieval/index.d.ts.map +1 -0
- package/dist/code-intelligence/retrieval/index.js +16 -0
- package/dist/code-intelligence/retrieval/index.js.map +1 -0
- package/dist/code-intelligence/retrieval/types.d.ts +118 -0
- package/dist/code-intelligence/retrieval/types.d.ts.map +1 -0
- package/dist/code-intelligence/retrieval/types.js +46 -0
- package/dist/code-intelligence/retrieval/types.js.map +1 -0
- package/dist/code-intelligence/router/CodeIntelligenceHybridRouter.d.ts +167 -0
- package/dist/code-intelligence/router/CodeIntelligenceHybridRouter.d.ts.map +1 -0
- package/dist/code-intelligence/router/CodeIntelligenceHybridRouter.js +365 -0
- package/dist/code-intelligence/router/CodeIntelligenceHybridRouter.js.map +1 -0
- package/dist/code-intelligence/router/index.d.ts +7 -0
- package/dist/code-intelligence/router/index.d.ts.map +1 -0
- package/dist/code-intelligence/router/index.js +14 -0
- package/dist/code-intelligence/router/index.js.map +1 -0
- package/dist/code-intelligence/search/BM25Search.d.ts +74 -0
- package/dist/code-intelligence/search/BM25Search.d.ts.map +1 -0
- package/dist/code-intelligence/search/BM25Search.js +233 -0
- package/dist/code-intelligence/search/BM25Search.js.map +1 -0
- package/dist/code-intelligence/search/HybridSearchEngine.d.ts +94 -0
- package/dist/code-intelligence/search/HybridSearchEngine.d.ts.map +1 -0
- package/dist/code-intelligence/search/HybridSearchEngine.js +168 -0
- package/dist/code-intelligence/search/HybridSearchEngine.js.map +1 -0
- package/dist/code-intelligence/search/RRFFusion.d.ts +46 -0
- package/dist/code-intelligence/search/RRFFusion.d.ts.map +1 -0
- package/dist/code-intelligence/search/RRFFusion.js +223 -0
- package/dist/code-intelligence/search/RRFFusion.js.map +1 -0
- package/dist/code-intelligence/search/VectorSearch.d.ts +157 -0
- package/dist/code-intelligence/search/VectorSearch.d.ts.map +1 -0
- package/dist/code-intelligence/search/VectorSearch.js +301 -0
- package/dist/code-intelligence/search/VectorSearch.js.map +1 -0
- package/dist/code-intelligence/search/index.d.ts +14 -0
- package/dist/code-intelligence/search/index.d.ts.map +1 -0
- package/dist/code-intelligence/search/index.js +23 -0
- package/dist/code-intelligence/search/index.js.map +1 -0
- package/dist/code-intelligence/search/types.d.ts +201 -0
- package/dist/code-intelligence/search/types.d.ts.map +1 -0
- package/dist/code-intelligence/search/types.js +35 -0
- package/dist/code-intelligence/search/types.js.map +1 -0
- package/dist/code-intelligence/service/CodeIntelligenceService.d.ts +171 -0
- package/dist/code-intelligence/service/CodeIntelligenceService.d.ts.map +1 -0
- package/dist/code-intelligence/service/CodeIntelligenceService.js +325 -0
- package/dist/code-intelligence/service/CodeIntelligenceService.js.map +1 -0
- package/dist/code-intelligence/service/index.d.ts +7 -0
- package/dist/code-intelligence/service/index.d.ts.map +1 -0
- package/dist/code-intelligence/service/index.js +14 -0
- package/dist/code-intelligence/service/index.js.map +1 -0
- package/dist/code-intelligence/storage/CodeChunkStore.d.ts +213 -0
- package/dist/code-intelligence/storage/CodeChunkStore.d.ts.map +1 -0
- package/dist/code-intelligence/storage/CodeChunkStore.js +542 -0
- package/dist/code-intelligence/storage/CodeChunkStore.js.map +1 -0
- package/dist/code-intelligence/storage/index.d.ts +7 -0
- package/dist/code-intelligence/storage/index.d.ts.map +1 -0
- package/dist/code-intelligence/storage/index.js +13 -0
- package/dist/code-intelligence/storage/index.js.map +1 -0
- package/dist/code-intelligence/visualization/ClassDiagramBuilder.d.ts +51 -0
- package/dist/code-intelligence/visualization/ClassDiagramBuilder.d.ts.map +1 -0
- package/dist/code-intelligence/visualization/ClassDiagramBuilder.js +180 -0
- package/dist/code-intelligence/visualization/ClassDiagramBuilder.js.map +1 -0
- package/dist/code-intelligence/visualization/DependencyGraphBuilder.d.ts +66 -0
- package/dist/code-intelligence/visualization/DependencyGraphBuilder.d.ts.map +1 -0
- package/dist/code-intelligence/visualization/DependencyGraphBuilder.js +203 -0
- package/dist/code-intelligence/visualization/DependencyGraphBuilder.js.map +1 -0
- package/dist/code-intelligence/visualization/MermaidGenerator.d.ts +76 -0
- package/dist/code-intelligence/visualization/MermaidGenerator.d.ts.map +1 -0
- package/dist/code-intelligence/visualization/MermaidGenerator.js +368 -0
- package/dist/code-intelligence/visualization/MermaidGenerator.js.map +1 -0
- package/dist/code-intelligence/visualization/index.d.ts +9 -0
- package/dist/code-intelligence/visualization/index.d.ts.map +1 -0
- package/dist/code-intelligence/visualization/index.js +15 -0
- package/dist/code-intelligence/visualization/index.js.map +1 -0
- package/dist/core/FleetManager.d.ts +27 -0
- package/dist/core/FleetManager.d.ts.map +1 -1
- package/dist/core/FleetManager.js +84 -0
- package/dist/core/FleetManager.js.map +1 -1
- package/dist/core/memory/HNSWVectorMemory.js +1 -1
- package/dist/core/memory/HNSWVectorMemory.js.map +1 -1
- package/dist/mcp/handlers/agent-spawn.d.ts +71 -5
- package/dist/mcp/handlers/agent-spawn.d.ts.map +1 -1
- package/dist/mcp/handlers/agent-spawn.js +336 -110
- package/dist/mcp/handlers/agent-spawn.js.map +1 -1
- package/dist/mcp/handlers/fleet-init.d.ts +24 -0
- package/dist/mcp/handlers/fleet-init.d.ts.map +1 -1
- package/dist/mcp/handlers/fleet-init.js +56 -4
- package/dist/mcp/handlers/fleet-init.js.map +1 -1
- package/dist/mcp/server-instructions.d.ts +1 -1
- package/dist/mcp/server-instructions.d.ts.map +1 -1
- package/dist/mcp/server-instructions.js +1 -1
- package/dist/mcp/server-instructions.js.map +1 -1
- package/dist/memory/HNSWPatternStore.d.ts.map +1 -1
- package/dist/memory/HNSWPatternStore.js.map +1 -1
- package/dist/plugins/BasePlugin.d.ts +111 -0
- package/dist/plugins/BasePlugin.d.ts.map +1 -0
- package/dist/plugins/BasePlugin.js +154 -0
- package/dist/plugins/BasePlugin.js.map +1 -0
- package/dist/plugins/PluginManager.d.ts +145 -0
- package/dist/plugins/PluginManager.d.ts.map +1 -0
- package/dist/plugins/PluginManager.js +862 -0
- package/dist/plugins/PluginManager.js.map +1 -0
- package/dist/plugins/adapters/McpToolsPlugin.d.ts +98 -0
- package/dist/plugins/adapters/McpToolsPlugin.d.ts.map +1 -0
- package/dist/plugins/adapters/McpToolsPlugin.js +518 -0
- package/dist/plugins/adapters/McpToolsPlugin.js.map +1 -0
- package/dist/plugins/adapters/PlaywrightPlugin.d.ts +63 -0
- package/dist/plugins/adapters/PlaywrightPlugin.d.ts.map +1 -0
- package/dist/plugins/adapters/PlaywrightPlugin.js +451 -0
- package/dist/plugins/adapters/PlaywrightPlugin.js.map +1 -0
- package/dist/plugins/adapters/VitestPlugin.d.ts +74 -0
- package/dist/plugins/adapters/VitestPlugin.d.ts.map +1 -0
- package/dist/plugins/adapters/VitestPlugin.js +589 -0
- package/dist/plugins/adapters/VitestPlugin.js.map +1 -0
- package/dist/plugins/adapters/index.d.ts +8 -0
- package/dist/plugins/adapters/index.d.ts.map +1 -0
- package/dist/plugins/adapters/index.js +17 -0
- package/dist/plugins/adapters/index.js.map +1 -0
- package/dist/plugins/index.d.ts +32 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +48 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/types.d.ts +528 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/plugins/types.js +61 -0
- package/dist/plugins/types.js.map +1 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/docs/reference/agents.md +44 -1
- package/package.json +15 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NomicEmbedder.d.ts","sourceRoot":"","sources":["../../../src/code-intelligence/embeddings/NomicEmbedder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EACL,SAAS,EAET,oBAAoB,EAEpB,gBAAgB,EAEjB,MAAM,SAAS,CAAC;AAEjB,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,SAAS,CAAS;gBAGxB,aAAa,CAAC,EAAE,MAAM,EACtB,YAAY,CAAC,EAAE,MAAM,EACrB,SAAS,GAAE,MAAoC;IAOjD;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAgB5C;;;OAGG;IACH,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;IAkC5C;;OAEG;IACG,UAAU,CACd,MAAM,EAAE,SAAS,EAAE,EACnB,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,oBAAoB,CAAC;IAyDhC;;OAEG;YACW,YAAY;IAgD1B;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,aAAa;IAIb;;OAEG;IACH,mBAAmB,IAAI,MAAM;IAI7B;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAIrC;;OAEG;IACG,aAAa;IAInB;;OAEG;IACH,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI3C;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE;IAI1C;;OAEG;IACH,iBAAiB,CACf,UAAU,EAAE,MAAM,EAClB,yBAAyB,GAAE,MAAY,GACtC,MAAM;IAQT;;OAEG;IACH,SAAS;;;;;;;CASV"}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Nomic Embedder for Code Intelligence System v2.0
|
|
4
|
+
*
|
|
5
|
+
* Features:
|
|
6
|
+
* - Local, zero-cost embeddings via Ollama
|
|
7
|
+
* - Batch processing (100 chunks at a time)
|
|
8
|
+
* - Semantic context formatting for code chunks
|
|
9
|
+
* - Embedding caching with content hashing
|
|
10
|
+
* - Progress tracking for large batches
|
|
11
|
+
* - Error handling and retries
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.NomicEmbedder = void 0;
|
|
15
|
+
const OllamaClient_1 = require("./OllamaClient");
|
|
16
|
+
const EmbeddingCache_1 = require("./EmbeddingCache");
|
|
17
|
+
const types_1 = require("./types");
|
|
18
|
+
class NomicEmbedder {
|
|
19
|
+
constructor(ollamaBaseUrl, maxCacheSize, batchSize = types_1.EMBEDDING_CONFIG.BATCH_SIZE) {
|
|
20
|
+
this.client = new OllamaClient_1.OllamaClient(ollamaBaseUrl);
|
|
21
|
+
this.cache = new EmbeddingCache_1.EmbeddingCache(maxCacheSize);
|
|
22
|
+
this.batchSize = batchSize;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Generate embedding for a single text string
|
|
26
|
+
*/
|
|
27
|
+
async embed(text) {
|
|
28
|
+
// Check cache first
|
|
29
|
+
const cached = this.cache.get(text, types_1.EMBEDDING_CONFIG.MODEL);
|
|
30
|
+
if (cached) {
|
|
31
|
+
return cached;
|
|
32
|
+
}
|
|
33
|
+
// Generate new embedding
|
|
34
|
+
const embedding = await this.client.generateEmbedding(text);
|
|
35
|
+
// Cache result
|
|
36
|
+
this.cache.set(text, types_1.EMBEDDING_CONFIG.MODEL, embedding);
|
|
37
|
+
return embedding;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Format code chunk for semantic embedding
|
|
41
|
+
* Format: "[language] [type] [name]: [content]"
|
|
42
|
+
*/
|
|
43
|
+
formatForEmbedding(chunk) {
|
|
44
|
+
const parts = [];
|
|
45
|
+
// Add language
|
|
46
|
+
if (chunk.language) {
|
|
47
|
+
parts.push(chunk.language);
|
|
48
|
+
}
|
|
49
|
+
// Add type (function, class, method, etc.)
|
|
50
|
+
if (chunk.type) {
|
|
51
|
+
parts.push(chunk.type);
|
|
52
|
+
}
|
|
53
|
+
// Add name if available
|
|
54
|
+
if (chunk.name) {
|
|
55
|
+
parts.push(chunk.name);
|
|
56
|
+
}
|
|
57
|
+
// Build context prefix
|
|
58
|
+
const context = parts.length > 0 ? `${parts.join(' ')}: ` : '';
|
|
59
|
+
// Truncate content if needed (8192 token limit)
|
|
60
|
+
// Rough estimate: 1 token ≈ 4 characters
|
|
61
|
+
const maxContentLength = types_1.EMBEDDING_CONFIG.CONTEXT_WINDOW * 4;
|
|
62
|
+
let content = chunk.content.trim();
|
|
63
|
+
if (context.length + content.length > maxContentLength) {
|
|
64
|
+
const availableLength = maxContentLength - context.length - 3; // -3 for "..."
|
|
65
|
+
content = content.substring(0, availableLength) + '...';
|
|
66
|
+
}
|
|
67
|
+
return context + content;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Generate embeddings for multiple code chunks with batching
|
|
71
|
+
*/
|
|
72
|
+
async embedBatch(chunks, progressCallback) {
|
|
73
|
+
const startTime = Date.now();
|
|
74
|
+
const results = [];
|
|
75
|
+
let cachedHits = 0;
|
|
76
|
+
let computedNew = 0;
|
|
77
|
+
// Ensure Ollama is available before starting
|
|
78
|
+
await this.client.ensureModelAvailable();
|
|
79
|
+
// Process in batches
|
|
80
|
+
for (let i = 0; i < chunks.length; i += this.batchSize) {
|
|
81
|
+
const batch = chunks.slice(i, Math.min(i + this.batchSize, chunks.length));
|
|
82
|
+
const batchResults = await this.processBatch(batch);
|
|
83
|
+
results.push(...batchResults);
|
|
84
|
+
// Update statistics
|
|
85
|
+
for (const result of batchResults) {
|
|
86
|
+
if (result.cached) {
|
|
87
|
+
cachedHits++;
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
computedNew++;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
// Report progress
|
|
94
|
+
if (progressCallback) {
|
|
95
|
+
const current = i + batch.length;
|
|
96
|
+
const total = chunks.length;
|
|
97
|
+
const elapsed = Date.now() - startTime;
|
|
98
|
+
const avgTimePerChunk = elapsed / current;
|
|
99
|
+
const remaining = total - current;
|
|
100
|
+
const estimatedTimeRemainingMs = remaining * avgTimePerChunk;
|
|
101
|
+
progressCallback({
|
|
102
|
+
current,
|
|
103
|
+
total,
|
|
104
|
+
percentage: (current / total) * 100,
|
|
105
|
+
estimatedTimeRemainingMs
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
const totalTimeMs = Date.now() - startTime;
|
|
110
|
+
return {
|
|
111
|
+
results,
|
|
112
|
+
stats: {
|
|
113
|
+
totalChunks: chunks.length,
|
|
114
|
+
cachedHits,
|
|
115
|
+
computedNew,
|
|
116
|
+
totalTimeMs,
|
|
117
|
+
avgTimePerChunk: totalTimeMs / chunks.length
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Process a single batch of chunks
|
|
123
|
+
*/
|
|
124
|
+
async processBatch(chunks) {
|
|
125
|
+
const results = [];
|
|
126
|
+
// Process chunks concurrently within the batch
|
|
127
|
+
const promises = chunks.map(async (chunk) => {
|
|
128
|
+
const formattedText = this.formatForEmbedding(chunk);
|
|
129
|
+
const chunkStartTime = Date.now();
|
|
130
|
+
// Check cache
|
|
131
|
+
const cachedEmbedding = this.cache.get(formattedText, types_1.EMBEDDING_CONFIG.MODEL);
|
|
132
|
+
if (cachedEmbedding) {
|
|
133
|
+
return {
|
|
134
|
+
chunkId: chunk.id,
|
|
135
|
+
embedding: cachedEmbedding,
|
|
136
|
+
model: types_1.EMBEDDING_CONFIG.MODEL,
|
|
137
|
+
cached: true,
|
|
138
|
+
computeTimeMs: Date.now() - chunkStartTime
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
// Generate new embedding
|
|
142
|
+
try {
|
|
143
|
+
const embedding = await this.client.generateEmbedding(formattedText);
|
|
144
|
+
// Cache the result
|
|
145
|
+
this.cache.set(formattedText, types_1.EMBEDDING_CONFIG.MODEL, embedding);
|
|
146
|
+
return {
|
|
147
|
+
chunkId: chunk.id,
|
|
148
|
+
embedding,
|
|
149
|
+
model: types_1.EMBEDDING_CONFIG.MODEL,
|
|
150
|
+
cached: false,
|
|
151
|
+
computeTimeMs: Date.now() - chunkStartTime
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
throw new Error(`Failed to generate embedding for chunk ${chunk.id}: ${error instanceof Error ? error.message : String(error)}`);
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
const batchResults = await Promise.all(promises);
|
|
159
|
+
results.push(...batchResults);
|
|
160
|
+
return results;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Clear the embedding cache
|
|
164
|
+
*/
|
|
165
|
+
clearCache() {
|
|
166
|
+
this.cache.clear();
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Get cache statistics
|
|
170
|
+
*/
|
|
171
|
+
getCacheStats() {
|
|
172
|
+
return this.cache.getStats();
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Get cache memory usage estimate
|
|
176
|
+
*/
|
|
177
|
+
getCacheMemoryUsage() {
|
|
178
|
+
return this.cache.getMemoryUsageEstimate();
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Verify Ollama connection and model availability
|
|
182
|
+
*/
|
|
183
|
+
async healthCheck() {
|
|
184
|
+
return await this.client.healthCheck();
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Get Ollama server information
|
|
188
|
+
*/
|
|
189
|
+
async getServerInfo() {
|
|
190
|
+
return await this.client.getServerInfo();
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Evict old cache entries
|
|
194
|
+
*/
|
|
195
|
+
evictOldCacheEntries(ageMs) {
|
|
196
|
+
return this.cache.evictOlderThan(ageMs);
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Warmup cache with common code patterns
|
|
200
|
+
*/
|
|
201
|
+
async warmupCache(chunks) {
|
|
202
|
+
await this.embedBatch(chunks);
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Batch format chunks without generating embeddings (for testing)
|
|
206
|
+
*/
|
|
207
|
+
batchFormat(chunks) {
|
|
208
|
+
return chunks.map(chunk => this.formatForEmbedding(chunk));
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Estimate total time for embedding batch
|
|
212
|
+
*/
|
|
213
|
+
estimateBatchTime(chunkCount, assumedTimePerEmbeddingMs = 100) {
|
|
214
|
+
const cacheStats = this.getCacheStats();
|
|
215
|
+
const expectedCacheHitRate = cacheStats.hitRate || 0;
|
|
216
|
+
const expectedCacheMisses = chunkCount * (1 - expectedCacheHitRate);
|
|
217
|
+
return expectedCacheMisses * assumedTimePerEmbeddingMs;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Get configuration info
|
|
221
|
+
*/
|
|
222
|
+
getConfig() {
|
|
223
|
+
return {
|
|
224
|
+
model: types_1.EMBEDDING_CONFIG.MODEL,
|
|
225
|
+
dimensions: types_1.EMBEDDING_CONFIG.DIMENSIONS,
|
|
226
|
+
contextWindow: types_1.EMBEDDING_CONFIG.CONTEXT_WINDOW,
|
|
227
|
+
batchSize: this.batchSize,
|
|
228
|
+
maxRetries: types_1.EMBEDDING_CONFIG.MAX_RETRIES
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
exports.NomicEmbedder = NomicEmbedder;
|
|
233
|
+
//# sourceMappingURL=NomicEmbedder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NomicEmbedder.js","sourceRoot":"","sources":["../../../src/code-intelligence/embeddings/NomicEmbedder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ollama API Client for Nomic Embeddings
|
|
3
|
+
*
|
|
4
|
+
* Handles communication with Ollama subprocess including:
|
|
5
|
+
* - Health checks
|
|
6
|
+
* - Retry logic with exponential backoff
|
|
7
|
+
* - Error handling
|
|
8
|
+
* - Request/response management
|
|
9
|
+
*/
|
|
10
|
+
import { OllamaHealthResponse } from './types';
|
|
11
|
+
export declare class OllamaClient {
|
|
12
|
+
private baseUrl;
|
|
13
|
+
private maxRetries;
|
|
14
|
+
private retryDelayMs;
|
|
15
|
+
private timeoutMs;
|
|
16
|
+
constructor(baseUrl?: string, maxRetries?: number, retryDelayMs?: number, timeoutMs?: number);
|
|
17
|
+
/**
|
|
18
|
+
* Check if Ollama is running and nomic-embed-text model is available
|
|
19
|
+
*/
|
|
20
|
+
healthCheck(): Promise<boolean>;
|
|
21
|
+
/**
|
|
22
|
+
* Generate embedding for a single text prompt
|
|
23
|
+
*/
|
|
24
|
+
generateEmbedding(prompt: string): Promise<number[]>;
|
|
25
|
+
/**
|
|
26
|
+
* Fetch with timeout support
|
|
27
|
+
*/
|
|
28
|
+
private fetchWithTimeout;
|
|
29
|
+
/**
|
|
30
|
+
* Sleep utility for retry delays
|
|
31
|
+
*/
|
|
32
|
+
private sleep;
|
|
33
|
+
/**
|
|
34
|
+
* Get Ollama server info
|
|
35
|
+
*/
|
|
36
|
+
getServerInfo(): Promise<OllamaHealthResponse | null>;
|
|
37
|
+
/**
|
|
38
|
+
* Verify model is available and download if needed
|
|
39
|
+
*/
|
|
40
|
+
ensureModelAvailable(): Promise<void>;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=OllamaClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OllamaClient.d.ts","sourceRoot":"","sources":["../../../src/code-intelligence/embeddings/OllamaClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAGL,oBAAoB,EAErB,MAAM,SAAS,CAAC;AAEjB,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;gBAGxB,OAAO,GAAE,MAA4C,EACrD,UAAU,GAAE,MAAqC,EACjD,YAAY,GAAE,MAAwC,EACtD,SAAS,GAAE,MAAoC;IAQjD;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAgCrC;;OAEG;IACG,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA0D1D;;OAEG;YACW,gBAAgB;IAmB9B;;OAEG;IACH,OAAO,CAAC,KAAK;IAIb;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAqB3D;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;CAU5C"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Ollama API Client for Nomic Embeddings
|
|
4
|
+
*
|
|
5
|
+
* Handles communication with Ollama subprocess including:
|
|
6
|
+
* - Health checks
|
|
7
|
+
* - Retry logic with exponential backoff
|
|
8
|
+
* - Error handling
|
|
9
|
+
* - Request/response management
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.OllamaClient = void 0;
|
|
13
|
+
const types_1 = require("./types");
|
|
14
|
+
class OllamaClient {
|
|
15
|
+
constructor(baseUrl = types_1.EMBEDDING_CONFIG.DEFAULT_OLLAMA_URL, maxRetries = types_1.EMBEDDING_CONFIG.MAX_RETRIES, retryDelayMs = types_1.EMBEDDING_CONFIG.RETRY_DELAY_MS, timeoutMs = types_1.EMBEDDING_CONFIG.TIMEOUT_MS) {
|
|
16
|
+
this.baseUrl = baseUrl.replace(/\/$/, ''); // Remove trailing slash
|
|
17
|
+
this.maxRetries = maxRetries;
|
|
18
|
+
this.retryDelayMs = retryDelayMs;
|
|
19
|
+
this.timeoutMs = timeoutMs;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Check if Ollama is running and nomic-embed-text model is available
|
|
23
|
+
*/
|
|
24
|
+
async healthCheck() {
|
|
25
|
+
try {
|
|
26
|
+
const response = await this.fetchWithTimeout(`${this.baseUrl}/api/tags`, {
|
|
27
|
+
method: 'GET',
|
|
28
|
+
headers: { 'Content-Type': 'application/json' }
|
|
29
|
+
}, 5000 // Shorter timeout for health check
|
|
30
|
+
);
|
|
31
|
+
if (!response.ok) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
const data = await response.json();
|
|
35
|
+
// Check if nomic-embed-text model is available
|
|
36
|
+
// Model names may include tags like ":latest", so use startsWith for matching
|
|
37
|
+
if (data.models) {
|
|
38
|
+
return data.models.some(model => model.name?.startsWith(types_1.EMBEDDING_CONFIG.MODEL) ||
|
|
39
|
+
model.model?.startsWith(types_1.EMBEDDING_CONFIG.MODEL));
|
|
40
|
+
}
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Generate embedding for a single text prompt
|
|
49
|
+
*/
|
|
50
|
+
async generateEmbedding(prompt) {
|
|
51
|
+
const request = {
|
|
52
|
+
model: types_1.EMBEDDING_CONFIG.MODEL,
|
|
53
|
+
prompt
|
|
54
|
+
};
|
|
55
|
+
let lastError = null;
|
|
56
|
+
for (let attempt = 0; attempt < this.maxRetries; attempt++) {
|
|
57
|
+
try {
|
|
58
|
+
const response = await this.fetchWithTimeout(`${this.baseUrl}/api/embeddings`, {
|
|
59
|
+
method: 'POST',
|
|
60
|
+
headers: { 'Content-Type': 'application/json' },
|
|
61
|
+
body: JSON.stringify(request)
|
|
62
|
+
}, this.timeoutMs);
|
|
63
|
+
if (!response.ok) {
|
|
64
|
+
const errorText = await response.text();
|
|
65
|
+
throw new Error(`Ollama API error (${response.status}): ${errorText}`);
|
|
66
|
+
}
|
|
67
|
+
const data = await response.json();
|
|
68
|
+
// Validate embedding dimensions
|
|
69
|
+
if (data.embedding.length !== types_1.EMBEDDING_CONFIG.DIMENSIONS) {
|
|
70
|
+
throw new Error(`Invalid embedding dimensions: expected ${types_1.EMBEDDING_CONFIG.DIMENSIONS}, got ${data.embedding.length}`);
|
|
71
|
+
}
|
|
72
|
+
return data.embedding;
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
lastError = error instanceof Error ? error : new Error(String(error));
|
|
76
|
+
// Don't retry on validation errors
|
|
77
|
+
if (lastError.message.includes('Invalid embedding dimensions')) {
|
|
78
|
+
throw lastError;
|
|
79
|
+
}
|
|
80
|
+
// Wait before retrying (exponential backoff)
|
|
81
|
+
if (attempt < this.maxRetries - 1) {
|
|
82
|
+
const delay = this.retryDelayMs * Math.pow(2, attempt);
|
|
83
|
+
await this.sleep(delay);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
throw new Error(`Failed to generate embedding after ${this.maxRetries} attempts: ${lastError?.message}`);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Fetch with timeout support
|
|
91
|
+
*/
|
|
92
|
+
async fetchWithTimeout(url, options, timeoutMs) {
|
|
93
|
+
const controller = new AbortController();
|
|
94
|
+
const timeoutId = setTimeout(() => controller.abort(), timeoutMs);
|
|
95
|
+
try {
|
|
96
|
+
const response = await fetch(url, {
|
|
97
|
+
...options,
|
|
98
|
+
signal: controller.signal
|
|
99
|
+
});
|
|
100
|
+
return response;
|
|
101
|
+
}
|
|
102
|
+
finally {
|
|
103
|
+
clearTimeout(timeoutId);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Sleep utility for retry delays
|
|
108
|
+
*/
|
|
109
|
+
sleep(ms) {
|
|
110
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Get Ollama server info
|
|
114
|
+
*/
|
|
115
|
+
async getServerInfo() {
|
|
116
|
+
try {
|
|
117
|
+
const response = await this.fetchWithTimeout(`${this.baseUrl}/api/tags`, {
|
|
118
|
+
method: 'GET',
|
|
119
|
+
headers: { 'Content-Type': 'application/json' }
|
|
120
|
+
}, 5000);
|
|
121
|
+
if (!response.ok) {
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
return await response.json();
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Verify model is available and download if needed
|
|
132
|
+
*/
|
|
133
|
+
async ensureModelAvailable() {
|
|
134
|
+
const isHealthy = await this.healthCheck();
|
|
135
|
+
if (!isHealthy) {
|
|
136
|
+
throw new Error(`Ollama model '${types_1.EMBEDDING_CONFIG.MODEL}' is not available. ` +
|
|
137
|
+
`Please run: ollama pull ${types_1.EMBEDDING_CONFIG.MODEL}`);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
exports.OllamaClient = OllamaClient;
|
|
142
|
+
//# sourceMappingURL=OllamaClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OllamaClient.js","sourceRoot":"","sources":["../../../src/code-intelligence/embeddings/OllamaClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code Intelligence Embeddings Module
|
|
3
|
+
*
|
|
4
|
+
* Provides local, zero-cost embeddings via Ollama and nomic-embed-text model
|
|
5
|
+
*
|
|
6
|
+
* Features:
|
|
7
|
+
* - 768-dimensional embeddings optimized for code
|
|
8
|
+
* - Batch processing with progress tracking
|
|
9
|
+
* - Semantic context formatting
|
|
10
|
+
* - Content-hash based caching
|
|
11
|
+
* - Error handling and retries
|
|
12
|
+
*
|
|
13
|
+
* Usage:
|
|
14
|
+
* ```typescript
|
|
15
|
+
* import { NomicEmbedder } from './embeddings';
|
|
16
|
+
*
|
|
17
|
+
* const embedder = new NomicEmbedder();
|
|
18
|
+
*
|
|
19
|
+
* // Single embedding
|
|
20
|
+
* const embedding = await embedder.embed("function example() {}");
|
|
21
|
+
*
|
|
22
|
+
* // Batch embeddings with progress
|
|
23
|
+
* const result = await embedder.embedBatch(chunks, (progress) => {
|
|
24
|
+
* console.log(`${progress.percentage.toFixed(1)}% complete`);
|
|
25
|
+
* });
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export { NomicEmbedder } from './NomicEmbedder';
|
|
29
|
+
export { OllamaClient } from './OllamaClient';
|
|
30
|
+
export { EmbeddingCache } from './EmbeddingCache';
|
|
31
|
+
export type { CodeChunk, EmbeddingResult, EmbeddingBatchResult, OllamaEmbeddingRequest, OllamaEmbeddingResponse, OllamaHealthResponse, CacheStats, EmbeddingCacheEntry, BatchProgress, ProgressCallback } from './types';
|
|
32
|
+
export { EMBEDDING_CONFIG } from './types';
|
|
33
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/code-intelligence/embeddings/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,YAAY,EACV,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,UAAU,EACV,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Code Intelligence Embeddings Module
|
|
4
|
+
*
|
|
5
|
+
* Provides local, zero-cost embeddings via Ollama and nomic-embed-text model
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - 768-dimensional embeddings optimized for code
|
|
9
|
+
* - Batch processing with progress tracking
|
|
10
|
+
* - Semantic context formatting
|
|
11
|
+
* - Content-hash based caching
|
|
12
|
+
* - Error handling and retries
|
|
13
|
+
*
|
|
14
|
+
* Usage:
|
|
15
|
+
* ```typescript
|
|
16
|
+
* import { NomicEmbedder } from './embeddings';
|
|
17
|
+
*
|
|
18
|
+
* const embedder = new NomicEmbedder();
|
|
19
|
+
*
|
|
20
|
+
* // Single embedding
|
|
21
|
+
* const embedding = await embedder.embed("function example() {}");
|
|
22
|
+
*
|
|
23
|
+
* // Batch embeddings with progress
|
|
24
|
+
* const result = await embedder.embedBatch(chunks, (progress) => {
|
|
25
|
+
* console.log(`${progress.percentage.toFixed(1)}% complete`);
|
|
26
|
+
* });
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
exports.EMBEDDING_CONFIG = exports.EmbeddingCache = exports.OllamaClient = exports.NomicEmbedder = void 0;
|
|
31
|
+
var NomicEmbedder_1 = require("./NomicEmbedder");
|
|
32
|
+
Object.defineProperty(exports, "NomicEmbedder", { enumerable: true, get: function () { return NomicEmbedder_1.NomicEmbedder; } });
|
|
33
|
+
var OllamaClient_1 = require("./OllamaClient");
|
|
34
|
+
Object.defineProperty(exports, "OllamaClient", { enumerable: true, get: function () { return OllamaClient_1.OllamaClient; } });
|
|
35
|
+
var EmbeddingCache_1 = require("./EmbeddingCache");
|
|
36
|
+
Object.defineProperty(exports, "EmbeddingCache", { enumerable: true, get: function () { return EmbeddingCache_1.EmbeddingCache; } });
|
|
37
|
+
var types_1 = require("./types");
|
|
38
|
+
Object.defineProperty(exports, "EMBEDDING_CONFIG", { enumerable: true, get: function () { return types_1.EMBEDDING_CONFIG; } });
|
|
39
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/code-intelligence/embeddings/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;;;AAEH,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AAevB,iCAA2C;AAAlC,yGAAA,gBAAgB,OAAA"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for Code Intelligence Embedding System
|
|
3
|
+
*
|
|
4
|
+
* Supports nomic-embed-text model via Ollama for local, zero-cost embeddings
|
|
5
|
+
*/
|
|
6
|
+
export interface CodeChunk {
|
|
7
|
+
id: string;
|
|
8
|
+
fileId: string;
|
|
9
|
+
content: string;
|
|
10
|
+
startLine: number;
|
|
11
|
+
endLine: number;
|
|
12
|
+
type: string;
|
|
13
|
+
name?: string;
|
|
14
|
+
language: string;
|
|
15
|
+
metadata?: Record<string, unknown>;
|
|
16
|
+
}
|
|
17
|
+
export interface EmbeddingResult {
|
|
18
|
+
chunkId: string;
|
|
19
|
+
embedding: number[];
|
|
20
|
+
model: string;
|
|
21
|
+
cached: boolean;
|
|
22
|
+
computeTimeMs: number;
|
|
23
|
+
}
|
|
24
|
+
export interface EmbeddingBatchResult {
|
|
25
|
+
results: EmbeddingResult[];
|
|
26
|
+
stats: {
|
|
27
|
+
totalChunks: number;
|
|
28
|
+
cachedHits: number;
|
|
29
|
+
computedNew: number;
|
|
30
|
+
totalTimeMs: number;
|
|
31
|
+
avgTimePerChunk: number;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export interface OllamaEmbeddingRequest {
|
|
35
|
+
model: string;
|
|
36
|
+
prompt: string;
|
|
37
|
+
}
|
|
38
|
+
export interface OllamaEmbeddingResponse {
|
|
39
|
+
embedding: number[];
|
|
40
|
+
}
|
|
41
|
+
export interface OllamaHealthResponse {
|
|
42
|
+
models?: Array<{
|
|
43
|
+
name: string;
|
|
44
|
+
model: string;
|
|
45
|
+
size: number;
|
|
46
|
+
digest: string;
|
|
47
|
+
details: {
|
|
48
|
+
format: string;
|
|
49
|
+
family: string;
|
|
50
|
+
families: string[] | null;
|
|
51
|
+
parameter_size: string;
|
|
52
|
+
quantization_level: string;
|
|
53
|
+
};
|
|
54
|
+
}>;
|
|
55
|
+
}
|
|
56
|
+
export interface CacheStats {
|
|
57
|
+
size: number;
|
|
58
|
+
hitRate: number;
|
|
59
|
+
hits: number;
|
|
60
|
+
misses: number;
|
|
61
|
+
}
|
|
62
|
+
export interface EmbeddingCacheEntry {
|
|
63
|
+
embedding: number[];
|
|
64
|
+
timestamp: number;
|
|
65
|
+
model: string;
|
|
66
|
+
}
|
|
67
|
+
export interface BatchProgress {
|
|
68
|
+
current: number;
|
|
69
|
+
total: number;
|
|
70
|
+
percentage: number;
|
|
71
|
+
estimatedTimeRemainingMs?: number;
|
|
72
|
+
}
|
|
73
|
+
export type ProgressCallback = (progress: BatchProgress) => void;
|
|
74
|
+
export declare const EMBEDDING_CONFIG: {
|
|
75
|
+
readonly MODEL: "nomic-embed-text";
|
|
76
|
+
readonly DIMENSIONS: 768;
|
|
77
|
+
readonly CONTEXT_WINDOW: 8192;
|
|
78
|
+
readonly BATCH_SIZE: 100;
|
|
79
|
+
readonly MAX_RETRIES: 3;
|
|
80
|
+
readonly RETRY_DELAY_MS: 1000;
|
|
81
|
+
readonly TIMEOUT_MS: 30000;
|
|
82
|
+
readonly DEFAULT_OLLAMA_URL: "http://localhost:11434";
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/code-intelligence/embeddings/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE;YACP,MAAM,EAAE,MAAM,CAAC;YACf,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;YAC1B,cAAc,EAAE,MAAM,CAAC;YACvB,kBAAkB,EAAE,MAAM,CAAC;SAC5B,CAAC;KACH,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;AAEjE,eAAO,MAAM,gBAAgB;;;;;;;;;CASnB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Types for Code Intelligence Embedding System
|
|
4
|
+
*
|
|
5
|
+
* Supports nomic-embed-text model via Ollama for local, zero-cost embeddings
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.EMBEDDING_CONFIG = void 0;
|
|
9
|
+
exports.EMBEDDING_CONFIG = {
|
|
10
|
+
MODEL: 'nomic-embed-text',
|
|
11
|
+
DIMENSIONS: 768,
|
|
12
|
+
CONTEXT_WINDOW: 8192,
|
|
13
|
+
BATCH_SIZE: 100,
|
|
14
|
+
MAX_RETRIES: 3,
|
|
15
|
+
RETRY_DELAY_MS: 1000,
|
|
16
|
+
TIMEOUT_MS: 30000,
|
|
17
|
+
DEFAULT_OLLAMA_URL: 'http://localhost:11434'
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/code-intelligence/embeddings/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAgFU,QAAA,gBAAgB,GAAG;IAC9B,KAAK,EAAE,kBAAkB;IACzB,UAAU,EAAE,GAAG;IACf,cAAc,EAAE,IAAI;IACpB,UAAU,EAAE,GAAG;IACf,WAAW,EAAE,CAAC;IACd,cAAc,EAAE,IAAI;IACpB,UAAU,EAAE,KAAK;IACjB,kBAAkB,EAAE,wBAAwB;CACpC,CAAC"}
|