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,422 @@
1
+ "use strict";
2
+ /**
3
+ * Import Parser
4
+ *
5
+ * Parses import/require statements from source code
6
+ * to build the IMPORTS 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.ImportParser = void 0;
43
+ const path = __importStar(require("path"));
44
+ class ImportParser {
45
+ constructor() {
46
+ // Regular expressions for different import patterns
47
+ this.patterns = {
48
+ // ES6 named imports: import { a, b } from 'module'
49
+ namedImport: /import\s*\{([^}]+)\}\s*from\s*['"]([^'"]+)['"]/g,
50
+ // ES6 default import: import Foo from 'module'
51
+ defaultImport: /import\s+(\w+)\s+from\s*['"]([^'"]+)['"]/g,
52
+ // ES6 namespace import: import * as Foo from 'module'
53
+ namespaceImport: /import\s*\*\s*as\s+(\w+)\s+from\s*['"]([^'"]+)['"]/g,
54
+ // ES6 side-effect import: import 'module'
55
+ sideEffectImport: /import\s+['"]([^'"]+)['"]/g,
56
+ // ES6 mixed import: import Foo, { bar } from 'module'
57
+ mixedImport: /import\s+(\w+)\s*,\s*\{([^}]+)\}\s*from\s*['"]([^'"]+)['"]/g,
58
+ // CommonJS require: const foo = require('module')
59
+ require: /(?:const|let|var)\s+(?:\{([^}]+)\}|(\w+))\s*=\s*require\s*\(\s*['"]([^'"]+)['"]\s*\)/g,
60
+ // Dynamic import: import('module')
61
+ dynamicImport: /import\s*\(\s*['"]([^'"]+)['"]\s*\)/g,
62
+ // TypeScript type import: import type { Foo } from 'module'
63
+ typeImport: /import\s+type\s*\{([^}]+)\}\s*from\s*['"]([^'"]+)['"]/g,
64
+ // Python import: import module
65
+ pythonImport: /^import\s+([\w.]+)(?:\s+as\s+(\w+))?/gm,
66
+ // Python from import: from module import name
67
+ pythonFromImport: /^from\s+([\w.]+)\s+import\s+(.+)/gm,
68
+ // Go import: import "module" or import ( "module" )
69
+ goImport: /import\s+(?:\(\s*)?["']([^"']+)["'](?:\s*\))?/g,
70
+ // Go named import: import name "module"
71
+ goNamedImport: /import\s+(\w+)\s+["']([^"']+)["']/g,
72
+ // Rust use: use crate::module or use crate::module::*
73
+ rustUse: /use\s+([\w:*]+)/g,
74
+ };
75
+ }
76
+ /**
77
+ * Parse imports from source code.
78
+ */
79
+ parseImports(content, language) {
80
+ const imports = [];
81
+ const lines = content.split('\n');
82
+ switch (language) {
83
+ case 'typescript':
84
+ case 'javascript':
85
+ imports.push(...this.parseJavaScriptImports(content, lines));
86
+ break;
87
+ case 'python':
88
+ imports.push(...this.parsePythonImports(content, lines));
89
+ break;
90
+ case 'go':
91
+ imports.push(...this.parseGoImports(content, lines));
92
+ break;
93
+ case 'rust':
94
+ imports.push(...this.parseRustImports(content, lines));
95
+ break;
96
+ }
97
+ return imports;
98
+ }
99
+ /**
100
+ * Resolve import path to absolute file path.
101
+ */
102
+ resolveImportPath(imp, sourceFilePath, projectRoot = '.') {
103
+ const moduleSpecifier = imp.moduleSpecifier;
104
+ // Check if external package
105
+ if (this.isExternalPackage(moduleSpecifier)) {
106
+ return null; // Don't resolve external packages
107
+ }
108
+ // Resolve relative imports
109
+ if (moduleSpecifier.startsWith('.')) {
110
+ const sourceDir = path.dirname(sourceFilePath);
111
+ let resolvedPath = path.resolve(sourceDir, moduleSpecifier);
112
+ // Try different extensions
113
+ const extensions = ['.ts', '.tsx', '.js', '.jsx', '.py', '.go', '.rs'];
114
+ // Check if path already has extension
115
+ if (extensions.some((ext) => moduleSpecifier.endsWith(ext))) {
116
+ return resolvedPath;
117
+ }
118
+ // Try adding extensions
119
+ for (const ext of extensions) {
120
+ const withExt = resolvedPath + ext;
121
+ return withExt; // Return first candidate (actual file check would be async)
122
+ }
123
+ // Try index file
124
+ return path.join(resolvedPath, 'index.ts');
125
+ }
126
+ // Absolute imports (configured in tsconfig, etc.)
127
+ // These would need tsconfig.json parsing for proper resolution
128
+ return path.join(projectRoot, 'src', moduleSpecifier);
129
+ }
130
+ /**
131
+ * Check if a module specifier is an external package.
132
+ */
133
+ isExternalPackage(moduleSpecifier) {
134
+ // Relative paths
135
+ if (moduleSpecifier.startsWith('.')) {
136
+ return false;
137
+ }
138
+ // Node.js builtins
139
+ const builtins = [
140
+ 'fs', 'path', 'os', 'crypto', 'http', 'https', 'url', 'util',
141
+ 'events', 'stream', 'buffer', 'child_process', 'cluster', 'dns',
142
+ 'net', 'readline', 'repl', 'tls', 'dgram', 'vm', 'zlib',
143
+ 'assert', 'async_hooks', 'console', 'constants', 'domain',
144
+ 'module', 'process', 'punycode', 'querystring', 'string_decoder',
145
+ 'timers', 'tty', 'v8', 'worker_threads', 'perf_hooks',
146
+ ];
147
+ // Check for node: prefix
148
+ if (moduleSpecifier.startsWith('node:')) {
149
+ return true;
150
+ }
151
+ // Check builtins
152
+ if (builtins.includes(moduleSpecifier.split('/')[0])) {
153
+ return true;
154
+ }
155
+ // Scoped packages (@org/package) or regular packages
156
+ if (!moduleSpecifier.startsWith('.') && !moduleSpecifier.startsWith('/')) {
157
+ return true;
158
+ }
159
+ return false;
160
+ }
161
+ /**
162
+ * Parse JavaScript/TypeScript imports.
163
+ */
164
+ parseJavaScriptImports(content, lines) {
165
+ const imports = [];
166
+ // Type imports
167
+ let match;
168
+ // Reset regex lastIndex
169
+ this.patterns.typeImport.lastIndex = 0;
170
+ while ((match = this.patterns.typeImport.exec(content)) !== null) {
171
+ const names = this.parseNamedImportList(match[1]);
172
+ imports.push({
173
+ type: 'named',
174
+ moduleSpecifier: match[2],
175
+ importedNames: names,
176
+ isTypeOnly: true,
177
+ line: this.getLineNumber(content, match.index),
178
+ });
179
+ }
180
+ // Mixed imports (default + named)
181
+ this.patterns.mixedImport.lastIndex = 0;
182
+ while ((match = this.patterns.mixedImport.exec(content)) !== null) {
183
+ const defaultName = match[1];
184
+ const namedImports = this.parseNamedImportList(match[2]);
185
+ imports.push({
186
+ type: 'default',
187
+ moduleSpecifier: match[3],
188
+ importedNames: [],
189
+ localName: defaultName,
190
+ isTypeOnly: false,
191
+ line: this.getLineNumber(content, match.index),
192
+ });
193
+ imports.push({
194
+ type: 'named',
195
+ moduleSpecifier: match[3],
196
+ importedNames: namedImports,
197
+ isTypeOnly: false,
198
+ line: this.getLineNumber(content, match.index),
199
+ });
200
+ }
201
+ // Namespace imports
202
+ this.patterns.namespaceImport.lastIndex = 0;
203
+ while ((match = this.patterns.namespaceImport.exec(content)) !== null) {
204
+ imports.push({
205
+ type: 'namespace',
206
+ moduleSpecifier: match[2],
207
+ importedNames: [],
208
+ localName: match[1],
209
+ isTypeOnly: false,
210
+ line: this.getLineNumber(content, match.index),
211
+ });
212
+ }
213
+ // Named imports (exclude type imports already captured)
214
+ this.patterns.namedImport.lastIndex = 0;
215
+ while ((match = this.patterns.namedImport.exec(content)) !== null) {
216
+ // Skip if this is a type import
217
+ const lineContent = this.getLine(content, match.index);
218
+ if (lineContent.includes('import type'))
219
+ continue;
220
+ if (lineContent.includes('import ') && lineContent.includes(', {'))
221
+ continue; // Mixed import
222
+ const names = this.parseNamedImportList(match[1]);
223
+ imports.push({
224
+ type: 'named',
225
+ moduleSpecifier: match[2],
226
+ importedNames: names,
227
+ isTypeOnly: false,
228
+ line: this.getLineNumber(content, match.index),
229
+ });
230
+ }
231
+ // Default imports
232
+ this.patterns.defaultImport.lastIndex = 0;
233
+ while ((match = this.patterns.defaultImport.exec(content)) !== null) {
234
+ // Skip namespace imports and mixed imports
235
+ const lineContent = this.getLine(content, match.index);
236
+ if (lineContent.includes('* as'))
237
+ continue;
238
+ if (lineContent.includes(', {'))
239
+ continue;
240
+ imports.push({
241
+ type: 'default',
242
+ moduleSpecifier: match[2],
243
+ importedNames: [],
244
+ localName: match[1],
245
+ isTypeOnly: false,
246
+ line: this.getLineNumber(content, match.index),
247
+ });
248
+ }
249
+ // Side-effect imports
250
+ this.patterns.sideEffectImport.lastIndex = 0;
251
+ while ((match = this.patterns.sideEffectImport.exec(content)) !== null) {
252
+ // Skip if there's something before 'import' on the line
253
+ const lineContent = this.getLine(content, match.index);
254
+ if (!lineContent.trim().startsWith('import'))
255
+ continue;
256
+ imports.push({
257
+ type: 'side-effect',
258
+ moduleSpecifier: match[1],
259
+ importedNames: [],
260
+ isTypeOnly: false,
261
+ line: this.getLineNumber(content, match.index),
262
+ });
263
+ }
264
+ // CommonJS require
265
+ this.patterns.require.lastIndex = 0;
266
+ while ((match = this.patterns.require.exec(content)) !== null) {
267
+ const destructured = match[1];
268
+ const singleName = match[2];
269
+ const moduleSpec = match[3];
270
+ imports.push({
271
+ type: 'require',
272
+ moduleSpecifier: moduleSpec,
273
+ importedNames: destructured ? this.parseNamedImportList(destructured) : [],
274
+ localName: singleName,
275
+ isTypeOnly: false,
276
+ line: this.getLineNumber(content, match.index),
277
+ });
278
+ }
279
+ // Dynamic imports
280
+ this.patterns.dynamicImport.lastIndex = 0;
281
+ while ((match = this.patterns.dynamicImport.exec(content)) !== null) {
282
+ imports.push({
283
+ type: 'dynamic',
284
+ moduleSpecifier: match[1],
285
+ importedNames: [],
286
+ isTypeOnly: false,
287
+ line: this.getLineNumber(content, match.index),
288
+ });
289
+ }
290
+ return imports;
291
+ }
292
+ /**
293
+ * Parse Python imports.
294
+ */
295
+ parsePythonImports(content, lines) {
296
+ const imports = [];
297
+ let match;
298
+ // import module [as alias]
299
+ this.patterns.pythonImport.lastIndex = 0;
300
+ while ((match = this.patterns.pythonImport.exec(content)) !== null) {
301
+ imports.push({
302
+ type: 'namespace',
303
+ moduleSpecifier: match[1],
304
+ importedNames: [],
305
+ localName: match[2] || match[1].split('.').pop(),
306
+ isTypeOnly: false,
307
+ line: this.getLineNumber(content, match.index),
308
+ });
309
+ }
310
+ // from module import names
311
+ this.patterns.pythonFromImport.lastIndex = 0;
312
+ while ((match = this.patterns.pythonFromImport.exec(content)) !== null) {
313
+ const moduleSpec = match[1];
314
+ const importPart = match[2].trim();
315
+ if (importPart === '*') {
316
+ imports.push({
317
+ type: 'namespace',
318
+ moduleSpecifier: moduleSpec,
319
+ importedNames: ['*'],
320
+ isTypeOnly: false,
321
+ line: this.getLineNumber(content, match.index),
322
+ });
323
+ }
324
+ else {
325
+ const names = importPart.split(',').map((n) => n.trim().split(' as ')[0].trim());
326
+ imports.push({
327
+ type: 'named',
328
+ moduleSpecifier: moduleSpec,
329
+ importedNames: names,
330
+ isTypeOnly: false,
331
+ line: this.getLineNumber(content, match.index),
332
+ });
333
+ }
334
+ }
335
+ return imports;
336
+ }
337
+ /**
338
+ * Parse Go imports.
339
+ */
340
+ parseGoImports(content, lines) {
341
+ const imports = [];
342
+ let match;
343
+ // Named import
344
+ this.patterns.goNamedImport.lastIndex = 0;
345
+ while ((match = this.patterns.goNamedImport.exec(content)) !== null) {
346
+ imports.push({
347
+ type: 'named',
348
+ moduleSpecifier: match[2],
349
+ importedNames: [],
350
+ localName: match[1],
351
+ isTypeOnly: false,
352
+ line: this.getLineNumber(content, match.index),
353
+ });
354
+ }
355
+ // Regular import
356
+ this.patterns.goImport.lastIndex = 0;
357
+ while ((match = this.patterns.goImport.exec(content)) !== null) {
358
+ const moduleSpec = match[1];
359
+ const packageName = moduleSpec.split('/').pop() || moduleSpec;
360
+ imports.push({
361
+ type: 'default',
362
+ moduleSpecifier: moduleSpec,
363
+ importedNames: [],
364
+ localName: packageName,
365
+ isTypeOnly: false,
366
+ line: this.getLineNumber(content, match.index),
367
+ });
368
+ }
369
+ return imports;
370
+ }
371
+ /**
372
+ * Parse Rust use statements.
373
+ */
374
+ parseRustImports(content, lines) {
375
+ const imports = [];
376
+ let match;
377
+ this.patterns.rustUse.lastIndex = 0;
378
+ while ((match = this.patterns.rustUse.exec(content)) !== null) {
379
+ const usePath = match[1];
380
+ const parts = usePath.split('::');
381
+ const lastName = parts[parts.length - 1];
382
+ imports.push({
383
+ type: lastName === '*' ? 'namespace' : 'named',
384
+ moduleSpecifier: usePath,
385
+ importedNames: lastName === '*' ? ['*'] : [lastName],
386
+ isTypeOnly: false,
387
+ line: this.getLineNumber(content, match.index),
388
+ });
389
+ }
390
+ return imports;
391
+ }
392
+ /**
393
+ * Parse named import list (e.g., "foo, bar as baz").
394
+ */
395
+ parseNamedImportList(importList) {
396
+ return importList
397
+ .split(',')
398
+ .map((name) => name.trim())
399
+ .filter(Boolean)
400
+ .map((name) => {
401
+ // Handle "as" alias
402
+ const parts = name.split(/\s+as\s+/);
403
+ return parts[0].trim();
404
+ });
405
+ }
406
+ /**
407
+ * Get line number from character index.
408
+ */
409
+ getLineNumber(content, index) {
410
+ return content.substring(0, index).split('\n').length;
411
+ }
412
+ /**
413
+ * Get line content from character index.
414
+ */
415
+ getLine(content, index) {
416
+ const lines = content.split('\n');
417
+ const lineNumber = this.getLineNumber(content, index);
418
+ return lines[lineNumber - 1] || '';
419
+ }
420
+ }
421
+ exports.ImportParser = ImportParser;
422
+ //# sourceMappingURL=ImportParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImportParser.js","sourceRoot":"","sources":["../../../src/code-intelligence/graph/ImportParser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Relationship Extractor
3
+ *
4
+ * Extracts code relationships from parsed AST entities
5
+ * to build the knowledge graph.
6
+ *
7
+ * Supports:
8
+ * - Import/export relationships
9
+ * - Class inheritance and interfaces
10
+ * - Function calls
11
+ * - Type references
12
+ */
13
+ import { GraphBuilder } from './GraphBuilder.js';
14
+ import { RelationshipMatch } from './types.js';
15
+ export interface ParsedEntity {
16
+ type: string;
17
+ name: string;
18
+ filePath: string;
19
+ startLine: number;
20
+ endLine: number;
21
+ language: string;
22
+ parent?: string;
23
+ children?: string[];
24
+ references?: string[];
25
+ imports?: Array<{
26
+ name: string;
27
+ source: string;
28
+ }>;
29
+ exports?: string[];
30
+ extends?: string;
31
+ implements?: string[];
32
+ returnType?: string;
33
+ parameters?: Array<{
34
+ name: string;
35
+ type: string;
36
+ }>;
37
+ }
38
+ export interface ExtractionResult {
39
+ /** Number of nodes created */
40
+ nodesCreated: number;
41
+ /** Number of edges created */
42
+ edgesCreated: number;
43
+ /** Relationships found */
44
+ relationships: RelationshipMatch[];
45
+ /** Extraction time (ms) */
46
+ extractionTimeMs: number;
47
+ }
48
+ export declare class RelationshipExtractor {
49
+ private graphBuilder;
50
+ constructor(graphBuilder: GraphBuilder);
51
+ /**
52
+ * Extract relationships from a list of parsed entities.
53
+ */
54
+ extractFromEntities(entities: ParsedEntity[]): ExtractionResult;
55
+ /**
56
+ * Extract file-level containment relationships.
57
+ */
58
+ extractFileContainment(filePath: string, entities: ParsedEntity[]): ExtractionResult;
59
+ /**
60
+ * Extract call relationships by analyzing function bodies.
61
+ * Note: This is a simplified version. Full implementation would
62
+ * need deeper AST analysis.
63
+ */
64
+ extractCalls(callerEntity: ParsedEntity, calleeNames: string[], entities: ParsedEntity[]): ExtractionResult;
65
+ /**
66
+ * Map AST entity type to graph node type.
67
+ */
68
+ private mapEntityType;
69
+ /**
70
+ * Generate unique key for an entity.
71
+ */
72
+ private getEntityKey;
73
+ }
74
+ //# sourceMappingURL=RelationshipExtractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationshipExtractor.d.ts","sourceRoot":"","sources":["../../../src/code-intelligence/graph/RelationshipExtractor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAsB,MAAM,YAAY,CAAC;AAEnE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,gBAAgB;IAC/B,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;IAErB,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;IAErB,0BAA0B;IAC1B,aAAa,EAAE,iBAAiB,EAAE,CAAC;IAEnC,2BAA2B;IAC3B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,YAAY,CAAe;gBAEvB,YAAY,EAAE,YAAY;IAItC;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,gBAAgB;IA2M/D;;OAEG;IACH,sBAAsB,CACpB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,YAAY,EAAE,GACvB,gBAAgB;IAqDnB;;;;OAIG;IACH,YAAY,CACV,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,EAAE,EACrB,QAAQ,EAAE,YAAY,EAAE,GACvB,gBAAgB;IA4DnB;;OAEG;IACH,OAAO,CAAC,aAAa;IA0BrB;;OAEG;IACH,OAAO,CAAC,YAAY;CAGrB"}