@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":"graph.js","sourceRoot":"","sources":["../../src/cli/graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Heap-size preflight — auto-elevates Node's `--max-old-space-size`
|
|
3
|
+
* to match the repo's size before any heavy work runs.
|
|
4
|
+
*
|
|
5
|
+
* V8 fixes the heap cap at process startup; we can't change it
|
|
6
|
+
* mid-flight. So the only safe way to "auto-set" the heap is to
|
|
7
|
+
* re-exec the process with the right `NODE_OPTIONS` and let the
|
|
8
|
+
* child do the actual work. We guard re-exec with the
|
|
9
|
+
* `OPENSIP_HEAP_ELEVATED` sentinel so the child doesn't loop back into
|
|
10
|
+
* the preflight check.
|
|
11
|
+
*
|
|
12
|
+
* Policy:
|
|
13
|
+
* - >2500 source files → target 12288 MB cap
|
|
14
|
+
* - >1000 source files → target 8192 MB cap
|
|
15
|
+
* - otherwise → keep default (V8's ~4 GB)
|
|
16
|
+
*
|
|
17
|
+
* If total system RAM can't comfortably hold the elevated heap
|
|
18
|
+
* (heap + 2 GB OS headroom), we warn the user and continue at the
|
|
19
|
+
* current heap. The pressure monitor catches the impending OOM
|
|
20
|
+
* gracefully — better than tanking the whole machine into swap.
|
|
21
|
+
*/
|
|
22
|
+
export interface HeapTarget {
|
|
23
|
+
readonly fileThreshold: number;
|
|
24
|
+
readonly heapMb: number;
|
|
25
|
+
}
|
|
26
|
+
/** Heap targets in descending order of file threshold. */
|
|
27
|
+
export declare const HEAP_TARGETS: readonly HeapTarget[];
|
|
28
|
+
export interface PreflightInput {
|
|
29
|
+
readonly cwd: string;
|
|
30
|
+
/** Optional override for the adapter's config-file path. */
|
|
31
|
+
readonly configPathOverride?: string;
|
|
32
|
+
/**
|
|
33
|
+
* When true, print the human-facing "elevating heap" line to stderr. Off
|
|
34
|
+
* by default: the elevation is silent unless `graph --verbose` asked for
|
|
35
|
+
* detail. The structured `graph.heap.preflight.elevate` log is emitted
|
|
36
|
+
* either way, so telemetry / log consumers lose nothing when it's off.
|
|
37
|
+
*/
|
|
38
|
+
readonly verbose?: boolean;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Decide the target heap (in MB) for a given file count, or `null` if
|
|
42
|
+
* the default V8 heap is sufficient.
|
|
43
|
+
*/
|
|
44
|
+
export declare function decideHeapTargetMb(fileCount: number): number | null;
|
|
45
|
+
/** Total system RAM in MB. */
|
|
46
|
+
export declare function totalSystemMemoryMb(): number;
|
|
47
|
+
/**
|
|
48
|
+
* Whether the system has room for a heap of `targetMb` plus
|
|
49
|
+
* `OS_HEADROOM_MB` for everything else.
|
|
50
|
+
*/
|
|
51
|
+
export declare function systemHasMemoryFor(targetMb: number): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Run preflight. Returns `false` to indicate the caller should
|
|
54
|
+
* continue normally; `true` means we are re-execing and the caller
|
|
55
|
+
* should not proceed (process will exit shortly via the spawned child).
|
|
56
|
+
*
|
|
57
|
+
* The promise that resolves to `true` actually never resolves in
|
|
58
|
+
* practice — the parent process exits when the child does. But TS
|
|
59
|
+
* needs a return type for callers that want to short-circuit.
|
|
60
|
+
*/
|
|
61
|
+
export declare function runHeapPreflight(input: PreflightInput): Promise<boolean>;
|
|
62
|
+
//# sourceMappingURL=heap-preflight.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heap-preflight.d.ts","sourceRoot":"","sources":["../../src/cli/heap-preflight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAcH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,0DAA0D;AAC1D,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EAG7C,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKnE;AAWD,8BAA8B;AAC9B,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CA0D9E"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Heap-size preflight — auto-elevates Node's `--max-old-space-size`
|
|
3
|
+
* to match the repo's size before any heavy work runs.
|
|
4
|
+
*
|
|
5
|
+
* V8 fixes the heap cap at process startup; we can't change it
|
|
6
|
+
* mid-flight. So the only safe way to "auto-set" the heap is to
|
|
7
|
+
* re-exec the process with the right `NODE_OPTIONS` and let the
|
|
8
|
+
* child do the actual work. We guard re-exec with the
|
|
9
|
+
* `OPENSIP_HEAP_ELEVATED` sentinel so the child doesn't loop back into
|
|
10
|
+
* the preflight check.
|
|
11
|
+
*
|
|
12
|
+
* Policy:
|
|
13
|
+
* - >2500 source files → target 12288 MB cap
|
|
14
|
+
* - >1000 source files → target 8192 MB cap
|
|
15
|
+
* - otherwise → keep default (V8's ~4 GB)
|
|
16
|
+
*
|
|
17
|
+
* If total system RAM can't comfortably hold the elevated heap
|
|
18
|
+
* (heap + 2 GB OS headroom), we warn the user and continue at the
|
|
19
|
+
* current heap. The pressure monitor catches the impending OOM
|
|
20
|
+
* gracefully — better than tanking the whole machine into swap.
|
|
21
|
+
*/
|
|
22
|
+
import { spawn } from 'node:child_process';
|
|
23
|
+
import os from 'node:os';
|
|
24
|
+
import v8 from 'node:v8';
|
|
25
|
+
import { logger } from '@opensip-cli/core';
|
|
26
|
+
import { pickAdapter } from '../lang-adapter/registry.js';
|
|
27
|
+
const SENTINEL_ENV = 'OPENSIP_HEAP_ELEVATED';
|
|
28
|
+
const OS_HEADROOM_MB = 2048; // RAM we keep available for the OS + other apps.
|
|
29
|
+
const BYTES_PER_MB = 1024 * 1024;
|
|
30
|
+
/** Heap targets in descending order of file threshold. */
|
|
31
|
+
export const HEAP_TARGETS = [
|
|
32
|
+
{ fileThreshold: 2500, heapMb: 12_288 },
|
|
33
|
+
{ fileThreshold: 1000, heapMb: 8192 },
|
|
34
|
+
];
|
|
35
|
+
/**
|
|
36
|
+
* Decide the target heap (in MB) for a given file count, or `null` if
|
|
37
|
+
* the default V8 heap is sufficient.
|
|
38
|
+
*/
|
|
39
|
+
export function decideHeapTargetMb(fileCount) {
|
|
40
|
+
for (const target of HEAP_TARGETS) {
|
|
41
|
+
if (fileCount > target.fileThreshold)
|
|
42
|
+
return target.heapMb;
|
|
43
|
+
}
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Current V8 heap cap in MB. Reads from `v8.getHeapStatistics()` so it
|
|
48
|
+
* reflects whatever `--max-old-space-size` was set to at boot (including
|
|
49
|
+
* the default).
|
|
50
|
+
*/
|
|
51
|
+
function currentHeapLimitMb() {
|
|
52
|
+
return Math.round(v8.getHeapStatistics().heap_size_limit / BYTES_PER_MB);
|
|
53
|
+
}
|
|
54
|
+
/** Total system RAM in MB. */
|
|
55
|
+
export function totalSystemMemoryMb() {
|
|
56
|
+
return Math.round(os.totalmem() / BYTES_PER_MB);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Whether the system has room for a heap of `targetMb` plus
|
|
60
|
+
* `OS_HEADROOM_MB` for everything else.
|
|
61
|
+
*/
|
|
62
|
+
export function systemHasMemoryFor(targetMb) {
|
|
63
|
+
return totalSystemMemoryMb() >= targetMb + OS_HEADROOM_MB;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Run preflight. Returns `false` to indicate the caller should
|
|
67
|
+
* continue normally; `true` means we are re-execing and the caller
|
|
68
|
+
* should not proceed (process will exit shortly via the spawned child).
|
|
69
|
+
*
|
|
70
|
+
* The promise that resolves to `true` actually never resolves in
|
|
71
|
+
* practice — the parent process exits when the child does. But TS
|
|
72
|
+
* needs a return type for callers that want to short-circuit.
|
|
73
|
+
*/
|
|
74
|
+
export async function runHeapPreflight(input) {
|
|
75
|
+
if (process.env[SENTINEL_ENV] === '1') {
|
|
76
|
+
// We are the elevated child. Do nothing.
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
const adapter = pickAdapter(input.cwd);
|
|
80
|
+
const discovery = adapter.discoverFiles({
|
|
81
|
+
cwd: input.cwd,
|
|
82
|
+
configPathOverride: input.configPathOverride,
|
|
83
|
+
});
|
|
84
|
+
const fileCount = discovery.files.length;
|
|
85
|
+
const targetMb = decideHeapTargetMb(fileCount);
|
|
86
|
+
if (targetMb === null) {
|
|
87
|
+
logger.info({
|
|
88
|
+
evt: 'graph.heap.preflight.skip',
|
|
89
|
+
module: 'graph:cli',
|
|
90
|
+
fileCount,
|
|
91
|
+
reason: 'below-threshold',
|
|
92
|
+
});
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
const currentMb = currentHeapLimitMb();
|
|
96
|
+
if (currentMb >= targetMb) {
|
|
97
|
+
logger.info({
|
|
98
|
+
evt: 'graph.heap.preflight.skip',
|
|
99
|
+
module: 'graph:cli',
|
|
100
|
+
fileCount,
|
|
101
|
+
targetMb,
|
|
102
|
+
currentMb,
|
|
103
|
+
reason: 'already-elevated',
|
|
104
|
+
});
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
if (!systemHasMemoryFor(targetMb)) {
|
|
108
|
+
const totalMb = totalSystemMemoryMb();
|
|
109
|
+
logger.warn({
|
|
110
|
+
evt: 'graph.heap.preflight.insufficient',
|
|
111
|
+
module: 'graph:cli',
|
|
112
|
+
fileCount,
|
|
113
|
+
targetMb,
|
|
114
|
+
totalSystemMb: totalMb,
|
|
115
|
+
});
|
|
116
|
+
process.stderr.write(`graph: detected ${String(fileCount)} files; would elevate heap to ${String(targetMb)} MB, ` +
|
|
117
|
+
`but system has only ${String(totalMb)} MB RAM (need ~${String(targetMb + OS_HEADROOM_MB)} MB).\n` +
|
|
118
|
+
`Continuing with current heap (${String(currentMb)} MB cap). If the run aborts, try ` +
|
|
119
|
+
`\`opensip graph <path>\` or \`opensip graph --workspace\` to scope the run.\n`);
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
/* v8 ignore start */
|
|
123
|
+
await reExecWithHeap(targetMb, fileCount, currentMb, input.verbose === true);
|
|
124
|
+
return true;
|
|
125
|
+
/* v8 ignore stop */
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Re-exec the current Node process with an elevated
|
|
129
|
+
* `--max-old-space-size`. stdio is inherited so the child writes
|
|
130
|
+
* directly to the user's terminal; the parent waits and propagates
|
|
131
|
+
* the child's exit code.
|
|
132
|
+
*/
|
|
133
|
+
/* v8 ignore start */
|
|
134
|
+
async function reExecWithHeap(targetMb, fileCount, currentMb, verbose) {
|
|
135
|
+
const flag = `--max-old-space-size=${String(targetMb)}`;
|
|
136
|
+
const existingNodeOptions = process.env.NODE_OPTIONS ?? '';
|
|
137
|
+
const mergedNodeOptions = existingNodeOptions.length > 0 ? `${existingNodeOptions} ${flag}` : flag;
|
|
138
|
+
// Structured log always fires — telemetry/log consumers see every
|
|
139
|
+
// elevation regardless of verbosity.
|
|
140
|
+
logger.info({
|
|
141
|
+
evt: 'graph.heap.preflight.elevate',
|
|
142
|
+
module: 'graph:cli',
|
|
143
|
+
fileCount,
|
|
144
|
+
targetMb,
|
|
145
|
+
currentMb,
|
|
146
|
+
});
|
|
147
|
+
// Human-facing line only under --verbose: silent heap elevation keeps the
|
|
148
|
+
// default output clean (the re-exec is an implementation detail).
|
|
149
|
+
if (verbose) {
|
|
150
|
+
process.stderr.write(`graph: ${String(fileCount)} files detected — elevating heap to ${String(targetMb)} MB ` +
|
|
151
|
+
`(was ${String(currentMb)} MB).\n`);
|
|
152
|
+
}
|
|
153
|
+
const child = spawn(process.execPath, process.argv.slice(1), {
|
|
154
|
+
env: {
|
|
155
|
+
...process.env,
|
|
156
|
+
NODE_OPTIONS: mergedNodeOptions,
|
|
157
|
+
[SENTINEL_ENV]: '1',
|
|
158
|
+
},
|
|
159
|
+
stdio: 'inherit',
|
|
160
|
+
});
|
|
161
|
+
await new Promise((resolve) => {
|
|
162
|
+
child.on('exit', (code, signal) => {
|
|
163
|
+
if (signal) {
|
|
164
|
+
process.kill(process.pid, signal);
|
|
165
|
+
// process.kill is async at the syscall layer; in the rare race
|
|
166
|
+
// where it doesn't deliver, fall through to a clean exit.
|
|
167
|
+
resolve();
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
process.exitCode = code ?? 1;
|
|
171
|
+
resolve();
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
/* v8 ignore stop */
|
|
176
|
+
//# sourceMappingURL=heap-preflight.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heap-preflight.js","sourceRoot":"","sources":["../../src/cli/heap-preflight.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `opensip graph --list-files` — discovery-only mode.
|
|
3
|
+
*
|
|
4
|
+
* Resolves the exact source-file set the graph build would analyze for the
|
|
5
|
+
* requested scope and prints it, WITHOUT building the catalog. This is the
|
|
6
|
+
* cheap, side-effect-free way to answer "which files does graph actually
|
|
7
|
+
* see?" — e.g. to diff graph's view of a repo against `git ls-files`.
|
|
8
|
+
*
|
|
9
|
+
* Faithfulness: it calls the same adapter stage-0 `discoverFiles` the real
|
|
10
|
+
* pipeline uses (orchestrate.ts) for the same scope, so the list reflects a
|
|
11
|
+
* real run — `.d.ts` excluded, TypeScript extension-priority collisions
|
|
12
|
+
* collapsed (a `foo.tsx` shadowed by a sibling `foo.ts` is dropped), and each
|
|
13
|
+
* tsconfig's include/exclude honored.
|
|
14
|
+
*
|
|
15
|
+
* Scope mirrors the `graph` command's own scoping:
|
|
16
|
+
* - bare → whole project (the dominant-language adapter's
|
|
17
|
+
* whole-tree discovery; this is the set a single-process
|
|
18
|
+
* build analyzes)
|
|
19
|
+
* - `<path>...` → union of each positional subtree's discovery
|
|
20
|
+
* - `--workspace` → union of every detected workspace unit's discovery
|
|
21
|
+
* (per-unit tsconfigs, mirrors resolveShards) — note
|
|
22
|
+
* this can differ from the whole-project set when a
|
|
23
|
+
* package's tsconfig excludes paths the root tree does
|
|
24
|
+
* not (e.g. `__fixtures__`)
|
|
25
|
+
* - `--language X` → forces adapter X for discovery
|
|
26
|
+
*/
|
|
27
|
+
import type { GraphCommandOptions } from './graph-options.js';
|
|
28
|
+
import type { ToolCliContext } from '@opensip-cli/core';
|
|
29
|
+
/**
|
|
30
|
+
* Run `graph --list-files`: resolve the discovery set for the scope encoded in
|
|
31
|
+
* `opts` and emit it through the CLI seam (`emitJson` for `--json`, the
|
|
32
|
+
* `graph-status` render path otherwise — never raw stdout). Always sets an
|
|
33
|
+
* exit code; never throws to the caller (errors are mapped via
|
|
34
|
+
* `handleGraphError`, the same boundary `executeGraph` uses).
|
|
35
|
+
*/
|
|
36
|
+
export declare function executeListFiles(opts: GraphCommandOptions, cli: ToolCliContext): Promise<void>;
|
|
37
|
+
//# sourceMappingURL=list-files.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-files.d.ts","sourceRoot":"","sources":["../../src/cli/list-files.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAgBH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIxD;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,mBAAmB,EACzB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,IAAI,CAAC,CAmCf"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
// @fitness-ignore-file error-handling-quality -- the two realpathSync probes (root normalization + per-unit discovery) intentionally fall through: the first uses the resolved path when realpath fails (e.g. a path inside a symlinked dir), the second skips a workspace unit the adapter can't discover (mirrors resolveShards in graph.ts). Both are documented at the call site.
|
|
2
|
+
// @fitness-ignore-file detached-promises -- handleGraphError is synchronous (void); the heuristic flags it as a discarded promise inside the async handler. Mirrors the same pragma on graph.ts for the identical CLI-error-boundary pattern.
|
|
3
|
+
/**
|
|
4
|
+
* `opensip graph --list-files` — discovery-only mode.
|
|
5
|
+
*
|
|
6
|
+
* Resolves the exact source-file set the graph build would analyze for the
|
|
7
|
+
* requested scope and prints it, WITHOUT building the catalog. This is the
|
|
8
|
+
* cheap, side-effect-free way to answer "which files does graph actually
|
|
9
|
+
* see?" — e.g. to diff graph's view of a repo against `git ls-files`.
|
|
10
|
+
*
|
|
11
|
+
* Faithfulness: it calls the same adapter stage-0 `discoverFiles` the real
|
|
12
|
+
* pipeline uses (orchestrate.ts) for the same scope, so the list reflects a
|
|
13
|
+
* real run — `.d.ts` excluded, TypeScript extension-priority collisions
|
|
14
|
+
* collapsed (a `foo.tsx` shadowed by a sibling `foo.ts` is dropped), and each
|
|
15
|
+
* tsconfig's include/exclude honored.
|
|
16
|
+
*
|
|
17
|
+
* Scope mirrors the `graph` command's own scoping:
|
|
18
|
+
* - bare → whole project (the dominant-language adapter's
|
|
19
|
+
* whole-tree discovery; this is the set a single-process
|
|
20
|
+
* build analyzes)
|
|
21
|
+
* - `<path>...` → union of each positional subtree's discovery
|
|
22
|
+
* - `--workspace` → union of every detected workspace unit's discovery
|
|
23
|
+
* (per-unit tsconfigs, mirrors resolveShards) — note
|
|
24
|
+
* this can differ from the whole-project set when a
|
|
25
|
+
* package's tsconfig excludes paths the root tree does
|
|
26
|
+
* not (e.g. `__fixtures__`)
|
|
27
|
+
* - `--language X` → forces adapter X for discovery
|
|
28
|
+
*/
|
|
29
|
+
import { realpathSync } from 'node:fs';
|
|
30
|
+
import { resolve, sep } from 'node:path';
|
|
31
|
+
import { EXIT_CODES } from '@opensip-cli/contracts';
|
|
32
|
+
import { ConfigurationError, logger } from '@opensip-cli/core';
|
|
33
|
+
import { currentAdapterRegistry } from '../lang-adapter/registry.js';
|
|
34
|
+
import { GraphAdapterSelector } from '../lang-adapter/selector.js';
|
|
35
|
+
import { handleGraphError } from './graph.js';
|
|
36
|
+
import { resolvePositionalPaths } from './positional-paths.js';
|
|
37
|
+
import { resolveAdaptersForRun } from './resolve-adapters.js';
|
|
38
|
+
import { discoverPolyglotUnits } from './workspace-runner.js';
|
|
39
|
+
const MODULE_GRAPH_CLI = 'graph:cli';
|
|
40
|
+
/**
|
|
41
|
+
* Run `graph --list-files`: resolve the discovery set for the scope encoded in
|
|
42
|
+
* `opts` and emit it through the CLI seam (`emitJson` for `--json`, the
|
|
43
|
+
* `graph-status` render path otherwise — never raw stdout). Always sets an
|
|
44
|
+
* exit code; never throws to the caller (errors are mapped via
|
|
45
|
+
* `handleGraphError`, the same boundary `executeGraph` uses).
|
|
46
|
+
*/
|
|
47
|
+
export async function executeListFiles(opts, cli) {
|
|
48
|
+
logger.info({ evt: 'graph.cli.list-files.start', module: MODULE_GRAPH_CLI, cwd: opts.cwd });
|
|
49
|
+
try {
|
|
50
|
+
// Same guard the full command applies (validateMutuallyExclusiveFlags):
|
|
51
|
+
// a whole-workspace fan-out and an explicit subtree scope are contradictory.
|
|
52
|
+
if (opts.workspace === true && (opts.paths?.length ?? 0) > 0) {
|
|
53
|
+
throw new ConfigurationError('--workspace and positional paths are mutually exclusive. Use one or the other.');
|
|
54
|
+
}
|
|
55
|
+
const files = opts.workspace === true ? await discoverWorkspaceFiles(opts, cli) : discoverScopedFiles(opts);
|
|
56
|
+
const rel = relativizeSorted(files, realpathOrResolve(opts.cwd));
|
|
57
|
+
if (opts.json === true) {
|
|
58
|
+
// Machine path: the general-purpose JSON seam (NOT a signal envelope).
|
|
59
|
+
cli.emitJson({ count: rel.length, files: rel });
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
// Human/pipe path: pre-composed lines through the render seam. The
|
|
63
|
+
// body is JUST the paths (one per line, forward-slashed to match
|
|
64
|
+
// `git ls-files`) so the output pipes cleanly into `sort`/`comm`/`diff`.
|
|
65
|
+
await cli.render({ type: 'graph-status', lines: rel });
|
|
66
|
+
}
|
|
67
|
+
cli.setExitCode(EXIT_CODES.SUCCESS);
|
|
68
|
+
logger.info({
|
|
69
|
+
evt: 'graph.cli.list-files.complete',
|
|
70
|
+
module: MODULE_GRAPH_CLI,
|
|
71
|
+
fileCount: rel.length,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
handleGraphError('list-files', error, cli);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Whole-project / positional-subtree discovery. Uses the dominant-language
|
|
80
|
+
* adapter (or `--language`) and unions the discovery of each scope — exactly
|
|
81
|
+
* the adapter calls `runGraph` (bare) and `executeMultiPathGraph`
|
|
82
|
+
* (positional) make at stage 0.
|
|
83
|
+
*/
|
|
84
|
+
function discoverScopedFiles(opts) {
|
|
85
|
+
const adapter = resolveDiscoveryAdapter(opts);
|
|
86
|
+
const scopes = opts.paths && opts.paths.length > 0 ? resolvePositionalPaths(opts.paths, opts.cwd) : [opts.cwd];
|
|
87
|
+
const all = [];
|
|
88
|
+
for (const scope of scopes) {
|
|
89
|
+
const discovered = adapter.discoverFiles({ cwd: scope });
|
|
90
|
+
all.push(...discovered.files);
|
|
91
|
+
}
|
|
92
|
+
return all;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Workspace fan-out discovery: enumerate units via the detected adapters'
|
|
96
|
+
* `discoverWorkspaceUnits`, then union each unit's stage-0 discovery. Mirrors
|
|
97
|
+
* `resolveShards` in graph.ts (single discovery adapter; a unit the adapter
|
|
98
|
+
* can't discover is skipped, not fatal), so the set equals what a real
|
|
99
|
+
* `graph --workspace` run analyzes.
|
|
100
|
+
*/
|
|
101
|
+
async function discoverWorkspaceFiles(opts, cli) {
|
|
102
|
+
const adapters = resolveAdaptersForRun(opts, cli);
|
|
103
|
+
const units = await discoverPolyglotUnits(opts.cwd, adapters);
|
|
104
|
+
if (units.length === 0) {
|
|
105
|
+
const adapterLabel = adapters.map((a) => a.id).join(', ') || '(no language adapters available)';
|
|
106
|
+
throw new ConfigurationError(`--workspace: no workspace units detected for [${adapterLabel}]. Use 'opensip graph --list-files' for whole-project analysis.`);
|
|
107
|
+
}
|
|
108
|
+
const adapter = resolveDiscoveryAdapter(opts);
|
|
109
|
+
const all = [];
|
|
110
|
+
for (const unit of units) {
|
|
111
|
+
try {
|
|
112
|
+
const discovered = adapter.discoverFiles({
|
|
113
|
+
cwd: unit.rootDir,
|
|
114
|
+
configPathOverride: unit.configPath,
|
|
115
|
+
});
|
|
116
|
+
all.push(...discovered.files);
|
|
117
|
+
}
|
|
118
|
+
catch {
|
|
119
|
+
continue; // a unit the graph adapter can't discover is skipped, not fatal
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return all;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Pick the discovery adapter the same way the non-workspace build does
|
|
126
|
+
* (`pickAdapterFor` in orchestrate.ts): `--language` names it explicitly,
|
|
127
|
+
* otherwise the file-extension dominance heuristic chooses.
|
|
128
|
+
*/
|
|
129
|
+
function resolveDiscoveryAdapter(opts) {
|
|
130
|
+
return new GraphAdapterSelector(currentAdapterRegistry()).pick({
|
|
131
|
+
cwd: opts.cwd,
|
|
132
|
+
language: opts.language,
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
/** Resolve `cwd` to an absolute, realpath'd root (matching the realpath'd
|
|
136
|
+
* discovery paths) so relativization lands clean. Falls back to the
|
|
137
|
+
* non-realpath'd absolute path if the probe fails. */
|
|
138
|
+
function realpathOrResolve(cwd) {
|
|
139
|
+
const abs = resolve(cwd);
|
|
140
|
+
try {
|
|
141
|
+
return realpathSync(abs);
|
|
142
|
+
}
|
|
143
|
+
catch {
|
|
144
|
+
return abs;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Make the absolute discovery paths relative to `rootAbs`, dedupe, and sort.
|
|
149
|
+
* Paths are forward-slash normalized so the output is byte-comparable with
|
|
150
|
+
* `git ls-files` regardless of platform separator.
|
|
151
|
+
*/
|
|
152
|
+
function relativizeSorted(files, rootAbs) {
|
|
153
|
+
const seen = new Set();
|
|
154
|
+
const out = [];
|
|
155
|
+
for (const f of files) {
|
|
156
|
+
const rel = f.startsWith(rootAbs + sep) ? f.slice(rootAbs.length + 1) : f;
|
|
157
|
+
const key = rel.split(sep).join('/');
|
|
158
|
+
if (seen.has(key))
|
|
159
|
+
continue;
|
|
160
|
+
seen.add(key);
|
|
161
|
+
out.push(key);
|
|
162
|
+
}
|
|
163
|
+
out.sort();
|
|
164
|
+
return out;
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=list-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-files.js","sourceRoot":"","sources":["../../src/cli/list-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `opensip graph lookup <name>` — read-only catalog query.
|
|
3
|
+
*
|
|
4
|
+
* Loads the persisted catalog from the datastore and prints every
|
|
5
|
+
* FunctionOccurrence whose `simpleName` matches `<name>`. Companion to
|
|
6
|
+
* the file-level symbol lookup that codeindex exposes; ours operates
|
|
7
|
+
* on functions and uses the existing catalog as the source of truth.
|
|
8
|
+
*
|
|
9
|
+
* If no catalog has been built yet, exits with CONFIGURATION_ERROR and
|
|
10
|
+
* a clear "run `opensip graph` first" message — this command
|
|
11
|
+
* never triggers an analysis run.
|
|
12
|
+
*/
|
|
13
|
+
import type { ToolCliContext } from '@opensip-cli/core';
|
|
14
|
+
export interface LookupCommandOptions {
|
|
15
|
+
readonly name: string;
|
|
16
|
+
readonly json?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export declare function executeLookup(opts: LookupCommandOptions, cli: ToolCliContext): Promise<void>;
|
|
19
|
+
//# sourceMappingURL=lookup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../../src/cli/lookup.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAQH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,oBAAoB,EAC1B,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,IAAI,CAAC,CAmDf"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
// @fitness-ignore-file no-direct-stdout-in-tool-engine -- read-only auxiliary subcommand: the `--json` machine path deliberately bypasses the human render seam to emit a structured catalog-query result straight to stdout (documented inline at the call site). The human path uses cli.render. Not the signal-envelope run output.
|
|
2
|
+
// @fitness-ignore-file only-documented-toolcli-seams -- same rationale as above: the `--json` lookup result is a read-only catalog query straight to stdout; the human path uses cli.render. Not run output through a ToolCliContext seam.
|
|
3
|
+
/**
|
|
4
|
+
* `opensip graph lookup <name>` — read-only catalog query.
|
|
5
|
+
*
|
|
6
|
+
* Loads the persisted catalog from the datastore and prints every
|
|
7
|
+
* FunctionOccurrence whose `simpleName` matches `<name>`. Companion to
|
|
8
|
+
* the file-level symbol lookup that codeindex exposes; ours operates
|
|
9
|
+
* on functions and uses the existing catalog as the source of truth.
|
|
10
|
+
*
|
|
11
|
+
* If no catalog has been built yet, exits with CONFIGURATION_ERROR and
|
|
12
|
+
* a clear "run `opensip graph` first" message — this command
|
|
13
|
+
* never triggers an analysis run.
|
|
14
|
+
*/
|
|
15
|
+
import { EXIT_CODES } from '@opensip-cli/contracts';
|
|
16
|
+
import { ConfigurationError, logger } from '@opensip-cli/core';
|
|
17
|
+
import { CatalogRepo } from '../persistence/catalog-repo.js';
|
|
18
|
+
export async function executeLookup(opts, cli) {
|
|
19
|
+
logger.info({ evt: 'graph.cli.lookup.start', module: 'graph:cli', name: opts.name });
|
|
20
|
+
try {
|
|
21
|
+
const datastore = cli.scope.datastore();
|
|
22
|
+
if (!datastore) {
|
|
23
|
+
throw new ConfigurationError('graph lookup requires a DataStore on ToolCliContext.');
|
|
24
|
+
}
|
|
25
|
+
const catalog = new CatalogRepo(datastore).loadFullCatalog();
|
|
26
|
+
if (!catalog) {
|
|
27
|
+
throw new ConfigurationError('No graph catalog found. Run `opensip graph` first to build the catalog.');
|
|
28
|
+
}
|
|
29
|
+
const matches = collectMatches(catalog, opts.name);
|
|
30
|
+
// Absent ⇒ exact (historical catalogs predate the marker).
|
|
31
|
+
const resolutionMode = catalog.resolutionMode ?? 'exact';
|
|
32
|
+
if (opts.json === true) {
|
|
33
|
+
// --json is the machine path: structured output straight to stdout,
|
|
34
|
+
// intentionally bypassing the human render seam.
|
|
35
|
+
process.stdout.write(`${JSON.stringify({ name: opts.name, resolutionMode, matches }, null, 2)}\n`);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
// Human path flows through the render seam (Ink on TTY, plain text in
|
|
39
|
+
// pipes/CI) rather than writing to stdout directly.
|
|
40
|
+
await cli.render({
|
|
41
|
+
type: 'graph-status',
|
|
42
|
+
lines: humanReportLines(opts.name, matches, resolutionMode),
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
cli.setExitCode(EXIT_CODES.SUCCESS);
|
|
46
|
+
logger.info({
|
|
47
|
+
evt: 'graph.cli.lookup.complete',
|
|
48
|
+
module: 'graph:cli',
|
|
49
|
+
matches: matches.length,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
logger.error({
|
|
54
|
+
evt: 'graph.cli.lookup.error',
|
|
55
|
+
module: 'graph:cli',
|
|
56
|
+
err: error instanceof Error ? error.message : String(error),
|
|
57
|
+
});
|
|
58
|
+
cli.setExitCode(error instanceof ConfigurationError
|
|
59
|
+
? EXIT_CODES.CONFIGURATION_ERROR
|
|
60
|
+
: EXIT_CODES.RUNTIME_ERROR);
|
|
61
|
+
process.stderr.write(`graph lookup: ${error instanceof Error ? error.message : String(error)}\n`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
function collectMatches(catalog, name) {
|
|
65
|
+
const bucket = catalog.functions[name];
|
|
66
|
+
return bucket ?? [];
|
|
67
|
+
}
|
|
68
|
+
function humanReportLines(name, matches, resolutionMode) {
|
|
69
|
+
const lines = [];
|
|
70
|
+
// Honest caveat: a fast catalog's edges (callers/callees this command
|
|
71
|
+
// reflects) are approximate, so the reader knows not to treat them as
|
|
72
|
+
// ground truth.
|
|
73
|
+
if (resolutionMode === 'fast') {
|
|
74
|
+
lines.push('Note: catalog built in fast mode — edges are approximate (syntactic). ' +
|
|
75
|
+
'Re-run `graph --resolution exact` for semantic precision.');
|
|
76
|
+
}
|
|
77
|
+
if (matches.length === 0) {
|
|
78
|
+
lines.push(`No function named '${name}' in the catalog.`);
|
|
79
|
+
return lines;
|
|
80
|
+
}
|
|
81
|
+
lines.push(`${name} — ${String(matches.length)} occurrence(s)`);
|
|
82
|
+
for (const m of matches) {
|
|
83
|
+
lines.push(` ${m.qualifiedName} (${m.kind})`, ` ${m.filePath}:${String(m.line)}:${String(m.column)}`, ` bodyHash: ${m.bodyHash.slice(0, 12)}…`);
|
|
84
|
+
}
|
|
85
|
+
return lines;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=lookup.js.map
|