@optave/codegraph 3.12.0 → 3.15.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 (524) hide show
  1. package/README.md +83 -46
  2. package/dist/ast-analysis/engine.d.ts.map +1 -1
  3. package/dist/ast-analysis/engine.js +38 -40
  4. package/dist/ast-analysis/engine.js.map +1 -1
  5. package/dist/ast-analysis/rules/b2.d.ts +7 -0
  6. package/dist/ast-analysis/rules/b2.d.ts.map +1 -0
  7. package/dist/ast-analysis/rules/b2.js +240 -0
  8. package/dist/ast-analysis/rules/b2.js.map +1 -0
  9. package/dist/ast-analysis/rules/b3.d.ts +6 -0
  10. package/dist/ast-analysis/rules/b3.d.ts.map +1 -0
  11. package/dist/ast-analysis/rules/b3.js +105 -0
  12. package/dist/ast-analysis/rules/b3.js.map +1 -0
  13. package/dist/ast-analysis/rules/b4.d.ts +9 -0
  14. package/dist/ast-analysis/rules/b4.d.ts.map +1 -0
  15. package/dist/ast-analysis/rules/b4.js +361 -0
  16. package/dist/ast-analysis/rules/b4.js.map +1 -0
  17. package/dist/ast-analysis/rules/b5.d.ts +4 -0
  18. package/dist/ast-analysis/rules/b5.d.ts.map +1 -0
  19. package/dist/ast-analysis/rules/b5.js +52 -0
  20. package/dist/ast-analysis/rules/b5.js.map +1 -0
  21. package/dist/ast-analysis/rules/c.d.ts +4 -0
  22. package/dist/ast-analysis/rules/c.d.ts.map +1 -0
  23. package/dist/ast-analysis/rules/c.js +143 -0
  24. package/dist/ast-analysis/rules/c.js.map +1 -0
  25. package/dist/ast-analysis/rules/index.d.ts.map +1 -1
  26. package/dist/ast-analysis/rules/index.js +34 -0
  27. package/dist/ast-analysis/rules/index.js.map +1 -1
  28. package/dist/ast-analysis/rules/javascript.d.ts.map +1 -1
  29. package/dist/ast-analysis/rules/javascript.js +3 -0
  30. package/dist/ast-analysis/rules/javascript.js.map +1 -1
  31. package/dist/ast-analysis/shared.d.ts.map +1 -1
  32. package/dist/ast-analysis/shared.js +2 -0
  33. package/dist/ast-analysis/shared.js.map +1 -1
  34. package/dist/ast-analysis/visitor-utils.d.ts +1 -0
  35. package/dist/ast-analysis/visitor-utils.d.ts.map +1 -1
  36. package/dist/ast-analysis/visitor-utils.js +5 -0
  37. package/dist/ast-analysis/visitor-utils.js.map +1 -1
  38. package/dist/ast-analysis/visitor.d.ts.map +1 -1
  39. package/dist/ast-analysis/visitor.js +60 -47
  40. package/dist/ast-analysis/visitor.js.map +1 -1
  41. package/dist/ast-analysis/visitors/cfg-visitor.d.ts.map +1 -1
  42. package/dist/ast-analysis/visitors/cfg-visitor.js +126 -76
  43. package/dist/ast-analysis/visitors/cfg-visitor.js.map +1 -1
  44. package/dist/ast-analysis/visitors/complexity-visitor.d.ts.map +1 -1
  45. package/dist/ast-analysis/visitors/complexity-visitor.js +27 -15
  46. package/dist/ast-analysis/visitors/complexity-visitor.js.map +1 -1
  47. package/dist/ast-analysis/visitors/dataflow-visitor.d.ts.map +1 -1
  48. package/dist/ast-analysis/visitors/dataflow-visitor.js +54 -21
  49. package/dist/ast-analysis/visitors/dataflow-visitor.js.map +1 -1
  50. package/dist/cli/commands/audit.d.ts.map +1 -1
  51. package/dist/cli/commands/audit.js +2 -1
  52. package/dist/cli/commands/audit.js.map +1 -1
  53. package/dist/cli/commands/batch.d.ts.map +1 -1
  54. package/dist/cli/commands/batch.js +1 -0
  55. package/dist/cli/commands/batch.js.map +1 -1
  56. package/dist/cli/commands/build.d.ts.map +1 -1
  57. package/dist/cli/commands/build.js +6 -1
  58. package/dist/cli/commands/build.js.map +1 -1
  59. package/dist/cli/commands/config.d.ts +3 -0
  60. package/dist/cli/commands/config.d.ts.map +1 -0
  61. package/dist/cli/commands/config.js +275 -0
  62. package/dist/cli/commands/config.js.map +1 -0
  63. package/dist/cli/commands/roles.d.ts.map +1 -1
  64. package/dist/cli/commands/roles.js +6 -1
  65. package/dist/cli/commands/roles.js.map +1 -1
  66. package/dist/cli/commands/triage.js +1 -1
  67. package/dist/cli/commands/triage.js.map +1 -1
  68. package/dist/cli/index.d.ts.map +1 -1
  69. package/dist/cli/index.js +10 -0
  70. package/dist/cli/index.js.map +1 -1
  71. package/dist/cli/shared/options.d.ts +2 -1
  72. package/dist/cli/shared/options.d.ts.map +1 -1
  73. package/dist/cli/shared/options.js +11 -1
  74. package/dist/cli/shared/options.js.map +1 -1
  75. package/dist/cli/types.d.ts +2 -0
  76. package/dist/cli/types.d.ts.map +1 -1
  77. package/dist/db/better-sqlite3.d.ts +2 -1
  78. package/dist/db/better-sqlite3.d.ts.map +1 -1
  79. package/dist/db/better-sqlite3.js.map +1 -1
  80. package/dist/db/connection.d.ts +7 -1
  81. package/dist/db/connection.d.ts.map +1 -1
  82. package/dist/db/connection.js +20 -5
  83. package/dist/db/connection.js.map +1 -1
  84. package/dist/db/index.d.ts +1 -1
  85. package/dist/db/index.d.ts.map +1 -1
  86. package/dist/db/index.js +1 -1
  87. package/dist/db/index.js.map +1 -1
  88. package/dist/db/migrations.d.ts.map +1 -1
  89. package/dist/db/migrations.js +69 -1
  90. package/dist/db/migrations.js.map +1 -1
  91. package/dist/db/repository/build-stmts.d.ts.map +1 -1
  92. package/dist/db/repository/build-stmts.js +18 -0
  93. package/dist/db/repository/build-stmts.js.map +1 -1
  94. package/dist/db/repository/dataflow.d.ts +5 -0
  95. package/dist/db/repository/dataflow.d.ts.map +1 -1
  96. package/dist/db/repository/dataflow.js +14 -0
  97. package/dist/db/repository/dataflow.js.map +1 -1
  98. package/dist/db/repository/index.d.ts +1 -1
  99. package/dist/db/repository/index.d.ts.map +1 -1
  100. package/dist/db/repository/index.js +1 -1
  101. package/dist/db/repository/index.js.map +1 -1
  102. package/dist/db/repository/native-repository.d.ts.map +1 -1
  103. package/dist/db/repository/native-repository.js +47 -34
  104. package/dist/db/repository/native-repository.js.map +1 -1
  105. package/dist/domain/analysis/context.d.ts +2 -2
  106. package/dist/domain/analysis/dependencies.d.ts +2 -2
  107. package/dist/domain/analysis/diff-impact.d.ts +2 -2
  108. package/dist/domain/analysis/fn-impact.d.ts +3 -1
  109. package/dist/domain/analysis/fn-impact.d.ts.map +1 -1
  110. package/dist/domain/analysis/fn-impact.js +4 -0
  111. package/dist/domain/analysis/fn-impact.js.map +1 -1
  112. package/dist/domain/analysis/implementations.d.ts +2 -2
  113. package/dist/domain/analysis/module-map.d.ts.map +1 -1
  114. package/dist/domain/analysis/module-map.js +32 -5
  115. package/dist/domain/analysis/module-map.js.map +1 -1
  116. package/dist/domain/analysis/roles.d.ts +7 -1
  117. package/dist/domain/analysis/roles.d.ts.map +1 -1
  118. package/dist/domain/analysis/roles.js +16 -0
  119. package/dist/domain/analysis/roles.js.map +1 -1
  120. package/dist/domain/analysis/symbol-lookup.d.ts +4 -4
  121. package/dist/domain/graph/builder/call-resolver.d.ts +29 -13
  122. package/dist/domain/graph/builder/call-resolver.d.ts.map +1 -1
  123. package/dist/domain/graph/builder/call-resolver.js +125 -205
  124. package/dist/domain/graph/builder/call-resolver.js.map +1 -1
  125. package/dist/domain/graph/builder/cha.d.ts +9 -1
  126. package/dist/domain/graph/builder/cha.d.ts.map +1 -1
  127. package/dist/domain/graph/builder/cha.js +17 -2
  128. package/dist/domain/graph/builder/cha.js.map +1 -1
  129. package/dist/domain/graph/builder/context.d.ts +1 -0
  130. package/dist/domain/graph/builder/context.d.ts.map +1 -1
  131. package/dist/domain/graph/builder/context.js.map +1 -1
  132. package/dist/domain/graph/builder/helpers.d.ts +24 -1
  133. package/dist/domain/graph/builder/helpers.d.ts.map +1 -1
  134. package/dist/domain/graph/builder/helpers.js +174 -65
  135. package/dist/domain/graph/builder/helpers.js.map +1 -1
  136. package/dist/domain/graph/builder/incremental.d.ts.map +1 -1
  137. package/dist/domain/graph/builder/incremental.js +166 -97
  138. package/dist/domain/graph/builder/incremental.js.map +1 -1
  139. package/dist/domain/graph/builder/pipeline.d.ts.map +1 -1
  140. package/dist/domain/graph/builder/pipeline.js +46 -5
  141. package/dist/domain/graph/builder/pipeline.js.map +1 -1
  142. package/dist/domain/graph/builder/stages/build-edges.d.ts +0 -2
  143. package/dist/domain/graph/builder/stages/build-edges.d.ts.map +1 -1
  144. package/dist/domain/graph/builder/stages/build-edges.js +554 -538
  145. package/dist/domain/graph/builder/stages/build-edges.js.map +1 -1
  146. package/dist/domain/graph/builder/stages/collect-files.d.ts.map +1 -1
  147. package/dist/domain/graph/builder/stages/collect-files.js +10 -7
  148. package/dist/domain/graph/builder/stages/collect-files.js.map +1 -1
  149. package/dist/domain/graph/builder/stages/detect-changes.d.ts.map +1 -1
  150. package/dist/domain/graph/builder/stages/detect-changes.js +3 -2
  151. package/dist/domain/graph/builder/stages/detect-changes.js.map +1 -1
  152. package/dist/domain/graph/builder/stages/finalize.d.ts.map +1 -1
  153. package/dist/domain/graph/builder/stages/finalize.js +4 -0
  154. package/dist/domain/graph/builder/stages/finalize.js.map +1 -1
  155. package/dist/domain/graph/builder/stages/native-orchestrator.d.ts.map +1 -1
  156. package/dist/domain/graph/builder/stages/native-orchestrator.js +952 -343
  157. package/dist/domain/graph/builder/stages/native-orchestrator.js.map +1 -1
  158. package/dist/domain/graph/builder/stages/resolve-imports.js +1 -1
  159. package/dist/domain/graph/builder/stages/resolve-imports.js.map +1 -1
  160. package/dist/domain/graph/resolver/points-to.d.ts.map +1 -1
  161. package/dist/domain/graph/resolver/points-to.js +105 -57
  162. package/dist/domain/graph/resolver/points-to.js.map +1 -1
  163. package/dist/domain/graph/resolver/strategy.d.ts +61 -0
  164. package/dist/domain/graph/resolver/strategy.d.ts.map +1 -0
  165. package/dist/domain/graph/resolver/strategy.js +222 -0
  166. package/dist/domain/graph/resolver/strategy.js.map +1 -0
  167. package/dist/domain/graph/watcher.d.ts.map +1 -1
  168. package/dist/domain/graph/watcher.js +16 -9
  169. package/dist/domain/graph/watcher.js.map +1 -1
  170. package/dist/domain/parser.d.ts +16 -5
  171. package/dist/domain/parser.d.ts.map +1 -1
  172. package/dist/domain/parser.js +58 -17
  173. package/dist/domain/parser.js.map +1 -1
  174. package/dist/domain/queries.d.ts +1 -1
  175. package/dist/domain/queries.d.ts.map +1 -1
  176. package/dist/domain/queries.js +1 -1
  177. package/dist/domain/queries.js.map +1 -1
  178. package/dist/domain/wasm-worker-entry.js +13 -2
  179. package/dist/domain/wasm-worker-entry.js.map +1 -1
  180. package/dist/domain/wasm-worker-pool.d.ts.map +1 -1
  181. package/dist/domain/wasm-worker-pool.js +26 -5
  182. package/dist/domain/wasm-worker-pool.js.map +1 -1
  183. package/dist/domain/wasm-worker-protocol.d.ts +8 -0
  184. package/dist/domain/wasm-worker-protocol.d.ts.map +1 -1
  185. package/dist/extractors/cpp.d.ts.map +1 -1
  186. package/dist/extractors/cpp.js +42 -1
  187. package/dist/extractors/cpp.js.map +1 -1
  188. package/dist/extractors/cuda.d.ts.map +1 -1
  189. package/dist/extractors/cuda.js +42 -1
  190. package/dist/extractors/cuda.js.map +1 -1
  191. package/dist/extractors/dart.js +48 -3
  192. package/dist/extractors/dart.js.map +1 -1
  193. package/dist/extractors/groovy.js +62 -3
  194. package/dist/extractors/groovy.js.map +1 -1
  195. package/dist/extractors/helpers.d.ts +15 -2
  196. package/dist/extractors/helpers.d.ts.map +1 -1
  197. package/dist/extractors/helpers.js +45 -1
  198. package/dist/extractors/helpers.js.map +1 -1
  199. package/dist/extractors/java.d.ts.map +1 -1
  200. package/dist/extractors/java.js +85 -8
  201. package/dist/extractors/java.js.map +1 -1
  202. package/dist/extractors/javascript.d.ts.map +1 -1
  203. package/dist/extractors/javascript.js +686 -169
  204. package/dist/extractors/javascript.js.map +1 -1
  205. package/dist/extractors/kotlin.js +58 -3
  206. package/dist/extractors/kotlin.js.map +1 -1
  207. package/dist/extractors/objc.js +25 -2
  208. package/dist/extractors/objc.js.map +1 -1
  209. package/dist/extractors/scala.js +62 -2
  210. package/dist/extractors/scala.js.map +1 -1
  211. package/dist/extractors/swift.js +52 -3
  212. package/dist/extractors/swift.js.map +1 -1
  213. package/dist/features/audit.js +26 -23
  214. package/dist/features/audit.js.map +1 -1
  215. package/dist/features/boundaries.d.ts.map +1 -1
  216. package/dist/features/boundaries.js +12 -9
  217. package/dist/features/boundaries.js.map +1 -1
  218. package/dist/features/cfg.d.ts.map +1 -1
  219. package/dist/features/cfg.js +25 -18
  220. package/dist/features/cfg.js.map +1 -1
  221. package/dist/features/check.d.ts.map +1 -1
  222. package/dist/features/check.js +18 -5
  223. package/dist/features/check.js.map +1 -1
  224. package/dist/features/communities.d.ts +4 -2
  225. package/dist/features/communities.d.ts.map +1 -1
  226. package/dist/features/communities.js +6 -4
  227. package/dist/features/communities.js.map +1 -1
  228. package/dist/features/dataflow.d.ts +60 -0
  229. package/dist/features/dataflow.d.ts.map +1 -1
  230. package/dist/features/dataflow.js +530 -6
  231. package/dist/features/dataflow.js.map +1 -1
  232. package/dist/features/manifesto.d.ts.map +1 -1
  233. package/dist/features/manifesto.js +59 -72
  234. package/dist/features/manifesto.js.map +1 -1
  235. package/dist/features/sequence.d.ts.map +1 -1
  236. package/dist/features/sequence.js +27 -22
  237. package/dist/features/sequence.js.map +1 -1
  238. package/dist/features/snapshot.d.ts.map +1 -1
  239. package/dist/features/snapshot.js +36 -28
  240. package/dist/features/snapshot.js.map +1 -1
  241. package/dist/features/structure-query.d.ts +1 -1
  242. package/dist/features/structure-query.d.ts.map +1 -1
  243. package/dist/features/structure-query.js +6 -6
  244. package/dist/features/structure-query.js.map +1 -1
  245. package/dist/features/structure.d.ts.map +1 -1
  246. package/dist/features/structure.js +150 -62
  247. package/dist/features/structure.js.map +1 -1
  248. package/dist/features/triage.d.ts.map +1 -1
  249. package/dist/features/triage.js +18 -11
  250. package/dist/features/triage.js.map +1 -1
  251. package/dist/graph/algorithms/bfs.d.ts +1 -1
  252. package/dist/graph/algorithms/bfs.d.ts.map +1 -1
  253. package/dist/graph/algorithms/bfs.js +14 -13
  254. package/dist/graph/algorithms/bfs.js.map +1 -1
  255. package/dist/graph/algorithms/tarjan.d.ts.map +1 -1
  256. package/dist/graph/algorithms/tarjan.js +5 -0
  257. package/dist/graph/algorithms/tarjan.js.map +1 -1
  258. package/dist/graph/builders/dependency.js +28 -22
  259. package/dist/graph/builders/dependency.js.map +1 -1
  260. package/dist/graph/classifiers/roles.d.ts +10 -1
  261. package/dist/graph/classifiers/roles.d.ts.map +1 -1
  262. package/dist/graph/classifiers/roles.js +60 -6
  263. package/dist/graph/classifiers/roles.js.map +1 -1
  264. package/dist/index.d.ts +1 -1
  265. package/dist/index.d.ts.map +1 -1
  266. package/dist/index.js +1 -1
  267. package/dist/index.js.map +1 -1
  268. package/dist/infrastructure/config.d.ts +87 -4
  269. package/dist/infrastructure/config.d.ts.map +1 -1
  270. package/dist/infrastructure/config.js +424 -22
  271. package/dist/infrastructure/config.js.map +1 -1
  272. package/dist/infrastructure/registry.d.ts +27 -7
  273. package/dist/infrastructure/registry.d.ts.map +1 -1
  274. package/dist/infrastructure/registry.js +79 -5
  275. package/dist/infrastructure/registry.js.map +1 -1
  276. package/dist/infrastructure/update-check.d.ts.map +1 -1
  277. package/dist/infrastructure/update-check.js +49 -31
  278. package/dist/infrastructure/update-check.js.map +1 -1
  279. package/dist/mcp/server.d.ts +2 -10
  280. package/dist/mcp/server.d.ts.map +1 -1
  281. package/dist/mcp/server.js.map +1 -1
  282. package/dist/mcp/tools/ast-query.d.ts +1 -1
  283. package/dist/mcp/tools/ast-query.d.ts.map +1 -1
  284. package/dist/mcp/tools/audit.d.ts +1 -1
  285. package/dist/mcp/tools/audit.d.ts.map +1 -1
  286. package/dist/mcp/tools/batch-query.d.ts +1 -1
  287. package/dist/mcp/tools/batch-query.d.ts.map +1 -1
  288. package/dist/mcp/tools/branch-compare.d.ts +1 -1
  289. package/dist/mcp/tools/branch-compare.d.ts.map +1 -1
  290. package/dist/mcp/tools/brief.d.ts +1 -1
  291. package/dist/mcp/tools/brief.d.ts.map +1 -1
  292. package/dist/mcp/tools/cfg.d.ts +1 -1
  293. package/dist/mcp/tools/cfg.d.ts.map +1 -1
  294. package/dist/mcp/tools/check.d.ts +1 -1
  295. package/dist/mcp/tools/check.d.ts.map +1 -1
  296. package/dist/mcp/tools/co-changes.d.ts +1 -1
  297. package/dist/mcp/tools/co-changes.d.ts.map +1 -1
  298. package/dist/mcp/tools/code-owners.d.ts +1 -1
  299. package/dist/mcp/tools/code-owners.d.ts.map +1 -1
  300. package/dist/mcp/tools/communities.d.ts +1 -1
  301. package/dist/mcp/tools/communities.d.ts.map +1 -1
  302. package/dist/mcp/tools/complexity.d.ts +1 -1
  303. package/dist/mcp/tools/complexity.d.ts.map +1 -1
  304. package/dist/mcp/tools/context.d.ts +1 -1
  305. package/dist/mcp/tools/context.d.ts.map +1 -1
  306. package/dist/mcp/tools/dataflow.d.ts +1 -1
  307. package/dist/mcp/tools/dataflow.d.ts.map +1 -1
  308. package/dist/mcp/tools/diff-impact.d.ts +1 -1
  309. package/dist/mcp/tools/diff-impact.d.ts.map +1 -1
  310. package/dist/mcp/tools/execution-flow.d.ts +1 -1
  311. package/dist/mcp/tools/execution-flow.d.ts.map +1 -1
  312. package/dist/mcp/tools/export-graph.d.ts +1 -1
  313. package/dist/mcp/tools/export-graph.d.ts.map +1 -1
  314. package/dist/mcp/tools/file-deps.d.ts +1 -1
  315. package/dist/mcp/tools/file-deps.d.ts.map +1 -1
  316. package/dist/mcp/tools/file-exports.d.ts +1 -1
  317. package/dist/mcp/tools/file-exports.d.ts.map +1 -1
  318. package/dist/mcp/tools/find-cycles.d.ts +1 -1
  319. package/dist/mcp/tools/find-cycles.d.ts.map +1 -1
  320. package/dist/mcp/tools/fn-impact.d.ts +1 -1
  321. package/dist/mcp/tools/fn-impact.d.ts.map +1 -1
  322. package/dist/mcp/tools/impact-analysis.d.ts +1 -1
  323. package/dist/mcp/tools/impact-analysis.d.ts.map +1 -1
  324. package/dist/mcp/tools/implementations.d.ts +1 -1
  325. package/dist/mcp/tools/implementations.d.ts.map +1 -1
  326. package/dist/mcp/tools/index.d.ts +2 -5
  327. package/dist/mcp/tools/index.d.ts.map +1 -1
  328. package/dist/mcp/tools/index.js.map +1 -1
  329. package/dist/mcp/tools/interfaces.d.ts +1 -1
  330. package/dist/mcp/tools/interfaces.d.ts.map +1 -1
  331. package/dist/mcp/tools/list-functions.d.ts +1 -1
  332. package/dist/mcp/tools/list-functions.d.ts.map +1 -1
  333. package/dist/mcp/tools/list-repos.d.ts +1 -1
  334. package/dist/mcp/tools/list-repos.d.ts.map +1 -1
  335. package/dist/mcp/tools/module-map.d.ts +1 -1
  336. package/dist/mcp/tools/module-map.d.ts.map +1 -1
  337. package/dist/mcp/tools/node-roles.d.ts +1 -1
  338. package/dist/mcp/tools/node-roles.d.ts.map +1 -1
  339. package/dist/mcp/tools/path.d.ts +1 -1
  340. package/dist/mcp/tools/path.d.ts.map +1 -1
  341. package/dist/mcp/tools/query.d.ts +1 -1
  342. package/dist/mcp/tools/query.d.ts.map +1 -1
  343. package/dist/mcp/tools/semantic-search.d.ts +1 -1
  344. package/dist/mcp/tools/semantic-search.d.ts.map +1 -1
  345. package/dist/mcp/tools/sequence.d.ts +1 -1
  346. package/dist/mcp/tools/sequence.d.ts.map +1 -1
  347. package/dist/mcp/tools/structure.d.ts +1 -1
  348. package/dist/mcp/tools/structure.d.ts.map +1 -1
  349. package/dist/mcp/tools/symbol-children.d.ts +1 -1
  350. package/dist/mcp/tools/symbol-children.d.ts.map +1 -1
  351. package/dist/mcp/tools/triage.d.ts +1 -1
  352. package/dist/mcp/tools/triage.d.ts.map +1 -1
  353. package/dist/mcp/tools/where.d.ts +1 -1
  354. package/dist/mcp/tools/where.d.ts.map +1 -1
  355. package/dist/mcp/types.d.ts +19 -0
  356. package/dist/mcp/types.d.ts.map +1 -0
  357. package/dist/mcp/types.js +6 -0
  358. package/dist/mcp/types.js.map +1 -0
  359. package/dist/presentation/queries-cli/index.d.ts +1 -1
  360. package/dist/presentation/queries-cli/index.d.ts.map +1 -1
  361. package/dist/presentation/queries-cli/index.js +1 -1
  362. package/dist/presentation/queries-cli/index.js.map +1 -1
  363. package/dist/presentation/queries-cli/overview.d.ts +1 -0
  364. package/dist/presentation/queries-cli/overview.d.ts.map +1 -1
  365. package/dist/presentation/queries-cli/overview.js +20 -1
  366. package/dist/presentation/queries-cli/overview.js.map +1 -1
  367. package/dist/presentation/queries-cli.d.ts +1 -1
  368. package/dist/presentation/queries-cli.d.ts.map +1 -1
  369. package/dist/presentation/queries-cli.js +1 -1
  370. package/dist/presentation/queries-cli.js.map +1 -1
  371. package/dist/presentation/structure.d.ts +1 -1
  372. package/dist/presentation/structure.d.ts.map +1 -1
  373. package/dist/presentation/structure.js +2 -2
  374. package/dist/presentation/structure.js.map +1 -1
  375. package/dist/presentation/viewer.d.ts.map +1 -1
  376. package/dist/presentation/viewer.js +45 -32
  377. package/dist/presentation/viewer.js.map +1 -1
  378. package/dist/shared/constants.d.ts +21 -0
  379. package/dist/shared/constants.d.ts.map +1 -1
  380. package/dist/shared/constants.js +25 -0
  381. package/dist/shared/constants.js.map +1 -1
  382. package/dist/shared/normalize.d.ts.map +1 -1
  383. package/dist/shared/normalize.js +12 -22
  384. package/dist/shared/normalize.js.map +1 -1
  385. package/dist/shared/paginate.d.ts +4 -17
  386. package/dist/shared/paginate.d.ts.map +1 -1
  387. package/dist/shared/paginate.js.map +1 -1
  388. package/dist/types.d.ts +113 -1
  389. package/dist/types.d.ts.map +1 -1
  390. package/grammars/tree-sitter-erlang.wasm +0 -0
  391. package/grammars/tree-sitter-gleam.wasm +0 -0
  392. package/package.json +7 -8
  393. package/src/ast-analysis/engine.ts +43 -63
  394. package/src/ast-analysis/rules/b2.ts +263 -0
  395. package/src/ast-analysis/rules/b3.ts +127 -0
  396. package/src/ast-analysis/rules/b4.ts +378 -0
  397. package/src/ast-analysis/rules/b5.ts +65 -0
  398. package/src/ast-analysis/rules/c.ts +157 -0
  399. package/src/ast-analysis/rules/index.ts +34 -0
  400. package/src/ast-analysis/rules/javascript.ts +3 -0
  401. package/src/ast-analysis/shared.ts +2 -0
  402. package/src/ast-analysis/visitor-utils.ts +5 -0
  403. package/src/ast-analysis/visitor.ts +82 -52
  404. package/src/ast-analysis/visitors/cfg-visitor.ts +198 -84
  405. package/src/ast-analysis/visitors/complexity-visitor.ts +44 -16
  406. package/src/ast-analysis/visitors/dataflow-visitor.ts +68 -29
  407. package/src/cli/commands/audit.ts +2 -1
  408. package/src/cli/commands/batch.ts +1 -0
  409. package/src/cli/commands/build.ts +6 -1
  410. package/src/cli/commands/config.ts +353 -0
  411. package/src/cli/commands/roles.ts +6 -1
  412. package/src/cli/commands/triage.ts +1 -1
  413. package/src/cli/index.ts +10 -0
  414. package/src/cli/shared/options.ts +11 -1
  415. package/src/cli/types.ts +2 -0
  416. package/src/db/better-sqlite3.ts +5 -4
  417. package/src/db/connection.ts +23 -5
  418. package/src/db/index.ts +1 -0
  419. package/src/db/migrations.ts +69 -1
  420. package/src/db/repository/build-stmts.ts +30 -0
  421. package/src/db/repository/dataflow.ts +16 -0
  422. package/src/db/repository/index.ts +1 -1
  423. package/src/db/repository/native-repository.ts +56 -40
  424. package/src/domain/analysis/fn-impact.ts +4 -0
  425. package/src/domain/analysis/module-map.ts +38 -6
  426. package/src/domain/analysis/roles.ts +23 -0
  427. package/src/domain/graph/builder/call-resolver.ts +156 -218
  428. package/src/domain/graph/builder/cha.ts +18 -1
  429. package/src/domain/graph/builder/context.ts +1 -0
  430. package/src/domain/graph/builder/helpers.ts +205 -67
  431. package/src/domain/graph/builder/incremental.ts +249 -119
  432. package/src/domain/graph/builder/pipeline.ts +59 -6
  433. package/src/domain/graph/builder/stages/build-edges.ts +783 -652
  434. package/src/domain/graph/builder/stages/collect-files.ts +12 -6
  435. package/src/domain/graph/builder/stages/detect-changes.ts +4 -2
  436. package/src/domain/graph/builder/stages/finalize.ts +4 -0
  437. package/src/domain/graph/builder/stages/native-orchestrator.ts +1214 -398
  438. package/src/domain/graph/builder/stages/resolve-imports.ts +1 -1
  439. package/src/domain/graph/resolver/points-to.ts +182 -59
  440. package/src/domain/graph/resolver/strategy.ts +265 -0
  441. package/src/domain/graph/watcher.ts +19 -9
  442. package/src/domain/parser.ts +57 -16
  443. package/src/domain/queries.ts +1 -1
  444. package/src/domain/wasm-worker-entry.ts +13 -2
  445. package/src/domain/wasm-worker-pool.ts +29 -4
  446. package/src/domain/wasm-worker-protocol.ts +5 -0
  447. package/src/extractors/cpp.ts +44 -1
  448. package/src/extractors/cuda.ts +44 -1
  449. package/src/extractors/dart.ts +48 -3
  450. package/src/extractors/groovy.ts +62 -2
  451. package/src/extractors/helpers.ts +48 -2
  452. package/src/extractors/java.ts +88 -8
  453. package/src/extractors/javascript.ts +693 -167
  454. package/src/extractors/kotlin.ts +57 -3
  455. package/src/extractors/objc.ts +25 -1
  456. package/src/extractors/scala.ts +63 -1
  457. package/src/extractors/swift.ts +46 -3
  458. package/src/features/audit.ts +43 -34
  459. package/src/features/boundaries.ts +17 -9
  460. package/src/features/cfg.ts +31 -22
  461. package/src/features/check.ts +21 -5
  462. package/src/features/communities.ts +28 -19
  463. package/src/features/dataflow.ts +755 -6
  464. package/src/features/manifesto.ts +76 -75
  465. package/src/features/sequence.ts +29 -23
  466. package/src/features/snapshot.ts +36 -25
  467. package/src/features/structure-query.ts +7 -7
  468. package/src/features/structure.ts +185 -55
  469. package/src/features/triage.ts +28 -15
  470. package/src/graph/algorithms/bfs.ts +13 -12
  471. package/src/graph/algorithms/tarjan.ts +5 -0
  472. package/src/graph/builders/dependency.ts +35 -23
  473. package/src/graph/classifiers/roles.ts +74 -7
  474. package/src/index.ts +5 -1
  475. package/src/infrastructure/config.ts +511 -23
  476. package/src/infrastructure/registry.ts +117 -12
  477. package/src/infrastructure/update-check.ts +55 -33
  478. package/src/mcp/server.ts +2 -8
  479. package/src/mcp/tools/ast-query.ts +1 -1
  480. package/src/mcp/tools/audit.ts +1 -1
  481. package/src/mcp/tools/batch-query.ts +1 -1
  482. package/src/mcp/tools/branch-compare.ts +1 -1
  483. package/src/mcp/tools/brief.ts +1 -1
  484. package/src/mcp/tools/cfg.ts +1 -1
  485. package/src/mcp/tools/check.ts +1 -1
  486. package/src/mcp/tools/co-changes.ts +1 -1
  487. package/src/mcp/tools/code-owners.ts +1 -1
  488. package/src/mcp/tools/communities.ts +1 -1
  489. package/src/mcp/tools/complexity.ts +1 -1
  490. package/src/mcp/tools/context.ts +1 -1
  491. package/src/mcp/tools/dataflow.ts +1 -1
  492. package/src/mcp/tools/diff-impact.ts +1 -1
  493. package/src/mcp/tools/execution-flow.ts +1 -1
  494. package/src/mcp/tools/export-graph.ts +1 -1
  495. package/src/mcp/tools/file-deps.ts +1 -1
  496. package/src/mcp/tools/file-exports.ts +1 -1
  497. package/src/mcp/tools/find-cycles.ts +1 -1
  498. package/src/mcp/tools/fn-impact.ts +1 -1
  499. package/src/mcp/tools/impact-analysis.ts +1 -1
  500. package/src/mcp/tools/implementations.ts +1 -1
  501. package/src/mcp/tools/index.ts +2 -5
  502. package/src/mcp/tools/interfaces.ts +1 -1
  503. package/src/mcp/tools/list-functions.ts +1 -1
  504. package/src/mcp/tools/list-repos.ts +1 -1
  505. package/src/mcp/tools/module-map.ts +1 -1
  506. package/src/mcp/tools/node-roles.ts +1 -1
  507. package/src/mcp/tools/path.ts +1 -1
  508. package/src/mcp/tools/query.ts +1 -1
  509. package/src/mcp/tools/semantic-search.ts +1 -1
  510. package/src/mcp/tools/sequence.ts +1 -1
  511. package/src/mcp/tools/structure.ts +1 -1
  512. package/src/mcp/tools/symbol-children.ts +1 -1
  513. package/src/mcp/tools/triage.ts +1 -1
  514. package/src/mcp/tools/where.ts +1 -1
  515. package/src/mcp/types.ts +21 -0
  516. package/src/presentation/queries-cli/index.ts +1 -1
  517. package/src/presentation/queries-cli/overview.ts +35 -1
  518. package/src/presentation/queries-cli.ts +1 -0
  519. package/src/presentation/structure.ts +3 -3
  520. package/src/presentation/viewer.ts +98 -87
  521. package/src/shared/constants.ts +26 -0
  522. package/src/shared/normalize.ts +13 -22
  523. package/src/shared/paginate.ts +4 -18
  524. package/src/types.ts +127 -1
@@ -106,24 +106,9 @@ export function buildLayoutOptions(cfg) {
106
106
  }
107
107
  return opts;
108
108
  }
109
- function resolvePlotConfig(cfg) {
110
- return {
111
- layoutOpts: buildLayoutOptions(cfg),
112
- title: cfg.title || 'Codegraph',
113
- layoutAlgorithm: cfg.layout?.algorithm || 'hierarchical',
114
- layoutDirection: cfg.layout?.direction || 'LR',
115
- physicsEnabled: cfg.physics?.enabled !== false,
116
- sizeBy: cfg.sizeBy || 'uniform',
117
- clusterBy: cfg.clusterBy || 'none',
118
- effectiveColorBy: cfg.overlays?.complexity && cfg.colorBy === 'kind' ? 'complexity' : cfg.colorBy || 'kind',
119
- effectiveRisk: cfg.overlays?.risk || false,
120
- };
121
- }
122
- export function renderPlotHTML(data, cfg) {
123
- const { layoutOpts, title, layoutAlgorithm, layoutDirection, physicsEnabled, sizeBy, clusterBy, effectiveColorBy, effectiveRisk, } = resolvePlotConfig(cfg);
124
- return `<!DOCTYPE html>
125
- <html lang="en">
126
- <head>
109
+ // ─── HTML Section Renderers ──────────────────────────────────────────
110
+ function renderViewerHead(title) {
111
+ return `<head>
127
112
  <meta charset="UTF-8">
128
113
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
129
114
  <title>${escapeHtml(title)}</title>
@@ -157,9 +142,11 @@ export function renderPlotHTML(data, cfg) {
157
142
  #legend div { display: flex; align-items: center; gap: 6px; margin: 2px 0; }
158
143
  #legend span.swatch { width: 14px; height: 14px; border-radius: 3px; display: inline-block; flex-shrink: 0; }
159
144
  </style>
160
- </head>
161
- <body>
162
- <div id="controls">
145
+ </head>`;
146
+ }
147
+ function renderViewerControls(resolved) {
148
+ const { layoutAlgorithm, physicsEnabled, effectiveColorBy, sizeBy, clusterBy, effectiveRisk } = resolved;
149
+ return `<div id="controls">
163
150
  <label>Layout:
164
151
  <select id="layoutSelect">
165
152
  <option value="hierarchical"${layoutAlgorithm === 'hierarchical' ? ' selected' : ''}>Hierarchical</option>
@@ -193,16 +180,11 @@ export function renderPlotHTML(data, cfg) {
193
180
  </select>
194
181
  </label>
195
182
  <label>Risk: <input type="checkbox" id="riskToggle"${effectiveRisk ? ' checked' : ''}></label>
196
- </div>
197
- <div id="main">
198
- <div id="graph"></div>
199
- <div id="detail">
200
- <span id="detailClose">&times;</span>
201
- <div id="detailContent"></div>
202
- </div>
203
- </div>
204
- <div id="legend"></div>
205
- <script>
183
+ </div>`;
184
+ }
185
+ function renderViewerScript(data, cfg, resolved) {
186
+ const { layoutOpts, layoutDirection, clusterBy, effectiveColorBy } = resolved;
187
+ return `<script>
206
188
  /* ── Data ──────────────────────────────────────────────────────────── */
207
189
  var allNodes = ${JSON.stringify(data.nodes)};
208
190
  var allEdges = ${JSON.stringify(data.edges)};
@@ -598,7 +580,38 @@ document.getElementById('detailClose').addEventListener('click', hideDetail);
598
580
  refreshNodeAppearance();
599
581
  updateLegend(${JSON.stringify(effectiveColorBy)});
600
582
  ${clusterBy !== 'none' ? `applyClusterBy(${JSON.stringify(clusterBy)});` : ''}
601
- </script>
583
+ </script>`;
584
+ }
585
+ function resolvePlotConfig(cfg) {
586
+ return {
587
+ layoutOpts: buildLayoutOptions(cfg),
588
+ title: cfg.title || 'Codegraph',
589
+ layoutAlgorithm: cfg.layout?.algorithm || 'hierarchical',
590
+ layoutDirection: cfg.layout?.direction || 'LR',
591
+ physicsEnabled: cfg.physics?.enabled !== false,
592
+ sizeBy: cfg.sizeBy || 'uniform',
593
+ clusterBy: cfg.clusterBy || 'none',
594
+ effectiveColorBy: cfg.overlays?.complexity && cfg.colorBy === 'kind' ? 'complexity' : cfg.colorBy || 'kind',
595
+ effectiveRisk: cfg.overlays?.risk || false,
596
+ };
597
+ }
598
+ export function renderPlotHTML(data, cfg) {
599
+ const resolved = resolvePlotConfig(cfg);
600
+ const { title } = resolved;
601
+ return `<!DOCTYPE html>
602
+ <html lang="en">
603
+ ${renderViewerHead(title)}
604
+ <body>
605
+ ${renderViewerControls(resolved)}
606
+ <div id="main">
607
+ <div id="graph"></div>
608
+ <div id="detail">
609
+ <span id="detailClose">&times;</span>
610
+ <div id="detailContent"></div>
611
+ </div>
612
+ </div>
613
+ <div id="legend"></div>
614
+ ${renderViewerScript(data, cfg, resolved)}
602
615
  </body>
603
616
  </html>`;
604
617
  }
@@ -1 +1 @@
1
- {"version":3,"file":"viewer.js","sourceRoot":"","sources":["../../src/presentation/viewer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"viewer.js","sourceRoot":"","sources":["../../src/presentation/viewer.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,28 @@ export interface ArrayCompatSet<T> extends Set<T> {
6
6
  toArray(): T[];
7
7
  }
8
8
  export declare const IGNORE_DIRS: ArrayCompatSet<string>;
9
+ /**
10
+ * Merge the global IGNORE_DIRS set with a per-repo additional list from config.
11
+ * Returns a new Set — does not mutate IGNORE_DIRS.
12
+ */
13
+ export declare function buildIgnoreSet(additionalDirs?: string[]): ReadonlySet<string>;
9
14
  export declare const EXTENSIONS: ArrayCompatSet<string>;
15
+ /**
16
+ * Minimum confidence assigned to resolved `ts-native` call edges.
17
+ *
18
+ * The native engine's proximity heuristic returns 0.3 for cross-module calls
19
+ * where no import-path evidence is available. For ts-native edges the engine
20
+ * performed actual name-based symbol lookup, which is stronger evidence than
21
+ * pure file-proximity. Clamping to 0.5 (same-parent-directory level) avoids
22
+ * unfairly dragging down the call-confidence metric. Sink edges
23
+ * (confidence = 0.0) are intentionally excluded and must remain at 0.0 so
24
+ * they stay below DEFAULT_MIN_CONFIDENCE and never surface in normal queries.
25
+ *
26
+ * Used in `build-edges.ts` (in-memory + `applyEdgeTechniquesAfterNativeInsert`)
27
+ * and `native-orchestrator.ts` (`backfillEdgeTechniquesAfterNativeOrchestrator`).
28
+ * Centralised here so all three insertion paths apply the same value.
29
+ */
30
+ export declare const TS_NATIVE_CONFIDENCE_FLOOR = 0.5;
10
31
  export declare function shouldIgnore(dirName: string): boolean;
11
32
  export declare function isSupportedFile(filePath: string): boolean;
12
33
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,CAAE,SAAQ,GAAG,CAAC,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC,EAAE,CAAC;CAChB;AAMD,eAAO,MAAM,WAAW,EAAE,cAAc,CAAC,MAAM,CAmB9C,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,cAAc,CAAC,MAAM,CAAkD,CAAC;AAEjG,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtD"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,CAAE,SAAQ,GAAG,CAAC,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC,EAAE,CAAC;CAChB;AAMD,eAAO,MAAM,WAAW,EAAE,cAAc,CAAC,MAAM,CAmB9C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAG7E;AAED,eAAO,MAAM,UAAU,EAAE,cAAc,CAAC,MAAM,CAAkD,CAAC;AAEjG;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtD"}
@@ -21,7 +21,32 @@ export const IGNORE_DIRS = withArrayCompat(new Set([
21
21
  'env',
22
22
  '.env',
23
23
  ]));
24
+ /**
25
+ * Merge the global IGNORE_DIRS set with a per-repo additional list from config.
26
+ * Returns a new Set — does not mutate IGNORE_DIRS.
27
+ */
28
+ export function buildIgnoreSet(additionalDirs) {
29
+ if (!additionalDirs || additionalDirs.length === 0)
30
+ return IGNORE_DIRS;
31
+ return new Set([...IGNORE_DIRS, ...additionalDirs]);
32
+ }
24
33
  export const EXTENSIONS = withArrayCompat(new Set(SUPPORTED_EXTENSIONS));
34
+ /**
35
+ * Minimum confidence assigned to resolved `ts-native` call edges.
36
+ *
37
+ * The native engine's proximity heuristic returns 0.3 for cross-module calls
38
+ * where no import-path evidence is available. For ts-native edges the engine
39
+ * performed actual name-based symbol lookup, which is stronger evidence than
40
+ * pure file-proximity. Clamping to 0.5 (same-parent-directory level) avoids
41
+ * unfairly dragging down the call-confidence metric. Sink edges
42
+ * (confidence = 0.0) are intentionally excluded and must remain at 0.0 so
43
+ * they stay below DEFAULT_MIN_CONFIDENCE and never surface in normal queries.
44
+ *
45
+ * Used in `build-edges.ts` (in-memory + `applyEdgeTechniquesAfterNativeInsert`)
46
+ * and `native-orchestrator.ts` (`backfillEdgeTechniquesAfterNativeOrchestrator`).
47
+ * Centralised here so all three insertion paths apply the same value.
48
+ */
49
+ export const TS_NATIVE_CONFIDENCE_FLOOR = 0.5;
25
50
  export function shouldIgnore(dirName) {
26
51
  return IGNORE_DIRS.has(dirName) || dirName.startsWith('.');
27
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAU3D,SAAS,eAAe,CAAI,CAAS;IACnC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAA2B,eAAe,CAChE,IAAI,GAAG,CAAC;IACN,cAAc;IACd,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,aAAa;IACb,UAAU;IACV,YAAY;IACZ,aAAa;IACb,MAAM;IACN,QAAQ;IACR,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;CACP,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAA2B,eAAe,CAAC,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAEjG,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,OAAO,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,OAAO,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAU3D,SAAS,eAAe,CAAI,CAAS;IACnC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAA2B,eAAe,CAChE,IAAI,GAAG,CAAC;IACN,cAAc;IACd,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,aAAa;IACb,UAAU;IACV,YAAY;IACZ,aAAa;IACb,MAAM;IACN,QAAQ;IACR,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;CACP,CAAC,CACH,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,cAAyB;IACtD,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IACvE,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAA2B,eAAe,CAAC,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAEjG;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAE9C,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,OAAO,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,OAAO,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/shared/normalize.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,UAAU,QAAQ;IAChB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;KAAE,CAAC;CAC9D;AAED,+EAA+E;AAC/E,UAAU,UAAU;IAClB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC1C;AAMD,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKrE;AAED,qGAAqG;AACrG,wBAAgB,WAAW,CAAC,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAC5F,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAEA;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAuB7C;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAqBD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,YAAY,EACjB,EAAE,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,IAAI,EACjC,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GACrC,gBAAgB,CAWlB"}
1
+ {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/shared/normalize.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,UAAU,QAAQ;IAChB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;KAAE,CAAC;CAC9D;AAED,+EAA+E;AAC/E,UAAU,UAAU;IAClB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC1C;AAMD,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKrE;AAED,qGAAqG;AACrG,wBAAgB,WAAW,CAAC,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAC5F,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAEA;AAcD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAqBD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,YAAY,EACjB,EAAE,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,IAAI,EACjC,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GACrC,gBAAgB,CAWlB"}
@@ -9,29 +9,19 @@ export function getFileHash(db, file) {
9
9
  export function toSymbolRef(row) {
10
10
  return { name: row.name, kind: row.kind, file: row.file, line: row.line };
11
11
  }
12
+ const KIND_ICONS = {
13
+ function: 'f',
14
+ class: '*',
15
+ method: 'o',
16
+ file: '#',
17
+ interface: 'I',
18
+ type: 'T',
19
+ parameter: 'p',
20
+ property: '.',
21
+ constant: 'C',
22
+ };
12
23
  export function kindIcon(kind) {
13
- switch (kind) {
14
- case 'function':
15
- return 'f';
16
- case 'class':
17
- return '*';
18
- case 'method':
19
- return 'o';
20
- case 'file':
21
- return '#';
22
- case 'interface':
23
- return 'I';
24
- case 'type':
25
- return 'T';
26
- case 'parameter':
27
- return 'p';
28
- case 'property':
29
- return '.';
30
- case 'constant':
31
- return 'C';
32
- default:
33
- return '-';
34
- }
24
+ return KIND_ICONS[kind] ?? '-';
35
25
  }
36
26
  /**
37
27
  * Resolve a file hash, using the cache when available.
@@ -1 +1 @@
1
- {"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../src/shared/normalize.ts"],"names":[],"mappings":"AAUA,SAAS,YAAY,CAAC,CAAU;IAC9B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,OAAQ,CAAgB,CAAC,WAAW,KAAK,UAAU,CAAC;AACpG,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAY,EAAE,IAAY;IACpD,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC,GAAG,CAAC,IAAI,CAEjE,CAAC;IACd,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/B,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,WAAW,CAAC,GAA+D;IAMzF,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,UAAU;YACb,OAAO,GAAG,CAAC;QACb,KAAK,OAAO;YACV,OAAO,GAAG,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,WAAW;YACd,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,WAAW;YACd,OAAO,GAAG,CAAC;QACb,KAAK,UAAU;YACb,OAAO,GAAG,CAAC;QACb,KAAK,UAAU;YACb,OAAO,GAAG,CAAC;QACb;YACE,OAAO,GAAG,CAAC;IACf,CAAC;AACH,CAAC;AAsBD;;;GAGG;AACH,SAAS,eAAe,CACtB,EAAyB,EACzB,IAAY,EACZ,SAAsC;IAEtC,MAAM,UAAU,GAAG,YAAY,CAAC,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,EAAc,EAAE,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,SAAS;QAAE,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,GAAiB,EACjB,EAAiC,EACjC,SAAsC;IAEtC,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,OAAO,IAAI,IAAI;QAC5C,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI;QACtB,QAAQ;KACT,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../src/shared/normalize.ts"],"names":[],"mappings":"AAUA,SAAS,YAAY,CAAC,CAAU;IAC9B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,OAAQ,CAAgB,CAAC,WAAW,KAAK,UAAU,CAAC;AACpG,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAY,EAAE,IAAY;IACpD,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC,GAAG,CAAC,IAAI,CAEjE,CAAC;IACd,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/B,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,WAAW,CAAC,GAA+D;IAMzF,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,GAAqC;IACnD,QAAQ,EAAE,GAAG;IACb,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,GAAG;IACT,SAAS,EAAE,GAAG;IACd,IAAI,EAAE,GAAG;IACT,SAAS,EAAE,GAAG;IACd,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;CACd,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;AACjC,CAAC;AAsBD;;;GAGG;AACH,SAAS,eAAe,CACtB,EAAyB,EACzB,IAAY,EACZ,SAAsC;IAEtC,MAAM,UAAU,GAAG,YAAY,CAAC,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,EAAc,EAAE,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,SAAS;QAAE,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,GAAiB,EACjB,EAAiC,EACjC,SAAsC;IAEtC,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,OAAO,IAAI,IAAI;QAC5C,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI;QACtB,QAAQ;KACT,CAAC;AACJ,CAAC"}
@@ -4,21 +4,8 @@
4
4
  * Offset/limit pagination — the DB is a read-only snapshot so data doesn't
5
5
  * change between pages; offset/limit is simpler and maps directly to SQL.
6
6
  */
7
- export interface PaginationMeta {
8
- total: number;
9
- offset: number;
10
- limit: number;
11
- hasMore: boolean;
12
- returned: number;
13
- }
14
- export interface PaginatedResult<T> {
15
- items: T[];
16
- pagination?: PaginationMeta;
17
- }
18
- export interface PaginateOpts {
19
- limit?: number;
20
- offset?: number;
21
- }
7
+ import type { PaginatedItems, PaginationMeta, PaginationOpts } from '../types.js';
8
+ export type { PaginatedItems as PaginatedResult, PaginationMeta, PaginationOpts as PaginateOpts };
22
9
  /** Default limits applied by MCP tool handlers (not by the programmatic API). */
23
10
  export declare const MCP_DEFAULTS: Record<string, number>;
24
11
  /**
@@ -32,14 +19,14 @@ export declare const MCP_MAX_LIMIT = 1000;
32
19
  *
33
20
  * When `limit` is undefined the input is returned unchanged (no-op).
34
21
  */
35
- export declare function paginate<T>(items: T[], { limit, offset }?: PaginateOpts): PaginatedResult<T>;
22
+ export declare function paginate<T>(items: T[], { limit, offset }?: PaginationOpts): PaginatedItems<T>;
36
23
  /**
37
24
  * Apply pagination to a named array field on a result object.
38
25
  *
39
26
  * When `limit` is undefined the result is returned unchanged (backward compat).
40
27
  * When active, `_pagination` metadata is added to the result.
41
28
  */
42
- export declare function paginateResult<T extends Record<string, unknown>>(result: T, field: string, { limit, offset }?: PaginateOpts): T & {
29
+ export declare function paginateResult<T extends Record<string, unknown>>(result: T, field: string, { limit, offset }?: PaginationOpts): T & {
43
30
  _pagination?: PaginationMeta;
44
31
  };
45
32
  //# sourceMappingURL=paginate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"paginate.d.ts","sourceRoot":"","sources":["../../src/shared/paginate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,iFAAiF;AACjF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAuB/C,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAG9F;AAED,yCAAyC;AACzC,eAAO,MAAM,aAAa,OAAO,CAAC;AAElC;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAE,YAAiB,GAAG,eAAe,CAAC,CAAC,CAAC,CAkBhG;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9D,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,MAAM,EACb,EAAE,KAAK,EAAE,MAAM,EAAE,GAAE,YAAiB,GACnC,CAAC,GAAG;IAAE,WAAW,CAAC,EAAE,cAAc,CAAA;CAAE,CAStC"}
1
+ {"version":3,"file":"paginate.d.ts","sourceRoot":"","sources":["../../src/shared/paginate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElF,YAAY,EAAE,cAAc,IAAI,eAAe,EAAE,cAAc,EAAE,cAAc,IAAI,YAAY,EAAE,CAAC;AAElG,iFAAiF;AACjF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAuB/C,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAG9F;AAED,yCAAyC;AACzC,eAAO,MAAM,aAAa,OAAO,CAAC;AAElC;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAE,cAAmB,GAAG,cAAc,CAAC,CAAC,CAAC,CAkBjG;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9D,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,MAAM,EACb,EAAE,KAAK,EAAE,MAAM,EAAE,GAAE,cAAmB,GACrC,CAAC,GAAG;IAAE,WAAW,CAAC,EAAE,cAAc,CAAA;CAAE,CAStC"}
@@ -1 +1 @@
1
- {"version":3,"file":"paginate.js","sourceRoot":"","sources":["../../src/shared/paginate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAoBH,iFAAiF;AACjF,MAAM,CAAC,MAAM,YAAY,GAA2B;IAClD,cAAc,EAAE,GAAG;IACnB,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,GAAG;IACjB,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,EAAE;IACb,YAAY,EAAE,EAAE;IAChB,WAAW,EAAE,EAAE;IACf,eAAe,EAAE,EAAE;IACnB,eAAe,EAAE,EAAE;IACnB,cAAc,EAAE,EAAE;IAClB,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,EAAE;IACd,UAAU,EAAE,EAAE;IACd,SAAS,EAAE,EAAE;IACb,WAAW,EAAE,EAAE;IACf,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;IACV,SAAS,EAAE,EAAE;CACd,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,cAAuC;IACpE,IAAI,CAAC,cAAc;QAAE,OAAO,YAAY,CAAC;IACzC,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,cAAc,EAAE,CAAC;AAChD,CAAC;AAED,yCAAyC;AACzC,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC;AAElC;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAI,KAAU,EAAE,EAAE,KAAK,EAAE,MAAM,KAAmB,EAAE;IAC1E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;IAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;IACzC,OAAO;QACL,KAAK,EAAE,IAAI;QACX,UAAU,EAAE;YACV,KAAK;YACL,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK;YAC1B,QAAQ,EAAE,IAAI,CAAC,MAAM;SACtB;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAS,EACT,KAAa,EACb,EAAE,KAAK,EAAE,MAAM,KAAmB,EAAE;IAEpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IAEvC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"paginate.js","sourceRoot":"","sources":["../../src/shared/paginate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,iFAAiF;AACjF,MAAM,CAAC,MAAM,YAAY,GAA2B;IAClD,cAAc,EAAE,GAAG;IACnB,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,GAAG;IACjB,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,EAAE;IACb,YAAY,EAAE,EAAE;IAChB,WAAW,EAAE,EAAE;IACf,eAAe,EAAE,EAAE;IACnB,eAAe,EAAE,EAAE;IACnB,cAAc,EAAE,EAAE;IAClB,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,EAAE;IACd,UAAU,EAAE,EAAE;IACd,SAAS,EAAE,EAAE;IACb,WAAW,EAAE,EAAE;IACf,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;IACV,SAAS,EAAE,EAAE;CACd,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,cAAuC;IACpE,IAAI,CAAC,cAAc;QAAE,OAAO,YAAY,CAAC;IACzC,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,cAAc,EAAE,CAAC;AAChD,CAAC;AAED,yCAAyC;AACzC,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC;AAElC;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAI,KAAU,EAAE,EAAE,KAAK,EAAE,MAAM,KAAqB,EAAE;IAC5E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;IAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;IACzC,OAAO;QACL,KAAK,EAAE,IAAI;QACX,UAAU,EAAE;YACV,KAAK;YACL,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK;YAC1B,QAAQ,EAAE,IAAI,CAAC,MAAM;SACtB;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAS,EACT,KAAa,EACb,EAAE,KAAK,EAAE,MAAM,KAAqB,EAAE;IAEtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IAEvC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AAChE,CAAC"}
package/dist/types.d.ts CHANGED
@@ -21,7 +21,7 @@ export type CoreEdgeKind = 'imports' | 'imports-type' | 'dynamic-imports' | 'ree
21
21
  /** Parent/child and type relationship edges. */
22
22
  export type StructuralEdgeKind = 'parameter_of' | 'receiver';
23
23
  /** Dataflow-specific edge kinds. */
24
- export type DataflowEdgeKind = 'flows_to' | 'returns' | 'mutates';
24
+ export type DataflowEdgeKind = 'flows_to' | 'returns' | 'mutates' | 'def_use' | 'arg_in' | 'return_out';
25
25
  /** All edge kinds that can appear in the graph. */
26
26
  export type EdgeKind = CoreEdgeKind | StructuralEdgeKind;
27
27
  /** Extended edge kinds including dataflow. */
@@ -94,6 +94,7 @@ export interface EdgeRow {
94
94
  kind: EdgeKind;
95
95
  confidence: number | null;
96
96
  dynamic: 0 | 1;
97
+ dynamic_kind?: string | null;
97
98
  }
98
99
  /** Callee/caller node shape (from findCallees / findCallers). */
99
100
  export interface RelatedNodeRow {
@@ -352,12 +353,21 @@ export interface LOCMetrics {
352
353
  sloc: number;
353
354
  commentLines: number;
354
355
  }
356
+ /**
357
+ * Taxonomy for dynamic/computed call sites — distinguishes resolvable kinds
358
+ * (computed-literal, reflection) from flag-only kinds (eval, computed-key,
359
+ * unresolved-dynamic) that cannot be resolved statically.
360
+ */
361
+ export type DynamicKind = 'computed-literal' | 'computed-key' | 'reflection' | 'eval' | 'unresolved-dynamic';
355
362
  /** A function/method call detected by an extractor. */
356
363
  export interface Call {
357
364
  name: string;
358
365
  line: number;
359
366
  receiver?: string;
360
367
  dynamic?: boolean;
368
+ dynamicKind?: DynamicKind;
369
+ /** Raw key/arg text — used for diagnostics and future RES-1 const-string resolution. */
370
+ keyExpr?: string;
361
371
  }
362
372
  /** An import statement detected by an extractor. */
363
373
  export interface Import {
@@ -573,6 +583,17 @@ export interface ExtractorOutput {
573
583
  * `definePropertyReceivers.set("getter", "obj")`.
574
584
  */
575
585
  definePropertyReceivers?: Map<string, string>;
586
+ /**
587
+ * CJS require bindings from `const { X, Y } = require('./path')` patterns.
588
+ * Used by buildImportedNamesMap to classify X and Y as import artifacts so
589
+ * receiver-edge resolution falls back to the global class lookup rather than
590
+ * treating the destructured-binding function node as a local definition (#1661).
591
+ * Does NOT cause DB import edges — use `imports` for that.
592
+ */
593
+ cjsRequireBindings?: Array<{
594
+ names: string[];
595
+ source: string;
596
+ }>;
576
597
  /** WASM tree retained for downstream analysis (complexity, CFG, dataflow). */
577
598
  _tree?: TreeSitterTree;
578
599
  /** Language identifier. */
@@ -780,10 +801,14 @@ export interface CfgRulesConfig {
780
801
  export interface DataflowRulesConfig {
781
802
  functionNodes: Set<string>;
782
803
  nameField: string;
804
+ /** Override for languages with nested function name structures (e.g. C/C++). */
805
+ nameExtractor: ((node: TreeSitterNode) => string | null) | null;
783
806
  varAssignedFnParent: string | null;
784
807
  assignmentFnParent: string | null;
785
808
  pairFnParent: string | null;
786
809
  paramListField: string;
810
+ /** Override for languages where the param list is nested (e.g. C: function_definition → declarator → parameters). */
811
+ getParamListNode: ((funcNode: TreeSitterNode) => TreeSitterNode | null) | null;
787
812
  paramIdentifier: string;
788
813
  paramWrapperTypes: Set<string>;
789
814
  defaultParamType: string | null;
@@ -840,6 +865,19 @@ export interface CfgEdge {
840
865
  to: number;
841
866
  label?: string;
842
867
  }
868
+ /**
869
+ * A dataflow vertex: an addressable data location within a function.
870
+ * Populated during extraction (P1+); persisted to `dataflow_vertices`.
871
+ */
872
+ export interface DataflowVertex {
873
+ /** Name of the enclosing function (used to resolve func_id at insert time). */
874
+ funcName: string;
875
+ /** Vertex kind: 'param' | 'local' | 'return' | 'receiver'. */
876
+ kind: 'param' | 'local' | 'return' | 'receiver';
877
+ name?: string;
878
+ paramIndex?: number;
879
+ line?: number;
880
+ }
843
881
  /** Dataflow extraction result. */
844
882
  export interface DataflowResult {
845
883
  parameters: DataflowParam[];
@@ -1044,6 +1082,20 @@ export interface BuildGraphOpts {
1044
1082
  * `findDbPath` for every other DB-scoped command.
1045
1083
  */
1046
1084
  dbPath?: string;
1085
+ /**
1086
+ * User-config override for this build (from --user-config / --no-user-config).
1087
+ * - false → --no-user-config: skip global layer for this run
1088
+ * - string → --user-config <path>: apply the given file
1089
+ * - true → --user-config (bare): apply the default global file
1090
+ * - undefined → honour per-repo consent from the registry (normal)
1091
+ */
1092
+ userConfig?: string | boolean;
1093
+ /**
1094
+ * When true, an interactive consent prompt may fire on first build for
1095
+ * repos whose global-config consent is undecided. Only set by the CLI
1096
+ * build command when stdin/stdout are TTYs and CI is not set.
1097
+ */
1098
+ promptForConsent?: boolean;
1047
1099
  }
1048
1100
  /** Build timing result from buildGraph. */
1049
1101
  export interface BuildResult {
@@ -1057,8 +1109,16 @@ export interface BuildResult {
1057
1109
  edgesMs: number;
1058
1110
  structureMs: number;
1059
1111
  rolesMs: number;
1112
+ /** Wall-clock time for the CHA expansion post-pass (native path only). */
1113
+ chaMs?: number;
1060
1114
  /** Wall-clock time for the this/super dispatch WASM post-pass (native path only). */
1061
1115
  thisDispatchMs?: number;
1116
+ /** Wall-clock time for the dropped-language gap detection + backfill (native path only). */
1117
+ gapDetectMs?: number;
1118
+ /** Wall-clock time for role re-classification after JS edge-writing post-passes (native path only). */
1119
+ reclassifyMs?: number;
1120
+ /** Wall-clock time for the technique-column backfill on native-written edges (native path only). */
1121
+ techniqueBackfillMs?: number;
1062
1122
  astMs: number;
1063
1123
  complexityMs: number;
1064
1124
  cfgMs: number;
@@ -1072,6 +1132,8 @@ export interface CodegraphConfig {
1072
1132
  include: string[];
1073
1133
  exclude: string[];
1074
1134
  ignoreDirs: string[];
1135
+ /** Additional directory names to ignore on top of the built-in IGNORE_DIRS set. */
1136
+ ignoreAdditionalDirs: string[];
1075
1137
  extensions: string[];
1076
1138
  aliases: Record<string, unknown>;
1077
1139
  build: {
@@ -1087,6 +1149,26 @@ export interface CodegraphConfig {
1087
1149
  * Default: false.
1088
1150
  */
1089
1151
  typescriptResolver: boolean;
1152
+ /**
1153
+ * Engine selection override. Values: `'auto'` (default), `'native'`, `'wasm'`.
1154
+ *
1155
+ * **Current wiring (partial):** This field is populated by `applyEnvOverrides`
1156
+ * from `CODEGRAPH_ENGINE` env var — env var → `config.build.engine`. The
1157
+ * `--engine` CLI flag is also forwarded. However, `connection.ts` and
1158
+ * `pipeline.ts` still read `process.env.CODEGRAPH_ENGINE` / `ctx.opts.engine`
1159
+ * directly, so a value set only in `.codegraphrc.json` (not via env var or CLI)
1160
+ * is silently ignored by the pipeline.
1161
+ *
1162
+ * Full config-file wiring is tracked in issue #1596.
1163
+ */
1164
+ engine: 'auto' | 'native' | 'wasm';
1165
+ /**
1166
+ * Enable diagnostic logging for the native fast-skip pre-flight check.
1167
+ * Equivalent to `CODEGRAPH_FAST_SKIP_DIAG=1`. When true, logs why the
1168
+ * fast-skip gate was skipped (e.g. forceFullRebuild, engineName mismatch).
1169
+ * Default: false.
1170
+ */
1171
+ fastSkipDiag: boolean;
1090
1172
  };
1091
1173
  query: {
1092
1174
  defaultDepth: number;
@@ -1156,6 +1238,13 @@ export interface CodegraphConfig {
1156
1238
  * constant of 50. See TODO in `src/infrastructure/config.ts`.
1157
1239
  */
1158
1240
  pointsToMaxIterations: number;
1241
+ /**
1242
+ * Confidence score for a return type inferred from `return new Constructor()`
1243
+ * with no explicit TypeScript annotation.
1244
+ * Mirrors `INFERRED_RETURN_TYPE_CONFIDENCE` in `src/extractors/javascript.ts`.
1245
+ * @reserved — not yet wired; see TODO in `src/infrastructure/config.ts`.
1246
+ */
1247
+ typeInferenceConfidence: number;
1159
1248
  };
1160
1249
  community: {
1161
1250
  resolution: number;
@@ -1235,6 +1324,21 @@ export interface McpDefaults {
1235
1324
  implementations: number;
1236
1325
  interfaces: number;
1237
1326
  }
1327
+ /** Per-repo consent decision for the user-level global config. */
1328
+ export type ConsentDecision = 'enabled' | 'disabled';
1329
+ /** Which layer contributed a resolved config value. */
1330
+ export type ConfigSource = 'default' | 'user' | 'project' | 'env';
1331
+ /** Maps config key paths (dot notation) to the layer that supplied the value. */
1332
+ export type ConfigProvenance = Record<string, ConfigSource>;
1333
+ /** Result of loadConfigWithProvenance. */
1334
+ export interface ConfigWithProvenance {
1335
+ config: CodegraphConfig;
1336
+ provenance: ConfigProvenance;
1337
+ /** Absolute path of the applied global file, or null if none was applied. */
1338
+ appliedGlobalPath: string | null;
1339
+ /** This repo's recorded consent decision (may be undefined if undecided). */
1340
+ consentDecision: ConsentDecision | undefined;
1341
+ }
1238
1342
  export interface PaginationOpts {
1239
1343
  limit?: number;
1240
1344
  offset?: number;
@@ -1834,6 +1938,14 @@ export interface NativeAddon {
1834
1938
  analyzeComplexity(source: string, filePath: string, langId?: string | null): NativeFunctionComplexityResult[];
1835
1939
  buildCfgAnalysis(source: string, filePath: string, langId?: string | null): NativeFunctionCfgResult[];
1836
1940
  extractDataflowAnalysis(source: string, filePath: string, langId?: string | null): DataflowResult | null;
1941
+ /**
1942
+ * Batch counterpart to {@link extractDataflowAnalysis}: read and analyse many
1943
+ * files in parallel (rayon) in a single NAPI call. Results are positional —
1944
+ * `null` where the file could not be read or has no dataflow rules. Optional:
1945
+ * older published addons predate this export, so callers must feature-detect
1946
+ * and fall back to per-file `extractDataflowAnalysis`.
1947
+ */
1948
+ extractDataflowAnalysisBatch?(filePaths: string[]): (DataflowResult | null)[];
1837
1949
  ParseTreeCache: new () => NativeParseTreeCache;
1838
1950
  NativeDatabase: {
1839
1951
  openReadWrite(dbPath: string): NativeDatabase;