agentic-qe 2.5.9 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (336) hide show
  1. package/.claude/agents/qe-code-intelligence.md +359 -0
  2. package/CHANGELOG.md +136 -0
  3. package/README.md +4 -3
  4. package/dist/agents/BaseAgent.d.ts +167 -0
  5. package/dist/agents/BaseAgent.d.ts.map +1 -1
  6. package/dist/agents/BaseAgent.js +414 -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/FlakyTestHunterAgent.d.ts +15 -0
  13. package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
  14. package/dist/agents/FlakyTestHunterAgent.js +93 -0
  15. package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
  16. package/dist/agents/SecurityScannerAgent.d.ts +19 -0
  17. package/dist/agents/SecurityScannerAgent.d.ts.map +1 -1
  18. package/dist/agents/SecurityScannerAgent.js +137 -0
  19. package/dist/agents/SecurityScannerAgent.js.map +1 -1
  20. package/dist/agents/context/ContextCache.d.ts +105 -0
  21. package/dist/agents/context/ContextCache.d.ts.map +1 -0
  22. package/dist/agents/context/ContextCache.js +235 -0
  23. package/dist/agents/context/ContextCache.js.map +1 -0
  24. package/dist/agents/context/ContextFormatter.d.ts +92 -0
  25. package/dist/agents/context/ContextFormatter.d.ts.map +1 -0
  26. package/dist/agents/context/ContextFormatter.js +338 -0
  27. package/dist/agents/context/ContextFormatter.js.map +1 -0
  28. package/dist/agents/context/GraphExpander.d.ts +87 -0
  29. package/dist/agents/context/GraphExpander.d.ts.map +1 -0
  30. package/dist/agents/context/GraphExpander.js +215 -0
  31. package/dist/agents/context/GraphExpander.js.map +1 -0
  32. package/dist/agents/context/KnowledgeGraphContextBuilder.d.ts +160 -0
  33. package/dist/agents/context/KnowledgeGraphContextBuilder.d.ts.map +1 -0
  34. package/dist/agents/context/KnowledgeGraphContextBuilder.js +300 -0
  35. package/dist/agents/context/KnowledgeGraphContextBuilder.js.map +1 -0
  36. package/dist/agents/context/index.d.ts +15 -0
  37. package/dist/agents/context/index.d.ts.map +1 -0
  38. package/dist/agents/context/index.js +18 -0
  39. package/dist/agents/context/index.js.map +1 -0
  40. package/dist/agents/index.d.ts +1 -0
  41. package/dist/agents/index.d.ts.map +1 -1
  42. package/dist/agents/index.js +67 -3
  43. package/dist/agents/index.js.map +1 -1
  44. package/dist/cli/commands/knowledge-graph.d.ts +112 -0
  45. package/dist/cli/commands/knowledge-graph.d.ts.map +1 -0
  46. package/dist/cli/commands/knowledge-graph.js +466 -0
  47. package/dist/cli/commands/knowledge-graph.js.map +1 -0
  48. package/dist/cli/commands/ruvector/index.d.ts +13 -0
  49. package/dist/cli/commands/ruvector/index.d.ts.map +1 -0
  50. package/dist/cli/commands/ruvector/index.js +308 -0
  51. package/dist/cli/commands/ruvector/index.js.map +1 -0
  52. package/dist/cli/formatters/KGOutputFormatter.d.ts +50 -0
  53. package/dist/cli/formatters/KGOutputFormatter.d.ts.map +1 -0
  54. package/dist/cli/formatters/KGOutputFormatter.js +237 -0
  55. package/dist/cli/formatters/KGOutputFormatter.js.map +1 -0
  56. package/dist/cli/index-working.js +138 -0
  57. package/dist/cli/index-working.js.map +1 -1
  58. package/dist/cli/index.js +5 -0
  59. package/dist/cli/index.js.map +1 -1
  60. package/dist/cli/init/claude-config.d.ts +13 -1
  61. package/dist/cli/init/claude-config.d.ts.map +1 -1
  62. package/dist/cli/init/claude-config.js +70 -8
  63. package/dist/cli/init/claude-config.js.map +1 -1
  64. package/dist/cli/init/code-intelligence-init.d.ts +52 -0
  65. package/dist/cli/init/code-intelligence-init.d.ts.map +1 -0
  66. package/dist/cli/init/code-intelligence-init.js +250 -0
  67. package/dist/cli/init/code-intelligence-init.js.map +1 -0
  68. package/dist/cli/init/index.d.ts +2 -2
  69. package/dist/cli/init/index.d.ts.map +1 -1
  70. package/dist/cli/init/index.js +21 -1
  71. package/dist/cli/init/index.js.map +1 -1
  72. package/dist/code-intelligence/chunking/ASTChunker.d.ts +64 -0
  73. package/dist/code-intelligence/chunking/ASTChunker.d.ts.map +1 -0
  74. package/dist/code-intelligence/chunking/ASTChunker.js +344 -0
  75. package/dist/code-intelligence/chunking/ASTChunker.js.map +1 -0
  76. package/dist/code-intelligence/chunking/ChunkSplitter.d.ts +48 -0
  77. package/dist/code-intelligence/chunking/ChunkSplitter.d.ts.map +1 -0
  78. package/dist/code-intelligence/chunking/ChunkSplitter.js +278 -0
  79. package/dist/code-intelligence/chunking/ChunkSplitter.js.map +1 -0
  80. package/dist/code-intelligence/chunking/index.d.ts +8 -0
  81. package/dist/code-intelligence/chunking/index.d.ts.map +1 -0
  82. package/dist/code-intelligence/chunking/index.js +13 -0
  83. package/dist/code-intelligence/chunking/index.js.map +1 -0
  84. package/dist/code-intelligence/chunking/types.d.ts +52 -0
  85. package/dist/code-intelligence/chunking/types.d.ts.map +1 -0
  86. package/dist/code-intelligence/chunking/types.js +6 -0
  87. package/dist/code-intelligence/chunking/types.js.map +1 -0
  88. package/dist/code-intelligence/config/database-schema.d.ts +245 -0
  89. package/dist/code-intelligence/config/database-schema.d.ts.map +1 -0
  90. package/dist/code-intelligence/config/database-schema.js +110 -0
  91. package/dist/code-intelligence/config/database-schema.js.map +1 -0
  92. package/dist/code-intelligence/config/environment.d.ts +53 -0
  93. package/dist/code-intelligence/config/environment.d.ts.map +1 -0
  94. package/dist/code-intelligence/config/environment.js +86 -0
  95. package/dist/code-intelligence/config/environment.js.map +1 -0
  96. package/dist/code-intelligence/config/index.d.ts +10 -0
  97. package/dist/code-intelligence/config/index.d.ts.map +1 -0
  98. package/dist/code-intelligence/config/index.js +36 -0
  99. package/dist/code-intelligence/config/index.js.map +1 -0
  100. package/dist/code-intelligence/embeddings/EmbeddingCache.d.ts +81 -0
  101. package/dist/code-intelligence/embeddings/EmbeddingCache.d.ts.map +1 -0
  102. package/dist/code-intelligence/embeddings/EmbeddingCache.js +168 -0
  103. package/dist/code-intelligence/embeddings/EmbeddingCache.js.map +1 -0
  104. package/dist/code-intelligence/embeddings/NomicEmbedder.d.ts +82 -0
  105. package/dist/code-intelligence/embeddings/NomicEmbedder.d.ts.map +1 -0
  106. package/dist/code-intelligence/embeddings/NomicEmbedder.js +233 -0
  107. package/dist/code-intelligence/embeddings/NomicEmbedder.js.map +1 -0
  108. package/dist/code-intelligence/embeddings/OllamaClient.d.ts +42 -0
  109. package/dist/code-intelligence/embeddings/OllamaClient.d.ts.map +1 -0
  110. package/dist/code-intelligence/embeddings/OllamaClient.js +142 -0
  111. package/dist/code-intelligence/embeddings/OllamaClient.js.map +1 -0
  112. package/dist/code-intelligence/embeddings/index.d.ts +33 -0
  113. package/dist/code-intelligence/embeddings/index.d.ts.map +1 -0
  114. package/dist/code-intelligence/embeddings/index.js +39 -0
  115. package/dist/code-intelligence/embeddings/index.js.map +1 -0
  116. package/dist/code-intelligence/embeddings/types.d.ts +84 -0
  117. package/dist/code-intelligence/embeddings/types.d.ts.map +1 -0
  118. package/dist/code-intelligence/embeddings/types.js +19 -0
  119. package/dist/code-intelligence/embeddings/types.js.map +1 -0
  120. package/dist/code-intelligence/graph/GraphBuilder.d.ts +126 -0
  121. package/dist/code-intelligence/graph/GraphBuilder.d.ts.map +1 -0
  122. package/dist/code-intelligence/graph/GraphBuilder.js +416 -0
  123. package/dist/code-intelligence/graph/GraphBuilder.js.map +1 -0
  124. package/dist/code-intelligence/graph/ImportParser.d.ts +72 -0
  125. package/dist/code-intelligence/graph/ImportParser.d.ts.map +1 -0
  126. package/dist/code-intelligence/graph/ImportParser.js +422 -0
  127. package/dist/code-intelligence/graph/ImportParser.js.map +1 -0
  128. package/dist/code-intelligence/graph/RelationshipExtractor.d.ts +74 -0
  129. package/dist/code-intelligence/graph/RelationshipExtractor.d.ts.map +1 -0
  130. package/dist/code-intelligence/graph/RelationshipExtractor.js +310 -0
  131. package/dist/code-intelligence/graph/RelationshipExtractor.js.map +1 -0
  132. package/dist/code-intelligence/graph/TestMapper.d.ts +99 -0
  133. package/dist/code-intelligence/graph/TestMapper.d.ts.map +1 -0
  134. package/dist/code-intelligence/graph/TestMapper.js +335 -0
  135. package/dist/code-intelligence/graph/TestMapper.js.map +1 -0
  136. package/dist/code-intelligence/graph/index.d.ts +14 -0
  137. package/dist/code-intelligence/graph/index.d.ts.map +1 -0
  138. package/dist/code-intelligence/graph/index.js +19 -0
  139. package/dist/code-intelligence/graph/index.js.map +1 -0
  140. package/dist/code-intelligence/graph/types.d.ts +141 -0
  141. package/dist/code-intelligence/graph/types.d.ts.map +1 -0
  142. package/dist/code-intelligence/graph/types.js +18 -0
  143. package/dist/code-intelligence/graph/types.js.map +1 -0
  144. package/dist/code-intelligence/indexing/FileWatcher.d.ts +90 -0
  145. package/dist/code-intelligence/indexing/FileWatcher.d.ts.map +1 -0
  146. package/dist/code-intelligence/indexing/FileWatcher.js +304 -0
  147. package/dist/code-intelligence/indexing/FileWatcher.js.map +1 -0
  148. package/dist/code-intelligence/indexing/GitChangeDetector.d.ts +76 -0
  149. package/dist/code-intelligence/indexing/GitChangeDetector.d.ts.map +1 -0
  150. package/dist/code-intelligence/indexing/GitChangeDetector.js +347 -0
  151. package/dist/code-intelligence/indexing/GitChangeDetector.js.map +1 -0
  152. package/dist/code-intelligence/indexing/IncrementalIndexer.d.ts +108 -0
  153. package/dist/code-intelligence/indexing/IncrementalIndexer.d.ts.map +1 -0
  154. package/dist/code-intelligence/indexing/IncrementalIndexer.js +269 -0
  155. package/dist/code-intelligence/indexing/IncrementalIndexer.js.map +1 -0
  156. package/dist/code-intelligence/indexing/index.d.ts +11 -0
  157. package/dist/code-intelligence/indexing/index.d.ts.map +1 -0
  158. package/dist/code-intelligence/indexing/index.js +18 -0
  159. package/dist/code-intelligence/indexing/index.js.map +1 -0
  160. package/dist/code-intelligence/indexing/types.d.ts +133 -0
  161. package/dist/code-intelligence/indexing/types.d.ts.map +1 -0
  162. package/dist/code-intelligence/indexing/types.js +27 -0
  163. package/dist/code-intelligence/indexing/types.js.map +1 -0
  164. package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.d.ts +150 -0
  165. package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.d.ts.map +1 -0
  166. package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.js +806 -0
  167. package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.js.map +1 -0
  168. package/dist/code-intelligence/orchestrator/index.d.ts +8 -0
  169. package/dist/code-intelligence/orchestrator/index.d.ts.map +1 -0
  170. package/dist/code-intelligence/orchestrator/index.js +24 -0
  171. package/dist/code-intelligence/orchestrator/index.js.map +1 -0
  172. package/dist/code-intelligence/orchestrator/types.d.ts +164 -0
  173. package/dist/code-intelligence/orchestrator/types.d.ts.map +1 -0
  174. package/dist/code-intelligence/orchestrator/types.js +18 -0
  175. package/dist/code-intelligence/orchestrator/types.js.map +1 -0
  176. package/dist/code-intelligence/parser/LanguageRegistry.d.ts +13 -0
  177. package/dist/code-intelligence/parser/LanguageRegistry.d.ts.map +1 -0
  178. package/dist/code-intelligence/parser/LanguageRegistry.js +150 -0
  179. package/dist/code-intelligence/parser/LanguageRegistry.js.map +1 -0
  180. package/dist/code-intelligence/parser/TreeSitterParser.d.ts +98 -0
  181. package/dist/code-intelligence/parser/TreeSitterParser.d.ts.map +1 -0
  182. package/dist/code-intelligence/parser/TreeSitterParser.js +530 -0
  183. package/dist/code-intelligence/parser/TreeSitterParser.js.map +1 -0
  184. package/dist/code-intelligence/parser/extractors/BaseExtractor.d.ts +36 -0
  185. package/dist/code-intelligence/parser/extractors/BaseExtractor.d.ts.map +1 -0
  186. package/dist/code-intelligence/parser/extractors/BaseExtractor.js +31 -0
  187. package/dist/code-intelligence/parser/extractors/BaseExtractor.js.map +1 -0
  188. package/dist/code-intelligence/parser/extractors/GoExtractor.d.ts +21 -0
  189. package/dist/code-intelligence/parser/extractors/GoExtractor.d.ts.map +1 -0
  190. package/dist/code-intelligence/parser/extractors/GoExtractor.js +249 -0
  191. package/dist/code-intelligence/parser/extractors/GoExtractor.js.map +1 -0
  192. package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.d.ts +21 -0
  193. package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.d.ts.map +1 -0
  194. package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.js +217 -0
  195. package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.js.map +1 -0
  196. package/dist/code-intelligence/parser/extractors/PythonExtractor.d.ts +20 -0
  197. package/dist/code-intelligence/parser/extractors/PythonExtractor.d.ts.map +1 -0
  198. package/dist/code-intelligence/parser/extractors/PythonExtractor.js +237 -0
  199. package/dist/code-intelligence/parser/extractors/PythonExtractor.js.map +1 -0
  200. package/dist/code-intelligence/parser/extractors/RustExtractor.d.ts +21 -0
  201. package/dist/code-intelligence/parser/extractors/RustExtractor.d.ts.map +1 -0
  202. package/dist/code-intelligence/parser/extractors/RustExtractor.js +234 -0
  203. package/dist/code-intelligence/parser/extractors/RustExtractor.js.map +1 -0
  204. package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.d.ts +23 -0
  205. package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.d.ts.map +1 -0
  206. package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.js +247 -0
  207. package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.js.map +1 -0
  208. package/dist/code-intelligence/parser/extractors/index.d.ts +7 -0
  209. package/dist/code-intelligence/parser/extractors/index.d.ts.map +1 -0
  210. package/dist/code-intelligence/parser/extractors/index.js +16 -0
  211. package/dist/code-intelligence/parser/extractors/index.js.map +1 -0
  212. package/dist/code-intelligence/parser/index.d.ts +8 -0
  213. package/dist/code-intelligence/parser/index.d.ts.map +1 -0
  214. package/dist/code-intelligence/parser/index.js +12 -0
  215. package/dist/code-intelligence/parser/index.js.map +1 -0
  216. package/dist/code-intelligence/parser/types.d.ts +60 -0
  217. package/dist/code-intelligence/parser/types.d.ts.map +1 -0
  218. package/dist/code-intelligence/parser/types.js +6 -0
  219. package/dist/code-intelligence/parser/types.js.map +1 -0
  220. package/dist/code-intelligence/rag/ContextBuilder.d.ts +82 -0
  221. package/dist/code-intelligence/rag/ContextBuilder.d.ts.map +1 -0
  222. package/dist/code-intelligence/rag/ContextBuilder.js +242 -0
  223. package/dist/code-intelligence/rag/ContextBuilder.js.map +1 -0
  224. package/dist/code-intelligence/rag/GraphExpander.d.ts +95 -0
  225. package/dist/code-intelligence/rag/GraphExpander.d.ts.map +1 -0
  226. package/dist/code-intelligence/rag/GraphExpander.js +250 -0
  227. package/dist/code-intelligence/rag/GraphExpander.js.map +1 -0
  228. package/dist/code-intelligence/rag/index.d.ts +9 -0
  229. package/dist/code-intelligence/rag/index.d.ts.map +1 -0
  230. package/dist/code-intelligence/rag/index.js +25 -0
  231. package/dist/code-intelligence/rag/index.js.map +1 -0
  232. package/dist/code-intelligence/rag/types.d.ts +121 -0
  233. package/dist/code-intelligence/rag/types.d.ts.map +1 -0
  234. package/dist/code-intelligence/rag/types.js +50 -0
  235. package/dist/code-intelligence/rag/types.js.map +1 -0
  236. package/dist/code-intelligence/retrieval/SemanticRetriever.d.ts +62 -0
  237. package/dist/code-intelligence/retrieval/SemanticRetriever.d.ts.map +1 -0
  238. package/dist/code-intelligence/retrieval/SemanticRetriever.js +174 -0
  239. package/dist/code-intelligence/retrieval/SemanticRetriever.js.map +1 -0
  240. package/dist/code-intelligence/retrieval/index.d.ts +9 -0
  241. package/dist/code-intelligence/retrieval/index.d.ts.map +1 -0
  242. package/dist/code-intelligence/retrieval/index.js +16 -0
  243. package/dist/code-intelligence/retrieval/index.js.map +1 -0
  244. package/dist/code-intelligence/retrieval/types.d.ts +118 -0
  245. package/dist/code-intelligence/retrieval/types.d.ts.map +1 -0
  246. package/dist/code-intelligence/retrieval/types.js +46 -0
  247. package/dist/code-intelligence/retrieval/types.js.map +1 -0
  248. package/dist/code-intelligence/router/CodeIntelligenceHybridRouter.d.ts +167 -0
  249. package/dist/code-intelligence/router/CodeIntelligenceHybridRouter.d.ts.map +1 -0
  250. package/dist/code-intelligence/router/CodeIntelligenceHybridRouter.js +365 -0
  251. package/dist/code-intelligence/router/CodeIntelligenceHybridRouter.js.map +1 -0
  252. package/dist/code-intelligence/router/index.d.ts +7 -0
  253. package/dist/code-intelligence/router/index.d.ts.map +1 -0
  254. package/dist/code-intelligence/router/index.js +14 -0
  255. package/dist/code-intelligence/router/index.js.map +1 -0
  256. package/dist/code-intelligence/search/BM25Search.d.ts +74 -0
  257. package/dist/code-intelligence/search/BM25Search.d.ts.map +1 -0
  258. package/dist/code-intelligence/search/BM25Search.js +233 -0
  259. package/dist/code-intelligence/search/BM25Search.js.map +1 -0
  260. package/dist/code-intelligence/search/HybridSearchEngine.d.ts +94 -0
  261. package/dist/code-intelligence/search/HybridSearchEngine.d.ts.map +1 -0
  262. package/dist/code-intelligence/search/HybridSearchEngine.js +168 -0
  263. package/dist/code-intelligence/search/HybridSearchEngine.js.map +1 -0
  264. package/dist/code-intelligence/search/RRFFusion.d.ts +46 -0
  265. package/dist/code-intelligence/search/RRFFusion.d.ts.map +1 -0
  266. package/dist/code-intelligence/search/RRFFusion.js +223 -0
  267. package/dist/code-intelligence/search/RRFFusion.js.map +1 -0
  268. package/dist/code-intelligence/search/VectorSearch.d.ts +157 -0
  269. package/dist/code-intelligence/search/VectorSearch.d.ts.map +1 -0
  270. package/dist/code-intelligence/search/VectorSearch.js +301 -0
  271. package/dist/code-intelligence/search/VectorSearch.js.map +1 -0
  272. package/dist/code-intelligence/search/index.d.ts +14 -0
  273. package/dist/code-intelligence/search/index.d.ts.map +1 -0
  274. package/dist/code-intelligence/search/index.js +23 -0
  275. package/dist/code-intelligence/search/index.js.map +1 -0
  276. package/dist/code-intelligence/search/types.d.ts +201 -0
  277. package/dist/code-intelligence/search/types.d.ts.map +1 -0
  278. package/dist/code-intelligence/search/types.js +35 -0
  279. package/dist/code-intelligence/search/types.js.map +1 -0
  280. package/dist/code-intelligence/service/CodeIntelligenceService.d.ts +171 -0
  281. package/dist/code-intelligence/service/CodeIntelligenceService.d.ts.map +1 -0
  282. package/dist/code-intelligence/service/CodeIntelligenceService.js +325 -0
  283. package/dist/code-intelligence/service/CodeIntelligenceService.js.map +1 -0
  284. package/dist/code-intelligence/service/index.d.ts +7 -0
  285. package/dist/code-intelligence/service/index.d.ts.map +1 -0
  286. package/dist/code-intelligence/service/index.js +14 -0
  287. package/dist/code-intelligence/service/index.js.map +1 -0
  288. package/dist/code-intelligence/storage/CodeChunkStore.d.ts +213 -0
  289. package/dist/code-intelligence/storage/CodeChunkStore.d.ts.map +1 -0
  290. package/dist/code-intelligence/storage/CodeChunkStore.js +542 -0
  291. package/dist/code-intelligence/storage/CodeChunkStore.js.map +1 -0
  292. package/dist/code-intelligence/storage/index.d.ts +7 -0
  293. package/dist/code-intelligence/storage/index.d.ts.map +1 -0
  294. package/dist/code-intelligence/storage/index.js +13 -0
  295. package/dist/code-intelligence/storage/index.js.map +1 -0
  296. package/dist/code-intelligence/visualization/ClassDiagramBuilder.d.ts +51 -0
  297. package/dist/code-intelligence/visualization/ClassDiagramBuilder.d.ts.map +1 -0
  298. package/dist/code-intelligence/visualization/ClassDiagramBuilder.js +180 -0
  299. package/dist/code-intelligence/visualization/ClassDiagramBuilder.js.map +1 -0
  300. package/dist/code-intelligence/visualization/DependencyGraphBuilder.d.ts +66 -0
  301. package/dist/code-intelligence/visualization/DependencyGraphBuilder.d.ts.map +1 -0
  302. package/dist/code-intelligence/visualization/DependencyGraphBuilder.js +203 -0
  303. package/dist/code-intelligence/visualization/DependencyGraphBuilder.js.map +1 -0
  304. package/dist/code-intelligence/visualization/MermaidGenerator.d.ts +76 -0
  305. package/dist/code-intelligence/visualization/MermaidGenerator.d.ts.map +1 -0
  306. package/dist/code-intelligence/visualization/MermaidGenerator.js +368 -0
  307. package/dist/code-intelligence/visualization/MermaidGenerator.js.map +1 -0
  308. package/dist/code-intelligence/visualization/index.d.ts +9 -0
  309. package/dist/code-intelligence/visualization/index.d.ts.map +1 -0
  310. package/dist/code-intelligence/visualization/index.js +15 -0
  311. package/dist/code-intelligence/visualization/index.js.map +1 -0
  312. package/dist/core/FleetManager.d.ts +27 -0
  313. package/dist/core/FleetManager.d.ts.map +1 -1
  314. package/dist/core/FleetManager.js +84 -0
  315. package/dist/core/FleetManager.js.map +1 -1
  316. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  317. package/dist/mcp/server-instructions.d.ts +1 -1
  318. package/dist/mcp/server-instructions.js +1 -1
  319. package/dist/memory/RuVectorPatternStore.d.ts +258 -0
  320. package/dist/memory/RuVectorPatternStore.d.ts.map +1 -0
  321. package/dist/memory/RuVectorPatternStore.js +525 -0
  322. package/dist/memory/RuVectorPatternStore.js.map +1 -0
  323. package/dist/providers/RuVectorPostgresAdapter.d.ts +134 -0
  324. package/dist/providers/RuVectorPostgresAdapter.d.ts.map +1 -0
  325. package/dist/providers/RuVectorPostgresAdapter.js +504 -0
  326. package/dist/providers/RuVectorPostgresAdapter.js.map +1 -0
  327. package/dist/providers/index.d.ts +2 -0
  328. package/dist/providers/index.d.ts.map +1 -1
  329. package/dist/providers/index.js +7 -1
  330. package/dist/providers/index.js.map +1 -1
  331. package/dist/types/index.d.ts +2 -1
  332. package/dist/types/index.d.ts.map +1 -1
  333. package/dist/types/index.js +2 -0
  334. package/dist/types/index.js.map +1 -1
  335. package/docs/reference/agents.md +44 -1
  336. package/package.json +15 -2
@@ -0,0 +1,542 @@
1
+ "use strict";
2
+ /**
3
+ * CodeChunkStore - RuVector-based storage for code intelligence chunks
4
+ *
5
+ * Extends RuVectorPostgresAdapter to provide specialized storage for:
6
+ * - Code chunks with embeddings
7
+ * - Entity relationships
8
+ * - File-based filtering and search
9
+ *
10
+ * Uses the existing RuVector PostgreSQL infrastructure instead of
11
+ * reinventing vector storage.
12
+ *
13
+ * @module code-intelligence/storage/CodeChunkStore
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.CodeChunkStore = void 0;
17
+ exports.createDockerCodeChunkStore = createDockerCodeChunkStore;
18
+ exports.createCodeChunkStoreFromEnv = createCodeChunkStoreFromEnv;
19
+ const pg_1 = require("pg");
20
+ /**
21
+ * CodeChunkStore - RuVector-backed code chunk storage
22
+ *
23
+ * Uses PostgreSQL with RuVector extension for:
24
+ * - Semantic vector search via ruvector_cosine_distance()
25
+ * - Full-text search via tsvector/GIN
26
+ * - Hybrid search combining both
27
+ */
28
+ class CodeChunkStore {
29
+ constructor(config = {}) {
30
+ this.initialized = false;
31
+ this.config = {
32
+ connectionString: config.connectionString ?? '',
33
+ host: config.host ?? 'localhost',
34
+ port: config.port ?? 5432,
35
+ database: config.database ?? 'ruvector_db',
36
+ user: config.user ?? 'ruvector',
37
+ password: config.password ?? 'ruvector',
38
+ embeddingDimension: config.embeddingDimension ?? 768,
39
+ poolSize: config.poolSize ?? 10,
40
+ debug: config.debug ?? false,
41
+ };
42
+ const poolConfig = this.config.connectionString
43
+ ? { connectionString: this.config.connectionString }
44
+ : {
45
+ host: this.config.host,
46
+ port: this.config.port,
47
+ database: this.config.database,
48
+ user: this.config.user,
49
+ password: this.config.password,
50
+ max: this.config.poolSize,
51
+ idleTimeoutMillis: 30000,
52
+ connectionTimeoutMillis: 10000,
53
+ };
54
+ this.pool = new pg_1.Pool(poolConfig);
55
+ this.log('CodeChunkStore initialized', {
56
+ host: this.config.host,
57
+ port: this.config.port,
58
+ database: this.config.database,
59
+ });
60
+ }
61
+ /**
62
+ * Initialize the store and create tables if needed
63
+ */
64
+ async initialize() {
65
+ if (this.initialized)
66
+ return;
67
+ const client = await this.pool.connect();
68
+ try {
69
+ // Verify RuVector extension
70
+ try {
71
+ const extCheck = await client.query("SELECT ruvector_version() as version");
72
+ this.log('RuVector extension version', { version: extCheck.rows[0]?.version });
73
+ }
74
+ catch (e) {
75
+ this.log('RuVector extension not available, using standard vector operations');
76
+ }
77
+ // Create code_chunks table
78
+ await client.query(`
79
+ CREATE TABLE IF NOT EXISTS code_chunks (
80
+ id TEXT PRIMARY KEY,
81
+ file_path TEXT NOT NULL,
82
+ chunk_type VARCHAR(50),
83
+ name TEXT,
84
+ line_start INTEGER,
85
+ line_end INTEGER,
86
+ content TEXT NOT NULL,
87
+ language VARCHAR(20),
88
+ embedding ruvector(${this.config.embeddingDimension}),
89
+ metadata JSONB DEFAULT '{}',
90
+ created_at TIMESTAMPTZ DEFAULT NOW(),
91
+ updated_at TIMESTAMPTZ DEFAULT NOW()
92
+ )
93
+ `);
94
+ // Create indices
95
+ await client.query(`
96
+ CREATE INDEX IF NOT EXISTS idx_chunks_file ON code_chunks(file_path);
97
+ CREATE INDEX IF NOT EXISTS idx_chunks_type ON code_chunks(chunk_type);
98
+ CREATE INDEX IF NOT EXISTS idx_chunks_language ON code_chunks(language);
99
+ `);
100
+ // Create code_entities table
101
+ await client.query(`
102
+ CREATE TABLE IF NOT EXISTS code_entities (
103
+ id TEXT PRIMARY KEY,
104
+ file_path TEXT NOT NULL,
105
+ entity_type VARCHAR(50) NOT NULL,
106
+ name TEXT NOT NULL,
107
+ signature TEXT,
108
+ line_start INTEGER,
109
+ line_end INTEGER,
110
+ language VARCHAR(20),
111
+ parent_id TEXT REFERENCES code_entities(id) ON DELETE CASCADE,
112
+ metadata JSONB DEFAULT '{}',
113
+ created_at TIMESTAMPTZ DEFAULT NOW()
114
+ )
115
+ `);
116
+ // Create entity_relationships table
117
+ await client.query(`
118
+ CREATE TABLE IF NOT EXISTS entity_relationships (
119
+ id SERIAL PRIMARY KEY,
120
+ source_id TEXT NOT NULL,
121
+ target_id TEXT NOT NULL,
122
+ relationship_type VARCHAR(50) NOT NULL,
123
+ confidence REAL DEFAULT 1.0,
124
+ metadata JSONB DEFAULT '{}',
125
+ created_at TIMESTAMPTZ DEFAULT NOW(),
126
+ UNIQUE(source_id, target_id, relationship_type)
127
+ )
128
+ `);
129
+ // Create indices for relationships
130
+ await client.query(`
131
+ CREATE INDEX IF NOT EXISTS idx_rel_source ON entity_relationships(source_id);
132
+ CREATE INDEX IF NOT EXISTS idx_rel_target ON entity_relationships(target_id);
133
+ CREATE INDEX IF NOT EXISTS idx_rel_type ON entity_relationships(relationship_type);
134
+ `);
135
+ this.initialized = true;
136
+ this.log('CodeChunkStore tables initialized');
137
+ }
138
+ finally {
139
+ client.release();
140
+ }
141
+ }
142
+ /**
143
+ * Store a code chunk with its embedding
144
+ */
145
+ async storeChunk(chunk) {
146
+ await this.ensureInitialized();
147
+ const embeddingStr = `[${chunk.embedding.join(',')}]`;
148
+ await this.pool.query(`INSERT INTO code_chunks
149
+ (id, file_path, content, embedding, chunk_type, name, line_start, line_end, language, metadata)
150
+ VALUES ($1, $2, $3, $4::ruvector, $5, $6, $7, $8, $9, $10)
151
+ ON CONFLICT (id) DO UPDATE SET
152
+ content = EXCLUDED.content,
153
+ embedding = EXCLUDED.embedding,
154
+ chunk_type = EXCLUDED.chunk_type,
155
+ name = EXCLUDED.name,
156
+ line_start = EXCLUDED.line_start,
157
+ line_end = EXCLUDED.line_end,
158
+ language = EXCLUDED.language,
159
+ metadata = EXCLUDED.metadata,
160
+ updated_at = NOW()`, [
161
+ chunk.id,
162
+ chunk.filePath,
163
+ chunk.content,
164
+ embeddingStr,
165
+ chunk.chunkType || null,
166
+ chunk.name || null,
167
+ chunk.startLine || null,
168
+ chunk.endLine || null,
169
+ chunk.language || null,
170
+ JSON.stringify(chunk.metadata || {}),
171
+ ]);
172
+ this.log('Chunk stored', { id: chunk.id, filePath: chunk.filePath });
173
+ }
174
+ /**
175
+ * Store multiple chunks in batch
176
+ */
177
+ async storeChunks(chunks) {
178
+ await this.ensureInitialized();
179
+ const client = await this.pool.connect();
180
+ try {
181
+ await client.query('BEGIN');
182
+ for (const chunk of chunks) {
183
+ const embeddingStr = `[${chunk.embedding.join(',')}]`;
184
+ await client.query(`INSERT INTO code_chunks
185
+ (id, file_path, content, embedding, chunk_type, name, line_start, line_end, language, metadata)
186
+ VALUES ($1, $2, $3, $4::ruvector, $5, $6, $7, $8, $9, $10)
187
+ ON CONFLICT (id) DO UPDATE SET
188
+ content = EXCLUDED.content,
189
+ embedding = EXCLUDED.embedding,
190
+ chunk_type = EXCLUDED.chunk_type,
191
+ name = EXCLUDED.name,
192
+ line_start = EXCLUDED.line_start,
193
+ line_end = EXCLUDED.line_end,
194
+ language = EXCLUDED.language,
195
+ metadata = EXCLUDED.metadata,
196
+ updated_at = NOW()`, [
197
+ chunk.id,
198
+ chunk.filePath,
199
+ chunk.content,
200
+ embeddingStr,
201
+ chunk.chunkType || null,
202
+ chunk.name || null,
203
+ chunk.startLine || null,
204
+ chunk.endLine || null,
205
+ chunk.language || null,
206
+ JSON.stringify(chunk.metadata || {}),
207
+ ]);
208
+ }
209
+ await client.query('COMMIT');
210
+ this.log('Batch stored', { count: chunks.length });
211
+ }
212
+ catch (error) {
213
+ await client.query('ROLLBACK');
214
+ throw error;
215
+ }
216
+ finally {
217
+ client.release();
218
+ }
219
+ }
220
+ /**
221
+ * Search for similar code chunks using vector similarity
222
+ */
223
+ async search(queryEmbedding, options = {}) {
224
+ await this.ensureInitialized();
225
+ const { topK = 10, minScore = 0.0, language, filePattern, entityType, includeContent = true, } = options;
226
+ const embeddingStr = `[${queryEmbedding.join(',')}]`;
227
+ // Build filter clauses
228
+ const filters = ['embedding IS NOT NULL'];
229
+ const params = [embeddingStr, topK];
230
+ let paramIndex = 3;
231
+ if (language) {
232
+ filters.push(`language = $${paramIndex++}`);
233
+ params.push(language);
234
+ }
235
+ if (filePattern) {
236
+ filters.push(`file_path LIKE $${paramIndex++}`);
237
+ params.push(`%${filePattern}%`);
238
+ }
239
+ if (entityType) {
240
+ filters.push(`chunk_type = $${paramIndex++}`);
241
+ params.push(entityType);
242
+ }
243
+ const whereClause = filters.length > 0 ? `WHERE ${filters.join(' AND ')}` : '';
244
+ const contentSelect = includeContent ? 'content,' : "'' as content,";
245
+ const result = await this.pool.query(`SELECT
246
+ id,
247
+ file_path,
248
+ ${contentSelect}
249
+ line_start,
250
+ line_end,
251
+ chunk_type,
252
+ name,
253
+ language,
254
+ metadata,
255
+ ruvector_cosine_distance(embedding, $1::ruvector) as distance
256
+ FROM code_chunks
257
+ ${whereClause}
258
+ ORDER BY ruvector_cosine_distance(embedding, $1::ruvector)
259
+ LIMIT $2`, params);
260
+ return result.rows
261
+ .map((row) => ({
262
+ id: row.id,
263
+ filePath: row.file_path,
264
+ content: row.content,
265
+ startLine: row.line_start || 0,
266
+ endLine: row.line_end || 0,
267
+ score: Math.max(0, 1 - row.distance), // Convert distance to similarity
268
+ chunkType: row.chunk_type,
269
+ name: row.name,
270
+ language: row.language,
271
+ metadata: row.metadata,
272
+ }))
273
+ .filter((r) => r.score >= minScore);
274
+ }
275
+ /**
276
+ * Hybrid search combining vector similarity and keyword matching
277
+ */
278
+ async hybridSearch(queryEmbedding, queryText, options = {}) {
279
+ await this.ensureInitialized();
280
+ const { topK = 10, minScore = 0.0, language, filePattern, semanticWeight = 0.7, } = options;
281
+ const embeddingStr = `[${queryEmbedding.join(',')}]`;
282
+ // Build filter clauses
283
+ const filters = ['embedding IS NOT NULL'];
284
+ const params = [embeddingStr, queryText, topK];
285
+ let paramIndex = 4;
286
+ if (language) {
287
+ filters.push(`language = $${paramIndex++}`);
288
+ params.push(language);
289
+ }
290
+ if (filePattern) {
291
+ filters.push(`file_path LIKE $${paramIndex++}`);
292
+ params.push(`%${filePattern}%`);
293
+ }
294
+ const whereClause = filters.length > 0 ? `WHERE ${filters.join(' AND ')}` : '';
295
+ const result = await this.pool.query(`SELECT
296
+ id,
297
+ file_path,
298
+ content,
299
+ line_start,
300
+ line_end,
301
+ chunk_type,
302
+ name,
303
+ language,
304
+ metadata,
305
+ (1 - ruvector_cosine_distance(embedding, $1::ruvector)) as semantic_score,
306
+ ts_rank(to_tsvector('english', content), plainto_tsquery('english', $2)) as keyword_score,
307
+ (
308
+ ${semanticWeight} * (1 - ruvector_cosine_distance(embedding, $1::ruvector)) +
309
+ ${1 - semanticWeight} * ts_rank(to_tsvector('english', content), plainto_tsquery('english', $2))
310
+ ) as hybrid_score
311
+ FROM code_chunks
312
+ ${whereClause}
313
+ ORDER BY hybrid_score DESC
314
+ LIMIT $3`, params);
315
+ return result.rows
316
+ .map((row) => ({
317
+ id: row.id,
318
+ filePath: row.file_path,
319
+ content: row.content,
320
+ startLine: row.line_start || 0,
321
+ endLine: row.line_end || 0,
322
+ score: row.hybrid_score,
323
+ chunkType: row.chunk_type,
324
+ name: row.name,
325
+ language: row.language,
326
+ metadata: {
327
+ ...row.metadata,
328
+ semanticScore: row.semantic_score,
329
+ keywordScore: row.keyword_score,
330
+ },
331
+ }))
332
+ .filter((r) => r.score >= minScore);
333
+ }
334
+ /**
335
+ * Store a code entity
336
+ */
337
+ async storeEntity(entity) {
338
+ await this.ensureInitialized();
339
+ await this.pool.query(`INSERT INTO code_entities
340
+ (id, file_path, entity_type, name, signature, line_start, line_end, language, parent_id, metadata)
341
+ VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10)
342
+ ON CONFLICT (id) DO UPDATE SET
343
+ file_path = EXCLUDED.file_path,
344
+ entity_type = EXCLUDED.entity_type,
345
+ name = EXCLUDED.name,
346
+ signature = EXCLUDED.signature,
347
+ line_start = EXCLUDED.line_start,
348
+ line_end = EXCLUDED.line_end,
349
+ language = EXCLUDED.language,
350
+ parent_id = EXCLUDED.parent_id,
351
+ metadata = EXCLUDED.metadata`, [
352
+ entity.id,
353
+ entity.filePath,
354
+ entity.entityType,
355
+ entity.name,
356
+ entity.signature || null,
357
+ entity.startLine || null,
358
+ entity.endLine || null,
359
+ entity.language || null,
360
+ entity.parentId || null,
361
+ JSON.stringify(entity.metadata || {}),
362
+ ]);
363
+ }
364
+ /**
365
+ * Store a relationship between entities
366
+ */
367
+ async storeRelationship(relationship) {
368
+ await this.ensureInitialized();
369
+ await this.pool.query(`INSERT INTO entity_relationships
370
+ (source_id, target_id, relationship_type, confidence, metadata)
371
+ VALUES ($1, $2, $3, $4, $5)
372
+ ON CONFLICT (source_id, target_id, relationship_type) DO UPDATE SET
373
+ confidence = EXCLUDED.confidence,
374
+ metadata = EXCLUDED.metadata`, [
375
+ relationship.sourceId,
376
+ relationship.targetId,
377
+ relationship.relationshipType,
378
+ relationship.confidence ?? 1.0,
379
+ JSON.stringify(relationship.metadata || {}),
380
+ ]);
381
+ }
382
+ /**
383
+ * Get relationships for an entity
384
+ */
385
+ async getRelationships(entityId, direction = 'both') {
386
+ await this.ensureInitialized();
387
+ let query;
388
+ const params = [entityId];
389
+ if (direction === 'outgoing') {
390
+ query = 'SELECT * FROM entity_relationships WHERE source_id = $1';
391
+ }
392
+ else if (direction === 'incoming') {
393
+ query = 'SELECT * FROM entity_relationships WHERE target_id = $1';
394
+ }
395
+ else {
396
+ query = 'SELECT * FROM entity_relationships WHERE source_id = $1 OR target_id = $1';
397
+ }
398
+ const result = await this.pool.query(query, params);
399
+ return result.rows;
400
+ }
401
+ /**
402
+ * Delete chunks for a file (for re-indexing)
403
+ */
404
+ async deleteChunksForFile(filePath) {
405
+ await this.ensureInitialized();
406
+ const result = await this.pool.query('DELETE FROM code_chunks WHERE file_path = $1', [filePath]);
407
+ return result.rowCount || 0;
408
+ }
409
+ /**
410
+ * Delete entities for a file
411
+ */
412
+ async deleteEntitiesForFile(filePath) {
413
+ await this.ensureInitialized();
414
+ const result = await this.pool.query('DELETE FROM code_entities WHERE file_path = $1', [filePath]);
415
+ return result.rowCount || 0;
416
+ }
417
+ /**
418
+ * Delete chunks by file path (alias for deleteChunksForFile)
419
+ */
420
+ async deleteByFilePath(filePath) {
421
+ return this.deleteChunksForFile(filePath);
422
+ }
423
+ /**
424
+ * Get statistics about stored data
425
+ */
426
+ async getStats() {
427
+ await this.ensureInitialized();
428
+ const [chunks, entities, relationships] = await Promise.all([
429
+ this.pool.query('SELECT COUNT(*) as count FROM code_chunks'),
430
+ this.pool.query('SELECT COUNT(*) as count FROM code_entities'),
431
+ this.pool.query('SELECT COUNT(*) as count FROM entity_relationships'),
432
+ ]);
433
+ return {
434
+ chunkCount: parseInt(chunks.rows[0]?.count ?? '0', 10),
435
+ entityCount: parseInt(entities.rows[0]?.count ?? '0', 10),
436
+ relationshipCount: parseInt(relationships.rows[0]?.count ?? '0', 10),
437
+ };
438
+ }
439
+ /**
440
+ * Get chunk count
441
+ */
442
+ async getChunkCount() {
443
+ await this.ensureInitialized();
444
+ const result = await this.pool.query('SELECT COUNT(*) as count FROM code_chunks');
445
+ return parseInt(result.rows[0]?.count ?? '0', 10);
446
+ }
447
+ /**
448
+ * Get entity count
449
+ */
450
+ async getEntityCount() {
451
+ await this.ensureInitialized();
452
+ const result = await this.pool.query('SELECT COUNT(*) as count FROM code_entities');
453
+ return parseInt(result.rows[0]?.count ?? '0', 10);
454
+ }
455
+ /**
456
+ * Health check
457
+ */
458
+ async healthCheck() {
459
+ try {
460
+ await this.ensureInitialized();
461
+ const [chunkResult, entityResult, versionResult] = await Promise.all([
462
+ this.pool.query('SELECT COUNT(*) as count FROM code_chunks'),
463
+ this.pool.query('SELECT COUNT(*) as count FROM code_entities'),
464
+ this.pool.query("SELECT ruvector_version() as version").catch(() => null),
465
+ ]);
466
+ return {
467
+ healthy: true,
468
+ chunkCount: parseInt(chunkResult.rows[0]?.count ?? '0', 10),
469
+ entityCount: parseInt(entityResult.rows[0]?.count ?? '0', 10),
470
+ ruvectorVersion: versionResult?.rows[0]?.version,
471
+ };
472
+ }
473
+ catch (error) {
474
+ return {
475
+ healthy: false,
476
+ chunkCount: 0,
477
+ entityCount: 0,
478
+ error: error.message,
479
+ };
480
+ }
481
+ }
482
+ /**
483
+ * Close the connection pool
484
+ */
485
+ async close() {
486
+ await this.pool.end();
487
+ this.initialized = false;
488
+ this.log('Connection pool closed');
489
+ }
490
+ /**
491
+ * Clear all data (use with caution)
492
+ */
493
+ async clear() {
494
+ await this.ensureInitialized();
495
+ await this.pool.query('TRUNCATE entity_relationships CASCADE');
496
+ await this.pool.query('TRUNCATE code_entities CASCADE');
497
+ await this.pool.query('TRUNCATE code_chunks CASCADE');
498
+ this.log('All data cleared');
499
+ }
500
+ // Private helpers
501
+ async ensureInitialized() {
502
+ if (!this.initialized) {
503
+ await this.initialize();
504
+ }
505
+ }
506
+ log(message, data) {
507
+ if (this.config.debug) {
508
+ const timestamp = new Date().toISOString();
509
+ console.log(`[CodeChunkStore] ${timestamp} - ${message}`, data ?? '');
510
+ }
511
+ }
512
+ }
513
+ exports.CodeChunkStore = CodeChunkStore;
514
+ /**
515
+ * Factory function to create CodeChunkStore with Docker defaults
516
+ */
517
+ function createDockerCodeChunkStore(options) {
518
+ return new CodeChunkStore({
519
+ host: 'localhost',
520
+ port: 5432,
521
+ database: 'ruvector_db',
522
+ user: 'ruvector',
523
+ password: 'ruvector',
524
+ embeddingDimension: 768,
525
+ ...options,
526
+ });
527
+ }
528
+ /**
529
+ * Factory function to create CodeChunkStore from environment
530
+ */
531
+ function createCodeChunkStoreFromEnv() {
532
+ return new CodeChunkStore({
533
+ connectionString: process.env.RUVECTOR_DATABASE_URL,
534
+ host: process.env.RUVECTOR_HOST || 'localhost',
535
+ port: parseInt(process.env.RUVECTOR_PORT || '5432', 10),
536
+ database: process.env.RUVECTOR_DATABASE || 'ruvector_db',
537
+ user: process.env.RUVECTOR_USER || 'ruvector',
538
+ password: process.env.RUVECTOR_PASSWORD || 'ruvector',
539
+ debug: process.env.DEBUG === 'true',
540
+ });
541
+ }
542
+ //# sourceMappingURL=CodeChunkStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeChunkStore.js","sourceRoot":"","sources":["../../../src/code-intelligence/storage/CodeChunkStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Code Intelligence Storage Module
3
+ *
4
+ * Provides RuVector-backed storage for code chunks and entities.
5
+ */
6
+ export { CodeChunkStore, CodeChunkStoreConfig, CodeSearchOptions, CodeSearchResult, createDockerCodeChunkStore, createCodeChunkStoreFromEnv, } from './CodeChunkStore.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/code-intelligence/storage/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ /**
3
+ * Code Intelligence Storage Module
4
+ *
5
+ * Provides RuVector-backed storage for code chunks and entities.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.createCodeChunkStoreFromEnv = exports.createDockerCodeChunkStore = exports.CodeChunkStore = void 0;
9
+ var CodeChunkStore_js_1 = require("./CodeChunkStore.js");
10
+ Object.defineProperty(exports, "CodeChunkStore", { enumerable: true, get: function () { return CodeChunkStore_js_1.CodeChunkStore; } });
11
+ Object.defineProperty(exports, "createDockerCodeChunkStore", { enumerable: true, get: function () { return CodeChunkStore_js_1.createDockerCodeChunkStore; } });
12
+ Object.defineProperty(exports, "createCodeChunkStoreFromEnv", { enumerable: true, get: function () { return CodeChunkStore_js_1.createCodeChunkStoreFromEnv; } });
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/code-intelligence/storage/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,yDAO6B;AAN3B,mHAAA,cAAc,OAAA;AAId,+HAAA,0BAA0B,OAAA;AAC1B,gIAAA,2BAA2B,OAAA"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Class Diagram Builder
3
+ *
4
+ * Generates Mermaid class diagrams with inheritance,
5
+ * methods, properties, and visibility markers.
6
+ */
7
+ import { GraphNode, GraphEdge } from '../graph/types.js';
8
+ import { MermaidOptions } from './MermaidGenerator.js';
9
+ export interface ClassDiagramOptions extends MermaidOptions {
10
+ /** Include method signatures */
11
+ includeMethods?: boolean;
12
+ /** Include properties/fields */
13
+ includeProperties?: boolean;
14
+ /** Show method parameters */
15
+ showParameters?: boolean;
16
+ /** Show return types */
17
+ showReturnTypes?: boolean;
18
+ /** Group by namespace/package */
19
+ groupByNamespace?: boolean;
20
+ }
21
+ export declare class ClassDiagramBuilder {
22
+ /**
23
+ * Build class diagram from graph nodes.
24
+ */
25
+ static build(nodes: GraphNode[], edges: GraphEdge[], options?: ClassDiagramOptions): string;
26
+ /**
27
+ * Build inheritance hierarchy for a specific class.
28
+ */
29
+ static buildHierarchy(rootClassId: string, nodes: GraphNode[], edges: GraphEdge[], options?: ClassDiagramOptions): string;
30
+ /**
31
+ * Enrich class node with methods and properties from child nodes.
32
+ */
33
+ private static enrichClassNode;
34
+ /**
35
+ * Infer visibility from naming convention.
36
+ */
37
+ private static inferVisibility;
38
+ /**
39
+ * Add namespace grouping to diagram.
40
+ */
41
+ private static addNamespaceGrouping;
42
+ /**
43
+ * Extract namespace from file path.
44
+ */
45
+ private static extractNamespace;
46
+ /**
47
+ * Generate interface overview diagram.
48
+ */
49
+ static buildInterfaceOverview(nodes: GraphNode[], edges: GraphEdge[], options?: ClassDiagramOptions): string;
50
+ }
51
+ //# sourceMappingURL=ClassDiagramBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClassDiagramBuilder.d.ts","sourceRoot":"","sources":["../../../src/code-intelligence/visualization/ClassDiagramBuilder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAoB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEzE,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,gCAAgC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,gCAAgC;IAChC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,6BAA6B;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,wBAAwB;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,iCAAiC;IACjC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,qBAAa,mBAAmB;IAC9B;;OAEG;IACH,MAAM,CAAC,KAAK,CACV,KAAK,EAAE,SAAS,EAAE,EAClB,KAAK,EAAE,SAAS,EAAE,EAClB,OAAO,GAAE,mBAAwB,GAChC,MAAM;IAkDT;;OAEG;IACH,MAAM,CAAC,cAAc,CACnB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,SAAS,EAAE,EAClB,KAAK,EAAE,SAAS,EAAE,EAClB,OAAO,GAAE,mBAAwB,GAChC,MAAM;IAgDT;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAgD9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAO9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IA6BnC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAS/B;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAC3B,KAAK,EAAE,SAAS,EAAE,EAClB,KAAK,EAAE,SAAS,EAAE,EAClB,OAAO,GAAE,mBAAwB,GAChC,MAAM;CAyBV"}