agentic-qe 2.5.10 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. package/.claude/agents/qe-code-intelligence.md +359 -0
  2. package/CHANGELOG.md +61 -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/cli/commands/knowledge-graph.d.ts +112 -0
  37. package/dist/cli/commands/knowledge-graph.d.ts.map +1 -0
  38. package/dist/cli/commands/knowledge-graph.js +466 -0
  39. package/dist/cli/commands/knowledge-graph.js.map +1 -0
  40. package/dist/cli/formatters/KGOutputFormatter.d.ts +50 -0
  41. package/dist/cli/formatters/KGOutputFormatter.d.ts.map +1 -0
  42. package/dist/cli/formatters/KGOutputFormatter.js +237 -0
  43. package/dist/cli/formatters/KGOutputFormatter.js.map +1 -0
  44. package/dist/cli/index-working.js +138 -0
  45. package/dist/cli/index-working.js.map +1 -1
  46. package/dist/cli/init/claude-config.d.ts +13 -1
  47. package/dist/cli/init/claude-config.d.ts.map +1 -1
  48. package/dist/cli/init/claude-config.js +70 -8
  49. package/dist/cli/init/claude-config.js.map +1 -1
  50. package/dist/cli/init/code-intelligence-init.d.ts +52 -0
  51. package/dist/cli/init/code-intelligence-init.d.ts.map +1 -0
  52. package/dist/cli/init/code-intelligence-init.js +250 -0
  53. package/dist/cli/init/code-intelligence-init.js.map +1 -0
  54. package/dist/cli/init/index.d.ts +2 -2
  55. package/dist/cli/init/index.d.ts.map +1 -1
  56. package/dist/cli/init/index.js +10 -1
  57. package/dist/cli/init/index.js.map +1 -1
  58. package/dist/code-intelligence/chunking/ASTChunker.d.ts +64 -0
  59. package/dist/code-intelligence/chunking/ASTChunker.d.ts.map +1 -0
  60. package/dist/code-intelligence/chunking/ASTChunker.js +344 -0
  61. package/dist/code-intelligence/chunking/ASTChunker.js.map +1 -0
  62. package/dist/code-intelligence/chunking/ChunkSplitter.d.ts +48 -0
  63. package/dist/code-intelligence/chunking/ChunkSplitter.d.ts.map +1 -0
  64. package/dist/code-intelligence/chunking/ChunkSplitter.js +278 -0
  65. package/dist/code-intelligence/chunking/ChunkSplitter.js.map +1 -0
  66. package/dist/code-intelligence/chunking/index.d.ts +8 -0
  67. package/dist/code-intelligence/chunking/index.d.ts.map +1 -0
  68. package/dist/code-intelligence/chunking/index.js +13 -0
  69. package/dist/code-intelligence/chunking/index.js.map +1 -0
  70. package/dist/code-intelligence/chunking/types.d.ts +52 -0
  71. package/dist/code-intelligence/chunking/types.d.ts.map +1 -0
  72. package/dist/code-intelligence/chunking/types.js +6 -0
  73. package/dist/code-intelligence/chunking/types.js.map +1 -0
  74. package/dist/code-intelligence/config/database-schema.d.ts +245 -0
  75. package/dist/code-intelligence/config/database-schema.d.ts.map +1 -0
  76. package/dist/code-intelligence/config/database-schema.js +110 -0
  77. package/dist/code-intelligence/config/database-schema.js.map +1 -0
  78. package/dist/code-intelligence/config/environment.d.ts +53 -0
  79. package/dist/code-intelligence/config/environment.d.ts.map +1 -0
  80. package/dist/code-intelligence/config/environment.js +86 -0
  81. package/dist/code-intelligence/config/environment.js.map +1 -0
  82. package/dist/code-intelligence/config/index.d.ts +10 -0
  83. package/dist/code-intelligence/config/index.d.ts.map +1 -0
  84. package/dist/code-intelligence/config/index.js +36 -0
  85. package/dist/code-intelligence/config/index.js.map +1 -0
  86. package/dist/code-intelligence/embeddings/EmbeddingCache.d.ts +81 -0
  87. package/dist/code-intelligence/embeddings/EmbeddingCache.d.ts.map +1 -0
  88. package/dist/code-intelligence/embeddings/EmbeddingCache.js +168 -0
  89. package/dist/code-intelligence/embeddings/EmbeddingCache.js.map +1 -0
  90. package/dist/code-intelligence/embeddings/NomicEmbedder.d.ts +82 -0
  91. package/dist/code-intelligence/embeddings/NomicEmbedder.d.ts.map +1 -0
  92. package/dist/code-intelligence/embeddings/NomicEmbedder.js +233 -0
  93. package/dist/code-intelligence/embeddings/NomicEmbedder.js.map +1 -0
  94. package/dist/code-intelligence/embeddings/OllamaClient.d.ts +42 -0
  95. package/dist/code-intelligence/embeddings/OllamaClient.d.ts.map +1 -0
  96. package/dist/code-intelligence/embeddings/OllamaClient.js +142 -0
  97. package/dist/code-intelligence/embeddings/OllamaClient.js.map +1 -0
  98. package/dist/code-intelligence/embeddings/index.d.ts +33 -0
  99. package/dist/code-intelligence/embeddings/index.d.ts.map +1 -0
  100. package/dist/code-intelligence/embeddings/index.js +39 -0
  101. package/dist/code-intelligence/embeddings/index.js.map +1 -0
  102. package/dist/code-intelligence/embeddings/types.d.ts +84 -0
  103. package/dist/code-intelligence/embeddings/types.d.ts.map +1 -0
  104. package/dist/code-intelligence/embeddings/types.js +19 -0
  105. package/dist/code-intelligence/embeddings/types.js.map +1 -0
  106. package/dist/code-intelligence/graph/GraphBuilder.d.ts +126 -0
  107. package/dist/code-intelligence/graph/GraphBuilder.d.ts.map +1 -0
  108. package/dist/code-intelligence/graph/GraphBuilder.js +416 -0
  109. package/dist/code-intelligence/graph/GraphBuilder.js.map +1 -0
  110. package/dist/code-intelligence/graph/ImportParser.d.ts +72 -0
  111. package/dist/code-intelligence/graph/ImportParser.d.ts.map +1 -0
  112. package/dist/code-intelligence/graph/ImportParser.js +422 -0
  113. package/dist/code-intelligence/graph/ImportParser.js.map +1 -0
  114. package/dist/code-intelligence/graph/RelationshipExtractor.d.ts +74 -0
  115. package/dist/code-intelligence/graph/RelationshipExtractor.d.ts.map +1 -0
  116. package/dist/code-intelligence/graph/RelationshipExtractor.js +310 -0
  117. package/dist/code-intelligence/graph/RelationshipExtractor.js.map +1 -0
  118. package/dist/code-intelligence/graph/TestMapper.d.ts +99 -0
  119. package/dist/code-intelligence/graph/TestMapper.d.ts.map +1 -0
  120. package/dist/code-intelligence/graph/TestMapper.js +335 -0
  121. package/dist/code-intelligence/graph/TestMapper.js.map +1 -0
  122. package/dist/code-intelligence/graph/index.d.ts +14 -0
  123. package/dist/code-intelligence/graph/index.d.ts.map +1 -0
  124. package/dist/code-intelligence/graph/index.js +19 -0
  125. package/dist/code-intelligence/graph/index.js.map +1 -0
  126. package/dist/code-intelligence/graph/types.d.ts +141 -0
  127. package/dist/code-intelligence/graph/types.d.ts.map +1 -0
  128. package/dist/code-intelligence/graph/types.js +18 -0
  129. package/dist/code-intelligence/graph/types.js.map +1 -0
  130. package/dist/code-intelligence/indexing/FileWatcher.d.ts +90 -0
  131. package/dist/code-intelligence/indexing/FileWatcher.d.ts.map +1 -0
  132. package/dist/code-intelligence/indexing/FileWatcher.js +304 -0
  133. package/dist/code-intelligence/indexing/FileWatcher.js.map +1 -0
  134. package/dist/code-intelligence/indexing/GitChangeDetector.d.ts +76 -0
  135. package/dist/code-intelligence/indexing/GitChangeDetector.d.ts.map +1 -0
  136. package/dist/code-intelligence/indexing/GitChangeDetector.js +347 -0
  137. package/dist/code-intelligence/indexing/GitChangeDetector.js.map +1 -0
  138. package/dist/code-intelligence/indexing/IncrementalIndexer.d.ts +108 -0
  139. package/dist/code-intelligence/indexing/IncrementalIndexer.d.ts.map +1 -0
  140. package/dist/code-intelligence/indexing/IncrementalIndexer.js +269 -0
  141. package/dist/code-intelligence/indexing/IncrementalIndexer.js.map +1 -0
  142. package/dist/code-intelligence/indexing/index.d.ts +11 -0
  143. package/dist/code-intelligence/indexing/index.d.ts.map +1 -0
  144. package/dist/code-intelligence/indexing/index.js +18 -0
  145. package/dist/code-intelligence/indexing/index.js.map +1 -0
  146. package/dist/code-intelligence/indexing/types.d.ts +133 -0
  147. package/dist/code-intelligence/indexing/types.d.ts.map +1 -0
  148. package/dist/code-intelligence/indexing/types.js +27 -0
  149. package/dist/code-intelligence/indexing/types.js.map +1 -0
  150. package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.d.ts +150 -0
  151. package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.d.ts.map +1 -0
  152. package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.js +806 -0
  153. package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.js.map +1 -0
  154. package/dist/code-intelligence/orchestrator/index.d.ts +8 -0
  155. package/dist/code-intelligence/orchestrator/index.d.ts.map +1 -0
  156. package/dist/code-intelligence/orchestrator/index.js +24 -0
  157. package/dist/code-intelligence/orchestrator/index.js.map +1 -0
  158. package/dist/code-intelligence/orchestrator/types.d.ts +164 -0
  159. package/dist/code-intelligence/orchestrator/types.d.ts.map +1 -0
  160. package/dist/code-intelligence/orchestrator/types.js +18 -0
  161. package/dist/code-intelligence/orchestrator/types.js.map +1 -0
  162. package/dist/code-intelligence/parser/LanguageRegistry.d.ts +13 -0
  163. package/dist/code-intelligence/parser/LanguageRegistry.d.ts.map +1 -0
  164. package/dist/code-intelligence/parser/LanguageRegistry.js +150 -0
  165. package/dist/code-intelligence/parser/LanguageRegistry.js.map +1 -0
  166. package/dist/code-intelligence/parser/TreeSitterParser.d.ts +98 -0
  167. package/dist/code-intelligence/parser/TreeSitterParser.d.ts.map +1 -0
  168. package/dist/code-intelligence/parser/TreeSitterParser.js +530 -0
  169. package/dist/code-intelligence/parser/TreeSitterParser.js.map +1 -0
  170. package/dist/code-intelligence/parser/extractors/BaseExtractor.d.ts +36 -0
  171. package/dist/code-intelligence/parser/extractors/BaseExtractor.d.ts.map +1 -0
  172. package/dist/code-intelligence/parser/extractors/BaseExtractor.js +31 -0
  173. package/dist/code-intelligence/parser/extractors/BaseExtractor.js.map +1 -0
  174. package/dist/code-intelligence/parser/extractors/GoExtractor.d.ts +21 -0
  175. package/dist/code-intelligence/parser/extractors/GoExtractor.d.ts.map +1 -0
  176. package/dist/code-intelligence/parser/extractors/GoExtractor.js +249 -0
  177. package/dist/code-intelligence/parser/extractors/GoExtractor.js.map +1 -0
  178. package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.d.ts +21 -0
  179. package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.d.ts.map +1 -0
  180. package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.js +217 -0
  181. package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.js.map +1 -0
  182. package/dist/code-intelligence/parser/extractors/PythonExtractor.d.ts +20 -0
  183. package/dist/code-intelligence/parser/extractors/PythonExtractor.d.ts.map +1 -0
  184. package/dist/code-intelligence/parser/extractors/PythonExtractor.js +237 -0
  185. package/dist/code-intelligence/parser/extractors/PythonExtractor.js.map +1 -0
  186. package/dist/code-intelligence/parser/extractors/RustExtractor.d.ts +21 -0
  187. package/dist/code-intelligence/parser/extractors/RustExtractor.d.ts.map +1 -0
  188. package/dist/code-intelligence/parser/extractors/RustExtractor.js +234 -0
  189. package/dist/code-intelligence/parser/extractors/RustExtractor.js.map +1 -0
  190. package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.d.ts +23 -0
  191. package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.d.ts.map +1 -0
  192. package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.js +247 -0
  193. package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.js.map +1 -0
  194. package/dist/code-intelligence/parser/extractors/index.d.ts +7 -0
  195. package/dist/code-intelligence/parser/extractors/index.d.ts.map +1 -0
  196. package/dist/code-intelligence/parser/extractors/index.js +16 -0
  197. package/dist/code-intelligence/parser/extractors/index.js.map +1 -0
  198. package/dist/code-intelligence/parser/index.d.ts +8 -0
  199. package/dist/code-intelligence/parser/index.d.ts.map +1 -0
  200. package/dist/code-intelligence/parser/index.js +12 -0
  201. package/dist/code-intelligence/parser/index.js.map +1 -0
  202. package/dist/code-intelligence/parser/types.d.ts +60 -0
  203. package/dist/code-intelligence/parser/types.d.ts.map +1 -0
  204. package/dist/code-intelligence/parser/types.js +6 -0
  205. package/dist/code-intelligence/parser/types.js.map +1 -0
  206. package/dist/code-intelligence/rag/ContextBuilder.d.ts +82 -0
  207. package/dist/code-intelligence/rag/ContextBuilder.d.ts.map +1 -0
  208. package/dist/code-intelligence/rag/ContextBuilder.js +242 -0
  209. package/dist/code-intelligence/rag/ContextBuilder.js.map +1 -0
  210. package/dist/code-intelligence/rag/GraphExpander.d.ts +95 -0
  211. package/dist/code-intelligence/rag/GraphExpander.d.ts.map +1 -0
  212. package/dist/code-intelligence/rag/GraphExpander.js +250 -0
  213. package/dist/code-intelligence/rag/GraphExpander.js.map +1 -0
  214. package/dist/code-intelligence/rag/index.d.ts +9 -0
  215. package/dist/code-intelligence/rag/index.d.ts.map +1 -0
  216. package/dist/code-intelligence/rag/index.js +25 -0
  217. package/dist/code-intelligence/rag/index.js.map +1 -0
  218. package/dist/code-intelligence/rag/types.d.ts +121 -0
  219. package/dist/code-intelligence/rag/types.d.ts.map +1 -0
  220. package/dist/code-intelligence/rag/types.js +50 -0
  221. package/dist/code-intelligence/rag/types.js.map +1 -0
  222. package/dist/code-intelligence/retrieval/SemanticRetriever.d.ts +62 -0
  223. package/dist/code-intelligence/retrieval/SemanticRetriever.d.ts.map +1 -0
  224. package/dist/code-intelligence/retrieval/SemanticRetriever.js +174 -0
  225. package/dist/code-intelligence/retrieval/SemanticRetriever.js.map +1 -0
  226. package/dist/code-intelligence/retrieval/index.d.ts +9 -0
  227. package/dist/code-intelligence/retrieval/index.d.ts.map +1 -0
  228. package/dist/code-intelligence/retrieval/index.js +16 -0
  229. package/dist/code-intelligence/retrieval/index.js.map +1 -0
  230. package/dist/code-intelligence/retrieval/types.d.ts +118 -0
  231. package/dist/code-intelligence/retrieval/types.d.ts.map +1 -0
  232. package/dist/code-intelligence/retrieval/types.js +46 -0
  233. package/dist/code-intelligence/retrieval/types.js.map +1 -0
  234. package/dist/code-intelligence/router/CodeIntelligenceHybridRouter.d.ts +167 -0
  235. package/dist/code-intelligence/router/CodeIntelligenceHybridRouter.d.ts.map +1 -0
  236. package/dist/code-intelligence/router/CodeIntelligenceHybridRouter.js +365 -0
  237. package/dist/code-intelligence/router/CodeIntelligenceHybridRouter.js.map +1 -0
  238. package/dist/code-intelligence/router/index.d.ts +7 -0
  239. package/dist/code-intelligence/router/index.d.ts.map +1 -0
  240. package/dist/code-intelligence/router/index.js +14 -0
  241. package/dist/code-intelligence/router/index.js.map +1 -0
  242. package/dist/code-intelligence/search/BM25Search.d.ts +74 -0
  243. package/dist/code-intelligence/search/BM25Search.d.ts.map +1 -0
  244. package/dist/code-intelligence/search/BM25Search.js +233 -0
  245. package/dist/code-intelligence/search/BM25Search.js.map +1 -0
  246. package/dist/code-intelligence/search/HybridSearchEngine.d.ts +94 -0
  247. package/dist/code-intelligence/search/HybridSearchEngine.d.ts.map +1 -0
  248. package/dist/code-intelligence/search/HybridSearchEngine.js +168 -0
  249. package/dist/code-intelligence/search/HybridSearchEngine.js.map +1 -0
  250. package/dist/code-intelligence/search/RRFFusion.d.ts +46 -0
  251. package/dist/code-intelligence/search/RRFFusion.d.ts.map +1 -0
  252. package/dist/code-intelligence/search/RRFFusion.js +223 -0
  253. package/dist/code-intelligence/search/RRFFusion.js.map +1 -0
  254. package/dist/code-intelligence/search/VectorSearch.d.ts +157 -0
  255. package/dist/code-intelligence/search/VectorSearch.d.ts.map +1 -0
  256. package/dist/code-intelligence/search/VectorSearch.js +301 -0
  257. package/dist/code-intelligence/search/VectorSearch.js.map +1 -0
  258. package/dist/code-intelligence/search/index.d.ts +14 -0
  259. package/dist/code-intelligence/search/index.d.ts.map +1 -0
  260. package/dist/code-intelligence/search/index.js +23 -0
  261. package/dist/code-intelligence/search/index.js.map +1 -0
  262. package/dist/code-intelligence/search/types.d.ts +201 -0
  263. package/dist/code-intelligence/search/types.d.ts.map +1 -0
  264. package/dist/code-intelligence/search/types.js +35 -0
  265. package/dist/code-intelligence/search/types.js.map +1 -0
  266. package/dist/code-intelligence/service/CodeIntelligenceService.d.ts +171 -0
  267. package/dist/code-intelligence/service/CodeIntelligenceService.d.ts.map +1 -0
  268. package/dist/code-intelligence/service/CodeIntelligenceService.js +325 -0
  269. package/dist/code-intelligence/service/CodeIntelligenceService.js.map +1 -0
  270. package/dist/code-intelligence/service/index.d.ts +7 -0
  271. package/dist/code-intelligence/service/index.d.ts.map +1 -0
  272. package/dist/code-intelligence/service/index.js +14 -0
  273. package/dist/code-intelligence/service/index.js.map +1 -0
  274. package/dist/code-intelligence/storage/CodeChunkStore.d.ts +213 -0
  275. package/dist/code-intelligence/storage/CodeChunkStore.d.ts.map +1 -0
  276. package/dist/code-intelligence/storage/CodeChunkStore.js +542 -0
  277. package/dist/code-intelligence/storage/CodeChunkStore.js.map +1 -0
  278. package/dist/code-intelligence/storage/index.d.ts +7 -0
  279. package/dist/code-intelligence/storage/index.d.ts.map +1 -0
  280. package/dist/code-intelligence/storage/index.js +13 -0
  281. package/dist/code-intelligence/storage/index.js.map +1 -0
  282. package/dist/code-intelligence/visualization/ClassDiagramBuilder.d.ts +51 -0
  283. package/dist/code-intelligence/visualization/ClassDiagramBuilder.d.ts.map +1 -0
  284. package/dist/code-intelligence/visualization/ClassDiagramBuilder.js +180 -0
  285. package/dist/code-intelligence/visualization/ClassDiagramBuilder.js.map +1 -0
  286. package/dist/code-intelligence/visualization/DependencyGraphBuilder.d.ts +66 -0
  287. package/dist/code-intelligence/visualization/DependencyGraphBuilder.d.ts.map +1 -0
  288. package/dist/code-intelligence/visualization/DependencyGraphBuilder.js +203 -0
  289. package/dist/code-intelligence/visualization/DependencyGraphBuilder.js.map +1 -0
  290. package/dist/code-intelligence/visualization/MermaidGenerator.d.ts +76 -0
  291. package/dist/code-intelligence/visualization/MermaidGenerator.d.ts.map +1 -0
  292. package/dist/code-intelligence/visualization/MermaidGenerator.js +368 -0
  293. package/dist/code-intelligence/visualization/MermaidGenerator.js.map +1 -0
  294. package/dist/code-intelligence/visualization/index.d.ts +9 -0
  295. package/dist/code-intelligence/visualization/index.d.ts.map +1 -0
  296. package/dist/code-intelligence/visualization/index.js +15 -0
  297. package/dist/code-intelligence/visualization/index.js.map +1 -0
  298. package/dist/core/FleetManager.d.ts +27 -0
  299. package/dist/core/FleetManager.d.ts.map +1 -1
  300. package/dist/core/FleetManager.js +84 -0
  301. package/dist/core/FleetManager.js.map +1 -1
  302. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  303. package/dist/core/memory/HNSWVectorMemory.js.map +1 -1
  304. package/dist/mcp/server-instructions.d.ts +1 -1
  305. package/dist/mcp/server-instructions.d.ts.map +1 -1
  306. package/dist/mcp/server-instructions.js +1 -1
  307. package/dist/mcp/server-instructions.js.map +1 -1
  308. package/dist/types/index.d.ts +2 -1
  309. package/dist/types/index.d.ts.map +1 -1
  310. package/dist/types/index.js +2 -0
  311. package/dist/types/index.js.map +1 -1
  312. package/docs/reference/agents.md +44 -1
  313. package/package.json +12 -1
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Types for RAG (Retrieval-Augmented Generation) Module
3
+ *
4
+ * Defines interfaces for context building, query processing,
5
+ * and response generation.
6
+ */
7
+ export interface RAGConfig {
8
+ /**
9
+ * Maximum tokens in generated context.
10
+ */
11
+ maxContextTokens: number;
12
+ /**
13
+ * Number of chunks to retrieve.
14
+ */
15
+ topK: number;
16
+ /**
17
+ * Minimum relevance score for inclusion.
18
+ */
19
+ minRelevanceScore: number;
20
+ /**
21
+ * Enable graph expansion for related code.
22
+ */
23
+ enableGraphExpansion: boolean;
24
+ /**
25
+ * Depth of graph expansion.
26
+ */
27
+ graphExpansionDepth: number;
28
+ /**
29
+ * Enable response caching.
30
+ */
31
+ enableCaching: boolean;
32
+ /**
33
+ * Cache TTL in milliseconds.
34
+ */
35
+ cacheTtlMs: number;
36
+ /**
37
+ * Summarization strategy.
38
+ */
39
+ summarizationStrategy: 'tree' | 'map-reduce' | 'refine';
40
+ /**
41
+ * LLM model for summarization.
42
+ */
43
+ summarizationModel?: string;
44
+ }
45
+ export interface RetrievedContext {
46
+ /** Unique ID */
47
+ id: string;
48
+ /** Source file path */
49
+ filePath: string;
50
+ /** Code content */
51
+ content: string;
52
+ /** Start line in file */
53
+ startLine: number;
54
+ /** End line in file */
55
+ endLine: number;
56
+ /** Relevance score */
57
+ score: number;
58
+ /** Entity type (function, class, etc.) */
59
+ entityType?: string;
60
+ /** Entity name */
61
+ entityName?: string;
62
+ /** Programming language */
63
+ language?: string;
64
+ /** Related contexts from graph expansion */
65
+ relatedContexts?: RetrievedContext[];
66
+ /** Relationship type for related contexts */
67
+ relationship?: string;
68
+ }
69
+ export interface QueryContext {
70
+ /** Original user query */
71
+ query: string;
72
+ /** Parsed intent (if applicable) */
73
+ intent?: 'explain' | 'find' | 'modify' | 'debug' | 'generate';
74
+ /** Extracted entities from query */
75
+ entities?: string[];
76
+ /** Filter by language */
77
+ language?: string;
78
+ /** Filter by file pattern */
79
+ filePattern?: string;
80
+ /** Additional metadata */
81
+ metadata?: Record<string, unknown>;
82
+ }
83
+ export interface GeneratedContext {
84
+ /** Formatted context string for LLM */
85
+ contextText: string;
86
+ /** Token count estimate */
87
+ tokenCount: number;
88
+ /** Retrieved chunks used */
89
+ sources: RetrievedContext[];
90
+ /** Whether context was truncated */
91
+ truncated: boolean;
92
+ /** Summary if generated */
93
+ summary?: string;
94
+ /** Cache hit */
95
+ cached: boolean;
96
+ }
97
+ export interface RAGResponse {
98
+ /** Generated context */
99
+ context: GeneratedContext;
100
+ /** Processing metadata */
101
+ metadata: {
102
+ query: string;
103
+ retrievalTimeMs: number;
104
+ graphExpansionTimeMs: number;
105
+ formattingTimeMs: number;
106
+ totalTimeMs: number;
107
+ chunksRetrieved: number;
108
+ chunksIncluded: number;
109
+ };
110
+ }
111
+ export interface ContextTemplate {
112
+ /** Template name */
113
+ name: string;
114
+ /** Template for formatting context */
115
+ format: string;
116
+ /** Variables available in template */
117
+ variables: string[];
118
+ }
119
+ export declare const DEFAULT_RAG_CONFIG: RAGConfig;
120
+ export declare const DEFAULT_CONTEXT_TEMPLATE: ContextTemplate;
121
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/code-intelligence/rag/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ /**
3
+ * Types for RAG (Retrieval-Augmented Generation) Module
4
+ *
5
+ * Defines interfaces for context building, query processing,
6
+ * and response generation.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.DEFAULT_CONTEXT_TEMPLATE = exports.DEFAULT_RAG_CONFIG = void 0;
10
+ exports.DEFAULT_RAG_CONFIG = {
11
+ maxContextTokens: 4096,
12
+ topK: 10,
13
+ minRelevanceScore: 0.5,
14
+ enableGraphExpansion: true,
15
+ graphExpansionDepth: 2,
16
+ enableCaching: true,
17
+ cacheTtlMs: 5 * 60 * 1000, // 5 minutes
18
+ summarizationStrategy: 'tree',
19
+ };
20
+ exports.DEFAULT_CONTEXT_TEMPLATE = {
21
+ name: 'default',
22
+ format: `# Relevant Code Context
23
+
24
+ {{#each sources}}
25
+ ## {{filePath}} (lines {{startLine}}-{{endLine}})
26
+ {{#if entityType}}Type: {{entityType}}{{/if}}
27
+ {{#if entityName}}Name: {{entityName}}{{/if}}
28
+
29
+ \`\`\`{{language}}
30
+ {{content}}
31
+ \`\`\`
32
+
33
+ {{#if relatedContexts}}
34
+ ### Related Code:
35
+ {{#each relatedContexts}}
36
+ - **{{relationship}}**: {{filePath}} ({{entityName}})
37
+ {{/each}}
38
+ {{/if}}
39
+
40
+ ---
41
+ {{/each}}
42
+
43
+ {{#if summary}}
44
+ ## Summary
45
+ {{summary}}
46
+ {{/if}}
47
+ `,
48
+ variables: ['sources', 'summary', 'query'],
49
+ };
50
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/code-intelligence/rag/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAuJU,QAAA,kBAAkB,GAAc;IAC3C,gBAAgB,EAAE,IAAI;IACtB,IAAI,EAAE,EAAE;IACR,iBAAiB,EAAE,GAAG;IACtB,oBAAoB,EAAE,IAAI;IAC1B,mBAAmB,EAAE,CAAC;IACtB,aAAa,EAAE,IAAI;IACnB,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;IACvC,qBAAqB,EAAE,MAAM;CAC9B,CAAC;AAEW,QAAA,wBAAwB,GAAoB;IACvD,IAAI,EAAE,SAAS;IACf,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;CAyBT;IACC,SAAS,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;CAC3C,CAAC"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Semantic Code Retriever
3
+ *
4
+ * Performs similarity-based code search using embeddings.
5
+ * Optimized for AST-chunked code with configurable top-k retrieval.
6
+ *
7
+ * Key Features:
8
+ * - Top-k retrieval (default: 5 chunks)
9
+ * - Similarity threshold filtering
10
+ * - Per-file deduplication
11
+ * - Context expansion
12
+ */
13
+ import { NomicEmbedder } from '../embeddings/NomicEmbedder.js';
14
+ import { RetrievalConfig, RetrievalResponse, StoredChunk } from './types.js';
15
+ export declare class SemanticRetriever {
16
+ private embedder;
17
+ private config;
18
+ private chunks;
19
+ constructor(embedder: NomicEmbedder, config?: Partial<RetrievalConfig>);
20
+ /**
21
+ * Add chunks to the search index.
22
+ */
23
+ addChunks(chunks: StoredChunk[]): void;
24
+ /**
25
+ * Clear all indexed chunks.
26
+ */
27
+ clearIndex(): void;
28
+ /**
29
+ * Get current index size.
30
+ */
31
+ getIndexSize(): number;
32
+ /**
33
+ * Retrieve relevant code chunks for a query.
34
+ *
35
+ * @param query - Natural language or code query
36
+ * @param configOverride - Optional config override for this query
37
+ * @returns Retrieval response with ranked results
38
+ */
39
+ retrieve(query: string, configOverride?: Partial<RetrievalConfig>): Promise<RetrievalResponse>;
40
+ /**
41
+ * Retrieve and merge results into a single context string.
42
+ * Useful for providing context to LLMs.
43
+ */
44
+ retrieveAsContext(query: string, configOverride?: Partial<RetrievalConfig>): Promise<string>;
45
+ /**
46
+ * Get configuration.
47
+ */
48
+ getConfig(): RetrievalConfig;
49
+ /**
50
+ * Update configuration.
51
+ */
52
+ updateConfig(config: Partial<RetrievalConfig>): void;
53
+ /**
54
+ * Calculate cosine similarity between two vectors.
55
+ */
56
+ private cosineSimilarity;
57
+ /**
58
+ * Apply filtering, deduplication, and limits.
59
+ */
60
+ private applyFilters;
61
+ }
62
+ //# sourceMappingURL=SemanticRetriever.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SemanticRetriever.d.ts","sourceRoot":"","sources":["../../../src/code-intelligence/retrieval/SemanticRetriever.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EACL,eAAe,EAEf,iBAAiB,EAEjB,WAAW,EAEZ,MAAM,YAAY,CAAC;AAEpB,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,MAAM,CAAuC;gBAGnD,QAAQ,EAAE,aAAa,EACvB,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM;IAMvC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI;IAMtC;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;;;;;OAMG;IACG,QAAQ,CACZ,KAAK,EAAE,MAAM,EACb,cAAc,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GACxC,OAAO,CAAC,iBAAiB,CAAC;IA2D7B;;;OAGG;IACG,iBAAiB,CACrB,KAAK,EAAE,MAAM,EACb,cAAc,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GACxC,OAAO,CAAC,MAAM,CAAC;IAgBlB;;OAEG;IACH,SAAS,IAAI,eAAe;IAI5B;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IAIpD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAuBxB;;OAEG;IACH,OAAO,CAAC,YAAY;CA6BrB"}
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+ /**
3
+ * Semantic Code Retriever
4
+ *
5
+ * Performs similarity-based code search using embeddings.
6
+ * Optimized for AST-chunked code with configurable top-k retrieval.
7
+ *
8
+ * Key Features:
9
+ * - Top-k retrieval (default: 5 chunks)
10
+ * - Similarity threshold filtering
11
+ * - Per-file deduplication
12
+ * - Context expansion
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.SemanticRetriever = void 0;
16
+ const types_js_1 = require("./types.js");
17
+ class SemanticRetriever {
18
+ constructor(embedder, config = {}) {
19
+ this.chunks = new Map();
20
+ this.embedder = embedder;
21
+ this.config = { ...types_js_1.DEFAULT_RETRIEVAL_CONFIG, ...config };
22
+ }
23
+ /**
24
+ * Add chunks to the search index.
25
+ */
26
+ addChunks(chunks) {
27
+ for (const chunk of chunks) {
28
+ this.chunks.set(chunk.id, chunk);
29
+ }
30
+ }
31
+ /**
32
+ * Clear all indexed chunks.
33
+ */
34
+ clearIndex() {
35
+ this.chunks.clear();
36
+ }
37
+ /**
38
+ * Get current index size.
39
+ */
40
+ getIndexSize() {
41
+ return this.chunks.size;
42
+ }
43
+ /**
44
+ * Retrieve relevant code chunks for a query.
45
+ *
46
+ * @param query - Natural language or code query
47
+ * @param configOverride - Optional config override for this query
48
+ * @returns Retrieval response with ranked results
49
+ */
50
+ async retrieve(query, configOverride) {
51
+ const startTime = Date.now();
52
+ const config = { ...this.config, ...configOverride };
53
+ // Generate query embedding
54
+ const queryEmbedding = await this.embedder.embed(query);
55
+ // Calculate similarities for all chunks
56
+ const similarities = [];
57
+ for (const chunk of this.chunks.values()) {
58
+ const similarity = this.cosineSimilarity(queryEmbedding, chunk.embedding);
59
+ if (similarity >= config.minSimilarity) {
60
+ similarities.push({ chunk, similarity });
61
+ }
62
+ }
63
+ // Sort by similarity (descending)
64
+ similarities.sort((a, b) => b.similarity - a.similarity);
65
+ // Apply deduplication and limits
66
+ const results = this.applyFilters(similarities, config);
67
+ // Convert to results format
68
+ const retrievalResults = results.map(({ chunk, similarity }) => ({
69
+ chunkId: chunk.id,
70
+ filePath: chunk.filePath,
71
+ content: chunk.content,
72
+ startLine: chunk.startLine,
73
+ endLine: chunk.endLine,
74
+ similarity,
75
+ entityType: chunk.entityType,
76
+ entityName: chunk.entityName,
77
+ language: chunk.language,
78
+ metadata: chunk.metadata,
79
+ }));
80
+ // Calculate statistics
81
+ const uniqueFiles = new Set(retrievalResults.map(r => r.filePath)).size;
82
+ const avgSimilarity = retrievalResults.length > 0
83
+ ? retrievalResults.reduce((sum, r) => sum + r.similarity, 0) / retrievalResults.length
84
+ : 0;
85
+ const stats = {
86
+ totalChunksSearched: this.chunks.size,
87
+ chunksAboveThreshold: similarities.length,
88
+ chunksReturned: retrievalResults.length,
89
+ uniqueFiles,
90
+ avgSimilarity,
91
+ };
92
+ return {
93
+ results: retrievalResults,
94
+ query,
95
+ retrievalTimeMs: Date.now() - startTime,
96
+ stats,
97
+ };
98
+ }
99
+ /**
100
+ * Retrieve and merge results into a single context string.
101
+ * Useful for providing context to LLMs.
102
+ */
103
+ async retrieveAsContext(query, configOverride) {
104
+ const response = await this.retrieve(query, configOverride);
105
+ if (response.results.length === 0) {
106
+ return '';
107
+ }
108
+ // Format results as context
109
+ const contextParts = response.results.map((result, index) => {
110
+ const header = `// [${index + 1}] ${result.filePath}:${result.startLine}-${result.endLine} (${result.entityType}${result.entityName ? `: ${result.entityName}` : ''})`;
111
+ return `${header}\n${result.content}`;
112
+ });
113
+ return contextParts.join('\n\n');
114
+ }
115
+ /**
116
+ * Get configuration.
117
+ */
118
+ getConfig() {
119
+ return { ...this.config };
120
+ }
121
+ /**
122
+ * Update configuration.
123
+ */
124
+ updateConfig(config) {
125
+ this.config = { ...this.config, ...config };
126
+ }
127
+ /**
128
+ * Calculate cosine similarity between two vectors.
129
+ */
130
+ cosineSimilarity(a, b) {
131
+ if (a.length !== b.length) {
132
+ throw new Error(`Vector length mismatch: ${a.length} vs ${b.length}`);
133
+ }
134
+ let dotProduct = 0;
135
+ let normA = 0;
136
+ let normB = 0;
137
+ for (let i = 0; i < a.length; i++) {
138
+ dotProduct += a[i] * b[i];
139
+ normA += a[i] * a[i];
140
+ normB += b[i] * b[i];
141
+ }
142
+ const denominator = Math.sqrt(normA) * Math.sqrt(normB);
143
+ if (denominator === 0) {
144
+ return 0;
145
+ }
146
+ return dotProduct / denominator;
147
+ }
148
+ /**
149
+ * Apply filtering, deduplication, and limits.
150
+ */
151
+ applyFilters(similarities, config) {
152
+ if (!config.deduplicateByFile) {
153
+ // Simple case: just take top-k
154
+ return similarities.slice(0, config.topK);
155
+ }
156
+ // Track chunks per file
157
+ const fileChunkCounts = new Map();
158
+ const results = [];
159
+ for (const item of similarities) {
160
+ if (results.length >= config.topK) {
161
+ break;
162
+ }
163
+ const filePath = item.chunk.filePath;
164
+ const currentCount = fileChunkCounts.get(filePath) || 0;
165
+ if (currentCount < config.maxChunksPerFile) {
166
+ results.push(item);
167
+ fileChunkCounts.set(filePath, currentCount + 1);
168
+ }
169
+ }
170
+ return results;
171
+ }
172
+ }
173
+ exports.SemanticRetriever = SemanticRetriever;
174
+ //# sourceMappingURL=SemanticRetriever.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SemanticRetriever.js","sourceRoot":"","sources":["../../../src/code-intelligence/retrieval/SemanticRetriever.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Code Intelligence Retrieval Module
3
+ *
4
+ * Semantic search for code using embeddings.
5
+ * Optimized for AST-chunked code with multi-chunk retrieval.
6
+ */
7
+ export { SemanticRetriever } from './SemanticRetriever.js';
8
+ export { RetrievalConfig, RetrievalResult, RetrievalResponse, RetrievalStats, StoredChunk, DEFAULT_RETRIEVAL_CONFIG, PRECISION_RETRIEVAL_CONFIG, RECALL_RETRIEVAL_CONFIG, } from './types.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/code-intelligence/retrieval/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACL,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,wBAAwB,EACxB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ /**
3
+ * Code Intelligence Retrieval Module
4
+ *
5
+ * Semantic search for code using embeddings.
6
+ * Optimized for AST-chunked code with multi-chunk retrieval.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.RECALL_RETRIEVAL_CONFIG = exports.PRECISION_RETRIEVAL_CONFIG = exports.DEFAULT_RETRIEVAL_CONFIG = exports.SemanticRetriever = void 0;
10
+ var SemanticRetriever_js_1 = require("./SemanticRetriever.js");
11
+ Object.defineProperty(exports, "SemanticRetriever", { enumerable: true, get: function () { return SemanticRetriever_js_1.SemanticRetriever; } });
12
+ var types_js_1 = require("./types.js");
13
+ Object.defineProperty(exports, "DEFAULT_RETRIEVAL_CONFIG", { enumerable: true, get: function () { return types_js_1.DEFAULT_RETRIEVAL_CONFIG; } });
14
+ Object.defineProperty(exports, "PRECISION_RETRIEVAL_CONFIG", { enumerable: true, get: function () { return types_js_1.PRECISION_RETRIEVAL_CONFIG; } });
15
+ Object.defineProperty(exports, "RECALL_RETRIEVAL_CONFIG", { enumerable: true, get: function () { return types_js_1.RECALL_RETRIEVAL_CONFIG; } });
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/code-intelligence/retrieval/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,+DAA2D;AAAlD,yHAAA,iBAAiB,OAAA;AAC1B,uCASoB;AAHlB,oHAAA,wBAAwB,OAAA;AACxB,sHAAA,0BAA0B,OAAA;AAC1B,mHAAA,uBAAuB,OAAA"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Types for Code Intelligence Retrieval System
3
+ *
4
+ * Supports multi-chunk retrieval with configurable top-k
5
+ * to balance semantic precision with context completeness.
6
+ */
7
+ export interface RetrievalConfig {
8
+ /**
9
+ * Number of top chunks to retrieve per query.
10
+ * Higher values = more context but potentially less precision.
11
+ * Recommended: 3-5 for AST-chunked code (smaller semantic units)
12
+ * Default: 5
13
+ */
14
+ topK: number;
15
+ /**
16
+ * Minimum similarity score threshold (0-1).
17
+ * Chunks below this score are filtered out.
18
+ * Default: 0.5
19
+ */
20
+ minSimilarity: number;
21
+ /**
22
+ * Whether to deduplicate results from the same file.
23
+ * When true, consecutive chunks from same file are merged.
24
+ * Default: true
25
+ */
26
+ deduplicateByFile: boolean;
27
+ /**
28
+ * Maximum number of chunks to return from same file.
29
+ * Prevents single large file from dominating results.
30
+ * Default: 3
31
+ */
32
+ maxChunksPerFile: number;
33
+ /**
34
+ * Whether to include surrounding context for each chunk.
35
+ * Expands results to include adjacent chunks.
36
+ * Default: false
37
+ */
38
+ includeContext: boolean;
39
+ /**
40
+ * Number of chunks before/after to include as context.
41
+ * Only used when includeContext is true.
42
+ * Default: 1
43
+ */
44
+ contextWindow: number;
45
+ }
46
+ export interface RetrievalResult {
47
+ /** Unique chunk identifier */
48
+ chunkId: string;
49
+ /** File path containing this chunk */
50
+ filePath: string;
51
+ /** Chunk content */
52
+ content: string;
53
+ /** Start line in original file */
54
+ startLine: number;
55
+ /** End line in original file */
56
+ endLine: number;
57
+ /** Cosine similarity score (0-1) */
58
+ similarity: number;
59
+ /** Entity type (function, class, method, etc.) */
60
+ entityType: string;
61
+ /** Entity name if available */
62
+ entityName?: string;
63
+ /** Language of the code */
64
+ language: string;
65
+ /** Additional metadata */
66
+ metadata?: Record<string, unknown>;
67
+ }
68
+ export interface RetrievalResponse {
69
+ /** Retrieved chunks, ordered by relevance */
70
+ results: RetrievalResult[];
71
+ /** Query that was searched */
72
+ query: string;
73
+ /** Time taken for retrieval in milliseconds */
74
+ retrievalTimeMs: number;
75
+ /** Statistics about the retrieval */
76
+ stats: RetrievalStats;
77
+ }
78
+ export interface RetrievalStats {
79
+ /** Total chunks searched */
80
+ totalChunksSearched: number;
81
+ /** Chunks that passed similarity threshold */
82
+ chunksAboveThreshold: number;
83
+ /** Final chunks returned (after dedup/limits) */
84
+ chunksReturned: number;
85
+ /** Unique files in results */
86
+ uniqueFiles: number;
87
+ /** Average similarity of returned chunks */
88
+ avgSimilarity: number;
89
+ }
90
+ export interface StoredChunk {
91
+ id: string;
92
+ fileId: string;
93
+ filePath: string;
94
+ content: string;
95
+ startLine: number;
96
+ endLine: number;
97
+ entityType: string;
98
+ entityName?: string;
99
+ language: string;
100
+ embedding: number[];
101
+ metadata?: Record<string, unknown>;
102
+ }
103
+ /**
104
+ * Default retrieval configuration optimized for AST-chunked code.
105
+ * Uses top-k=5 to compensate for smaller semantic chunks.
106
+ */
107
+ export declare const DEFAULT_RETRIEVAL_CONFIG: RetrievalConfig;
108
+ /**
109
+ * High-precision configuration for specific queries.
110
+ * Use when you need exact matches over broad context.
111
+ */
112
+ export declare const PRECISION_RETRIEVAL_CONFIG: RetrievalConfig;
113
+ /**
114
+ * High-recall configuration for exploratory queries.
115
+ * Use when you want to find all potentially relevant code.
116
+ */
117
+ export declare const RECALL_RETRIEVAL_CONFIG: RetrievalConfig;
118
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/code-intelligence/retrieval/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAE3B;;;;OAIG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,cAAc,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAEhB,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IAEjB,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAEhB,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAElB,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAEhB,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IAEnB,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;IAEnB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IAEjB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,iBAAiB;IAChC,6CAA6C;IAC7C,OAAO,EAAE,eAAe,EAAE,CAAC;IAE3B,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IAEd,+CAA+C;IAC/C,eAAe,EAAE,MAAM,CAAC;IAExB,qCAAqC;IACrC,KAAK,EAAE,cAAc,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAE5B,8CAA8C;IAC9C,oBAAoB,EAAE,MAAM,CAAC;IAE7B,iDAAiD;IACjD,cAAc,EAAE,MAAM,CAAC;IAEvB,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAC;IAEpB,4CAA4C;IAC5C,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,eAOtC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,eAOxC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,eAOrC,CAAC"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ /**
3
+ * Types for Code Intelligence Retrieval System
4
+ *
5
+ * Supports multi-chunk retrieval with configurable top-k
6
+ * to balance semantic precision with context completeness.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.RECALL_RETRIEVAL_CONFIG = exports.PRECISION_RETRIEVAL_CONFIG = exports.DEFAULT_RETRIEVAL_CONFIG = void 0;
10
+ /**
11
+ * Default retrieval configuration optimized for AST-chunked code.
12
+ * Uses top-k=5 to compensate for smaller semantic chunks.
13
+ */
14
+ exports.DEFAULT_RETRIEVAL_CONFIG = {
15
+ topK: 5, // Retrieve 5 chunks (recommended for AST chunking)
16
+ minSimilarity: 0.5, // 50% similarity threshold
17
+ deduplicateByFile: true,
18
+ maxChunksPerFile: 3,
19
+ includeContext: false,
20
+ contextWindow: 1,
21
+ };
22
+ /**
23
+ * High-precision configuration for specific queries.
24
+ * Use when you need exact matches over broad context.
25
+ */
26
+ exports.PRECISION_RETRIEVAL_CONFIG = {
27
+ topK: 3,
28
+ minSimilarity: 0.7, // Higher threshold
29
+ deduplicateByFile: true,
30
+ maxChunksPerFile: 2,
31
+ includeContext: false,
32
+ contextWindow: 0,
33
+ };
34
+ /**
35
+ * High-recall configuration for exploratory queries.
36
+ * Use when you want to find all potentially relevant code.
37
+ */
38
+ exports.RECALL_RETRIEVAL_CONFIG = {
39
+ topK: 10, // More results
40
+ minSimilarity: 0.4, // Lower threshold
41
+ deduplicateByFile: false,
42
+ maxChunksPerFile: 5,
43
+ includeContext: true,
44
+ contextWindow: 2,
45
+ };
46
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/code-intelligence/retrieval/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AA4HH;;;GAGG;AACU,QAAA,wBAAwB,GAAoB;IACvD,IAAI,EAAE,CAAC,EAAe,mDAAmD;IACzE,aAAa,EAAE,GAAG,EAAI,2BAA2B;IACjD,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,CAAC;IACnB,cAAc,EAAE,KAAK;IACrB,aAAa,EAAE,CAAC;CACjB,CAAC;AAEF;;;GAGG;AACU,QAAA,0BAA0B,GAAoB;IACzD,IAAI,EAAE,CAAC;IACP,aAAa,EAAE,GAAG,EAAI,mBAAmB;IACzC,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,CAAC;IACnB,cAAc,EAAE,KAAK;IACrB,aAAa,EAAE,CAAC;CACjB,CAAC;AAEF;;;GAGG;AACU,QAAA,uBAAuB,GAAoB;IACtD,IAAI,EAAE,EAAE,EAAc,eAAe;IACrC,aAAa,EAAE,GAAG,EAAI,kBAAkB;IACxC,iBAAiB,EAAE,KAAK;IACxB,gBAAgB,EAAE,CAAC;IACnB,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,CAAC;CACjB,CAAC"}