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,335 @@
1
+ "use strict";
2
+ /**
3
+ * Test Mapper
4
+ *
5
+ * Maps test files to their corresponding source files
6
+ * to build the TESTS relationship in the graph.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.TestMapper = exports.DEFAULT_TEST_MAPPER_CONFIG = void 0;
43
+ const fs = __importStar(require("fs/promises"));
44
+ const path = __importStar(require("path"));
45
+ exports.DEFAULT_TEST_MAPPER_CONFIG = {
46
+ rootDir: '.',
47
+ testPatterns: [
48
+ '.test.', '.spec.', '_test.', '_spec.',
49
+ '.test-', '.spec-', 'test_', 'spec_',
50
+ ],
51
+ testDirs: ['tests', 'test', '__tests__', 'spec', 'specs'],
52
+ sourceDirs: ['src', 'lib', 'source'],
53
+ extensions: ['.ts', '.tsx', '.js', '.jsx', '.py', '.go', '.rs'],
54
+ excludeDirs: ['node_modules', '.git', 'dist', 'build', 'coverage'],
55
+ };
56
+ class TestMapper {
57
+ constructor(rootDir, config = {}) {
58
+ this.testFiles = [];
59
+ this.sourceFiles = [];
60
+ this.config = {
61
+ ...exports.DEFAULT_TEST_MAPPER_CONFIG,
62
+ ...config,
63
+ rootDir,
64
+ };
65
+ }
66
+ /**
67
+ * Scan project and map test files to source files.
68
+ */
69
+ async mapTestFiles() {
70
+ // Scan for all files
71
+ await this.scanDirectory(this.config.rootDir);
72
+ const mappings = [];
73
+ for (const testFile of this.testFiles) {
74
+ const mapping = await this.findSourceForTest(testFile);
75
+ if (mapping) {
76
+ mappings.push(mapping);
77
+ }
78
+ }
79
+ return mappings;
80
+ }
81
+ /**
82
+ * Check if a file is a test file.
83
+ */
84
+ isTestFile(filePath) {
85
+ const fileName = path.basename(filePath);
86
+ const dirPath = path.dirname(filePath);
87
+ // Check if in test directory
88
+ for (const testDir of this.config.testDirs) {
89
+ // Check if test dir appears in path (with separators on both sides)
90
+ if (dirPath.includes(`/${testDir}/`) || dirPath.includes(`\\${testDir}\\`)) {
91
+ return true;
92
+ }
93
+ // Check if path ends with test directory (e.g., /tests or \tests)
94
+ if (dirPath.endsWith(`/${testDir}`) || dirPath.endsWith(`\\${testDir}`)) {
95
+ return true;
96
+ }
97
+ // Check if path starts with test directory (e.g., /tests/... or tests/...)
98
+ if (dirPath === `/${testDir}` || dirPath === testDir) {
99
+ return true;
100
+ }
101
+ }
102
+ // Check filename patterns
103
+ for (const pattern of this.config.testPatterns) {
104
+ if (fileName.includes(pattern)) {
105
+ return true;
106
+ }
107
+ }
108
+ return false;
109
+ }
110
+ /**
111
+ * Get the source file name from a test file name.
112
+ */
113
+ getSourceFileName(testFileName) {
114
+ let result = testFileName;
115
+ // Remove test patterns from filename
116
+ for (const pattern of this.config.testPatterns) {
117
+ result = result.replace(pattern, '.');
118
+ }
119
+ // Clean up double dots
120
+ result = result.replace(/\.+/g, '.');
121
+ return result;
122
+ }
123
+ /**
124
+ * Find the source file for a given test file.
125
+ */
126
+ async findSourceForTest(testFile) {
127
+ const testFileName = path.basename(testFile);
128
+ const testDir = path.dirname(testFile);
129
+ const expectedSourceName = this.getSourceFileName(testFileName);
130
+ // Strategy 1: Naming convention (highest confidence)
131
+ const namingMatch = await this.findByNaming(testDir, expectedSourceName);
132
+ if (namingMatch) {
133
+ return {
134
+ testFile,
135
+ sourceFile: namingMatch,
136
+ confidence: 0.95,
137
+ matchType: 'naming',
138
+ };
139
+ }
140
+ // Strategy 2: Mirror directory structure
141
+ const mirrorMatch = await this.findByMirrorStructure(testFile, expectedSourceName);
142
+ if (mirrorMatch) {
143
+ return {
144
+ testFile,
145
+ sourceFile: mirrorMatch,
146
+ confidence: 0.85,
147
+ matchType: 'proximity',
148
+ };
149
+ }
150
+ // Strategy 3: Import analysis
151
+ const importMatch = await this.findByImports(testFile);
152
+ if (importMatch) {
153
+ return {
154
+ testFile,
155
+ sourceFile: importMatch,
156
+ confidence: 0.80,
157
+ matchType: 'import',
158
+ };
159
+ }
160
+ // Strategy 4: Content similarity (subject mentions)
161
+ const contentMatch = await this.findByContent(testFile, expectedSourceName);
162
+ if (contentMatch) {
163
+ return {
164
+ testFile,
165
+ sourceFile: contentMatch,
166
+ confidence: 0.60,
167
+ matchType: 'content',
168
+ };
169
+ }
170
+ return null;
171
+ }
172
+ /**
173
+ * Find source file by naming convention.
174
+ */
175
+ async findByNaming(testDir, expectedSourceName) {
176
+ // Check same directory (for co-located tests)
177
+ for (const sourceFile of this.sourceFiles) {
178
+ if (path.basename(sourceFile) === expectedSourceName) {
179
+ // Prefer files in same directory or parent
180
+ const sourceDir = path.dirname(sourceFile);
181
+ if (testDir === sourceDir || testDir.startsWith(sourceDir)) {
182
+ return sourceFile;
183
+ }
184
+ }
185
+ }
186
+ return null;
187
+ }
188
+ /**
189
+ * Find source file by mirror directory structure.
190
+ * E.g., tests/utils/helper.test.ts → src/utils/helper.ts
191
+ */
192
+ async findByMirrorStructure(testFile, expectedSourceName) {
193
+ const relativePath = path.relative(this.config.rootDir, testFile);
194
+ const parts = relativePath.split(path.sep);
195
+ // Find test directory in path
196
+ let testDirIndex = -1;
197
+ for (let i = 0; i < parts.length; i++) {
198
+ if (this.config.testDirs.includes(parts[i])) {
199
+ testDirIndex = i;
200
+ break;
201
+ }
202
+ }
203
+ if (testDirIndex === -1)
204
+ return null;
205
+ // Try each source directory
206
+ for (const sourceDir of this.config.sourceDirs) {
207
+ const newParts = [...parts];
208
+ newParts[testDirIndex] = sourceDir;
209
+ newParts[newParts.length - 1] = expectedSourceName;
210
+ const candidatePath = path.join(this.config.rootDir, ...newParts);
211
+ if (this.sourceFiles.includes(candidatePath)) {
212
+ return candidatePath;
213
+ }
214
+ }
215
+ return null;
216
+ }
217
+ /**
218
+ * Find source file by analyzing imports in the test file.
219
+ */
220
+ async findByImports(testFile) {
221
+ try {
222
+ const content = await fs.readFile(testFile, 'utf-8');
223
+ // Look for relative imports
224
+ const importRegex = /from\s+['"](\.[^'"]+)['"]/g;
225
+ let match;
226
+ const candidates = [];
227
+ while ((match = importRegex.exec(content)) !== null) {
228
+ const importPath = match[1];
229
+ const testDir = path.dirname(testFile);
230
+ const resolvedPath = path.resolve(testDir, importPath);
231
+ // Try with extensions
232
+ for (const ext of this.config.extensions) {
233
+ const withExt = resolvedPath + ext;
234
+ if (this.sourceFiles.includes(withExt)) {
235
+ candidates.push(withExt);
236
+ }
237
+ }
238
+ // Try index file
239
+ for (const ext of this.config.extensions) {
240
+ const indexPath = path.join(resolvedPath, `index${ext}`);
241
+ if (this.sourceFiles.includes(indexPath)) {
242
+ candidates.push(indexPath);
243
+ }
244
+ }
245
+ }
246
+ // Return the first non-test import (most likely the subject under test)
247
+ for (const candidate of candidates) {
248
+ if (!this.isTestFile(candidate)) {
249
+ return candidate;
250
+ }
251
+ }
252
+ }
253
+ catch {
254
+ // File read error - skip
255
+ }
256
+ return null;
257
+ }
258
+ /**
259
+ * Find source file by content similarity.
260
+ */
261
+ async findByContent(testFile, expectedSourceName) {
262
+ try {
263
+ const content = await fs.readFile(testFile, 'utf-8');
264
+ // Extract potential class/function names being tested
265
+ const describePattern = /describe\s*\(\s*['"]([^'"]+)['"]/g;
266
+ const testPattern = /it\s*\(\s*['"](?:should\s+)?([^'"]+)['"]/g;
267
+ const subjectNames = [];
268
+ let match;
269
+ while ((match = describePattern.exec(content)) !== null) {
270
+ subjectNames.push(match[1]);
271
+ }
272
+ // Find source files that match the described subjects
273
+ for (const sourceFile of this.sourceFiles) {
274
+ const sourceName = path.basename(sourceFile).replace(/\.[^.]+$/, '');
275
+ for (const subject of subjectNames) {
276
+ if (subject.toLowerCase().includes(sourceName.toLowerCase()) ||
277
+ sourceName.toLowerCase().includes(subject.toLowerCase())) {
278
+ return sourceFile;
279
+ }
280
+ }
281
+ }
282
+ }
283
+ catch {
284
+ // File read error - skip
285
+ }
286
+ return null;
287
+ }
288
+ /**
289
+ * Scan directory for test and source files.
290
+ */
291
+ async scanDirectory(dir) {
292
+ const entries = await fs.readdir(dir, { withFileTypes: true });
293
+ for (const entry of entries) {
294
+ const fullPath = path.join(dir, entry.name);
295
+ if (entry.isDirectory()) {
296
+ // Skip excluded directories
297
+ if (!this.config.excludeDirs.includes(entry.name)) {
298
+ await this.scanDirectory(fullPath);
299
+ }
300
+ }
301
+ else if (entry.isFile()) {
302
+ const ext = path.extname(entry.name);
303
+ if (this.config.extensions.includes(ext)) {
304
+ if (this.isTestFile(fullPath)) {
305
+ this.testFiles.push(fullPath);
306
+ }
307
+ else {
308
+ this.sourceFiles.push(fullPath);
309
+ }
310
+ }
311
+ }
312
+ }
313
+ }
314
+ /**
315
+ * Get all detected test files.
316
+ */
317
+ getTestFiles() {
318
+ return [...this.testFiles];
319
+ }
320
+ /**
321
+ * Get all detected source files.
322
+ */
323
+ getSourceFiles() {
324
+ return [...this.sourceFiles];
325
+ }
326
+ /**
327
+ * Clear cached file lists.
328
+ */
329
+ clear() {
330
+ this.testFiles = [];
331
+ this.sourceFiles = [];
332
+ }
333
+ }
334
+ exports.TestMapper = TestMapper;
335
+ //# sourceMappingURL=TestMapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestMapper.js","sourceRoot":"","sources":["../../../src/code-intelligence/graph/TestMapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Code Knowledge Graph Module
3
+ *
4
+ * Builds and queries a graph of code relationships.
5
+ */
6
+ export { GraphBuilder } from './GraphBuilder.js';
7
+ export { RelationshipExtractor } from './RelationshipExtractor.js';
8
+ export type { ParsedEntity, ExtractionResult } from './RelationshipExtractor.js';
9
+ export { ImportParser } from './ImportParser.js';
10
+ export type { ParsedImport, ResolvedImport } from './ImportParser.js';
11
+ export { TestMapper } from './TestMapper.js';
12
+ export type { TestMapping, TestMapperConfig } from './TestMapper.js';
13
+ export { GraphNode, GraphEdge, CodeGraph, GraphBuilderConfig, GraphStats, GraphQuery, GraphQueryResult, NodeType, EdgeType, RelationshipMatch, DEFAULT_GRAPH_BUILDER_CONFIG, } from './types.js';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/code-intelligence/graph/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,YAAY,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ /**
3
+ * Code Knowledge Graph Module
4
+ *
5
+ * Builds and queries a graph of code relationships.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.DEFAULT_GRAPH_BUILDER_CONFIG = exports.TestMapper = exports.ImportParser = exports.RelationshipExtractor = exports.GraphBuilder = void 0;
9
+ var GraphBuilder_js_1 = require("./GraphBuilder.js");
10
+ Object.defineProperty(exports, "GraphBuilder", { enumerable: true, get: function () { return GraphBuilder_js_1.GraphBuilder; } });
11
+ var RelationshipExtractor_js_1 = require("./RelationshipExtractor.js");
12
+ Object.defineProperty(exports, "RelationshipExtractor", { enumerable: true, get: function () { return RelationshipExtractor_js_1.RelationshipExtractor; } });
13
+ var ImportParser_js_1 = require("./ImportParser.js");
14
+ Object.defineProperty(exports, "ImportParser", { enumerable: true, get: function () { return ImportParser_js_1.ImportParser; } });
15
+ var TestMapper_js_1 = require("./TestMapper.js");
16
+ Object.defineProperty(exports, "TestMapper", { enumerable: true, get: function () { return TestMapper_js_1.TestMapper; } });
17
+ var types_js_1 = require("./types.js");
18
+ Object.defineProperty(exports, "DEFAULT_GRAPH_BUILDER_CONFIG", { enumerable: true, get: function () { return types_js_1.DEFAULT_GRAPH_BUILDER_CONFIG; } });
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/code-intelligence/graph/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AACrB,uEAAmE;AAA1D,iIAAA,qBAAqB,OAAA;AAE9B,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AAErB,iDAA6C;AAApC,2GAAA,UAAU,OAAA;AAEnB,uCAYoB;AADlB,wHAAA,4BAA4B,OAAA"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Types for Code Knowledge Graph
3
+ *
4
+ * Represents relationships between code entities
5
+ * for enhanced context retrieval.
6
+ */
7
+ export interface GraphNode {
8
+ /** Unique node identifier */
9
+ id: string;
10
+ /** Node type */
11
+ type: NodeType;
12
+ /** Node label (entity name) */
13
+ label: string;
14
+ /** File containing this entity */
15
+ filePath: string;
16
+ /** Start line in file */
17
+ startLine: number;
18
+ /** End line in file */
19
+ endLine: number;
20
+ /** Programming language */
21
+ language: string;
22
+ /** Additional properties */
23
+ properties: Record<string, unknown>;
24
+ }
25
+ export type NodeType = 'file' | 'class' | 'interface' | 'function' | 'method' | 'variable' | 'import' | 'export' | 'type' | 'enum';
26
+ export interface GraphEdge {
27
+ /** Unique edge identifier */
28
+ id: string;
29
+ /** Source node ID */
30
+ source: string;
31
+ /** Target node ID */
32
+ target: string;
33
+ /** Relationship type */
34
+ type: EdgeType;
35
+ /** Edge weight (relationship strength) */
36
+ weight: number;
37
+ /** Additional properties */
38
+ properties: Record<string, unknown>;
39
+ }
40
+ export type EdgeType = 'imports' | 'exports' | 'extends' | 'implements' | 'calls' | 'uses' | 'contains' | 'returns' | 'parameter' | 'overrides' | 'defines' | 'tests';
41
+ export interface CodeGraph {
42
+ /** All nodes in the graph */
43
+ nodes: Map<string, GraphNode>;
44
+ /** All edges in the graph */
45
+ edges: Map<string, GraphEdge>;
46
+ /** Index: node ID -> outgoing edge IDs */
47
+ outgoingEdges: Map<string, string[]>;
48
+ /** Index: node ID -> incoming edge IDs */
49
+ incomingEdges: Map<string, string[]>;
50
+ /** Index: file path -> node IDs in that file */
51
+ fileNodes: Map<string, string[]>;
52
+ }
53
+ export interface GraphBuilderConfig {
54
+ /**
55
+ * Whether to extract import relationships.
56
+ * Default: true
57
+ */
58
+ extractImports: boolean;
59
+ /**
60
+ * Whether to extract inheritance relationships.
61
+ * Default: true
62
+ */
63
+ extractInheritance: boolean;
64
+ /**
65
+ * Whether to extract function calls.
66
+ * Default: true
67
+ */
68
+ extractCalls: boolean;
69
+ /**
70
+ * Whether to extract type usage.
71
+ * Default: true
72
+ */
73
+ extractTypeUsage: boolean;
74
+ /**
75
+ * Maximum depth for call graph analysis.
76
+ * Default: 3
77
+ */
78
+ maxCallDepth: number;
79
+ /**
80
+ * Whether to resolve cross-file references.
81
+ * Default: true
82
+ */
83
+ resolveCrossFile: boolean;
84
+ }
85
+ export interface GraphStats {
86
+ /** Total nodes */
87
+ nodeCount: number;
88
+ /** Total edges */
89
+ edgeCount: number;
90
+ /** Nodes by type */
91
+ nodesByType: Record<NodeType, number>;
92
+ /** Edges by type */
93
+ edgesByType: Record<EdgeType, number>;
94
+ /** Files in graph */
95
+ fileCount: number;
96
+ /** Average edges per node */
97
+ avgEdgesPerNode: number;
98
+ /** Most connected nodes (top 10) */
99
+ mostConnected: Array<{
100
+ nodeId: string;
101
+ edgeCount: number;
102
+ }>;
103
+ }
104
+ export interface RelationshipMatch {
105
+ /** Source entity */
106
+ source: GraphNode;
107
+ /** Target entity */
108
+ target: GraphNode;
109
+ /** Relationship type */
110
+ relationship: EdgeType;
111
+ /** Confidence score (0-1) */
112
+ confidence: number;
113
+ /** Evidence (e.g., line of code) */
114
+ evidence?: string;
115
+ }
116
+ export interface GraphQuery {
117
+ /** Starting node ID or pattern */
118
+ startNode?: string;
119
+ /** Node type filter */
120
+ nodeType?: NodeType;
121
+ /** Edge type filter */
122
+ edgeType?: EdgeType;
123
+ /** Maximum traversal depth */
124
+ maxDepth: number;
125
+ /** Direction of traversal */
126
+ direction: 'outgoing' | 'incoming' | 'both';
127
+ /** Limit results */
128
+ limit: number;
129
+ }
130
+ export interface GraphQueryResult {
131
+ /** Matched nodes */
132
+ nodes: GraphNode[];
133
+ /** Edges connecting matched nodes */
134
+ edges: GraphEdge[];
135
+ /** Paths found (for path queries) */
136
+ paths?: GraphNode[][];
137
+ /** Query execution time (ms) */
138
+ executionTimeMs: number;
139
+ }
140
+ export declare const DEFAULT_GRAPH_BUILDER_CONFIG: GraphBuilderConfig;
141
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/code-intelligence/graph/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ /**
3
+ * Types for Code Knowledge Graph
4
+ *
5
+ * Represents relationships between code entities
6
+ * for enhanced context retrieval.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.DEFAULT_GRAPH_BUILDER_CONFIG = void 0;
10
+ exports.DEFAULT_GRAPH_BUILDER_CONFIG = {
11
+ extractImports: true,
12
+ extractInheritance: true,
13
+ extractCalls: true,
14
+ extractTypeUsage: true,
15
+ maxCallDepth: 3,
16
+ resolveCrossFile: true,
17
+ };
18
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/code-intelligence/graph/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AA2MU,QAAA,4BAA4B,GAAuB;IAC9D,cAAc,EAAE,IAAI;IACpB,kBAAkB,EAAE,IAAI;IACxB,YAAY,EAAE,IAAI;IAClB,gBAAgB,EAAE,IAAI;IACtB,YAAY,EAAE,CAAC;IACf,gBAAgB,EAAE,IAAI;CACvB,CAAC"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * File Watcher
3
+ *
4
+ * Monitors file system changes and emits events
5
+ * for incremental index updates.
6
+ *
7
+ * Features:
8
+ * - Debounced change notifications
9
+ * - Pattern-based filtering
10
+ * - Cross-platform support
11
+ * - Graceful shutdown
12
+ */
13
+ import { EventEmitter } from 'events';
14
+ import { WatcherConfig, WatcherEvent, FileChange, FileChangeCallback } from './types.js';
15
+ export interface FileWatcherEvents {
16
+ change: (changes: FileChange[]) => void;
17
+ error: (error: Error) => void;
18
+ ready: () => void;
19
+ }
20
+ export declare class FileWatcher extends EventEmitter {
21
+ private config;
22
+ private pendingChanges;
23
+ private debounceTimer;
24
+ private isWatching;
25
+ private watcher;
26
+ private callbacks;
27
+ constructor(config?: Partial<WatcherConfig>);
28
+ /**
29
+ * Start watching for file changes.
30
+ * Uses chokidar if available, otherwise manual polling.
31
+ */
32
+ start(): Promise<void>;
33
+ /**
34
+ * Stop watching.
35
+ */
36
+ stop(): Promise<void>;
37
+ /**
38
+ * Register a callback for file changes.
39
+ */
40
+ onChanges(callback: FileChangeCallback): void;
41
+ /**
42
+ * Remove a callback.
43
+ */
44
+ offChanges(callback: FileChangeCallback): void;
45
+ /**
46
+ * Manually register a file change (for testing or manual mode).
47
+ */
48
+ registerChange(event: WatcherEvent): void;
49
+ /**
50
+ * Get watching status.
51
+ */
52
+ isActive(): boolean;
53
+ /**
54
+ * Get current configuration.
55
+ */
56
+ getConfig(): WatcherConfig;
57
+ /**
58
+ * Update configuration (requires restart).
59
+ */
60
+ updateConfig(config: Partial<WatcherConfig>): void;
61
+ /**
62
+ * Check if a path should be watched based on patterns.
63
+ */
64
+ shouldWatch(filePath: string): boolean;
65
+ /**
66
+ * Try to load chokidar dynamically.
67
+ */
68
+ private tryLoadChokidar;
69
+ /**
70
+ * Start watching with chokidar.
71
+ */
72
+ private startChokidarWatcher;
73
+ /**
74
+ * Handle a file system event.
75
+ */
76
+ private handleEvent;
77
+ /**
78
+ * Schedule debounced flush of pending changes.
79
+ */
80
+ private scheduleFlush;
81
+ /**
82
+ * Flush pending changes to callbacks.
83
+ */
84
+ private flushChanges;
85
+ /**
86
+ * Simple glob matching (supports * and **).
87
+ */
88
+ private matchGlob;
89
+ }
90
+ //# sourceMappingURL=FileWatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileWatcher.d.ts","sourceRoot":"","sources":["../../../src/code-intelligence/indexing/FileWatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EACL,aAAa,EACb,YAAY,EACZ,UAAU,EACV,kBAAkB,EAEnB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;IACxC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC9B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,cAAc,CAAwC;IAC9D,OAAO,CAAC,aAAa,CAA8C;IACnE,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,SAAS,CAA4B;gBAEjC,MAAM,GAAE,OAAO,CAAC,aAAa,CAAM;IAK/C;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB3B;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAI7C;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAO9C;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAKzC;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACH,SAAS,IAAI,aAAa;IAI1B;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAIlD;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAkBtC;;OAEG;YACW,eAAe;IAU7B;;OAEG;YACW,oBAAoB;IAgClC;;OAEG;IACH,OAAO,CAAC,WAAW;IAWnB;;OAEG;IACH,OAAO,CAAC,aAAa;IAUrB;;OAEG;YACW,YAAY;IA0B1B;;OAEG;IACH,OAAO,CAAC,SAAS;CAgDlB"}