@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 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cli/orchestrate/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,qDAAqD;AACrD,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;AAEpG,uEAAuE;AACvE,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EAQ7C,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,YAAY,GAAG,cAAc,CAAC;IAC7D,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wFAAwF;AACxF,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types for the graph orchestration pipeline. Extracted into a
|
|
3
|
+
* leaf module so the orchestrator (`../orchestrate.ts`) and its
|
|
4
|
+
* helpers (`cache-orchestrator.ts`, `catalog-builder.ts`) can all
|
|
5
|
+
* reference the same `GraphStage` / `GraphProgressCallback` shapes
|
|
6
|
+
* without forming a file-level cycle.
|
|
7
|
+
*
|
|
8
|
+
* Previously these lived in `../orchestrate.ts` and the helpers
|
|
9
|
+
* type-imported them back from there — closing a cycle the
|
|
10
|
+
* `circular-import-detection` check flagged. Hosting the types here
|
|
11
|
+
* inverts the dependency: the orchestrator and both helpers now
|
|
12
|
+
* import from this leaf, and nothing in this file imports back.
|
|
13
|
+
*/
|
|
14
|
+
/** Stage order — consumed by the live view to render the checklist. */
|
|
15
|
+
export const GRAPH_STAGES = [
|
|
16
|
+
'discover',
|
|
17
|
+
'parse',
|
|
18
|
+
'walk',
|
|
19
|
+
'resolve',
|
|
20
|
+
'index',
|
|
21
|
+
'features',
|
|
22
|
+
'rules',
|
|
23
|
+
];
|
|
24
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/cli/orchestrate/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,uEAAuE;AACvE,MAAM,CAAC,MAAM,YAAY,GAA0B;IACjD,UAAU;IACV,OAAO;IACP,MAAM;IACN,SAAS;IACT,OAAO;IACP,UAAU;IACV,OAAO;CACR,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A tiny fixed-size worker pool — the concurrency primitive shared by the
|
|
3
|
+
* shard runner and the legacy `--workspace` fan-out.
|
|
4
|
+
*
|
|
5
|
+
* Each of `concurrency` slots pulls the next item off a shared queue, runs
|
|
6
|
+
* `run(item)`, and repeats until the queue is empty. The cap bounds how
|
|
7
|
+
* many child processes run at once (memory/oversubscription control); the
|
|
8
|
+
* total number of items is unbounded.
|
|
9
|
+
*
|
|
10
|
+
* Results are returned in COMPLETION order, not input order — callers that
|
|
11
|
+
* need determinism sort afterward (shards sort by shardId).
|
|
12
|
+
*
|
|
13
|
+
* @throws {TypeError} When `concurrency` is not a finite number.
|
|
14
|
+
*/
|
|
15
|
+
export declare function runWorkerPool<I, O>(items: readonly I[], concurrency: number, run: (item: I) => Promise<O>): Promise<O[]>;
|
|
16
|
+
//# sourceMappingURL=worker-pool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-pool.d.ts","sourceRoot":"","sources":["../../../src/cli/orchestrate/worker-pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,wBAAsB,aAAa,CAAC,CAAC,EAAE,CAAC,EACtC,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAC3B,OAAO,CAAC,CAAC,EAAE,CAAC,CAyBd"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A tiny fixed-size worker pool — the concurrency primitive shared by the
|
|
3
|
+
* shard runner and the legacy `--workspace` fan-out.
|
|
4
|
+
*
|
|
5
|
+
* Each of `concurrency` slots pulls the next item off a shared queue, runs
|
|
6
|
+
* `run(item)`, and repeats until the queue is empty. The cap bounds how
|
|
7
|
+
* many child processes run at once (memory/oversubscription control); the
|
|
8
|
+
* total number of items is unbounded.
|
|
9
|
+
*
|
|
10
|
+
* Results are returned in COMPLETION order, not input order — callers that
|
|
11
|
+
* need determinism sort afterward (shards sort by shardId).
|
|
12
|
+
*
|
|
13
|
+
* @throws {TypeError} When `concurrency` is not a finite number.
|
|
14
|
+
*/
|
|
15
|
+
export async function runWorkerPool(items, concurrency, run) {
|
|
16
|
+
if (!Number.isFinite(concurrency)) {
|
|
17
|
+
throw new TypeError(`runWorkerPool: concurrency must be a finite number (received ${concurrency})`);
|
|
18
|
+
}
|
|
19
|
+
const queue = [...items];
|
|
20
|
+
const results = [];
|
|
21
|
+
// Clamp zero/negative to 1 to preserve prior tolerance (some callers/tests
|
|
22
|
+
// pass 0 expecting "at least one slot"); the dangerous case is NaN which
|
|
23
|
+
// previously produced zero workers and empty results.
|
|
24
|
+
const slots = Math.max(1, concurrency);
|
|
25
|
+
async function worker() {
|
|
26
|
+
for (;;) {
|
|
27
|
+
const item = queue.shift();
|
|
28
|
+
if (item === undefined)
|
|
29
|
+
return;
|
|
30
|
+
results.push(await run(item));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
const workers = [];
|
|
34
|
+
for (let i = 0; i < slots; i++)
|
|
35
|
+
workers.push(worker());
|
|
36
|
+
await Promise.all(workers);
|
|
37
|
+
return results;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=worker-pool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-pool.js","sourceRoot":"","sources":["../../../src/cli/orchestrate/worker-pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAmB,EACnB,WAAmB,EACnB,GAA4B;IAE5B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,SAAS,CACjB,gEAAgE,WAAW,GAAG,CAC/E,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IACzB,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,2EAA2E;IAC3E,yEAAyE;IACzE,sDAAsD;IACtD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAEvC,KAAK,UAAU,MAAM;QACnB,SAAS,CAAC;YACR,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO;YAC/B,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE;QAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACvD,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3B,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pipeline orchestrator — threads stages 0–5 together.
|
|
3
|
+
*
|
|
4
|
+
* The single module that wires adapter outputs into the rule pipeline.
|
|
5
|
+
* Per spec §5, the orchestrator is straight-line code; every
|
|
6
|
+
* interesting decision happens inside one of the stages.
|
|
7
|
+
*
|
|
8
|
+
* PR 3 of plan docs/plans/10-graph-language-pluggability.md: this
|
|
9
|
+
* module no longer imports `'typescript'` directly. The orchestrator
|
|
10
|
+
* looks up an adapter from the lang-adapter registry and routes
|
|
11
|
+
* file-discovery / parse / walk / resolution through its method
|
|
12
|
+
* surface. The TypeScript adapter is the only one registered today;
|
|
13
|
+
* future adapters slot in via `currentAdapterRegistry().register(...)`
|
|
14
|
+
* at bootstrap.
|
|
15
|
+
*
|
|
16
|
+
* Stage decomposition (siblings under `./orchestrate/`):
|
|
17
|
+
* - `catalog-builder.ts` — full + incremental rebuild paths
|
|
18
|
+
* - `cache-orchestrator.ts` — cache hit/miss/incremental routing
|
|
19
|
+
* - `incremental-merge.ts` — Wave-4 closure expansion + edge merge
|
|
20
|
+
* This file keeps `runGraph()` (entry), `runStage()` (the
|
|
21
|
+
* progress/pressure-monitor wrapper threaded into siblings), and the
|
|
22
|
+
* public type surface.
|
|
23
|
+
*/
|
|
24
|
+
import { type Signal } from '@opensip-cli/core';
|
|
25
|
+
import type { Catalog, FeatureColumn, FeatureTable, GraphConfig, Indexes, ResolutionMode, ResolutionStats, Rule } from '../types.js';
|
|
26
|
+
import type { ShardRunStats } from './orchestrate/shard-model.js';
|
|
27
|
+
import type { GraphProgressCallback } from './orchestrate/types.js';
|
|
28
|
+
import type { DataStore } from '@opensip-cli/datastore';
|
|
29
|
+
export { GRAPH_STAGES } from './orchestrate/types.js';
|
|
30
|
+
export type { GraphProgressCallback, GraphProgressEvent, GraphStage } from './orchestrate/types.js';
|
|
31
|
+
export { runShardedGraph } from './orchestrate/sharded-graph.js';
|
|
32
|
+
export { loadGraphConfig, resolveGraphRecipeSelection } from './graph-config.js';
|
|
33
|
+
export type { RunShardedInput, RunShardedResult } from './orchestrate/sharded-graph.js';
|
|
34
|
+
/** Input bundle for {@link runGraph}: project scope, optional overrides, and progress callback. */
|
|
35
|
+
export interface RunGraphInput {
|
|
36
|
+
readonly cwd: string;
|
|
37
|
+
readonly noCache?: boolean;
|
|
38
|
+
readonly config?: GraphConfig;
|
|
39
|
+
/** Override the rule set (tests, custom invocations). */
|
|
40
|
+
readonly rules?: readonly Rule[];
|
|
41
|
+
/** Override the adapter's config-file path (e.g. tsconfig.json). */
|
|
42
|
+
readonly tsConfigPath?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Optional canonical adapter id (`typescript`, `python`, `rust`,
|
|
45
|
+
* etc.). When set, bypasses `pickAdapter`'s file-extension dominance
|
|
46
|
+
* heuristic and selects the named adapter directly. The graph CLI
|
|
47
|
+
* surfaces this via the `--language` flag.
|
|
48
|
+
*/
|
|
49
|
+
readonly language?: string;
|
|
50
|
+
/**
|
|
51
|
+
* Edge resolution tier. `'exact'` (default, or absent) runs the
|
|
52
|
+
* semantic type-checker-backed resolvers; `'fast'` runs the syntactic
|
|
53
|
+
* resolver with no type checker. Normalized to `'exact'` at the
|
|
54
|
+
* orchestrator boundary and folded into the cacheKey so the two tiers
|
|
55
|
+
* never collide in the catalog cache. Surfaced by the `--resolution`
|
|
56
|
+
* CLI flag.
|
|
57
|
+
*/
|
|
58
|
+
readonly resolution?: ResolutionMode;
|
|
59
|
+
/**
|
|
60
|
+
* Optional structured progress callback. The orchestrator emits one
|
|
61
|
+
* `stage-start` + one of `stage-done` / `stage-cached` per pipeline
|
|
62
|
+
* stage (discover, parse, walk, resolve, index, rules). Used by the
|
|
63
|
+
* Ink live view; non-interactive callers (json/gate/report) leave it
|
|
64
|
+
* undefined.
|
|
65
|
+
*/
|
|
66
|
+
readonly onProgress?: GraphProgressCallback;
|
|
67
|
+
/**
|
|
68
|
+
* Datastore for catalog persistence. v2: replaces the v1
|
|
69
|
+
* `paths.graphCatalogPath` JSON file. Optional so legacy callers
|
|
70
|
+
* (acceptance tests pre-Phase-3) can still drive the orchestrator
|
|
71
|
+
* without a DataStore — the catalog will be rebuilt every run.
|
|
72
|
+
*/
|
|
73
|
+
readonly datastore?: DataStore;
|
|
74
|
+
/**
|
|
75
|
+
* Columns to materialize into the persisted catalog for the decoupled
|
|
76
|
+
* dashboard (ADR-0006). Absent/empty ⇒ no features persisted. The standard
|
|
77
|
+
* interactive run requests `['blast','scc','packageCoupling']`; export-only
|
|
78
|
+
* paths omit it. Unioned with every enabled rule's `featureDeps` to decide
|
|
79
|
+
* what the features stage computes.
|
|
80
|
+
*/
|
|
81
|
+
readonly emitFeatures?: readonly FeatureColumn[];
|
|
82
|
+
}
|
|
83
|
+
/** Output of {@link runGraph}: catalog, indexes, signals, resolution stats, and cache state. */
|
|
84
|
+
export interface RunGraphResult {
|
|
85
|
+
readonly catalog: Catalog | null;
|
|
86
|
+
readonly indexes: Indexes | null;
|
|
87
|
+
readonly signals: readonly Signal[];
|
|
88
|
+
readonly resolutionStats: ResolutionStats | null;
|
|
89
|
+
readonly cacheHit: boolean;
|
|
90
|
+
/** The engine-computed feature table for this run (only the requested
|
|
91
|
+
* columns are populated). `null` only on a path that produced no catalog. */
|
|
92
|
+
readonly features: FeatureTable | null;
|
|
93
|
+
/**
|
|
94
|
+
* Per-run sharded-build statistics (ADR-0045 measurement plane), mirrored
|
|
95
|
+
* into the `--profile` summary. Present only on the sharded path; the exact
|
|
96
|
+
* (`runGraph`) single-program path leaves it undefined.
|
|
97
|
+
*/
|
|
98
|
+
readonly shardStats?: ShardRunStats;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Run the pipeline end-to-end. Each stage runs in isolation; the
|
|
102
|
+
* orchestrator wires their outputs together and consults the cache
|
|
103
|
+
* before redoing stages 1+2.
|
|
104
|
+
*/
|
|
105
|
+
export declare function runGraph(input: RunGraphInput): Promise<RunGraphResult>;
|
|
106
|
+
//# sourceMappingURL=orchestrate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrate.d.ts","sourceRoot":"","sources":["../../src/cli/orchestrate.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAmB/D,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EACb,YAAY,EACZ,WAAW,EACX,OAAO,EACP,cAAc,EACd,eAAe,EACf,IAAI,EACL,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAUxD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAKpG,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AACjF,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAExF,mGAAmG;AACnG,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,yDAAyD;IACzD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;IACjC,oEAAoE;IACpE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC;IACrC;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,qBAAqB,CAAC;IAC5C;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;CAClD;AAED,gGAAgG;AAChG,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B;kFAC8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IACvC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;CACrC;AAiDD;;;;GAIG;AAEH,wBAAsB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CA2H5E"}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
// @fitness-ignore-file detached-promises -- stage hooks (registry registration, logger.info) are synchronous; orchestrator threads them inside an async pipeline
|
|
2
|
+
// @fitness-ignore-file module-coupling-fan-out -- this IS the graph pipeline's composition root: threading stages 0–5 together inherently imports each stage module plus the registries/persistence/rules/tracer they coordinate. High fan-out is the orchestrator's job, not accidental coupling.
|
|
3
|
+
/**
|
|
4
|
+
* Pipeline orchestrator — threads stages 0–5 together.
|
|
5
|
+
*
|
|
6
|
+
* The single module that wires adapter outputs into the rule pipeline.
|
|
7
|
+
* Per spec §5, the orchestrator is straight-line code; every
|
|
8
|
+
* interesting decision happens inside one of the stages.
|
|
9
|
+
*
|
|
10
|
+
* PR 3 of plan docs/plans/10-graph-language-pluggability.md: this
|
|
11
|
+
* module no longer imports `'typescript'` directly. The orchestrator
|
|
12
|
+
* looks up an adapter from the lang-adapter registry and routes
|
|
13
|
+
* file-discovery / parse / walk / resolution through its method
|
|
14
|
+
* surface. The TypeScript adapter is the only one registered today;
|
|
15
|
+
* future adapters slot in via `currentAdapterRegistry().register(...)`
|
|
16
|
+
* at bootstrap.
|
|
17
|
+
*
|
|
18
|
+
* Stage decomposition (siblings under `./orchestrate/`):
|
|
19
|
+
* - `catalog-builder.ts` — full + incremental rebuild paths
|
|
20
|
+
* - `cache-orchestrator.ts` — cache hit/miss/incremental routing
|
|
21
|
+
* - `incremental-merge.ts` — Wave-4 closure expansion + edge merge
|
|
22
|
+
* This file keeps `runGraph()` (entry), `runStage()` (the
|
|
23
|
+
* progress/pressure-monitor wrapper threaded into siblings), and the
|
|
24
|
+
* public type surface.
|
|
25
|
+
*/
|
|
26
|
+
import { withSpanAsync } from '@opensip-cli/core';
|
|
27
|
+
import { currentAdapterRegistry } from '../lang-adapter/registry.js';
|
|
28
|
+
import { GraphAdapterSelector } from '../lang-adapter/selector.js';
|
|
29
|
+
import { CatalogRepo } from '../persistence/catalog-repo.js';
|
|
30
|
+
import { unionFeatureDeps } from '../pipeline/feature-deps.js';
|
|
31
|
+
import { buildFeatures, isPersistedFeaturesEmpty, toPersistedFeatures, } from '../pipeline/features.js';
|
|
32
|
+
import { buildIndexes } from '../pipeline/indexes.js';
|
|
33
|
+
import { currentRules } from '../rules/registry.js';
|
|
34
|
+
import { GRAPH_TRACER } from './graph-tracer.js';
|
|
35
|
+
import { obtainCatalog } from './orchestrate/cache-orchestrator.js';
|
|
36
|
+
import { resolveCanonicalFileSet } from './orchestrate/canonical-file-set.js';
|
|
37
|
+
import { createPressureMonitor } from './pressure-monitor.js';
|
|
38
|
+
// Re-export the orchestration types so existing callers (the engine's
|
|
39
|
+
// public `index.ts` barrel, the Ink live view, downstream tooling)
|
|
40
|
+
// continue to import them from `./orchestrate.js`. The canonical
|
|
41
|
+
// declarations now live in `./orchestrate/types.ts` — a leaf module
|
|
42
|
+
// that the orchestrator's helpers (`cache-orchestrator`,
|
|
43
|
+
// `catalog-builder`) also import from. The split breaks the
|
|
44
|
+
// `orchestrate → cache-orchestrator → catalog-builder → orchestrate`
|
|
45
|
+
// file-level cycle the `circular-import-detection` check flagged.
|
|
46
|
+
export { GRAPH_STAGES } from './orchestrate/types.js';
|
|
47
|
+
// The sharded build is an orchestration mode; expose it from the same
|
|
48
|
+
// orchestration facade so dispatchers reach both `runGraph` and
|
|
49
|
+
// `runShardedGraph` through one entry point.
|
|
50
|
+
export { runShardedGraph } from './orchestrate/sharded-graph.js';
|
|
51
|
+
export { loadGraphConfig, resolveGraphRecipeSelection } from './graph-config.js';
|
|
52
|
+
/**
|
|
53
|
+
* Yield to the event loop once (a macrotask hop). Lets the in-process live view
|
|
54
|
+
* paint between/within stages so its spinner animates instead of freezing while
|
|
55
|
+
* a synchronous stage runs (ADR-0016, cooperative-yield). A no-op for cost in
|
|
56
|
+
* non-interactive runs (one `setImmediate` per stage is negligible).
|
|
57
|
+
*/
|
|
58
|
+
function yieldToEventLoop() {
|
|
59
|
+
return new Promise((resolve) => {
|
|
60
|
+
setImmediate(resolve);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
async function runStage(args) {
|
|
64
|
+
const { stage, onProgress, monitor, fn, detailFn, attrsFn } = args;
|
|
65
|
+
monitor?.setStage(stage);
|
|
66
|
+
// Sample BEFORE the stage starts. The previous stage may have left
|
|
67
|
+
// the heap near the threshold; bail out before doing more work that
|
|
68
|
+
// would push us over and forfeit the ability to report cleanly.
|
|
69
|
+
monitor?.check();
|
|
70
|
+
onProgress?.({ type: 'stage-start', stage });
|
|
71
|
+
// Yield so the live view paints the stage-start (the spinner moves to this
|
|
72
|
+
// row) before a synchronous stage blocks the loop. The cooperative resolve
|
|
73
|
+
// stage yields again internally, so its spinner keeps ticking throughout.
|
|
74
|
+
await yieldToEventLoop();
|
|
75
|
+
const startedAt = Date.now();
|
|
76
|
+
// Emit one span per stage. withSpanAsync keeps the span open across the
|
|
77
|
+
// (possibly async) stage work and is a no-op when no SDK is registered.
|
|
78
|
+
const result = await withSpanAsync(GRAPH_TRACER, `opensip_cli.graph.${stage}`, async (span) => {
|
|
79
|
+
const out = await fn();
|
|
80
|
+
if (attrsFn)
|
|
81
|
+
span.setAttributes(attrsFn(out));
|
|
82
|
+
return out;
|
|
83
|
+
}, { 'opensip_cli.graph.stage': stage });
|
|
84
|
+
const durationMs = Date.now() - startedAt;
|
|
85
|
+
onProgress?.({
|
|
86
|
+
type: 'stage-done',
|
|
87
|
+
stage,
|
|
88
|
+
durationMs,
|
|
89
|
+
detail: detailFn?.(result),
|
|
90
|
+
});
|
|
91
|
+
return result;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Run the pipeline end-to-end. Each stage runs in isolation; the
|
|
95
|
+
* orchestrator wires their outputs together and consults the cache
|
|
96
|
+
* before redoing stages 1+2.
|
|
97
|
+
*/
|
|
98
|
+
export async function runGraph(input) {
|
|
99
|
+
const config = input.config ?? {};
|
|
100
|
+
const ruleSet = input.rules ?? currentRules();
|
|
101
|
+
const requestedColumns = unionFeatureDeps(ruleSet, input.emitFeatures);
|
|
102
|
+
const catalogRepo = input.datastore ? new CatalogRepo(input.datastore) : null;
|
|
103
|
+
// Normalize the tier once at the boundary; absence ⇒ exact (historical).
|
|
104
|
+
const resolutionMode = input.resolution ?? 'exact';
|
|
105
|
+
const monitor = createPressureMonitor();
|
|
106
|
+
try {
|
|
107
|
+
const adapter = pickAdapterFor(input);
|
|
108
|
+
const discovery = await runStage({
|
|
109
|
+
stage: 'discover',
|
|
110
|
+
onProgress: input.onProgress,
|
|
111
|
+
monitor,
|
|
112
|
+
// Reduce raw discovery to the CANONICAL file set (Phase 1, parity): the
|
|
113
|
+
// root tsconfig declares no exclude, so `discoverFiles` returns every
|
|
114
|
+
// `.ts(x)` — fixtures included. The sharded engine partitions the SAME
|
|
115
|
+
// canonical set, so both engines parse/walk an identical file set. Real
|
|
116
|
+
// test files are kept (needed for test-only-reachable + test→prod edges);
|
|
117
|
+
// only `__fixtures__/` (synthetic test input) is dropped.
|
|
118
|
+
fn: () => {
|
|
119
|
+
const raw = adapter.discoverFiles({
|
|
120
|
+
cwd: input.cwd,
|
|
121
|
+
configPathOverride: input.tsConfigPath,
|
|
122
|
+
});
|
|
123
|
+
return { ...raw, files: resolveCanonicalFileSet(raw.files) };
|
|
124
|
+
},
|
|
125
|
+
detailFn: (d) => `${String(d.files.length)} files`,
|
|
126
|
+
attrsFn: (d) => ({ 'opensip_cli.graph.file_count': d.files.length }),
|
|
127
|
+
});
|
|
128
|
+
const { catalog, cacheHit, resolutionStats } = await obtainCatalog({
|
|
129
|
+
runStage,
|
|
130
|
+
adapter,
|
|
131
|
+
discovery,
|
|
132
|
+
catalogRepo,
|
|
133
|
+
useCache: input.noCache !== true,
|
|
134
|
+
resolutionMode,
|
|
135
|
+
projectRoot: input.cwd,
|
|
136
|
+
onProgress: input.onProgress,
|
|
137
|
+
monitor,
|
|
138
|
+
});
|
|
139
|
+
const indexes = await runStage({
|
|
140
|
+
stage: 'index',
|
|
141
|
+
onProgress: input.onProgress,
|
|
142
|
+
monitor,
|
|
143
|
+
fn: () => buildIndexes(catalog),
|
|
144
|
+
// cacheHit is resolved by obtainCatalog (parse/walk/resolve) above, so it
|
|
145
|
+
// is known by the time the index stage runs. Surfacing it here gives the
|
|
146
|
+
// consumer a low-cardinality flag for "was this an incremental/cached run."
|
|
147
|
+
attrsFn: () => ({ 'opensip_cli.graph.cache_hit': cacheHit }),
|
|
148
|
+
});
|
|
149
|
+
// Stage 3.5 — feature derivation. Runs after index / before rules so rules
|
|
150
|
+
// consume the columns as a plain view (ADR-0006). Computes only the union
|
|
151
|
+
// of the rule set's featureDeps + the caller's emitFeatures.
|
|
152
|
+
const features = await runStage({
|
|
153
|
+
stage: 'features',
|
|
154
|
+
onProgress: input.onProgress,
|
|
155
|
+
monitor,
|
|
156
|
+
fn: () => buildFeatures(catalog, indexes, config, requestedColumns),
|
|
157
|
+
attrsFn: (f) => ({
|
|
158
|
+
'opensip_cli.graph.feature_columns': requestedColumns.length,
|
|
159
|
+
'opensip_cli.graph.scc_count': f.scc.length,
|
|
160
|
+
}),
|
|
161
|
+
});
|
|
162
|
+
const signals = await runStage({
|
|
163
|
+
stage: 'rules',
|
|
164
|
+
onProgress: input.onProgress,
|
|
165
|
+
monitor,
|
|
166
|
+
fn: () => {
|
|
167
|
+
const collected = [];
|
|
168
|
+
for (const rule of ruleSet) {
|
|
169
|
+
// Thread the active adapter's RuleHints so non-TypeScript
|
|
170
|
+
// languages get their own side-effect primitives, throw
|
|
171
|
+
// syntax, generated-file globs, and isTestFile predicate.
|
|
172
|
+
// Without this, rules that consult `hints` silently fall
|
|
173
|
+
// back to TypeScript-shaped regex on every other language.
|
|
174
|
+
// The 5th arg is the engine-computed feature table (Plan C).
|
|
175
|
+
const out = rule.evaluate(catalog, indexes, config, adapter.ruleHints, features);
|
|
176
|
+
collected.push(...out);
|
|
177
|
+
}
|
|
178
|
+
return collected;
|
|
179
|
+
},
|
|
180
|
+
detailFn: (sigs) => `${String(ruleSet.length)} rule(s), ${String(sigs.length)} signal(s)`,
|
|
181
|
+
attrsFn: (sigs) => ({
|
|
182
|
+
'opensip_cli.graph.rule_count': ruleSet.length,
|
|
183
|
+
'opensip_cli.graph.signal_count': sigs.length,
|
|
184
|
+
}),
|
|
185
|
+
});
|
|
186
|
+
// Materialize the requested dashboard columns into the persisted catalog
|
|
187
|
+
// (ADR-0006). obtainCatalog already wrote the feature-LESS catalog; a
|
|
188
|
+
// second persist attaches features ONLY when columns were requested and
|
|
189
|
+
// the projection is non-empty (a lean default-run persists no blob).
|
|
190
|
+
const persistedFeatures = toPersistedFeatures(features, requestedColumns);
|
|
191
|
+
const persisted = isPersistedFeaturesEmpty(persistedFeatures) ? undefined : persistedFeatures;
|
|
192
|
+
if (persisted && catalogRepo) {
|
|
193
|
+
try {
|
|
194
|
+
catalogRepo.replaceAll({ ...catalog, features: persisted });
|
|
195
|
+
}
|
|
196
|
+
catch {
|
|
197
|
+
/* v8 ignore next */
|
|
198
|
+
// @swallow-ok feature materialization is best-effort: CatalogRepo.replaceAll
|
|
199
|
+
// already logs the failure via its own logger, and the run returns the
|
|
200
|
+
// catalog (with in-memory features) regardless — re-logging here would
|
|
201
|
+
// only double-report the same error.
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
return {
|
|
205
|
+
catalog: persisted ? { ...catalog, features: persisted } : catalog,
|
|
206
|
+
indexes,
|
|
207
|
+
signals,
|
|
208
|
+
resolutionStats,
|
|
209
|
+
cacheHit,
|
|
210
|
+
features,
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
finally {
|
|
214
|
+
monitor.dispose();
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Pick a graph language adapter for the run. When `language` is set, the
|
|
219
|
+
* selector fails immediately if that adapter is not registered; implicit runs
|
|
220
|
+
* still use file-extension dominance plus the deterministic fallback.
|
|
221
|
+
*/
|
|
222
|
+
function pickAdapterFor(input) {
|
|
223
|
+
return new GraphAdapterSelector(currentAdapterRegistry()).pick({
|
|
224
|
+
cwd: input.cwd,
|
|
225
|
+
language: input.language,
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
//# sourceMappingURL=orchestrate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrate.js","sourceRoot":"","sources":["../../src/cli/orchestrate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve user-supplied positional paths to validated absolute paths
|
|
3
|
+
* for `opensip graph`. No glob expansion (the shell handles
|
|
4
|
+
* globs); no workspace-name shortcut (D10). Throws ConfigurationError
|
|
5
|
+
* on the first invalid input.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Resolve user-supplied positional paths to validated absolute paths.
|
|
9
|
+
*
|
|
10
|
+
* Each input must be a path to an existing directory (file paths are
|
|
11
|
+
* deferred). Relative paths resolve against `cwd`. Throws
|
|
12
|
+
* `ConfigurationError` on the first invalid input.
|
|
13
|
+
*
|
|
14
|
+
* Returns paths in the original argument order.
|
|
15
|
+
*/
|
|
16
|
+
export declare function resolvePositionalPaths(paths: readonly string[], cwd: string): readonly string[];
|
|
17
|
+
/**
|
|
18
|
+
* Produce a short display label for an absolute path — relative to
|
|
19
|
+
* `process.cwd()` when meaningfully shorter, otherwise the absolute
|
|
20
|
+
* path. Used in user-facing error messages and reports.
|
|
21
|
+
*/
|
|
22
|
+
export declare function positionalPathLabel(absPath: string, cwd?: string): string;
|
|
23
|
+
//# sourceMappingURL=positional-paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"positional-paths.d.ts","sourceRoot":"","sources":["../../src/cli/positional-paths.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CA+B/F;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAsB,GAAG,MAAM,CAKxF"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve user-supplied positional paths to validated absolute paths
|
|
3
|
+
* for `opensip graph`. No glob expansion (the shell handles
|
|
4
|
+
* globs); no workspace-name shortcut (D10). Throws ConfigurationError
|
|
5
|
+
* on the first invalid input.
|
|
6
|
+
*/
|
|
7
|
+
import { existsSync, statSync } from 'node:fs';
|
|
8
|
+
import { isAbsolute, relative, resolve } from 'node:path';
|
|
9
|
+
import { ConfigurationError, logger } from '@opensip-cli/core';
|
|
10
|
+
const MODULE_GRAPH_CLI = 'graph:cli';
|
|
11
|
+
/**
|
|
12
|
+
* Resolve user-supplied positional paths to validated absolute paths.
|
|
13
|
+
*
|
|
14
|
+
* Each input must be a path to an existing directory (file paths are
|
|
15
|
+
* deferred). Relative paths resolve against `cwd`. Throws
|
|
16
|
+
* `ConfigurationError` on the first invalid input.
|
|
17
|
+
*
|
|
18
|
+
* Returns paths in the original argument order.
|
|
19
|
+
*/
|
|
20
|
+
export function resolvePositionalPaths(paths, cwd) {
|
|
21
|
+
const out = [];
|
|
22
|
+
for (const p of paths) {
|
|
23
|
+
const trimmed = p.trim();
|
|
24
|
+
if (trimmed.length === 0) {
|
|
25
|
+
throw new ConfigurationError('Positional path is empty.');
|
|
26
|
+
}
|
|
27
|
+
const abs = isAbsolute(trimmed) ? trimmed : resolve(cwd, trimmed);
|
|
28
|
+
if (!existsSync(abs)) {
|
|
29
|
+
throw new ConfigurationError(`Path does not exist: '${p}' (resolved to ${abs}).`);
|
|
30
|
+
}
|
|
31
|
+
let isDir = false;
|
|
32
|
+
try {
|
|
33
|
+
isDir = statSync(abs).isDirectory();
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
/* v8 ignore next */
|
|
37
|
+
throw new ConfigurationError(`Path is not readable: '${p}' (${abs}).`);
|
|
38
|
+
}
|
|
39
|
+
if (!isDir) {
|
|
40
|
+
throw new ConfigurationError(`Path is not a directory: '${p}'. graph accepts directories only.`);
|
|
41
|
+
}
|
|
42
|
+
out.push(abs);
|
|
43
|
+
}
|
|
44
|
+
logger.info({
|
|
45
|
+
evt: 'graph.cli.scope.positional',
|
|
46
|
+
module: MODULE_GRAPH_CLI,
|
|
47
|
+
count: out.length,
|
|
48
|
+
});
|
|
49
|
+
return out;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Produce a short display label for an absolute path — relative to
|
|
53
|
+
* `process.cwd()` when meaningfully shorter, otherwise the absolute
|
|
54
|
+
* path. Used in user-facing error messages and reports.
|
|
55
|
+
*/
|
|
56
|
+
export function positionalPathLabel(absPath, cwd = process.cwd()) {
|
|
57
|
+
const rel = relative(cwd, absPath);
|
|
58
|
+
if (rel.length === 0)
|
|
59
|
+
return '.';
|
|
60
|
+
if (!rel.startsWith('..') && !isAbsolute(rel))
|
|
61
|
+
return rel;
|
|
62
|
+
return absPath;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=positional-paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"positional-paths.js","sourceRoot":"","sources":["../../src/cli/positional-paths.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE/D,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAErC;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAwB,EAAE,GAAW;IAC1E,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,kBAAkB,CAAC,2BAA2B,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,kBAAkB,CAAC,yBAAyB,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC;YACH,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,oBAAoB;YACpB,MAAM,IAAI,kBAAkB,CAAC,0BAA0B,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,kBAAkB,CAC1B,6BAA6B,CAAC,oCAAoC,CACnE,CAAC;QACJ,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,IAAI,CAAC;QACV,GAAG,EAAE,4BAA4B;QACjC,MAAM,EAAE,gBAAgB;QACxB,KAAK,EAAE,GAAG,CAAC,MAAM;KAClB,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,MAAc,OAAO,CAAC,GAAG,EAAE;IAC9E,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACnC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IACjC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAC1D,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* V8 heap pressure monitor.
|
|
3
|
+
*
|
|
4
|
+
* Polls `v8.getHeapStatistics()` to catch impending OOMs before V8
|
|
5
|
+
* itself SIGABRTs the process. The orchestrator calls `check()` at
|
|
6
|
+
* every stage boundary; for long-running stages the monitor also
|
|
7
|
+
* self-polls on a 1s interval. When old-gen usage crosses the
|
|
8
|
+
* configured fraction of the heap limit, `check()` throws
|
|
9
|
+
* `MemoryPressureError` and the orchestrator surfaces it through the
|
|
10
|
+
* normal error path.
|
|
11
|
+
*
|
|
12
|
+
* The 0.90 default leaves ~10% of headroom for V8 to complete one
|
|
13
|
+
* last major GC and for the exception to propagate. Below 0.85 we'd
|
|
14
|
+
* get false positives during normal GC churn; above 0.95 the bail-out
|
|
15
|
+
* itself runs out of headroom.
|
|
16
|
+
*/
|
|
17
|
+
import { ToolError, type EnvVarSpec, type ToolErrorOptions } from '@opensip-cli/core';
|
|
18
|
+
/**
|
|
19
|
+
* Graph-engine environment variables (launch, §5.12). Read through the
|
|
20
|
+
* {@link EnvRegistry} primitive (immutable spec table) so the env surface is
|
|
21
|
+
* governed and documentable; the `env-via-registry` guardrail forbids raw
|
|
22
|
+
* `process.env` reads. (`NODE_OPTIONS`, mutated by the heap-preflight before any
|
|
23
|
+
* opensip module loads, is a documented pre-scope exception, not registered here.)
|
|
24
|
+
*/
|
|
25
|
+
export declare const GRAPH_ENV_SPECS: readonly EnvVarSpec<unknown>[];
|
|
26
|
+
/** Thrown when heap usage crosses the configured pressure threshold during graph work. */
|
|
27
|
+
export declare class MemoryPressureError extends ToolError {
|
|
28
|
+
readonly usedBytes: number;
|
|
29
|
+
readonly limitBytes: number;
|
|
30
|
+
readonly stage: string;
|
|
31
|
+
constructor(message: string, details: {
|
|
32
|
+
usedBytes: number;
|
|
33
|
+
limitBytes: number;
|
|
34
|
+
stage: string;
|
|
35
|
+
}, options?: ToolErrorOptions);
|
|
36
|
+
}
|
|
37
|
+
/** Constructor options for {@link createPressureMonitor}: threshold and poll cadence. */
|
|
38
|
+
export interface PressureMonitorOptions {
|
|
39
|
+
/** Fraction of `heap_size_limit` above which we abort. Default 0.90. */
|
|
40
|
+
readonly threshold?: number;
|
|
41
|
+
/** Background poll interval. 0 disables polling (check-only mode). */
|
|
42
|
+
readonly pollIntervalMs?: number;
|
|
43
|
+
}
|
|
44
|
+
/** Stage-aware heap-pressure monitor that aborts work before the V8 OOM line. */
|
|
45
|
+
export interface PressureMonitor {
|
|
46
|
+
/**
|
|
47
|
+
* Bind the monitor to a logical stage. Subsequent `check()` calls and
|
|
48
|
+
* background polls report this stage in any thrown error.
|
|
49
|
+
*/
|
|
50
|
+
readonly setStage: (stage: string) => void;
|
|
51
|
+
/** Synchronous check — throws MemoryPressureError if over threshold. */
|
|
52
|
+
readonly check: () => void;
|
|
53
|
+
/** Stop the background poller. Safe to call multiple times. */
|
|
54
|
+
readonly dispose: () => void;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Create a pressure monitor. Disabled when `OPENSIP_HEAP_NO_MONITOR=1`
|
|
58
|
+
* — gives users an escape hatch for false positives in unusual GC
|
|
59
|
+
* scenarios (REPL embedding, custom allocators).
|
|
60
|
+
*/
|
|
61
|
+
export declare function createPressureMonitor(opts?: PressureMonitorOptions): PressureMonitor;
|
|
62
|
+
//# sourceMappingURL=pressure-monitor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pressure-monitor.d.ts","sourceRoot":"","sources":["../../src/cli/pressure-monitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,EAAe,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEnG;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,EAOzD,CAAC;AAMF,0FAA0F;AAC1F,qBAAa,mBAAoB,SAAQ,SAAS;IAChD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAGrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EACjE,OAAO,CAAC,EAAE,gBAAgB;CAQ7B;AAED,yFAAyF;AACzF,MAAM,WAAW,sBAAsB;IACrC,wEAAwE;IACxE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,sEAAsE;IACtE,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,GAAE,sBAA2B,GAAG,eAAe,CAiDxF"}
|