@opensip-cli/graph 0.1.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 (836) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +8 -0
  3. package/README.md +31 -0
  4. package/dist/__tests__/baseline-plane.test.d.ts +11 -0
  5. package/dist/__tests__/baseline-plane.test.d.ts.map +1 -0
  6. package/dist/__tests__/baseline-plane.test.js +60 -0
  7. package/dist/__tests__/baseline-plane.test.js.map +1 -0
  8. package/dist/__tests__/cache/engine-version.test.d.ts +12 -0
  9. package/dist/__tests__/cache/engine-version.test.d.ts.map +1 -0
  10. package/dist/__tests__/cache/engine-version.test.js +79 -0
  11. package/dist/__tests__/cache/engine-version.test.js.map +1 -0
  12. package/dist/__tests__/cache/invalidate.test.d.ts +9 -0
  13. package/dist/__tests__/cache/invalidate.test.d.ts.map +1 -0
  14. package/dist/__tests__/cache/invalidate.test.js +228 -0
  15. package/dist/__tests__/cache/invalidate.test.js.map +1 -0
  16. package/dist/__tests__/cli/contribution-from-signals.test.d.ts +17 -0
  17. package/dist/__tests__/cli/contribution-from-signals.test.d.ts.map +1 -0
  18. package/dist/__tests__/cli/contribution-from-signals.test.js +89 -0
  19. package/dist/__tests__/cli/contribution-from-signals.test.js.map +1 -0
  20. package/dist/__tests__/cli/detect.test.d.ts +2 -0
  21. package/dist/__tests__/cli/detect.test.d.ts.map +1 -0
  22. package/dist/__tests__/cli/detect.test.js +96 -0
  23. package/dist/__tests__/cli/detect.test.js.map +1 -0
  24. package/dist/__tests__/cli/graph-config.test.d.ts +9 -0
  25. package/dist/__tests__/cli/graph-config.test.d.ts.map +1 -0
  26. package/dist/__tests__/cli/graph-config.test.js +113 -0
  27. package/dist/__tests__/cli/graph-config.test.js.map +1 -0
  28. package/dist/__tests__/cli/graph-execute.test.d.ts +9 -0
  29. package/dist/__tests__/cli/graph-execute.test.d.ts.map +1 -0
  30. package/dist/__tests__/cli/graph-execute.test.js +434 -0
  31. package/dist/__tests__/cli/graph-execute.test.js.map +1 -0
  32. package/dist/__tests__/cli/graph.test.d.ts +12 -0
  33. package/dist/__tests__/cli/graph.test.d.ts.map +1 -0
  34. package/dist/__tests__/cli/graph.test.js +589 -0
  35. package/dist/__tests__/cli/graph.test.js.map +1 -0
  36. package/dist/__tests__/cli/heap-preflight.test.d.ts +11 -0
  37. package/dist/__tests__/cli/heap-preflight.test.d.ts.map +1 -0
  38. package/dist/__tests__/cli/heap-preflight.test.js +150 -0
  39. package/dist/__tests__/cli/heap-preflight.test.js.map +1 -0
  40. package/dist/__tests__/cli/language-mismatch.test.d.ts +10 -0
  41. package/dist/__tests__/cli/language-mismatch.test.d.ts.map +1 -0
  42. package/dist/__tests__/cli/language-mismatch.test.js +155 -0
  43. package/dist/__tests__/cli/language-mismatch.test.js.map +1 -0
  44. package/dist/__tests__/cli/lookup.test.d.ts +7 -0
  45. package/dist/__tests__/cli/lookup.test.d.ts.map +1 -0
  46. package/dist/__tests__/cli/lookup.test.js +104 -0
  47. package/dist/__tests__/cli/lookup.test.js.map +1 -0
  48. package/dist/__tests__/cli/orchestrate.test.d.ts +12 -0
  49. package/dist/__tests__/cli/orchestrate.test.d.ts.map +1 -0
  50. package/dist/__tests__/cli/orchestrate.test.js +315 -0
  51. package/dist/__tests__/cli/orchestrate.test.js.map +1 -0
  52. package/dist/__tests__/cli/positional-paths.test.d.ts +5 -0
  53. package/dist/__tests__/cli/positional-paths.test.d.ts.map +1 -0
  54. package/dist/__tests__/cli/positional-paths.test.js +87 -0
  55. package/dist/__tests__/cli/positional-paths.test.js.map +1 -0
  56. package/dist/__tests__/cli/pressure-monitor.test.d.ts +11 -0
  57. package/dist/__tests__/cli/pressure-monitor.test.d.ts.map +1 -0
  58. package/dist/__tests__/cli/pressure-monitor.test.js +94 -0
  59. package/dist/__tests__/cli/pressure-monitor.test.js.map +1 -0
  60. package/dist/__tests__/cli/sarif-export.test.d.ts +8 -0
  61. package/dist/__tests__/cli/sarif-export.test.d.ts.map +1 -0
  62. package/dist/__tests__/cli/sarif-export.test.js +94 -0
  63. package/dist/__tests__/cli/sarif-export.test.js.map +1 -0
  64. package/dist/__tests__/cli/session-contract.test.d.ts +17 -0
  65. package/dist/__tests__/cli/session-contract.test.d.ts.map +1 -0
  66. package/dist/__tests__/cli/session-contract.test.js +225 -0
  67. package/dist/__tests__/cli/session-contract.test.js.map +1 -0
  68. package/dist/__tests__/cli/symbol-index.test.d.ts +7 -0
  69. package/dist/__tests__/cli/symbol-index.test.d.ts.map +1 -0
  70. package/dist/__tests__/cli/symbol-index.test.js +117 -0
  71. package/dist/__tests__/cli/symbol-index.test.js.map +1 -0
  72. package/dist/__tests__/cli/tool-show-mode.test.d.ts +10 -0
  73. package/dist/__tests__/cli/tool-show-mode.test.d.ts.map +1 -0
  74. package/dist/__tests__/cli/tool-show-mode.test.js +128 -0
  75. package/dist/__tests__/cli/tool-show-mode.test.js.map +1 -0
  76. package/dist/__tests__/cli/workspace-runner-polyglot.test.d.ts +10 -0
  77. package/dist/__tests__/cli/workspace-runner-polyglot.test.d.ts.map +1 -0
  78. package/dist/__tests__/cli/workspace-runner-polyglot.test.js +120 -0
  79. package/dist/__tests__/cli/workspace-runner-polyglot.test.js.map +1 -0
  80. package/dist/__tests__/graph-catalog-drift.test.d.ts +24 -0
  81. package/dist/__tests__/graph-catalog-drift.test.d.ts.map +1 -0
  82. package/dist/__tests__/graph-catalog-drift.test.js +34 -0
  83. package/dist/__tests__/graph-catalog-drift.test.js.map +1 -0
  84. package/dist/__tests__/internal-surface.test.d.ts +17 -0
  85. package/dist/__tests__/internal-surface.test.d.ts.map +1 -0
  86. package/dist/__tests__/internal-surface.test.js +45 -0
  87. package/dist/__tests__/internal-surface.test.js.map +1 -0
  88. package/dist/__tests__/lang-adapter/body-digest.test.d.ts +13 -0
  89. package/dist/__tests__/lang-adapter/body-digest.test.d.ts.map +1 -0
  90. package/dist/__tests__/lang-adapter/body-digest.test.js +51 -0
  91. package/dist/__tests__/lang-adapter/body-digest.test.js.map +1 -0
  92. package/dist/__tests__/lang-adapter/edge-helpers.test.d.ts +12 -0
  93. package/dist/__tests__/lang-adapter/edge-helpers.test.d.ts.map +1 -0
  94. package/dist/__tests__/lang-adapter/edge-helpers.test.js +147 -0
  95. package/dist/__tests__/lang-adapter/edge-helpers.test.js.map +1 -0
  96. package/dist/__tests__/lang-adapter/registry.test.d.ts +9 -0
  97. package/dist/__tests__/lang-adapter/registry.test.d.ts.map +1 -0
  98. package/dist/__tests__/lang-adapter/registry.test.js +228 -0
  99. package/dist/__tests__/lang-adapter/registry.test.js.map +1 -0
  100. package/dist/__tests__/persistence/catalog-repo.test.d.ts +2 -0
  101. package/dist/__tests__/persistence/catalog-repo.test.d.ts.map +1 -0
  102. package/dist/__tests__/persistence/catalog-repo.test.js +188 -0
  103. package/dist/__tests__/persistence/catalog-repo.test.js.map +1 -0
  104. package/dist/__tests__/persistence/session-payload.test.d.ts +2 -0
  105. package/dist/__tests__/persistence/session-payload.test.d.ts.map +1 -0
  106. package/dist/__tests__/persistence/session-payload.test.js +81 -0
  107. package/dist/__tests__/persistence/session-payload.test.js.map +1 -0
  108. package/dist/__tests__/persistence/session-replay.test.d.ts +10 -0
  109. package/dist/__tests__/persistence/session-replay.test.d.ts.map +1 -0
  110. package/dist/__tests__/persistence/session-replay.test.js +196 -0
  111. package/dist/__tests__/persistence/session-replay.test.js.map +1 -0
  112. package/dist/__tests__/public-api.test.d.ts +19 -0
  113. package/dist/__tests__/public-api.test.d.ts.map +1 -0
  114. package/dist/__tests__/public-api.test.js +96 -0
  115. package/dist/__tests__/public-api.test.js.map +1 -0
  116. package/dist/__tests__/render/catalog-json-types.test.d.ts +10 -0
  117. package/dist/__tests__/render/catalog-json-types.test.d.ts.map +1 -0
  118. package/dist/__tests__/render/catalog-json-types.test.js +121 -0
  119. package/dist/__tests__/render/catalog-json-types.test.js.map +1 -0
  120. package/dist/__tests__/render/catalog-json.test.d.ts +19 -0
  121. package/dist/__tests__/render/catalog-json.test.d.ts.map +1 -0
  122. package/dist/__tests__/render/catalog-json.test.js +435 -0
  123. package/dist/__tests__/render/catalog-json.test.js.map +1 -0
  124. package/dist/__tests__/render/opensip-id-derivation.test.d.ts +21 -0
  125. package/dist/__tests__/render/opensip-id-derivation.test.d.ts.map +1 -0
  126. package/dist/__tests__/render/opensip-id-derivation.test.js +159 -0
  127. package/dist/__tests__/render/opensip-id-derivation.test.js.map +1 -0
  128. package/dist/__tests__/render/rule-id-mapping.test.d.ts +13 -0
  129. package/dist/__tests__/render/rule-id-mapping.test.d.ts.map +1 -0
  130. package/dist/__tests__/render/rule-id-mapping.test.js +50 -0
  131. package/dist/__tests__/render/rule-id-mapping.test.js.map +1 -0
  132. package/dist/__tests__/render/sarif-opensip.test.d.ts +20 -0
  133. package/dist/__tests__/render/sarif-opensip.test.d.ts.map +1 -0
  134. package/dist/__tests__/render/sarif-opensip.test.js +235 -0
  135. package/dist/__tests__/render/sarif-opensip.test.js.map +1 -0
  136. package/dist/__tests__/resolution-mode.test.d.ts +10 -0
  137. package/dist/__tests__/resolution-mode.test.d.ts.map +1 -0
  138. package/dist/__tests__/resolution-mode.test.js +96 -0
  139. package/dist/__tests__/resolution-mode.test.js.map +1 -0
  140. package/dist/__tests__/resolve-callee.test.d.ts +2 -0
  141. package/dist/__tests__/resolve-callee.test.d.ts.map +1 -0
  142. package/dist/__tests__/resolve-callee.test.js +119 -0
  143. package/dist/__tests__/resolve-callee.test.js.map +1 -0
  144. package/dist/__tests__/rules/_entry-points.test.d.ts +8 -0
  145. package/dist/__tests__/rules/_entry-points.test.d.ts.map +1 -0
  146. package/dist/__tests__/rules/_entry-points.test.js +74 -0
  147. package/dist/__tests__/rules/_entry-points.test.js.map +1 -0
  148. package/dist/__tests__/rules/_helpers.d.ts +18 -0
  149. package/dist/__tests__/rules/_helpers.d.ts.map +1 -0
  150. package/dist/__tests__/rules/_helpers.js +72 -0
  151. package/dist/__tests__/rules/_helpers.js.map +1 -0
  152. package/dist/__tests__/rules/always-throws-branch.test.d.ts +9 -0
  153. package/dist/__tests__/rules/always-throws-branch.test.d.ts.map +1 -0
  154. package/dist/__tests__/rules/always-throws-branch.test.js +113 -0
  155. package/dist/__tests__/rules/always-throws-branch.test.js.map +1 -0
  156. package/dist/__tests__/rules/cycle-and-coupling.test.d.ts +13 -0
  157. package/dist/__tests__/rules/cycle-and-coupling.test.d.ts.map +1 -0
  158. package/dist/__tests__/rules/cycle-and-coupling.test.js +224 -0
  159. package/dist/__tests__/rules/cycle-and-coupling.test.js.map +1 -0
  160. package/dist/__tests__/rules/duplicated-function-body-config.test.d.ts +8 -0
  161. package/dist/__tests__/rules/duplicated-function-body-config.test.d.ts.map +1 -0
  162. package/dist/__tests__/rules/duplicated-function-body-config.test.js +132 -0
  163. package/dist/__tests__/rules/duplicated-function-body-config.test.js.map +1 -0
  164. package/dist/__tests__/rules/duplicated-function-body-cross-package.test.d.ts +10 -0
  165. package/dist/__tests__/rules/duplicated-function-body-cross-package.test.d.ts.map +1 -0
  166. package/dist/__tests__/rules/duplicated-function-body-cross-package.test.js +274 -0
  167. package/dist/__tests__/rules/duplicated-function-body-cross-package.test.js.map +1 -0
  168. package/dist/__tests__/rules/feature-column-parity.test.d.ts +11 -0
  169. package/dist/__tests__/rules/feature-column-parity.test.d.ts.map +1 -0
  170. package/dist/__tests__/rules/feature-column-parity.test.js +169 -0
  171. package/dist/__tests__/rules/feature-column-parity.test.js.map +1 -0
  172. package/dist/__tests__/rules/high-blast-untested.test.d.ts +13 -0
  173. package/dist/__tests__/rules/high-blast-untested.test.d.ts.map +1 -0
  174. package/dist/__tests__/rules/high-blast-untested.test.js +108 -0
  175. package/dist/__tests__/rules/high-blast-untested.test.js.map +1 -0
  176. package/dist/__tests__/rules/large-function.test.d.ts +11 -0
  177. package/dist/__tests__/rules/large-function.test.d.ts.map +1 -0
  178. package/dist/__tests__/rules/large-function.test.js +105 -0
  179. package/dist/__tests__/rules/large-function.test.js.map +1 -0
  180. package/dist/__tests__/rules/no-side-effect-path.test.d.ts +10 -0
  181. package/dist/__tests__/rules/no-side-effect-path.test.d.ts.map +1 -0
  182. package/dist/__tests__/rules/no-side-effect-path.test.js +301 -0
  183. package/dist/__tests__/rules/no-side-effect-path.test.js.map +1 -0
  184. package/dist/__tests__/rules/orphan-subtree-config.test.d.ts +8 -0
  185. package/dist/__tests__/rules/orphan-subtree-config.test.d.ts.map +1 -0
  186. package/dist/__tests__/rules/orphan-subtree-config.test.js +176 -0
  187. package/dist/__tests__/rules/orphan-subtree-config.test.js.map +1 -0
  188. package/dist/__tests__/rules/registry.test.d.ts +11 -0
  189. package/dist/__tests__/rules/registry.test.d.ts.map +1 -0
  190. package/dist/__tests__/rules/registry.test.js +50 -0
  191. package/dist/__tests__/rules/registry.test.js.map +1 -0
  192. package/dist/__tests__/rules/severity-override.test.d.ts +11 -0
  193. package/dist/__tests__/rules/severity-override.test.d.ts.map +1 -0
  194. package/dist/__tests__/rules/severity-override.test.js +67 -0
  195. package/dist/__tests__/rules/severity-override.test.js.map +1 -0
  196. package/dist/__tests__/rules/test-only-reachable.test.d.ts +9 -0
  197. package/dist/__tests__/rules/test-only-reachable.test.d.ts.map +1 -0
  198. package/dist/__tests__/rules/test-only-reachable.test.js +142 -0
  199. package/dist/__tests__/rules/test-only-reachable.test.js.map +1 -0
  200. package/dist/__tests__/rules/wide-function.test.d.ts +9 -0
  201. package/dist/__tests__/rules/wide-function.test.d.ts.map +1 -0
  202. package/dist/__tests__/rules/wide-function.test.js +64 -0
  203. package/dist/__tests__/rules/wide-function.test.js.map +1 -0
  204. package/dist/__tests__/test-utils/with-graph-scope.d.ts +14 -0
  205. package/dist/__tests__/test-utils/with-graph-scope.d.ts.map +1 -0
  206. package/dist/__tests__/test-utils/with-graph-scope.js +26 -0
  207. package/dist/__tests__/test-utils/with-graph-scope.js.map +1 -0
  208. package/dist/__tests__/tool-branches.test.d.ts +18 -0
  209. package/dist/__tests__/tool-branches.test.d.ts.map +1 -0
  210. package/dist/__tests__/tool-branches.test.js +262 -0
  211. package/dist/__tests__/tool-branches.test.js.map +1 -0
  212. package/dist/__tests__/tool-register.test.d.ts +16 -0
  213. package/dist/__tests__/tool-register.test.d.ts.map +1 -0
  214. package/dist/__tests__/tool-register.test.js +419 -0
  215. package/dist/__tests__/tool-register.test.js.map +1 -0
  216. package/dist/__tests__/tool.test.d.ts +18 -0
  217. package/dist/__tests__/tool.test.d.ts.map +1 -0
  218. package/dist/__tests__/tool.test.js +65 -0
  219. package/dist/__tests__/tool.test.js.map +1 -0
  220. package/dist/baseline-strategy.d.ts +28 -0
  221. package/dist/baseline-strategy.d.ts.map +1 -0
  222. package/dist/baseline-strategy.js +27 -0
  223. package/dist/baseline-strategy.js.map +1 -0
  224. package/dist/cache/engine-version.d.ts +69 -0
  225. package/dist/cache/engine-version.d.ts.map +1 -0
  226. package/dist/cache/engine-version.js +60 -0
  227. package/dist/cache/engine-version.js.map +1 -0
  228. package/dist/cache/invalidate.d.ts +60 -0
  229. package/dist/cache/invalidate.d.ts.map +1 -0
  230. package/dist/cache/invalidate.js +120 -0
  231. package/dist/cache/invalidate.js.map +1 -0
  232. package/dist/cli/__tests__/build-envelope.test.d.ts +8 -0
  233. package/dist/cli/__tests__/build-envelope.test.d.ts.map +1 -0
  234. package/dist/cli/__tests__/build-envelope.test.js +70 -0
  235. package/dist/cli/__tests__/build-envelope.test.js.map +1 -0
  236. package/dist/cli/__tests__/dispatch-envelope.test.d.ts +15 -0
  237. package/dist/cli/__tests__/dispatch-envelope.test.d.ts.map +1 -0
  238. package/dist/cli/__tests__/dispatch-envelope.test.js +73 -0
  239. package/dist/cli/__tests__/dispatch-envelope.test.js.map +1 -0
  240. package/dist/cli/__tests__/dispatch-suppression-root.test.d.ts +18 -0
  241. package/dist/cli/__tests__/dispatch-suppression-root.test.d.ts.map +1 -0
  242. package/dist/cli/__tests__/dispatch-suppression-root.test.js +91 -0
  243. package/dist/cli/__tests__/dispatch-suppression-root.test.js.map +1 -0
  244. package/dist/cli/__tests__/graph-config-schema.test.d.ts +7 -0
  245. package/dist/cli/__tests__/graph-config-schema.test.d.ts.map +1 -0
  246. package/dist/cli/__tests__/graph-config-schema.test.js +60 -0
  247. package/dist/cli/__tests__/graph-config-schema.test.js.map +1 -0
  248. package/dist/cli/__tests__/graph-gate-mode.test.d.ts +15 -0
  249. package/dist/cli/__tests__/graph-gate-mode.test.d.ts.map +1 -0
  250. package/dist/cli/__tests__/graph-gate-mode.test.js +99 -0
  251. package/dist/cli/__tests__/graph-gate-mode.test.js.map +1 -0
  252. package/dist/cli/__tests__/graph-recipes.test.d.ts +7 -0
  253. package/dist/cli/__tests__/graph-recipes.test.d.ts.map +1 -0
  254. package/dist/cli/__tests__/graph-recipes.test.js +24 -0
  255. package/dist/cli/__tests__/graph-recipes.test.js.map +1 -0
  256. package/dist/cli/__tests__/graph-report.test.d.ts +7 -0
  257. package/dist/cli/__tests__/graph-report.test.d.ts.map +1 -0
  258. package/dist/cli/__tests__/graph-report.test.js +138 -0
  259. package/dist/cli/__tests__/graph-report.test.js.map +1 -0
  260. package/dist/cli/__tests__/graph-tracer.test.d.ts +11 -0
  261. package/dist/cli/__tests__/graph-tracer.test.d.ts.map +1 -0
  262. package/dist/cli/__tests__/graph-tracer.test.js +41 -0
  263. package/dist/cli/__tests__/graph-tracer.test.js.map +1 -0
  264. package/dist/cli/__tests__/graph-worker.test.d.ts +13 -0
  265. package/dist/cli/__tests__/graph-worker.test.d.ts.map +1 -0
  266. package/dist/cli/__tests__/graph-worker.test.js +127 -0
  267. package/dist/cli/__tests__/graph-worker.test.js.map +1 -0
  268. package/dist/cli/__tests__/list-files.test.d.ts +12 -0
  269. package/dist/cli/__tests__/list-files.test.d.ts.map +1 -0
  270. package/dist/cli/__tests__/list-files.test.js +146 -0
  271. package/dist/cli/__tests__/list-files.test.js.map +1 -0
  272. package/dist/cli/__tests__/live-suppression-parity.test.d.ts +23 -0
  273. package/dist/cli/__tests__/live-suppression-parity.test.d.ts.map +1 -0
  274. package/dist/cli/__tests__/live-suppression-parity.test.js +136 -0
  275. package/dist/cli/__tests__/live-suppression-parity.test.js.map +1 -0
  276. package/dist/cli/__tests__/orchestrate-spans.test.d.ts +18 -0
  277. package/dist/cli/__tests__/orchestrate-spans.test.d.ts.map +1 -0
  278. package/dist/cli/__tests__/orchestrate-spans.test.js +108 -0
  279. package/dist/cli/__tests__/orchestrate-spans.test.js.map +1 -0
  280. package/dist/cli/__tests__/shard-worker.test.d.ts +10 -0
  281. package/dist/cli/__tests__/shard-worker.test.d.ts.map +1 -0
  282. package/dist/cli/__tests__/shard-worker.test.js +153 -0
  283. package/dist/cli/__tests__/shard-worker.test.js.map +1 -0
  284. package/dist/cli/__tests__/workspace-report.test.d.ts +6 -0
  285. package/dist/cli/__tests__/workspace-report.test.d.ts.map +1 -0
  286. package/dist/cli/__tests__/workspace-report.test.js +89 -0
  287. package/dist/cli/__tests__/workspace-report.test.js.map +1 -0
  288. package/dist/cli/apply-suppressions.d.ts +86 -0
  289. package/dist/cli/apply-suppressions.d.ts.map +1 -0
  290. package/dist/cli/apply-suppressions.js +101 -0
  291. package/dist/cli/apply-suppressions.js.map +1 -0
  292. package/dist/cli/apply-suppressions.test.d.ts +12 -0
  293. package/dist/cli/apply-suppressions.test.d.ts.map +1 -0
  294. package/dist/cli/apply-suppressions.test.js +85 -0
  295. package/dist/cli/apply-suppressions.test.js.map +1 -0
  296. package/dist/cli/build-envelope.d.ts +53 -0
  297. package/dist/cli/build-envelope.d.ts.map +1 -0
  298. package/dist/cli/build-envelope.js +88 -0
  299. package/dist/cli/build-envelope.js.map +1 -0
  300. package/dist/cli/detect.d.ts +37 -0
  301. package/dist/cli/detect.d.ts.map +1 -0
  302. package/dist/cli/detect.js +60 -0
  303. package/dist/cli/detect.js.map +1 -0
  304. package/dist/cli/equivalence-check-command.d.ts +45 -0
  305. package/dist/cli/equivalence-check-command.d.ts.map +1 -0
  306. package/dist/cli/equivalence-check-command.js +196 -0
  307. package/dist/cli/equivalence-check-command.js.map +1 -0
  308. package/dist/cli/graph/graph-aux-command-specs.d.ts +60 -0
  309. package/dist/cli/graph/graph-aux-command-specs.d.ts.map +1 -0
  310. package/dist/cli/graph/graph-aux-command-specs.js +390 -0
  311. package/dist/cli/graph/graph-aux-command-specs.js.map +1 -0
  312. package/dist/cli/graph/graph-command-spec.d.ts +43 -0
  313. package/dist/cli/graph/graph-command-spec.d.ts.map +1 -0
  314. package/dist/cli/graph/graph-command-spec.js +456 -0
  315. package/dist/cli/graph/graph-command-spec.js.map +1 -0
  316. package/dist/cli/graph-config-schema.d.ts +70 -0
  317. package/dist/cli/graph-config-schema.d.ts.map +1 -0
  318. package/dist/cli/graph-config-schema.js +68 -0
  319. package/dist/cli/graph-config-schema.js.map +1 -0
  320. package/dist/cli/graph-config.d.ts +53 -0
  321. package/dist/cli/graph-config.d.ts.map +1 -0
  322. package/dist/cli/graph-config.js +111 -0
  323. package/dist/cli/graph-config.js.map +1 -0
  324. package/dist/cli/graph-modes.d.ts +36 -0
  325. package/dist/cli/graph-modes.d.ts.map +1 -0
  326. package/dist/cli/graph-modes.js +161 -0
  327. package/dist/cli/graph-modes.js.map +1 -0
  328. package/dist/cli/graph-options.d.ts +143 -0
  329. package/dist/cli/graph-options.d.ts.map +1 -0
  330. package/dist/cli/graph-options.js +15 -0
  331. package/dist/cli/graph-options.js.map +1 -0
  332. package/dist/cli/graph-progress.d.ts +31 -0
  333. package/dist/cli/graph-progress.d.ts.map +1 -0
  334. package/dist/cli/graph-progress.js +56 -0
  335. package/dist/cli/graph-progress.js.map +1 -0
  336. package/dist/cli/graph-recipes.d.ts +23 -0
  337. package/dist/cli/graph-recipes.d.ts.map +1 -0
  338. package/dist/cli/graph-recipes.js +44 -0
  339. package/dist/cli/graph-recipes.js.map +1 -0
  340. package/dist/cli/graph-report.d.ts +79 -0
  341. package/dist/cli/graph-report.d.ts.map +1 -0
  342. package/dist/cli/graph-report.js +186 -0
  343. package/dist/cli/graph-report.js.map +1 -0
  344. package/dist/cli/graph-runner.d.ts +106 -0
  345. package/dist/cli/graph-runner.d.ts.map +1 -0
  346. package/dist/cli/graph-runner.js +274 -0
  347. package/dist/cli/graph-runner.js.map +1 -0
  348. package/dist/cli/graph-tracer.d.ts +27 -0
  349. package/dist/cli/graph-tracer.d.ts.map +1 -0
  350. package/dist/cli/graph-tracer.js +33 -0
  351. package/dist/cli/graph-tracer.js.map +1 -0
  352. package/dist/cli/graph-worker.d.ts +29 -0
  353. package/dist/cli/graph-worker.d.ts.map +1 -0
  354. package/dist/cli/graph-worker.js +86 -0
  355. package/dist/cli/graph-worker.js.map +1 -0
  356. package/dist/cli/graph.d.ts +171 -0
  357. package/dist/cli/graph.d.ts.map +1 -0
  358. package/dist/cli/graph.js +1041 -0
  359. package/dist/cli/graph.js.map +1 -0
  360. package/dist/cli/heap-preflight.d.ts +62 -0
  361. package/dist/cli/heap-preflight.d.ts.map +1 -0
  362. package/dist/cli/heap-preflight.js +176 -0
  363. package/dist/cli/heap-preflight.js.map +1 -0
  364. package/dist/cli/list-files.d.ts +37 -0
  365. package/dist/cli/list-files.d.ts.map +1 -0
  366. package/dist/cli/list-files.js +166 -0
  367. package/dist/cli/list-files.js.map +1 -0
  368. package/dist/cli/lookup.d.ts +19 -0
  369. package/dist/cli/lookup.d.ts.map +1 -0
  370. package/dist/cli/lookup.js +87 -0
  371. package/dist/cli/lookup.js.map +1 -0
  372. package/dist/cli/orchestrate/__tests__/_equivalence-harness.d.ts +47 -0
  373. package/dist/cli/orchestrate/__tests__/_equivalence-harness.d.ts.map +1 -0
  374. package/dist/cli/orchestrate/__tests__/_equivalence-harness.js +331 -0
  375. package/dist/cli/orchestrate/__tests__/_equivalence-harness.js.map +1 -0
  376. package/dist/cli/orchestrate/__tests__/_flat-large-fixture.d.ts +69 -0
  377. package/dist/cli/orchestrate/__tests__/_flat-large-fixture.d.ts.map +1 -0
  378. package/dist/cli/orchestrate/__tests__/_flat-large-fixture.js +181 -0
  379. package/dist/cli/orchestrate/__tests__/_flat-large-fixture.js.map +1 -0
  380. package/dist/cli/orchestrate/__tests__/canonical-file-set.test.d.ts +8 -0
  381. package/dist/cli/orchestrate/__tests__/canonical-file-set.test.d.ts.map +1 -0
  382. package/dist/cli/orchestrate/__tests__/canonical-file-set.test.js +51 -0
  383. package/dist/cli/orchestrate/__tests__/canonical-file-set.test.js.map +1 -0
  384. package/dist/cli/orchestrate/__tests__/catalog-builder-incremental.test.d.ts +9 -0
  385. package/dist/cli/orchestrate/__tests__/catalog-builder-incremental.test.d.ts.map +1 -0
  386. package/dist/cli/orchestrate/__tests__/catalog-builder-incremental.test.js +147 -0
  387. package/dist/cli/orchestrate/__tests__/catalog-builder-incremental.test.js.map +1 -0
  388. package/dist/cli/orchestrate/__tests__/cross-shard-resolve.test.d.ts +12 -0
  389. package/dist/cli/orchestrate/__tests__/cross-shard-resolve.test.d.ts.map +1 -0
  390. package/dist/cli/orchestrate/__tests__/cross-shard-resolve.test.js +509 -0
  391. package/dist/cli/orchestrate/__tests__/cross-shard-resolve.test.js.map +1 -0
  392. package/dist/cli/orchestrate/__tests__/determinism.test.d.ts +19 -0
  393. package/dist/cli/orchestrate/__tests__/determinism.test.d.ts.map +1 -0
  394. package/dist/cli/orchestrate/__tests__/determinism.test.js +163 -0
  395. package/dist/cli/orchestrate/__tests__/determinism.test.js.map +1 -0
  396. package/dist/cli/orchestrate/__tests__/edge-identity.test.d.ts +9 -0
  397. package/dist/cli/orchestrate/__tests__/edge-identity.test.d.ts.map +1 -0
  398. package/dist/cli/orchestrate/__tests__/edge-identity.test.js +103 -0
  399. package/dist/cli/orchestrate/__tests__/edge-identity.test.js.map +1 -0
  400. package/dist/cli/orchestrate/__tests__/equivalence-check.test.d.ts +10 -0
  401. package/dist/cli/orchestrate/__tests__/equivalence-check.test.d.ts.map +1 -0
  402. package/dist/cli/orchestrate/__tests__/equivalence-check.test.js +277 -0
  403. package/dist/cli/orchestrate/__tests__/equivalence-check.test.js.map +1 -0
  404. package/dist/cli/orchestrate/__tests__/equivalence-repo-scale.test.d.ts +51 -0
  405. package/dist/cli/orchestrate/__tests__/equivalence-repo-scale.test.d.ts.map +1 -0
  406. package/dist/cli/orchestrate/__tests__/equivalence-repo-scale.test.js +183 -0
  407. package/dist/cli/orchestrate/__tests__/equivalence-repo-scale.test.js.map +1 -0
  408. package/dist/cli/orchestrate/__tests__/equivalence.test.d.ts +47 -0
  409. package/dist/cli/orchestrate/__tests__/equivalence.test.d.ts.map +1 -0
  410. package/dist/cli/orchestrate/__tests__/equivalence.test.js +259 -0
  411. package/dist/cli/orchestrate/__tests__/equivalence.test.js.map +1 -0
  412. package/dist/cli/orchestrate/__tests__/exact-boundary-recovery.test.d.ts +9 -0
  413. package/dist/cli/orchestrate/__tests__/exact-boundary-recovery.test.d.ts.map +1 -0
  414. package/dist/cli/orchestrate/__tests__/exact-boundary-recovery.test.js +105 -0
  415. package/dist/cli/orchestrate/__tests__/exact-boundary-recovery.test.js.map +1 -0
  416. package/dist/cli/orchestrate/__tests__/export-index.test.d.ts +12 -0
  417. package/dist/cli/orchestrate/__tests__/export-index.test.d.ts.map +1 -0
  418. package/dist/cli/orchestrate/__tests__/export-index.test.js +346 -0
  419. package/dist/cli/orchestrate/__tests__/export-index.test.js.map +1 -0
  420. package/dist/cli/orchestrate/__tests__/flat-large-fixture.test.d.ts +16 -0
  421. package/dist/cli/orchestrate/__tests__/flat-large-fixture.test.d.ts.map +1 -0
  422. package/dist/cli/orchestrate/__tests__/flat-large-fixture.test.js +99 -0
  423. package/dist/cli/orchestrate/__tests__/flat-large-fixture.test.js.map +1 -0
  424. package/dist/cli/orchestrate/__tests__/flat-monorepo-strategy.test.d.ts +11 -0
  425. package/dist/cli/orchestrate/__tests__/flat-monorepo-strategy.test.d.ts.map +1 -0
  426. package/dist/cli/orchestrate/__tests__/flat-monorepo-strategy.test.js +271 -0
  427. package/dist/cli/orchestrate/__tests__/flat-monorepo-strategy.test.js.map +1 -0
  428. package/dist/cli/orchestrate/__tests__/function-set-parity.test.d.ts +38 -0
  429. package/dist/cli/orchestrate/__tests__/function-set-parity.test.d.ts.map +1 -0
  430. package/dist/cli/orchestrate/__tests__/function-set-parity.test.js +163 -0
  431. package/dist/cli/orchestrate/__tests__/function-set-parity.test.js.map +1 -0
  432. package/dist/cli/orchestrate/__tests__/incremental-merge.test.d.ts +8 -0
  433. package/dist/cli/orchestrate/__tests__/incremental-merge.test.d.ts.map +1 -0
  434. package/dist/cli/orchestrate/__tests__/incremental-merge.test.js +153 -0
  435. package/dist/cli/orchestrate/__tests__/incremental-merge.test.js.map +1 -0
  436. package/dist/cli/orchestrate/__tests__/partition-files.test.d.ts +10 -0
  437. package/dist/cli/orchestrate/__tests__/partition-files.test.d.ts.map +1 -0
  438. package/dist/cli/orchestrate/__tests__/partition-files.test.js +104 -0
  439. package/dist/cli/orchestrate/__tests__/partition-files.test.js.map +1 -0
  440. package/dist/cli/orchestrate/__tests__/resolution-completeness-floor.test.d.ts +21 -0
  441. package/dist/cli/orchestrate/__tests__/resolution-completeness-floor.test.d.ts.map +1 -0
  442. package/dist/cli/orchestrate/__tests__/resolution-completeness-floor.test.js +59 -0
  443. package/dist/cli/orchestrate/__tests__/resolution-completeness-floor.test.js.map +1 -0
  444. package/dist/cli/orchestrate/__tests__/shard-model.test.d.ts +8 -0
  445. package/dist/cli/orchestrate/__tests__/shard-model.test.d.ts.map +1 -0
  446. package/dist/cli/orchestrate/__tests__/shard-model.test.js +77 -0
  447. package/dist/cli/orchestrate/__tests__/shard-model.test.js.map +1 -0
  448. package/dist/cli/orchestrate/__tests__/shard-runner-spawn.test.d.ts +13 -0
  449. package/dist/cli/orchestrate/__tests__/shard-runner-spawn.test.d.ts.map +1 -0
  450. package/dist/cli/orchestrate/__tests__/shard-runner-spawn.test.js +103 -0
  451. package/dist/cli/orchestrate/__tests__/shard-runner-spawn.test.js.map +1 -0
  452. package/dist/cli/orchestrate/__tests__/sharded-graph.test.d.ts +13 -0
  453. package/dist/cli/orchestrate/__tests__/sharded-graph.test.d.ts.map +1 -0
  454. package/dist/cli/orchestrate/__tests__/sharded-graph.test.js +257 -0
  455. package/dist/cli/orchestrate/__tests__/sharded-graph.test.js.map +1 -0
  456. package/dist/cli/orchestrate/__tests__/worker-pool.test.d.ts +6 -0
  457. package/dist/cli/orchestrate/__tests__/worker-pool.test.d.ts.map +1 -0
  458. package/dist/cli/orchestrate/__tests__/worker-pool.test.js +38 -0
  459. package/dist/cli/orchestrate/__tests__/worker-pool.test.js.map +1 -0
  460. package/dist/cli/orchestrate/cache-orchestrator.d.ts +42 -0
  461. package/dist/cli/orchestrate/cache-orchestrator.d.ts.map +1 -0
  462. package/dist/cli/orchestrate/cache-orchestrator.js +92 -0
  463. package/dist/cli/orchestrate/cache-orchestrator.js.map +1 -0
  464. package/dist/cli/orchestrate/canonical-file-set.d.ts +51 -0
  465. package/dist/cli/orchestrate/canonical-file-set.d.ts.map +1 -0
  466. package/dist/cli/orchestrate/canonical-file-set.js +58 -0
  467. package/dist/cli/orchestrate/canonical-file-set.js.map +1 -0
  468. package/dist/cli/orchestrate/catalog-builder.d.ts +121 -0
  469. package/dist/cli/orchestrate/catalog-builder.d.ts.map +1 -0
  470. package/dist/cli/orchestrate/catalog-builder.js +279 -0
  471. package/dist/cli/orchestrate/catalog-builder.js.map +1 -0
  472. package/dist/cli/orchestrate/catalog-stats.d.ts +31 -0
  473. package/dist/cli/orchestrate/catalog-stats.d.ts.map +1 -0
  474. package/dist/cli/orchestrate/catalog-stats.js +52 -0
  475. package/dist/cli/orchestrate/catalog-stats.js.map +1 -0
  476. package/dist/cli/orchestrate/cross-shard-resolve.d.ts +190 -0
  477. package/dist/cli/orchestrate/cross-shard-resolve.d.ts.map +1 -0
  478. package/dist/cli/orchestrate/cross-shard-resolve.js +523 -0
  479. package/dist/cli/orchestrate/cross-shard-resolve.js.map +1 -0
  480. package/dist/cli/orchestrate/edge-identity.d.ts +48 -0
  481. package/dist/cli/orchestrate/edge-identity.d.ts.map +1 -0
  482. package/dist/cli/orchestrate/edge-identity.js +68 -0
  483. package/dist/cli/orchestrate/edge-identity.js.map +1 -0
  484. package/dist/cli/orchestrate/equivalence-check.d.ts +227 -0
  485. package/dist/cli/orchestrate/equivalence-check.d.ts.map +1 -0
  486. package/dist/cli/orchestrate/equivalence-check.js +264 -0
  487. package/dist/cli/orchestrate/equivalence-check.js.map +1 -0
  488. package/dist/cli/orchestrate/exact-boundary-recovery.d.ts +33 -0
  489. package/dist/cli/orchestrate/exact-boundary-recovery.d.ts.map +1 -0
  490. package/dist/cli/orchestrate/exact-boundary-recovery.js +62 -0
  491. package/dist/cli/orchestrate/exact-boundary-recovery.js.map +1 -0
  492. package/dist/cli/orchestrate/flat-monorepo-strategy.d.ts +171 -0
  493. package/dist/cli/orchestrate/flat-monorepo-strategy.d.ts.map +1 -0
  494. package/dist/cli/orchestrate/flat-monorepo-strategy.js +328 -0
  495. package/dist/cli/orchestrate/flat-monorepo-strategy.js.map +1 -0
  496. package/dist/cli/orchestrate/incremental-merge.d.ts +46 -0
  497. package/dist/cli/orchestrate/incremental-merge.d.ts.map +1 -0
  498. package/dist/cli/orchestrate/incremental-merge.js +236 -0
  499. package/dist/cli/orchestrate/incremental-merge.js.map +1 -0
  500. package/dist/cli/orchestrate/partition-chunk.d.ts +36 -0
  501. package/dist/cli/orchestrate/partition-chunk.d.ts.map +1 -0
  502. package/dist/cli/orchestrate/partition-chunk.js +37 -0
  503. package/dist/cli/orchestrate/partition-chunk.js.map +1 -0
  504. package/dist/cli/orchestrate/partition-files.d.ts +52 -0
  505. package/dist/cli/orchestrate/partition-files.d.ts.map +1 -0
  506. package/dist/cli/orchestrate/partition-files.js +94 -0
  507. package/dist/cli/orchestrate/partition-files.js.map +1 -0
  508. package/dist/cli/orchestrate/resolution-trace.d.ts +11 -0
  509. package/dist/cli/orchestrate/resolution-trace.d.ts.map +1 -0
  510. package/dist/cli/orchestrate/resolution-trace.js +27 -0
  511. package/dist/cli/orchestrate/resolution-trace.js.map +1 -0
  512. package/dist/cli/orchestrate/shard-model.d.ts +99 -0
  513. package/dist/cli/orchestrate/shard-model.d.ts.map +1 -0
  514. package/dist/cli/orchestrate/shard-model.js +23 -0
  515. package/dist/cli/orchestrate/shard-model.js.map +1 -0
  516. package/dist/cli/orchestrate/shard-runner.d.ts +65 -0
  517. package/dist/cli/orchestrate/shard-runner.d.ts.map +1 -0
  518. package/dist/cli/orchestrate/shard-runner.js +169 -0
  519. package/dist/cli/orchestrate/shard-runner.js.map +1 -0
  520. package/dist/cli/orchestrate/sharded-graph.d.ts +86 -0
  521. package/dist/cli/orchestrate/sharded-graph.d.ts.map +1 -0
  522. package/dist/cli/orchestrate/sharded-graph.js +227 -0
  523. package/dist/cli/orchestrate/sharded-graph.js.map +1 -0
  524. package/dist/cli/orchestrate/types.d.ts +31 -0
  525. package/dist/cli/orchestrate/types.d.ts.map +1 -0
  526. package/dist/cli/orchestrate/types.js +24 -0
  527. package/dist/cli/orchestrate/types.js.map +1 -0
  528. package/dist/cli/orchestrate/worker-pool.d.ts +16 -0
  529. package/dist/cli/orchestrate/worker-pool.d.ts.map +1 -0
  530. package/dist/cli/orchestrate/worker-pool.js +39 -0
  531. package/dist/cli/orchestrate/worker-pool.js.map +1 -0
  532. package/dist/cli/orchestrate.d.ts +106 -0
  533. package/dist/cli/orchestrate.d.ts.map +1 -0
  534. package/dist/cli/orchestrate.js +228 -0
  535. package/dist/cli/orchestrate.js.map +1 -0
  536. package/dist/cli/positional-paths.d.ts +23 -0
  537. package/dist/cli/positional-paths.d.ts.map +1 -0
  538. package/dist/cli/positional-paths.js +64 -0
  539. package/dist/cli/positional-paths.js.map +1 -0
  540. package/dist/cli/pressure-monitor.d.ts +62 -0
  541. package/dist/cli/pressure-monitor.d.ts.map +1 -0
  542. package/dist/cli/pressure-monitor.js +110 -0
  543. package/dist/cli/pressure-monitor.js.map +1 -0
  544. package/dist/cli/profile.d.ts +82 -0
  545. package/dist/cli/profile.d.ts.map +1 -0
  546. package/dist/cli/profile.js +120 -0
  547. package/dist/cli/profile.js.map +1 -0
  548. package/dist/cli/report-data.d.ts +46 -0
  549. package/dist/cli/report-data.d.ts.map +1 -0
  550. package/dist/cli/report-data.js +48 -0
  551. package/dist/cli/report-data.js.map +1 -0
  552. package/dist/cli/resolve-adapters.d.ts +19 -0
  553. package/dist/cli/resolve-adapters.d.ts.map +1 -0
  554. package/dist/cli/resolve-adapters.js +38 -0
  555. package/dist/cli/resolve-adapters.js.map +1 -0
  556. package/dist/cli/sarif-export.d.ts +40 -0
  557. package/dist/cli/sarif-export.d.ts.map +1 -0
  558. package/dist/cli/sarif-export.js +69 -0
  559. package/dist/cli/sarif-export.js.map +1 -0
  560. package/dist/cli/shard-worker.d.ts +25 -0
  561. package/dist/cli/shard-worker.d.ts.map +1 -0
  562. package/dist/cli/shard-worker.js +98 -0
  563. package/dist/cli/shard-worker.js.map +1 -0
  564. package/dist/cli/symbol-index.d.ts +51 -0
  565. package/dist/cli/symbol-index.d.ts.map +1 -0
  566. package/dist/cli/symbol-index.js +120 -0
  567. package/dist/cli/symbol-index.js.map +1 -0
  568. package/dist/cli/workspace-report.d.ts +32 -0
  569. package/dist/cli/workspace-report.d.ts.map +1 -0
  570. package/dist/cli/workspace-report.js +107 -0
  571. package/dist/cli/workspace-report.js.map +1 -0
  572. package/dist/cli/workspace-runner.d.ts +104 -0
  573. package/dist/cli/workspace-runner.d.ts.map +1 -0
  574. package/dist/cli/workspace-runner.js +166 -0
  575. package/dist/cli/workspace-runner.js.map +1 -0
  576. package/dist/cross-package/export-index.d.ts +118 -0
  577. package/dist/cross-package/export-index.d.ts.map +1 -0
  578. package/dist/cross-package/export-index.js +296 -0
  579. package/dist/cross-package/export-index.js.map +1 -0
  580. package/dist/cross-package/posix-path.d.ts +16 -0
  581. package/dist/cross-package/posix-path.d.ts.map +1 -0
  582. package/dist/cross-package/posix-path.js +18 -0
  583. package/dist/cross-package/posix-path.js.map +1 -0
  584. package/dist/cross-package/resolve.d.ts +68 -0
  585. package/dist/cross-package/resolve.d.ts.map +1 -0
  586. package/dist/cross-package/resolve.js +83 -0
  587. package/dist/cross-package/resolve.js.map +1 -0
  588. package/dist/index.d.ts +33 -0
  589. package/dist/index.d.ts.map +1 -0
  590. package/dist/index.js +61 -0
  591. package/dist/index.js.map +1 -0
  592. package/dist/internal.d.ts +25 -0
  593. package/dist/internal.d.ts.map +1 -0
  594. package/dist/internal.js +38 -0
  595. package/dist/internal.js.map +1 -0
  596. package/dist/lang-adapter/body-digest.d.ts +46 -0
  597. package/dist/lang-adapter/body-digest.d.ts.map +1 -0
  598. package/dist/lang-adapter/body-digest.js +49 -0
  599. package/dist/lang-adapter/body-digest.js.map +1 -0
  600. package/dist/lang-adapter/edge-helpers.d.ts +104 -0
  601. package/dist/lang-adapter/edge-helpers.d.ts.map +1 -0
  602. package/dist/lang-adapter/edge-helpers.js +120 -0
  603. package/dist/lang-adapter/edge-helpers.js.map +1 -0
  604. package/dist/lang-adapter/registry.d.ts +59 -0
  605. package/dist/lang-adapter/registry.d.ts.map +1 -0
  606. package/dist/lang-adapter/registry.js +100 -0
  607. package/dist/lang-adapter/registry.js.map +1 -0
  608. package/dist/lang-adapter/selector.d.ts +39 -0
  609. package/dist/lang-adapter/selector.d.ts.map +1 -0
  610. package/dist/lang-adapter/selector.js +140 -0
  611. package/dist/lang-adapter/selector.js.map +1 -0
  612. package/dist/lang-adapter/types.d.ts +217 -0
  613. package/dist/lang-adapter/types.d.ts.map +1 -0
  614. package/dist/lang-adapter/types.js +18 -0
  615. package/dist/lang-adapter/types.js.map +1 -0
  616. package/dist/owner-key.d.ts +22 -0
  617. package/dist/owner-key.d.ts.map +1 -0
  618. package/dist/owner-key.js +25 -0
  619. package/dist/owner-key.js.map +1 -0
  620. package/dist/persistence/__tests__/shard-fragment-cache.test.d.ts +8 -0
  621. package/dist/persistence/__tests__/shard-fragment-cache.test.d.ts.map +1 -0
  622. package/dist/persistence/__tests__/shard-fragment-cache.test.js +126 -0
  623. package/dist/persistence/__tests__/shard-fragment-cache.test.js.map +1 -0
  624. package/dist/persistence/catalog-repo.d.ts +77 -0
  625. package/dist/persistence/catalog-repo.d.ts.map +1 -0
  626. package/dist/persistence/catalog-repo.js +229 -0
  627. package/dist/persistence/catalog-repo.js.map +1 -0
  628. package/dist/persistence/schema.d.ts +249 -0
  629. package/dist/persistence/schema.d.ts.map +1 -0
  630. package/dist/persistence/schema.js +53 -0
  631. package/dist/persistence/schema.js.map +1 -0
  632. package/dist/persistence/session-payload.d.ts +96 -0
  633. package/dist/persistence/session-payload.d.ts.map +1 -0
  634. package/dist/persistence/session-payload.js +116 -0
  635. package/dist/persistence/session-payload.js.map +1 -0
  636. package/dist/persistence/session-replay.d.ts +15 -0
  637. package/dist/persistence/session-replay.d.ts.map +1 -0
  638. package/dist/persistence/session-replay.js +80 -0
  639. package/dist/persistence/session-replay.js.map +1 -0
  640. package/dist/pipeline/__tests__/assign-packages.test.d.ts +2 -0
  641. package/dist/pipeline/__tests__/assign-packages.test.d.ts.map +1 -0
  642. package/dist/pipeline/__tests__/assign-packages.test.js +88 -0
  643. package/dist/pipeline/__tests__/assign-packages.test.js.map +1 -0
  644. package/dist/pipeline/__tests__/constrain-edges.test.d.ts +2 -0
  645. package/dist/pipeline/__tests__/constrain-edges.test.d.ts.map +1 -0
  646. package/dist/pipeline/__tests__/constrain-edges.test.js +228 -0
  647. package/dist/pipeline/__tests__/constrain-edges.test.js.map +1 -0
  648. package/dist/pipeline/__tests__/features.test.d.ts +9 -0
  649. package/dist/pipeline/__tests__/features.test.d.ts.map +1 -0
  650. package/dist/pipeline/__tests__/features.test.js +458 -0
  651. package/dist/pipeline/__tests__/features.test.js.map +1 -0
  652. package/dist/pipeline/__tests__/indexes-imports.test.d.ts +2 -0
  653. package/dist/pipeline/__tests__/indexes-imports.test.d.ts.map +1 -0
  654. package/dist/pipeline/__tests__/indexes-imports.test.js +114 -0
  655. package/dist/pipeline/__tests__/indexes-imports.test.js.map +1 -0
  656. package/dist/pipeline/assign-packages.d.ts +18 -0
  657. package/dist/pipeline/assign-packages.d.ts.map +1 -0
  658. package/dist/pipeline/assign-packages.js +86 -0
  659. package/dist/pipeline/assign-packages.js.map +1 -0
  660. package/dist/pipeline/constrain-edges.d.ts +34 -0
  661. package/dist/pipeline/constrain-edges.d.ts.map +1 -0
  662. package/dist/pipeline/constrain-edges.js +139 -0
  663. package/dist/pipeline/constrain-edges.js.map +1 -0
  664. package/dist/pipeline/feature-deps.d.ts +19 -0
  665. package/dist/pipeline/feature-deps.d.ts.map +1 -0
  666. package/dist/pipeline/feature-deps.js +28 -0
  667. package/dist/pipeline/feature-deps.js.map +1 -0
  668. package/dist/pipeline/features.d.ts +50 -0
  669. package/dist/pipeline/features.d.ts.map +1 -0
  670. package/dist/pipeline/features.js +462 -0
  671. package/dist/pipeline/features.js.map +1 -0
  672. package/dist/pipeline/indexes.d.ts +27 -0
  673. package/dist/pipeline/indexes.d.ts.map +1 -0
  674. package/dist/pipeline/indexes.js +159 -0
  675. package/dist/pipeline/indexes.js.map +1 -0
  676. package/dist/recipes/__tests__/built-in-recipes.test.d.ts +5 -0
  677. package/dist/recipes/__tests__/built-in-recipes.test.d.ts.map +1 -0
  678. package/dist/recipes/__tests__/built-in-recipes.test.js +24 -0
  679. package/dist/recipes/__tests__/built-in-recipes.test.js.map +1 -0
  680. package/dist/recipes/__tests__/registry.test.d.ts +7 -0
  681. package/dist/recipes/__tests__/registry.test.d.ts.map +1 -0
  682. package/dist/recipes/__tests__/registry.test.js +34 -0
  683. package/dist/recipes/__tests__/registry.test.js.map +1 -0
  684. package/dist/recipes/__tests__/resolve.test.d.ts +10 -0
  685. package/dist/recipes/__tests__/resolve.test.d.ts.map +1 -0
  686. package/dist/recipes/__tests__/resolve.test.js +38 -0
  687. package/dist/recipes/__tests__/resolve.test.js.map +1 -0
  688. package/dist/recipes/built-in-recipes.d.ts +26 -0
  689. package/dist/recipes/built-in-recipes.d.ts.map +1 -0
  690. package/dist/recipes/built-in-recipes.js +43 -0
  691. package/dist/recipes/built-in-recipes.js.map +1 -0
  692. package/dist/recipes/registry.d.ts +31 -0
  693. package/dist/recipes/registry.d.ts.map +1 -0
  694. package/dist/recipes/registry.js +48 -0
  695. package/dist/recipes/registry.js.map +1 -0
  696. package/dist/recipes/resolve.d.ts +31 -0
  697. package/dist/recipes/resolve.d.ts.map +1 -0
  698. package/dist/recipes/resolve.js +70 -0
  699. package/dist/recipes/resolve.js.map +1 -0
  700. package/dist/recipes/types.d.ts +58 -0
  701. package/dist/recipes/types.d.ts.map +1 -0
  702. package/dist/recipes/types.js +39 -0
  703. package/dist/recipes/types.js.map +1 -0
  704. package/dist/render/__tests__/catalog-json.test.d.ts +9 -0
  705. package/dist/render/__tests__/catalog-json.test.d.ts.map +1 -0
  706. package/dist/render/__tests__/catalog-json.test.js +132 -0
  707. package/dist/render/__tests__/catalog-json.test.js.map +1 -0
  708. package/dist/render/catalog-json-types.d.ts +114 -0
  709. package/dist/render/catalog-json-types.d.ts.map +1 -0
  710. package/dist/render/catalog-json-types.js +23 -0
  711. package/dist/render/catalog-json-types.js.map +1 -0
  712. package/dist/render/catalog-json.d.ts +43 -0
  713. package/dist/render/catalog-json.d.ts.map +1 -0
  714. package/dist/render/catalog-json.js +303 -0
  715. package/dist/render/catalog-json.js.map +1 -0
  716. package/dist/render/opensip-id-derivation.d.ts +73 -0
  717. package/dist/render/opensip-id-derivation.d.ts.map +1 -0
  718. package/dist/render/opensip-id-derivation.js +65 -0
  719. package/dist/render/opensip-id-derivation.js.map +1 -0
  720. package/dist/render/rule-id-mapping.d.ts +61 -0
  721. package/dist/render/rule-id-mapping.d.ts.map +1 -0
  722. package/dist/render/rule-id-mapping.js +82 -0
  723. package/dist/render/rule-id-mapping.js.map +1 -0
  724. package/dist/resolve-callee.d.ts +50 -0
  725. package/dist/resolve-callee.d.ts.map +1 -0
  726. package/dist/resolve-callee.js +80 -0
  727. package/dist/resolve-callee.js.map +1 -0
  728. package/dist/rules/__tests__/__fixtures__/catalog.fixture.d.ts +22 -0
  729. package/dist/rules/__tests__/__fixtures__/catalog.fixture.d.ts.map +1 -0
  730. package/dist/rules/__tests__/__fixtures__/catalog.fixture.js +143 -0
  731. package/dist/rules/__tests__/__fixtures__/catalog.fixture.js.map +1 -0
  732. package/dist/rules/__tests__/create-graph-signal.test.d.ts +8 -0
  733. package/dist/rules/__tests__/create-graph-signal.test.d.ts.map +1 -0
  734. package/dist/rules/__tests__/create-graph-signal.test.js +55 -0
  735. package/dist/rules/__tests__/create-graph-signal.test.js.map +1 -0
  736. package/dist/rules/__tests__/define-rule.test.d.ts +13 -0
  737. package/dist/rules/__tests__/define-rule.test.d.ts.map +1 -0
  738. package/dist/rules/__tests__/define-rule.test.js +102 -0
  739. package/dist/rules/__tests__/define-rule.test.js.map +1 -0
  740. package/dist/rules/__tests__/fingerprint-golden.test.d.ts +21 -0
  741. package/dist/rules/__tests__/fingerprint-golden.test.d.ts.map +1 -0
  742. package/dist/rules/__tests__/fingerprint-golden.test.js +69 -0
  743. package/dist/rules/__tests__/fingerprint-golden.test.js.map +1 -0
  744. package/dist/rules/__tests__/registry.test.d.ts +6 -0
  745. package/dist/rules/__tests__/registry.test.d.ts.map +1 -0
  746. package/dist/rules/__tests__/registry.test.js +37 -0
  747. package/dist/rules/__tests__/registry.test.js.map +1 -0
  748. package/dist/rules/__tests__/rule-behaviors.test.d.ts +9 -0
  749. package/dist/rules/__tests__/rule-behaviors.test.d.ts.map +1 -0
  750. package/dist/rules/__tests__/rule-behaviors.test.js +204 -0
  751. package/dist/rules/__tests__/rule-behaviors.test.js.map +1 -0
  752. package/dist/rules/__tests__/signal-output.snapshot.test.d.ts +11 -0
  753. package/dist/rules/__tests__/signal-output.snapshot.test.d.ts.map +1 -0
  754. package/dist/rules/__tests__/signal-output.snapshot.test.js +55 -0
  755. package/dist/rules/__tests__/signal-output.snapshot.test.js.map +1 -0
  756. package/dist/rules/_approximation.d.ts +23 -0
  757. package/dist/rules/_approximation.d.ts.map +1 -0
  758. package/dist/rules/_approximation.js +28 -0
  759. package/dist/rules/_approximation.js.map +1 -0
  760. package/dist/rules/_entry-points.d.ts +27 -0
  761. package/dist/rules/_entry-points.d.ts.map +1 -0
  762. package/dist/rules/_entry-points.js +81 -0
  763. package/dist/rules/_entry-points.js.map +1 -0
  764. package/dist/rules/_severity-override.d.ts +32 -0
  765. package/dist/rules/_severity-override.d.ts.map +1 -0
  766. package/dist/rules/_severity-override.js +33 -0
  767. package/dist/rules/_severity-override.js.map +1 -0
  768. package/dist/rules/always-throws-branch.d.ts +26 -0
  769. package/dist/rules/always-throws-branch.d.ts.map +1 -0
  770. package/dist/rules/always-throws-branch.js +66 -0
  771. package/dist/rules/always-throws-branch.js.map +1 -0
  772. package/dist/rules/create-graph-signal.d.ts +38 -0
  773. package/dist/rules/create-graph-signal.d.ts.map +1 -0
  774. package/dist/rules/create-graph-signal.js +35 -0
  775. package/dist/rules/create-graph-signal.js.map +1 -0
  776. package/dist/rules/cycle.d.ts +29 -0
  777. package/dist/rules/cycle.d.ts.map +1 -0
  778. package/dist/rules/cycle.js +166 -0
  779. package/dist/rules/cycle.js.map +1 -0
  780. package/dist/rules/cycle.memberlocations.test.d.ts +11 -0
  781. package/dist/rules/cycle.memberlocations.test.d.ts.map +1 -0
  782. package/dist/rules/cycle.memberlocations.test.js +84 -0
  783. package/dist/rules/cycle.memberlocations.test.js.map +1 -0
  784. package/dist/rules/define-rule.d.ts +67 -0
  785. package/dist/rules/define-rule.d.ts.map +1 -0
  786. package/dist/rules/define-rule.js +66 -0
  787. package/dist/rules/define-rule.js.map +1 -0
  788. package/dist/rules/duplicated-function-body.d.ts +40 -0
  789. package/dist/rules/duplicated-function-body.d.ts.map +1 -0
  790. package/dist/rules/duplicated-function-body.js +232 -0
  791. package/dist/rules/duplicated-function-body.js.map +1 -0
  792. package/dist/rules/high-blast-untested.d.ts +26 -0
  793. package/dist/rules/high-blast-untested.d.ts.map +1 -0
  794. package/dist/rules/high-blast-untested.js +82 -0
  795. package/dist/rules/high-blast-untested.js.map +1 -0
  796. package/dist/rules/large-function.d.ts +22 -0
  797. package/dist/rules/large-function.d.ts.map +1 -0
  798. package/dist/rules/large-function.js +72 -0
  799. package/dist/rules/large-function.js.map +1 -0
  800. package/dist/rules/no-side-effect-path.d.ts +31 -0
  801. package/dist/rules/no-side-effect-path.d.ts.map +1 -0
  802. package/dist/rules/no-side-effect-path.js +217 -0
  803. package/dist/rules/no-side-effect-path.js.map +1 -0
  804. package/dist/rules/orphan-subtree.d.ts +11 -0
  805. package/dist/rules/orphan-subtree.d.ts.map +1 -0
  806. package/dist/rules/orphan-subtree.js +104 -0
  807. package/dist/rules/orphan-subtree.js.map +1 -0
  808. package/dist/rules/registry.d.ts +35 -0
  809. package/dist/rules/registry.d.ts.map +1 -0
  810. package/dist/rules/registry.js +96 -0
  811. package/dist/rules/registry.js.map +1 -0
  812. package/dist/rules/test-only-reachable.d.ts +9 -0
  813. package/dist/rules/test-only-reachable.d.ts.map +1 -0
  814. package/dist/rules/test-only-reachable.js +101 -0
  815. package/dist/rules/test-only-reachable.js.map +1 -0
  816. package/dist/rules/unexpected-coupling.d.ts +29 -0
  817. package/dist/rules/unexpected-coupling.d.ts.map +1 -0
  818. package/dist/rules/unexpected-coupling.js +0 -0
  819. package/dist/rules/unexpected-coupling.js.map +1 -0
  820. package/dist/rules/wide-function.d.ts +18 -0
  821. package/dist/rules/wide-function.d.ts.map +1 -0
  822. package/dist/rules/wide-function.js +58 -0
  823. package/dist/rules/wide-function.js.map +1 -0
  824. package/dist/scope-augmentation.d.ts +58 -0
  825. package/dist/scope-augmentation.d.ts.map +1 -0
  826. package/dist/scope-augmentation.js +29 -0
  827. package/dist/scope-augmentation.js.map +1 -0
  828. package/dist/tool.d.ts +29 -0
  829. package/dist/tool.d.ts.map +1 -0
  830. package/dist/tool.js +241 -0
  831. package/dist/tool.js.map +1 -0
  832. package/dist/types.d.ts +642 -0
  833. package/dist/types.d.ts.map +1 -0
  834. package/dist/types.js +2 -0
  835. package/dist/types.js.map +1 -0
  836. package/package.json +136 -0
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Shared cross-package call resolver — the ONE resolution model both graph
3
+ * engines link cross-package (workspace `@scope/pkg`) calls through.
4
+ *
5
+ * Background (ADR — exact↔sharded convergence). The graph tool builds the call
6
+ * graph two ways:
7
+ * - SHARDED (default): per-package shards emit {@link CrossBoundaryCall}
8
+ * descriptors (import specifier + callee name) which the cross-shard linker
9
+ * resolves against the merged catalog's {@link ExportIndex}.
10
+ * - EXACT (`--exact`): one `ts.Program` over all source, resolved by the
11
+ * TypeScript type checker.
12
+ *
13
+ * The exact engine used to follow the type-checker alias straight into a
14
+ * workspace package's BUILT `dist/*.d.ts` (Node16 resolves `@opensip-cli/*` to
15
+ * the published declaration, not the source `.ts`). The `.d.ts` carries only a
16
+ * bodiless signature, so hashing it never matched the SOURCE body the catalog
17
+ * holds → the real cross-package edge was dropped (under-resolution); and the
18
+ * downstream name-only catalog fallback then fabricated phantom edges by matching
19
+ * a bare simple name with no import binding (over-resolution).
20
+ *
21
+ * This module factors the sharded linker's `(import specifier + callee name) →
22
+ * unique exported SOURCE occurrence` resolution into one place BOTH engines call,
23
+ * so the exact engine resolves cross-package calls the SAME way sharded does:
24
+ * binding-required, decline-beats-guess. There is exactly one resolution model,
25
+ * never two drifting copies.
26
+ *
27
+ * Engine-layer and language-agnostic: plain catalog + map/path math, no parser.
28
+ */
29
+ import type { ExportIndex, PackageManifestIndex } from './export-index.js';
30
+ import type { FunctionOccurrence } from '../types.js';
31
+ /**
32
+ * Choose the single exported occurrence an import specifier + callee name link
33
+ * to, or `undefined` to DECLINE. Exactly one export → it. More than one (the
34
+ * same simple name exported from multiple files in the package) → narrow to the
35
+ * lone export whose project-relative file path matches the addressed subpath; if
36
+ * that does not collapse the set to exactly one, DECLINE rather than guess. Zero
37
+ * exports → decline (the name is not exported by this package — e.g. a re-export
38
+ * chain the V1 linker does not follow).
39
+ *
40
+ * A missing edge is safe; a phantom cross-package edge fails the gate.
41
+ */
42
+ export declare function linkExported(exported: readonly FunctionOccurrence[], subpath: string | undefined): FunctionOccurrence | undefined;
43
+ /** Inputs for {@link resolveCrossPackageCall}: the call's binding + the indexes. */
44
+ export interface CrossPackageCallInput {
45
+ /** The RAW import specifier the callee name arrived through (`@scope/pkg[/sub]`). */
46
+ readonly importSpecifier: string | undefined;
47
+ /** The callee's simple name (`getSharedSourceFile`, `walkNodes`, …). */
48
+ readonly calleeName: string;
49
+ /** Per-package export symbol table built from the (merged / single) catalog. */
50
+ readonly exportIndex: ExportIndex;
51
+ /** Package `name` → manifest, turning a specifier into a package group. */
52
+ readonly manifestIndex: PackageManifestIndex;
53
+ }
54
+ /**
55
+ * Resolve a workspace (bare `@scope/pkg`) cross-package call to the UNIQUE
56
+ * exported SOURCE occurrence the TypeScript type checker would pick — or
57
+ * `undefined` to decline. The single seam both the sharded linker and the exact
58
+ * adapter use for `@scope/pkg` calls:
59
+ *
60
+ * 1. no specifier, or a relative (`./x`) specifier → not a bare workspace
61
+ * import; return `undefined` (the caller handles relative/local pinning);
62
+ * 2. specifier resolves to no tracked workspace package (external npm, or an
63
+ * unmappable subpath) → `undefined`;
64
+ * 3. otherwise look the callee name up in that package's export bucket and
65
+ * {@link linkExported} it to a unique occurrence (else decline).
66
+ */
67
+ export declare function resolveCrossPackageCall(input: CrossPackageCallInput): FunctionOccurrence | undefined;
68
+ //# sourceMappingURL=resolve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/cross-package/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,SAAS,kBAAkB,EAAE,EACvC,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,kBAAkB,GAAG,SAAS,CAWhC;AAED,oFAAoF;AACpF,MAAM,WAAW,qBAAqB;IACpC,qFAAqF;IACrF,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,wEAAwE;IACxE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,gFAAgF;IAChF,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,2EAA2E;IAC3E,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC;CAC9C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,qBAAqB,GAC3B,kBAAkB,GAAG,SAAS,CAQhC"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Shared cross-package call resolver — the ONE resolution model both graph
3
+ * engines link cross-package (workspace `@scope/pkg`) calls through.
4
+ *
5
+ * Background (ADR — exact↔sharded convergence). The graph tool builds the call
6
+ * graph two ways:
7
+ * - SHARDED (default): per-package shards emit {@link CrossBoundaryCall}
8
+ * descriptors (import specifier + callee name) which the cross-shard linker
9
+ * resolves against the merged catalog's {@link ExportIndex}.
10
+ * - EXACT (`--exact`): one `ts.Program` over all source, resolved by the
11
+ * TypeScript type checker.
12
+ *
13
+ * The exact engine used to follow the type-checker alias straight into a
14
+ * workspace package's BUILT `dist/*.d.ts` (Node16 resolves `@opensip-cli/*` to
15
+ * the published declaration, not the source `.ts`). The `.d.ts` carries only a
16
+ * bodiless signature, so hashing it never matched the SOURCE body the catalog
17
+ * holds → the real cross-package edge was dropped (under-resolution); and the
18
+ * downstream name-only catalog fallback then fabricated phantom edges by matching
19
+ * a bare simple name with no import binding (over-resolution).
20
+ *
21
+ * This module factors the sharded linker's `(import specifier + callee name) →
22
+ * unique exported SOURCE occurrence` resolution into one place BOTH engines call,
23
+ * so the exact engine resolves cross-package calls the SAME way sharded does:
24
+ * binding-required, decline-beats-guess. There is exactly one resolution model,
25
+ * never two drifting copies.
26
+ *
27
+ * Engine-layer and language-agnostic: plain catalog + map/path math, no parser.
28
+ */
29
+ import { resolveSpecifierToPackage } from './export-index.js';
30
+ /**
31
+ * Choose the single exported occurrence an import specifier + callee name link
32
+ * to, or `undefined` to DECLINE. Exactly one export → it. More than one (the
33
+ * same simple name exported from multiple files in the package) → narrow to the
34
+ * lone export whose project-relative file path matches the addressed subpath; if
35
+ * that does not collapse the set to exactly one, DECLINE rather than guess. Zero
36
+ * exports → decline (the name is not exported by this package — e.g. a re-export
37
+ * chain the V1 linker does not follow).
38
+ *
39
+ * A missing edge is safe; a phantom cross-package edge fails the gate.
40
+ */
41
+ export function linkExported(exported, subpath) {
42
+ if (exported.length === 1)
43
+ return exported[0];
44
+ if (exported.length === 0 || subpath === undefined)
45
+ return undefined;
46
+ // Subpath is `./rest` addressing a file within the imported package; keep only
47
+ // exports whose file path matches that subpath stem (extension-insensitive).
48
+ const stem = stripExt(subpath.replace(/^\.\//, ''));
49
+ const narrowed = exported.filter((o) => {
50
+ const fp = stripExt(o.filePath);
51
+ return fp === stem || fp.endsWith(`/${stem}`) || fp.endsWith(`/${stem}/index`);
52
+ });
53
+ return narrowed.length === 1 ? narrowed[0] : undefined;
54
+ }
55
+ /**
56
+ * Resolve a workspace (bare `@scope/pkg`) cross-package call to the UNIQUE
57
+ * exported SOURCE occurrence the TypeScript type checker would pick — or
58
+ * `undefined` to decline. The single seam both the sharded linker and the exact
59
+ * adapter use for `@scope/pkg` calls:
60
+ *
61
+ * 1. no specifier, or a relative (`./x`) specifier → not a bare workspace
62
+ * import; return `undefined` (the caller handles relative/local pinning);
63
+ * 2. specifier resolves to no tracked workspace package (external npm, or an
64
+ * unmappable subpath) → `undefined`;
65
+ * 3. otherwise look the callee name up in that package's export bucket and
66
+ * {@link linkExported} it to a unique occurrence (else decline).
67
+ */
68
+ export function resolveCrossPackageCall(input) {
69
+ const { importSpecifier, calleeName, exportIndex, manifestIndex } = input;
70
+ if (importSpecifier === undefined || importSpecifier.length === 0)
71
+ return undefined;
72
+ if (importSpecifier.startsWith('.'))
73
+ return undefined; // relative — not this seam's job
74
+ const resolved = resolveSpecifierToPackage(importSpecifier, manifestIndex);
75
+ if (resolved === undefined)
76
+ return undefined;
77
+ const exported = exportIndex.get(resolved.packageGroup)?.get(calleeName) ?? [];
78
+ return linkExported(exported, resolved.subpath);
79
+ }
80
+ function stripExt(p) {
81
+ return p.replace(/\.[A-Za-z0-9]+$/, '');
82
+ }
83
+ //# sourceMappingURL=resolve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/cross-package/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAK9D;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAC1B,QAAuC,EACvC,OAA2B;IAE3B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACrE,+EAA+E;IAC/E,6EAA6E;IAC7E,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACrC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAChC,OAAO,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAcD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAA4B;IAE5B,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IAC1E,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACpF,IAAI,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC,CAAC,iCAAiC;IACxF,MAAM,QAAQ,GAAG,yBAAyB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IAC3E,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7C,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAC/E,OAAO,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS;IACzB,OAAO,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @opensip-cli/graph — public barrel.
3
+ *
4
+ * The graph tool implements a strict six-stage pipeline:
5
+ * discover → inventory → edges → indexes → rules → render.
6
+ */
7
+ import './scope-augmentation.js';
8
+ export type { GraphSubscope } from './scope-augmentation.js';
9
+ export { graphTool, graphTool as tool } from './tool.js';
10
+ export { GRAPH_CONTRACT_VERSION } from './tool.js';
11
+ export { GRAPH_ENV_SPECS } from './cli/pressure-monitor.js';
12
+ export type { Catalog, ReExportRecord, FunctionOccurrence, CallEdge, DependencyEdge, Param, Indexes, Rule, RuleHints, ResolutionStats, ResolverVerdict, ParseError, FunctionKind, CallResolution, CallConfidence, ResolutionMode, CrossBoundaryCall, Visibility, FeatureTable, FunctionFeatures, PackageFeatures, SccFeatures, PackageEdgeFeature, BlastScore, FeatureColumn, PersistedFeatures, PersistedFunctionFeatures, } from './types.js';
13
+ export type { GraphLanguageAdapter, DiscoverInput, DiscoverOutput, ParseInput, ParseOutput, WalkInput, WalkOutput, ResolveInput, ResolveOutput, CallSiteRecord, DependencySiteRecord, CacheKeyInput, ParsedProject, } from './lang-adapter/types.js';
14
+ export type { CallConfidence as AdapterCallConfidence } from './types.js';
15
+ export { pickAdapter, createAdapterRegistry, currentAdapterRegistry, GraphAdapterRegistry, } from './lang-adapter/registry.js';
16
+ export { GraphAdapterSelector } from './lang-adapter/selector.js';
17
+ export { truncateForCallEdge, CALL_EDGE_TEXT_MAX, CREATION_EDGE_PREFIX, CREATION_EDGE_TEXT_MAX, appendEdge, createMutableStats, pushCreationEdge, } from './lang-adapter/edge-helpers.js';
18
+ export type { EdgePosition, EdgeSink, MutableStats } from './lang-adapter/edge-helpers.js';
19
+ export { normalizeWhitespace, hashBody } from './lang-adapter/body-digest.js';
20
+ export type { BodyDigest } from './lang-adapter/body-digest.js';
21
+ export { ownerEdgeKey } from './owner-key.js';
22
+ export { buildExportIndex, buildPackageManifestIndex, buildPackageManifestIndexFromRoots, resolveSpecifierToPackage, } from './cross-package/export-index.js';
23
+ export type { ExportIndex, PackageManifest, PackageManifestIndex, ResolvedSpecifier, } from './cross-package/export-index.js';
24
+ export { resolveCrossPackageCall, linkExported } from './cross-package/resolve.js';
25
+ export type { CrossPackageCallInput } from './cross-package/resolve.js';
26
+ export { defineRule } from './rules/define-rule.js';
27
+ export type { RuleDataset, GraphFeatures, DefineRuleConfig } from './rules/define-rule.js';
28
+ export { defineGraphRecipe } from './recipes/types.js';
29
+ export type { GraphRecipe, GraphRecipeDefinition, RuleSelector, RuleConfigMap, } from './recipes/types.js';
30
+ export { builtInGraphRecipes, builtInGraphRecipesByName, defaultGraphRecipe, deadCodeGraphRecipe, isBuiltInGraphRecipe, } from './recipes/built-in-recipes.js';
31
+ export { GraphRecipeRegistry, createRecipeRegistry, currentGraphRecipes, } from './recipes/registry.js';
32
+ export { resolveRecipeToRules } from './recipes/resolve.js';
33
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAKH,OAAO,yBAAyB,CAAC;AACjC,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAM7D,OAAO,EAAE,SAAS,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAgB5D,YAAY,EACV,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,QAAQ,EACR,cAAc,EACd,KAAK,EACL,OAAO,EACP,IAAI,EACJ,SAAS,EACT,eAAe,EACf,eAAe,EACf,UAAU,EACV,YAAY,EACZ,cAAc,EACd,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AA0BpB,YAAY,EACV,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,UAAU,EACV,WAAW,EACX,SAAS,EACT,UAAU,EACV,YAAY,EACZ,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,cAAc,IAAI,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,UAAU,EACV,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,gCAAgC,CAAC;AASxC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAS3F,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9E,YAAY,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAUhE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAY9C,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,kCAAkC,EAClC,yBAAyB,GAC1B,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACV,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACnF,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAIxE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,YAAY,EACV,WAAW,EACX,qBAAqB,EACrB,YAAY,EACZ,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,61 @@
1
+ // @fitness-ignore-file module-coupling-fan-out -- Public barrel: re-exports the surface of each pipeline stage; fan-out is the contract of this file
2
+ /**
3
+ * @opensip-cli/graph — public barrel.
4
+ *
5
+ * The graph tool implements a strict six-stage pipeline:
6
+ * discover → inventory → edges → indexes → rules → render.
7
+ */
8
+ // Side-effect import: surfaces the `scope.graph` augmentation on
9
+ // @opensip-cli/core's RunScope interface (D7 — tool subscopes via
10
+ // module augmentation).
11
+ import './scope-augmentation.js';
12
+ // Re-exported as `tool` so the third-party plugin-discovery walker
13
+ // (which keys on `mod.tool`) treats first-party and third-party Tool
14
+ // packages uniformly; dedup at register-tools.ts handles the
15
+ // duplicate-id case.
16
+ export { graphTool, graphTool as tool } from './tool.js';
17
+ export { GRAPH_CONTRACT_VERSION } from './tool.js';
18
+ // Graph-engine environment-variable specs (launch, §5.12) — the CLI
19
+ // composition root imports these to aggregate the env-surface reference doc.
20
+ export { GRAPH_ENV_SPECS } from './cli/pressure-monitor.js';
21
+ export { pickAdapter, createAdapterRegistry, currentAdapterRegistry, GraphAdapterRegistry, } from './lang-adapter/registry.js';
22
+ export { GraphAdapterSelector } from './lang-adapter/selector.js';
23
+ export { truncateForCallEdge, CALL_EDGE_TEXT_MAX, CREATION_EDGE_PREFIX, CREATION_EDGE_TEXT_MAX, appendEdge, createMutableStats, pushCreationEdge, } from './lang-adapter/edge-helpers.js';
24
+ // ── Shared body-digest primitives ─────────────────────────────────
25
+ //
26
+ // The normalize-to-hash tail of the `bodyHash` pipeline (BodyDigest
27
+ // shape + whitespace normalizer + hash/size step) was byte-identical
28
+ // across the tree-sitter adapter packs. Hoisted here so each pack keeps
29
+ // only its language-specific comment stripper / normalizer (round-3
30
+ // audit 2026-05-30, finding D). Mirrors the edge-helpers rationale.
31
+ export { normalizeWhitespace, hashBody } from './lang-adapter/body-digest.js';
32
+ // PR 3 of plan 2026-05-23-plan-graph-adapter-package-split.md:
33
+ // first-party adapters live in their own graph-* packages, so the
34
+ // engine no longer re-exports any adapter, parsed-project type, or
35
+ // rule-hints constant. Cross-package tests import directly from each
36
+ // adapter pack.
37
+ // `ownerEdgeKey` is public API: the tree-sitter adapter packs consume it to
38
+ // emit owner edges consistently with the engine (part of the adapter contract).
39
+ export { ownerEdgeKey } from './owner-key.js';
40
+ // ── Cross-package resolution primitives ────────────────────────────
41
+ //
42
+ // The SINGLE (import specifier + callee name) → unique exported SOURCE
43
+ // occurrence resolution model both graph engines link `@scope/pkg` calls
44
+ // through. The sharded orchestrator's cross-shard linker uses it; the
45
+ // TypeScript adapter's exact resolvers use it too, so the exact engine
46
+ // resolves cross-package calls the SAME way sharded does (binding-required,
47
+ // decline-beats-guess) instead of following the type-checker alias into a
48
+ // bodiless `dist/*.d.ts`. Pure, language-agnostic — part of the adapter
49
+ // contract surface alongside the edge-helpers and body-digest primitives.
50
+ export { buildExportIndex, buildPackageManifestIndex, buildPackageManifestIndexFromRoots, resolveSpecifierToPackage, } from './cross-package/export-index.js';
51
+ export { resolveCrossPackageCall, linkExported } from './cross-package/resolve.js';
52
+ // `buildIndexes` and the individual built-in rule instances are NOT public —
53
+ // they're consumed only by the cross-package rule tests and moved to
54
+ // `@opensip-cli/graph/internal` (rules run via recipes by id). See ADR-0009.
55
+ export { defineRule } from './rules/define-rule.js';
56
+ // ── Graph recipes (Plan B — symmetric with fitness recipes) ────────
57
+ export { defineGraphRecipe } from './recipes/types.js';
58
+ export { builtInGraphRecipes, builtInGraphRecipesByName, defaultGraphRecipe, deadCodeGraphRecipe, isBuiltInGraphRecipe, } from './recipes/built-in-recipes.js';
59
+ export { GraphRecipeRegistry, createRecipeRegistry, currentGraphRecipes, } from './recipes/registry.js';
60
+ export { resolveRecipeToRules } from './recipes/resolve.js';
61
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qJAAqJ;AACrJ;;;;;GAKG;AAEH,iEAAiE;AACjE,kEAAkE;AAClE,wBAAwB;AACxB,OAAO,yBAAyB,CAAC;AAGjC,mEAAmE;AACnE,qEAAqE;AACrE,6DAA6D;AAC7D,qBAAqB;AACrB,OAAO,EAAE,SAAS,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,oEAAoE;AACpE,6EAA6E;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAsF5D,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,UAAU,EACV,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,gCAAgC,CAAC;AAWxC,qEAAqE;AACrE,EAAE;AACF,oEAAoE;AACpE,qEAAqE;AACrE,wEAAwE;AACxE,oEAAoE;AACpE,oEAAoE;AACpE,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAG9E,+DAA+D;AAC/D,kEAAkE;AAClE,mEAAmE;AACnE,qEAAqE;AACrE,gBAAgB;AAEhB,4EAA4E;AAC5E,gFAAgF;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,sEAAsE;AACtE,EAAE;AACF,uEAAuE;AACvE,yEAAyE;AACzE,sEAAsE;AACtE,uEAAuE;AACvE,4EAA4E;AAC5E,0EAA0E;AAC1E,wEAAwE;AACxE,0EAA0E;AAC1E,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,kCAAkC,EAClC,yBAAyB,GAC1B,MAAM,iCAAiC,CAAC;AAOzC,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAEnF,6EAA6E;AAC7E,qEAAqE;AACrE,6EAA6E;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,sEAAsE;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAOvD,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @fileoverview `@opensip-cli/graph/internal` — engine internals exposed
3
+ * ONLY for the cross-package adapter test suites (graph-typescript et al.).
4
+ *
5
+ * This is NOT public API. Production code in other packages must not import
6
+ * from `@opensip-cli/graph/internal` (enforced by dependency-cruiser per
7
+ * ADR-0009). The individual built-in rule instances live here because the
8
+ * public way to run a rule is via a recipe (by id); only the rule unit tests
9
+ * need the raw rule object to call `.evaluate(...)` directly.
10
+ */
11
+ export { buildIndexes } from './pipeline/indexes.js';
12
+ export type { GraphConfig } from './types.js';
13
+ export { alwaysThrowsBranchRule } from './rules/always-throws-branch.js';
14
+ export { noSideEffectPathRule } from './rules/no-side-effect-path.js';
15
+ export { duplicatedFunctionBodyRule } from './rules/duplicated-function-body.js';
16
+ export { orphanSubtreeRule } from './rules/orphan-subtree.js';
17
+ export { runGraph, GRAPH_STAGES } from './cli/orchestrate.js';
18
+ export type { GraphStage, GraphProgressEvent, GraphProgressCallback, RunGraphInput, RunGraphResult, } from './cli/orchestrate.js';
19
+ export { executeGraph, buildUnifiedReportLines } from './cli/graph.js';
20
+ export type { UnifiedReportInput } from './cli/graph.js';
21
+ export { CatalogRepo } from './persistence/catalog-repo.js';
22
+ export { MemoryPressureError } from './cli/pressure-monitor.js';
23
+ export { HEAP_TARGETS, decideHeapTargetMb, systemHasMemoryFor, runHeapPreflight, totalSystemMemoryMb, } from './cli/heap-preflight.js';
24
+ export type { Shard, ShardBuildResult } from './cli/orchestrate/shard-model.js';
25
+ //# sourceMappingURL=internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAKrD,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAU9D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC9D,YAAY,EACV,UAAU,EACV,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACvE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAQzD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @fileoverview `@opensip-cli/graph/internal` — engine internals exposed
3
+ * ONLY for the cross-package adapter test suites (graph-typescript et al.).
4
+ *
5
+ * This is NOT public API. Production code in other packages must not import
6
+ * from `@opensip-cli/graph/internal` (enforced by dependency-cruiser per
7
+ * ADR-0009). The individual built-in rule instances live here because the
8
+ * public way to run a rule is via a recipe (by id); only the rule unit tests
9
+ * need the raw rule object to call `.evaluate(...)` directly.
10
+ */
11
+ // Index builder — used by the adapter rule tests to assemble a catalog's
12
+ // indexes before invoking a rule's `.evaluate(...)`. The dashboard has its own
13
+ // index builder; nothing in production consumes the engine's.
14
+ export { buildIndexes } from './pipeline/indexes.js';
15
+ export { alwaysThrowsBranchRule } from './rules/always-throws-branch.js';
16
+ export { noSideEffectPathRule } from './rules/no-side-effect-path.js';
17
+ export { duplicatedFunctionBodyRule } from './rules/duplicated-function-body.js';
18
+ export { orphanSubtreeRule } from './rules/orphan-subtree.js';
19
+ // ── Orchestration / CLI-handler surface (ADR-0009, Finding 3) ──────
20
+ //
21
+ // These drive the six-stage pipeline and the `graph` CLI command. The
22
+ // production path reaches them via `graphTool.commandSpecs` (host-mounted,
23
+ // and the parent repo via the `catalog-export` subcommand), never by importing these
24
+ // symbols — so they are private. Only the cross-package adapter and CLI
25
+ // telemetry test suites import them, exercising the orchestrator end to
26
+ // end without going through Commander.
27
+ export { runGraph, GRAPH_STAGES } from './cli/orchestrate.js';
28
+ export { executeGraph, buildUnifiedReportLines } from './cli/graph.js';
29
+ // `CatalogRepo` — the engine's SQLite/Drizzle catalog persistence repo. Used
30
+ // internally by graph (orchestrator cache, `tool.ts` report contribution,
31
+ // `lookup`/`catalog-export`). It was briefly on the public barrel for fitness's
32
+ // report command; with that coupling gone it is demoted here — a concrete
33
+ // repository is not a module contract (boundary audit 2026-06-05). Any future
34
+ // out-of-package read should go through a narrow catalog-read contract, not this.
35
+ export { CatalogRepo } from './persistence/catalog-repo.js';
36
+ export { MemoryPressureError } from './cli/pressure-monitor.js';
37
+ export { HEAP_TARGETS, decideHeapTargetMb, systemHasMemoryFor, runHeapPreflight, totalSystemMemoryMb, } from './cli/heap-preflight.js';
38
+ //# sourceMappingURL=internal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,yEAAyE;AACzE,+EAA+E;AAC/E,8DAA8D;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAOrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,sEAAsE;AACtE,EAAE;AACF,sEAAsE;AACtE,2EAA2E;AAC3E,qFAAqF;AACrF,wEAAwE;AACxE,wEAAwE;AACxE,uCAAuC;AACvC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAQ9D,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAGvE,6EAA6E;AAC7E,0EAA0E;AAC1E,gFAAgF;AAChF,0EAA0E;AAC1E,8EAA8E;AAC9E,kFAAkF;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * @fileoverview Shared body-digest primitives for GraphLanguageAdapters.
3
+ *
4
+ * The catalog's `bodyHash` contract is "reduce a function body to a
5
+ * canonical string, then SHA-256 it." The normalize-to-hash TAIL of that
6
+ * pipeline — the `BodyDigest` shape, the whitespace-collapse normalizer,
7
+ * and the hash+size step — was byte-identical across every adapter that
8
+ * hashes bodies (go/java/rust real bodies, plus the synthetic-body path
9
+ * in all four tree-sitter packs). Per the round-3 modular-monolith audit
10
+ * (2026-05-30, finding D) it lives here on the contract layer instead of
11
+ * being copy-pasted into each pack.
12
+ *
13
+ * This mirrors edge-helpers.ts exactly: tiny utilities that used to be
14
+ * duplicated under each adapter now sit in lang-adapter/, which adapters
15
+ * already import types from — so importing one more helper is
16
+ * structurally consistent and violates no layering rule (lang-* adapters
17
+ * may not import each OTHER, but lang-adapter/ is fair game).
18
+ *
19
+ * What deliberately STAYS in each adapter pack: the language-specific
20
+ * comment stripper (Go rune literals vs Java text blocks vs Rust nested
21
+ * block comments) and any language-specific normalization. Python, for
22
+ * example, substitutes its own `normalizePythonBody` for real bodies
23
+ * because indentation is semantically significant there — it still
24
+ * composes `hashBody` + `normalizeWhitespace` for synthetic bodies. The
25
+ * primitives are intentionally low-level (not a single `digestBody(text,
26
+ * stripFn)`) precisely so a pack can swap the normalization step.
27
+ */
28
+ /** Catalog body fingerprint: SHA-256 hex hash + canonical-text length. */
29
+ export interface BodyDigest {
30
+ readonly hash: string;
31
+ readonly size: number;
32
+ }
33
+ /**
34
+ * Collapse every run of whitespace to a single space and trim. The
35
+ * default body normalization for whitespace-insensitive languages
36
+ * (Go/Java/Rust) and for synthetic (module-init) bodies in every pack.
37
+ */
38
+ export declare function normalizeWhitespace(s: string): string;
39
+ /**
40
+ * SHA-256 an already-normalized ("canonical") body string into a
41
+ * `BodyDigest`. `size` is the canonical-text length so it tracks the
42
+ * hashed content, not the raw source. Callers normalize first — via
43
+ * `normalizeWhitespace` or a language-specific normalizer.
44
+ */
45
+ export declare function hashBody(canonical: string): BodyDigest;
46
+ //# sourceMappingURL=body-digest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"body-digest.d.ts","sourceRoot":"","sources":["../../src/lang-adapter/body-digest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,0EAA0E;AAC1E,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAKtD"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * @fileoverview Shared body-digest primitives for GraphLanguageAdapters.
3
+ *
4
+ * The catalog's `bodyHash` contract is "reduce a function body to a
5
+ * canonical string, then SHA-256 it." The normalize-to-hash TAIL of that
6
+ * pipeline — the `BodyDigest` shape, the whitespace-collapse normalizer,
7
+ * and the hash+size step — was byte-identical across every adapter that
8
+ * hashes bodies (go/java/rust real bodies, plus the synthetic-body path
9
+ * in all four tree-sitter packs). Per the round-3 modular-monolith audit
10
+ * (2026-05-30, finding D) it lives here on the contract layer instead of
11
+ * being copy-pasted into each pack.
12
+ *
13
+ * This mirrors edge-helpers.ts exactly: tiny utilities that used to be
14
+ * duplicated under each adapter now sit in lang-adapter/, which adapters
15
+ * already import types from — so importing one more helper is
16
+ * structurally consistent and violates no layering rule (lang-* adapters
17
+ * may not import each OTHER, but lang-adapter/ is fair game).
18
+ *
19
+ * What deliberately STAYS in each adapter pack: the language-specific
20
+ * comment stripper (Go rune literals vs Java text blocks vs Rust nested
21
+ * block comments) and any language-specific normalization. Python, for
22
+ * example, substitutes its own `normalizePythonBody` for real bodies
23
+ * because indentation is semantically significant there — it still
24
+ * composes `hashBody` + `normalizeWhitespace` for synthetic bodies. The
25
+ * primitives are intentionally low-level (not a single `digestBody(text,
26
+ * stripFn)`) precisely so a pack can swap the normalization step.
27
+ */
28
+ import { createHash } from 'node:crypto';
29
+ /**
30
+ * Collapse every run of whitespace to a single space and trim. The
31
+ * default body normalization for whitespace-insensitive languages
32
+ * (Go/Java/Rust) and for synthetic (module-init) bodies in every pack.
33
+ */
34
+ export function normalizeWhitespace(s) {
35
+ return s.replaceAll(/\s+/g, ' ').trim();
36
+ }
37
+ /**
38
+ * SHA-256 an already-normalized ("canonical") body string into a
39
+ * `BodyDigest`. `size` is the canonical-text length so it tracks the
40
+ * hashed content, not the raw source. Callers normalize first — via
41
+ * `normalizeWhitespace` or a language-specific normalizer.
42
+ */
43
+ export function hashBody(canonical) {
44
+ return {
45
+ hash: createHash('sha256').update(canonical, 'utf8').digest('hex'),
46
+ size: canonical.length,
47
+ };
48
+ }
49
+ //# sourceMappingURL=body-digest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"body-digest.js","sourceRoot":"","sources":["../../src/lang-adapter/body-digest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAQzC;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,CAAS;IAC3C,OAAO,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,SAAiB;IACxC,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAClE,IAAI,EAAE,SAAS,CAAC,MAAM;KACvB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Shared resolver helpers usable by any GraphLanguageAdapter.
3
+ *
4
+ * These tiny utilities used to live duplicated under each lang-*
5
+ * adapter (`appendEdge`, `pushCreationEdge`, the `MutableStats`
6
+ * counter shape). The duplicated-function-body rule flagged the
7
+ * duplication, which is correct — the bodies really are identical
8
+ * and the rule has no false-positive heuristic that would skip them.
9
+ *
10
+ * Putting these in lang-adapter/ keeps them on the contract layer:
11
+ * adapters already import types from `./types.js`, so importing one
12
+ * more helper is structurally consistent. The layering rules forbid
13
+ * lang-* adapters from importing each other but say nothing about
14
+ * lang-adapter/.
15
+ */
16
+ import type { CallEdge } from '../types.js';
17
+ /** Maximum length of a `CallEdge.text` field. Per types.ts contract. */
18
+ export declare const CALL_EDGE_TEXT_MAX = 80;
19
+ /** Prefix prepended to creation-edge text (`[creates] `). */
20
+ export declare const CREATION_EDGE_PREFIX = "[creates] ";
21
+ /**
22
+ * Maximum length of the inner source-text slice that gets prefixed
23
+ * with `[creates] ` to form a creation edge. The total edge text
24
+ * after prefixing is bounded by `CALL_EDGE_TEXT_MAX`.
25
+ */
26
+ export declare const CREATION_EDGE_TEXT_MAX: number;
27
+ /**
28
+ * Truncate raw call-site source text to fit within `CallEdge.text`'s
29
+ * 80-char contract. Long strings get sliced and ellipsized; short
30
+ * strings pass through unchanged. Single source of truth for the
31
+ * truncation contract — adapters call this instead of inlining the
32
+ * length math.
33
+ */
34
+ export declare function truncateForCallEdge(text: string): string;
35
+ /**
36
+ * Append a CallEdge to the per-owner edge list, creating the list on
37
+ * first append. Trivial — but small functions deserve a single home.
38
+ */
39
+ export declare function appendEdge(edgesByOwner: Map<string, CallEdge[]>, ownerHash: string, edge: CallEdge): void;
40
+ /**
41
+ * Per-confidence stat counters mutated as edges are appended. Same
42
+ * shape every adapter resolver assembles inline; consolidated here
43
+ * with an `apply(edge)` method that classifies and bumps the right
44
+ * counter so resolvers don't repeat the if-ladder.
45
+ *
46
+ * Use {@link createMutableStats} for a fresh zeroed instance.
47
+ */
48
+ export interface MutableStats {
49
+ totalCallSites: number;
50
+ resolvedHigh: number;
51
+ resolvedMedium: number;
52
+ resolvedLow: number;
53
+ unresolved: number;
54
+ /**
55
+ * Classify `edge` by its `to.length` and `confidence` and bump the
56
+ * matching counter. Does NOT touch `totalCallSites` — call sites
57
+ * include unresolved-by-shape decisions that don't always produce
58
+ * an edge, so call-site counting stays the resolver's job.
59
+ */
60
+ apply(edge: CallEdge): void;
61
+ }
62
+ /**
63
+ * The two output accumulators a resolver threads through edge emission:
64
+ * the per-owner edge map and the running confidence stats. Grouping them
65
+ * names the "resolution output" a resolver allocates once per pass and
66
+ * keeps the edge-push helpers (and the adapter `pushCallEdge` functions)
67
+ * under the wide-function parameter budget.
68
+ */
69
+ export interface EdgeSink {
70
+ /** Per-owner-hash edge list, appended via {@link appendEdge}. */
71
+ readonly edgesByOwner: Map<string, CallEdge[]>;
72
+ /** Running per-confidence counters, bumped as edges are appended. */
73
+ readonly stats: MutableStats;
74
+ }
75
+ /** Constructs a fresh {@link MutableStats} accumulator for edge resolver bookkeeping. */
76
+ export declare function createMutableStats(): MutableStats;
77
+ /**
78
+ * Position info every adapter must derive from its node/file pair to
79
+ * build a CallEdge. Adapters supply this via the `position` callback
80
+ * to {@link pushCreationEdge}, keeping the helper agnostic to the
81
+ * underlying parser shape (TS Node + SourceFile, tree-sitter Node +
82
+ * source string, etc.).
83
+ */
84
+ export interface EdgePosition {
85
+ /** 1-based line number. */
86
+ readonly line: number;
87
+ /** 0-based column. */
88
+ readonly column: number;
89
+ /** Source text of the call site, untruncated. */
90
+ readonly text: string;
91
+ }
92
+ /**
93
+ * Append a synthetic creation edge — the parent owner contains an
94
+ * inline-callable child, so its enclosing scope's reachability flows
95
+ * to the child unconditionally. Static, high-confidence by
96
+ * construction.
97
+ *
98
+ * Parser-agnostic: the caller resolves the call site's {@link EdgePosition}
99
+ * (the only thing the helper needs from the adapter's node/file pair) and
100
+ * passes it in, so this helper never touches a parser-specific node shape.
101
+ * Bumps `totalCallSites` and `resolvedHigh` on the sink's stats.
102
+ */
103
+ export declare function pushCreationEdge(pos: EdgePosition, ownerHash: string, childHash: string, sink: EdgeSink): void;
104
+ //# sourceMappingURL=edge-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edge-helpers.d.ts","sourceRoot":"","sources":["../../src/lang-adapter/edge-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAU5C,wEAAwE;AACxE,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAQrC,6DAA6D;AAC7D,eAAO,MAAM,oBAAoB,eAAe,CAAC;AAEjD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,QAAmD,CAAC;AAIvF;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIxD;AAaD;;;GAGG;AACH,wBAAgB,UAAU,CACxB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,EACrC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,QAAQ,GACb,IAAI,CAIN;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,KAAK,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB,iEAAiE;IACjE,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/C,qEAAqE;IACrE,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B;AAED,yFAAyF;AACzF,wBAAgB,kBAAkB,IAAI,YAAY,CAkBjD;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sBAAsB;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,iDAAiD;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,QAAQ,GACb,IAAI,CAcN"}