@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,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Full-rebuild and incremental-rebuild catalog assembly.
|
|
3
|
+
*
|
|
4
|
+
* Owns the parse → walk → resolve stages and stitches the resolver's
|
|
5
|
+
* edge map into the catalog skeleton. The `ParsedProject` is created
|
|
6
|
+
* inside each rebuild path and stays internal so V8 can reclaim the
|
|
7
|
+
* AST as soon as `resolveCallSites` returns.
|
|
8
|
+
*
|
|
9
|
+
* `runStage` is passed in by the orchestrator so we don't reimport
|
|
10
|
+
* the progress/pressure-monitor wrapper here.
|
|
11
|
+
*/
|
|
12
|
+
import { type EngineMode } from '../../cache/engine-version.js';
|
|
13
|
+
import type { GraphProgressCallback, GraphStage } from './types.js';
|
|
14
|
+
import type { DiscoverOutput, GraphLanguageAdapter } from '../../lang-adapter/types.js';
|
|
15
|
+
import type { Catalog, CrossBoundaryCall, ParseError, ResolutionMode, ResolutionStats } from '../../types.js';
|
|
16
|
+
import type { PressureMonitor } from '../pressure-monitor.js';
|
|
17
|
+
import type { Attributes } from '@opensip-cli/core';
|
|
18
|
+
/**
|
|
19
|
+
* Arguments to a {@link RunStage} invocation: the stage label, the
|
|
20
|
+
* live-view/pressure plumbing, the work to run, and optional result
|
|
21
|
+
* labelers for the progress detail line and span attributes.
|
|
22
|
+
*/
|
|
23
|
+
export interface RunStageArgs<T> {
|
|
24
|
+
readonly stage: GraphStage;
|
|
25
|
+
readonly onProgress: GraphProgressCallback | undefined;
|
|
26
|
+
readonly monitor: PressureMonitor | undefined;
|
|
27
|
+
/** The stage work. May be sync or async — async stages (e.g. the cooperative
|
|
28
|
+
* resolve) let the live view's spinner animate (ADR-0016). */
|
|
29
|
+
readonly fn: () => T | Promise<T>;
|
|
30
|
+
readonly detailFn?: (result: T) => string | undefined;
|
|
31
|
+
readonly attrsFn?: (result: T) => Attributes;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Shape of the `runStage` helper passed in by the orchestrator.
|
|
35
|
+
* Kept here as a type alias so catalog-builder doesn't import the
|
|
36
|
+
* concrete function (which lives in orchestrate.ts at the parent
|
|
37
|
+
* level) and we avoid a circular dependency.
|
|
38
|
+
*
|
|
39
|
+
* Async: `runStage` awaits its `fn` and yields to the event loop so the live
|
|
40
|
+
* view animates during long stages (ADR-0016).
|
|
41
|
+
*/
|
|
42
|
+
export type RunStage = <T>(args: RunStageArgs<T>) => Promise<T>;
|
|
43
|
+
/** Inputs to the full-rebuild {@link buildAndResolveCatalog}. */
|
|
44
|
+
export interface CatalogBuildOptions {
|
|
45
|
+
readonly runStage: RunStage;
|
|
46
|
+
readonly adapter: GraphLanguageAdapter;
|
|
47
|
+
readonly discovery: DiscoverOutput;
|
|
48
|
+
readonly resolutionMode: ResolutionMode;
|
|
49
|
+
readonly onProgress?: GraphProgressCallback;
|
|
50
|
+
readonly monitor?: PressureMonitor;
|
|
51
|
+
/**
|
|
52
|
+
* Sharded build (plan #2): when true, request cross-boundary call
|
|
53
|
+
* descriptors from the adapter and surface them in the return for the
|
|
54
|
+
* cross-shard pass. Off for ordinary single-process builds.
|
|
55
|
+
*/
|
|
56
|
+
readonly emitBoundaryCalls?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Which build engine owns this catalog (Phase 2 determinism). Folded into
|
|
59
|
+
* the catalog `cacheKey` via {@link stampEngineVersion} so the exact
|
|
60
|
+
* (single-program) and sharded engines — which share the single
|
|
61
|
+
* `graph_catalog` row / shard-fragment cache but build structurally
|
|
62
|
+
* incompatible catalogs — never read each other's persisted rows. Defaults
|
|
63
|
+
* to `'exact'` (the single-program path); the shard worker passes
|
|
64
|
+
* `'sharded'`.
|
|
65
|
+
*/
|
|
66
|
+
readonly engineMode?: EngineMode;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Run Stage 1 + Stage 2 and return only the catalog and resolution
|
|
70
|
+
* stats. The parsed project is created inside this function and does
|
|
71
|
+
* not escape — once edge resolution returns, it is unreachable from
|
|
72
|
+
* any caller, so V8 can reclaim the bound AST before Stage 3
|
|
73
|
+
* (`buildIndexes`) and the cache write run.
|
|
74
|
+
*/
|
|
75
|
+
export declare function buildAndResolveCatalog(options: CatalogBuildOptions): Promise<{
|
|
76
|
+
readonly catalog: Catalog;
|
|
77
|
+
readonly resolutionStats: ResolutionStats;
|
|
78
|
+
readonly boundaryCalls?: readonly CrossBoundaryCall[];
|
|
79
|
+
readonly parseErrors: readonly ParseError[];
|
|
80
|
+
}>;
|
|
81
|
+
/**
|
|
82
|
+
* Wave 4 incremental rebuild — re-walk only changed files plus their
|
|
83
|
+
* transitive edge-dependents, then merge with cached entries for
|
|
84
|
+
* unchanged files.
|
|
85
|
+
*
|
|
86
|
+
* Algorithm:
|
|
87
|
+
* 1. Parse the project once over ALL current files (the resolver
|
|
88
|
+
* pass needs the full program for cross-file symbol lookup).
|
|
89
|
+
* 2. Convert the absolute changed-files set to project-relative
|
|
90
|
+
* paths so we can match the catalog's filePath field.
|
|
91
|
+
* 3. Iterate to fixpoint: walk closure files, identify hashes that
|
|
92
|
+
* vanished or changed, find unchanged files whose cached edges
|
|
93
|
+
* reference those hashes, add them to the closure, repeat until
|
|
94
|
+
* no new dependents are discovered.
|
|
95
|
+
* 4. Merge cached entries for files NOT in the closure with
|
|
96
|
+
* freshly-walked-and-resolved entries for files IN the closure.
|
|
97
|
+
*
|
|
98
|
+
* Correctness vs full rebuild: every file whose cached edges might
|
|
99
|
+
* point at a stale hash is itself re-walked. After the fixpoint, no
|
|
100
|
+
* cached edge dangles. Verified by `incremental rebuild produces a
|
|
101
|
+
* catalog identical to a full rebuild` test.
|
|
102
|
+
*/
|
|
103
|
+
export interface IncrementalCatalogBuildOptions {
|
|
104
|
+
readonly runStage: RunStage;
|
|
105
|
+
readonly adapter: GraphLanguageAdapter;
|
|
106
|
+
readonly discovery: DiscoverOutput;
|
|
107
|
+
readonly cachedCatalog: Catalog;
|
|
108
|
+
readonly changedFilesAbs: readonly string[];
|
|
109
|
+
readonly resolutionMode: ResolutionMode;
|
|
110
|
+
readonly onProgress?: GraphProgressCallback;
|
|
111
|
+
readonly monitor?: PressureMonitor;
|
|
112
|
+
/** Emit cross-boundary descriptors for the re-walked closure (Phase 3
|
|
113
|
+
* convergence — the exact path recovers them so warm == cold). */
|
|
114
|
+
readonly emitBoundaryCalls?: boolean;
|
|
115
|
+
}
|
|
116
|
+
export declare function buildAndResolveCatalogIncremental(options: IncrementalCatalogBuildOptions): Promise<{
|
|
117
|
+
readonly catalog: Catalog;
|
|
118
|
+
readonly resolutionStats: ResolutionStats;
|
|
119
|
+
readonly boundaryCalls?: readonly CrossBoundaryCall[];
|
|
120
|
+
}>;
|
|
121
|
+
//# sourceMappingURL=catalog-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog-builder.d.ts","sourceRoot":"","sources":["../../../src/cli/orchestrate/catalog-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Full-rebuild and incremental-rebuild catalog assembly.
|
|
3
|
+
*
|
|
4
|
+
* Owns the parse → walk → resolve stages and stitches the resolver's
|
|
5
|
+
* edge map into the catalog skeleton. The `ParsedProject` is created
|
|
6
|
+
* inside each rebuild path and stays internal so V8 can reclaim the
|
|
7
|
+
* AST as soon as `resolveCallSites` returns.
|
|
8
|
+
*
|
|
9
|
+
* `runStage` is passed in by the orchestrator so we don't reimport
|
|
10
|
+
* the progress/pressure-monitor wrapper here.
|
|
11
|
+
*/
|
|
12
|
+
import { stampEngineVersion } from '../../cache/engine-version.js';
|
|
13
|
+
import { countCatalogCallSites } from './catalog-stats.js';
|
|
14
|
+
import { ownerEdgeKey } from './edge-identity.js';
|
|
15
|
+
import { expandClosureToFixpoint, mergeOccurrences, mergeResolvedAndCachedEdges, } from './incremental-merge.js';
|
|
16
|
+
/**
|
|
17
|
+
* Run Stage 1 + Stage 2 and return only the catalog and resolution
|
|
18
|
+
* stats. The parsed project is created inside this function and does
|
|
19
|
+
* not escape — once edge resolution returns, it is unreachable from
|
|
20
|
+
* any caller, so V8 can reclaim the bound AST before Stage 3
|
|
21
|
+
* (`buildIndexes`) and the cache write run.
|
|
22
|
+
*/
|
|
23
|
+
export async function buildAndResolveCatalog(options) {
|
|
24
|
+
const { runStage, adapter, discovery, resolutionMode, onProgress, monitor, emitBoundaryCalls } = options;
|
|
25
|
+
const engineMode = options.engineMode ?? 'exact';
|
|
26
|
+
// Phase 4 unified walk: Stage 1's catalog construction and Stage 2's
|
|
27
|
+
// call-site location share a single AST descent per file. The walk
|
|
28
|
+
// emits the catalog plus a flat list of pre-located call-site
|
|
29
|
+
// records; resolveCallSites dispatches resolvers without re-walking.
|
|
30
|
+
const parsed = await runStage({
|
|
31
|
+
stage: 'parse',
|
|
32
|
+
onProgress,
|
|
33
|
+
monitor,
|
|
34
|
+
fn: () => adapter.parseProject({
|
|
35
|
+
projectDirAbs: discovery.projectDirAbs,
|
|
36
|
+
files: discovery.files,
|
|
37
|
+
compilerOptions: discovery.compilerOptions,
|
|
38
|
+
resolutionMode,
|
|
39
|
+
}),
|
|
40
|
+
detailFn: () => adapter.displayName,
|
|
41
|
+
});
|
|
42
|
+
const walked = await runStage({
|
|
43
|
+
stage: 'walk',
|
|
44
|
+
onProgress,
|
|
45
|
+
monitor,
|
|
46
|
+
fn: () => adapter.walkProject({
|
|
47
|
+
project: parsed.project,
|
|
48
|
+
files: discovery.files,
|
|
49
|
+
projectDirAbs: discovery.projectDirAbs,
|
|
50
|
+
}),
|
|
51
|
+
detailFn: (w) => `${String(Object.keys(w.occurrences).length)} functions`,
|
|
52
|
+
});
|
|
53
|
+
const initialCatalog = assembleCatalog({
|
|
54
|
+
adapter,
|
|
55
|
+
discovery,
|
|
56
|
+
occurrences: walked.occurrences,
|
|
57
|
+
resolutionMode,
|
|
58
|
+
engineMode,
|
|
59
|
+
reExports: walked.reExports ?? [],
|
|
60
|
+
});
|
|
61
|
+
// Stitch inside the resolve stage so the checklist detail counts the
|
|
62
|
+
// catalog's resolved call edges — the same catalog-derived
|
|
63
|
+
// `countCatalogCallSites` metric the sharded path reports, so both engines
|
|
64
|
+
// surface one consistent "N call site(s)" row with no engine-specific
|
|
65
|
+
// ("cross-shard") leakage.
|
|
66
|
+
const resolved = await runStage({
|
|
67
|
+
stage: 'resolve',
|
|
68
|
+
onProgress,
|
|
69
|
+
monitor,
|
|
70
|
+
fn: async () => {
|
|
71
|
+
const result = await adapter.resolveCallSites({
|
|
72
|
+
project: parsed.project,
|
|
73
|
+
catalog: initialCatalog,
|
|
74
|
+
callSites: walked.callSites,
|
|
75
|
+
dependencySites: walked.dependencySites,
|
|
76
|
+
projectDirAbs: discovery.projectDirAbs,
|
|
77
|
+
resolutionMode,
|
|
78
|
+
emitBoundaryCalls,
|
|
79
|
+
});
|
|
80
|
+
const catalog = stitchEdges(initialCatalog, result.edgesByOwner, result.dependenciesByOwner);
|
|
81
|
+
return { ...result, catalog };
|
|
82
|
+
},
|
|
83
|
+
detailFn: (r) => `${String(countCatalogCallSites(r.catalog))} call site(s)`,
|
|
84
|
+
});
|
|
85
|
+
return {
|
|
86
|
+
catalog: resolved.catalog,
|
|
87
|
+
resolutionStats: resolved.stats,
|
|
88
|
+
boundaryCalls: resolved.boundaryCalls,
|
|
89
|
+
parseErrors: [...parsed.parseErrors, ...walked.parseErrors],
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
export async function buildAndResolveCatalogIncremental(options) {
|
|
93
|
+
const { runStage, adapter, discovery, cachedCatalog, changedFilesAbs, resolutionMode, onProgress, monitor, emitBoundaryCalls, } = options;
|
|
94
|
+
const parsed = await runStage({
|
|
95
|
+
stage: 'parse',
|
|
96
|
+
onProgress,
|
|
97
|
+
monitor,
|
|
98
|
+
fn: () => adapter.parseProject({
|
|
99
|
+
projectDirAbs: discovery.projectDirAbs,
|
|
100
|
+
files: discovery.files,
|
|
101
|
+
compilerOptions: discovery.compilerOptions,
|
|
102
|
+
resolutionMode,
|
|
103
|
+
}),
|
|
104
|
+
detailFn: () => `${adapter.displayName} (incremental)`,
|
|
105
|
+
});
|
|
106
|
+
const { walked, closureRel } = await runStage({
|
|
107
|
+
stage: 'walk',
|
|
108
|
+
onProgress,
|
|
109
|
+
monitor,
|
|
110
|
+
fn: () => expandClosureToFixpoint({
|
|
111
|
+
adapter,
|
|
112
|
+
discovery,
|
|
113
|
+
cachedCatalog,
|
|
114
|
+
parsedProject: parsed.project,
|
|
115
|
+
changedFilesAbs,
|
|
116
|
+
}),
|
|
117
|
+
detailFn: (out) => `${String(out.closureRel.size)} closure file(s)`,
|
|
118
|
+
});
|
|
119
|
+
// Build the resolver-input catalog from the merged occurrence set
|
|
120
|
+
// so name- and hash-based fallbacks see the full project.
|
|
121
|
+
const mergedFunctions = mergeOccurrences(cachedCatalog, walked.occurrences, closureRel);
|
|
122
|
+
const mergedReExports = mergeReExports(cachedCatalog, walked.reExports ?? [], closureRel);
|
|
123
|
+
const initialCatalog = {
|
|
124
|
+
...assembleCatalog({
|
|
125
|
+
adapter,
|
|
126
|
+
discovery,
|
|
127
|
+
occurrences: mergedFunctions,
|
|
128
|
+
resolutionMode,
|
|
129
|
+
}),
|
|
130
|
+
functions: mergedFunctions,
|
|
131
|
+
...(mergedReExports.length > 0 ? { reExports: mergedReExports } : {}),
|
|
132
|
+
};
|
|
133
|
+
// Merge the resolved closure edges into the final catalog inside the stage so
|
|
134
|
+
// the checklist detail counts the catalog's resolved call edges — the same
|
|
135
|
+
// catalog-derived `countCatalogCallSites` metric the full build reports.
|
|
136
|
+
//
|
|
137
|
+
// Apply resolved edges only to closure files; unchanged files keep
|
|
138
|
+
// their cached edges. Their bodyHashes are present in the merged
|
|
139
|
+
// catalog by construction, so cached edges are still valid.
|
|
140
|
+
//
|
|
141
|
+
// Phase 4 (DEC-498): dependency edges follow the same incremental
|
|
142
|
+
// discipline as call edges. mergeResolvedAndCachedEdges currently
|
|
143
|
+
// only handles calls; depends_on edges from the incremental closure
|
|
144
|
+
// are attached via a follow-up stitch pass below. Adapters that
|
|
145
|
+
// don't emit dependencies skip this entirely.
|
|
146
|
+
const resolved = await runStage({
|
|
147
|
+
stage: 'resolve',
|
|
148
|
+
onProgress,
|
|
149
|
+
monitor,
|
|
150
|
+
fn: async () => {
|
|
151
|
+
const result = await adapter.resolveCallSites({
|
|
152
|
+
project: parsed.project,
|
|
153
|
+
catalog: initialCatalog,
|
|
154
|
+
callSites: walked.callSites,
|
|
155
|
+
dependencySites: walked.dependencySites,
|
|
156
|
+
projectDirAbs: discovery.projectDirAbs,
|
|
157
|
+
resolutionMode,
|
|
158
|
+
emitBoundaryCalls,
|
|
159
|
+
});
|
|
160
|
+
const finalFunctions = mergeResolvedAndCachedEdges(initialCatalog, cachedCatalog, result.edgesByOwner, closureRel);
|
|
161
|
+
const stitchedFunctions = attachDependenciesIncremental(finalFunctions, result.dependenciesByOwner);
|
|
162
|
+
const catalog = { ...initialCatalog, functions: stitchedFunctions };
|
|
163
|
+
return { ...result, catalog };
|
|
164
|
+
},
|
|
165
|
+
detailFn: (r) => `${String(countCatalogCallSites(r.catalog))} call site(s)`,
|
|
166
|
+
});
|
|
167
|
+
return {
|
|
168
|
+
catalog: resolved.catalog,
|
|
169
|
+
resolutionStats: resolved.stats,
|
|
170
|
+
boundaryCalls: resolved.boundaryCalls,
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Phase 4 (DEC-498) post-pass for the incremental path. Attaches
|
|
175
|
+
* `dependencies` to occurrences whose hash appears in the resolver's
|
|
176
|
+
* dependency map. Unchanged-file occurrences keep their cached
|
|
177
|
+
* dependency arrays (if any) untouched — they came from the cached
|
|
178
|
+
* catalog and are still valid since the file hasn't changed.
|
|
179
|
+
*
|
|
180
|
+
* No-op when `dependenciesByOwner` is undefined (adapter doesn't emit
|
|
181
|
+
* dependency edges) or empty.
|
|
182
|
+
*/
|
|
183
|
+
function attachDependenciesIncremental(functions, dependenciesByOwner) {
|
|
184
|
+
if (dependenciesByOwner === undefined || dependenciesByOwner.size === 0) {
|
|
185
|
+
return functions;
|
|
186
|
+
}
|
|
187
|
+
const out = Object.create(null);
|
|
188
|
+
for (const [name, occs] of Object.entries(functions)) {
|
|
189
|
+
out[name] = occs.map((o) => {
|
|
190
|
+
const deps = dependenciesByOwner.get(ownerEdgeKey(o.bodyHash, o.filePath));
|
|
191
|
+
return deps === undefined ? o : { ...o, dependencies: deps };
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
return out;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Build the catalog skeleton from walked occurrences. The catalog has
|
|
198
|
+
* empty `calls` arrays at this point; `resolveCallSites` produces the
|
|
199
|
+
* edges, and `stitchEdges` writes them in.
|
|
200
|
+
*/
|
|
201
|
+
function assembleCatalog(input) {
|
|
202
|
+
const { adapter, discovery, occurrences, resolutionMode, engineMode = 'exact', reExports = [], } = input;
|
|
203
|
+
return {
|
|
204
|
+
version: '3.0',
|
|
205
|
+
tool: 'graph',
|
|
206
|
+
language: adapter.id,
|
|
207
|
+
// `builtAt` is the SOLE intentionally-nondeterministic catalog field (a
|
|
208
|
+
// wall-clock stamp), excluded from structural determinism/equivalence
|
|
209
|
+
// comparisons. Mirrors the sharded path (cross-shard-resolve.ts).
|
|
210
|
+
builtAt: new Date().toISOString(),
|
|
211
|
+
// Stamp the engine version AND mode so the exact and sharded engines never
|
|
212
|
+
// read each other's persisted catalog / shard-fragment rows (Phase 2).
|
|
213
|
+
cacheKey: stampEngineVersion(adapter.cacheKey({
|
|
214
|
+
projectDirAbs: discovery.projectDirAbs,
|
|
215
|
+
configPathAbs: discovery.configPathAbs,
|
|
216
|
+
compilerOptions: discovery.compilerOptions,
|
|
217
|
+
resolutionMode,
|
|
218
|
+
}), engineMode),
|
|
219
|
+
// Self-describe the tier so loaded catalogs are honest about
|
|
220
|
+
// approximation without re-deriving it from the cacheKey.
|
|
221
|
+
resolutionMode,
|
|
222
|
+
// Re-export facts (omitted when none, mirroring `features`, to keep lean
|
|
223
|
+
// catalogs clean). Carried so the cross-shard export index can follow chains.
|
|
224
|
+
...(reExports.length > 0 ? { reExports } : {}),
|
|
225
|
+
functions: occurrences,
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Merge re-export facts for the incremental (warm-closure) build: keep the
|
|
230
|
+
* cached catalog's facts for files OUTSIDE the re-walked closure, and take the
|
|
231
|
+
* freshly-walked facts for files INSIDE it — the same incremental discipline
|
|
232
|
+
* `mergeOccurrences` applies to occurrences. Sorted for determinism so a
|
|
233
|
+
* warm-partial build's catalog is byte-identical to the cold one.
|
|
234
|
+
*/
|
|
235
|
+
function mergeReExports(cached, walkedReExports, closureRel) {
|
|
236
|
+
const keptCached = (cached.reExports ?? []).filter((r) => !closureRel.has(r.fromFile));
|
|
237
|
+
return sortReExports([...keptCached, ...walkedReExports]);
|
|
238
|
+
}
|
|
239
|
+
/** Stable order for re-export facts (fromFile, exportedName, specifier). */
|
|
240
|
+
function sortReExports(reExports) {
|
|
241
|
+
return [...reExports].sort((a, b) => Number(a.fromFile > b.fromFile) - Number(a.fromFile < b.fromFile) ||
|
|
242
|
+
Number(a.exportedName > b.exportedName) - Number(a.exportedName < b.exportedName) ||
|
|
243
|
+
Number(a.specifier > b.specifier) - Number(a.specifier < b.specifier));
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Stitch resolved edges into the catalog. The adapter returns a
|
|
247
|
+
* `bodyHash → CallEdge[]` map for call edges and (Phase 4) optionally
|
|
248
|
+
* a `bodyHash → DependencyEdge[]` map for module-level dependency
|
|
249
|
+
* edges. We walk the catalog and replace each occurrence's `calls`
|
|
250
|
+
* array; if the dependency map is provided, attach `dependencies` to
|
|
251
|
+
* occurrences whose hash appears as a key (typically only module-init
|
|
252
|
+
* occurrences).
|
|
253
|
+
*
|
|
254
|
+
* Adapters that don't emit dependency edges pass `undefined` for the
|
|
255
|
+
* second map; resulting occurrences have no `dependencies` field
|
|
256
|
+
* (matches the pre-Phase-4 catalog shape — the field is optional on
|
|
257
|
+
* `FunctionOccurrence`).
|
|
258
|
+
*/
|
|
259
|
+
function stitchEdges(initial, edgesByOwner, dependenciesByOwner) {
|
|
260
|
+
const next = Object.create(null);
|
|
261
|
+
for (const [name, occs] of Object.entries(initial.functions)) {
|
|
262
|
+
if (!occs)
|
|
263
|
+
continue;
|
|
264
|
+
next[name] = occs.map((o) => {
|
|
265
|
+
// Owner identity comes from the ONE shared module (ADR-0003 canonical
|
|
266
|
+
// key) — the exact and cross-shard paths bucket/stitch through the same
|
|
267
|
+
// `ownerEdgeKey`, never a bare `bodyHash`.
|
|
268
|
+
const ownerKey = ownerEdgeKey(o.bodyHash, o.filePath);
|
|
269
|
+
const calls = edgesByOwner.get(ownerKey) ?? [];
|
|
270
|
+
const dependencies = dependenciesByOwner?.get(ownerKey);
|
|
271
|
+
// Omit `dependencies` entirely when no edges resolved — the
|
|
272
|
+
// optional field stays absent, matching the pre-Phase-4 wire
|
|
273
|
+
// shape for adapters that don't emit dependency sites.
|
|
274
|
+
return dependencies === undefined ? { ...o, calls } : { ...o, calls, dependencies };
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
return { ...initial, functions: next };
|
|
278
|
+
}
|
|
279
|
+
//# sourceMappingURL=catalog-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog-builder.js","sourceRoot":"","sources":["../../../src/cli/orchestrate/catalog-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Catalog-derived progress-detail metrics, shared by the single-program
|
|
3
|
+
* (exact) and sharded build paths so both compute the SAME stage-detail
|
|
4
|
+
* metric the SAME way from their final catalog — one consistent
|
|
5
|
+
* "N call site(s)" / "N functions" row regardless of engine, with no
|
|
6
|
+
* engine-specific (e.g. "cross-shard") leakage.
|
|
7
|
+
*
|
|
8
|
+
* NOTE: the two engines' occurrence sets are equivalent, but their resolved
|
|
9
|
+
* call-edge sets currently differ (the sharded path's boundary recovery adds
|
|
10
|
+
* cross-shard edges the single-program path resolves differently) — that
|
|
11
|
+
* edge-set divergence is a separate engine concern, not this metric's. These
|
|
12
|
+
* helpers faithfully report whatever the catalog they're handed contains.
|
|
13
|
+
*/
|
|
14
|
+
import type { Catalog } from '../../types.js';
|
|
15
|
+
/**
|
|
16
|
+
* Distinct function occurrences in a catalog — the merged `walk` sub-label
|
|
17
|
+
* count. Sums occurrence arrays across all function names.
|
|
18
|
+
*/
|
|
19
|
+
export declare function countCatalogFunctions(catalog: Catalog): number;
|
|
20
|
+
/**
|
|
21
|
+
* RESOLVED call sites across all occurrences — the `resolve` sub-label count.
|
|
22
|
+
* Counts only call edges that resolved to at least one target (`to.length > 0`),
|
|
23
|
+
* NOT empty-`to` placeholder edges (which the sharded boundary pass emits per
|
|
24
|
+
* unresolved cross-shard call site and which would otherwise inflate the sharded
|
|
25
|
+
* number by ~100k vs exact). Counting resolved edges makes the metric meaningful
|
|
26
|
+
* ("call sites we drew an edge for") and engine-consistent: post-convergence the
|
|
27
|
+
* exact and sharded builds report near-identical counts (a small residual remains
|
|
28
|
+
* from documented cross-package re-export differences).
|
|
29
|
+
*/
|
|
30
|
+
export declare function countCatalogCallSites(catalog: Catalog): number;
|
|
31
|
+
//# sourceMappingURL=catalog-stats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog-stats.d.ts","sourceRoot":"","sources":["../../../src/cli/orchestrate/catalog-stats.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAQ9D;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAU9D"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Catalog-derived progress-detail metrics, shared by the single-program
|
|
3
|
+
* (exact) and sharded build paths so both compute the SAME stage-detail
|
|
4
|
+
* metric the SAME way from their final catalog — one consistent
|
|
5
|
+
* "N call site(s)" / "N functions" row regardless of engine, with no
|
|
6
|
+
* engine-specific (e.g. "cross-shard") leakage.
|
|
7
|
+
*
|
|
8
|
+
* NOTE: the two engines' occurrence sets are equivalent, but their resolved
|
|
9
|
+
* call-edge sets currently differ (the sharded path's boundary recovery adds
|
|
10
|
+
* cross-shard edges the single-program path resolves differently) — that
|
|
11
|
+
* edge-set divergence is a separate engine concern, not this metric's. These
|
|
12
|
+
* helpers faithfully report whatever the catalog they're handed contains.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Distinct function occurrences in a catalog — the merged `walk` sub-label
|
|
16
|
+
* count. Sums occurrence arrays across all function names.
|
|
17
|
+
*/
|
|
18
|
+
export function countCatalogFunctions(catalog) {
|
|
19
|
+
let n = 0;
|
|
20
|
+
// @fitness-ignore-next-line batch-operation-limits -- Pure in-memory summation over an already-materialized catalog map (no IO, no external/unbounded dataset); not a batch operation needing pagination/concurrency limits.
|
|
21
|
+
for (const name of Object.keys(catalog.functions)) {
|
|
22
|
+
const occs = catalog.functions[name];
|
|
23
|
+
if (occs)
|
|
24
|
+
n += occs.length;
|
|
25
|
+
}
|
|
26
|
+
return n;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* RESOLVED call sites across all occurrences — the `resolve` sub-label count.
|
|
30
|
+
* Counts only call edges that resolved to at least one target (`to.length > 0`),
|
|
31
|
+
* NOT empty-`to` placeholder edges (which the sharded boundary pass emits per
|
|
32
|
+
* unresolved cross-shard call site and which would otherwise inflate the sharded
|
|
33
|
+
* number by ~100k vs exact). Counting resolved edges makes the metric meaningful
|
|
34
|
+
* ("call sites we drew an edge for") and engine-consistent: post-convergence the
|
|
35
|
+
* exact and sharded builds report near-identical counts (a small residual remains
|
|
36
|
+
* from documented cross-package re-export differences).
|
|
37
|
+
*/
|
|
38
|
+
export function countCatalogCallSites(catalog) {
|
|
39
|
+
let n = 0;
|
|
40
|
+
for (const name of Object.keys(catalog.functions)) {
|
|
41
|
+
const occs = catalog.functions[name];
|
|
42
|
+
if (!occs)
|
|
43
|
+
continue;
|
|
44
|
+
for (const occ of occs) {
|
|
45
|
+
for (const edge of occ.calls)
|
|
46
|
+
if (edge.to.length > 0)
|
|
47
|
+
n++;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return n;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=catalog-stats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog-stats.js","sourceRoot":"","sources":["../../../src/cli/orchestrate/catalog-stats.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,6NAA6N;IAC7N,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,IAAI;YAAE,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;IAC7B,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK;gBAAE,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC;oBAAE,CAAC,EAAE,CAAC;QAC5D,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC"}
|