@optave/codegraph 3.3.1 → 3.4.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 (1303) hide show
  1. package/README.md +31 -28
  2. package/dist/ast-analysis/engine.d.ts +15 -13
  3. package/dist/ast-analysis/engine.d.ts.map +1 -1
  4. package/dist/ast-analysis/engine.js +40 -26
  5. package/dist/ast-analysis/engine.js.map +1 -1
  6. package/dist/ast-analysis/metrics.d.ts +4 -18
  7. package/dist/ast-analysis/metrics.d.ts.map +1 -1
  8. package/dist/ast-analysis/metrics.js.map +1 -1
  9. package/dist/ast-analysis/rules/csharp.d.ts +6 -23
  10. package/dist/ast-analysis/rules/csharp.d.ts.map +1 -1
  11. package/dist/ast-analysis/rules/csharp.js +0 -3
  12. package/dist/ast-analysis/rules/csharp.js.map +1 -1
  13. package/dist/ast-analysis/rules/go.d.ts +6 -23
  14. package/dist/ast-analysis/rules/go.d.ts.map +1 -1
  15. package/dist/ast-analysis/rules/go.js +0 -3
  16. package/dist/ast-analysis/rules/go.js.map +1 -1
  17. package/dist/ast-analysis/rules/index.d.ts +6 -30
  18. package/dist/ast-analysis/rules/index.d.ts.map +1 -1
  19. package/dist/ast-analysis/rules/index.js +0 -5
  20. package/dist/ast-analysis/rules/index.js.map +1 -1
  21. package/dist/ast-analysis/rules/java.d.ts +6 -23
  22. package/dist/ast-analysis/rules/java.d.ts.map +1 -1
  23. package/dist/ast-analysis/rules/java.js +0 -3
  24. package/dist/ast-analysis/rules/java.js.map +1 -1
  25. package/dist/ast-analysis/rules/javascript.d.ts +6 -30
  26. package/dist/ast-analysis/rules/javascript.d.ts.map +1 -1
  27. package/dist/ast-analysis/rules/javascript.js +0 -5
  28. package/dist/ast-analysis/rules/javascript.js.map +1 -1
  29. package/dist/ast-analysis/rules/php.d.ts +6 -23
  30. package/dist/ast-analysis/rules/php.d.ts.map +1 -1
  31. package/dist/ast-analysis/rules/php.js +0 -3
  32. package/dist/ast-analysis/rules/php.js.map +1 -1
  33. package/dist/ast-analysis/rules/python.d.ts +6 -23
  34. package/dist/ast-analysis/rules/python.d.ts.map +1 -1
  35. package/dist/ast-analysis/rules/python.js +0 -3
  36. package/dist/ast-analysis/rules/python.js.map +1 -1
  37. package/dist/ast-analysis/rules/ruby.d.ts +6 -23
  38. package/dist/ast-analysis/rules/ruby.d.ts.map +1 -1
  39. package/dist/ast-analysis/rules/ruby.js +0 -3
  40. package/dist/ast-analysis/rules/ruby.js.map +1 -1
  41. package/dist/ast-analysis/rules/rust.d.ts +6 -23
  42. package/dist/ast-analysis/rules/rust.d.ts.map +1 -1
  43. package/dist/ast-analysis/rules/rust.js +0 -3
  44. package/dist/ast-analysis/rules/rust.js.map +1 -1
  45. package/dist/ast-analysis/shared.d.ts +11 -105
  46. package/dist/ast-analysis/shared.d.ts.map +1 -1
  47. package/dist/ast-analysis/shared.js +1 -27
  48. package/dist/ast-analysis/shared.js.map +1 -1
  49. package/dist/ast-analysis/visitor-utils.d.ts +36 -11
  50. package/dist/ast-analysis/visitor-utils.d.ts.map +1 -1
  51. package/dist/ast-analysis/visitor-utils.js.map +1 -1
  52. package/dist/ast-analysis/visitor.d.ts +2 -94
  53. package/dist/ast-analysis/visitor.d.ts.map +1 -1
  54. package/dist/ast-analysis/visitor.js +0 -16
  55. package/dist/ast-analysis/visitor.js.map +1 -1
  56. package/dist/ast-analysis/visitors/ast-store-visitor.d.ts +2 -10
  57. package/dist/ast-analysis/visitors/ast-store-visitor.d.ts.map +1 -1
  58. package/dist/ast-analysis/visitors/ast-store-visitor.js +10 -20
  59. package/dist/ast-analysis/visitors/ast-store-visitor.js.map +1 -1
  60. package/dist/ast-analysis/visitors/cfg-visitor.d.ts +4 -7
  61. package/dist/ast-analysis/visitors/cfg-visitor.d.ts.map +1 -1
  62. package/dist/ast-analysis/visitors/cfg-visitor.js +20 -65
  63. package/dist/ast-analysis/visitors/cfg-visitor.js.map +1 -1
  64. package/dist/ast-analysis/visitors/complexity-visitor.d.ts +6 -15
  65. package/dist/ast-analysis/visitors/complexity-visitor.d.ts.map +1 -1
  66. package/dist/ast-analysis/visitors/complexity-visitor.js +6 -41
  67. package/dist/ast-analysis/visitors/complexity-visitor.js.map +1 -1
  68. package/dist/ast-analysis/visitors/dataflow-visitor.d.ts +4 -7
  69. package/dist/ast-analysis/visitors/dataflow-visitor.d.ts.map +1 -1
  70. package/dist/ast-analysis/visitors/dataflow-visitor.js +19 -33
  71. package/dist/ast-analysis/visitors/dataflow-visitor.js.map +1 -1
  72. package/dist/cli/commands/ast.d.ts +2 -8
  73. package/dist/cli/commands/ast.d.ts.map +1 -1
  74. package/dist/cli/commands/ast.js.map +1 -1
  75. package/dist/cli/commands/audit.d.ts +2 -8
  76. package/dist/cli/commands/audit.d.ts.map +1 -1
  77. package/dist/cli/commands/audit.js.map +1 -1
  78. package/dist/cli/commands/batch.d.ts +2 -8
  79. package/dist/cli/commands/batch.d.ts.map +1 -1
  80. package/dist/cli/commands/batch.js +9 -3
  81. package/dist/cli/commands/batch.js.map +1 -1
  82. package/dist/cli/commands/branch-compare.d.ts +2 -6
  83. package/dist/cli/commands/branch-compare.d.ts.map +1 -1
  84. package/dist/cli/commands/branch-compare.js +1 -1
  85. package/dist/cli/commands/branch-compare.js.map +1 -1
  86. package/dist/cli/commands/brief.d.ts +2 -6
  87. package/dist/cli/commands/brief.d.ts.map +1 -1
  88. package/dist/cli/commands/brief.js.map +1 -1
  89. package/dist/cli/commands/build.d.ts +2 -6
  90. package/dist/cli/commands/build.d.ts.map +1 -1
  91. package/dist/cli/commands/build.js +2 -2
  92. package/dist/cli/commands/build.js.map +1 -1
  93. package/dist/cli/commands/cfg.d.ts +2 -9
  94. package/dist/cli/commands/cfg.d.ts.map +1 -1
  95. package/dist/cli/commands/cfg.js.map +1 -1
  96. package/dist/cli/commands/check.d.ts +2 -7
  97. package/dist/cli/commands/check.d.ts.map +1 -1
  98. package/dist/cli/commands/check.js.map +1 -1
  99. package/dist/cli/commands/children.d.ts +2 -8
  100. package/dist/cli/commands/children.d.ts.map +1 -1
  101. package/dist/cli/commands/children.js.map +1 -1
  102. package/dist/cli/commands/co-change.d.ts +2 -6
  103. package/dist/cli/commands/co-change.d.ts.map +1 -1
  104. package/dist/cli/commands/co-change.js +9 -5
  105. package/dist/cli/commands/co-change.js.map +1 -1
  106. package/dist/cli/commands/communities.d.ts +2 -7
  107. package/dist/cli/commands/communities.d.ts.map +1 -1
  108. package/dist/cli/commands/communities.js.map +1 -1
  109. package/dist/cli/commands/complexity.d.ts +2 -8
  110. package/dist/cli/commands/complexity.d.ts.map +1 -1
  111. package/dist/cli/commands/complexity.js.map +1 -1
  112. package/dist/cli/commands/context.d.ts +2 -9
  113. package/dist/cli/commands/context.d.ts.map +1 -1
  114. package/dist/cli/commands/context.js.map +1 -1
  115. package/dist/cli/commands/cycles.d.ts +2 -6
  116. package/dist/cli/commands/cycles.d.ts.map +1 -1
  117. package/dist/cli/commands/cycles.js.map +1 -1
  118. package/dist/cli/commands/dataflow.d.ts +2 -9
  119. package/dist/cli/commands/dataflow.d.ts.map +1 -1
  120. package/dist/cli/commands/dataflow.js.map +1 -1
  121. package/dist/cli/commands/deps.d.ts +2 -7
  122. package/dist/cli/commands/deps.d.ts.map +1 -1
  123. package/dist/cli/commands/deps.js.map +1 -1
  124. package/dist/cli/commands/diff-impact.d.ts +2 -6
  125. package/dist/cli/commands/diff-impact.d.ts.map +1 -1
  126. package/dist/cli/commands/diff-impact.js.map +1 -1
  127. package/dist/cli/commands/embed.d.ts +2 -7
  128. package/dist/cli/commands/embed.d.ts.map +1 -1
  129. package/dist/cli/commands/embed.js +2 -1
  130. package/dist/cli/commands/embed.js.map +1 -1
  131. package/dist/cli/commands/export.d.ts +2 -6
  132. package/dist/cli/commands/export.d.ts.map +1 -1
  133. package/dist/cli/commands/export.js.map +1 -1
  134. package/dist/cli/commands/exports.d.ts +2 -7
  135. package/dist/cli/commands/exports.d.ts.map +1 -1
  136. package/dist/cli/commands/exports.js.map +1 -1
  137. package/dist/cli/commands/flow.d.ts +2 -9
  138. package/dist/cli/commands/flow.d.ts.map +1 -1
  139. package/dist/cli/commands/flow.js.map +1 -1
  140. package/dist/cli/commands/fn-impact.d.ts +2 -9
  141. package/dist/cli/commands/fn-impact.d.ts.map +1 -1
  142. package/dist/cli/commands/fn-impact.js.map +1 -1
  143. package/dist/cli/commands/impact.d.ts +2 -6
  144. package/dist/cli/commands/impact.d.ts.map +1 -1
  145. package/dist/cli/commands/impact.js.map +1 -1
  146. package/dist/cli/commands/implementations.d.ts +2 -9
  147. package/dist/cli/commands/implementations.d.ts.map +1 -1
  148. package/dist/cli/commands/implementations.js.map +1 -1
  149. package/dist/cli/commands/info.d.ts +2 -5
  150. package/dist/cli/commands/info.d.ts.map +1 -1
  151. package/dist/cli/commands/info.js +2 -1
  152. package/dist/cli/commands/info.js.map +1 -1
  153. package/dist/cli/commands/interfaces.d.ts +2 -9
  154. package/dist/cli/commands/interfaces.d.ts.map +1 -1
  155. package/dist/cli/commands/interfaces.js.map +1 -1
  156. package/dist/cli/commands/map.d.ts +2 -6
  157. package/dist/cli/commands/map.d.ts.map +1 -1
  158. package/dist/cli/commands/map.js.map +1 -1
  159. package/dist/cli/commands/mcp.d.ts +2 -6
  160. package/dist/cli/commands/mcp.d.ts.map +1 -1
  161. package/dist/cli/commands/mcp.js +4 -5
  162. package/dist/cli/commands/mcp.js.map +1 -1
  163. package/dist/cli/commands/models.d.ts +2 -5
  164. package/dist/cli/commands/models.d.ts.map +1 -1
  165. package/dist/cli/commands/models.js +5 -3
  166. package/dist/cli/commands/models.js.map +1 -1
  167. package/dist/cli/commands/owners.d.ts +2 -7
  168. package/dist/cli/commands/owners.d.ts.map +1 -1
  169. package/dist/cli/commands/owners.js.map +1 -1
  170. package/dist/cli/commands/path.d.ts +2 -7
  171. package/dist/cli/commands/path.d.ts.map +1 -1
  172. package/dist/cli/commands/path.js.map +1 -1
  173. package/dist/cli/commands/plot.d.ts +2 -6
  174. package/dist/cli/commands/plot.d.ts.map +1 -1
  175. package/dist/cli/commands/plot.js +3 -1
  176. package/dist/cli/commands/plot.js.map +1 -1
  177. package/dist/cli/commands/query.d.ts +2 -9
  178. package/dist/cli/commands/query.d.ts.map +1 -1
  179. package/dist/cli/commands/query.js.map +1 -1
  180. package/dist/cli/commands/registry.d.ts +2 -15
  181. package/dist/cli/commands/registry.d.ts.map +1 -1
  182. package/dist/cli/commands/registry.js.map +1 -1
  183. package/dist/cli/commands/roles.d.ts +2 -8
  184. package/dist/cli/commands/roles.d.ts.map +1 -1
  185. package/dist/cli/commands/roles.js.map +1 -1
  186. package/dist/cli/commands/search.d.ts +2 -8
  187. package/dist/cli/commands/search.d.ts.map +1 -1
  188. package/dist/cli/commands/search.js +1 -5
  189. package/dist/cli/commands/search.js.map +1 -1
  190. package/dist/cli/commands/sequence.d.ts +2 -9
  191. package/dist/cli/commands/sequence.d.ts.map +1 -1
  192. package/dist/cli/commands/sequence.js.map +1 -1
  193. package/dist/cli/commands/snapshot.d.ts +2 -10
  194. package/dist/cli/commands/snapshot.d.ts.map +1 -1
  195. package/dist/cli/commands/snapshot.js.map +1 -1
  196. package/dist/cli/commands/stats.d.ts +2 -6
  197. package/dist/cli/commands/stats.d.ts.map +1 -1
  198. package/dist/cli/commands/stats.js.map +1 -1
  199. package/dist/cli/commands/structure.d.ts +2 -6
  200. package/dist/cli/commands/structure.d.ts.map +1 -1
  201. package/dist/cli/commands/structure.js.map +1 -1
  202. package/dist/cli/commands/triage.d.ts +2 -7
  203. package/dist/cli/commands/triage.d.ts.map +1 -1
  204. package/dist/cli/commands/triage.js.map +1 -1
  205. package/dist/cli/commands/watch.d.ts +2 -5
  206. package/dist/cli/commands/watch.d.ts.map +1 -1
  207. package/dist/cli/commands/watch.js +1 -1
  208. package/dist/cli/commands/watch.js.map +1 -1
  209. package/dist/cli/commands/where.d.ts +2 -8
  210. package/dist/cli/commands/where.d.ts.map +1 -1
  211. package/dist/cli/commands/where.js +1 -1
  212. package/dist/cli/commands/where.js.map +1 -1
  213. package/dist/cli/index.d.ts +8 -17
  214. package/dist/cli/index.d.ts.map +1 -1
  215. package/dist/cli/index.js +27 -7
  216. package/dist/cli/index.js.map +1 -1
  217. package/dist/cli/shared/open-graph.d.ts +4 -7
  218. package/dist/cli/shared/open-graph.d.ts.map +1 -1
  219. package/dist/cli/shared/open-graph.js +0 -4
  220. package/dist/cli/shared/open-graph.js.map +1 -1
  221. package/dist/cli/shared/options.d.ts +8 -15
  222. package/dist/cli/shared/options.d.ts.map +1 -1
  223. package/dist/cli/shared/options.js +0 -2
  224. package/dist/cli/shared/options.js.map +1 -1
  225. package/dist/cli/shared/output.d.ts +1 -1
  226. package/dist/cli/shared/output.d.ts.map +1 -1
  227. package/dist/cli/shared/output.js.map +1 -1
  228. package/dist/cli/types.d.ts +30 -0
  229. package/dist/cli/types.d.ts.map +1 -0
  230. package/dist/cli/types.js +2 -0
  231. package/dist/cli/types.js.map +1 -0
  232. package/dist/cli.d.ts.map +1 -1
  233. package/dist/cli.js +2 -1
  234. package/dist/cli.js.map +1 -1
  235. package/dist/db/connection.d.ts +15 -19
  236. package/dist/db/connection.d.ts.map +1 -1
  237. package/dist/db/connection.js +2 -10
  238. package/dist/db/connection.js.map +1 -1
  239. package/dist/db/index.d.ts +5 -4
  240. package/dist/db/index.d.ts.map +1 -1
  241. package/dist/db/index.js +1 -1
  242. package/dist/db/index.js.map +1 -1
  243. package/dist/db/migrations.d.ts +8 -5
  244. package/dist/db/migrations.d.ts.map +1 -1
  245. package/dist/db/migrations.js +6 -3
  246. package/dist/db/migrations.js.map +1 -1
  247. package/dist/db/query-builder.d.ts +28 -46
  248. package/dist/db/query-builder.d.ts.map +1 -1
  249. package/dist/db/query-builder.js +2 -21
  250. package/dist/db/query-builder.js.map +1 -1
  251. package/dist/db/repository/base.d.ts +38 -101
  252. package/dist/db/repository/base.d.ts.map +1 -1
  253. package/dist/db/repository/base.js +6 -38
  254. package/dist/db/repository/base.js.map +1 -1
  255. package/dist/db/repository/build-stmts.d.ts +7 -16
  256. package/dist/db/repository/build-stmts.d.ts.map +1 -1
  257. package/dist/db/repository/build-stmts.js +0 -17
  258. package/dist/db/repository/build-stmts.js.map +1 -1
  259. package/dist/db/repository/cached-stmt.d.ts +2 -6
  260. package/dist/db/repository/cached-stmt.d.ts.map +1 -1
  261. package/dist/db/repository/cached-stmt.js +0 -5
  262. package/dist/db/repository/cached-stmt.js.map +1 -1
  263. package/dist/db/repository/cfg.d.ts +21 -14
  264. package/dist/db/repository/cfg.d.ts.map +1 -1
  265. package/dist/db/repository/cfg.js +0 -11
  266. package/dist/db/repository/cfg.js.map +1 -1
  267. package/dist/db/repository/cochange.d.ts +4 -10
  268. package/dist/db/repository/cochange.d.ts.map +1 -1
  269. package/dist/db/repository/cochange.js +0 -7
  270. package/dist/db/repository/cochange.js.map +1 -1
  271. package/dist/db/repository/complexity.d.ts +2 -10
  272. package/dist/db/repository/complexity.d.ts.map +1 -1
  273. package/dist/db/repository/complexity.js +0 -3
  274. package/dist/db/repository/complexity.js.map +1 -1
  275. package/dist/db/repository/dataflow.d.ts +2 -3
  276. package/dist/db/repository/dataflow.d.ts.map +1 -1
  277. package/dist/db/repository/dataflow.js +2 -3
  278. package/dist/db/repository/dataflow.js.map +1 -1
  279. package/dist/db/repository/edges.d.ts +25 -132
  280. package/dist/db/repository/edges.d.ts.map +1 -1
  281. package/dist/db/repository/edges.js +2 -58
  282. package/dist/db/repository/edges.js.map +1 -1
  283. package/dist/db/repository/embeddings.d.ts +4 -10
  284. package/dist/db/repository/embeddings.d.ts.map +1 -1
  285. package/dist/db/repository/embeddings.js +1 -8
  286. package/dist/db/repository/embeddings.js.map +1 -1
  287. package/dist/db/repository/graph-read.d.ts +5 -28
  288. package/dist/db/repository/graph-read.d.ts.map +1 -1
  289. package/dist/db/repository/graph-read.js +0 -8
  290. package/dist/db/repository/graph-read.js.map +1 -1
  291. package/dist/db/repository/in-memory-repository.d.ts +73 -141
  292. package/dist/db/repository/in-memory-repository.d.ts.map +1 -1
  293. package/dist/db/repository/in-memory-repository.js +28 -20
  294. package/dist/db/repository/in-memory-repository.js.map +1 -1
  295. package/dist/db/repository/index.d.ts +13 -13
  296. package/dist/db/repository/index.d.ts.map +1 -1
  297. package/dist/db/repository/index.js +1 -1
  298. package/dist/db/repository/index.js.map +1 -1
  299. package/dist/db/repository/nodes.d.ts +40 -105
  300. package/dist/db/repository/nodes.d.ts.map +1 -1
  301. package/dist/db/repository/nodes.js +29 -74
  302. package/dist/db/repository/nodes.js.map +1 -1
  303. package/dist/db/repository/sqlite-repository.d.ts +48 -93
  304. package/dist/db/repository/sqlite-repository.d.ts.map +1 -1
  305. package/dist/db/repository/sqlite-repository.js +7 -2
  306. package/dist/db/repository/sqlite-repository.js.map +1 -1
  307. package/dist/domain/analysis/brief.d.ts +16 -7
  308. package/dist/domain/analysis/brief.d.ts.map +1 -1
  309. package/dist/domain/analysis/brief.js +3 -8
  310. package/dist/domain/analysis/brief.js.map +1 -1
  311. package/dist/domain/analysis/context.d.ts +240 -2
  312. package/dist/domain/analysis/context.d.ts.map +1 -1
  313. package/dist/domain/analysis/context.js +39 -32
  314. package/dist/domain/analysis/context.js.map +1 -1
  315. package/dist/domain/analysis/dependencies.d.ts +113 -37
  316. package/dist/domain/analysis/dependencies.d.ts.map +1 -1
  317. package/dist/domain/analysis/dependencies.js +20 -27
  318. package/dist/domain/analysis/dependencies.js.map +1 -1
  319. package/dist/domain/analysis/exports.d.ts +7 -1
  320. package/dist/domain/analysis/exports.d.ts.map +1 -1
  321. package/dist/domain/analysis/exports.js +48 -33
  322. package/dist/domain/analysis/exports.js.map +1 -1
  323. package/dist/domain/analysis/impact.d.ts +128 -16
  324. package/dist/domain/analysis/impact.d.ts.map +1 -1
  325. package/dist/domain/analysis/impact.js +14 -54
  326. package/dist/domain/analysis/impact.js.map +1 -1
  327. package/dist/domain/analysis/implementations.d.ts +28 -28
  328. package/dist/domain/analysis/implementations.d.ts.map +1 -1
  329. package/dist/domain/analysis/implementations.js +0 -10
  330. package/dist/domain/analysis/implementations.js.map +1 -1
  331. package/dist/domain/analysis/module-map.d.ts +44 -24
  332. package/dist/domain/analysis/module-map.d.ts.map +1 -1
  333. package/dist/domain/analysis/module-map.js +19 -7
  334. package/dist/domain/analysis/module-map.js.map +1 -1
  335. package/dist/domain/analysis/roles.d.ts +13 -1
  336. package/dist/domain/analysis/roles.d.ts.map +1 -1
  337. package/dist/domain/analysis/roles.js +10 -2
  338. package/dist/domain/analysis/roles.js.map +1 -1
  339. package/dist/domain/analysis/symbol-lookup.d.ts +120 -7
  340. package/dist/domain/analysis/symbol-lookup.d.ts.map +1 -1
  341. package/dist/domain/analysis/symbol-lookup.js +11 -7
  342. package/dist/domain/analysis/symbol-lookup.js.map +1 -1
  343. package/dist/domain/graph/builder/context.d.ts +32 -67
  344. package/dist/domain/graph/builder/context.d.ts.map +1 -1
  345. package/dist/domain/graph/builder/context.js +0 -36
  346. package/dist/domain/graph/builder/context.js.map +1 -1
  347. package/dist/domain/graph/builder/helpers.d.ts +14 -14
  348. package/dist/domain/graph/builder/helpers.d.ts.map +1 -1
  349. package/dist/domain/graph/builder/helpers.js +62 -23
  350. package/dist/domain/graph/builder/helpers.js.map +1 -1
  351. package/dist/domain/graph/builder/incremental.d.ts +50 -13
  352. package/dist/domain/graph/builder/incremental.d.ts.map +1 -1
  353. package/dist/domain/graph/builder/incremental.js +10 -19
  354. package/dist/domain/graph/builder/incremental.js.map +1 -1
  355. package/dist/domain/graph/builder/pipeline.d.ts +2 -7
  356. package/dist/domain/graph/builder/pipeline.d.ts.map +1 -1
  357. package/dist/domain/graph/builder/pipeline.js +21 -19
  358. package/dist/domain/graph/builder/pipeline.js.map +1 -1
  359. package/dist/domain/graph/builder/stages/build-edges.d.ts +2 -4
  360. package/dist/domain/graph/builder/stages/build-edges.d.ts.map +1 -1
  361. package/dist/domain/graph/builder/stages/build-edges.js +6 -12
  362. package/dist/domain/graph/builder/stages/build-edges.js.map +1 -1
  363. package/dist/domain/graph/builder/stages/build-structure.d.ts +2 -4
  364. package/dist/domain/graph/builder/stages/build-structure.d.ts.map +1 -1
  365. package/dist/domain/graph/builder/stages/build-structure.js +8 -8
  366. package/dist/domain/graph/builder/stages/build-structure.js.map +1 -1
  367. package/dist/domain/graph/builder/stages/collect-files.d.ts +2 -4
  368. package/dist/domain/graph/builder/stages/collect-files.d.ts.map +1 -1
  369. package/dist/domain/graph/builder/stages/collect-files.js +0 -3
  370. package/dist/domain/graph/builder/stages/collect-files.js.map +1 -1
  371. package/dist/domain/graph/builder/stages/detect-changes.d.ts +2 -4
  372. package/dist/domain/graph/builder/stages/detect-changes.d.ts.map +1 -1
  373. package/dist/domain/graph/builder/stages/detect-changes.js +38 -45
  374. package/dist/domain/graph/builder/stages/detect-changes.js.map +1 -1
  375. package/dist/domain/graph/builder/stages/finalize.d.ts +2 -4
  376. package/dist/domain/graph/builder/stages/finalize.d.ts.map +1 -1
  377. package/dist/domain/graph/builder/stages/finalize.js +45 -26
  378. package/dist/domain/graph/builder/stages/finalize.js.map +1 -1
  379. package/dist/domain/graph/builder/stages/insert-nodes.d.ts +2 -4
  380. package/dist/domain/graph/builder/stages/insert-nodes.d.ts.map +1 -1
  381. package/dist/domain/graph/builder/stages/insert-nodes.js +57 -33
  382. package/dist/domain/graph/builder/stages/insert-nodes.js.map +1 -1
  383. package/dist/domain/graph/builder/stages/parse-files.d.ts +2 -4
  384. package/dist/domain/graph/builder/stages/parse-files.d.ts.map +1 -1
  385. package/dist/domain/graph/builder/stages/parse-files.js +0 -3
  386. package/dist/domain/graph/builder/stages/parse-files.js.map +1 -1
  387. package/dist/domain/graph/builder/stages/resolve-imports.d.ts +5 -17
  388. package/dist/domain/graph/builder/stages/resolve-imports.d.ts.map +1 -1
  389. package/dist/domain/graph/builder/stages/resolve-imports.js +0 -22
  390. package/dist/domain/graph/builder/stages/resolve-imports.js.map +1 -1
  391. package/dist/domain/graph/builder/stages/run-analyses.d.ts +2 -4
  392. package/dist/domain/graph/builder/stages/run-analyses.d.ts.map +1 -1
  393. package/dist/domain/graph/builder/stages/run-analyses.js +3 -4
  394. package/dist/domain/graph/builder/stages/run-analyses.js.map +1 -1
  395. package/dist/domain/graph/builder.d.ts +3 -3
  396. package/dist/domain/graph/builder.d.ts.map +1 -1
  397. package/dist/domain/graph/builder.js.map +1 -1
  398. package/dist/domain/graph/change-journal.d.ts +39 -46
  399. package/dist/domain/graph/change-journal.d.ts.map +1 -1
  400. package/dist/domain/graph/change-journal.js +1 -24
  401. package/dist/domain/graph/change-journal.js.map +1 -1
  402. package/dist/domain/graph/cycles.d.ts +10 -17
  403. package/dist/domain/graph/cycles.d.ts.map +1 -1
  404. package/dist/domain/graph/cycles.js +4 -24
  405. package/dist/domain/graph/cycles.js.map +1 -1
  406. package/dist/domain/graph/journal.d.ts +13 -25
  407. package/dist/domain/graph/journal.d.ts.map +1 -1
  408. package/dist/domain/graph/journal.js +0 -14
  409. package/dist/domain/graph/journal.js.map +1 -1
  410. package/dist/domain/graph/resolve.d.ts +20 -25
  411. package/dist/domain/graph/resolve.d.ts.map +1 -1
  412. package/dist/domain/graph/resolve.js +62 -9
  413. package/dist/domain/graph/resolve.js.map +1 -1
  414. package/dist/domain/graph/watcher.d.ts +3 -1
  415. package/dist/domain/graph/watcher.d.ts.map +1 -1
  416. package/dist/domain/graph/watcher.js +14 -6
  417. package/dist/domain/graph/watcher.js.map +1 -1
  418. package/dist/domain/parser.d.ts +26 -72
  419. package/dist/domain/parser.d.ts.map +1 -1
  420. package/dist/domain/parser.js +38 -46
  421. package/dist/domain/parser.js.map +1 -1
  422. package/dist/domain/queries.d.ts +20 -13
  423. package/dist/domain/queries.d.ts.map +1 -1
  424. package/dist/domain/queries.js +1 -1
  425. package/dist/domain/queries.js.map +1 -1
  426. package/dist/domain/search/generator.d.ts +5 -9
  427. package/dist/domain/search/generator.d.ts.map +1 -1
  428. package/dist/domain/search/generator.js +4 -8
  429. package/dist/domain/search/generator.js.map +1 -1
  430. package/dist/domain/search/index.d.ts +14 -7
  431. package/dist/domain/search/index.d.ts.map +1 -1
  432. package/dist/domain/search/index.js.map +1 -1
  433. package/dist/domain/search/models.d.ts +17 -60
  434. package/dist/domain/search/models.d.ts.map +1 -1
  435. package/dist/domain/search/models.js +13 -9
  436. package/dist/domain/search/models.js.map +1 -1
  437. package/dist/domain/search/search/cli-formatter.d.ts +9 -5
  438. package/dist/domain/search/search/cli-formatter.d.ts.map +1 -1
  439. package/dist/domain/search/search/cli-formatter.js +4 -10
  440. package/dist/domain/search/search/cli-formatter.js.map +1 -1
  441. package/dist/domain/search/search/filters.d.ts +8 -18
  442. package/dist/domain/search/search/filters.d.ts.map +1 -1
  443. package/dist/domain/search/search/filters.js +0 -17
  444. package/dist/domain/search/search/filters.js.map +1 -1
  445. package/dist/domain/search/search/hybrid.d.ts +20 -21
  446. package/dist/domain/search/search/hybrid.d.ts.map +1 -1
  447. package/dist/domain/search/search/hybrid.js +2 -13
  448. package/dist/domain/search/search/hybrid.js.map +1 -1
  449. package/dist/domain/search/search/keyword.d.ts +13 -12
  450. package/dist/domain/search/search/keyword.d.ts.map +1 -1
  451. package/dist/domain/search/search/keyword.js +2 -10
  452. package/dist/domain/search/search/keyword.js.map +1 -1
  453. package/dist/domain/search/search/prepare.d.ts +23 -11
  454. package/dist/domain/search/search/prepare.d.ts.map +1 -1
  455. package/dist/domain/search/search/prepare.js +0 -7
  456. package/dist/domain/search/search/prepare.js.map +1 -1
  457. package/dist/domain/search/search/semantic.d.ts +36 -29
  458. package/dist/domain/search/search/semantic.d.ts.map +1 -1
  459. package/dist/domain/search/search/semantic.js +3 -17
  460. package/dist/domain/search/search/semantic.js.map +1 -1
  461. package/dist/domain/search/stores/fts5.d.ts +3 -4
  462. package/dist/domain/search/stores/fts5.d.ts.map +1 -1
  463. package/dist/domain/search/stores/fts5.js +1 -5
  464. package/dist/domain/search/stores/fts5.js.map +1 -1
  465. package/dist/domain/search/stores/sqlite-blob.d.ts +1 -23
  466. package/dist/domain/search/stores/sqlite-blob.d.ts.map +1 -1
  467. package/dist/domain/search/stores/sqlite-blob.js +3 -9
  468. package/dist/domain/search/stores/sqlite-blob.js.map +1 -1
  469. package/dist/domain/search/strategies/source.d.ts +2 -1
  470. package/dist/domain/search/strategies/source.d.ts.map +1 -1
  471. package/dist/domain/search/strategies/source.js.map +1 -1
  472. package/dist/domain/search/strategies/structured.d.ts +6 -2
  473. package/dist/domain/search/strategies/structured.d.ts.map +1 -1
  474. package/dist/domain/search/strategies/structured.js +0 -5
  475. package/dist/domain/search/strategies/structured.js.map +1 -1
  476. package/dist/domain/search/strategies/text-utils.d.ts +3 -5
  477. package/dist/domain/search/strategies/text-utils.d.ts.map +1 -1
  478. package/dist/domain/search/strategies/text-utils.js +5 -7
  479. package/dist/domain/search/strategies/text-utils.js.map +1 -1
  480. package/dist/extractors/csharp.d.ts +2 -8
  481. package/dist/extractors/csharp.d.ts.map +1 -1
  482. package/dist/extractors/csharp.js +30 -19
  483. package/dist/extractors/csharp.js.map +1 -1
  484. package/dist/extractors/go.d.ts +2 -8
  485. package/dist/extractors/go.d.ts.map +1 -1
  486. package/dist/extractors/go.js +72 -10
  487. package/dist/extractors/go.js.map +1 -1
  488. package/dist/extractors/hcl.d.ts +2 -7
  489. package/dist/extractors/hcl.d.ts.map +1 -1
  490. package/dist/extractors/hcl.js +25 -16
  491. package/dist/extractors/hcl.js.map +1 -1
  492. package/dist/extractors/helpers.d.ts +7 -6
  493. package/dist/extractors/helpers.d.ts.map +1 -1
  494. package/dist/extractors/helpers.js +6 -5
  495. package/dist/extractors/helpers.js.map +1 -1
  496. package/dist/extractors/index.d.ts +9 -9
  497. package/dist/extractors/index.d.ts.map +1 -1
  498. package/dist/extractors/index.js.map +1 -1
  499. package/dist/extractors/java.d.ts +2 -8
  500. package/dist/extractors/java.d.ts.map +1 -1
  501. package/dist/extractors/java.js +7 -4
  502. package/dist/extractors/java.js.map +1 -1
  503. package/dist/extractors/javascript.d.ts +2 -75
  504. package/dist/extractors/javascript.d.ts.map +1 -1
  505. package/dist/extractors/javascript.js +62 -59
  506. package/dist/extractors/javascript.js.map +1 -1
  507. package/dist/extractors/php.d.ts +2 -8
  508. package/dist/extractors/php.d.ts.map +1 -1
  509. package/dist/extractors/php.js +13 -7
  510. package/dist/extractors/php.js.map +1 -1
  511. package/dist/extractors/python.d.ts +2 -8
  512. package/dist/extractors/python.d.ts.map +1 -1
  513. package/dist/extractors/python.js +23 -11
  514. package/dist/extractors/python.js.map +1 -1
  515. package/dist/extractors/ruby.d.ts +2 -7
  516. package/dist/extractors/ruby.d.ts.map +1 -1
  517. package/dist/extractors/ruby.js +8 -4
  518. package/dist/extractors/ruby.js.map +1 -1
  519. package/dist/extractors/rust.d.ts +2 -8
  520. package/dist/extractors/rust.d.ts.map +1 -1
  521. package/dist/extractors/rust.js +8 -5
  522. package/dist/extractors/rust.js.map +1 -1
  523. package/dist/features/ast.d.ts +59 -28
  524. package/dist/features/ast.d.ts.map +1 -1
  525. package/dist/features/ast.js +14 -53
  526. package/dist/features/ast.js.map +1 -1
  527. package/dist/features/audit.d.ts +13 -4
  528. package/dist/features/audit.d.ts.map +1 -1
  529. package/dist/features/audit.js +12 -21
  530. package/dist/features/audit.js.map +1 -1
  531. package/dist/features/batch.d.ts +44 -100
  532. package/dist/features/batch.d.ts.map +1 -1
  533. package/dist/features/batch.js +0 -41
  534. package/dist/features/batch.js.map +1 -1
  535. package/dist/features/boundaries.d.ts +42 -60
  536. package/dist/features/boundaries.d.ts.map +1 -1
  537. package/dist/features/boundaries.js +9 -87
  538. package/dist/features/boundaries.js.map +1 -1
  539. package/dist/features/branch-compare.d.ts +69 -50
  540. package/dist/features/branch-compare.d.ts.map +1 -1
  541. package/dist/features/branch-compare.js +27 -51
  542. package/dist/features/branch-compare.js.map +1 -1
  543. package/dist/features/cfg.d.ts +70 -48
  544. package/dist/features/cfg.d.ts.map +1 -1
  545. package/dist/features/cfg.js +81 -59
  546. package/dist/features/cfg.js.map +1 -1
  547. package/dist/features/check.d.ts +75 -90
  548. package/dist/features/check.d.ts.map +1 -1
  549. package/dist/features/check.js +2 -47
  550. package/dist/features/check.js.map +1 -1
  551. package/dist/features/cochange.d.ts +47 -98
  552. package/dist/features/cochange.d.ts.map +1 -1
  553. package/dist/features/cochange.js +10 -63
  554. package/dist/features/cochange.js.map +1 -1
  555. package/dist/features/communities.d.ts +18 -34
  556. package/dist/features/communities.d.ts.map +1 -1
  557. package/dist/features/communities.js +13 -41
  558. package/dist/features/communities.js.map +1 -1
  559. package/dist/features/complexity.d.ts +64 -117
  560. package/dist/features/complexity.d.ts.map +1 -1
  561. package/dist/features/complexity.js +58 -110
  562. package/dist/features/complexity.js.map +1 -1
  563. package/dist/features/dataflow.d.ts +56 -65
  564. package/dist/features/dataflow.d.ts.map +1 -1
  565. package/dist/features/dataflow.js +24 -55
  566. package/dist/features/dataflow.js.map +1 -1
  567. package/dist/features/export.d.ts +16 -9
  568. package/dist/features/export.d.ts.map +1 -1
  569. package/dist/features/export.js +20 -16
  570. package/dist/features/export.js.map +1 -1
  571. package/dist/features/flow.d.ts +17 -45
  572. package/dist/features/flow.d.ts.map +1 -1
  573. package/dist/features/flow.js +4 -27
  574. package/dist/features/flow.js.map +1 -1
  575. package/dist/features/graph-enrichment.d.ts +43 -53
  576. package/dist/features/graph-enrichment.d.ts.map +1 -1
  577. package/dist/features/graph-enrichment.js +15 -18
  578. package/dist/features/graph-enrichment.js.map +1 -1
  579. package/dist/features/manifesto.d.ts +18 -41
  580. package/dist/features/manifesto.d.ts.map +1 -1
  581. package/dist/features/manifesto.js +22 -39
  582. package/dist/features/manifesto.js.map +1 -1
  583. package/dist/features/owners.d.ts +44 -98
  584. package/dist/features/owners.d.ts.map +1 -1
  585. package/dist/features/owners.js +2 -54
  586. package/dist/features/owners.js.map +1 -1
  587. package/dist/features/sequence.d.ts +41 -32
  588. package/dist/features/sequence.d.ts.map +1 -1
  589. package/dist/features/sequence.js +7 -36
  590. package/dist/features/sequence.js.map +1 -1
  591. package/dist/features/shared/find-nodes.d.ts +6 -10
  592. package/dist/features/shared/find-nodes.d.ts.map +1 -1
  593. package/dist/features/shared/find-nodes.js +1 -10
  594. package/dist/features/shared/find-nodes.js.map +1 -1
  595. package/dist/features/snapshot.d.ts +16 -55
  596. package/dist/features/snapshot.d.ts.map +1 -1
  597. package/dist/features/snapshot.js +2 -40
  598. package/dist/features/snapshot.js.map +1 -1
  599. package/dist/features/structure.d.ts +80 -28
  600. package/dist/features/structure.d.ts.map +1 -1
  601. package/dist/features/structure.js +64 -76
  602. package/dist/features/structure.js.map +1 -1
  603. package/dist/features/triage.d.ts +45 -11
  604. package/dist/features/triage.d.ts.map +1 -1
  605. package/dist/features/triage.js +10 -27
  606. package/dist/features/triage.js.map +1 -1
  607. package/dist/graph/algorithms/bfs.d.ts +7 -8
  608. package/dist/graph/algorithms/bfs.d.ts.map +1 -1
  609. package/dist/graph/algorithms/bfs.js +1 -4
  610. package/dist/graph/algorithms/bfs.js.map +1 -1
  611. package/dist/graph/algorithms/centrality.d.ts +6 -7
  612. package/dist/graph/algorithms/centrality.d.ts.map +1 -1
  613. package/dist/graph/algorithms/centrality.js +0 -3
  614. package/dist/graph/algorithms/centrality.js.map +1 -1
  615. package/dist/graph/algorithms/index.d.ts +6 -5
  616. package/dist/graph/algorithms/index.d.ts.map +1 -1
  617. package/dist/graph/algorithms/index.js +1 -0
  618. package/dist/graph/algorithms/index.js.map +1 -1
  619. package/dist/graph/algorithms/leiden/adapter.d.ts +37 -0
  620. package/dist/graph/algorithms/leiden/adapter.d.ts.map +1 -0
  621. package/dist/graph/algorithms/leiden/adapter.js +165 -0
  622. package/dist/graph/algorithms/leiden/adapter.js.map +1 -0
  623. package/dist/graph/algorithms/leiden/cpm.d.ts +28 -0
  624. package/dist/graph/algorithms/leiden/cpm.d.ts.map +1 -0
  625. package/dist/graph/algorithms/leiden/cpm.js +48 -0
  626. package/dist/graph/algorithms/leiden/cpm.js.map +1 -0
  627. package/dist/graph/algorithms/leiden/index.d.ts +37 -0
  628. package/dist/graph/algorithms/leiden/index.d.ts.map +1 -0
  629. package/dist/graph/algorithms/leiden/index.js +142 -0
  630. package/dist/graph/algorithms/leiden/index.js.map +1 -0
  631. package/dist/graph/algorithms/leiden/modularity.d.ts +33 -0
  632. package/dist/graph/algorithms/leiden/modularity.d.ts.map +1 -0
  633. package/dist/graph/algorithms/leiden/modularity.js +80 -0
  634. package/dist/graph/algorithms/leiden/modularity.js.map +1 -0
  635. package/dist/graph/algorithms/leiden/optimiser.d.ts +62 -0
  636. package/dist/graph/algorithms/leiden/optimiser.d.ts.map +1 -0
  637. package/dist/graph/algorithms/leiden/optimiser.js +498 -0
  638. package/dist/graph/algorithms/leiden/optimiser.js.map +1 -0
  639. package/dist/graph/algorithms/leiden/partition.d.ts +44 -0
  640. package/dist/graph/algorithms/leiden/partition.d.ts.map +1 -0
  641. package/dist/graph/algorithms/leiden/partition.js +433 -0
  642. package/dist/graph/algorithms/leiden/partition.js.map +1 -0
  643. package/dist/graph/algorithms/leiden/rng.d.ts +9 -0
  644. package/dist/graph/algorithms/leiden/rng.d.ts.map +1 -0
  645. package/dist/graph/algorithms/leiden/rng.js +17 -0
  646. package/dist/graph/algorithms/leiden/rng.js.map +1 -0
  647. package/dist/graph/algorithms/louvain.d.ts +20 -4
  648. package/dist/graph/algorithms/louvain.d.ts.map +1 -1
  649. package/dist/graph/algorithms/louvain.js +15 -14
  650. package/dist/graph/algorithms/louvain.js.map +1 -1
  651. package/dist/graph/algorithms/shortest-path.d.ts +3 -5
  652. package/dist/graph/algorithms/shortest-path.d.ts.map +1 -1
  653. package/dist/graph/algorithms/shortest-path.js +2 -5
  654. package/dist/graph/algorithms/shortest-path.js.map +1 -1
  655. package/dist/graph/algorithms/tarjan.d.ts +3 -3
  656. package/dist/graph/algorithms/tarjan.d.ts.map +1 -1
  657. package/dist/graph/algorithms/tarjan.js +1 -2
  658. package/dist/graph/algorithms/tarjan.js.map +1 -1
  659. package/dist/graph/builders/dependency.d.ts +14 -11
  660. package/dist/graph/builders/dependency.d.ts.map +1 -1
  661. package/dist/graph/builders/dependency.js +2 -6
  662. package/dist/graph/builders/dependency.js.map +1 -1
  663. package/dist/graph/builders/index.d.ts +3 -3
  664. package/dist/graph/builders/index.d.ts.map +1 -1
  665. package/dist/graph/builders/index.js.map +1 -1
  666. package/dist/graph/builders/structure.d.ts +6 -3
  667. package/dist/graph/builders/structure.d.ts.map +1 -1
  668. package/dist/graph/builders/structure.js +5 -4
  669. package/dist/graph/builders/structure.js.map +1 -1
  670. package/dist/graph/builders/temporal.d.ts +9 -6
  671. package/dist/graph/builders/temporal.d.ts.map +1 -1
  672. package/dist/graph/builders/temporal.js +1 -3
  673. package/dist/graph/builders/temporal.js.map +1 -1
  674. package/dist/graph/classifiers/index.d.ts +2 -2
  675. package/dist/graph/classifiers/index.d.ts.map +1 -1
  676. package/dist/graph/classifiers/index.js.map +1 -1
  677. package/dist/graph/classifiers/risk.d.ts +25 -35
  678. package/dist/graph/classifiers/risk.d.ts.map +1 -1
  679. package/dist/graph/classifiers/risk.js +10 -16
  680. package/dist/graph/classifiers/risk.js.map +1 -1
  681. package/dist/graph/classifiers/roles.d.ts +19 -15
  682. package/dist/graph/classifiers/roles.d.ts.map +1 -1
  683. package/dist/graph/classifiers/roles.js +4 -7
  684. package/dist/graph/classifiers/roles.js.map +1 -1
  685. package/dist/graph/index.d.ts +4 -4
  686. package/dist/graph/index.d.ts.map +1 -1
  687. package/dist/graph/index.js.map +1 -1
  688. package/dist/graph/model.d.ts +39 -37
  689. package/dist/graph/model.d.ts.map +1 -1
  690. package/dist/graph/model.js +4 -25
  691. package/dist/graph/model.js.map +1 -1
  692. package/dist/index.cjs +0 -2
  693. package/dist/index.d.ts +35 -25
  694. package/dist/index.d.ts.map +1 -1
  695. package/dist/index.js.map +1 -1
  696. package/dist/infrastructure/config.d.ts +177 -210
  697. package/dist/infrastructure/config.d.ts.map +1 -1
  698. package/dist/infrastructure/config.js +22 -10
  699. package/dist/infrastructure/config.js.map +1 -1
  700. package/dist/infrastructure/logger.d.ts +6 -6
  701. package/dist/infrastructure/logger.d.ts.map +1 -1
  702. package/dist/infrastructure/logger.js.map +1 -1
  703. package/dist/infrastructure/native.d.ts +12 -4
  704. package/dist/infrastructure/native.d.ts.map +1 -1
  705. package/dist/infrastructure/native.js +2 -2
  706. package/dist/infrastructure/native.js.map +1 -1
  707. package/dist/infrastructure/registry.d.ts +34 -22
  708. package/dist/infrastructure/registry.d.ts.map +1 -1
  709. package/dist/infrastructure/registry.js +1 -1
  710. package/dist/infrastructure/registry.js.map +1 -1
  711. package/dist/infrastructure/result-formatter.d.ts +1 -1
  712. package/dist/infrastructure/result-formatter.d.ts.map +1 -1
  713. package/dist/infrastructure/result-formatter.js.map +1 -1
  714. package/dist/infrastructure/test-filter.d.ts +3 -3
  715. package/dist/infrastructure/test-filter.d.ts.map +1 -1
  716. package/dist/infrastructure/test-filter.js.map +1 -1
  717. package/dist/infrastructure/update-check.d.ts +12 -10
  718. package/dist/infrastructure/update-check.d.ts.map +1 -1
  719. package/dist/infrastructure/update-check.js +3 -7
  720. package/dist/infrastructure/update-check.js.map +1 -1
  721. package/dist/mcp/index.d.ts +2 -2
  722. package/dist/mcp/index.d.ts.map +1 -1
  723. package/dist/mcp/index.js.map +1 -1
  724. package/dist/mcp/middleware.d.ts +13 -13
  725. package/dist/mcp/middleware.d.ts.map +1 -1
  726. package/dist/mcp/middleware.js +0 -6
  727. package/dist/mcp/middleware.js.map +1 -1
  728. package/dist/mcp/server.d.ts +21 -1
  729. package/dist/mcp/server.d.ts.map +1 -1
  730. package/dist/mcp/server.js +79 -13
  731. package/dist/mcp/server.js.map +1 -1
  732. package/dist/mcp/tool-registry.d.ts +17 -4
  733. package/dist/mcp/tool-registry.d.ts.map +1 -1
  734. package/dist/mcp/tool-registry.js +0 -3
  735. package/dist/mcp/tool-registry.js.map +1 -1
  736. package/dist/mcp/tools/ast-query.d.ts +13 -8
  737. package/dist/mcp/tools/ast-query.d.ts.map +1 -1
  738. package/dist/mcp/tools/ast-query.js.map +1 -1
  739. package/dist/mcp/tools/audit.d.ts +14 -2
  740. package/dist/mcp/tools/audit.d.ts.map +1 -1
  741. package/dist/mcp/tools/audit.js +1 -1
  742. package/dist/mcp/tools/audit.js.map +1 -1
  743. package/dist/mcp/tools/batch-query.d.ts +11 -7
  744. package/dist/mcp/tools/batch-query.d.ts.map +1 -1
  745. package/dist/mcp/tools/batch-query.js.map +1 -1
  746. package/dist/mcp/tools/branch-compare.d.ts +11 -2
  747. package/dist/mcp/tools/branch-compare.d.ts.map +1 -1
  748. package/dist/mcp/tools/branch-compare.js.map +1 -1
  749. package/dist/mcp/tools/brief.d.ts +8 -2
  750. package/dist/mcp/tools/brief.d.ts.map +1 -1
  751. package/dist/mcp/tools/brief.js.map +1 -1
  752. package/dist/mcp/tools/cfg.d.ts +13 -9
  753. package/dist/mcp/tools/cfg.d.ts.map +1 -1
  754. package/dist/mcp/tools/cfg.js +1 -1
  755. package/dist/mcp/tools/cfg.js.map +1 -1
  756. package/dist/mcp/tools/check.d.ts +19 -23
  757. package/dist/mcp/tools/check.d.ts.map +1 -1
  758. package/dist/mcp/tools/check.js +2 -2
  759. package/dist/mcp/tools/check.js.map +1 -1
  760. package/dist/mcp/tools/co-changes.d.ts +11 -9
  761. package/dist/mcp/tools/co-changes.d.ts.map +1 -1
  762. package/dist/mcp/tools/co-changes.js.map +1 -1
  763. package/dist/mcp/tools/code-owners.d.ts +11 -47
  764. package/dist/mcp/tools/code-owners.d.ts.map +1 -1
  765. package/dist/mcp/tools/code-owners.js.map +1 -1
  766. package/dist/mcp/tools/communities.d.ts +12 -7
  767. package/dist/mcp/tools/communities.d.ts.map +1 -1
  768. package/dist/mcp/tools/communities.js.map +1 -1
  769. package/dist/mcp/tools/complexity.d.ts +15 -6
  770. package/dist/mcp/tools/complexity.d.ts.map +1 -1
  771. package/dist/mcp/tools/complexity.js +0 -1
  772. package/dist/mcp/tools/complexity.js.map +1 -1
  773. package/dist/mcp/tools/context.d.ts +15 -2
  774. package/dist/mcp/tools/context.d.ts.map +1 -1
  775. package/dist/mcp/tools/context.js.map +1 -1
  776. package/dist/mcp/tools/dataflow.d.ts +14 -5
  777. package/dist/mcp/tools/dataflow.d.ts.map +1 -1
  778. package/dist/mcp/tools/dataflow.js +2 -2
  779. package/dist/mcp/tools/dataflow.js.map +1 -1
  780. package/dist/mcp/tools/diff-impact.d.ts +13 -2
  781. package/dist/mcp/tools/diff-impact.d.ts.map +1 -1
  782. package/dist/mcp/tools/diff-impact.js.map +1 -1
  783. package/dist/mcp/tools/execution-flow.d.ts +14 -16
  784. package/dist/mcp/tools/execution-flow.d.ts.map +1 -1
  785. package/dist/mcp/tools/execution-flow.js.map +1 -1
  786. package/dist/mcp/tools/export-graph.d.ts +10 -2
  787. package/dist/mcp/tools/export-graph.d.ts.map +1 -1
  788. package/dist/mcp/tools/export-graph.js +3 -1
  789. package/dist/mcp/tools/export-graph.js.map +1 -1
  790. package/dist/mcp/tools/file-deps.d.ts +10 -2
  791. package/dist/mcp/tools/file-deps.d.ts.map +1 -1
  792. package/dist/mcp/tools/file-deps.js.map +1 -1
  793. package/dist/mcp/tools/file-exports.d.ts +11 -2
  794. package/dist/mcp/tools/file-exports.d.ts.map +1 -1
  795. package/dist/mcp/tools/file-exports.js.map +1 -1
  796. package/dist/mcp/tools/find-cycles.d.ts +3 -2
  797. package/dist/mcp/tools/find-cycles.d.ts.map +1 -1
  798. package/dist/mcp/tools/find-cycles.js.map +1 -1
  799. package/dist/mcp/tools/fn-impact.d.ts +13 -2
  800. package/dist/mcp/tools/fn-impact.d.ts.map +1 -1
  801. package/dist/mcp/tools/fn-impact.js.map +1 -1
  802. package/dist/mcp/tools/impact-analysis.d.ts +8 -2
  803. package/dist/mcp/tools/impact-analysis.d.ts.map +1 -1
  804. package/dist/mcp/tools/impact-analysis.js +0 -3
  805. package/dist/mcp/tools/impact-analysis.js.map +1 -1
  806. package/dist/mcp/tools/implementations.d.ts +12 -2
  807. package/dist/mcp/tools/implementations.d.ts.map +1 -1
  808. package/dist/mcp/tools/implementations.js.map +1 -1
  809. package/dist/mcp/tools/index.d.ts +9 -2
  810. package/dist/mcp/tools/index.d.ts.map +1 -1
  811. package/dist/mcp/tools/index.js +2 -2
  812. package/dist/mcp/tools/index.js.map +1 -1
  813. package/dist/mcp/tools/interfaces.d.ts +12 -2
  814. package/dist/mcp/tools/interfaces.d.ts.map +1 -1
  815. package/dist/mcp/tools/interfaces.js.map +1 -1
  816. package/dist/mcp/tools/list-functions.d.ts +11 -2
  817. package/dist/mcp/tools/list-functions.d.ts.map +1 -1
  818. package/dist/mcp/tools/list-functions.js.map +1 -1
  819. package/dist/mcp/tools/list-repos.d.ts +7 -10
  820. package/dist/mcp/tools/list-repos.d.ts.map +1 -1
  821. package/dist/mcp/tools/list-repos.js.map +1 -1
  822. package/dist/mcp/tools/module-map.d.ts +8 -2
  823. package/dist/mcp/tools/module-map.d.ts.map +1 -1
  824. package/dist/mcp/tools/module-map.js.map +1 -1
  825. package/dist/mcp/tools/node-roles.d.ts +11 -2
  826. package/dist/mcp/tools/node-roles.d.ts.map +1 -1
  827. package/dist/mcp/tools/node-roles.js.map +1 -1
  828. package/dist/mcp/tools/path.d.ts +13 -2
  829. package/dist/mcp/tools/path.d.ts.map +1 -1
  830. package/dist/mcp/tools/path.js.map +1 -1
  831. package/dist/mcp/tools/query.d.ts +19 -2
  832. package/dist/mcp/tools/query.d.ts.map +1 -1
  833. package/dist/mcp/tools/query.js +1 -1
  834. package/dist/mcp/tools/query.js.map +1 -1
  835. package/dist/mcp/tools/semantic-search.d.ts +11 -45
  836. package/dist/mcp/tools/semantic-search.d.ts.map +1 -1
  837. package/dist/mcp/tools/semantic-search.js +2 -2
  838. package/dist/mcp/tools/semantic-search.js.map +1 -1
  839. package/dist/mcp/tools/sequence.d.ts +15 -17
  840. package/dist/mcp/tools/sequence.d.ts.map +1 -1
  841. package/dist/mcp/tools/sequence.js +1 -1
  842. package/dist/mcp/tools/sequence.js.map +1 -1
  843. package/dist/mcp/tools/structure.d.ts +12 -2
  844. package/dist/mcp/tools/structure.d.ts.map +1 -1
  845. package/dist/mcp/tools/structure.js.map +1 -1
  846. package/dist/mcp/tools/symbol-children.d.ts +12 -2
  847. package/dist/mcp/tools/symbol-children.d.ts.map +1 -1
  848. package/dist/mcp/tools/symbol-children.js +1 -1
  849. package/dist/mcp/tools/symbol-children.js.map +1 -1
  850. package/dist/mcp/tools/triage.d.ts +16 -2
  851. package/dist/mcp/tools/triage.d.ts.map +1 -1
  852. package/dist/mcp/tools/triage.js +1 -1
  853. package/dist/mcp/tools/triage.js.map +1 -1
  854. package/dist/mcp/tools/where.d.ts +11 -2
  855. package/dist/mcp/tools/where.d.ts.map +1 -1
  856. package/dist/mcp/tools/where.js.map +1 -1
  857. package/dist/presentation/audit.d.ts +14 -4
  858. package/dist/presentation/audit.d.ts.map +1 -1
  859. package/dist/presentation/audit.js +1 -3
  860. package/dist/presentation/audit.js.map +1 -1
  861. package/dist/presentation/batch.d.ts +19 -9
  862. package/dist/presentation/batch.d.ts.map +1 -1
  863. package/dist/presentation/batch.js +3 -8
  864. package/dist/presentation/batch.js.map +1 -1
  865. package/dist/presentation/branch-compare.d.ts +12 -1
  866. package/dist/presentation/branch-compare.d.ts.map +1 -1
  867. package/dist/presentation/branch-compare.js +7 -9
  868. package/dist/presentation/branch-compare.js.map +1 -1
  869. package/dist/presentation/brief.d.ts +8 -11
  870. package/dist/presentation/brief.d.ts.map +1 -1
  871. package/dist/presentation/brief.js +0 -10
  872. package/dist/presentation/brief.js.map +1 -1
  873. package/dist/presentation/cfg.d.ts +12 -4
  874. package/dist/presentation/cfg.d.ts.map +1 -1
  875. package/dist/presentation/cfg.js +0 -3
  876. package/dist/presentation/cfg.js.map +1 -1
  877. package/dist/presentation/check.d.ts +18 -4
  878. package/dist/presentation/check.d.ts.map +1 -1
  879. package/dist/presentation/check.js +10 -4
  880. package/dist/presentation/check.js.map +1 -1
  881. package/dist/presentation/cochange.d.ts +31 -8
  882. package/dist/presentation/cochange.d.ts.map +1 -1
  883. package/dist/presentation/cochange.js +0 -6
  884. package/dist/presentation/cochange.js.map +1 -1
  885. package/dist/presentation/colors.d.ts +11 -25
  886. package/dist/presentation/colors.d.ts.map +1 -1
  887. package/dist/presentation/colors.js +3 -0
  888. package/dist/presentation/colors.js.map +1 -1
  889. package/dist/presentation/communities.d.ts +10 -4
  890. package/dist/presentation/communities.d.ts.map +1 -1
  891. package/dist/presentation/communities.js +0 -3
  892. package/dist/presentation/communities.js.map +1 -1
  893. package/dist/presentation/complexity.d.ts +16 -4
  894. package/dist/presentation/complexity.d.ts.map +1 -1
  895. package/dist/presentation/complexity.js +0 -3
  896. package/dist/presentation/complexity.js.map +1 -1
  897. package/dist/presentation/dataflow.d.ts +13 -4
  898. package/dist/presentation/dataflow.d.ts.map +1 -1
  899. package/dist/presentation/dataflow.js +12 -17
  900. package/dist/presentation/dataflow.js.map +1 -1
  901. package/dist/presentation/export.d.ts +82 -89
  902. package/dist/presentation/export.d.ts.map +1 -1
  903. package/dist/presentation/export.js +0 -63
  904. package/dist/presentation/export.js.map +1 -1
  905. package/dist/presentation/flow.d.ts +15 -4
  906. package/dist/presentation/flow.d.ts.map +1 -1
  907. package/dist/presentation/flow.js +6 -3
  908. package/dist/presentation/flow.js.map +1 -1
  909. package/dist/presentation/manifesto.d.ts +12 -4
  910. package/dist/presentation/manifesto.d.ts.map +1 -1
  911. package/dist/presentation/manifesto.js +1 -3
  912. package/dist/presentation/manifesto.js.map +1 -1
  913. package/dist/presentation/owners.d.ts +15 -4
  914. package/dist/presentation/owners.d.ts.map +1 -1
  915. package/dist/presentation/owners.js +0 -3
  916. package/dist/presentation/owners.js.map +1 -1
  917. package/dist/presentation/queries-cli/exports.d.ts +11 -1
  918. package/dist/presentation/queries-cli/exports.d.ts.map +1 -1
  919. package/dist/presentation/queries-cli/exports.js.map +1 -1
  920. package/dist/presentation/queries-cli/impact.d.ts +22 -5
  921. package/dist/presentation/queries-cli/impact.d.ts.map +1 -1
  922. package/dist/presentation/queries-cli/impact.js +2 -2
  923. package/dist/presentation/queries-cli/impact.js.map +1 -1
  924. package/dist/presentation/queries-cli/index.d.ts +5 -5
  925. package/dist/presentation/queries-cli/index.d.ts.map +1 -1
  926. package/dist/presentation/queries-cli/index.js.map +1 -1
  927. package/dist/presentation/queries-cli/inspect.d.ts +22 -7
  928. package/dist/presentation/queries-cli/inspect.d.ts.map +1 -1
  929. package/dist/presentation/queries-cli/inspect.js.map +1 -1
  930. package/dist/presentation/queries-cli/overview.d.ts +17 -3
  931. package/dist/presentation/queries-cli/overview.d.ts.map +1 -1
  932. package/dist/presentation/queries-cli/overview.js +1 -1
  933. package/dist/presentation/queries-cli/overview.js.map +1 -1
  934. package/dist/presentation/queries-cli/path.d.ts +14 -1
  935. package/dist/presentation/queries-cli/path.d.ts.map +1 -1
  936. package/dist/presentation/queries-cli/path.js.map +1 -1
  937. package/dist/presentation/queries-cli.d.ts +11 -1
  938. package/dist/presentation/queries-cli.d.ts.map +1 -1
  939. package/dist/presentation/queries-cli.js.map +1 -1
  940. package/dist/presentation/query.d.ts +1 -1
  941. package/dist/presentation/query.d.ts.map +1 -1
  942. package/dist/presentation/query.js +0 -4
  943. package/dist/presentation/query.js.map +1 -1
  944. package/dist/presentation/result-formatter.d.ts +12 -9
  945. package/dist/presentation/result-formatter.d.ts.map +1 -1
  946. package/dist/presentation/result-formatter.js +10 -35
  947. package/dist/presentation/result-formatter.js.map +1 -1
  948. package/dist/presentation/sequence-renderer.d.ts +18 -11
  949. package/dist/presentation/sequence-renderer.d.ts.map +1 -1
  950. package/dist/presentation/sequence-renderer.js +2 -15
  951. package/dist/presentation/sequence-renderer.js.map +1 -1
  952. package/dist/presentation/sequence.d.ts +14 -4
  953. package/dist/presentation/sequence.d.ts.map +1 -1
  954. package/dist/presentation/sequence.js +1 -3
  955. package/dist/presentation/sequence.js.map +1 -1
  956. package/dist/presentation/structure.d.ts +44 -6
  957. package/dist/presentation/structure.d.ts.map +1 -1
  958. package/dist/presentation/structure.js +1 -1
  959. package/dist/presentation/structure.js.map +1 -1
  960. package/dist/presentation/table.d.ts +12 -16
  961. package/dist/presentation/table.d.ts.map +1 -1
  962. package/dist/presentation/table.js +0 -6
  963. package/dist/presentation/table.js.map +1 -1
  964. package/dist/presentation/triage.d.ts +18 -4
  965. package/dist/presentation/triage.d.ts.map +1 -1
  966. package/dist/presentation/triage.js +3 -5
  967. package/dist/presentation/triage.js.map +1 -1
  968. package/dist/presentation/viewer.d.ts +79 -62
  969. package/dist/presentation/viewer.d.ts.map +1 -1
  970. package/dist/presentation/viewer.js +25 -47
  971. package/dist/presentation/viewer.js.map +1 -1
  972. package/dist/shared/constants.d.ts +6 -6
  973. package/dist/shared/constants.d.ts.map +1 -1
  974. package/dist/shared/constants.js.map +1 -1
  975. package/dist/shared/errors.d.ts +21 -29
  976. package/dist/shared/errors.d.ts.map +1 -1
  977. package/dist/shared/errors.js +0 -9
  978. package/dist/shared/errors.js.map +1 -1
  979. package/dist/shared/file-utils.d.ts +22 -9
  980. package/dist/shared/file-utils.d.ts.map +1 -1
  981. package/dist/shared/file-utils.js +2 -3
  982. package/dist/shared/file-utils.js.map +1 -1
  983. package/dist/shared/generators.d.ts +47 -52
  984. package/dist/shared/generators.d.ts.map +1 -1
  985. package/dist/shared/generators.js +5 -19
  986. package/dist/shared/generators.js.map +1 -1
  987. package/dist/shared/hierarchy.d.ts +2 -1
  988. package/dist/shared/hierarchy.d.ts.map +1 -1
  989. package/dist/shared/hierarchy.js.map +1 -1
  990. package/dist/shared/kinds.d.ts +11 -10
  991. package/dist/shared/kinds.d.ts.map +1 -1
  992. package/dist/shared/kinds.js +14 -3
  993. package/dist/shared/kinds.js.map +1 -1
  994. package/dist/shared/normalize.d.ts +24 -11
  995. package/dist/shared/normalize.d.ts.map +1 -1
  996. package/dist/shared/normalize.js +1 -5
  997. package/dist/shared/normalize.js.map +1 -1
  998. package/dist/shared/paginate.d.ts +33 -59
  999. package/dist/shared/paginate.d.ts.map +1 -1
  1000. package/dist/shared/paginate.js +0 -14
  1001. package/dist/shared/paginate.js.map +1 -1
  1002. package/dist/types.d.ts +234 -15
  1003. package/dist/types.d.ts.map +1 -1
  1004. package/package.json +14 -15
  1005. package/src/ast-analysis/{engine.js → engine.ts} +151 -64
  1006. package/src/ast-analysis/{metrics.js → metrics.ts} +14 -4
  1007. package/src/ast-analysis/rules/{csharp.js → csharp.ts} +11 -9
  1008. package/src/ast-analysis/rules/{go.js → go.ts} +12 -10
  1009. package/src/ast-analysis/rules/{index.js → index.ts} +14 -14
  1010. package/src/ast-analysis/rules/{java.js → java.ts} +11 -9
  1011. package/src/ast-analysis/rules/{javascript.js → javascript.ts} +11 -11
  1012. package/src/ast-analysis/rules/{php.js → php.ts} +11 -9
  1013. package/src/ast-analysis/rules/{python.js → python.ts} +11 -9
  1014. package/src/ast-analysis/rules/{ruby.js → ruby.ts} +11 -9
  1015. package/src/ast-analysis/rules/{rust.js → rust.ts} +11 -9
  1016. package/src/ast-analysis/{shared.js → shared.ts} +44 -43
  1017. package/src/ast-analysis/{visitor-utils.js → visitor-utils.ts} +49 -12
  1018. package/src/ast-analysis/{visitor.js → visitor.ts} +29 -31
  1019. package/src/ast-analysis/visitors/{ast-store-visitor.js → ast-store-visitor.ts} +44 -36
  1020. package/src/ast-analysis/visitors/{cfg-visitor.js → cfg-visitor.ts} +251 -155
  1021. package/src/ast-analysis/visitors/{complexity-visitor.js → complexity-visitor.ts} +74 -61
  1022. package/src/ast-analysis/visitors/{dataflow-visitor.js → dataflow-visitor.ts} +149 -63
  1023. package/src/cli/commands/{ast.js → ast.ts} +3 -2
  1024. package/src/cli/commands/{audit.js → audit.ts} +7 -6
  1025. package/src/cli/commands/{batch.js → batch.ts} +30 -14
  1026. package/src/cli/commands/{branch-compare.js → branch-compare.ts} +6 -4
  1027. package/src/cli/commands/{brief.js → brief.ts} +3 -2
  1028. package/src/cli/commands/{build.js → build.ts} +10 -8
  1029. package/src/cli/commands/{cfg.js → cfg.ts} +4 -3
  1030. package/src/cli/commands/{check.js → check.ts} +7 -6
  1031. package/src/cli/commands/{children.js → children.ts} +4 -3
  1032. package/src/cli/commands/{co-change.js → co-change.ts} +17 -12
  1033. package/src/cli/commands/{communities.js → communities.ts} +4 -2
  1034. package/src/cli/commands/{complexity.js → complexity.ts} +5 -4
  1035. package/src/cli/commands/{context.js → context.ts} +5 -4
  1036. package/src/cli/commands/{cycles.js → cycles.ts} +4 -3
  1037. package/src/cli/commands/{dataflow.js → dataflow.ts} +5 -4
  1038. package/src/cli/commands/{deps.js → deps.ts} +4 -3
  1039. package/src/cli/commands/{diff-impact.js → diff-impact.ts} +3 -2
  1040. package/src/cli/commands/{embed.js → embed.ts} +6 -4
  1041. package/src/cli/commands/{export.js → export.ts} +8 -7
  1042. package/src/cli/commands/{exports.js → exports.ts} +3 -2
  1043. package/src/cli/commands/{flow.js → flow.ts} +4 -3
  1044. package/src/cli/commands/{fn-impact.js → fn-impact.ts} +5 -4
  1045. package/src/cli/commands/{impact.js → impact.ts} +3 -2
  1046. package/src/cli/commands/{implementations.js → implementations.ts} +4 -3
  1047. package/src/cli/commands/{info.js → info.ts} +6 -3
  1048. package/src/cli/commands/{interfaces.js → interfaces.ts} +4 -3
  1049. package/src/cli/commands/{map.js → map.ts} +3 -2
  1050. package/src/cli/commands/{mcp.js → mcp.ts} +8 -7
  1051. package/src/cli/commands/models.ts +29 -0
  1052. package/src/cli/commands/{owners.js → owners.ts} +3 -2
  1053. package/src/cli/commands/{path.js → path.ts} +6 -5
  1054. package/src/cli/commands/{plot.js → plot.ts} +35 -14
  1055. package/src/cli/commands/{query.js → query.ts} +8 -7
  1056. package/src/cli/commands/{registry.js → registry.ts} +12 -6
  1057. package/src/cli/commands/{roles.js → roles.ts} +3 -2
  1058. package/src/cli/commands/{search.js → search.ts} +12 -15
  1059. package/src/cli/commands/{sequence.js → sequence.ts} +5 -4
  1060. package/src/cli/commands/{snapshot.js → snapshot.ts} +5 -4
  1061. package/src/cli/commands/{stats.js → stats.ts} +2 -1
  1062. package/src/cli/commands/{structure.js → structure.ts} +4 -2
  1063. package/src/cli/commands/{triage.js → triage.ts} +14 -13
  1064. package/src/cli/commands/{watch.js → watch.ts} +3 -2
  1065. package/src/cli/commands/{where.js → where.ts} +3 -2
  1066. package/src/cli/{index.js → index.ts} +40 -15
  1067. package/src/cli/shared/{open-graph.js → open-graph.ts} +5 -5
  1068. package/src/cli/shared/{options.js → options.ts} +6 -6
  1069. package/src/cli/types.ts +33 -0
  1070. package/src/{cli.js → cli.ts} +3 -2
  1071. package/src/db/{connection.js → connection.ts} +46 -37
  1072. package/src/db/{index.js → index.ts} +4 -0
  1073. package/src/db/{migrations.js → migrations.ts} +33 -11
  1074. package/src/db/{query-builder.js → query-builder.ts} +50 -65
  1075. package/src/db/repository/base.ts +192 -0
  1076. package/src/db/repository/{build-stmts.js → build-stmts.ts} +28 -22
  1077. package/src/db/repository/{cached-stmt.js → cached-stmt.ts} +8 -7
  1078. package/src/db/repository/{cfg.js → cfg.ts} +27 -18
  1079. package/src/db/repository/{cochange.js → cochange.ts} +8 -14
  1080. package/src/db/repository/{complexity.js → complexity.ts} +6 -5
  1081. package/src/db/repository/dataflow.ts +19 -0
  1082. package/src/db/repository/{edges.js → edges.ts} +57 -95
  1083. package/src/db/repository/{embeddings.js → embeddings.ts} +10 -14
  1084. package/src/db/repository/{graph-read.js → graph-read.ts} +17 -17
  1085. package/src/db/repository/{in-memory-repository.js → in-memory-repository.ts} +155 -93
  1086. package/src/db/repository/{index.js → index.ts} +2 -0
  1087. package/src/db/repository/{nodes.js → nodes.ts} +120 -106
  1088. package/src/db/repository/{sqlite-repository.js → sqlite-repository.ts} +71 -42
  1089. package/src/domain/analysis/{brief.js → brief.ts} +34 -19
  1090. package/src/domain/analysis/{context.js → context.ts} +179 -79
  1091. package/src/domain/analysis/{dependencies.js → dependencies.ts} +149 -61
  1092. package/src/domain/analysis/{exports.js → exports.ts} +101 -54
  1093. package/src/domain/analysis/{impact.js → impact.ts} +178 -132
  1094. package/src/domain/analysis/{implementations.js → implementations.ts} +13 -14
  1095. package/src/domain/analysis/{module-map.js → module-map.ts} +128 -61
  1096. package/src/domain/analysis/{roles.js → roles.ts} +24 -6
  1097. package/src/domain/analysis/{symbol-lookup.js → symbol-lookup.ts} +78 -34
  1098. package/src/domain/graph/builder/context.ts +81 -0
  1099. package/src/domain/graph/builder/helpers.ts +289 -0
  1100. package/src/domain/graph/builder/{incremental.js → incremental.ts} +179 -76
  1101. package/src/domain/graph/builder/{pipeline.js → pipeline.ts} +33 -27
  1102. package/src/domain/graph/builder/stages/{build-edges.js → build-edges.ts} +174 -56
  1103. package/src/domain/graph/builder/stages/{build-structure.js → build-structure.ts} +34 -17
  1104. package/src/domain/graph/builder/stages/{collect-files.js → collect-files.ts} +6 -8
  1105. package/src/domain/graph/builder/stages/{detect-changes.js → detect-changes.ts} +156 -123
  1106. package/src/domain/graph/builder/stages/{finalize.js → finalize.ts} +79 -41
  1107. package/src/domain/graph/builder/stages/{insert-nodes.js → insert-nodes.ts} +102 -47
  1108. package/src/domain/graph/builder/stages/{parse-files.js → parse-files.ts} +2 -4
  1109. package/src/domain/graph/builder/stages/{resolve-imports.js → resolve-imports.ts} +26 -39
  1110. package/src/domain/graph/builder/stages/{run-analyses.js → run-analyses.ts} +10 -7
  1111. package/src/domain/graph/{change-journal.js → change-journal.ts} +48 -37
  1112. package/src/domain/graph/cycles.ts +66 -0
  1113. package/src/domain/graph/{journal.js → journal.ts} +22 -26
  1114. package/src/domain/graph/{resolve.js → resolve.ts} +125 -35
  1115. package/src/domain/graph/{watcher.js → watcher.ts} +45 -19
  1116. package/src/domain/{parser.js → parser.ts} +151 -105
  1117. package/src/domain/{queries.js → queries.ts} +1 -1
  1118. package/src/domain/search/{generator.js → generator.ts} +28 -21
  1119. package/src/domain/search/{index.js → index.ts} +2 -0
  1120. package/src/domain/search/{models.js → models.ts} +62 -38
  1121. package/src/domain/search/search/{cli-formatter.js → cli-formatter.ts} +22 -21
  1122. package/src/domain/search/search/{filters.js → filters.ts} +7 -19
  1123. package/src/domain/search/search/{hybrid.js → hybrid.ts} +69 -25
  1124. package/src/domain/search/search/{keyword.js → keyword.ts} +42 -16
  1125. package/src/domain/search/search/{prepare.js → prepare.ts} +34 -13
  1126. package/src/domain/search/search/{semantic.js → semantic.ts} +73 -37
  1127. package/src/domain/search/stores/{fts5.js → fts5.ts} +8 -8
  1128. package/src/domain/search/stores/sqlite-blob.ts +15 -0
  1129. package/src/domain/search/strategies/{source.js → source.ts} +6 -1
  1130. package/src/domain/search/strategies/{structured.js → structured.ts} +12 -7
  1131. package/src/domain/search/strategies/{text-utils.js → text-utils.ts} +9 -11
  1132. package/src/extractors/{csharp.js → csharp.ts} +71 -42
  1133. package/src/extractors/{go.js → go.ts} +105 -30
  1134. package/src/extractors/{hcl.js → hcl.ts} +52 -27
  1135. package/src/extractors/{helpers.js → helpers.ts} +20 -15
  1136. package/src/extractors/{java.js → java.ts} +43 -24
  1137. package/src/extractors/{javascript.js → javascript.ts} +165 -133
  1138. package/src/extractors/{php.js → php.ts} +45 -32
  1139. package/src/extractors/{python.js → python.ts} +63 -36
  1140. package/src/extractors/{ruby.js → ruby.ts} +40 -25
  1141. package/src/extractors/{rust.js → rust.ts} +41 -31
  1142. package/src/features/{ast.js → ast.ts} +117 -72
  1143. package/src/features/{audit.js → audit.ts} +173 -54
  1144. package/src/features/batch.ts +182 -0
  1145. package/src/features/{boundaries.js → boundaries.ts} +101 -116
  1146. package/src/features/{branch-compare.js → branch-compare.ts} +153 -81
  1147. package/src/features/{cfg.js → cfg.ts} +230 -88
  1148. package/src/features/{check.js → check.ts} +143 -70
  1149. package/src/features/{cochange.js → cochange.ts} +117 -97
  1150. package/src/features/{communities.js → communities.ts} +85 -57
  1151. package/src/features/{complexity.js → complexity.ts} +256 -156
  1152. package/src/features/{dataflow.js → dataflow.ts} +242 -143
  1153. package/src/features/{export.js → export.ts} +164 -52
  1154. package/src/features/{flow.js → flow.ts} +63 -45
  1155. package/src/features/{graph-enrichment.js → graph-enrichment.ts} +138 -49
  1156. package/src/features/{manifesto.js → manifesto.ts} +138 -77
  1157. package/src/features/{owners.js → owners.ts} +88 -73
  1158. package/src/features/{sequence.js → sequence.ts} +114 -65
  1159. package/src/features/shared/{find-nodes.js → find-nodes.ts} +10 -13
  1160. package/src/features/{snapshot.js → snapshot.ts} +28 -47
  1161. package/src/features/{structure.js → structure.ts} +309 -130
  1162. package/src/features/{triage.js → triage.ts} +80 -42
  1163. package/src/graph/algorithms/{bfs.js → bfs.ts} +18 -10
  1164. package/src/graph/algorithms/{centrality.js → centrality.ts} +9 -5
  1165. package/src/graph/algorithms/{index.js → index.ts} +1 -0
  1166. package/src/graph/algorithms/leiden/LICENSE +24 -0
  1167. package/src/graph/algorithms/leiden/adapter.ts +204 -0
  1168. package/src/graph/algorithms/leiden/cpm.ts +77 -0
  1169. package/src/graph/algorithms/leiden/index.ts +185 -0
  1170. package/src/graph/algorithms/leiden/modularity.ts +122 -0
  1171. package/src/graph/algorithms/leiden/optimiser.ts +598 -0
  1172. package/src/graph/algorithms/leiden/partition.ts +479 -0
  1173. package/src/graph/algorithms/leiden/rng.ts +20 -0
  1174. package/src/graph/algorithms/louvain.ts +47 -0
  1175. package/src/graph/algorithms/{shortest-path.js → shortest-path.ts} +9 -10
  1176. package/src/graph/algorithms/{tarjan.js → tarjan.ts} +15 -14
  1177. package/src/graph/builders/{dependency.js → dependency.ts} +43 -17
  1178. package/src/graph/builders/structure.ts +58 -0
  1179. package/src/graph/builders/temporal.ts +51 -0
  1180. package/src/graph/classifiers/{risk.js → risk.ts} +52 -22
  1181. package/src/graph/classifiers/{roles.js → roles.ts} +32 -16
  1182. package/src/graph/{model.js → model.ts} +49 -58
  1183. package/src/index.cjs +1 -1
  1184. package/src/infrastructure/{config.js → config.ts} +82 -54
  1185. package/src/infrastructure/{logger.js → logger.ts} +6 -6
  1186. package/src/infrastructure/{native.js → native.ts} +16 -15
  1187. package/src/infrastructure/{registry.js → registry.ts} +48 -16
  1188. package/src/infrastructure/{test-filter.js → test-filter.ts} +1 -1
  1189. package/src/infrastructure/{update-check.js → update-check.ts} +30 -16
  1190. package/src/mcp/{middleware.js → middleware.ts} +6 -12
  1191. package/src/mcp/server.ts +249 -0
  1192. package/src/mcp/{tool-registry.js → tool-registry.ts} +16 -9
  1193. package/src/mcp/tools/{ast-query.js → ast-query.ts} +12 -1
  1194. package/src/mcp/tools/{audit.js → audit.ts} +14 -2
  1195. package/src/mcp/tools/batch-query.ts +22 -0
  1196. package/src/mcp/tools/{branch-compare.js → branch-compare.ts} +11 -1
  1197. package/src/mcp/tools/brief.ts +15 -0
  1198. package/src/mcp/tools/{cfg.js → cfg.ts} +13 -2
  1199. package/src/mcp/tools/{check.js → check.ts} +20 -3
  1200. package/src/mcp/tools/{co-changes.js → co-changes.ts} +10 -1
  1201. package/src/mcp/tools/code-owners.ts +22 -0
  1202. package/src/mcp/tools/{communities.js → communities.ts} +11 -1
  1203. package/src/mcp/tools/{complexity.js → complexity.ts} +14 -2
  1204. package/src/mcp/tools/{context.js → context.ts} +14 -1
  1205. package/src/mcp/tools/{dataflow.js → dataflow.ts} +15 -3
  1206. package/src/mcp/tools/{diff-impact.js → diff-impact.ts} +12 -1
  1207. package/src/mcp/tools/{execution-flow.js → execution-flow.ts} +13 -1
  1208. package/src/mcp/tools/{export-graph.js → export-graph.ts} +13 -3
  1209. package/src/mcp/tools/{file-deps.js → file-deps.ts} +9 -1
  1210. package/src/mcp/tools/{file-exports.js → file-exports.ts} +10 -1
  1211. package/src/mcp/tools/{find-cycles.js → find-cycles.ts} +5 -1
  1212. package/src/mcp/tools/{fn-impact.js → fn-impact.ts} +12 -1
  1213. package/src/mcp/tools/impact-analysis.ts +15 -0
  1214. package/src/mcp/tools/{implementations.js → implementations.ts} +11 -1
  1215. package/src/mcp/tools/{index.js → index.ts} +11 -3
  1216. package/src/mcp/tools/{interfaces.js → interfaces.ts} +11 -1
  1217. package/src/mcp/tools/{list-functions.js → list-functions.ts} +10 -1
  1218. package/src/mcp/tools/list-repos.ts +17 -0
  1219. package/src/mcp/tools/module-map.ts +13 -0
  1220. package/src/mcp/tools/{node-roles.js → node-roles.ts} +10 -1
  1221. package/src/mcp/tools/path.ts +24 -0
  1222. package/src/mcp/tools/{query.js → query.ts} +19 -2
  1223. package/src/mcp/tools/{semantic-search.js → semantic-search.ts} +13 -4
  1224. package/src/mcp/tools/{sequence.js → sequence.ts} +15 -2
  1225. package/src/mcp/tools/{structure.js → structure.ts} +11 -1
  1226. package/src/mcp/tools/symbol-children.ts +24 -0
  1227. package/src/mcp/tools/{triage.js → triage.ts} +20 -5
  1228. package/src/mcp/tools/{where.js → where.ts} +10 -1
  1229. package/src/presentation/{audit.js → audit.ts} +23 -6
  1230. package/src/presentation/batch.ts +49 -0
  1231. package/src/presentation/{branch-compare.js → branch-compare.ts} +59 -12
  1232. package/src/presentation/{brief.js → brief.ts} +26 -14
  1233. package/src/presentation/{cfg.js → cfg.ts} +37 -5
  1234. package/src/presentation/{check.js → check.ts} +61 -5
  1235. package/src/presentation/{cochange.js → cochange.ts} +30 -10
  1236. package/src/presentation/{colors.js → colors.ts} +8 -3
  1237. package/src/presentation/{communities.js → communities.ts} +45 -5
  1238. package/src/presentation/{complexity.js → complexity.ts} +49 -5
  1239. package/src/presentation/dataflow.ts +173 -0
  1240. package/src/presentation/{export.js → export.ts} +160 -95
  1241. package/src/presentation/{flow.js → flow.ts} +39 -8
  1242. package/src/presentation/{manifesto.js → manifesto.ts} +26 -7
  1243. package/src/presentation/{owners.js → owners.ts} +43 -6
  1244. package/src/presentation/queries-cli/{exports.js → exports.ts} +49 -8
  1245. package/src/presentation/queries-cli/{impact.js → impact.ts} +139 -23
  1246. package/src/presentation/queries-cli/{inspect.js → inspect.ts} +209 -28
  1247. package/src/presentation/queries-cli/{overview.js → overview.ts} +151 -30
  1248. package/src/presentation/queries-cli/{path.js → path.ts} +53 -9
  1249. package/src/presentation/{query.js → query.ts} +0 -4
  1250. package/src/presentation/{result-formatter.js → result-formatter.ts} +44 -48
  1251. package/src/presentation/sequence-renderer.ts +46 -0
  1252. package/src/presentation/{sequence.js → sequence.ts} +16 -5
  1253. package/src/presentation/{structure.js → structure.ts} +62 -5
  1254. package/src/presentation/{table.js → table.ts} +14 -8
  1255. package/src/presentation/{triage.js → triage.ts} +44 -8
  1256. package/src/presentation/{viewer.js → viewer.ts} +96 -54
  1257. package/src/shared/{constants.js → constants.ts} +4 -4
  1258. package/src/shared/{errors.js → errors.ts} +16 -20
  1259. package/src/shared/{file-utils.js → file-utils.ts} +55 -23
  1260. package/src/shared/{generators.js → generators.ts} +78 -31
  1261. package/src/shared/{hierarchy.js → hierarchy.ts} +12 -6
  1262. package/src/shared/{kinds.js → kinds.ts} +34 -12
  1263. package/src/shared/{normalize.js → normalize.ts} +37 -10
  1264. package/src/shared/{paginate.js → paginate.ts} +30 -19
  1265. package/src/types.ts +258 -17
  1266. package/src/vendor.d.ts +39 -0
  1267. package/dist/index.cjs.map +0 -1
  1268. package/dist/index.d.cts +0 -3
  1269. package/dist/index.d.cts.map +0 -1
  1270. package/src/cli/commands/models.js +0 -19
  1271. package/src/db/repository/base.js +0 -201
  1272. package/src/db/repository/dataflow.js +0 -17
  1273. package/src/domain/graph/builder/context.js +0 -85
  1274. package/src/domain/graph/builder/helpers.js +0 -218
  1275. package/src/domain/graph/cycles.js +0 -82
  1276. package/src/domain/search/stores/sqlite-blob.js +0 -24
  1277. package/src/features/batch.js +0 -156
  1278. package/src/graph/algorithms/louvain.js +0 -26
  1279. package/src/graph/builders/structure.js +0 -40
  1280. package/src/graph/builders/temporal.js +0 -33
  1281. package/src/mcp/server.js +0 -143
  1282. package/src/mcp/tools/batch-query.js +0 -11
  1283. package/src/mcp/tools/brief.js +0 -8
  1284. package/src/mcp/tools/code-owners.js +0 -12
  1285. package/src/mcp/tools/impact-analysis.js +0 -12
  1286. package/src/mcp/tools/list-repos.js +0 -11
  1287. package/src/mcp/tools/module-map.js +0 -6
  1288. package/src/mcp/tools/path.js +0 -12
  1289. package/src/mcp/tools/symbol-children.js +0 -14
  1290. package/src/presentation/batch.js +0 -26
  1291. package/src/presentation/dataflow.js +0 -110
  1292. package/src/presentation/sequence-renderer.js +0 -43
  1293. /package/src/cli/shared/{output.js → output.ts} +0 -0
  1294. /package/src/domain/graph/{builder.js → builder.ts} +0 -0
  1295. /package/src/extractors/{index.js → index.ts} +0 -0
  1296. /package/src/graph/builders/{index.js → index.ts} +0 -0
  1297. /package/src/graph/classifiers/{index.js → index.ts} +0 -0
  1298. /package/src/graph/{index.js → index.ts} +0 -0
  1299. /package/src/{index.js → index.ts} +0 -0
  1300. /package/src/infrastructure/{result-formatter.js → result-formatter.ts} +0 -0
  1301. /package/src/mcp/{index.js → index.ts} +0 -0
  1302. /package/src/presentation/queries-cli/{index.js → index.ts} +0 -0
  1303. /package/src/presentation/{queries-cli.js → queries-cli.ts} +0 -0
@@ -5,28 +5,34 @@ import { info } from '../../infrastructure/logger.js';
5
5
  import { EXTENSIONS, IGNORE_DIRS, normalizePath } from '../../shared/constants.js';
6
6
  import { DbError } from '../../shared/errors.js';
7
7
  import { createParseTreeCache, getActiveEngine } from '../parser.js';
8
- import { rebuildFile } from './builder/incremental.js';
8
+ import { type IncrementalStmts, rebuildFile } from './builder/incremental.js';
9
9
  import { appendChangeEvents, buildChangeEvent, diffSymbols } from './change-journal.js';
10
10
  import { appendJournalEntries } from './journal.js';
11
11
 
12
- function shouldIgnore(filePath) {
12
+ function shouldIgnore(filePath: string): boolean {
13
13
  const parts = filePath.split(path.sep);
14
14
  return parts.some((p) => IGNORE_DIRS.has(p));
15
15
  }
16
16
 
17
- function isTrackedExt(filePath) {
17
+ function isTrackedExt(filePath: string): boolean {
18
18
  return EXTENSIONS.has(path.extname(filePath));
19
19
  }
20
20
 
21
- export async function watchProject(rootDir, opts = {}) {
21
+ export async function watchProject(rootDir: string, opts: { engine?: string } = {}): Promise<void> {
22
22
  const dbPath = path.join(rootDir, '.codegraph', 'graph.db');
23
23
  if (!fs.existsSync(dbPath)) {
24
24
  throw new DbError('No graph.db found. Run `codegraph build` first.', { file: dbPath });
25
25
  }
26
26
 
27
- const db = openDb(dbPath);
27
+ const db = openDb(dbPath) as import('better-sqlite3').Database;
28
+ // Alias for functions expecting the project's BetterSqlite3Database interface
29
+ const typedDb = db as unknown as import('../../types.js').BetterSqlite3Database;
28
30
  initSchema(db);
29
- const engineOpts = { engine: opts.engine || 'auto' };
31
+ const engineOpts: import('../../types.js').EngineOpts = {
32
+ engine: (opts.engine || 'auto') as import('../../types.js').EngineMode,
33
+ dataflow: false,
34
+ ast: false,
35
+ };
30
36
  const { name: engineName, version: engineVersion } = getActiveEngine(engineOpts);
31
37
  console.log(
32
38
  `Watch mode using ${engineName} engine${engineVersion ? ` (v${engineVersion})` : ''}`,
@@ -44,8 +50,8 @@ export async function watchProject(rootDir, opts = {}) {
44
50
  'INSERT OR IGNORE INTO nodes (name, kind, file, line, end_line) VALUES (?, ?, ?, ?, ?)',
45
51
  ),
46
52
  getNodeId: {
47
- get: (name, kind, file, line) => {
48
- const id = getNodeIdQuery(db, name, kind, file, line);
53
+ get: (name: string, kind: string, file: string, line: number) => {
54
+ const id = getNodeIdQuery(typedDb, name, kind, file, line);
49
55
  return id != null ? { id } : undefined;
50
56
  },
51
57
  },
@@ -53,9 +59,9 @@ export async function watchProject(rootDir, opts = {}) {
53
59
  'INSERT INTO edges (source_id, target_id, kind, confidence, dynamic) VALUES (?, ?, ?, ?, ?)',
54
60
  ),
55
61
  deleteNodes: db.prepare('DELETE FROM nodes WHERE file = ?'),
56
- deleteEdgesForFile: null,
62
+ deleteEdgesForFile: null as { run: (f: string) => void } | null,
57
63
  countNodes: db.prepare('SELECT COUNT(*) as c FROM nodes WHERE file = ?'),
58
- countEdgesForFile: null,
64
+ countEdgesForFile: null as { get: (f: string) => { c: number } | undefined } | null,
59
65
  findNodeInFile: db.prepare(
60
66
  "SELECT id, file FROM nodes WHERE name = ? AND kind IN ('function', 'method', 'class', 'interface', 'type', 'struct', 'enum', 'trait', 'record', 'module', 'constant') AND file = ?",
61
67
  ),
@@ -72,22 +78,42 @@ export async function watchProject(rootDir, opts = {}) {
72
78
  const origCountEdges = db.prepare(
73
79
  `SELECT COUNT(*) as c FROM edges WHERE source_id IN (SELECT id FROM nodes WHERE file = @f) OR target_id IN (SELECT id FROM nodes WHERE file = @f)`,
74
80
  );
75
- stmts.deleteEdgesForFile = { run: (f) => origDeleteEdges.run({ f }) };
76
- stmts.countEdgesForFile = { get: (f) => origCountEdges.get({ f }) };
81
+ stmts.deleteEdgesForFile = { run: (f: string) => origDeleteEdges.run({ f }) };
82
+ stmts.countEdgesForFile = {
83
+ get: (f: string) => origCountEdges.get({ f }) as { c: number } | undefined,
84
+ };
77
85
 
78
- const pending = new Set();
79
- let timer = null;
86
+ const pending = new Set<string>();
87
+ let timer: ReturnType<typeof setTimeout> | null = null;
80
88
  const DEBOUNCE_MS = 300;
81
89
 
82
- async function processPending() {
90
+ async function processPending(): Promise<void> {
83
91
  const files = [...pending];
84
92
  pending.clear();
85
93
 
86
- const results = [];
94
+ const results: Array<{
95
+ file: string;
96
+ deleted?: boolean;
97
+ event: string;
98
+ symbolDiff: unknown;
99
+ nodesBefore: number;
100
+ nodesAfter: number;
101
+ nodesAdded: number;
102
+ nodesRemoved: number;
103
+ edgesAdded: number;
104
+ }> = [];
87
105
  for (const filePath of files) {
88
- const result = await rebuildFile(db, rootDir, filePath, stmts, engineOpts, cache, {
89
- diffSymbols,
90
- });
106
+ const result = (await rebuildFile(
107
+ db,
108
+ rootDir,
109
+ filePath,
110
+ stmts as IncrementalStmts,
111
+ engineOpts,
112
+ cache,
113
+ {
114
+ diffSymbols: diffSymbols as (old: unknown[], new_: unknown[]) => unknown,
115
+ },
116
+ )) as (typeof results)[number] | null;
91
117
  if (result) results.push(result);
92
118
  }
93
119
  const updates = results;
@@ -1,9 +1,17 @@
1
1
  import fs from 'node:fs';
2
2
  import path from 'node:path';
3
3
  import { fileURLToPath } from 'node:url';
4
+ import type { Tree } from 'web-tree-sitter';
4
5
  import { Language, Parser, Query } from 'web-tree-sitter';
5
6
  import { debug, warn } from '../infrastructure/logger.js';
6
7
  import { getNative, getNativePackageVersion, loadNative } from '../infrastructure/native.js';
8
+ import type {
9
+ EngineMode,
10
+ ExtractorOutput,
11
+ LanguageId,
12
+ LanguageRegistryEntry,
13
+ TypeMapEntry,
14
+ } from '../types.js';
7
15
 
8
16
  // Re-export all extractors for backward compatibility
9
17
  export {
@@ -32,23 +40,47 @@ import {
32
40
 
33
41
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
34
42
 
35
- function grammarPath(name) {
43
+ function grammarPath(name: string): string {
36
44
  return path.join(__dirname, '..', '..', 'grammars', name);
37
45
  }
38
46
 
39
- let _initialized = false;
47
+ let _initialized: boolean = false;
40
48
 
41
49
  // Memoized parsers — avoids reloading WASM grammars on every createParsers() call
42
- let _cachedParsers = null;
50
+ let _cachedParsers: Map<string, Parser | null> | null = null;
43
51
 
44
52
  // Cached Language objects — WASM-backed, must be .delete()'d explicitly
45
- let _cachedLanguages = null;
53
+ let _cachedLanguages: Map<string, Language> | null = null;
46
54
 
47
55
  // Query cache for JS/TS/TSX extractors (populated during createParsers)
48
- const _queryCache = new Map();
56
+ const _queryCache: Map<string, Query> = new Map();
57
+
58
+ // Extensions that need typeMap backfill (type annotations only exist in TS/TSX)
59
+ const TS_BACKFILL_EXTS = new Set(['.ts', '.tsx']);
60
+
61
+ // Re-export for backward compatibility
62
+ export type { LanguageRegistryEntry } from '../types.js';
63
+
64
+ interface ParseEngineOpts {
65
+ engine?: EngineMode;
66
+ dataflow?: boolean;
67
+ ast?: boolean;
68
+ }
69
+
70
+ interface ResolvedEngine {
71
+ name: 'native' | 'wasm';
72
+ // biome-ignore lint/suspicious/noExplicitAny: native addon has no type declarations
73
+ native: any;
74
+ }
75
+
76
+ interface WasmExtractResult {
77
+ symbols: ExtractorOutput;
78
+ tree: Tree;
79
+ langId: LanguageId;
80
+ }
49
81
 
50
82
  // Shared patterns for all JS/TS/TSX (class_declaration excluded — name type differs)
51
- const COMMON_QUERY_PATTERNS = [
83
+ const COMMON_QUERY_PATTERNS: string[] = [
52
84
  '(function_declaration name: (identifier) @fn_name) @fn_node',
53
85
  '(variable_declarator name: (identifier) @varfn_name value: (arrow_function) @varfn_value)',
54
86
  '(variable_declarator name: (identifier) @varfn_name value: (function_expression) @varfn_value)',
@@ -62,16 +94,16 @@ const COMMON_QUERY_PATTERNS = [
62
94
  ];
63
95
 
64
96
  // JS: class name is (identifier)
65
- const JS_CLASS_PATTERN = '(class_declaration name: (identifier) @cls_name) @cls_node';
97
+ const JS_CLASS_PATTERN: string = '(class_declaration name: (identifier) @cls_name) @cls_node';
66
98
 
67
99
  // TS/TSX: class name is (type_identifier), plus interface and type alias
68
- const TS_EXTRA_PATTERNS = [
100
+ const TS_EXTRA_PATTERNS: string[] = [
69
101
  '(class_declaration name: (type_identifier) @cls_name) @cls_node',
70
102
  '(interface_declaration name: (type_identifier) @iface_name) @iface_node',
71
103
  '(type_alias_declaration name: (type_identifier) @type_name) @type_node',
72
104
  ];
73
105
 
74
- export async function createParsers() {
106
+ export async function createParsers(): Promise<Map<string, Parser | null>> {
75
107
  if (_cachedParsers) return _cachedParsers;
76
108
 
77
109
  if (!_initialized) {
@@ -79,8 +111,8 @@ export async function createParsers() {
79
111
  _initialized = true;
80
112
  }
81
113
 
82
- const parsers = new Map();
83
- const languages = new Map();
114
+ const parsers = new Map<string, Parser | null>();
115
+ const languages = new Map<string, Language>();
84
116
  for (const entry of LANGUAGE_REGISTRY) {
85
117
  try {
86
118
  const lang = await Language.load(grammarPath(entry.grammarFile));
@@ -96,10 +128,10 @@ export async function createParsers() {
96
128
  : [...COMMON_QUERY_PATTERNS, JS_CLASS_PATTERN];
97
129
  _queryCache.set(entry.id, new Query(lang, patterns.join('\n')));
98
130
  }
99
- } catch (e) {
131
+ } catch (e: unknown) {
100
132
  if (entry.required) throw e;
101
133
  warn(
102
- `${entry.id} parser failed to initialize: ${e.message}. ${entry.id} files will be skipped.`,
134
+ `${entry.id} parser failed to initialize: ${(e as Error).message}. ${entry.id} files will be skipped.`,
103
135
  );
104
136
  parsers.set(entry.id, null);
105
137
  }
@@ -114,14 +146,14 @@ export async function createParsers() {
114
146
  * Call this between repeated builds in the same process (e.g. benchmarks)
115
147
  * to prevent memory accumulation that can cause segfaults.
116
148
  */
117
- export function disposeParsers() {
149
+ export function disposeParsers(): void {
118
150
  if (_cachedParsers) {
119
151
  for (const [id, parser] of _cachedParsers) {
120
152
  if (parser && typeof parser.delete === 'function') {
121
153
  try {
122
154
  parser.delete();
123
- } catch (e) {
124
- debug(`Failed to dispose parser ${id}: ${e.message}`);
155
+ } catch (e: unknown) {
156
+ debug(`Failed to dispose parser ${id}: ${(e as Error).message}`);
125
157
  }
126
158
  }
127
159
  }
@@ -131,19 +163,20 @@ export function disposeParsers() {
131
163
  if (query && typeof query.delete === 'function') {
132
164
  try {
133
165
  query.delete();
134
- } catch (e) {
135
- debug(`Failed to dispose query ${id}: ${e.message}`);
166
+ } catch (e: unknown) {
167
+ debug(`Failed to dispose query ${id}: ${(e as Error).message}`);
136
168
  }
137
169
  }
138
170
  }
139
171
  _queryCache.clear();
140
172
  if (_cachedLanguages) {
141
173
  for (const [id, lang] of _cachedLanguages) {
142
- if (lang && typeof lang.delete === 'function') {
174
+ // biome-ignore lint/suspicious/noExplicitAny: .delete() exists at runtime on WASM Language objects but is missing from typings
175
+ if (lang && typeof (lang as any).delete === 'function') {
143
176
  try {
144
- lang.delete();
145
- } catch (e) {
146
- debug(`Failed to dispose language ${id}: ${e.message}`);
177
+ (lang as any).delete();
178
+ } catch (e: unknown) {
179
+ debug(`Failed to dispose language ${id}: ${(e as Error).message}`);
147
180
  }
148
181
  }
149
182
  }
@@ -152,7 +185,7 @@ export function disposeParsers() {
152
185
  _initialized = false;
153
186
  }
154
187
 
155
- export function getParser(parsers, filePath) {
188
+ export function getParser(parsers: Map<string, Parser | null>, filePath: string): Parser | null {
156
189
  const ext = path.extname(filePath);
157
190
  const entry = _extToLang.get(ext);
158
191
  if (!entry) return null;
@@ -163,11 +196,12 @@ export function getParser(parsers, filePath) {
163
196
  * Pre-parse files missing `_tree` via WASM so downstream phases (CFG, dataflow)
164
197
  * don't each need to create parsers and re-parse independently.
165
198
  * Only parses files whose extension is in SUPPORTED_EXTENSIONS.
166
- *
167
- * @param {Map<string, object>} fileSymbols - Map<relPath, { definitions, _tree, _langId, ... }>
168
- * @param {string} rootDir - absolute project root
169
199
  */
170
- export async function ensureWasmTrees(fileSymbols, rootDir) {
200
+ // biome-ignore lint/suspicious/noExplicitAny: fileSymbols values have dynamic shape from extractors
201
+ export async function ensureWasmTrees(
202
+ fileSymbols: Map<string, any>,
203
+ rootDir: string,
204
+ ): Promise<void> {
171
205
  // Check if any file needs a tree
172
206
  let needsParse = false;
173
207
  for (const [relPath, symbols] of fileSymbols) {
@@ -192,18 +226,18 @@ export async function ensureWasmTrees(fileSymbols, rootDir) {
192
226
  if (!parser) continue;
193
227
 
194
228
  const absPath = path.join(rootDir, relPath);
195
- let code;
229
+ let code: string;
196
230
  try {
197
231
  code = fs.readFileSync(absPath, 'utf-8');
198
- } catch (e) {
199
- debug(`ensureWasmTrees: cannot read ${relPath}: ${e.message}`);
232
+ } catch (e: unknown) {
233
+ debug(`ensureWasmTrees: cannot read ${relPath}: ${(e as Error).message}`);
200
234
  continue;
201
235
  }
202
236
  try {
203
237
  symbols._tree = parser.parse(code);
204
238
  symbols._langId = entry.id;
205
- } catch (e) {
206
- debug(`ensureWasmTrees: parse failed for ${relPath}: ${e.message}`);
239
+ } catch (e: unknown) {
240
+ debug(`ensureWasmTrees: parse failed for ${relPath}: ${(e as Error).message}`);
207
241
  }
208
242
  }
209
243
  }
@@ -211,7 +245,7 @@ export async function ensureWasmTrees(fileSymbols, rootDir) {
211
245
  /**
212
246
  * Check whether the required WASM grammar files exist on disk.
213
247
  */
214
- export function isWasmAvailable() {
248
+ export function isWasmAvailable(): boolean {
215
249
  return LANGUAGE_REGISTRY.filter((e) => e.required).every((e) =>
216
250
  fs.existsSync(grammarPath(e.grammarFile)),
217
251
  );
@@ -219,7 +253,7 @@ export function isWasmAvailable() {
219
253
 
220
254
  // ── Unified API ──────────────────────────────────────────────────────────────
221
255
 
222
- function resolveEngine(opts = {}) {
256
+ function resolveEngine(opts: ParseEngineOpts = {}): ResolvedEngine {
223
257
  const pref = opts.engine || 'auto';
224
258
  if (pref === 'wasm') return { name: 'wasm', native: null };
225
259
  if (pref === 'native' || pref === 'auto') {
@@ -238,9 +272,10 @@ function resolveEngine(opts = {}) {
238
272
  * This only handles:
239
273
  * - _lineCount compat for builder.js
240
274
  * - Backward compat for older native binaries missing js_name annotations
241
- * - dataflow argFlows/mutations bindingType binding wrapper
275
+ * - dataflow argFlows/mutations bindingType -> binding wrapper
242
276
  */
243
- function patchNativeResult(r) {
277
+ // biome-ignore lint/suspicious/noExplicitAny: native addon result has no type declarations
278
+ function patchNativeResult(r: any): ExtractorOutput {
244
279
  // lineCount: napi(js_name) emits "lineCount"; older binaries may emit "line_count"
245
280
  r.lineCount = r.lineCount ?? r.line_count ?? null;
246
281
  r._lineCount = r.lineCount;
@@ -268,6 +303,20 @@ function patchNativeResult(r) {
268
303
  }
269
304
  }
270
305
 
306
+ // typeMap: native returns an array of {name, typeName}; normalize to Map.
307
+ // Non-TS languages may omit typeMap entirely — default to empty Map so
308
+ // callers can safely access .entries()/.size without null checks.
309
+ if (!r.typeMap) {
310
+ r.typeMap = new Map();
311
+ } else if (!(r.typeMap instanceof Map)) {
312
+ r.typeMap = new Map(
313
+ r.typeMap.map((e: { name: string; typeName: string }) => [
314
+ e.name,
315
+ { type: e.typeName, confidence: 0.9 } as TypeMapEntry,
316
+ ]),
317
+ );
318
+ }
319
+
271
320
  // dataflow: wrap bindingType into binding object for argFlows and mutations
272
321
  if (r.dataflow) {
273
322
  if (r.dataflow.argFlows) {
@@ -289,7 +338,7 @@ function patchNativeResult(r) {
289
338
  * Declarative registry of all supported languages.
290
339
  * Adding a new language requires only a new entry here + its extractor function.
291
340
  */
292
- export const LANGUAGE_REGISTRY = [
341
+ export const LANGUAGE_REGISTRY: LanguageRegistryEntry[] = [
293
342
  {
294
343
  id: 'javascript',
295
344
  extensions: ['.js', '.jsx', '.mjs', '.cjs'],
@@ -369,14 +418,14 @@ export const LANGUAGE_REGISTRY = [
369
418
  },
370
419
  ];
371
420
 
372
- const _extToLang = new Map();
421
+ const _extToLang: Map<string, LanguageRegistryEntry> = new Map();
373
422
  for (const entry of LANGUAGE_REGISTRY) {
374
423
  for (const ext of entry.extensions) {
375
424
  _extToLang.set(ext, entry);
376
425
  }
377
426
  }
378
427
 
379
- export const SUPPORTED_EXTENSIONS = new Set(_extToLang.keys());
428
+ export const SUPPORTED_EXTENSIONS: Set<string> = new Set(_extToLang.keys());
380
429
 
381
430
  /**
382
431
  * WASM-based typeMap backfill for older native binaries that don't emit typeMap.
@@ -384,26 +433,26 @@ export const SUPPORTED_EXTENSIONS = new Set(_extToLang.keys());
384
433
  * matches inside comments and string literals.
385
434
  * TODO: Remove once all published native binaries include typeMap extraction (>= 3.2.0)
386
435
  */
387
- async function backfillTypeMap(filePath, source) {
436
+ // biome-ignore lint/suspicious/noExplicitAny: return shape matches native result typeMap
437
+ async function backfillTypeMap(
438
+ filePath: string,
439
+ source?: string,
440
+ ): Promise<{ typeMap: Map<string, TypeMapEntry>; backfilled: boolean }> {
388
441
  let code = source;
389
442
  if (!code) {
390
443
  try {
391
444
  code = fs.readFileSync(filePath, 'utf-8');
392
445
  } catch {
393
- return { typeMap: [], backfilled: false };
446
+ return { typeMap: new Map(), backfilled: false };
394
447
  }
395
448
  }
396
449
  const parsers = await createParsers();
397
450
  const extracted = wasmExtractSymbols(parsers, filePath, code);
398
451
  try {
399
- if (!extracted?.symbols?.typeMap) {
400
- return { typeMap: [], backfilled: false };
452
+ if (!extracted || extracted.symbols.typeMap.size === 0) {
453
+ return { typeMap: new Map(), backfilled: false };
401
454
  }
402
- const tm = extracted.symbols.typeMap;
403
- return {
404
- typeMap: tm instanceof Map ? tm : new Map(tm.map((e) => [e.name, e.typeName])),
405
- backfilled: true,
406
- };
455
+ return { typeMap: extracted.symbols.typeMap, backfilled: true };
407
456
  } finally {
408
457
  // Free the WASM tree to prevent memory accumulation across repeated builds
409
458
  if (extracted?.tree && typeof extracted.tree.delete === 'function') {
@@ -417,35 +466,41 @@ async function backfillTypeMap(filePath, source) {
417
466
  /**
418
467
  * WASM extraction helper: picks the right extractor based on file extension.
419
468
  */
420
- function wasmExtractSymbols(parsers, filePath, code) {
469
+ function wasmExtractSymbols(
470
+ parsers: Map<string, Parser | null>,
471
+ filePath: string,
472
+ code: string,
473
+ ): WasmExtractResult | null {
421
474
  const parser = getParser(parsers, filePath);
422
475
  if (!parser) return null;
423
476
 
424
- let tree;
477
+ let tree: Tree | null;
425
478
  try {
426
479
  tree = parser.parse(code);
427
- } catch (e) {
428
- warn(`Parse error in ${filePath}: ${e.message}`);
480
+ } catch (e: unknown) {
481
+ warn(`Parse error in ${filePath}: ${(e as Error).message}`);
429
482
  return null;
430
483
  }
484
+ if (!tree) return null;
431
485
 
432
486
  const ext = path.extname(filePath);
433
487
  const entry = _extToLang.get(ext);
434
488
  if (!entry) return null;
435
- const query = _queryCache.get(entry.id) || null;
436
- const symbols = entry.extractor(tree, filePath, query);
489
+ const query = _queryCache.get(entry.id) ?? undefined;
490
+ // Query (web-tree-sitter) is structurally compatible with TreeSitterQuery at runtime
491
+ // biome-ignore lint/suspicious/noExplicitAny: thin WASM wrapper type mismatch
492
+ const symbols = entry.extractor(tree as any, filePath, query as any);
437
493
  return symbols ? { symbols, tree, langId: entry.id } : null;
438
494
  }
439
495
 
440
496
  /**
441
497
  * Parse a single file and return normalized symbols.
442
- *
443
- * @param {string} filePath Absolute path to the file.
444
- * @param {string} source Source code string.
445
- * @param {object} [opts] Options: { engine: 'native'|'wasm'|'auto' }
446
- * @returns {Promise<{definitions, calls, imports, classes, exports}|null>}
447
498
  */
448
- export async function parseFileAuto(filePath, source, opts = {}) {
499
+ export async function parseFileAuto(
500
+ filePath: string,
501
+ source: string,
502
+ opts: ParseEngineOpts = {},
503
+ ): Promise<ExtractorOutput | null> {
449
504
  const { native } = resolveEngine(opts);
450
505
 
451
506
  if (native) {
@@ -454,11 +509,7 @@ export async function parseFileAuto(filePath, source, opts = {}) {
454
509
  const patched = patchNativeResult(result);
455
510
  // Only backfill typeMap for TS/TSX — JS files have no type annotations,
456
511
  // and the native engine already handles `new Expr()` patterns.
457
- const TS_BACKFILL_EXTS = new Set(['.ts', '.tsx']);
458
- if (
459
- (!patched.typeMap || patched.typeMap.length === 0) &&
460
- TS_BACKFILL_EXTS.has(path.extname(filePath))
461
- ) {
512
+ if (patched.typeMap.size === 0 && TS_BACKFILL_EXTS.has(path.extname(filePath))) {
462
513
  const { typeMap, backfilled } = await backfillTypeMap(filePath, source);
463
514
  patched.typeMap = typeMap;
464
515
  if (backfilled) patched._typeMapBackfilled = true;
@@ -474,15 +525,14 @@ export async function parseFileAuto(filePath, source, opts = {}) {
474
525
 
475
526
  /**
476
527
  * Parse multiple files in bulk and return a Map<relPath, symbols>.
477
- *
478
- * @param {string[]} filePaths Absolute paths to files.
479
- * @param {string} rootDir Project root for computing relative paths.
480
- * @param {object} [opts] Options: { engine: 'native'|'wasm'|'auto' }
481
- * @returns {Promise<Map<string, {definitions, calls, imports, classes, exports}>>}
482
528
  */
483
- export async function parseFilesAuto(filePaths, rootDir, opts = {}) {
529
+ export async function parseFilesAuto(
530
+ filePaths: string[],
531
+ rootDir: string,
532
+ opts: ParseEngineOpts = {},
533
+ ): Promise<Map<string, ExtractorOutput>> {
484
534
  const { native } = resolveEngine(opts);
485
- const result = new Map();
535
+ const result = new Map<string, ExtractorOutput>();
486
536
 
487
537
  if (native) {
488
538
  const nativeResults = native.parseFiles(
@@ -491,13 +541,13 @@ export async function parseFilesAuto(filePaths, rootDir, opts = {}) {
491
541
  !!opts.dataflow,
492
542
  opts.ast !== false,
493
543
  );
494
- const needsTypeMap = [];
544
+ const needsTypeMap: { filePath: string; relPath: string }[] = [];
495
545
  for (const r of nativeResults) {
496
546
  if (!r) continue;
497
547
  const patched = patchNativeResult(r);
498
548
  const relPath = path.relative(rootDir, r.file).split(path.sep).join('/');
499
549
  result.set(relPath, patched);
500
- if (!patched.typeMap || patched.typeMap.length === 0) {
550
+ if (patched.typeMap.size === 0) {
501
551
  needsTypeMap.push({ filePath: r.file, relPath });
502
552
  }
503
553
  }
@@ -505,21 +555,20 @@ export async function parseFilesAuto(filePaths, rootDir, opts = {}) {
505
555
  if (needsTypeMap.length > 0) {
506
556
  // Only backfill for languages where WASM extraction can produce typeMap
507
557
  // (TS/TSX have type annotations; JS only has `new Expr()` which native already handles)
508
- const TS_EXTS = new Set(['.ts', '.tsx']);
509
- const tsFiles = needsTypeMap.filter(({ filePath }) => TS_EXTS.has(path.extname(filePath)));
558
+ const tsFiles = needsTypeMap.filter(({ filePath }) =>
559
+ TS_BACKFILL_EXTS.has(path.extname(filePath)),
560
+ );
510
561
  if (tsFiles.length > 0) {
511
562
  const parsers = await createParsers();
512
563
  for (const { filePath, relPath } of tsFiles) {
513
- let extracted;
564
+ let extracted: WasmExtractResult | null | undefined;
514
565
  try {
515
566
  const code = fs.readFileSync(filePath, 'utf-8');
516
567
  extracted = wasmExtractSymbols(parsers, filePath, code);
517
- if (extracted?.symbols?.typeMap) {
568
+ if (extracted?.symbols && extracted.symbols.typeMap.size > 0) {
518
569
  const symbols = result.get(relPath);
519
- symbols.typeMap =
520
- extracted.symbols.typeMap instanceof Map
521
- ? extracted.symbols.typeMap
522
- : new Map(extracted.symbols.typeMap.map((e) => [e.name, e.typeName]));
570
+ if (!symbols) continue;
571
+ symbols.typeMap = extracted.symbols.typeMap;
523
572
  symbols._typeMapBackfilled = true;
524
573
  }
525
574
  } catch {
@@ -541,11 +590,11 @@ export async function parseFilesAuto(filePaths, rootDir, opts = {}) {
541
590
  // WASM path
542
591
  const parsers = await createParsers();
543
592
  for (const filePath of filePaths) {
544
- let code;
593
+ let code: string;
545
594
  try {
546
595
  code = fs.readFileSync(filePath, 'utf-8');
547
- } catch (err) {
548
- warn(`Skipping ${path.relative(rootDir, filePath)}: ${err.message}`);
596
+ } catch (err: unknown) {
597
+ warn(`Skipping ${path.relative(rootDir, filePath)}: ${(err as Error).message}`);
549
598
  continue;
550
599
  }
551
600
  const extracted = wasmExtractSymbols(parsers, filePath, code);
@@ -562,13 +611,13 @@ export async function parseFilesAuto(filePaths, rootDir, opts = {}) {
562
611
 
563
612
  /**
564
613
  * Report which engine is active.
565
- *
566
- * @param {object} [opts] Options: { engine: 'native'|'wasm'|'auto' }
567
- * @returns {{ name: 'native'|'wasm', version: string|null }}
568
614
  */
569
- export function getActiveEngine(opts = {}) {
615
+ export function getActiveEngine(opts: ParseEngineOpts = {}): {
616
+ name: 'native' | 'wasm';
617
+ version: string | null;
618
+ } {
570
619
  const { name, native } = resolveEngine(opts);
571
- let version = native
620
+ let version: string | null = native
572
621
  ? typeof native.engineVersion === 'function'
573
622
  ? native.engineVersion()
574
623
  : null
@@ -578,8 +627,8 @@ export function getActiveEngine(opts = {}) {
578
627
  if (native) {
579
628
  try {
580
629
  version = getNativePackageVersion() ?? version;
581
- } catch (e) {
582
- debug(`getNativePackageVersion failed: ${e.message}`);
630
+ } catch (e: unknown) {
631
+ debug(`getNativePackageVersion failed: ${(e as Error).message}`);
583
632
  }
584
633
  }
585
634
  return { name, version };
@@ -589,7 +638,8 @@ export function getActiveEngine(opts = {}) {
589
638
  * Create a native ParseTreeCache for incremental parsing.
590
639
  * Returns null if the native engine is unavailable (WASM fallback).
591
640
  */
592
- export function createParseTreeCache() {
641
+ // biome-ignore lint/suspicious/noExplicitAny: native ParseTreeCache has no type declarations
642
+ export function createParseTreeCache(): any {
593
643
  const native = loadNative();
594
644
  if (!native || !native.ParseTreeCache) return null;
595
645
  return new native.ParseTreeCache();
@@ -597,25 +647,21 @@ export function createParseTreeCache() {
597
647
 
598
648
  /**
599
649
  * Parse a file incrementally using the cache, or fall back to full parse.
600
- *
601
- * @param {object|null} cache ParseTreeCache instance (or null for full parse)
602
- * @param {string} filePath Absolute path to the file
603
- * @param {string} source Source code string
604
- * @param {object} [opts] Options forwarded to parseFileAuto on fallback
605
- * @returns {Promise<{definitions, calls, imports, classes, exports}|null>}
606
650
  */
607
- export async function parseFileIncremental(cache, filePath, source, opts = {}) {
651
+ // biome-ignore lint/suspicious/noExplicitAny: cache is native ParseTreeCache with no type declarations
652
+ export async function parseFileIncremental(
653
+ cache: any,
654
+ filePath: string,
655
+ source: string,
656
+ opts: ParseEngineOpts = {},
657
+ ): Promise<ExtractorOutput | null> {
608
658
  if (cache) {
609
659
  const result = cache.parseFile(filePath, source);
610
660
  if (!result) return null;
611
661
  const patched = patchNativeResult(result);
612
662
  // Only backfill typeMap for TS/TSX — JS files have no type annotations,
613
663
  // and the native engine already handles `new Expr()` patterns.
614
- const TS_BACKFILL_EXTS = new Set(['.ts', '.tsx']);
615
- if (
616
- (!patched.typeMap || patched.typeMap.length === 0) &&
617
- TS_BACKFILL_EXTS.has(path.extname(filePath))
618
- ) {
664
+ if (patched.typeMap.size === 0 && TS_BACKFILL_EXTS.has(path.extname(filePath))) {
619
665
  const { typeMap, backfilled } = await backfillTypeMap(filePath, source);
620
666
  patched.typeMap = typeMap;
621
667
  if (backfilled) patched._typeMapBackfilled = true;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * queries.js — Barrel re-export file.
2
+ * queries.ts — Barrel re-export file.
3
3
  *
4
4
  * All query logic lives in the sub-modules under src/analysis/ and src/shared/.
5
5
  * This file exists purely for backward compatibility so that all existing