agentic-qe 2.5.10 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. package/.claude/agents/qe-code-intelligence.md +359 -0
  2. package/CHANGELOG.md +61 -0
  3. package/README.md +3 -2
  4. package/dist/agents/BaseAgent.d.ts +48 -0
  5. package/dist/agents/BaseAgent.d.ts.map +1 -1
  6. package/dist/agents/BaseAgent.js +126 -0
  7. package/dist/agents/BaseAgent.js.map +1 -1
  8. package/dist/agents/CodeIntelligenceAgent.d.ts +133 -0
  9. package/dist/agents/CodeIntelligenceAgent.d.ts.map +1 -0
  10. package/dist/agents/CodeIntelligenceAgent.js +473 -0
  11. package/dist/agents/CodeIntelligenceAgent.js.map +1 -0
  12. package/dist/agents/context/ContextCache.d.ts +105 -0
  13. package/dist/agents/context/ContextCache.d.ts.map +1 -0
  14. package/dist/agents/context/ContextCache.js +235 -0
  15. package/dist/agents/context/ContextCache.js.map +1 -0
  16. package/dist/agents/context/ContextFormatter.d.ts +92 -0
  17. package/dist/agents/context/ContextFormatter.d.ts.map +1 -0
  18. package/dist/agents/context/ContextFormatter.js +338 -0
  19. package/dist/agents/context/ContextFormatter.js.map +1 -0
  20. package/dist/agents/context/GraphExpander.d.ts +87 -0
  21. package/dist/agents/context/GraphExpander.d.ts.map +1 -0
  22. package/dist/agents/context/GraphExpander.js +215 -0
  23. package/dist/agents/context/GraphExpander.js.map +1 -0
  24. package/dist/agents/context/KnowledgeGraphContextBuilder.d.ts +160 -0
  25. package/dist/agents/context/KnowledgeGraphContextBuilder.d.ts.map +1 -0
  26. package/dist/agents/context/KnowledgeGraphContextBuilder.js +300 -0
  27. package/dist/agents/context/KnowledgeGraphContextBuilder.js.map +1 -0
  28. package/dist/agents/context/index.d.ts +15 -0
  29. package/dist/agents/context/index.d.ts.map +1 -0
  30. package/dist/agents/context/index.js +18 -0
  31. package/dist/agents/context/index.js.map +1 -0
  32. package/dist/agents/index.d.ts +1 -0
  33. package/dist/agents/index.d.ts.map +1 -1
  34. package/dist/agents/index.js +67 -3
  35. package/dist/agents/index.js.map +1 -1
  36. package/dist/cli/commands/knowledge-graph.d.ts +112 -0
  37. package/dist/cli/commands/knowledge-graph.d.ts.map +1 -0
  38. package/dist/cli/commands/knowledge-graph.js +466 -0
  39. package/dist/cli/commands/knowledge-graph.js.map +1 -0
  40. package/dist/cli/formatters/KGOutputFormatter.d.ts +50 -0
  41. package/dist/cli/formatters/KGOutputFormatter.d.ts.map +1 -0
  42. package/dist/cli/formatters/KGOutputFormatter.js +237 -0
  43. package/dist/cli/formatters/KGOutputFormatter.js.map +1 -0
  44. package/dist/cli/index-working.js +138 -0
  45. package/dist/cli/index-working.js.map +1 -1
  46. package/dist/cli/init/claude-config.d.ts +13 -1
  47. package/dist/cli/init/claude-config.d.ts.map +1 -1
  48. package/dist/cli/init/claude-config.js +70 -8
  49. package/dist/cli/init/claude-config.js.map +1 -1
  50. package/dist/cli/init/code-intelligence-init.d.ts +52 -0
  51. package/dist/cli/init/code-intelligence-init.d.ts.map +1 -0
  52. package/dist/cli/init/code-intelligence-init.js +250 -0
  53. package/dist/cli/init/code-intelligence-init.js.map +1 -0
  54. package/dist/cli/init/index.d.ts +2 -2
  55. package/dist/cli/init/index.d.ts.map +1 -1
  56. package/dist/cli/init/index.js +10 -1
  57. package/dist/cli/init/index.js.map +1 -1
  58. package/dist/code-intelligence/chunking/ASTChunker.d.ts +64 -0
  59. package/dist/code-intelligence/chunking/ASTChunker.d.ts.map +1 -0
  60. package/dist/code-intelligence/chunking/ASTChunker.js +344 -0
  61. package/dist/code-intelligence/chunking/ASTChunker.js.map +1 -0
  62. package/dist/code-intelligence/chunking/ChunkSplitter.d.ts +48 -0
  63. package/dist/code-intelligence/chunking/ChunkSplitter.d.ts.map +1 -0
  64. package/dist/code-intelligence/chunking/ChunkSplitter.js +278 -0
  65. package/dist/code-intelligence/chunking/ChunkSplitter.js.map +1 -0
  66. package/dist/code-intelligence/chunking/index.d.ts +8 -0
  67. package/dist/code-intelligence/chunking/index.d.ts.map +1 -0
  68. package/dist/code-intelligence/chunking/index.js +13 -0
  69. package/dist/code-intelligence/chunking/index.js.map +1 -0
  70. package/dist/code-intelligence/chunking/types.d.ts +52 -0
  71. package/dist/code-intelligence/chunking/types.d.ts.map +1 -0
  72. package/dist/code-intelligence/chunking/types.js +6 -0
  73. package/dist/code-intelligence/chunking/types.js.map +1 -0
  74. package/dist/code-intelligence/config/database-schema.d.ts +245 -0
  75. package/dist/code-intelligence/config/database-schema.d.ts.map +1 -0
  76. package/dist/code-intelligence/config/database-schema.js +110 -0
  77. package/dist/code-intelligence/config/database-schema.js.map +1 -0
  78. package/dist/code-intelligence/config/environment.d.ts +53 -0
  79. package/dist/code-intelligence/config/environment.d.ts.map +1 -0
  80. package/dist/code-intelligence/config/environment.js +86 -0
  81. package/dist/code-intelligence/config/environment.js.map +1 -0
  82. package/dist/code-intelligence/config/index.d.ts +10 -0
  83. package/dist/code-intelligence/config/index.d.ts.map +1 -0
  84. package/dist/code-intelligence/config/index.js +36 -0
  85. package/dist/code-intelligence/config/index.js.map +1 -0
  86. package/dist/code-intelligence/embeddings/EmbeddingCache.d.ts +81 -0
  87. package/dist/code-intelligence/embeddings/EmbeddingCache.d.ts.map +1 -0
  88. package/dist/code-intelligence/embeddings/EmbeddingCache.js +168 -0
  89. package/dist/code-intelligence/embeddings/EmbeddingCache.js.map +1 -0
  90. package/dist/code-intelligence/embeddings/NomicEmbedder.d.ts +82 -0
  91. package/dist/code-intelligence/embeddings/NomicEmbedder.d.ts.map +1 -0
  92. package/dist/code-intelligence/embeddings/NomicEmbedder.js +233 -0
  93. package/dist/code-intelligence/embeddings/NomicEmbedder.js.map +1 -0
  94. package/dist/code-intelligence/embeddings/OllamaClient.d.ts +42 -0
  95. package/dist/code-intelligence/embeddings/OllamaClient.d.ts.map +1 -0
  96. package/dist/code-intelligence/embeddings/OllamaClient.js +142 -0
  97. package/dist/code-intelligence/embeddings/OllamaClient.js.map +1 -0
  98. package/dist/code-intelligence/embeddings/index.d.ts +33 -0
  99. package/dist/code-intelligence/embeddings/index.d.ts.map +1 -0
  100. package/dist/code-intelligence/embeddings/index.js +39 -0
  101. package/dist/code-intelligence/embeddings/index.js.map +1 -0
  102. package/dist/code-intelligence/embeddings/types.d.ts +84 -0
  103. package/dist/code-intelligence/embeddings/types.d.ts.map +1 -0
  104. package/dist/code-intelligence/embeddings/types.js +19 -0
  105. package/dist/code-intelligence/embeddings/types.js.map +1 -0
  106. package/dist/code-intelligence/graph/GraphBuilder.d.ts +126 -0
  107. package/dist/code-intelligence/graph/GraphBuilder.d.ts.map +1 -0
  108. package/dist/code-intelligence/graph/GraphBuilder.js +416 -0
  109. package/dist/code-intelligence/graph/GraphBuilder.js.map +1 -0
  110. package/dist/code-intelligence/graph/ImportParser.d.ts +72 -0
  111. package/dist/code-intelligence/graph/ImportParser.d.ts.map +1 -0
  112. package/dist/code-intelligence/graph/ImportParser.js +422 -0
  113. package/dist/code-intelligence/graph/ImportParser.js.map +1 -0
  114. package/dist/code-intelligence/graph/RelationshipExtractor.d.ts +74 -0
  115. package/dist/code-intelligence/graph/RelationshipExtractor.d.ts.map +1 -0
  116. package/dist/code-intelligence/graph/RelationshipExtractor.js +310 -0
  117. package/dist/code-intelligence/graph/RelationshipExtractor.js.map +1 -0
  118. package/dist/code-intelligence/graph/TestMapper.d.ts +99 -0
  119. package/dist/code-intelligence/graph/TestMapper.d.ts.map +1 -0
  120. package/dist/code-intelligence/graph/TestMapper.js +335 -0
  121. package/dist/code-intelligence/graph/TestMapper.js.map +1 -0
  122. package/dist/code-intelligence/graph/index.d.ts +14 -0
  123. package/dist/code-intelligence/graph/index.d.ts.map +1 -0
  124. package/dist/code-intelligence/graph/index.js +19 -0
  125. package/dist/code-intelligence/graph/index.js.map +1 -0
  126. package/dist/code-intelligence/graph/types.d.ts +141 -0
  127. package/dist/code-intelligence/graph/types.d.ts.map +1 -0
  128. package/dist/code-intelligence/graph/types.js +18 -0
  129. package/dist/code-intelligence/graph/types.js.map +1 -0
  130. package/dist/code-intelligence/indexing/FileWatcher.d.ts +90 -0
  131. package/dist/code-intelligence/indexing/FileWatcher.d.ts.map +1 -0
  132. package/dist/code-intelligence/indexing/FileWatcher.js +304 -0
  133. package/dist/code-intelligence/indexing/FileWatcher.js.map +1 -0
  134. package/dist/code-intelligence/indexing/GitChangeDetector.d.ts +76 -0
  135. package/dist/code-intelligence/indexing/GitChangeDetector.d.ts.map +1 -0
  136. package/dist/code-intelligence/indexing/GitChangeDetector.js +347 -0
  137. package/dist/code-intelligence/indexing/GitChangeDetector.js.map +1 -0
  138. package/dist/code-intelligence/indexing/IncrementalIndexer.d.ts +108 -0
  139. package/dist/code-intelligence/indexing/IncrementalIndexer.d.ts.map +1 -0
  140. package/dist/code-intelligence/indexing/IncrementalIndexer.js +269 -0
  141. package/dist/code-intelligence/indexing/IncrementalIndexer.js.map +1 -0
  142. package/dist/code-intelligence/indexing/index.d.ts +11 -0
  143. package/dist/code-intelligence/indexing/index.d.ts.map +1 -0
  144. package/dist/code-intelligence/indexing/index.js +18 -0
  145. package/dist/code-intelligence/indexing/index.js.map +1 -0
  146. package/dist/code-intelligence/indexing/types.d.ts +133 -0
  147. package/dist/code-intelligence/indexing/types.d.ts.map +1 -0
  148. package/dist/code-intelligence/indexing/types.js +27 -0
  149. package/dist/code-intelligence/indexing/types.js.map +1 -0
  150. package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.d.ts +150 -0
  151. package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.d.ts.map +1 -0
  152. package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.js +806 -0
  153. package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.js.map +1 -0
  154. package/dist/code-intelligence/orchestrator/index.d.ts +8 -0
  155. package/dist/code-intelligence/orchestrator/index.d.ts.map +1 -0
  156. package/dist/code-intelligence/orchestrator/index.js +24 -0
  157. package/dist/code-intelligence/orchestrator/index.js.map +1 -0
  158. package/dist/code-intelligence/orchestrator/types.d.ts +164 -0
  159. package/dist/code-intelligence/orchestrator/types.d.ts.map +1 -0
  160. package/dist/code-intelligence/orchestrator/types.js +18 -0
  161. package/dist/code-intelligence/orchestrator/types.js.map +1 -0
  162. package/dist/code-intelligence/parser/LanguageRegistry.d.ts +13 -0
  163. package/dist/code-intelligence/parser/LanguageRegistry.d.ts.map +1 -0
  164. package/dist/code-intelligence/parser/LanguageRegistry.js +150 -0
  165. package/dist/code-intelligence/parser/LanguageRegistry.js.map +1 -0
  166. package/dist/code-intelligence/parser/TreeSitterParser.d.ts +98 -0
  167. package/dist/code-intelligence/parser/TreeSitterParser.d.ts.map +1 -0
  168. package/dist/code-intelligence/parser/TreeSitterParser.js +530 -0
  169. package/dist/code-intelligence/parser/TreeSitterParser.js.map +1 -0
  170. package/dist/code-intelligence/parser/extractors/BaseExtractor.d.ts +36 -0
  171. package/dist/code-intelligence/parser/extractors/BaseExtractor.d.ts.map +1 -0
  172. package/dist/code-intelligence/parser/extractors/BaseExtractor.js +31 -0
  173. package/dist/code-intelligence/parser/extractors/BaseExtractor.js.map +1 -0
  174. package/dist/code-intelligence/parser/extractors/GoExtractor.d.ts +21 -0
  175. package/dist/code-intelligence/parser/extractors/GoExtractor.d.ts.map +1 -0
  176. package/dist/code-intelligence/parser/extractors/GoExtractor.js +249 -0
  177. package/dist/code-intelligence/parser/extractors/GoExtractor.js.map +1 -0
  178. package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.d.ts +21 -0
  179. package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.d.ts.map +1 -0
  180. package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.js +217 -0
  181. package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.js.map +1 -0
  182. package/dist/code-intelligence/parser/extractors/PythonExtractor.d.ts +20 -0
  183. package/dist/code-intelligence/parser/extractors/PythonExtractor.d.ts.map +1 -0
  184. package/dist/code-intelligence/parser/extractors/PythonExtractor.js +237 -0
  185. package/dist/code-intelligence/parser/extractors/PythonExtractor.js.map +1 -0
  186. package/dist/code-intelligence/parser/extractors/RustExtractor.d.ts +21 -0
  187. package/dist/code-intelligence/parser/extractors/RustExtractor.d.ts.map +1 -0
  188. package/dist/code-intelligence/parser/extractors/RustExtractor.js +234 -0
  189. package/dist/code-intelligence/parser/extractors/RustExtractor.js.map +1 -0
  190. package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.d.ts +23 -0
  191. package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.d.ts.map +1 -0
  192. package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.js +247 -0
  193. package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.js.map +1 -0
  194. package/dist/code-intelligence/parser/extractors/index.d.ts +7 -0
  195. package/dist/code-intelligence/parser/extractors/index.d.ts.map +1 -0
  196. package/dist/code-intelligence/parser/extractors/index.js +16 -0
  197. package/dist/code-intelligence/parser/extractors/index.js.map +1 -0
  198. package/dist/code-intelligence/parser/index.d.ts +8 -0
  199. package/dist/code-intelligence/parser/index.d.ts.map +1 -0
  200. package/dist/code-intelligence/parser/index.js +12 -0
  201. package/dist/code-intelligence/parser/index.js.map +1 -0
  202. package/dist/code-intelligence/parser/types.d.ts +60 -0
  203. package/dist/code-intelligence/parser/types.d.ts.map +1 -0
  204. package/dist/code-intelligence/parser/types.js +6 -0
  205. package/dist/code-intelligence/parser/types.js.map +1 -0
  206. package/dist/code-intelligence/rag/ContextBuilder.d.ts +82 -0
  207. package/dist/code-intelligence/rag/ContextBuilder.d.ts.map +1 -0
  208. package/dist/code-intelligence/rag/ContextBuilder.js +242 -0
  209. package/dist/code-intelligence/rag/ContextBuilder.js.map +1 -0
  210. package/dist/code-intelligence/rag/GraphExpander.d.ts +95 -0
  211. package/dist/code-intelligence/rag/GraphExpander.d.ts.map +1 -0
  212. package/dist/code-intelligence/rag/GraphExpander.js +250 -0
  213. package/dist/code-intelligence/rag/GraphExpander.js.map +1 -0
  214. package/dist/code-intelligence/rag/index.d.ts +9 -0
  215. package/dist/code-intelligence/rag/index.d.ts.map +1 -0
  216. package/dist/code-intelligence/rag/index.js +25 -0
  217. package/dist/code-intelligence/rag/index.js.map +1 -0
  218. package/dist/code-intelligence/rag/types.d.ts +121 -0
  219. package/dist/code-intelligence/rag/types.d.ts.map +1 -0
  220. package/dist/code-intelligence/rag/types.js +50 -0
  221. package/dist/code-intelligence/rag/types.js.map +1 -0
  222. package/dist/code-intelligence/retrieval/SemanticRetriever.d.ts +62 -0
  223. package/dist/code-intelligence/retrieval/SemanticRetriever.d.ts.map +1 -0
  224. package/dist/code-intelligence/retrieval/SemanticRetriever.js +174 -0
  225. package/dist/code-intelligence/retrieval/SemanticRetriever.js.map +1 -0
  226. package/dist/code-intelligence/retrieval/index.d.ts +9 -0
  227. package/dist/code-intelligence/retrieval/index.d.ts.map +1 -0
  228. package/dist/code-intelligence/retrieval/index.js +16 -0
  229. package/dist/code-intelligence/retrieval/index.js.map +1 -0
  230. package/dist/code-intelligence/retrieval/types.d.ts +118 -0
  231. package/dist/code-intelligence/retrieval/types.d.ts.map +1 -0
  232. package/dist/code-intelligence/retrieval/types.js +46 -0
  233. package/dist/code-intelligence/retrieval/types.js.map +1 -0
  234. package/dist/code-intelligence/router/CodeIntelligenceHybridRouter.d.ts +167 -0
  235. package/dist/code-intelligence/router/CodeIntelligenceHybridRouter.d.ts.map +1 -0
  236. package/dist/code-intelligence/router/CodeIntelligenceHybridRouter.js +365 -0
  237. package/dist/code-intelligence/router/CodeIntelligenceHybridRouter.js.map +1 -0
  238. package/dist/code-intelligence/router/index.d.ts +7 -0
  239. package/dist/code-intelligence/router/index.d.ts.map +1 -0
  240. package/dist/code-intelligence/router/index.js +14 -0
  241. package/dist/code-intelligence/router/index.js.map +1 -0
  242. package/dist/code-intelligence/search/BM25Search.d.ts +74 -0
  243. package/dist/code-intelligence/search/BM25Search.d.ts.map +1 -0
  244. package/dist/code-intelligence/search/BM25Search.js +233 -0
  245. package/dist/code-intelligence/search/BM25Search.js.map +1 -0
  246. package/dist/code-intelligence/search/HybridSearchEngine.d.ts +94 -0
  247. package/dist/code-intelligence/search/HybridSearchEngine.d.ts.map +1 -0
  248. package/dist/code-intelligence/search/HybridSearchEngine.js +168 -0
  249. package/dist/code-intelligence/search/HybridSearchEngine.js.map +1 -0
  250. package/dist/code-intelligence/search/RRFFusion.d.ts +46 -0
  251. package/dist/code-intelligence/search/RRFFusion.d.ts.map +1 -0
  252. package/dist/code-intelligence/search/RRFFusion.js +223 -0
  253. package/dist/code-intelligence/search/RRFFusion.js.map +1 -0
  254. package/dist/code-intelligence/search/VectorSearch.d.ts +157 -0
  255. package/dist/code-intelligence/search/VectorSearch.d.ts.map +1 -0
  256. package/dist/code-intelligence/search/VectorSearch.js +301 -0
  257. package/dist/code-intelligence/search/VectorSearch.js.map +1 -0
  258. package/dist/code-intelligence/search/index.d.ts +14 -0
  259. package/dist/code-intelligence/search/index.d.ts.map +1 -0
  260. package/dist/code-intelligence/search/index.js +23 -0
  261. package/dist/code-intelligence/search/index.js.map +1 -0
  262. package/dist/code-intelligence/search/types.d.ts +201 -0
  263. package/dist/code-intelligence/search/types.d.ts.map +1 -0
  264. package/dist/code-intelligence/search/types.js +35 -0
  265. package/dist/code-intelligence/search/types.js.map +1 -0
  266. package/dist/code-intelligence/service/CodeIntelligenceService.d.ts +171 -0
  267. package/dist/code-intelligence/service/CodeIntelligenceService.d.ts.map +1 -0
  268. package/dist/code-intelligence/service/CodeIntelligenceService.js +325 -0
  269. package/dist/code-intelligence/service/CodeIntelligenceService.js.map +1 -0
  270. package/dist/code-intelligence/service/index.d.ts +7 -0
  271. package/dist/code-intelligence/service/index.d.ts.map +1 -0
  272. package/dist/code-intelligence/service/index.js +14 -0
  273. package/dist/code-intelligence/service/index.js.map +1 -0
  274. package/dist/code-intelligence/storage/CodeChunkStore.d.ts +213 -0
  275. package/dist/code-intelligence/storage/CodeChunkStore.d.ts.map +1 -0
  276. package/dist/code-intelligence/storage/CodeChunkStore.js +542 -0
  277. package/dist/code-intelligence/storage/CodeChunkStore.js.map +1 -0
  278. package/dist/code-intelligence/storage/index.d.ts +7 -0
  279. package/dist/code-intelligence/storage/index.d.ts.map +1 -0
  280. package/dist/code-intelligence/storage/index.js +13 -0
  281. package/dist/code-intelligence/storage/index.js.map +1 -0
  282. package/dist/code-intelligence/visualization/ClassDiagramBuilder.d.ts +51 -0
  283. package/dist/code-intelligence/visualization/ClassDiagramBuilder.d.ts.map +1 -0
  284. package/dist/code-intelligence/visualization/ClassDiagramBuilder.js +180 -0
  285. package/dist/code-intelligence/visualization/ClassDiagramBuilder.js.map +1 -0
  286. package/dist/code-intelligence/visualization/DependencyGraphBuilder.d.ts +66 -0
  287. package/dist/code-intelligence/visualization/DependencyGraphBuilder.d.ts.map +1 -0
  288. package/dist/code-intelligence/visualization/DependencyGraphBuilder.js +203 -0
  289. package/dist/code-intelligence/visualization/DependencyGraphBuilder.js.map +1 -0
  290. package/dist/code-intelligence/visualization/MermaidGenerator.d.ts +76 -0
  291. package/dist/code-intelligence/visualization/MermaidGenerator.d.ts.map +1 -0
  292. package/dist/code-intelligence/visualization/MermaidGenerator.js +368 -0
  293. package/dist/code-intelligence/visualization/MermaidGenerator.js.map +1 -0
  294. package/dist/code-intelligence/visualization/index.d.ts +9 -0
  295. package/dist/code-intelligence/visualization/index.d.ts.map +1 -0
  296. package/dist/code-intelligence/visualization/index.js +15 -0
  297. package/dist/code-intelligence/visualization/index.js.map +1 -0
  298. package/dist/core/FleetManager.d.ts +27 -0
  299. package/dist/core/FleetManager.d.ts.map +1 -1
  300. package/dist/core/FleetManager.js +84 -0
  301. package/dist/core/FleetManager.js.map +1 -1
  302. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  303. package/dist/core/memory/HNSWVectorMemory.js.map +1 -1
  304. package/dist/mcp/server-instructions.d.ts +1 -1
  305. package/dist/mcp/server-instructions.d.ts.map +1 -1
  306. package/dist/mcp/server-instructions.js +1 -1
  307. package/dist/mcp/server-instructions.js.map +1 -1
  308. package/dist/types/index.d.ts +2 -1
  309. package/dist/types/index.d.ts.map +1 -1
  310. package/dist/types/index.js +2 -0
  311. package/dist/types/index.js.map +1 -1
  312. package/docs/reference/agents.md +44 -1
  313. package/package.json +12 -1
@@ -0,0 +1,304 @@
1
+ "use strict";
2
+ /**
3
+ * File Watcher
4
+ *
5
+ * Monitors file system changes and emits events
6
+ * for incremental index updates.
7
+ *
8
+ * Features:
9
+ * - Debounced change notifications
10
+ * - Pattern-based filtering
11
+ * - Cross-platform support
12
+ * - Graceful shutdown
13
+ */
14
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ var desc = Object.getOwnPropertyDescriptor(m, k);
17
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
18
+ desc = { enumerable: true, get: function() { return m[k]; } };
19
+ }
20
+ Object.defineProperty(o, k2, desc);
21
+ }) : (function(o, m, k, k2) {
22
+ if (k2 === undefined) k2 = k;
23
+ o[k2] = m[k];
24
+ }));
25
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
26
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
27
+ }) : function(o, v) {
28
+ o["default"] = v;
29
+ });
30
+ var __importStar = (this && this.__importStar) || (function () {
31
+ var ownKeys = function(o) {
32
+ ownKeys = Object.getOwnPropertyNames || function (o) {
33
+ var ar = [];
34
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
35
+ return ar;
36
+ };
37
+ return ownKeys(o);
38
+ };
39
+ return function (mod) {
40
+ if (mod && mod.__esModule) return mod;
41
+ var result = {};
42
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
43
+ __setModuleDefault(result, mod);
44
+ return result;
45
+ };
46
+ })();
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.FileWatcher = void 0;
49
+ const events_1 = require("events");
50
+ const types_js_1 = require("./types.js");
51
+ class FileWatcher extends events_1.EventEmitter {
52
+ constructor(config = {}) {
53
+ super();
54
+ this.pendingChanges = new Map();
55
+ this.debounceTimer = null;
56
+ this.isWatching = false;
57
+ this.watcher = null; // chokidar instance (optional dependency)
58
+ this.callbacks = [];
59
+ this.config = { ...types_js_1.DEFAULT_WATCHER_CONFIG, ...config };
60
+ }
61
+ /**
62
+ * Start watching for file changes.
63
+ * Uses chokidar if available, otherwise manual polling.
64
+ */
65
+ async start() {
66
+ if (this.isWatching)
67
+ return;
68
+ try {
69
+ // Try to use chokidar for efficient watching
70
+ const chokidar = await this.tryLoadChokidar();
71
+ if (chokidar) {
72
+ await this.startChokidarWatcher(chokidar);
73
+ }
74
+ else {
75
+ // Fallback: emit warning and allow manual change registration
76
+ console.warn('FileWatcher: chokidar not available, using manual mode');
77
+ this.isWatching = true;
78
+ this.emit('ready');
79
+ }
80
+ }
81
+ catch (error) {
82
+ this.emit('error', error);
83
+ throw error;
84
+ }
85
+ }
86
+ /**
87
+ * Stop watching.
88
+ */
89
+ async stop() {
90
+ if (!this.isWatching)
91
+ return;
92
+ if (this.debounceTimer) {
93
+ clearTimeout(this.debounceTimer);
94
+ this.debounceTimer = null;
95
+ }
96
+ if (this.watcher) {
97
+ await this.watcher.close();
98
+ this.watcher = null;
99
+ }
100
+ this.isWatching = false;
101
+ this.pendingChanges.clear();
102
+ }
103
+ /**
104
+ * Register a callback for file changes.
105
+ */
106
+ onChanges(callback) {
107
+ this.callbacks.push(callback);
108
+ }
109
+ /**
110
+ * Remove a callback.
111
+ */
112
+ offChanges(callback) {
113
+ const index = this.callbacks.indexOf(callback);
114
+ if (index !== -1) {
115
+ this.callbacks.splice(index, 1);
116
+ }
117
+ }
118
+ /**
119
+ * Manually register a file change (for testing or manual mode).
120
+ */
121
+ registerChange(event) {
122
+ this.pendingChanges.set(event.path, event);
123
+ this.scheduleFlush();
124
+ }
125
+ /**
126
+ * Get watching status.
127
+ */
128
+ isActive() {
129
+ return this.isWatching;
130
+ }
131
+ /**
132
+ * Get current configuration.
133
+ */
134
+ getConfig() {
135
+ return { ...this.config };
136
+ }
137
+ /**
138
+ * Update configuration (requires restart).
139
+ */
140
+ updateConfig(config) {
141
+ this.config = { ...this.config, ...config };
142
+ }
143
+ /**
144
+ * Check if a path should be watched based on patterns.
145
+ */
146
+ shouldWatch(filePath) {
147
+ // Check ignore patterns
148
+ for (const pattern of this.config.ignorePatterns) {
149
+ if (this.matchGlob(filePath, pattern)) {
150
+ return false;
151
+ }
152
+ }
153
+ // Check include patterns
154
+ for (const pattern of this.config.patterns) {
155
+ if (this.matchGlob(filePath, pattern)) {
156
+ return true;
157
+ }
158
+ }
159
+ return false;
160
+ }
161
+ /**
162
+ * Try to load chokidar dynamically.
163
+ */
164
+ async tryLoadChokidar() {
165
+ try {
166
+ // Dynamic import to make chokidar optional
167
+ const module = await Promise.resolve().then(() => __importStar(require('chokidar')));
168
+ return module.default || module;
169
+ }
170
+ catch {
171
+ return null;
172
+ }
173
+ }
174
+ /**
175
+ * Start watching with chokidar.
176
+ */
177
+ async startChokidarWatcher(chokidar) {
178
+ return new Promise((resolve, reject) => {
179
+ try {
180
+ this.watcher = chokidar.watch(this.config.patterns, {
181
+ cwd: this.config.rootDir,
182
+ ignored: this.config.ignorePatterns,
183
+ persistent: true,
184
+ usePolling: this.config.usePolling,
185
+ interval: this.config.pollInterval,
186
+ ignoreInitial: true,
187
+ awaitWriteFinish: {
188
+ stabilityThreshold: 100,
189
+ pollInterval: 50,
190
+ },
191
+ });
192
+ this.watcher
193
+ .on('add', (path) => this.handleEvent('add', path))
194
+ .on('change', (path) => this.handleEvent('change', path))
195
+ .on('unlink', (path) => this.handleEvent('unlink', path))
196
+ .on('error', (error) => this.emit('error', error))
197
+ .on('ready', () => {
198
+ this.isWatching = true;
199
+ this.emit('ready');
200
+ resolve();
201
+ });
202
+ }
203
+ catch (error) {
204
+ reject(error);
205
+ }
206
+ });
207
+ }
208
+ /**
209
+ * Handle a file system event.
210
+ */
211
+ handleEvent(type, path) {
212
+ const event = {
213
+ type,
214
+ path,
215
+ timestamp: Date.now(),
216
+ };
217
+ this.pendingChanges.set(path, event);
218
+ this.scheduleFlush();
219
+ }
220
+ /**
221
+ * Schedule debounced flush of pending changes.
222
+ */
223
+ scheduleFlush() {
224
+ if (this.debounceTimer) {
225
+ clearTimeout(this.debounceTimer);
226
+ }
227
+ this.debounceTimer = setTimeout(() => {
228
+ this.flushChanges();
229
+ }, this.config.debounceMs);
230
+ }
231
+ /**
232
+ * Flush pending changes to callbacks.
233
+ */
234
+ async flushChanges() {
235
+ if (this.pendingChanges.size === 0)
236
+ return;
237
+ const changes = Array.from(this.pendingChanges.values())
238
+ .map(event => ({
239
+ type: event.type === 'unlink' ? 'delete' :
240
+ event.type === 'add' ? 'add' : 'modify',
241
+ filePath: event.path,
242
+ timestamp: event.timestamp,
243
+ }));
244
+ this.pendingChanges.clear();
245
+ // Emit event
246
+ this.emit('change', changes);
247
+ // Call registered callbacks
248
+ for (const callback of this.callbacks) {
249
+ try {
250
+ await callback(changes);
251
+ }
252
+ catch (error) {
253
+ this.emit('error', error);
254
+ }
255
+ }
256
+ }
257
+ /**
258
+ * Simple glob matching (supports * and **).
259
+ */
260
+ matchGlob(path, pattern) {
261
+ // Normalize path separators
262
+ const normalizedPath = path.replace(/\\/g, '/');
263
+ const normalizedPattern = pattern.replace(/\\/g, '/');
264
+ // Special case: **/ at start means "anywhere in path"
265
+ // Special case: /** at end means "anything after"
266
+ // Pattern like **/node_modules/** means "path contains node_modules"
267
+ if (normalizedPattern.includes('**/') && normalizedPattern.includes('/**')) {
268
+ // Extract middle part: **/X/** -> check if path contains /X/
269
+ const middle = normalizedPattern
270
+ .replace(/^\*\*\//, '')
271
+ .replace(/\/\*\*$/, '');
272
+ // Check if path contains this segment
273
+ return normalizedPath.includes(middle + '/') ||
274
+ normalizedPath.includes('/' + middle) ||
275
+ normalizedPath.startsWith(middle + '/') ||
276
+ normalizedPath === middle;
277
+ }
278
+ // Pattern like **/*.ts means "any .ts file"
279
+ if (normalizedPattern.startsWith('**/')) {
280
+ const suffix = normalizedPattern.slice(3);
281
+ if (suffix.startsWith('*.')) {
282
+ // Extension match
283
+ const ext = suffix.slice(1); // *.ts -> .ts
284
+ return normalizedPath.endsWith(ext);
285
+ }
286
+ // Check if path ends with the pattern
287
+ const suffixRegex = new RegExp(suffix
288
+ .replace(/\./g, '\\.')
289
+ .replace(/\*\*/g, '.*')
290
+ .replace(/\*/g, '[^/]*') + '$');
291
+ return suffixRegex.test(normalizedPath);
292
+ }
293
+ // Convert full glob to regex
294
+ const regexPattern = normalizedPattern
295
+ .replace(/\./g, '\\.')
296
+ .replace(/\*\*/g, '{{GLOBSTAR}}')
297
+ .replace(/\*/g, '[^/]*')
298
+ .replace(/{{GLOBSTAR}}/g, '.*');
299
+ const regex = new RegExp(`^${regexPattern}$`);
300
+ return regex.test(normalizedPath);
301
+ }
302
+ }
303
+ exports.FileWatcher = FileWatcher;
304
+ //# sourceMappingURL=FileWatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileWatcher.js","sourceRoot":"","sources":["../../../src/code-intelligence/indexing/FileWatcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Git Change Detector
3
+ *
4
+ * Detects file changes using git for efficient incremental indexing.
5
+ * Integrates with tj-actions/changed-files for CI/CD compatibility.
6
+ */
7
+ import type { FileChange } from './types.js';
8
+ export interface GitChangeDetectorConfig {
9
+ /**
10
+ * Root directory of the git repository.
11
+ */
12
+ rootDir: string;
13
+ /**
14
+ * File extensions to track.
15
+ */
16
+ extensions: string[];
17
+ /**
18
+ * Directories to exclude from tracking.
19
+ */
20
+ excludeDirs: string[];
21
+ }
22
+ export declare const DEFAULT_GIT_CHANGE_DETECTOR_CONFIG: GitChangeDetectorConfig;
23
+ export declare class GitChangeDetector {
24
+ private config;
25
+ private lastCommit;
26
+ constructor(rootDir: string, config?: Partial<GitChangeDetectorConfig>);
27
+ /**
28
+ * Check if directory is a git repository.
29
+ */
30
+ isGitRepository(): Promise<boolean>;
31
+ /**
32
+ * Get the current HEAD commit hash.
33
+ */
34
+ getCurrentCommit(): Promise<string>;
35
+ /**
36
+ * Get files changed since a specific commit.
37
+ */
38
+ getChangedFiles(sinceCommit?: string): Promise<FileChange[]>;
39
+ /**
40
+ * Get uncommitted changes (working directory).
41
+ */
42
+ getUncommittedChanges(): Promise<FileChange[]>;
43
+ /**
44
+ * Get all changes (committed since base + uncommitted).
45
+ */
46
+ getAllChanges(sinceCommit?: string): Promise<FileChange[]>;
47
+ /**
48
+ * Get files changed between two commits.
49
+ */
50
+ getChangesBetweenCommits(fromCommit: string, toCommit: string): Promise<FileChange[]>;
51
+ /**
52
+ * Get commit history for a file.
53
+ */
54
+ getFileHistory(filePath: string, limit?: number): Promise<string[]>;
55
+ /**
56
+ * Get blame information for a file (line-by-line attribution).
57
+ */
58
+ getBlame(filePath: string): Promise<Array<{
59
+ line: number;
60
+ commit: string;
61
+ author: string;
62
+ }>>;
63
+ /**
64
+ * Update last known commit.
65
+ */
66
+ setLastCommit(commit: string): void;
67
+ /**
68
+ * Get last known commit.
69
+ */
70
+ getLastCommit(): string | null;
71
+ /**
72
+ * Check if a path should be excluded.
73
+ */
74
+ private isExcluded;
75
+ }
76
+ //# sourceMappingURL=GitChangeDetector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GitChangeDetector.d.ts","sourceRoot":"","sources":["../../../src/code-intelligence/indexing/GitChangeDetector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI7C,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;IAErB;;OAEG;IACH,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,eAAO,MAAM,kCAAkC,EAAE,uBAIhD,CAAC;AAEF,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,UAAU,CAAuB;gBAGvC,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,OAAO,CAAC,uBAAuB,CAAM;IAS/C;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAWzC;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAOzC;;OAEG;IACG,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAoFlE;;OAEG;IACG,qBAAqB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAgEpD;;OAEG;IACG,aAAa,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAkBhE;;OAEG;IACG,wBAAwB,CAC5B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,EAAE,CAAC;IAuCxB;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAc7E;;OAEG;IACG,QAAQ,CACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAoCnE;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAInC;;OAEG;IACH,aAAa,IAAI,MAAM,GAAG,IAAI;IAI9B;;OAEG;IACH,OAAO,CAAC,UAAU;CAWnB"}