@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
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,642 @@
|
|
|
1
|
+
import type { Signal } from '@opensip-cli/core';
|
|
2
|
+
/**
|
|
3
|
+
* `RuleHints` — adapter-supplied per-language rule input. Historically
|
|
4
|
+
* declared in `lang-adapter/types.ts` and re-exported here so rule
|
|
5
|
+
* modules under `rules/` could consult hints without importing from
|
|
6
|
+
* `lang-adapter/`. Keeping the type in the engine's shared type layer preserves
|
|
7
|
+
* that direction after the old in-package `lang-*` directory rules were retired.
|
|
8
|
+
*
|
|
9
|
+
* The original re-export created a `types.ts ↔ lang-adapter/types.ts`
|
|
10
|
+
* file-level cycle reported by `circular-import-detection`. The fix is
|
|
11
|
+
* to host the canonical declaration here in `types.ts` (which sits at
|
|
12
|
+
* the bottom of the engine's type layer) and have `lang-adapter/types.ts`
|
|
13
|
+
* import it from here — inverting the dependency so the cycle is gone.
|
|
14
|
+
*/
|
|
15
|
+
export interface RuleHints {
|
|
16
|
+
/** Predicate: is this file a test? Path is project-relative. */
|
|
17
|
+
readonly isTestFile?: (filePathProjectRel: string) => boolean;
|
|
18
|
+
/** Globs treated as generated code. */
|
|
19
|
+
readonly generatedFilePatterns?: readonly string[];
|
|
20
|
+
/** Side-effect primitives — fully-qualified names (e.g. 'fs.writeFileSync'). */
|
|
21
|
+
readonly sideEffectPrimitives?: readonly string[];
|
|
22
|
+
/** Throw-statement detection regex for `always-throws-branch`. */
|
|
23
|
+
readonly throwSyntaxRegex?: RegExp;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* @fileoverview Core type shapes for the graph tool's six-stage pipeline.
|
|
27
|
+
*
|
|
28
|
+
* Stage 1 (inventory) emits a Catalog of FunctionOccurrence entries with
|
|
29
|
+
* empty `calls`. Stage 2 (edges) populates `calls` with CallEdge entries
|
|
30
|
+
* that reference back into the catalog by bodyHash. Stage 3 (indexes)
|
|
31
|
+
* produces forward/reverse maps over the catalog.
|
|
32
|
+
*
|
|
33
|
+
* These types are immutable. Every consumer treats them as frozen data;
|
|
34
|
+
* the dep-cruiser and fitness checks (graph-stage-output-immutability)
|
|
35
|
+
* assert this at build time.
|
|
36
|
+
*
|
|
37
|
+
* Per spec §2.2 / §2.4. The catalog is the authority for ids: every
|
|
38
|
+
* CallEdge.to is a bodyHash that already exists in the catalog.
|
|
39
|
+
*/
|
|
40
|
+
export type FunctionKind = 'function-declaration' | 'function-expression' | 'arrow' | 'method' | 'constructor' | 'getter' | 'setter' | 'module-init';
|
|
41
|
+
/**
|
|
42
|
+
* How a call edge was resolved (static dispatch, method dispatch, JSX, etc.).
|
|
43
|
+
*
|
|
44
|
+
* `'syntactic'` is the fast-mode tag: the edge was resolved from the callee's
|
|
45
|
+
* name plus the file's import graph WITHOUT the type checker. It is always
|
|
46
|
+
* approximate — fast-mode edges carry capped confidence (never `'high'`) so
|
|
47
|
+
* consumers can distinguish them from semantic (`exact`-mode) edges.
|
|
48
|
+
*
|
|
49
|
+
* `'semantic'` is the cross-shard linker tag: the edge was recovered by the
|
|
50
|
+
* Phase-2 boundary resolver, which links a bare/workspace import specifier +
|
|
51
|
+
* callee name to a UNIQUE exported occurrence in the imported package's export
|
|
52
|
+
* symbol table — exactly what the type checker would conclude. It is a resolved
|
|
53
|
+
* edge (high confidence) and is NOT import-constrained downstream (the linker
|
|
54
|
+
* already proved reachability by construction). The resolver declines (emits no
|
|
55
|
+
* edge) on any ambiguity, so a `'semantic'` edge is never a name-only guess.
|
|
56
|
+
*/
|
|
57
|
+
export type CallResolution = 'static' | 'method-dispatch' | 'jsx' | 'constructor' | 'unknown' | 'dynamic-string' | 'syntactic' | 'semantic';
|
|
58
|
+
/** Resolver confidence in a call edge: high (one body), medium (few), low (many or partial). */
|
|
59
|
+
export type CallConfidence = 'high' | 'medium' | 'low';
|
|
60
|
+
/**
|
|
61
|
+
* Call-graph resolution tier. `exact` = semantic (type-checker-backed),
|
|
62
|
+
* the default that preserves historical behavior; `fast` = syntactic
|
|
63
|
+
* (name + import-graph), no type checker — bounded accuracy for a large
|
|
64
|
+
* cold-build speedup on monorepos.
|
|
65
|
+
*/
|
|
66
|
+
export type ResolutionMode = 'exact' | 'fast';
|
|
67
|
+
/** Function visibility tier: exported from module, module-local, or class-private. */
|
|
68
|
+
export type Visibility = 'exported' | 'module-local' | 'private';
|
|
69
|
+
/** A function parameter descriptor: name, optionality, and rest-arg flag. */
|
|
70
|
+
export interface Param {
|
|
71
|
+
readonly name: string;
|
|
72
|
+
readonly optional: boolean;
|
|
73
|
+
readonly rest: boolean;
|
|
74
|
+
}
|
|
75
|
+
/** A resolved call from one function to another. Populated by stage 2. */
|
|
76
|
+
export interface CallEdge {
|
|
77
|
+
/** bodyHash[] — one for static, many for polymorphic, empty for unresolved. */
|
|
78
|
+
readonly to: readonly string[];
|
|
79
|
+
readonly line: number;
|
|
80
|
+
readonly column: number;
|
|
81
|
+
readonly resolution: CallResolution;
|
|
82
|
+
readonly confidence: CallConfidence;
|
|
83
|
+
/** Raw call expression text, truncated to ≤ 80 chars. */
|
|
84
|
+
readonly text: string;
|
|
85
|
+
/**
|
|
86
|
+
* True when the call expression appears as an ExpressionStatement
|
|
87
|
+
* (its return value is discarded). Used by `no-side-effect-path` to
|
|
88
|
+
* distinguish "pure helper called for its return value" (correct)
|
|
89
|
+
* from "pure helper called for nothing" (dead computation).
|
|
90
|
+
* Optional for forward-compatibility with pre-discard catalogs.
|
|
91
|
+
*/
|
|
92
|
+
readonly discarded?: boolean;
|
|
93
|
+
/**
|
|
94
|
+
* True when this edge was recovered by the cross-shard boundary pass
|
|
95
|
+
* (a sharded build) rather than resolved within a single shard. A
|
|
96
|
+
* recovered `crossShard` edge is `resolution: 'semantic'` — the boundary
|
|
97
|
+
* linker proved the import specifier + callee name resolve to a UNIQUE
|
|
98
|
+
* exported occurrence in the imported package (the same conclusion the type
|
|
99
|
+
* checker reaches), so it is a high-confidence resolved edge. The linker
|
|
100
|
+
* DECLINES on ambiguity rather than guessing, so a `crossShard` edge is never
|
|
101
|
+
* a name-only match. Lets consumers reason about boundary edges (e.g. "the
|
|
102
|
+
* cross-package edges came from the linker, not a single shard").
|
|
103
|
+
* Omitted/false for intra-shard edges; optional for forward-compat.
|
|
104
|
+
*/
|
|
105
|
+
readonly crossShard?: boolean;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* A resolved module-level dependency edge — an `import` / `from … import` /
|
|
109
|
+
* `require` / `use` statement from one source file to another (or to an
|
|
110
|
+
* external package the catalog doesn't track). Attached to module-init
|
|
111
|
+
* occurrences only.
|
|
112
|
+
*
|
|
113
|
+
* Phase 4 of opensip's substrate consolidation (DEC-498) — preserves the
|
|
114
|
+
* `depends_on` edge kind required by opensip's
|
|
115
|
+
* `dependencyEdgesBetweenModules` query, which dispatch ticket grouping
|
|
116
|
+
* and review-panel blast-radius depend on.
|
|
117
|
+
*
|
|
118
|
+
* `to.length === 0` means the import target is outside the catalog
|
|
119
|
+
* (typically an external npm/PyPI/crates.io package). `specifier`
|
|
120
|
+
* preserves the raw import string so unresolved edges remain traceable.
|
|
121
|
+
*/
|
|
122
|
+
export interface DependencyEdge {
|
|
123
|
+
/** bodyHash[] of the target module-init occurrence(s). Empty when the
|
|
124
|
+
* import resolves to a module outside the catalog (external package). */
|
|
125
|
+
readonly to: readonly string[];
|
|
126
|
+
/** 1-based line of the import / require / use statement. */
|
|
127
|
+
readonly line: number;
|
|
128
|
+
/** 0-based column. */
|
|
129
|
+
readonly column: number;
|
|
130
|
+
/** The raw import specifier — `'./foo'`, `'@opensip/core'`, `'os.path'`,
|
|
131
|
+
* `'std::collections'`, etc. Preserved for unresolved-edge attribution. */
|
|
132
|
+
readonly specifier: string;
|
|
133
|
+
}
|
|
134
|
+
/** A single callable function or method, by simple name + per-occurrence record. */
|
|
135
|
+
export interface FunctionOccurrence {
|
|
136
|
+
/** sha256(normalized body) — the primary identifier. */
|
|
137
|
+
readonly bodyHash: string;
|
|
138
|
+
/**
|
|
139
|
+
* Length of the normalized body in characters (comments stripped,
|
|
140
|
+
* whitespace collapsed). Used by `duplicated-function-body` to skip
|
|
141
|
+
* trivial wrapper bodies whose duplication is not actionable.
|
|
142
|
+
* Optional for forward-compatibility with pre-bodySize catalogs;
|
|
143
|
+
* absent values are treated as "passes the threshold."
|
|
144
|
+
*/
|
|
145
|
+
readonly bodySize?: number;
|
|
146
|
+
/** "saveBaseline", "<arrow:gate.ts:42:7>", "<module-init:gate.ts>". */
|
|
147
|
+
readonly simpleName: string;
|
|
148
|
+
/** "fitness/engine/src/gate.saveBaseline" — for human display. */
|
|
149
|
+
readonly qualifiedName: string;
|
|
150
|
+
/** Project-relative path. */
|
|
151
|
+
readonly filePath: string;
|
|
152
|
+
/**
|
|
153
|
+
* The package this occurrence belongs to — the `name` of its nearest
|
|
154
|
+
* enclosing `package.json`, else the top-level path segment. Assigned by
|
|
155
|
+
* `assignPackages` at build time so consumers (coupling grid, edge
|
|
156
|
+
* constraint) bucket by real package boundary, not a path heuristic.
|
|
157
|
+
* Optional for forward-compat; absent ⇒ derive from `filePath`.
|
|
158
|
+
*/
|
|
159
|
+
readonly package?: string;
|
|
160
|
+
/** 1-based line where the function declaration begins. */
|
|
161
|
+
readonly line: number;
|
|
162
|
+
/** 0-based column. */
|
|
163
|
+
readonly column: number;
|
|
164
|
+
readonly endLine: number;
|
|
165
|
+
readonly kind: FunctionKind;
|
|
166
|
+
readonly params: readonly Param[];
|
|
167
|
+
readonly returnType: string | null;
|
|
168
|
+
readonly enclosingClass: string | null;
|
|
169
|
+
readonly decorators: readonly string[];
|
|
170
|
+
readonly visibility: Visibility;
|
|
171
|
+
readonly inTestFile: boolean;
|
|
172
|
+
readonly definedInGenerated: boolean;
|
|
173
|
+
/** Populated by stage 2. Empty after stage 1. */
|
|
174
|
+
readonly calls: readonly CallEdge[];
|
|
175
|
+
/**
|
|
176
|
+
* Module-level depends-on edges. Only populated on `module-init`
|
|
177
|
+
* occurrences (one per file); absent on all other occurrence kinds.
|
|
178
|
+
* Optional for forward-compatibility with pre-Phase-4 catalogs on
|
|
179
|
+
* disk — absent values are treated as "no dependencies emitted by
|
|
180
|
+
* this adapter."
|
|
181
|
+
*
|
|
182
|
+
* Phase 4 of opensip's substrate consolidation (DEC-498). The opensip
|
|
183
|
+
* catalog-json renderer emits these as `edge_kind: 'depends_on'` rows
|
|
184
|
+
* for opensip's `dependencyEdgesBetweenModules` query.
|
|
185
|
+
*/
|
|
186
|
+
readonly dependencies?: readonly DependencyEdge[];
|
|
187
|
+
}
|
|
188
|
+
/** Stage 1's parse-error record (e.g., file unparseable; reported but does not abort the run). */
|
|
189
|
+
export interface ParseError {
|
|
190
|
+
readonly filePath: string;
|
|
191
|
+
readonly message: string;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* A call site a shard worker could NOT resolve within its own files —
|
|
195
|
+
* the callee name is not among the shard's own occurrences. Plain,
|
|
196
|
+
* JSON-safe data (no AST): the cross-shard pass re-resolves these against
|
|
197
|
+
* the global merged catalog + import graph, syntactically.
|
|
198
|
+
*
|
|
199
|
+
* Emitted by an adapter's `resolveCallSites` when `emitBoundaryCalls` is
|
|
200
|
+
* set (only the adapter can extract a callee name from its AST), and
|
|
201
|
+
* carried across the worker boundary inside a `ShardBuildResult`.
|
|
202
|
+
*/
|
|
203
|
+
export interface CrossBoundaryCall {
|
|
204
|
+
/** bodyHash of the enclosing function (an occurrence in this shard's fragment). */
|
|
205
|
+
readonly ownerHash: string;
|
|
206
|
+
/**
|
|
207
|
+
* Project-relative file path of the owning occurrence — byte-identical to its
|
|
208
|
+
* `FunctionOccurrence.filePath` (posix-normalized, as the walk emits it). The
|
|
209
|
+
* cross-shard merge keys/stitches edges by `ownerEdgeKey(ownerHash, ownerFile)`
|
|
210
|
+
* — NOT by `ownerHash` alone — so body-twins (identical bodies in different
|
|
211
|
+
* files) never smear each other's edges (ADR-0003). It is ALSO the directory
|
|
212
|
+
* the cross-shard linker resolves a relative import specifier against (the
|
|
213
|
+
* owner's actual file, not a last-writer-wins `bodyHash→file` guess).
|
|
214
|
+
*/
|
|
215
|
+
readonly ownerFile: string;
|
|
216
|
+
/** Syntactic callee simple name (`foo` in `foo()`, rightmost in `a.b.c()`). */
|
|
217
|
+
readonly calleeName: string;
|
|
218
|
+
/** The raw import specifier the name came from, if imported (`'./x.js'`, `'@scope/pkg'`). */
|
|
219
|
+
readonly importSpecifier?: string;
|
|
220
|
+
/**
|
|
221
|
+
* Type-attested target SOURCE file (project-relative) for a cross-package
|
|
222
|
+
* METHOD call `recv.m()` — the package's published `dist/*.d.ts` decl the
|
|
223
|
+
* checker resolved `m` to, mapped to its source. Set INSTEAD of
|
|
224
|
+
* `importSpecifier` (a method name is not an imported binding). The linker pins
|
|
225
|
+
* by (`targetFile` + `calleeName`) against the merged catalog, so cross-package
|
|
226
|
+
* methods resolve through the SAME post-merge linker as cross-package functions
|
|
227
|
+
* — identically in both engines (exact's inline pass declines them under the
|
|
228
|
+
* intra-package pin restriction, so both route here).
|
|
229
|
+
*/
|
|
230
|
+
readonly targetFile?: string;
|
|
231
|
+
/** 1-based line of the call site. */
|
|
232
|
+
readonly line: number;
|
|
233
|
+
/** 0-based column. */
|
|
234
|
+
readonly column: number;
|
|
235
|
+
/** Truncated call-expression text for display (≤ 80 chars, the CallEdge.text contract). */
|
|
236
|
+
readonly text: string;
|
|
237
|
+
/**
|
|
238
|
+
* True when the call's return value is discarded (ExpressionStatement).
|
|
239
|
+
* Carried so the recovered cross-shard CallEdge preserves the `discarded`
|
|
240
|
+
* flag that `no-side-effect-path` relies on.
|
|
241
|
+
*/
|
|
242
|
+
readonly discarded?: boolean;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* A name one module re-exports from another, normalized to the data the
|
|
246
|
+
* cross-package export index needs to make a re-exported name resolvable under
|
|
247
|
+
* the RE-EXPORTING package (not just its defining package). Captured by the
|
|
248
|
+
* language adapter's walk (TS: `export … from 'spec'` and the import-then-
|
|
249
|
+
* re-export idiom `export { x }`), carried on the catalog so the engine's
|
|
250
|
+
* cross-shard linker — which builds its index from the MERGED catalog — can
|
|
251
|
+
* follow re-export chains. Pure data (no AST handles); round-trips cache + merge.
|
|
252
|
+
*/
|
|
253
|
+
export interface ReExportRecord {
|
|
254
|
+
/** Re-exporting file, project-relative POSIX (→ `packageOf` gives the group). */
|
|
255
|
+
readonly fromFile: string;
|
|
256
|
+
/** The name as exposed BY this module. `'*'` for `export * from`. */
|
|
257
|
+
readonly exportedName: string;
|
|
258
|
+
/** The name in the SOURCE module (== `exportedName` unless aliased; `'*'` for star). */
|
|
259
|
+
readonly sourceName: string;
|
|
260
|
+
/** The source module specifier — relative (`'./x'`) or workspace (`'@scope/pkg'`). */
|
|
261
|
+
readonly specifier: string;
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* The catalog: functions keyed by simple name. Multiple occurrences
|
|
265
|
+
* per name.
|
|
266
|
+
*
|
|
267
|
+
* v3 — generic over language. The language-pluggability work replaced
|
|
268
|
+
* the v2 fields `tsConfigPath` and `tsCompilerVersion` with adapter-supplied
|
|
269
|
+
* `language` (the registered adapter id) and `cacheKey` (an opaque
|
|
270
|
+
* per-adapter invalidation key). v2 catalogs on disk return
|
|
271
|
+
* `{ kind: 'invalid', reason: 'version-mismatch' }` from
|
|
272
|
+
* `classifyCatalog`, so users see exactly one cold rebuild.
|
|
273
|
+
*/
|
|
274
|
+
export interface Catalog {
|
|
275
|
+
readonly version: '3.0';
|
|
276
|
+
readonly tool: 'graph';
|
|
277
|
+
/** Adapter id — currently always 'typescript'; future adapters add their own. */
|
|
278
|
+
readonly language: string;
|
|
279
|
+
readonly builtAt: string;
|
|
280
|
+
/**
|
|
281
|
+
* Opaque per-adapter cache invalidation key. The TypeScript adapter
|
|
282
|
+
* sets `ts-${ts.version}-${tsconfigContentHash}`. Different adapters
|
|
283
|
+
* MUST emit different prefixes so cross-adapter accidents (e.g. a
|
|
284
|
+
* Python catalog read by the TS adapter) hash-mismatch immediately.
|
|
285
|
+
*/
|
|
286
|
+
readonly cacheKey: string;
|
|
287
|
+
/**
|
|
288
|
+
* Concatenated fingerprint of the source files at build time
|
|
289
|
+
* (mtime + size per file). Used by cache invalidation; absence
|
|
290
|
+
* means "this catalog was built before fingerprinting landed,"
|
|
291
|
+
* which invalidates the catalog conservatively.
|
|
292
|
+
*/
|
|
293
|
+
readonly filesFingerprint?: string;
|
|
294
|
+
/**
|
|
295
|
+
* The resolution tier that produced this catalog. `'exact'` =
|
|
296
|
+
* semantic (type-checker-backed); `'fast'` = syntactic (approximate).
|
|
297
|
+
* Optional for forward-compatibility: catalogs persisted before fast
|
|
298
|
+
* mode landed have no marker, and **absence is interpreted as
|
|
299
|
+
* `'exact'`** (the historical behavior). Consumers that need to know
|
|
300
|
+
* whether edges are approximate read this field.
|
|
301
|
+
*/
|
|
302
|
+
readonly resolutionMode?: ResolutionMode;
|
|
303
|
+
readonly functions: Readonly<Record<string, readonly FunctionOccurrence[]>>;
|
|
304
|
+
/**
|
|
305
|
+
* Re-export facts captured at walk time (see {@link ReExportRecord}). Present
|
|
306
|
+
* when the adapter emits them; consumed by `buildExportIndex` to resolve a
|
|
307
|
+
* name imported from the package that RE-EXPORTS it (the re-export-chain
|
|
308
|
+
* class). Optional so pre-feature catalogs and non-emitting adapters
|
|
309
|
+
* typecheck; absence means "no re-export following for this catalog."
|
|
310
|
+
*/
|
|
311
|
+
readonly reExports?: readonly ReExportRecord[];
|
|
312
|
+
/**
|
|
313
|
+
* Derived feature columns materialized for the decoupled dashboard
|
|
314
|
+
* (ADR-0006): present ONLY when the producing run requested columns via
|
|
315
|
+
* `emitFeatures`. A default run persists no features. Optional so pre-
|
|
316
|
+
* feature catalogs and external callers typecheck, and so the plain
|
|
317
|
+
* widening to `GraphCatalog` stays cast-free.
|
|
318
|
+
*/
|
|
319
|
+
readonly features?: PersistedFeatures;
|
|
320
|
+
}
|
|
321
|
+
/** O(1) lookups derived from the catalog. Not persisted. */
|
|
322
|
+
export interface Indexes {
|
|
323
|
+
readonly byBodyHash: ReadonlyMap<string, FunctionOccurrence>;
|
|
324
|
+
/**
|
|
325
|
+
* Per-occurrence id (`${filePath}:${line}:${column}`) → the occurrence at that
|
|
326
|
+
* source location. Unlike `byBodyHash` (a CONTENT hash that collapses
|
|
327
|
+
* body-twins across packages into one node), an occId is unique per
|
|
328
|
+
* occurrence, so the SCC/cycle feature can key its graph by occurrence and
|
|
329
|
+
* never collapse two distinct functions with identical bodies. Consumed by
|
|
330
|
+
* `computeSccs` (node identity) and `rules/cycle.ts` (member resolution).
|
|
331
|
+
*/
|
|
332
|
+
readonly byOccId: ReadonlyMap<string, FunctionOccurrence>;
|
|
333
|
+
/**
|
|
334
|
+
* bodyHash → ALL occurrences sharing that body. Unlike `byBodyHash`
|
|
335
|
+
* (one occurrence per hash, content-dedup), this preserves every
|
|
336
|
+
* occurrence so a callee whose body is duplicated across packages can be
|
|
337
|
+
* disambiguated to the correct package. Consumed by `resolveCallee`.
|
|
338
|
+
*/
|
|
339
|
+
readonly occurrencesByHash: ReadonlyMap<string, readonly FunctionOccurrence[]>;
|
|
340
|
+
/**
|
|
341
|
+
* Project-relative filePath → set of package groups that file's module
|
|
342
|
+
* imports (derived from the file's module-init `dependencies[]` resolved
|
|
343
|
+
* to packages). Empty for files with no resolved imports — and empty in
|
|
344
|
+
* `fast` mode, where `dependencies[]` is not populated. Lets
|
|
345
|
+
* `resolveCallee` constrain a duplicated-body callee to a package the
|
|
346
|
+
* caller actually depends on.
|
|
347
|
+
*/
|
|
348
|
+
readonly importedPackagesByFile: ReadonlyMap<string, ReadonlySet<string>>;
|
|
349
|
+
readonly bySimpleName: ReadonlyMap<string, readonly string[]>;
|
|
350
|
+
/** bodyHash → bodyHash[] (forward). */
|
|
351
|
+
readonly callees: ReadonlyMap<string, readonly string[]>;
|
|
352
|
+
/** bodyHash → bodyHash[] (reverse). */
|
|
353
|
+
readonly callers: ReadonlyMap<string, readonly string[]>;
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* Blast radius for one function: how much of the graph a change here can
|
|
357
|
+
* ripple through, via a bounded reverse BFS over the callers adjacency.
|
|
358
|
+
* `direct` = the function's direct callers; `transitive` = set-deduped
|
|
359
|
+
* callers reached at depth 2..5; `score = direct + 0.5 × transitive`
|
|
360
|
+
* (verbatim from the dashboard's former `code-paths/indexes.ts`).
|
|
361
|
+
*/
|
|
362
|
+
export interface BlastScore {
|
|
363
|
+
readonly direct: number;
|
|
364
|
+
readonly transitive: number;
|
|
365
|
+
readonly score: number;
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* Per-function feature columns, keyed by `bodyHash`. `bodyLines` is always
|
|
369
|
+
* present when the `function` grain is computed; every other column is
|
|
370
|
+
* optional because it is populated only when its driving `FeatureColumn`
|
|
371
|
+
* was requested (lazy/needed-only).
|
|
372
|
+
*/
|
|
373
|
+
export interface FunctionFeatures {
|
|
374
|
+
/** `endLine − line + 1` of the `byBodyHash` winner occurrence. The
|
|
375
|
+
* canonical home for the span formula the dup-body / no-side-effect
|
|
376
|
+
* rules used to inline. */
|
|
377
|
+
readonly bodyLines: number;
|
|
378
|
+
/** Blast radius (depth-5 reverse BFS). Present only when `'blast'` was
|
|
379
|
+
* requested. */
|
|
380
|
+
readonly blast?: BlastScore;
|
|
381
|
+
/** True when the function is reachable from an inferred entry point
|
|
382
|
+
* (BFS over `callees` from `inferEntryPoints` + `config.entryPointHashes`).
|
|
383
|
+
* Present only when `'reachableFromEntry'` was requested. */
|
|
384
|
+
readonly reachableFromEntry?: boolean;
|
|
385
|
+
/** True when the function is reachable from a NON-test (production) entry
|
|
386
|
+
* point. The companion flag the `test-only-reachable` rule reads alongside
|
|
387
|
+
* `reachableOnlyFromTests`. Present only when `'reachableOnlyFromTests'`
|
|
388
|
+
* was requested. */
|
|
389
|
+
readonly testReachable?: boolean;
|
|
390
|
+
/** True when the function has callers, is NOT reachable from any production
|
|
391
|
+
* entry point, and ALL of its callers live in test files (the
|
|
392
|
+
* `test-only-reachable` rule's reachability predicate). Present only when
|
|
393
|
+
* `'reachableOnlyFromTests'` was requested. */
|
|
394
|
+
readonly reachableOnlyFromTests?: boolean;
|
|
395
|
+
}
|
|
396
|
+
/**
|
|
397
|
+
* Per-package feature columns, keyed by package name. Both degrees count
|
|
398
|
+
* DISTINCT packages (self-edges included, matching the coupling matrix's
|
|
399
|
+
* diagonal). Populated only when `'packageCoupling'` was requested.
|
|
400
|
+
*/
|
|
401
|
+
export interface PackageFeatures {
|
|
402
|
+
/** Distinct callee packages this package calls into (incl. itself). */
|
|
403
|
+
readonly couplingOut: number;
|
|
404
|
+
/** Distinct caller packages that call into this package (incl. itself). */
|
|
405
|
+
readonly couplingIn: number;
|
|
406
|
+
}
|
|
407
|
+
/**
|
|
408
|
+
* One strongly-connected component of the call graph (Tarjan over an
|
|
409
|
+
* OCCURRENCE-level adjacency — nodes are occIds, edges `resolveCallee`-
|
|
410
|
+
* disambiguated). Singletons are included by the algorithm. `id` is
|
|
411
|
+
* member-derived and stable across runs so Plan D predicates and the dashboard
|
|
412
|
+
* cycle-grouping read a deterministic key. Populated only when `'scc'` was
|
|
413
|
+
* requested.
|
|
414
|
+
*
|
|
415
|
+
* Members are occIds (`${filePath}:${line}:${column}`), NOT bodyHashes:
|
|
416
|
+
* occurrence identity is package-unique, so two functions with identical bodies
|
|
417
|
+
* in different packages stay distinct nodes (no false cross-package phantom).
|
|
418
|
+
* Resolve a member to its occurrence via `Indexes.byOccId`.
|
|
419
|
+
*/
|
|
420
|
+
export interface SccFeatures {
|
|
421
|
+
/** `scc:${sortedMembers[0]}` — stable, member-derived (resolves the spec
|
|
422
|
+
* Open Question on the SCC id scheme). */
|
|
423
|
+
readonly id: string;
|
|
424
|
+
/** Member occIds (`${filePath}:${line}:${column}`), sorted (determinism). */
|
|
425
|
+
readonly members: readonly string[];
|
|
426
|
+
/** `members.length`. */
|
|
427
|
+
readonly sccSize: number;
|
|
428
|
+
/** True when the component's members span more than one distinct package. */
|
|
429
|
+
readonly crossesPackages: boolean;
|
|
430
|
+
}
|
|
431
|
+
/**
|
|
432
|
+
* One directed package-coupling edge — `count` static call edges from
|
|
433
|
+
* `callerPackage` into `calleePackage` (via the canonical `resolveCallee`
|
|
434
|
+
* disambiguation). Populated only when `'packageCoupling'` was requested.
|
|
435
|
+
*/
|
|
436
|
+
export interface PackageEdgeFeature {
|
|
437
|
+
readonly callerPackage: string;
|
|
438
|
+
readonly calleePackage: string;
|
|
439
|
+
readonly count: number;
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* Lazy column request. `buildFeatures` computes the UNION of the enabled
|
|
443
|
+
* rule set's declared `featureDeps` plus the caller's `emitFeatures`, and
|
|
444
|
+
* NOTHING else. Each column maps to the entity rows it populates:
|
|
445
|
+
* - `bodyLines` / `blast` / `reachableFromEntry` / `reachableOnlyFromTests`
|
|
446
|
+
* → `function` rows;
|
|
447
|
+
* - `packageCoupling` → `package` rows (`couplingOut`/`couplingIn`) AND
|
|
448
|
+
* `edge` rows (`count`) — one column, one pass;
|
|
449
|
+
* - `scc` → `scc` rows.
|
|
450
|
+
*/
|
|
451
|
+
export type FeatureColumn = 'bodyLines' | 'blast' | 'reachableFromEntry' | 'reachableOnlyFromTests' | 'packageCoupling' | 'scc';
|
|
452
|
+
/**
|
|
453
|
+
* The multi-entity feature table — derived from `Catalog` + `Indexes`,
|
|
454
|
+
* computed in `pipeline/features.ts`. A *plain view* by default (ADR-0006):
|
|
455
|
+
* rules consume it directly; only the dashboard columns are ever persisted,
|
|
456
|
+
* and only when requested. Each entity is empty when none of its driving
|
|
457
|
+
* columns were requested.
|
|
458
|
+
*/
|
|
459
|
+
export interface FeatureTable {
|
|
460
|
+
readonly function: ReadonlyMap<string, FunctionFeatures>;
|
|
461
|
+
readonly package: ReadonlyMap<string, PackageFeatures>;
|
|
462
|
+
readonly scc: readonly SccFeatures[];
|
|
463
|
+
readonly edge: readonly PackageEdgeFeature[];
|
|
464
|
+
}
|
|
465
|
+
/** JSON-safe mirror of `FunctionFeatures` (identical fields). */
|
|
466
|
+
export type PersistedFunctionFeatures = FunctionFeatures;
|
|
467
|
+
/**
|
|
468
|
+
* The only-when-needed materialized form persisted into the catalog JSON for
|
|
469
|
+
* the decoupled dashboard (ADR-0006). Maps become records; arrays pass
|
|
470
|
+
* through. Every entity is optional — only requested entities are present, so
|
|
471
|
+
* an empty request projects to `{}` and a lean default-run persists no blob.
|
|
472
|
+
*/
|
|
473
|
+
export interface PersistedFeatures {
|
|
474
|
+
readonly function?: Readonly<Record<string, PersistedFunctionFeatures>>;
|
|
475
|
+
readonly package?: Readonly<Record<string, PackageFeatures>>;
|
|
476
|
+
readonly scc?: readonly SccFeatures[];
|
|
477
|
+
readonly edge?: readonly PackageEdgeFeature[];
|
|
478
|
+
}
|
|
479
|
+
/**
|
|
480
|
+
* Flat-monorepo synthetic-partition strategy (flat-monorepo-strategy.ts).
|
|
481
|
+
* (A fourth 'community' Louvain strategy was prototyped and discarded by
|
|
482
|
+
* measurement — ADR-0045 B2; recoverable at tag
|
|
483
|
+
* `prototype/louvain-partitioning`.)
|
|
484
|
+
*/
|
|
485
|
+
export type PartitionStrategy = 'directory-depth' | 'file-count-chunks' | 'hybrid';
|
|
486
|
+
/** Per-rule and overall configuration knobs. */
|
|
487
|
+
export interface GraphConfig {
|
|
488
|
+
/** Minimum lines for a duplicated-function-body match (defaults: 5). */
|
|
489
|
+
readonly minDuplicateBodyLines?: number;
|
|
490
|
+
/**
|
|
491
|
+
* Minimum normalized body size (in characters) for a duplicated-
|
|
492
|
+
* function-body match. Filters out trivial pass-through wrappers
|
|
493
|
+
* whose duplication is structural, not actionable. Default: 200.
|
|
494
|
+
*/
|
|
495
|
+
readonly minDuplicateBodySize?: number;
|
|
496
|
+
/**
|
|
497
|
+
* Minimum number of DISTINCT packages a body hash must appear in to
|
|
498
|
+
* trigger the aggregate cross-package duplication signal for the
|
|
499
|
+
* duplicated-function-body rule. When a body hash qualifies here (and
|
|
500
|
+
* clears `minCrossPackageDuplicateBodySize`), the single aggregate signal
|
|
501
|
+
* is emitted and the per-instance signals for that hash are suppressed.
|
|
502
|
+
* Default: 3.
|
|
503
|
+
*/
|
|
504
|
+
readonly minCrossPackageDuplicatePackages?: number;
|
|
505
|
+
/**
|
|
506
|
+
* Normalized-body-size floor (chars) for the aggregate cross-package
|
|
507
|
+
* duplication path. Deliberately LIGHTER than `minDuplicateBodySize` (the
|
|
508
|
+
* per-instance floor) so the aggregate path keeps catching genuinely-small
|
|
509
|
+
* shared utilities copied across packages — its original purpose — while
|
|
510
|
+
* still dropping trivial bodies (empty DI-constructor shims, one-line
|
|
511
|
+
* getters, thin delegators) that are not consolidation targets. Unlike the
|
|
512
|
+
* per-instance path there is NO line floor here. Occurrences whose catalog
|
|
513
|
+
* predates `bodySize` skip this check. Default: 80.
|
|
514
|
+
*/
|
|
515
|
+
readonly minCrossPackageDuplicateBodySize?: number;
|
|
516
|
+
/**
|
|
517
|
+
* Default recipe for `graph` runs when no `--recipe` flag is given (ADR-0022).
|
|
518
|
+
* Tool-scoped: this is the graph tool's recipe namespace, distinct from
|
|
519
|
+
* `fit.recipe` / `sim.recipe`. An unknown name here falls back to the built-in
|
|
520
|
+
* `default` recipe with a warning (config-sourced names are tolerant); an
|
|
521
|
+
* explicit `--recipe` typo still hard-fails.
|
|
522
|
+
*/
|
|
523
|
+
readonly recipe?: string;
|
|
524
|
+
/**
|
|
525
|
+
* Flat-large synthetic-partition strategy override. Absent → the
|
|
526
|
+
* layout-recommended default ('hybrid').
|
|
527
|
+
*/
|
|
528
|
+
readonly partitionStrategy?: PartitionStrategy;
|
|
529
|
+
/** Override the inferred entry-point list. */
|
|
530
|
+
readonly entryPointHashes?: readonly string[];
|
|
531
|
+
/**
|
|
532
|
+
* `graph:orphan-subtree`: allow flagging exported, zero-caller functions
|
|
533
|
+
* as orphans. Default `false` — public surface is not "dead" merely
|
|
534
|
+
* because it lacks an in-project caller (it may be consumed across a
|
|
535
|
+
* package boundary the call graph cannot resolve). Enable only for repos
|
|
536
|
+
* with trustworthy cross-package call resolution.
|
|
537
|
+
*/
|
|
538
|
+
readonly flagExportedOrphans?: boolean;
|
|
539
|
+
/**
|
|
540
|
+
* `graph:orphan-subtree`: allow flagging functions declared in test
|
|
541
|
+
* files as orphans. Default `false` — test-file reachability is the job
|
|
542
|
+
* of `graph:test-only-reachable`; flagging here would double-report and
|
|
543
|
+
* over-trigger on test-only helpers.
|
|
544
|
+
*/
|
|
545
|
+
readonly flagTestOrphans?: boolean;
|
|
546
|
+
/**
|
|
547
|
+
* `graph:large-function` warn-band threshold (in body lines). A function
|
|
548
|
+
* whose `bodyLines` exceeds this (but not the error threshold) emits a
|
|
549
|
+
* `medium` signal. In-rule default: 80.
|
|
550
|
+
*/
|
|
551
|
+
readonly largeFunctionWarnLines?: number;
|
|
552
|
+
/**
|
|
553
|
+
* `graph:large-function` error-band threshold (in body lines). A function
|
|
554
|
+
* whose `bodyLines` exceeds this emits a `high` signal. In-rule default: 150.
|
|
555
|
+
*/
|
|
556
|
+
readonly largeFunctionErrorLines?: number;
|
|
557
|
+
/**
|
|
558
|
+
* `graph:wide-function` warn-band threshold (parameter count). A function
|
|
559
|
+
* with more than this many params (but not more than the error threshold)
|
|
560
|
+
* emits a `medium` signal. In-rule default: 4.
|
|
561
|
+
*/
|
|
562
|
+
readonly wideFunctionWarnParams?: number;
|
|
563
|
+
/**
|
|
564
|
+
* `graph:wide-function` error-band threshold (parameter count). A function
|
|
565
|
+
* with more than this many params emits a `high` signal. In-rule default: 7.
|
|
566
|
+
*/
|
|
567
|
+
readonly wideFunctionErrorParams?: number;
|
|
568
|
+
/**
|
|
569
|
+
* `graph:high-blast-untested` warn-band threshold — the minimum
|
|
570
|
+
* `blast.score` (an **ABSOLUTE** count, never a percentile — ADR-0001) for an
|
|
571
|
+
* untested function to emit a `medium` signal. In-rule default: 8.
|
|
572
|
+
*/
|
|
573
|
+
readonly highBlastWarnThreshold?: number;
|
|
574
|
+
/**
|
|
575
|
+
* `graph:high-blast-untested` error-band threshold — the minimum
|
|
576
|
+
* `blast.score` (an **ABSOLUTE** count, never a percentile — ADR-0001) for an
|
|
577
|
+
* untested function to emit a `high` signal. In-rule default: 20.
|
|
578
|
+
*/
|
|
579
|
+
readonly highBlastErrorThreshold?: number;
|
|
580
|
+
/**
|
|
581
|
+
* `graph:cycle` minimum SCC size that emits a `medium` signal. A
|
|
582
|
+
* strongly-connected component with `sccSize >= cycleMinSize` (and not
|
|
583
|
+
* crossing packages, which always wins `high`) emits `medium`. The size-2
|
|
584
|
+
* band is gated separately by `cycleSize2Severity`. In-rule default: 3.
|
|
585
|
+
*/
|
|
586
|
+
readonly cycleMinSize?: number;
|
|
587
|
+
/**
|
|
588
|
+
* `graph:cycle` posture for the size-2 band (a 2-member cycle, often
|
|
589
|
+
* legitimate mutual recursion). `'off'` → no signal; `'low'` → a `low`
|
|
590
|
+
* signal. In-rule default: `'off'` (ADR-0001 / Open Question #6).
|
|
591
|
+
*/
|
|
592
|
+
readonly cycleSize2Severity?: 'off' | 'low';
|
|
593
|
+
/** Per-rule severity overrides. */
|
|
594
|
+
readonly severityOverrides?: Readonly<Record<string, 'error' | 'warning'>>;
|
|
595
|
+
}
|
|
596
|
+
/** Resolution-stat counters returned alongside the catalog by stage 2. */
|
|
597
|
+
export interface ResolutionStats {
|
|
598
|
+
readonly totalCallSites: number;
|
|
599
|
+
readonly resolvedHigh: number;
|
|
600
|
+
readonly resolvedMedium: number;
|
|
601
|
+
readonly resolvedLow: number;
|
|
602
|
+
readonly unresolved: number;
|
|
603
|
+
}
|
|
604
|
+
/** Verdict produced by an edge resolver — pre-CallEdge shape. */
|
|
605
|
+
export interface ResolverVerdict {
|
|
606
|
+
readonly to: readonly string[];
|
|
607
|
+
readonly resolution: CallResolution;
|
|
608
|
+
readonly confidence: CallConfidence;
|
|
609
|
+
}
|
|
610
|
+
/**
|
|
611
|
+
* A rule consumes frozen catalog/indexes/config and returns Signals.
|
|
612
|
+
*
|
|
613
|
+
* The fourth parameter `hints` carries the active language adapter's
|
|
614
|
+
* `RuleHints` (side-effect primitives, throw-syntax regex, test-file
|
|
615
|
+
* predicate, generated-file globs). It is optional so test code may
|
|
616
|
+
* still invoke `rule.evaluate(catalog, indexes, config)` without
|
|
617
|
+
* threading hints through. Rules that don't need hints can ignore it;
|
|
618
|
+
* rules that do consult hints MUST also implement a TypeScript-shaped
|
|
619
|
+
* fallback so the rule degrades gracefully when an adapter does not
|
|
620
|
+
* supply the relevant hint (per the graph rules-and-gating fidelity
|
|
621
|
+
* matrix).
|
|
622
|
+
*
|
|
623
|
+
* The fifth parameter `features` (Plan C) carries the engine-computed
|
|
624
|
+
* `FeatureTable` — the columns a rule declares via `featureDeps`. Like
|
|
625
|
+
* `hints`, it is optional so test code may call `rule.evaluate(catalog,
|
|
626
|
+
* indexes, config)` (3-arg) or `(…, hints)` (4-arg) without threading
|
|
627
|
+
* features. A rule that reads a column MUST degrade gracefully (recompute
|
|
628
|
+
* locally) when `features` is absent.
|
|
629
|
+
*/
|
|
630
|
+
export interface Rule {
|
|
631
|
+
/** Rule slug, e.g. "graph:orphan-subtree". Must start with "graph:". */
|
|
632
|
+
readonly slug: string;
|
|
633
|
+
readonly defaultSeverity: 'error' | 'warning';
|
|
634
|
+
/**
|
|
635
|
+
* Feature columns this rule reads. The features stage computes the UNION
|
|
636
|
+
* of every enabled rule's deps (+ the caller's `emitFeatures`) and nothing
|
|
637
|
+
* else — lazy/needed-only. Absent ⇒ this rule reads no features.
|
|
638
|
+
*/
|
|
639
|
+
readonly featureDeps?: readonly FeatureColumn[];
|
|
640
|
+
readonly evaluate: (catalog: Catalog, indexes: Indexes, config: GraphConfig, hints?: RuleHints, features?: FeatureTable) => readonly Signal[];
|
|
641
|
+
}
|
|
642
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|