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.
Files changed (371) hide show
  1. package/.claude/agents/qe-code-intelligence.md +359 -0
  2. package/CHANGELOG.md +146 -0
  3. package/README.md +3 -2
  4. package/dist/agents/BaseAgent.d.ts +48 -0
  5. package/dist/agents/BaseAgent.d.ts.map +1 -1
  6. package/dist/agents/BaseAgent.js +126 -0
  7. package/dist/agents/BaseAgent.js.map +1 -1
  8. package/dist/agents/CodeIntelligenceAgent.d.ts +133 -0
  9. package/dist/agents/CodeIntelligenceAgent.d.ts.map +1 -0
  10. package/dist/agents/CodeIntelligenceAgent.js +473 -0
  11. package/dist/agents/CodeIntelligenceAgent.js.map +1 -0
  12. package/dist/agents/context/ContextCache.d.ts +105 -0
  13. package/dist/agents/context/ContextCache.d.ts.map +1 -0
  14. package/dist/agents/context/ContextCache.js +235 -0
  15. package/dist/agents/context/ContextCache.js.map +1 -0
  16. package/dist/agents/context/ContextFormatter.d.ts +92 -0
  17. package/dist/agents/context/ContextFormatter.d.ts.map +1 -0
  18. package/dist/agents/context/ContextFormatter.js +338 -0
  19. package/dist/agents/context/ContextFormatter.js.map +1 -0
  20. package/dist/agents/context/GraphExpander.d.ts +87 -0
  21. package/dist/agents/context/GraphExpander.d.ts.map +1 -0
  22. package/dist/agents/context/GraphExpander.js +215 -0
  23. package/dist/agents/context/GraphExpander.js.map +1 -0
  24. package/dist/agents/context/KnowledgeGraphContextBuilder.d.ts +160 -0
  25. package/dist/agents/context/KnowledgeGraphContextBuilder.d.ts.map +1 -0
  26. package/dist/agents/context/KnowledgeGraphContextBuilder.js +300 -0
  27. package/dist/agents/context/KnowledgeGraphContextBuilder.js.map +1 -0
  28. package/dist/agents/context/index.d.ts +15 -0
  29. package/dist/agents/context/index.d.ts.map +1 -0
  30. package/dist/agents/context/index.js +18 -0
  31. package/dist/agents/context/index.js.map +1 -0
  32. package/dist/agents/index.d.ts +1 -0
  33. package/dist/agents/index.d.ts.map +1 -1
  34. package/dist/agents/index.js +67 -3
  35. package/dist/agents/index.js.map +1 -1
  36. package/dist/agents/pool/AgentPool.d.ts +112 -0
  37. package/dist/agents/pool/AgentPool.d.ts.map +1 -0
  38. package/dist/agents/pool/AgentPool.js +573 -0
  39. package/dist/agents/pool/AgentPool.js.map +1 -0
  40. package/dist/agents/pool/QEAgentPoolFactory.d.ts +118 -0
  41. package/dist/agents/pool/QEAgentPoolFactory.d.ts.map +1 -0
  42. package/dist/agents/pool/QEAgentPoolFactory.js +251 -0
  43. package/dist/agents/pool/QEAgentPoolFactory.js.map +1 -0
  44. package/dist/agents/pool/index.d.ts +34 -0
  45. package/dist/agents/pool/index.d.ts.map +1 -0
  46. package/dist/agents/pool/index.js +44 -0
  47. package/dist/agents/pool/index.js.map +1 -0
  48. package/dist/agents/pool/types.d.ts +227 -0
  49. package/dist/agents/pool/types.d.ts.map +1 -0
  50. package/dist/agents/pool/types.js +28 -0
  51. package/dist/agents/pool/types.js.map +1 -0
  52. package/dist/cli/commands/knowledge-graph.d.ts +112 -0
  53. package/dist/cli/commands/knowledge-graph.d.ts.map +1 -0
  54. package/dist/cli/commands/knowledge-graph.js +466 -0
  55. package/dist/cli/commands/knowledge-graph.js.map +1 -0
  56. package/dist/cli/formatters/KGOutputFormatter.d.ts +50 -0
  57. package/dist/cli/formatters/KGOutputFormatter.d.ts.map +1 -0
  58. package/dist/cli/formatters/KGOutputFormatter.js +237 -0
  59. package/dist/cli/formatters/KGOutputFormatter.js.map +1 -0
  60. package/dist/cli/index-working.js +138 -0
  61. package/dist/cli/index-working.js.map +1 -1
  62. package/dist/cli/init/claude-config.d.ts +13 -1
  63. package/dist/cli/init/claude-config.d.ts.map +1 -1
  64. package/dist/cli/init/claude-config.js +70 -8
  65. package/dist/cli/init/claude-config.js.map +1 -1
  66. package/dist/cli/init/code-intelligence-init.d.ts +52 -0
  67. package/dist/cli/init/code-intelligence-init.d.ts.map +1 -0
  68. package/dist/cli/init/code-intelligence-init.js +250 -0
  69. package/dist/cli/init/code-intelligence-init.js.map +1 -0
  70. package/dist/cli/init/index.d.ts +2 -2
  71. package/dist/cli/init/index.d.ts.map +1 -1
  72. package/dist/cli/init/index.js +10 -1
  73. package/dist/cli/init/index.js.map +1 -1
  74. package/dist/code-intelligence/chunking/ASTChunker.d.ts +64 -0
  75. package/dist/code-intelligence/chunking/ASTChunker.d.ts.map +1 -0
  76. package/dist/code-intelligence/chunking/ASTChunker.js +344 -0
  77. package/dist/code-intelligence/chunking/ASTChunker.js.map +1 -0
  78. package/dist/code-intelligence/chunking/ChunkSplitter.d.ts +48 -0
  79. package/dist/code-intelligence/chunking/ChunkSplitter.d.ts.map +1 -0
  80. package/dist/code-intelligence/chunking/ChunkSplitter.js +278 -0
  81. package/dist/code-intelligence/chunking/ChunkSplitter.js.map +1 -0
  82. package/dist/code-intelligence/chunking/index.d.ts +8 -0
  83. package/dist/code-intelligence/chunking/index.d.ts.map +1 -0
  84. package/dist/code-intelligence/chunking/index.js +13 -0
  85. package/dist/code-intelligence/chunking/index.js.map +1 -0
  86. package/dist/code-intelligence/chunking/types.d.ts +52 -0
  87. package/dist/code-intelligence/chunking/types.d.ts.map +1 -0
  88. package/dist/code-intelligence/chunking/types.js +6 -0
  89. package/dist/code-intelligence/chunking/types.js.map +1 -0
  90. package/dist/code-intelligence/config/database-schema.d.ts +245 -0
  91. package/dist/code-intelligence/config/database-schema.d.ts.map +1 -0
  92. package/dist/code-intelligence/config/database-schema.js +110 -0
  93. package/dist/code-intelligence/config/database-schema.js.map +1 -0
  94. package/dist/code-intelligence/config/environment.d.ts +53 -0
  95. package/dist/code-intelligence/config/environment.d.ts.map +1 -0
  96. package/dist/code-intelligence/config/environment.js +86 -0
  97. package/dist/code-intelligence/config/environment.js.map +1 -0
  98. package/dist/code-intelligence/config/index.d.ts +10 -0
  99. package/dist/code-intelligence/config/index.d.ts.map +1 -0
  100. package/dist/code-intelligence/config/index.js +36 -0
  101. package/dist/code-intelligence/config/index.js.map +1 -0
  102. package/dist/code-intelligence/embeddings/EmbeddingCache.d.ts +81 -0
  103. package/dist/code-intelligence/embeddings/EmbeddingCache.d.ts.map +1 -0
  104. package/dist/code-intelligence/embeddings/EmbeddingCache.js +168 -0
  105. package/dist/code-intelligence/embeddings/EmbeddingCache.js.map +1 -0
  106. package/dist/code-intelligence/embeddings/NomicEmbedder.d.ts +82 -0
  107. package/dist/code-intelligence/embeddings/NomicEmbedder.d.ts.map +1 -0
  108. package/dist/code-intelligence/embeddings/NomicEmbedder.js +233 -0
  109. package/dist/code-intelligence/embeddings/NomicEmbedder.js.map +1 -0
  110. package/dist/code-intelligence/embeddings/OllamaClient.d.ts +42 -0
  111. package/dist/code-intelligence/embeddings/OllamaClient.d.ts.map +1 -0
  112. package/dist/code-intelligence/embeddings/OllamaClient.js +142 -0
  113. package/dist/code-intelligence/embeddings/OllamaClient.js.map +1 -0
  114. package/dist/code-intelligence/embeddings/index.d.ts +33 -0
  115. package/dist/code-intelligence/embeddings/index.d.ts.map +1 -0
  116. package/dist/code-intelligence/embeddings/index.js +39 -0
  117. package/dist/code-intelligence/embeddings/index.js.map +1 -0
  118. package/dist/code-intelligence/embeddings/types.d.ts +84 -0
  119. package/dist/code-intelligence/embeddings/types.d.ts.map +1 -0
  120. package/dist/code-intelligence/embeddings/types.js +19 -0
  121. package/dist/code-intelligence/embeddings/types.js.map +1 -0
  122. package/dist/code-intelligence/graph/GraphBuilder.d.ts +126 -0
  123. package/dist/code-intelligence/graph/GraphBuilder.d.ts.map +1 -0
  124. package/dist/code-intelligence/graph/GraphBuilder.js +416 -0
  125. package/dist/code-intelligence/graph/GraphBuilder.js.map +1 -0
  126. package/dist/code-intelligence/graph/ImportParser.d.ts +72 -0
  127. package/dist/code-intelligence/graph/ImportParser.d.ts.map +1 -0
  128. package/dist/code-intelligence/graph/ImportParser.js +422 -0
  129. package/dist/code-intelligence/graph/ImportParser.js.map +1 -0
  130. package/dist/code-intelligence/graph/RelationshipExtractor.d.ts +74 -0
  131. package/dist/code-intelligence/graph/RelationshipExtractor.d.ts.map +1 -0
  132. package/dist/code-intelligence/graph/RelationshipExtractor.js +310 -0
  133. package/dist/code-intelligence/graph/RelationshipExtractor.js.map +1 -0
  134. package/dist/code-intelligence/graph/TestMapper.d.ts +99 -0
  135. package/dist/code-intelligence/graph/TestMapper.d.ts.map +1 -0
  136. package/dist/code-intelligence/graph/TestMapper.js +335 -0
  137. package/dist/code-intelligence/graph/TestMapper.js.map +1 -0
  138. package/dist/code-intelligence/graph/index.d.ts +14 -0
  139. package/dist/code-intelligence/graph/index.d.ts.map +1 -0
  140. package/dist/code-intelligence/graph/index.js +19 -0
  141. package/dist/code-intelligence/graph/index.js.map +1 -0
  142. package/dist/code-intelligence/graph/types.d.ts +141 -0
  143. package/dist/code-intelligence/graph/types.d.ts.map +1 -0
  144. package/dist/code-intelligence/graph/types.js +18 -0
  145. package/dist/code-intelligence/graph/types.js.map +1 -0
  146. package/dist/code-intelligence/indexing/FileWatcher.d.ts +90 -0
  147. package/dist/code-intelligence/indexing/FileWatcher.d.ts.map +1 -0
  148. package/dist/code-intelligence/indexing/FileWatcher.js +304 -0
  149. package/dist/code-intelligence/indexing/FileWatcher.js.map +1 -0
  150. package/dist/code-intelligence/indexing/GitChangeDetector.d.ts +76 -0
  151. package/dist/code-intelligence/indexing/GitChangeDetector.d.ts.map +1 -0
  152. package/dist/code-intelligence/indexing/GitChangeDetector.js +347 -0
  153. package/dist/code-intelligence/indexing/GitChangeDetector.js.map +1 -0
  154. package/dist/code-intelligence/indexing/IncrementalIndexer.d.ts +108 -0
  155. package/dist/code-intelligence/indexing/IncrementalIndexer.d.ts.map +1 -0
  156. package/dist/code-intelligence/indexing/IncrementalIndexer.js +269 -0
  157. package/dist/code-intelligence/indexing/IncrementalIndexer.js.map +1 -0
  158. package/dist/code-intelligence/indexing/index.d.ts +11 -0
  159. package/dist/code-intelligence/indexing/index.d.ts.map +1 -0
  160. package/dist/code-intelligence/indexing/index.js +18 -0
  161. package/dist/code-intelligence/indexing/index.js.map +1 -0
  162. package/dist/code-intelligence/indexing/types.d.ts +133 -0
  163. package/dist/code-intelligence/indexing/types.d.ts.map +1 -0
  164. package/dist/code-intelligence/indexing/types.js +27 -0
  165. package/dist/code-intelligence/indexing/types.js.map +1 -0
  166. package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.d.ts +150 -0
  167. package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.d.ts.map +1 -0
  168. package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.js +806 -0
  169. package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.js.map +1 -0
  170. package/dist/code-intelligence/orchestrator/index.d.ts +8 -0
  171. package/dist/code-intelligence/orchestrator/index.d.ts.map +1 -0
  172. package/dist/code-intelligence/orchestrator/index.js +24 -0
  173. package/dist/code-intelligence/orchestrator/index.js.map +1 -0
  174. package/dist/code-intelligence/orchestrator/types.d.ts +164 -0
  175. package/dist/code-intelligence/orchestrator/types.d.ts.map +1 -0
  176. package/dist/code-intelligence/orchestrator/types.js +18 -0
  177. package/dist/code-intelligence/orchestrator/types.js.map +1 -0
  178. package/dist/code-intelligence/parser/LanguageRegistry.d.ts +13 -0
  179. package/dist/code-intelligence/parser/LanguageRegistry.d.ts.map +1 -0
  180. package/dist/code-intelligence/parser/LanguageRegistry.js +150 -0
  181. package/dist/code-intelligence/parser/LanguageRegistry.js.map +1 -0
  182. package/dist/code-intelligence/parser/TreeSitterParser.d.ts +98 -0
  183. package/dist/code-intelligence/parser/TreeSitterParser.d.ts.map +1 -0
  184. package/dist/code-intelligence/parser/TreeSitterParser.js +530 -0
  185. package/dist/code-intelligence/parser/TreeSitterParser.js.map +1 -0
  186. package/dist/code-intelligence/parser/extractors/BaseExtractor.d.ts +36 -0
  187. package/dist/code-intelligence/parser/extractors/BaseExtractor.d.ts.map +1 -0
  188. package/dist/code-intelligence/parser/extractors/BaseExtractor.js +31 -0
  189. package/dist/code-intelligence/parser/extractors/BaseExtractor.js.map +1 -0
  190. package/dist/code-intelligence/parser/extractors/GoExtractor.d.ts +21 -0
  191. package/dist/code-intelligence/parser/extractors/GoExtractor.d.ts.map +1 -0
  192. package/dist/code-intelligence/parser/extractors/GoExtractor.js +249 -0
  193. package/dist/code-intelligence/parser/extractors/GoExtractor.js.map +1 -0
  194. package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.d.ts +21 -0
  195. package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.d.ts.map +1 -0
  196. package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.js +217 -0
  197. package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.js.map +1 -0
  198. package/dist/code-intelligence/parser/extractors/PythonExtractor.d.ts +20 -0
  199. package/dist/code-intelligence/parser/extractors/PythonExtractor.d.ts.map +1 -0
  200. package/dist/code-intelligence/parser/extractors/PythonExtractor.js +237 -0
  201. package/dist/code-intelligence/parser/extractors/PythonExtractor.js.map +1 -0
  202. package/dist/code-intelligence/parser/extractors/RustExtractor.d.ts +21 -0
  203. package/dist/code-intelligence/parser/extractors/RustExtractor.d.ts.map +1 -0
  204. package/dist/code-intelligence/parser/extractors/RustExtractor.js +234 -0
  205. package/dist/code-intelligence/parser/extractors/RustExtractor.js.map +1 -0
  206. package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.d.ts +23 -0
  207. package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.d.ts.map +1 -0
  208. package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.js +247 -0
  209. package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.js.map +1 -0
  210. package/dist/code-intelligence/parser/extractors/index.d.ts +7 -0
  211. package/dist/code-intelligence/parser/extractors/index.d.ts.map +1 -0
  212. package/dist/code-intelligence/parser/extractors/index.js +16 -0
  213. package/dist/code-intelligence/parser/extractors/index.js.map +1 -0
  214. package/dist/code-intelligence/parser/index.d.ts +8 -0
  215. package/dist/code-intelligence/parser/index.d.ts.map +1 -0
  216. package/dist/code-intelligence/parser/index.js +12 -0
  217. package/dist/code-intelligence/parser/index.js.map +1 -0
  218. package/dist/code-intelligence/parser/types.d.ts +60 -0
  219. package/dist/code-intelligence/parser/types.d.ts.map +1 -0
  220. package/dist/code-intelligence/parser/types.js +6 -0
  221. package/dist/code-intelligence/parser/types.js.map +1 -0
  222. package/dist/code-intelligence/rag/ContextBuilder.d.ts +82 -0
  223. package/dist/code-intelligence/rag/ContextBuilder.d.ts.map +1 -0
  224. package/dist/code-intelligence/rag/ContextBuilder.js +242 -0
  225. package/dist/code-intelligence/rag/ContextBuilder.js.map +1 -0
  226. package/dist/code-intelligence/rag/GraphExpander.d.ts +95 -0
  227. package/dist/code-intelligence/rag/GraphExpander.d.ts.map +1 -0
  228. package/dist/code-intelligence/rag/GraphExpander.js +250 -0
  229. package/dist/code-intelligence/rag/GraphExpander.js.map +1 -0
  230. package/dist/code-intelligence/rag/index.d.ts +9 -0
  231. package/dist/code-intelligence/rag/index.d.ts.map +1 -0
  232. package/dist/code-intelligence/rag/index.js +25 -0
  233. package/dist/code-intelligence/rag/index.js.map +1 -0
  234. package/dist/code-intelligence/rag/types.d.ts +121 -0
  235. package/dist/code-intelligence/rag/types.d.ts.map +1 -0
  236. package/dist/code-intelligence/rag/types.js +50 -0
  237. package/dist/code-intelligence/rag/types.js.map +1 -0
  238. package/dist/code-intelligence/retrieval/SemanticRetriever.d.ts +62 -0
  239. package/dist/code-intelligence/retrieval/SemanticRetriever.d.ts.map +1 -0
  240. package/dist/code-intelligence/retrieval/SemanticRetriever.js +174 -0
  241. package/dist/code-intelligence/retrieval/SemanticRetriever.js.map +1 -0
  242. package/dist/code-intelligence/retrieval/index.d.ts +9 -0
  243. package/dist/code-intelligence/retrieval/index.d.ts.map +1 -0
  244. package/dist/code-intelligence/retrieval/index.js +16 -0
  245. package/dist/code-intelligence/retrieval/index.js.map +1 -0
  246. package/dist/code-intelligence/retrieval/types.d.ts +118 -0
  247. package/dist/code-intelligence/retrieval/types.d.ts.map +1 -0
  248. package/dist/code-intelligence/retrieval/types.js +46 -0
  249. package/dist/code-intelligence/retrieval/types.js.map +1 -0
  250. package/dist/code-intelligence/router/CodeIntelligenceHybridRouter.d.ts +167 -0
  251. package/dist/code-intelligence/router/CodeIntelligenceHybridRouter.d.ts.map +1 -0
  252. package/dist/code-intelligence/router/CodeIntelligenceHybridRouter.js +365 -0
  253. package/dist/code-intelligence/router/CodeIntelligenceHybridRouter.js.map +1 -0
  254. package/dist/code-intelligence/router/index.d.ts +7 -0
  255. package/dist/code-intelligence/router/index.d.ts.map +1 -0
  256. package/dist/code-intelligence/router/index.js +14 -0
  257. package/dist/code-intelligence/router/index.js.map +1 -0
  258. package/dist/code-intelligence/search/BM25Search.d.ts +74 -0
  259. package/dist/code-intelligence/search/BM25Search.d.ts.map +1 -0
  260. package/dist/code-intelligence/search/BM25Search.js +233 -0
  261. package/dist/code-intelligence/search/BM25Search.js.map +1 -0
  262. package/dist/code-intelligence/search/HybridSearchEngine.d.ts +94 -0
  263. package/dist/code-intelligence/search/HybridSearchEngine.d.ts.map +1 -0
  264. package/dist/code-intelligence/search/HybridSearchEngine.js +168 -0
  265. package/dist/code-intelligence/search/HybridSearchEngine.js.map +1 -0
  266. package/dist/code-intelligence/search/RRFFusion.d.ts +46 -0
  267. package/dist/code-intelligence/search/RRFFusion.d.ts.map +1 -0
  268. package/dist/code-intelligence/search/RRFFusion.js +223 -0
  269. package/dist/code-intelligence/search/RRFFusion.js.map +1 -0
  270. package/dist/code-intelligence/search/VectorSearch.d.ts +157 -0
  271. package/dist/code-intelligence/search/VectorSearch.d.ts.map +1 -0
  272. package/dist/code-intelligence/search/VectorSearch.js +301 -0
  273. package/dist/code-intelligence/search/VectorSearch.js.map +1 -0
  274. package/dist/code-intelligence/search/index.d.ts +14 -0
  275. package/dist/code-intelligence/search/index.d.ts.map +1 -0
  276. package/dist/code-intelligence/search/index.js +23 -0
  277. package/dist/code-intelligence/search/index.js.map +1 -0
  278. package/dist/code-intelligence/search/types.d.ts +201 -0
  279. package/dist/code-intelligence/search/types.d.ts.map +1 -0
  280. package/dist/code-intelligence/search/types.js +35 -0
  281. package/dist/code-intelligence/search/types.js.map +1 -0
  282. package/dist/code-intelligence/service/CodeIntelligenceService.d.ts +171 -0
  283. package/dist/code-intelligence/service/CodeIntelligenceService.d.ts.map +1 -0
  284. package/dist/code-intelligence/service/CodeIntelligenceService.js +325 -0
  285. package/dist/code-intelligence/service/CodeIntelligenceService.js.map +1 -0
  286. package/dist/code-intelligence/service/index.d.ts +7 -0
  287. package/dist/code-intelligence/service/index.d.ts.map +1 -0
  288. package/dist/code-intelligence/service/index.js +14 -0
  289. package/dist/code-intelligence/service/index.js.map +1 -0
  290. package/dist/code-intelligence/storage/CodeChunkStore.d.ts +213 -0
  291. package/dist/code-intelligence/storage/CodeChunkStore.d.ts.map +1 -0
  292. package/dist/code-intelligence/storage/CodeChunkStore.js +542 -0
  293. package/dist/code-intelligence/storage/CodeChunkStore.js.map +1 -0
  294. package/dist/code-intelligence/storage/index.d.ts +7 -0
  295. package/dist/code-intelligence/storage/index.d.ts.map +1 -0
  296. package/dist/code-intelligence/storage/index.js +13 -0
  297. package/dist/code-intelligence/storage/index.js.map +1 -0
  298. package/dist/code-intelligence/visualization/ClassDiagramBuilder.d.ts +51 -0
  299. package/dist/code-intelligence/visualization/ClassDiagramBuilder.d.ts.map +1 -0
  300. package/dist/code-intelligence/visualization/ClassDiagramBuilder.js +180 -0
  301. package/dist/code-intelligence/visualization/ClassDiagramBuilder.js.map +1 -0
  302. package/dist/code-intelligence/visualization/DependencyGraphBuilder.d.ts +66 -0
  303. package/dist/code-intelligence/visualization/DependencyGraphBuilder.d.ts.map +1 -0
  304. package/dist/code-intelligence/visualization/DependencyGraphBuilder.js +203 -0
  305. package/dist/code-intelligence/visualization/DependencyGraphBuilder.js.map +1 -0
  306. package/dist/code-intelligence/visualization/MermaidGenerator.d.ts +76 -0
  307. package/dist/code-intelligence/visualization/MermaidGenerator.d.ts.map +1 -0
  308. package/dist/code-intelligence/visualization/MermaidGenerator.js +368 -0
  309. package/dist/code-intelligence/visualization/MermaidGenerator.js.map +1 -0
  310. package/dist/code-intelligence/visualization/index.d.ts +9 -0
  311. package/dist/code-intelligence/visualization/index.d.ts.map +1 -0
  312. package/dist/code-intelligence/visualization/index.js +15 -0
  313. package/dist/code-intelligence/visualization/index.js.map +1 -0
  314. package/dist/core/FleetManager.d.ts +27 -0
  315. package/dist/core/FleetManager.d.ts.map +1 -1
  316. package/dist/core/FleetManager.js +84 -0
  317. package/dist/core/FleetManager.js.map +1 -1
  318. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  319. package/dist/core/memory/HNSWVectorMemory.js.map +1 -1
  320. package/dist/mcp/handlers/agent-spawn.d.ts +71 -5
  321. package/dist/mcp/handlers/agent-spawn.d.ts.map +1 -1
  322. package/dist/mcp/handlers/agent-spawn.js +336 -110
  323. package/dist/mcp/handlers/agent-spawn.js.map +1 -1
  324. package/dist/mcp/handlers/fleet-init.d.ts +24 -0
  325. package/dist/mcp/handlers/fleet-init.d.ts.map +1 -1
  326. package/dist/mcp/handlers/fleet-init.js +56 -4
  327. package/dist/mcp/handlers/fleet-init.js.map +1 -1
  328. package/dist/mcp/server-instructions.d.ts +1 -1
  329. package/dist/mcp/server-instructions.d.ts.map +1 -1
  330. package/dist/mcp/server-instructions.js +1 -1
  331. package/dist/mcp/server-instructions.js.map +1 -1
  332. package/dist/memory/HNSWPatternStore.d.ts.map +1 -1
  333. package/dist/memory/HNSWPatternStore.js.map +1 -1
  334. package/dist/plugins/BasePlugin.d.ts +111 -0
  335. package/dist/plugins/BasePlugin.d.ts.map +1 -0
  336. package/dist/plugins/BasePlugin.js +154 -0
  337. package/dist/plugins/BasePlugin.js.map +1 -0
  338. package/dist/plugins/PluginManager.d.ts +145 -0
  339. package/dist/plugins/PluginManager.d.ts.map +1 -0
  340. package/dist/plugins/PluginManager.js +862 -0
  341. package/dist/plugins/PluginManager.js.map +1 -0
  342. package/dist/plugins/adapters/McpToolsPlugin.d.ts +98 -0
  343. package/dist/plugins/adapters/McpToolsPlugin.d.ts.map +1 -0
  344. package/dist/plugins/adapters/McpToolsPlugin.js +518 -0
  345. package/dist/plugins/adapters/McpToolsPlugin.js.map +1 -0
  346. package/dist/plugins/adapters/PlaywrightPlugin.d.ts +63 -0
  347. package/dist/plugins/adapters/PlaywrightPlugin.d.ts.map +1 -0
  348. package/dist/plugins/adapters/PlaywrightPlugin.js +451 -0
  349. package/dist/plugins/adapters/PlaywrightPlugin.js.map +1 -0
  350. package/dist/plugins/adapters/VitestPlugin.d.ts +74 -0
  351. package/dist/plugins/adapters/VitestPlugin.d.ts.map +1 -0
  352. package/dist/plugins/adapters/VitestPlugin.js +589 -0
  353. package/dist/plugins/adapters/VitestPlugin.js.map +1 -0
  354. package/dist/plugins/adapters/index.d.ts +8 -0
  355. package/dist/plugins/adapters/index.d.ts.map +1 -0
  356. package/dist/plugins/adapters/index.js +17 -0
  357. package/dist/plugins/adapters/index.js.map +1 -0
  358. package/dist/plugins/index.d.ts +32 -0
  359. package/dist/plugins/index.d.ts.map +1 -0
  360. package/dist/plugins/index.js +48 -0
  361. package/dist/plugins/index.js.map +1 -0
  362. package/dist/plugins/types.d.ts +528 -0
  363. package/dist/plugins/types.d.ts.map +1 -0
  364. package/dist/plugins/types.js +61 -0
  365. package/dist/plugins/types.js.map +1 -0
  366. package/dist/types/index.d.ts +2 -1
  367. package/dist/types/index.d.ts.map +1 -1
  368. package/dist/types/index.js +2 -0
  369. package/dist/types/index.js.map +1 -1
  370. package/docs/reference/agents.md +44 -1
  371. 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"}