@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.
- package/LICENSE +202 -0
- package/NOTICE +8 -0
- package/README.md +31 -0
- package/dist/__tests__/baseline-plane.test.d.ts +11 -0
- package/dist/__tests__/baseline-plane.test.d.ts.map +1 -0
- package/dist/__tests__/baseline-plane.test.js +60 -0
- package/dist/__tests__/baseline-plane.test.js.map +1 -0
- package/dist/__tests__/cache/engine-version.test.d.ts +12 -0
- package/dist/__tests__/cache/engine-version.test.d.ts.map +1 -0
- package/dist/__tests__/cache/engine-version.test.js +79 -0
- package/dist/__tests__/cache/engine-version.test.js.map +1 -0
- package/dist/__tests__/cache/invalidate.test.d.ts +9 -0
- package/dist/__tests__/cache/invalidate.test.d.ts.map +1 -0
- package/dist/__tests__/cache/invalidate.test.js +228 -0
- package/dist/__tests__/cache/invalidate.test.js.map +1 -0
- package/dist/__tests__/cli/contribution-from-signals.test.d.ts +17 -0
- package/dist/__tests__/cli/contribution-from-signals.test.d.ts.map +1 -0
- package/dist/__tests__/cli/contribution-from-signals.test.js +89 -0
- package/dist/__tests__/cli/contribution-from-signals.test.js.map +1 -0
- package/dist/__tests__/cli/detect.test.d.ts +2 -0
- package/dist/__tests__/cli/detect.test.d.ts.map +1 -0
- package/dist/__tests__/cli/detect.test.js +96 -0
- package/dist/__tests__/cli/detect.test.js.map +1 -0
- package/dist/__tests__/cli/graph-config.test.d.ts +9 -0
- package/dist/__tests__/cli/graph-config.test.d.ts.map +1 -0
- package/dist/__tests__/cli/graph-config.test.js +113 -0
- package/dist/__tests__/cli/graph-config.test.js.map +1 -0
- package/dist/__tests__/cli/graph-execute.test.d.ts +9 -0
- package/dist/__tests__/cli/graph-execute.test.d.ts.map +1 -0
- package/dist/__tests__/cli/graph-execute.test.js +434 -0
- package/dist/__tests__/cli/graph-execute.test.js.map +1 -0
- package/dist/__tests__/cli/graph.test.d.ts +12 -0
- package/dist/__tests__/cli/graph.test.d.ts.map +1 -0
- package/dist/__tests__/cli/graph.test.js +589 -0
- package/dist/__tests__/cli/graph.test.js.map +1 -0
- package/dist/__tests__/cli/heap-preflight.test.d.ts +11 -0
- package/dist/__tests__/cli/heap-preflight.test.d.ts.map +1 -0
- package/dist/__tests__/cli/heap-preflight.test.js +150 -0
- package/dist/__tests__/cli/heap-preflight.test.js.map +1 -0
- package/dist/__tests__/cli/language-mismatch.test.d.ts +10 -0
- package/dist/__tests__/cli/language-mismatch.test.d.ts.map +1 -0
- package/dist/__tests__/cli/language-mismatch.test.js +155 -0
- package/dist/__tests__/cli/language-mismatch.test.js.map +1 -0
- package/dist/__tests__/cli/lookup.test.d.ts +7 -0
- package/dist/__tests__/cli/lookup.test.d.ts.map +1 -0
- package/dist/__tests__/cli/lookup.test.js +104 -0
- package/dist/__tests__/cli/lookup.test.js.map +1 -0
- package/dist/__tests__/cli/orchestrate.test.d.ts +12 -0
- package/dist/__tests__/cli/orchestrate.test.d.ts.map +1 -0
- package/dist/__tests__/cli/orchestrate.test.js +315 -0
- package/dist/__tests__/cli/orchestrate.test.js.map +1 -0
- package/dist/__tests__/cli/positional-paths.test.d.ts +5 -0
- package/dist/__tests__/cli/positional-paths.test.d.ts.map +1 -0
- package/dist/__tests__/cli/positional-paths.test.js +87 -0
- package/dist/__tests__/cli/positional-paths.test.js.map +1 -0
- package/dist/__tests__/cli/pressure-monitor.test.d.ts +11 -0
- package/dist/__tests__/cli/pressure-monitor.test.d.ts.map +1 -0
- package/dist/__tests__/cli/pressure-monitor.test.js +94 -0
- package/dist/__tests__/cli/pressure-monitor.test.js.map +1 -0
- package/dist/__tests__/cli/sarif-export.test.d.ts +8 -0
- package/dist/__tests__/cli/sarif-export.test.d.ts.map +1 -0
- package/dist/__tests__/cli/sarif-export.test.js +94 -0
- package/dist/__tests__/cli/sarif-export.test.js.map +1 -0
- package/dist/__tests__/cli/session-contract.test.d.ts +17 -0
- package/dist/__tests__/cli/session-contract.test.d.ts.map +1 -0
- package/dist/__tests__/cli/session-contract.test.js +225 -0
- package/dist/__tests__/cli/session-contract.test.js.map +1 -0
- package/dist/__tests__/cli/symbol-index.test.d.ts +7 -0
- package/dist/__tests__/cli/symbol-index.test.d.ts.map +1 -0
- package/dist/__tests__/cli/symbol-index.test.js +117 -0
- package/dist/__tests__/cli/symbol-index.test.js.map +1 -0
- package/dist/__tests__/cli/tool-show-mode.test.d.ts +10 -0
- package/dist/__tests__/cli/tool-show-mode.test.d.ts.map +1 -0
- package/dist/__tests__/cli/tool-show-mode.test.js +128 -0
- package/dist/__tests__/cli/tool-show-mode.test.js.map +1 -0
- package/dist/__tests__/cli/workspace-runner-polyglot.test.d.ts +10 -0
- package/dist/__tests__/cli/workspace-runner-polyglot.test.d.ts.map +1 -0
- package/dist/__tests__/cli/workspace-runner-polyglot.test.js +120 -0
- package/dist/__tests__/cli/workspace-runner-polyglot.test.js.map +1 -0
- package/dist/__tests__/graph-catalog-drift.test.d.ts +24 -0
- package/dist/__tests__/graph-catalog-drift.test.d.ts.map +1 -0
- package/dist/__tests__/graph-catalog-drift.test.js +34 -0
- package/dist/__tests__/graph-catalog-drift.test.js.map +1 -0
- package/dist/__tests__/internal-surface.test.d.ts +17 -0
- package/dist/__tests__/internal-surface.test.d.ts.map +1 -0
- package/dist/__tests__/internal-surface.test.js +45 -0
- package/dist/__tests__/internal-surface.test.js.map +1 -0
- package/dist/__tests__/lang-adapter/body-digest.test.d.ts +13 -0
- package/dist/__tests__/lang-adapter/body-digest.test.d.ts.map +1 -0
- package/dist/__tests__/lang-adapter/body-digest.test.js +51 -0
- package/dist/__tests__/lang-adapter/body-digest.test.js.map +1 -0
- package/dist/__tests__/lang-adapter/edge-helpers.test.d.ts +12 -0
- package/dist/__tests__/lang-adapter/edge-helpers.test.d.ts.map +1 -0
- package/dist/__tests__/lang-adapter/edge-helpers.test.js +147 -0
- package/dist/__tests__/lang-adapter/edge-helpers.test.js.map +1 -0
- package/dist/__tests__/lang-adapter/registry.test.d.ts +9 -0
- package/dist/__tests__/lang-adapter/registry.test.d.ts.map +1 -0
- package/dist/__tests__/lang-adapter/registry.test.js +228 -0
- package/dist/__tests__/lang-adapter/registry.test.js.map +1 -0
- package/dist/__tests__/persistence/catalog-repo.test.d.ts +2 -0
- package/dist/__tests__/persistence/catalog-repo.test.d.ts.map +1 -0
- package/dist/__tests__/persistence/catalog-repo.test.js +188 -0
- package/dist/__tests__/persistence/catalog-repo.test.js.map +1 -0
- package/dist/__tests__/persistence/session-payload.test.d.ts +2 -0
- package/dist/__tests__/persistence/session-payload.test.d.ts.map +1 -0
- package/dist/__tests__/persistence/session-payload.test.js +81 -0
- package/dist/__tests__/persistence/session-payload.test.js.map +1 -0
- package/dist/__tests__/persistence/session-replay.test.d.ts +10 -0
- package/dist/__tests__/persistence/session-replay.test.d.ts.map +1 -0
- package/dist/__tests__/persistence/session-replay.test.js +196 -0
- package/dist/__tests__/persistence/session-replay.test.js.map +1 -0
- package/dist/__tests__/public-api.test.d.ts +19 -0
- package/dist/__tests__/public-api.test.d.ts.map +1 -0
- package/dist/__tests__/public-api.test.js +96 -0
- package/dist/__tests__/public-api.test.js.map +1 -0
- package/dist/__tests__/render/catalog-json-types.test.d.ts +10 -0
- package/dist/__tests__/render/catalog-json-types.test.d.ts.map +1 -0
- package/dist/__tests__/render/catalog-json-types.test.js +121 -0
- package/dist/__tests__/render/catalog-json-types.test.js.map +1 -0
- package/dist/__tests__/render/catalog-json.test.d.ts +19 -0
- package/dist/__tests__/render/catalog-json.test.d.ts.map +1 -0
- package/dist/__tests__/render/catalog-json.test.js +435 -0
- package/dist/__tests__/render/catalog-json.test.js.map +1 -0
- package/dist/__tests__/render/opensip-id-derivation.test.d.ts +21 -0
- package/dist/__tests__/render/opensip-id-derivation.test.d.ts.map +1 -0
- package/dist/__tests__/render/opensip-id-derivation.test.js +159 -0
- package/dist/__tests__/render/opensip-id-derivation.test.js.map +1 -0
- package/dist/__tests__/render/rule-id-mapping.test.d.ts +13 -0
- package/dist/__tests__/render/rule-id-mapping.test.d.ts.map +1 -0
- package/dist/__tests__/render/rule-id-mapping.test.js +50 -0
- package/dist/__tests__/render/rule-id-mapping.test.js.map +1 -0
- package/dist/__tests__/render/sarif-opensip.test.d.ts +20 -0
- package/dist/__tests__/render/sarif-opensip.test.d.ts.map +1 -0
- package/dist/__tests__/render/sarif-opensip.test.js +235 -0
- package/dist/__tests__/render/sarif-opensip.test.js.map +1 -0
- package/dist/__tests__/resolution-mode.test.d.ts +10 -0
- package/dist/__tests__/resolution-mode.test.d.ts.map +1 -0
- package/dist/__tests__/resolution-mode.test.js +96 -0
- package/dist/__tests__/resolution-mode.test.js.map +1 -0
- package/dist/__tests__/resolve-callee.test.d.ts +2 -0
- package/dist/__tests__/resolve-callee.test.d.ts.map +1 -0
- package/dist/__tests__/resolve-callee.test.js +119 -0
- package/dist/__tests__/resolve-callee.test.js.map +1 -0
- package/dist/__tests__/rules/_entry-points.test.d.ts +8 -0
- package/dist/__tests__/rules/_entry-points.test.d.ts.map +1 -0
- package/dist/__tests__/rules/_entry-points.test.js +74 -0
- package/dist/__tests__/rules/_entry-points.test.js.map +1 -0
- package/dist/__tests__/rules/_helpers.d.ts +18 -0
- package/dist/__tests__/rules/_helpers.d.ts.map +1 -0
- package/dist/__tests__/rules/_helpers.js +72 -0
- package/dist/__tests__/rules/_helpers.js.map +1 -0
- package/dist/__tests__/rules/always-throws-branch.test.d.ts +9 -0
- package/dist/__tests__/rules/always-throws-branch.test.d.ts.map +1 -0
- package/dist/__tests__/rules/always-throws-branch.test.js +113 -0
- package/dist/__tests__/rules/always-throws-branch.test.js.map +1 -0
- package/dist/__tests__/rules/cycle-and-coupling.test.d.ts +13 -0
- package/dist/__tests__/rules/cycle-and-coupling.test.d.ts.map +1 -0
- package/dist/__tests__/rules/cycle-and-coupling.test.js +224 -0
- package/dist/__tests__/rules/cycle-and-coupling.test.js.map +1 -0
- package/dist/__tests__/rules/duplicated-function-body-config.test.d.ts +8 -0
- package/dist/__tests__/rules/duplicated-function-body-config.test.d.ts.map +1 -0
- package/dist/__tests__/rules/duplicated-function-body-config.test.js +132 -0
- package/dist/__tests__/rules/duplicated-function-body-config.test.js.map +1 -0
- package/dist/__tests__/rules/duplicated-function-body-cross-package.test.d.ts +10 -0
- package/dist/__tests__/rules/duplicated-function-body-cross-package.test.d.ts.map +1 -0
- package/dist/__tests__/rules/duplicated-function-body-cross-package.test.js +274 -0
- package/dist/__tests__/rules/duplicated-function-body-cross-package.test.js.map +1 -0
- package/dist/__tests__/rules/feature-column-parity.test.d.ts +11 -0
- package/dist/__tests__/rules/feature-column-parity.test.d.ts.map +1 -0
- package/dist/__tests__/rules/feature-column-parity.test.js +169 -0
- package/dist/__tests__/rules/feature-column-parity.test.js.map +1 -0
- package/dist/__tests__/rules/high-blast-untested.test.d.ts +13 -0
- package/dist/__tests__/rules/high-blast-untested.test.d.ts.map +1 -0
- package/dist/__tests__/rules/high-blast-untested.test.js +108 -0
- package/dist/__tests__/rules/high-blast-untested.test.js.map +1 -0
- package/dist/__tests__/rules/large-function.test.d.ts +11 -0
- package/dist/__tests__/rules/large-function.test.d.ts.map +1 -0
- package/dist/__tests__/rules/large-function.test.js +105 -0
- package/dist/__tests__/rules/large-function.test.js.map +1 -0
- package/dist/__tests__/rules/no-side-effect-path.test.d.ts +10 -0
- package/dist/__tests__/rules/no-side-effect-path.test.d.ts.map +1 -0
- package/dist/__tests__/rules/no-side-effect-path.test.js +301 -0
- package/dist/__tests__/rules/no-side-effect-path.test.js.map +1 -0
- package/dist/__tests__/rules/orphan-subtree-config.test.d.ts +8 -0
- package/dist/__tests__/rules/orphan-subtree-config.test.d.ts.map +1 -0
- package/dist/__tests__/rules/orphan-subtree-config.test.js +176 -0
- package/dist/__tests__/rules/orphan-subtree-config.test.js.map +1 -0
- package/dist/__tests__/rules/registry.test.d.ts +11 -0
- package/dist/__tests__/rules/registry.test.d.ts.map +1 -0
- package/dist/__tests__/rules/registry.test.js +50 -0
- package/dist/__tests__/rules/registry.test.js.map +1 -0
- package/dist/__tests__/rules/severity-override.test.d.ts +11 -0
- package/dist/__tests__/rules/severity-override.test.d.ts.map +1 -0
- package/dist/__tests__/rules/severity-override.test.js +67 -0
- package/dist/__tests__/rules/severity-override.test.js.map +1 -0
- package/dist/__tests__/rules/test-only-reachable.test.d.ts +9 -0
- package/dist/__tests__/rules/test-only-reachable.test.d.ts.map +1 -0
- package/dist/__tests__/rules/test-only-reachable.test.js +142 -0
- package/dist/__tests__/rules/test-only-reachable.test.js.map +1 -0
- package/dist/__tests__/rules/wide-function.test.d.ts +9 -0
- package/dist/__tests__/rules/wide-function.test.d.ts.map +1 -0
- package/dist/__tests__/rules/wide-function.test.js +64 -0
- package/dist/__tests__/rules/wide-function.test.js.map +1 -0
- package/dist/__tests__/test-utils/with-graph-scope.d.ts +14 -0
- package/dist/__tests__/test-utils/with-graph-scope.d.ts.map +1 -0
- package/dist/__tests__/test-utils/with-graph-scope.js +26 -0
- package/dist/__tests__/test-utils/with-graph-scope.js.map +1 -0
- package/dist/__tests__/tool-branches.test.d.ts +18 -0
- package/dist/__tests__/tool-branches.test.d.ts.map +1 -0
- package/dist/__tests__/tool-branches.test.js +262 -0
- package/dist/__tests__/tool-branches.test.js.map +1 -0
- package/dist/__tests__/tool-register.test.d.ts +16 -0
- package/dist/__tests__/tool-register.test.d.ts.map +1 -0
- package/dist/__tests__/tool-register.test.js +419 -0
- package/dist/__tests__/tool-register.test.js.map +1 -0
- package/dist/__tests__/tool.test.d.ts +18 -0
- package/dist/__tests__/tool.test.d.ts.map +1 -0
- package/dist/__tests__/tool.test.js +65 -0
- package/dist/__tests__/tool.test.js.map +1 -0
- package/dist/baseline-strategy.d.ts +28 -0
- package/dist/baseline-strategy.d.ts.map +1 -0
- package/dist/baseline-strategy.js +27 -0
- package/dist/baseline-strategy.js.map +1 -0
- package/dist/cache/engine-version.d.ts +69 -0
- package/dist/cache/engine-version.d.ts.map +1 -0
- package/dist/cache/engine-version.js +60 -0
- package/dist/cache/engine-version.js.map +1 -0
- package/dist/cache/invalidate.d.ts +60 -0
- package/dist/cache/invalidate.d.ts.map +1 -0
- package/dist/cache/invalidate.js +120 -0
- package/dist/cache/invalidate.js.map +1 -0
- package/dist/cli/__tests__/build-envelope.test.d.ts +8 -0
- package/dist/cli/__tests__/build-envelope.test.d.ts.map +1 -0
- package/dist/cli/__tests__/build-envelope.test.js +70 -0
- package/dist/cli/__tests__/build-envelope.test.js.map +1 -0
- package/dist/cli/__tests__/dispatch-envelope.test.d.ts +15 -0
- package/dist/cli/__tests__/dispatch-envelope.test.d.ts.map +1 -0
- package/dist/cli/__tests__/dispatch-envelope.test.js +73 -0
- package/dist/cli/__tests__/dispatch-envelope.test.js.map +1 -0
- package/dist/cli/__tests__/dispatch-suppression-root.test.d.ts +18 -0
- package/dist/cli/__tests__/dispatch-suppression-root.test.d.ts.map +1 -0
- package/dist/cli/__tests__/dispatch-suppression-root.test.js +91 -0
- package/dist/cli/__tests__/dispatch-suppression-root.test.js.map +1 -0
- package/dist/cli/__tests__/graph-config-schema.test.d.ts +7 -0
- package/dist/cli/__tests__/graph-config-schema.test.d.ts.map +1 -0
- package/dist/cli/__tests__/graph-config-schema.test.js +60 -0
- package/dist/cli/__tests__/graph-config-schema.test.js.map +1 -0
- package/dist/cli/__tests__/graph-gate-mode.test.d.ts +15 -0
- package/dist/cli/__tests__/graph-gate-mode.test.d.ts.map +1 -0
- package/dist/cli/__tests__/graph-gate-mode.test.js +99 -0
- package/dist/cli/__tests__/graph-gate-mode.test.js.map +1 -0
- package/dist/cli/__tests__/graph-recipes.test.d.ts +7 -0
- package/dist/cli/__tests__/graph-recipes.test.d.ts.map +1 -0
- package/dist/cli/__tests__/graph-recipes.test.js +24 -0
- package/dist/cli/__tests__/graph-recipes.test.js.map +1 -0
- package/dist/cli/__tests__/graph-report.test.d.ts +7 -0
- package/dist/cli/__tests__/graph-report.test.d.ts.map +1 -0
- package/dist/cli/__tests__/graph-report.test.js +138 -0
- package/dist/cli/__tests__/graph-report.test.js.map +1 -0
- package/dist/cli/__tests__/graph-tracer.test.d.ts +11 -0
- package/dist/cli/__tests__/graph-tracer.test.d.ts.map +1 -0
- package/dist/cli/__tests__/graph-tracer.test.js +41 -0
- package/dist/cli/__tests__/graph-tracer.test.js.map +1 -0
- package/dist/cli/__tests__/graph-worker.test.d.ts +13 -0
- package/dist/cli/__tests__/graph-worker.test.d.ts.map +1 -0
- package/dist/cli/__tests__/graph-worker.test.js +127 -0
- package/dist/cli/__tests__/graph-worker.test.js.map +1 -0
- package/dist/cli/__tests__/list-files.test.d.ts +12 -0
- package/dist/cli/__tests__/list-files.test.d.ts.map +1 -0
- package/dist/cli/__tests__/list-files.test.js +146 -0
- package/dist/cli/__tests__/list-files.test.js.map +1 -0
- package/dist/cli/__tests__/live-suppression-parity.test.d.ts +23 -0
- package/dist/cli/__tests__/live-suppression-parity.test.d.ts.map +1 -0
- package/dist/cli/__tests__/live-suppression-parity.test.js +136 -0
- package/dist/cli/__tests__/live-suppression-parity.test.js.map +1 -0
- package/dist/cli/__tests__/orchestrate-spans.test.d.ts +18 -0
- package/dist/cli/__tests__/orchestrate-spans.test.d.ts.map +1 -0
- package/dist/cli/__tests__/orchestrate-spans.test.js +108 -0
- package/dist/cli/__tests__/orchestrate-spans.test.js.map +1 -0
- package/dist/cli/__tests__/shard-worker.test.d.ts +10 -0
- package/dist/cli/__tests__/shard-worker.test.d.ts.map +1 -0
- package/dist/cli/__tests__/shard-worker.test.js +153 -0
- package/dist/cli/__tests__/shard-worker.test.js.map +1 -0
- package/dist/cli/__tests__/workspace-report.test.d.ts +6 -0
- package/dist/cli/__tests__/workspace-report.test.d.ts.map +1 -0
- package/dist/cli/__tests__/workspace-report.test.js +89 -0
- package/dist/cli/__tests__/workspace-report.test.js.map +1 -0
- package/dist/cli/apply-suppressions.d.ts +86 -0
- package/dist/cli/apply-suppressions.d.ts.map +1 -0
- package/dist/cli/apply-suppressions.js +101 -0
- package/dist/cli/apply-suppressions.js.map +1 -0
- package/dist/cli/apply-suppressions.test.d.ts +12 -0
- package/dist/cli/apply-suppressions.test.d.ts.map +1 -0
- package/dist/cli/apply-suppressions.test.js +85 -0
- package/dist/cli/apply-suppressions.test.js.map +1 -0
- package/dist/cli/build-envelope.d.ts +53 -0
- package/dist/cli/build-envelope.d.ts.map +1 -0
- package/dist/cli/build-envelope.js +88 -0
- package/dist/cli/build-envelope.js.map +1 -0
- package/dist/cli/detect.d.ts +37 -0
- package/dist/cli/detect.d.ts.map +1 -0
- package/dist/cli/detect.js +60 -0
- package/dist/cli/detect.js.map +1 -0
- package/dist/cli/equivalence-check-command.d.ts +45 -0
- package/dist/cli/equivalence-check-command.d.ts.map +1 -0
- package/dist/cli/equivalence-check-command.js +196 -0
- package/dist/cli/equivalence-check-command.js.map +1 -0
- package/dist/cli/graph/graph-aux-command-specs.d.ts +60 -0
- package/dist/cli/graph/graph-aux-command-specs.d.ts.map +1 -0
- package/dist/cli/graph/graph-aux-command-specs.js +390 -0
- package/dist/cli/graph/graph-aux-command-specs.js.map +1 -0
- package/dist/cli/graph/graph-command-spec.d.ts +43 -0
- package/dist/cli/graph/graph-command-spec.d.ts.map +1 -0
- package/dist/cli/graph/graph-command-spec.js +456 -0
- package/dist/cli/graph/graph-command-spec.js.map +1 -0
- package/dist/cli/graph-config-schema.d.ts +70 -0
- package/dist/cli/graph-config-schema.d.ts.map +1 -0
- package/dist/cli/graph-config-schema.js +68 -0
- package/dist/cli/graph-config-schema.js.map +1 -0
- package/dist/cli/graph-config.d.ts +53 -0
- package/dist/cli/graph-config.d.ts.map +1 -0
- package/dist/cli/graph-config.js +111 -0
- package/dist/cli/graph-config.js.map +1 -0
- package/dist/cli/graph-modes.d.ts +36 -0
- package/dist/cli/graph-modes.d.ts.map +1 -0
- package/dist/cli/graph-modes.js +161 -0
- package/dist/cli/graph-modes.js.map +1 -0
- package/dist/cli/graph-options.d.ts +143 -0
- package/dist/cli/graph-options.d.ts.map +1 -0
- package/dist/cli/graph-options.js +15 -0
- package/dist/cli/graph-options.js.map +1 -0
- package/dist/cli/graph-progress.d.ts +31 -0
- package/dist/cli/graph-progress.d.ts.map +1 -0
- package/dist/cli/graph-progress.js +56 -0
- package/dist/cli/graph-progress.js.map +1 -0
- package/dist/cli/graph-recipes.d.ts +23 -0
- package/dist/cli/graph-recipes.d.ts.map +1 -0
- package/dist/cli/graph-recipes.js +44 -0
- package/dist/cli/graph-recipes.js.map +1 -0
- package/dist/cli/graph-report.d.ts +79 -0
- package/dist/cli/graph-report.d.ts.map +1 -0
- package/dist/cli/graph-report.js +186 -0
- package/dist/cli/graph-report.js.map +1 -0
- package/dist/cli/graph-runner.d.ts +106 -0
- package/dist/cli/graph-runner.d.ts.map +1 -0
- package/dist/cli/graph-runner.js +274 -0
- package/dist/cli/graph-runner.js.map +1 -0
- package/dist/cli/graph-tracer.d.ts +27 -0
- package/dist/cli/graph-tracer.d.ts.map +1 -0
- package/dist/cli/graph-tracer.js +33 -0
- package/dist/cli/graph-tracer.js.map +1 -0
- package/dist/cli/graph-worker.d.ts +29 -0
- package/dist/cli/graph-worker.d.ts.map +1 -0
- package/dist/cli/graph-worker.js +86 -0
- package/dist/cli/graph-worker.js.map +1 -0
- package/dist/cli/graph.d.ts +171 -0
- package/dist/cli/graph.d.ts.map +1 -0
- package/dist/cli/graph.js +1041 -0
- package/dist/cli/graph.js.map +1 -0
- package/dist/cli/heap-preflight.d.ts +62 -0
- package/dist/cli/heap-preflight.d.ts.map +1 -0
- package/dist/cli/heap-preflight.js +176 -0
- package/dist/cli/heap-preflight.js.map +1 -0
- package/dist/cli/list-files.d.ts +37 -0
- package/dist/cli/list-files.d.ts.map +1 -0
- package/dist/cli/list-files.js +166 -0
- package/dist/cli/list-files.js.map +1 -0
- package/dist/cli/lookup.d.ts +19 -0
- package/dist/cli/lookup.d.ts.map +1 -0
- package/dist/cli/lookup.js +87 -0
- package/dist/cli/lookup.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/_equivalence-harness.d.ts +47 -0
- package/dist/cli/orchestrate/__tests__/_equivalence-harness.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/_equivalence-harness.js +331 -0
- package/dist/cli/orchestrate/__tests__/_equivalence-harness.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/_flat-large-fixture.d.ts +69 -0
- package/dist/cli/orchestrate/__tests__/_flat-large-fixture.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/_flat-large-fixture.js +181 -0
- package/dist/cli/orchestrate/__tests__/_flat-large-fixture.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/canonical-file-set.test.d.ts +8 -0
- package/dist/cli/orchestrate/__tests__/canonical-file-set.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/canonical-file-set.test.js +51 -0
- package/dist/cli/orchestrate/__tests__/canonical-file-set.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/catalog-builder-incremental.test.d.ts +9 -0
- package/dist/cli/orchestrate/__tests__/catalog-builder-incremental.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/catalog-builder-incremental.test.js +147 -0
- package/dist/cli/orchestrate/__tests__/catalog-builder-incremental.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/cross-shard-resolve.test.d.ts +12 -0
- package/dist/cli/orchestrate/__tests__/cross-shard-resolve.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/cross-shard-resolve.test.js +509 -0
- package/dist/cli/orchestrate/__tests__/cross-shard-resolve.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/determinism.test.d.ts +19 -0
- package/dist/cli/orchestrate/__tests__/determinism.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/determinism.test.js +163 -0
- package/dist/cli/orchestrate/__tests__/determinism.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/edge-identity.test.d.ts +9 -0
- package/dist/cli/orchestrate/__tests__/edge-identity.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/edge-identity.test.js +103 -0
- package/dist/cli/orchestrate/__tests__/edge-identity.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/equivalence-check.test.d.ts +10 -0
- package/dist/cli/orchestrate/__tests__/equivalence-check.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/equivalence-check.test.js +277 -0
- package/dist/cli/orchestrate/__tests__/equivalence-check.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/equivalence-repo-scale.test.d.ts +51 -0
- package/dist/cli/orchestrate/__tests__/equivalence-repo-scale.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/equivalence-repo-scale.test.js +183 -0
- package/dist/cli/orchestrate/__tests__/equivalence-repo-scale.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/equivalence.test.d.ts +47 -0
- package/dist/cli/orchestrate/__tests__/equivalence.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/equivalence.test.js +259 -0
- package/dist/cli/orchestrate/__tests__/equivalence.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/exact-boundary-recovery.test.d.ts +9 -0
- package/dist/cli/orchestrate/__tests__/exact-boundary-recovery.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/exact-boundary-recovery.test.js +105 -0
- package/dist/cli/orchestrate/__tests__/exact-boundary-recovery.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/export-index.test.d.ts +12 -0
- package/dist/cli/orchestrate/__tests__/export-index.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/export-index.test.js +346 -0
- package/dist/cli/orchestrate/__tests__/export-index.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/flat-large-fixture.test.d.ts +16 -0
- package/dist/cli/orchestrate/__tests__/flat-large-fixture.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/flat-large-fixture.test.js +99 -0
- package/dist/cli/orchestrate/__tests__/flat-large-fixture.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/flat-monorepo-strategy.test.d.ts +11 -0
- package/dist/cli/orchestrate/__tests__/flat-monorepo-strategy.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/flat-monorepo-strategy.test.js +271 -0
- package/dist/cli/orchestrate/__tests__/flat-monorepo-strategy.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/function-set-parity.test.d.ts +38 -0
- package/dist/cli/orchestrate/__tests__/function-set-parity.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/function-set-parity.test.js +163 -0
- package/dist/cli/orchestrate/__tests__/function-set-parity.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/incremental-merge.test.d.ts +8 -0
- package/dist/cli/orchestrate/__tests__/incremental-merge.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/incremental-merge.test.js +153 -0
- package/dist/cli/orchestrate/__tests__/incremental-merge.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/partition-files.test.d.ts +10 -0
- package/dist/cli/orchestrate/__tests__/partition-files.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/partition-files.test.js +104 -0
- package/dist/cli/orchestrate/__tests__/partition-files.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/resolution-completeness-floor.test.d.ts +21 -0
- package/dist/cli/orchestrate/__tests__/resolution-completeness-floor.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/resolution-completeness-floor.test.js +59 -0
- package/dist/cli/orchestrate/__tests__/resolution-completeness-floor.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/shard-model.test.d.ts +8 -0
- package/dist/cli/orchestrate/__tests__/shard-model.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/shard-model.test.js +77 -0
- package/dist/cli/orchestrate/__tests__/shard-model.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/shard-runner-spawn.test.d.ts +13 -0
- package/dist/cli/orchestrate/__tests__/shard-runner-spawn.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/shard-runner-spawn.test.js +103 -0
- package/dist/cli/orchestrate/__tests__/shard-runner-spawn.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/sharded-graph.test.d.ts +13 -0
- package/dist/cli/orchestrate/__tests__/sharded-graph.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/sharded-graph.test.js +257 -0
- package/dist/cli/orchestrate/__tests__/sharded-graph.test.js.map +1 -0
- package/dist/cli/orchestrate/__tests__/worker-pool.test.d.ts +6 -0
- package/dist/cli/orchestrate/__tests__/worker-pool.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/worker-pool.test.js +38 -0
- package/dist/cli/orchestrate/__tests__/worker-pool.test.js.map +1 -0
- package/dist/cli/orchestrate/cache-orchestrator.d.ts +42 -0
- package/dist/cli/orchestrate/cache-orchestrator.d.ts.map +1 -0
- package/dist/cli/orchestrate/cache-orchestrator.js +92 -0
- package/dist/cli/orchestrate/cache-orchestrator.js.map +1 -0
- package/dist/cli/orchestrate/canonical-file-set.d.ts +51 -0
- package/dist/cli/orchestrate/canonical-file-set.d.ts.map +1 -0
- package/dist/cli/orchestrate/canonical-file-set.js +58 -0
- package/dist/cli/orchestrate/canonical-file-set.js.map +1 -0
- package/dist/cli/orchestrate/catalog-builder.d.ts +121 -0
- package/dist/cli/orchestrate/catalog-builder.d.ts.map +1 -0
- package/dist/cli/orchestrate/catalog-builder.js +279 -0
- package/dist/cli/orchestrate/catalog-builder.js.map +1 -0
- package/dist/cli/orchestrate/catalog-stats.d.ts +31 -0
- package/dist/cli/orchestrate/catalog-stats.d.ts.map +1 -0
- package/dist/cli/orchestrate/catalog-stats.js +52 -0
- package/dist/cli/orchestrate/catalog-stats.js.map +1 -0
- package/dist/cli/orchestrate/cross-shard-resolve.d.ts +190 -0
- package/dist/cli/orchestrate/cross-shard-resolve.d.ts.map +1 -0
- package/dist/cli/orchestrate/cross-shard-resolve.js +523 -0
- package/dist/cli/orchestrate/cross-shard-resolve.js.map +1 -0
- package/dist/cli/orchestrate/edge-identity.d.ts +48 -0
- package/dist/cli/orchestrate/edge-identity.d.ts.map +1 -0
- package/dist/cli/orchestrate/edge-identity.js +68 -0
- package/dist/cli/orchestrate/edge-identity.js.map +1 -0
- package/dist/cli/orchestrate/equivalence-check.d.ts +227 -0
- package/dist/cli/orchestrate/equivalence-check.d.ts.map +1 -0
- package/dist/cli/orchestrate/equivalence-check.js +264 -0
- package/dist/cli/orchestrate/equivalence-check.js.map +1 -0
- package/dist/cli/orchestrate/exact-boundary-recovery.d.ts +33 -0
- package/dist/cli/orchestrate/exact-boundary-recovery.d.ts.map +1 -0
- package/dist/cli/orchestrate/exact-boundary-recovery.js +62 -0
- package/dist/cli/orchestrate/exact-boundary-recovery.js.map +1 -0
- package/dist/cli/orchestrate/flat-monorepo-strategy.d.ts +171 -0
- package/dist/cli/orchestrate/flat-monorepo-strategy.d.ts.map +1 -0
- package/dist/cli/orchestrate/flat-monorepo-strategy.js +328 -0
- package/dist/cli/orchestrate/flat-monorepo-strategy.js.map +1 -0
- package/dist/cli/orchestrate/incremental-merge.d.ts +46 -0
- package/dist/cli/orchestrate/incremental-merge.d.ts.map +1 -0
- package/dist/cli/orchestrate/incremental-merge.js +236 -0
- package/dist/cli/orchestrate/incremental-merge.js.map +1 -0
- package/dist/cli/orchestrate/partition-chunk.d.ts +36 -0
- package/dist/cli/orchestrate/partition-chunk.d.ts.map +1 -0
- package/dist/cli/orchestrate/partition-chunk.js +37 -0
- package/dist/cli/orchestrate/partition-chunk.js.map +1 -0
- package/dist/cli/orchestrate/partition-files.d.ts +52 -0
- package/dist/cli/orchestrate/partition-files.d.ts.map +1 -0
- package/dist/cli/orchestrate/partition-files.js +94 -0
- package/dist/cli/orchestrate/partition-files.js.map +1 -0
- package/dist/cli/orchestrate/resolution-trace.d.ts +11 -0
- package/dist/cli/orchestrate/resolution-trace.d.ts.map +1 -0
- package/dist/cli/orchestrate/resolution-trace.js +27 -0
- package/dist/cli/orchestrate/resolution-trace.js.map +1 -0
- package/dist/cli/orchestrate/shard-model.d.ts +99 -0
- package/dist/cli/orchestrate/shard-model.d.ts.map +1 -0
- package/dist/cli/orchestrate/shard-model.js +23 -0
- package/dist/cli/orchestrate/shard-model.js.map +1 -0
- package/dist/cli/orchestrate/shard-runner.d.ts +65 -0
- package/dist/cli/orchestrate/shard-runner.d.ts.map +1 -0
- package/dist/cli/orchestrate/shard-runner.js +169 -0
- package/dist/cli/orchestrate/shard-runner.js.map +1 -0
- package/dist/cli/orchestrate/sharded-graph.d.ts +86 -0
- package/dist/cli/orchestrate/sharded-graph.d.ts.map +1 -0
- package/dist/cli/orchestrate/sharded-graph.js +227 -0
- package/dist/cli/orchestrate/sharded-graph.js.map +1 -0
- package/dist/cli/orchestrate/types.d.ts +31 -0
- package/dist/cli/orchestrate/types.d.ts.map +1 -0
- package/dist/cli/orchestrate/types.js +24 -0
- package/dist/cli/orchestrate/types.js.map +1 -0
- package/dist/cli/orchestrate/worker-pool.d.ts +16 -0
- package/dist/cli/orchestrate/worker-pool.d.ts.map +1 -0
- package/dist/cli/orchestrate/worker-pool.js +39 -0
- package/dist/cli/orchestrate/worker-pool.js.map +1 -0
- package/dist/cli/orchestrate.d.ts +106 -0
- package/dist/cli/orchestrate.d.ts.map +1 -0
- package/dist/cli/orchestrate.js +228 -0
- package/dist/cli/orchestrate.js.map +1 -0
- package/dist/cli/positional-paths.d.ts +23 -0
- package/dist/cli/positional-paths.d.ts.map +1 -0
- package/dist/cli/positional-paths.js +64 -0
- package/dist/cli/positional-paths.js.map +1 -0
- package/dist/cli/pressure-monitor.d.ts +62 -0
- package/dist/cli/pressure-monitor.d.ts.map +1 -0
- package/dist/cli/pressure-monitor.js +110 -0
- package/dist/cli/pressure-monitor.js.map +1 -0
- package/dist/cli/profile.d.ts +82 -0
- package/dist/cli/profile.d.ts.map +1 -0
- package/dist/cli/profile.js +120 -0
- package/dist/cli/profile.js.map +1 -0
- package/dist/cli/report-data.d.ts +46 -0
- package/dist/cli/report-data.d.ts.map +1 -0
- package/dist/cli/report-data.js +48 -0
- package/dist/cli/report-data.js.map +1 -0
- package/dist/cli/resolve-adapters.d.ts +19 -0
- package/dist/cli/resolve-adapters.d.ts.map +1 -0
- package/dist/cli/resolve-adapters.js +38 -0
- package/dist/cli/resolve-adapters.js.map +1 -0
- package/dist/cli/sarif-export.d.ts +40 -0
- package/dist/cli/sarif-export.d.ts.map +1 -0
- package/dist/cli/sarif-export.js +69 -0
- package/dist/cli/sarif-export.js.map +1 -0
- package/dist/cli/shard-worker.d.ts +25 -0
- package/dist/cli/shard-worker.d.ts.map +1 -0
- package/dist/cli/shard-worker.js +98 -0
- package/dist/cli/shard-worker.js.map +1 -0
- package/dist/cli/symbol-index.d.ts +51 -0
- package/dist/cli/symbol-index.d.ts.map +1 -0
- package/dist/cli/symbol-index.js +120 -0
- package/dist/cli/symbol-index.js.map +1 -0
- package/dist/cli/workspace-report.d.ts +32 -0
- package/dist/cli/workspace-report.d.ts.map +1 -0
- package/dist/cli/workspace-report.js +107 -0
- package/dist/cli/workspace-report.js.map +1 -0
- package/dist/cli/workspace-runner.d.ts +104 -0
- package/dist/cli/workspace-runner.d.ts.map +1 -0
- package/dist/cli/workspace-runner.js +166 -0
- package/dist/cli/workspace-runner.js.map +1 -0
- package/dist/cross-package/export-index.d.ts +118 -0
- package/dist/cross-package/export-index.d.ts.map +1 -0
- package/dist/cross-package/export-index.js +296 -0
- package/dist/cross-package/export-index.js.map +1 -0
- package/dist/cross-package/posix-path.d.ts +16 -0
- package/dist/cross-package/posix-path.d.ts.map +1 -0
- package/dist/cross-package/posix-path.js +18 -0
- package/dist/cross-package/posix-path.js.map +1 -0
- package/dist/cross-package/resolve.d.ts +68 -0
- package/dist/cross-package/resolve.d.ts.map +1 -0
- package/dist/cross-package/resolve.js +83 -0
- package/dist/cross-package/resolve.js.map +1 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +61 -0
- package/dist/index.js.map +1 -0
- package/dist/internal.d.ts +25 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.js +38 -0
- package/dist/internal.js.map +1 -0
- package/dist/lang-adapter/body-digest.d.ts +46 -0
- package/dist/lang-adapter/body-digest.d.ts.map +1 -0
- package/dist/lang-adapter/body-digest.js +49 -0
- package/dist/lang-adapter/body-digest.js.map +1 -0
- package/dist/lang-adapter/edge-helpers.d.ts +104 -0
- package/dist/lang-adapter/edge-helpers.d.ts.map +1 -0
- package/dist/lang-adapter/edge-helpers.js +120 -0
- package/dist/lang-adapter/edge-helpers.js.map +1 -0
- package/dist/lang-adapter/registry.d.ts +59 -0
- package/dist/lang-adapter/registry.d.ts.map +1 -0
- package/dist/lang-adapter/registry.js +100 -0
- package/dist/lang-adapter/registry.js.map +1 -0
- package/dist/lang-adapter/selector.d.ts +39 -0
- package/dist/lang-adapter/selector.d.ts.map +1 -0
- package/dist/lang-adapter/selector.js +140 -0
- package/dist/lang-adapter/selector.js.map +1 -0
- package/dist/lang-adapter/types.d.ts +217 -0
- package/dist/lang-adapter/types.d.ts.map +1 -0
- package/dist/lang-adapter/types.js +18 -0
- package/dist/lang-adapter/types.js.map +1 -0
- package/dist/owner-key.d.ts +22 -0
- package/dist/owner-key.d.ts.map +1 -0
- package/dist/owner-key.js +25 -0
- package/dist/owner-key.js.map +1 -0
- package/dist/persistence/__tests__/shard-fragment-cache.test.d.ts +8 -0
- package/dist/persistence/__tests__/shard-fragment-cache.test.d.ts.map +1 -0
- package/dist/persistence/__tests__/shard-fragment-cache.test.js +126 -0
- package/dist/persistence/__tests__/shard-fragment-cache.test.js.map +1 -0
- package/dist/persistence/catalog-repo.d.ts +77 -0
- package/dist/persistence/catalog-repo.d.ts.map +1 -0
- package/dist/persistence/catalog-repo.js +229 -0
- package/dist/persistence/catalog-repo.js.map +1 -0
- package/dist/persistence/schema.d.ts +249 -0
- package/dist/persistence/schema.d.ts.map +1 -0
- package/dist/persistence/schema.js +53 -0
- package/dist/persistence/schema.js.map +1 -0
- package/dist/persistence/session-payload.d.ts +96 -0
- package/dist/persistence/session-payload.d.ts.map +1 -0
- package/dist/persistence/session-payload.js +116 -0
- package/dist/persistence/session-payload.js.map +1 -0
- package/dist/persistence/session-replay.d.ts +15 -0
- package/dist/persistence/session-replay.d.ts.map +1 -0
- package/dist/persistence/session-replay.js +80 -0
- package/dist/persistence/session-replay.js.map +1 -0
- package/dist/pipeline/__tests__/assign-packages.test.d.ts +2 -0
- package/dist/pipeline/__tests__/assign-packages.test.d.ts.map +1 -0
- package/dist/pipeline/__tests__/assign-packages.test.js +88 -0
- package/dist/pipeline/__tests__/assign-packages.test.js.map +1 -0
- package/dist/pipeline/__tests__/constrain-edges.test.d.ts +2 -0
- package/dist/pipeline/__tests__/constrain-edges.test.d.ts.map +1 -0
- package/dist/pipeline/__tests__/constrain-edges.test.js +228 -0
- package/dist/pipeline/__tests__/constrain-edges.test.js.map +1 -0
- package/dist/pipeline/__tests__/features.test.d.ts +9 -0
- package/dist/pipeline/__tests__/features.test.d.ts.map +1 -0
- package/dist/pipeline/__tests__/features.test.js +458 -0
- package/dist/pipeline/__tests__/features.test.js.map +1 -0
- package/dist/pipeline/__tests__/indexes-imports.test.d.ts +2 -0
- package/dist/pipeline/__tests__/indexes-imports.test.d.ts.map +1 -0
- package/dist/pipeline/__tests__/indexes-imports.test.js +114 -0
- package/dist/pipeline/__tests__/indexes-imports.test.js.map +1 -0
- package/dist/pipeline/assign-packages.d.ts +18 -0
- package/dist/pipeline/assign-packages.d.ts.map +1 -0
- package/dist/pipeline/assign-packages.js +86 -0
- package/dist/pipeline/assign-packages.js.map +1 -0
- package/dist/pipeline/constrain-edges.d.ts +34 -0
- package/dist/pipeline/constrain-edges.d.ts.map +1 -0
- package/dist/pipeline/constrain-edges.js +139 -0
- package/dist/pipeline/constrain-edges.js.map +1 -0
- package/dist/pipeline/feature-deps.d.ts +19 -0
- package/dist/pipeline/feature-deps.d.ts.map +1 -0
- package/dist/pipeline/feature-deps.js +28 -0
- package/dist/pipeline/feature-deps.js.map +1 -0
- package/dist/pipeline/features.d.ts +50 -0
- package/dist/pipeline/features.d.ts.map +1 -0
- package/dist/pipeline/features.js +462 -0
- package/dist/pipeline/features.js.map +1 -0
- package/dist/pipeline/indexes.d.ts +27 -0
- package/dist/pipeline/indexes.d.ts.map +1 -0
- package/dist/pipeline/indexes.js +159 -0
- package/dist/pipeline/indexes.js.map +1 -0
- package/dist/recipes/__tests__/built-in-recipes.test.d.ts +5 -0
- package/dist/recipes/__tests__/built-in-recipes.test.d.ts.map +1 -0
- package/dist/recipes/__tests__/built-in-recipes.test.js +24 -0
- package/dist/recipes/__tests__/built-in-recipes.test.js.map +1 -0
- package/dist/recipes/__tests__/registry.test.d.ts +7 -0
- package/dist/recipes/__tests__/registry.test.d.ts.map +1 -0
- package/dist/recipes/__tests__/registry.test.js +34 -0
- package/dist/recipes/__tests__/registry.test.js.map +1 -0
- package/dist/recipes/__tests__/resolve.test.d.ts +10 -0
- package/dist/recipes/__tests__/resolve.test.d.ts.map +1 -0
- package/dist/recipes/__tests__/resolve.test.js +38 -0
- package/dist/recipes/__tests__/resolve.test.js.map +1 -0
- package/dist/recipes/built-in-recipes.d.ts +26 -0
- package/dist/recipes/built-in-recipes.d.ts.map +1 -0
- package/dist/recipes/built-in-recipes.js +43 -0
- package/dist/recipes/built-in-recipes.js.map +1 -0
- package/dist/recipes/registry.d.ts +31 -0
- package/dist/recipes/registry.d.ts.map +1 -0
- package/dist/recipes/registry.js +48 -0
- package/dist/recipes/registry.js.map +1 -0
- package/dist/recipes/resolve.d.ts +31 -0
- package/dist/recipes/resolve.d.ts.map +1 -0
- package/dist/recipes/resolve.js +70 -0
- package/dist/recipes/resolve.js.map +1 -0
- package/dist/recipes/types.d.ts +58 -0
- package/dist/recipes/types.d.ts.map +1 -0
- package/dist/recipes/types.js +39 -0
- package/dist/recipes/types.js.map +1 -0
- package/dist/render/__tests__/catalog-json.test.d.ts +9 -0
- package/dist/render/__tests__/catalog-json.test.d.ts.map +1 -0
- package/dist/render/__tests__/catalog-json.test.js +132 -0
- package/dist/render/__tests__/catalog-json.test.js.map +1 -0
- package/dist/render/catalog-json-types.d.ts +114 -0
- package/dist/render/catalog-json-types.d.ts.map +1 -0
- package/dist/render/catalog-json-types.js +23 -0
- package/dist/render/catalog-json-types.js.map +1 -0
- package/dist/render/catalog-json.d.ts +43 -0
- package/dist/render/catalog-json.d.ts.map +1 -0
- package/dist/render/catalog-json.js +303 -0
- package/dist/render/catalog-json.js.map +1 -0
- package/dist/render/opensip-id-derivation.d.ts +73 -0
- package/dist/render/opensip-id-derivation.d.ts.map +1 -0
- package/dist/render/opensip-id-derivation.js +65 -0
- package/dist/render/opensip-id-derivation.js.map +1 -0
- package/dist/render/rule-id-mapping.d.ts +61 -0
- package/dist/render/rule-id-mapping.d.ts.map +1 -0
- package/dist/render/rule-id-mapping.js +82 -0
- package/dist/render/rule-id-mapping.js.map +1 -0
- package/dist/resolve-callee.d.ts +50 -0
- package/dist/resolve-callee.d.ts.map +1 -0
- package/dist/resolve-callee.js +80 -0
- package/dist/resolve-callee.js.map +1 -0
- package/dist/rules/__tests__/__fixtures__/catalog.fixture.d.ts +22 -0
- package/dist/rules/__tests__/__fixtures__/catalog.fixture.d.ts.map +1 -0
- package/dist/rules/__tests__/__fixtures__/catalog.fixture.js +143 -0
- package/dist/rules/__tests__/__fixtures__/catalog.fixture.js.map +1 -0
- package/dist/rules/__tests__/create-graph-signal.test.d.ts +8 -0
- package/dist/rules/__tests__/create-graph-signal.test.d.ts.map +1 -0
- package/dist/rules/__tests__/create-graph-signal.test.js +55 -0
- package/dist/rules/__tests__/create-graph-signal.test.js.map +1 -0
- package/dist/rules/__tests__/define-rule.test.d.ts +13 -0
- package/dist/rules/__tests__/define-rule.test.d.ts.map +1 -0
- package/dist/rules/__tests__/define-rule.test.js +102 -0
- package/dist/rules/__tests__/define-rule.test.js.map +1 -0
- package/dist/rules/__tests__/fingerprint-golden.test.d.ts +21 -0
- package/dist/rules/__tests__/fingerprint-golden.test.d.ts.map +1 -0
- package/dist/rules/__tests__/fingerprint-golden.test.js +69 -0
- package/dist/rules/__tests__/fingerprint-golden.test.js.map +1 -0
- package/dist/rules/__tests__/registry.test.d.ts +6 -0
- package/dist/rules/__tests__/registry.test.d.ts.map +1 -0
- package/dist/rules/__tests__/registry.test.js +37 -0
- package/dist/rules/__tests__/registry.test.js.map +1 -0
- package/dist/rules/__tests__/rule-behaviors.test.d.ts +9 -0
- package/dist/rules/__tests__/rule-behaviors.test.d.ts.map +1 -0
- package/dist/rules/__tests__/rule-behaviors.test.js +204 -0
- package/dist/rules/__tests__/rule-behaviors.test.js.map +1 -0
- package/dist/rules/__tests__/signal-output.snapshot.test.d.ts +11 -0
- package/dist/rules/__tests__/signal-output.snapshot.test.d.ts.map +1 -0
- package/dist/rules/__tests__/signal-output.snapshot.test.js +55 -0
- package/dist/rules/__tests__/signal-output.snapshot.test.js.map +1 -0
- package/dist/rules/_approximation.d.ts +23 -0
- package/dist/rules/_approximation.d.ts.map +1 -0
- package/dist/rules/_approximation.js +28 -0
- package/dist/rules/_approximation.js.map +1 -0
- package/dist/rules/_entry-points.d.ts +27 -0
- package/dist/rules/_entry-points.d.ts.map +1 -0
- package/dist/rules/_entry-points.js +81 -0
- package/dist/rules/_entry-points.js.map +1 -0
- package/dist/rules/_severity-override.d.ts +32 -0
- package/dist/rules/_severity-override.d.ts.map +1 -0
- package/dist/rules/_severity-override.js +33 -0
- package/dist/rules/_severity-override.js.map +1 -0
- package/dist/rules/always-throws-branch.d.ts +26 -0
- package/dist/rules/always-throws-branch.d.ts.map +1 -0
- package/dist/rules/always-throws-branch.js +66 -0
- package/dist/rules/always-throws-branch.js.map +1 -0
- package/dist/rules/create-graph-signal.d.ts +38 -0
- package/dist/rules/create-graph-signal.d.ts.map +1 -0
- package/dist/rules/create-graph-signal.js +35 -0
- package/dist/rules/create-graph-signal.js.map +1 -0
- package/dist/rules/cycle.d.ts +29 -0
- package/dist/rules/cycle.d.ts.map +1 -0
- package/dist/rules/cycle.js +166 -0
- package/dist/rules/cycle.js.map +1 -0
- package/dist/rules/cycle.memberlocations.test.d.ts +11 -0
- package/dist/rules/cycle.memberlocations.test.d.ts.map +1 -0
- package/dist/rules/cycle.memberlocations.test.js +84 -0
- package/dist/rules/cycle.memberlocations.test.js.map +1 -0
- package/dist/rules/define-rule.d.ts +67 -0
- package/dist/rules/define-rule.d.ts.map +1 -0
- package/dist/rules/define-rule.js +66 -0
- package/dist/rules/define-rule.js.map +1 -0
- package/dist/rules/duplicated-function-body.d.ts +40 -0
- package/dist/rules/duplicated-function-body.d.ts.map +1 -0
- package/dist/rules/duplicated-function-body.js +232 -0
- package/dist/rules/duplicated-function-body.js.map +1 -0
- package/dist/rules/high-blast-untested.d.ts +26 -0
- package/dist/rules/high-blast-untested.d.ts.map +1 -0
- package/dist/rules/high-blast-untested.js +82 -0
- package/dist/rules/high-blast-untested.js.map +1 -0
- package/dist/rules/large-function.d.ts +22 -0
- package/dist/rules/large-function.d.ts.map +1 -0
- package/dist/rules/large-function.js +72 -0
- package/dist/rules/large-function.js.map +1 -0
- package/dist/rules/no-side-effect-path.d.ts +31 -0
- package/dist/rules/no-side-effect-path.d.ts.map +1 -0
- package/dist/rules/no-side-effect-path.js +217 -0
- package/dist/rules/no-side-effect-path.js.map +1 -0
- package/dist/rules/orphan-subtree.d.ts +11 -0
- package/dist/rules/orphan-subtree.d.ts.map +1 -0
- package/dist/rules/orphan-subtree.js +104 -0
- package/dist/rules/orphan-subtree.js.map +1 -0
- package/dist/rules/registry.d.ts +35 -0
- package/dist/rules/registry.d.ts.map +1 -0
- package/dist/rules/registry.js +96 -0
- package/dist/rules/registry.js.map +1 -0
- package/dist/rules/test-only-reachable.d.ts +9 -0
- package/dist/rules/test-only-reachable.d.ts.map +1 -0
- package/dist/rules/test-only-reachable.js +101 -0
- package/dist/rules/test-only-reachable.js.map +1 -0
- package/dist/rules/unexpected-coupling.d.ts +29 -0
- package/dist/rules/unexpected-coupling.d.ts.map +1 -0
- package/dist/rules/unexpected-coupling.js +0 -0
- package/dist/rules/unexpected-coupling.js.map +1 -0
- package/dist/rules/wide-function.d.ts +18 -0
- package/dist/rules/wide-function.d.ts.map +1 -0
- package/dist/rules/wide-function.js +58 -0
- package/dist/rules/wide-function.js.map +1 -0
- package/dist/scope-augmentation.d.ts +58 -0
- package/dist/scope-augmentation.d.ts.map +1 -0
- package/dist/scope-augmentation.js +29 -0
- package/dist/scope-augmentation.js.map +1 -0
- package/dist/tool.d.ts +29 -0
- package/dist/tool.d.ts.map +1 -0
- package/dist/tool.js +241 -0
- package/dist/tool.js.map +1 -0
- package/dist/types.d.ts +642 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- 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"}
|
package/dist/index.d.ts
ADDED
|
@@ -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"}
|
package/dist/internal.js
ADDED
|
@@ -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"}
|