@shrkcrft/cli 0.1.0-alpha.29 → 0.1.0-alpha.31
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/dist/asset-preview/apply-asset-preview.js +1 -1
- package/dist/authoring/authoring-kit.d.ts +9 -1
- package/dist/authoring/authoring-kit.d.ts.map +1 -1
- package/dist/authoring/authoring-kit.js +26 -13
- package/dist/bootstrap/unlinked-workspace-dependency.d.ts +11 -0
- package/dist/bootstrap/unlinked-workspace-dependency.d.ts.map +1 -0
- package/dist/bootstrap/unlinked-workspace-dependency.js +99 -0
- package/dist/command-registry.d.ts +100 -1
- package/dist/command-registry.d.ts.map +1 -1
- package/dist/command-registry.js +130 -3
- package/dist/commands/api-diff.command.d.ts.map +1 -1
- package/dist/commands/api-diff.command.js +12 -0
- package/dist/commands/apply.command.d.ts.map +1 -1
- package/dist/commands/apply.command.js +3 -0
- package/dist/commands/arch.command.d.ts.map +1 -1
- package/dist/commands/arch.command.js +26 -7
- package/dist/commands/architecture.command.d.ts.map +1 -1
- package/dist/commands/architecture.command.js +8 -2
- package/dist/commands/baseline.command.d.ts +76 -0
- package/dist/commands/baseline.command.d.ts.map +1 -1
- package/dist/commands/baseline.command.js +599 -75
- package/dist/commands/biome.command.d.ts.map +1 -1
- package/dist/commands/biome.command.js +20 -0
- package/dist/commands/boundaries.command.d.ts +9 -1
- package/dist/commands/boundaries.command.d.ts.map +1 -1
- package/dist/commands/boundaries.command.js +88 -20
- package/dist/commands/bundle.command.d.ts.map +1 -1
- package/dist/commands/bundle.command.js +57 -11
- package/dist/commands/cache-align.command.d.ts.map +1 -1
- package/dist/commands/cache-align.command.js +3 -1
- package/dist/commands/changelog-data.d.ts.map +1 -1
- package/dist/commands/changelog-data.js +164 -0
- package/dist/commands/changes.command.d.ts.map +1 -1
- package/dist/commands/changes.command.js +15 -0
- package/dist/commands/check.command.d.ts.map +1 -1
- package/dist/commands/check.command.js +1260 -324
- package/dist/commands/checks.command.d.ts.map +1 -1
- package/dist/commands/checks.command.js +188 -40
- package/dist/commands/ci.command.d.ts.map +1 -1
- package/dist/commands/ci.command.js +35 -2
- package/dist/commands/code-intel.command.d.ts.map +1 -1
- package/dist/commands/code-intel.command.js +8 -1
- package/dist/commands/command-catalog.d.ts +23 -1
- package/dist/commands/command-catalog.d.ts.map +1 -1
- package/dist/commands/command-catalog.js +152 -35
- package/dist/commands/commands.command.d.ts +21 -3
- package/dist/commands/commands.command.d.ts.map +1 -1
- package/dist/commands/commands.command.js +172 -27
- package/dist/commands/compress.command.d.ts.map +1 -1
- package/dist/commands/compress.command.js +4 -0
- package/dist/commands/constructs.command.d.ts.map +1 -1
- package/dist/commands/constructs.command.js +50 -12
- package/dist/commands/context.command.d.ts.map +1 -1
- package/dist/commands/context.command.js +40 -5
- package/dist/commands/contract-templates.command.d.ts.map +1 -1
- package/dist/commands/contract-templates.command.js +9 -1
- package/dist/commands/contract.command.d.ts.map +1 -1
- package/dist/commands/contract.command.js +35 -0
- package/dist/commands/conventions.command.d.ts.map +1 -1
- package/dist/commands/conventions.command.js +189 -29
- package/dist/commands/coverage.command.d.ts.map +1 -1
- package/dist/commands/coverage.command.js +9 -0
- package/dist/commands/daily.commands.d.ts +0 -1
- package/dist/commands/daily.commands.d.ts.map +1 -1
- package/dist/commands/daily.commands.js +12 -76
- package/dist/commands/dashboard.command.d.ts.map +1 -1
- package/dist/commands/dashboard.command.js +10 -0
- package/dist/commands/dev.command.d.ts.map +1 -1
- package/dist/commands/dev.command.js +45 -2
- package/dist/commands/diagnostics.command.d.ts +0 -2
- package/dist/commands/diagnostics.command.d.ts.map +1 -1
- package/dist/commands/diagnostics.command.js +5 -78
- package/dist/commands/diff-check.command.d.ts +6 -4
- package/dist/commands/diff-check.command.d.ts.map +1 -1
- package/dist/commands/diff-check.command.js +190 -103
- package/dist/commands/docs-references.command.d.ts +20 -0
- package/dist/commands/docs-references.command.d.ts.map +1 -0
- package/dist/commands/docs-references.command.js +520 -0
- package/dist/commands/doctor.command.d.ts.map +1 -1
- package/dist/commands/doctor.command.js +60 -5
- package/dist/commands/drift.command.d.ts.map +1 -1
- package/dist/commands/drift.command.js +17 -4
- package/dist/commands/eslint.command.d.ts.map +1 -1
- package/dist/commands/eslint.command.js +20 -0
- package/dist/commands/export.command.d.ts.map +1 -1
- package/dist/commands/export.command.js +23 -1
- package/dist/commands/feedback-dispatch.command.d.ts.map +1 -1
- package/dist/commands/feedback-dispatch.command.js +29 -0
- package/dist/commands/feedback.command.d.ts.map +1 -1
- package/dist/commands/feedback.command.js +6 -1
- package/dist/commands/finish.command.d.ts.map +1 -1
- package/dist/commands/finish.command.js +32 -8
- package/dist/commands/fix.command.d.ts.map +1 -1
- package/dist/commands/fix.command.js +19 -0
- package/dist/commands/gate.command.d.ts +6 -1
- package/dist/commands/gate.command.d.ts.map +1 -1
- package/dist/commands/gate.command.js +50 -124
- package/dist/commands/gates.command.d.ts +54 -0
- package/dist/commands/gates.command.d.ts.map +1 -1
- package/dist/commands/gates.command.js +1314 -64
- package/dist/commands/gen.command.d.ts.map +1 -1
- package/dist/commands/gen.command.js +4 -0
- package/dist/commands/generated.command.d.ts +62 -0
- package/dist/commands/generated.command.d.ts.map +1 -1
- package/dist/commands/generated.command.js +639 -156
- package/dist/commands/graph-code-subverbs.d.ts +15 -0
- package/dist/commands/graph-code-subverbs.d.ts.map +1 -1
- package/dist/commands/graph-code-subverbs.js +203 -25
- package/dist/commands/graph.command.d.ts.map +1 -1
- package/dist/commands/graph.command.js +79 -37
- package/dist/commands/help.command.d.ts +30 -6
- package/dist/commands/help.command.d.ts.map +1 -1
- package/dist/commands/help.command.js +323 -199
- package/dist/commands/helper.command.d.ts +1 -0
- package/dist/commands/helper.command.d.ts.map +1 -1
- package/dist/commands/helper.command.js +195 -56
- package/dist/commands/impact.command.d.ts.map +1 -1
- package/dist/commands/impact.command.js +115 -12
- package/dist/commands/infer.command.d.ts.map +1 -1
- package/dist/commands/infer.command.js +20 -45
- package/dist/commands/ingest.command.d.ts +0 -1
- package/dist/commands/ingest.command.d.ts.map +1 -1
- package/dist/commands/ingest.command.js +25 -41
- package/dist/commands/knowledge-author.command.d.ts +0 -3
- package/dist/commands/knowledge-author.command.d.ts.map +1 -1
- package/dist/commands/knowledge-author.command.js +10 -23
- package/dist/commands/knowledge.command.d.ts.map +1 -1
- package/dist/commands/knowledge.command.js +469 -129
- package/dist/commands/languages.command.d.ts.map +1 -1
- package/dist/commands/languages.command.js +27 -0
- package/dist/commands/lint.command.d.ts.map +1 -1
- package/dist/commands/lint.command.js +3 -0
- package/dist/commands/mcp.command.d.ts +18 -0
- package/dist/commands/mcp.command.d.ts.map +1 -1
- package/dist/commands/mcp.command.js +33 -8
- package/dist/commands/onboard.command.d.ts.map +1 -1
- package/dist/commands/onboard.command.js +20 -0
- package/dist/commands/owners.command.d.ts.map +1 -1
- package/dist/commands/owners.command.js +14 -2
- package/dist/commands/packs-new.d.ts +13 -1
- package/dist/commands/packs-new.d.ts.map +1 -1
- package/dist/commands/packs-new.js +500 -335
- package/dist/commands/packs.command.d.ts.map +1 -1
- package/dist/commands/packs.command.js +378 -36
- package/dist/commands/paths.command.d.ts.map +1 -1
- package/dist/commands/paths.command.js +9 -1
- package/dist/commands/pipelines.command.d.ts.map +1 -1
- package/dist/commands/pipelines.command.js +7 -1
- package/dist/commands/plan-check.command.d.ts.map +1 -1
- package/dist/commands/plan-check.command.js +3 -0
- package/dist/commands/plan.command.d.ts.map +1 -1
- package/dist/commands/plan.command.js +3 -0
- package/dist/commands/playbooks.command.d.ts.map +1 -1
- package/dist/commands/playbooks.command.js +7 -2
- package/dist/commands/policy-lint.command.d.ts +19 -2
- package/dist/commands/policy-lint.command.d.ts.map +1 -1
- package/dist/commands/policy-lint.command.js +224 -65
- package/dist/commands/policy.command.d.ts.map +1 -1
- package/dist/commands/policy.command.js +6 -1
- package/dist/commands/pr.command.d.ts.map +1 -1
- package/dist/commands/pr.command.js +14 -0
- package/dist/commands/presets.command.d.ts.map +1 -1
- package/dist/commands/presets.command.js +12 -27
- package/dist/commands/profiles.command.d.ts.map +1 -1
- package/dist/commands/profiles.command.js +94 -26
- package/dist/commands/provenance.command.js +1 -1
- package/dist/commands/quality.command.d.ts.map +1 -1
- package/dist/commands/quality.command.js +129 -33
- package/dist/commands/recommend.command.d.ts +20 -4
- package/dist/commands/recommend.command.d.ts.map +1 -1
- package/dist/commands/recommend.command.js +172 -278
- package/dist/commands/registrations.command.d.ts.map +1 -1
- package/dist/commands/registrations.command.js +138 -13
- package/dist/commands/registry-lifecycle-run.d.ts +14 -0
- package/dist/commands/registry-lifecycle-run.d.ts.map +1 -0
- package/dist/commands/registry-lifecycle-run.js +336 -0
- package/dist/commands/registry.command.d.ts.map +1 -1
- package/dist/commands/registry.command.js +235 -62
- package/dist/commands/release.command.d.ts.map +1 -1
- package/dist/commands/release.command.js +99 -20
- package/dist/commands/report.command.d.ts.map +1 -1
- package/dist/commands/report.command.js +38 -2
- package/dist/commands/reuse-coverage.command.d.ts +23 -0
- package/dist/commands/reuse-coverage.command.d.ts.map +1 -0
- package/dist/commands/reuse-coverage.command.js +536 -0
- package/dist/commands/reuse.command.d.ts +3 -18
- package/dist/commands/reuse.command.d.ts.map +1 -1
- package/dist/commands/reuse.command.js +395 -244
- package/dist/commands/review.command.d.ts.map +1 -1
- package/dist/commands/review.command.js +33 -1
- package/dist/commands/rounds.command.d.ts.map +1 -1
- package/dist/commands/rounds.command.js +5 -0
- package/dist/commands/safety.command.d.ts.map +1 -1
- package/dist/commands/safety.command.js +9 -0
- package/dist/commands/scaffolds.command.d.ts.map +1 -1
- package/dist/commands/scaffolds.command.js +97 -25
- package/dist/commands/search.command.d.ts +0 -8
- package/dist/commands/search.command.d.ts.map +1 -1
- package/dist/commands/search.command.js +136 -28
- package/dist/commands/self-config-xrefs.command.d.ts +24 -0
- package/dist/commands/self-config-xrefs.command.d.ts.map +1 -0
- package/dist/commands/self-config-xrefs.command.js +170 -0
- package/dist/commands/self-config.command.d.ts.map +1 -1
- package/dist/commands/self-config.command.js +261 -65
- package/dist/commands/smart-context.command.d.ts.map +1 -1
- package/dist/commands/smart-context.command.js +39 -3
- package/dist/commands/spec.command.d.ts.map +1 -1
- package/dist/commands/spec.command.js +3 -0
- package/dist/commands/stats.command.d.ts.map +1 -1
- package/dist/commands/stats.command.js +3 -0
- package/dist/commands/surface.command.d.ts +6 -1
- package/dist/commands/surface.command.d.ts.map +1 -1
- package/dist/commands/surface.command.js +256 -54
- package/dist/commands/task-context.command.js +1 -1
- package/dist/commands/task.command.d.ts.map +1 -1
- package/dist/commands/task.command.js +22 -1
- package/dist/commands/templates.command.d.ts +4 -0
- package/dist/commands/templates.command.d.ts.map +1 -1
- package/dist/commands/templates.command.js +109 -22
- package/dist/commands/test.command.d.ts.map +1 -1
- package/dist/commands/test.command.js +161 -33
- package/dist/commands/tests.command.d.ts.map +1 -1
- package/dist/commands/tests.command.js +29 -3
- package/dist/commands/trace.command.d.ts.map +1 -1
- package/dist/commands/trace.command.js +29 -4
- package/dist/commands/watch.command.d.ts.map +1 -1
- package/dist/commands/watch.command.js +3 -0
- package/dist/commands/why.command.d.ts.map +1 -1
- package/dist/commands/why.command.js +3 -0
- package/dist/commands/wiring.command.d.ts +18 -4
- package/dist/commands/wiring.command.d.ts.map +1 -1
- package/dist/commands/wiring.command.js +362 -74
- package/dist/dashboard/code-intelligence-data.js +4 -4
- package/dist/diff/deleted-orphan-coverage.d.ts +32 -0
- package/dist/diff/deleted-orphan-coverage.d.ts.map +1 -0
- package/dist/diff/deleted-orphan-coverage.js +107 -0
- package/dist/diff/deleted-orphan-scope-notes.d.ts +23 -0
- package/dist/diff/deleted-orphan-scope-notes.d.ts.map +1 -0
- package/dist/diff/deleted-orphan-scope-notes.js +49 -0
- package/dist/diff/deleted-orphans.d.ts +32 -0
- package/dist/diff/deleted-orphans.d.ts.map +1 -1
- package/dist/diff/deleted-orphans.js +42 -2
- package/dist/dispatch/closest-match.d.ts +15 -0
- package/dist/dispatch/closest-match.d.ts.map +1 -0
- package/dist/dispatch/closest-match.js +47 -0
- package/dist/dispatch/global-flags.d.ts +94 -0
- package/dist/dispatch/global-flags.d.ts.map +1 -0
- package/dist/dispatch/global-flags.js +123 -0
- package/dist/dispatch/guard-invocation-input.d.ts +24 -0
- package/dist/dispatch/guard-invocation-input.d.ts.map +1 -0
- package/dist/dispatch/guard-invocation-input.js +1 -0
- package/dist/dispatch/guard-invocation.d.ts +33 -0
- package/dist/dispatch/guard-invocation.d.ts.map +1 -0
- package/dist/dispatch/guard-invocation.js +183 -0
- package/dist/dispatch/help-intercept.d.ts +22 -0
- package/dist/dispatch/help-intercept.d.ts.map +1 -0
- package/dist/dispatch/help-intercept.js +42 -0
- package/dist/dispatch/i-declared-invocation.d.ts +17 -0
- package/dist/dispatch/i-declared-invocation.d.ts.map +1 -0
- package/dist/dispatch/i-declared-invocation.js +1 -0
- package/dist/dispatch/i-unknown-flag-refusal-input.d.ts +28 -0
- package/dist/dispatch/i-unknown-flag-refusal-input.d.ts.map +1 -0
- package/dist/dispatch/i-unknown-flag-refusal-input.js +1 -0
- package/dist/dispatch/invocation-rejection-kind.d.ts +15 -0
- package/dist/dispatch/invocation-rejection-kind.d.ts.map +1 -0
- package/dist/dispatch/invocation-rejection-kind.js +15 -0
- package/dist/dispatch/invocation-rejection.d.ts +18 -0
- package/dist/dispatch/invocation-rejection.d.ts.map +1 -0
- package/dist/dispatch/invocation-rejection.js +1 -0
- package/dist/dispatch/judge-invocation.d.ts +24 -0
- package/dist/dispatch/judge-invocation.d.ts.map +1 -0
- package/dist/dispatch/judge-invocation.js +50 -0
- package/dist/dispatch/positional-mode.d.ts +18 -0
- package/dist/dispatch/positional-mode.d.ts.map +1 -0
- package/dist/dispatch/positional-mode.js +18 -0
- package/dist/dispatch/read-tracking-map.d.ts +28 -0
- package/dist/dispatch/read-tracking-map.d.ts.map +1 -0
- package/dist/dispatch/read-tracking-map.js +58 -0
- package/dist/dispatch/refuse-sibling-valve-flags.d.ts +30 -0
- package/dist/dispatch/refuse-sibling-valve-flags.d.ts.map +1 -0
- package/dist/dispatch/refuse-sibling-valve-flags.js +65 -0
- package/dist/dispatch/subverb-spec.d.ts +26 -0
- package/dist/dispatch/subverb-spec.d.ts.map +1 -0
- package/dist/dispatch/subverb-spec.js +1 -0
- package/dist/dispatch/undocumented-flag-reads.d.ts +22 -0
- package/dist/dispatch/undocumented-flag-reads.d.ts.map +1 -0
- package/dist/dispatch/undocumented-flag-reads.js +283 -0
- package/dist/dispatch/unknown-flag-refusal-mode.d.ts +13 -0
- package/dist/dispatch/unknown-flag-refusal-mode.d.ts.map +1 -0
- package/dist/dispatch/unknown-flag-refusal-mode.js +13 -0
- package/dist/dispatch/unknown-flag-refusal.d.ts +22 -0
- package/dist/dispatch/unknown-flag-refusal.d.ts.map +1 -0
- package/dist/dispatch/unknown-flag-refusal.js +57 -0
- package/dist/dispatch/unread-flags.d.ts +152 -0
- package/dist/dispatch/unread-flags.d.ts.map +1 -0
- package/dist/dispatch/unread-flags.js +295 -0
- package/dist/dispatch/verdict-valve-flag.d.ts +21 -0
- package/dist/dispatch/verdict-valve-flag.d.ts.map +1 -0
- package/dist/dispatch/verdict-valve-flag.js +21 -0
- package/dist/dispatch/walk-declared-subverbs.d.ts +14 -0
- package/dist/dispatch/walk-declared-subverbs.d.ts.map +1 -0
- package/dist/dispatch/walk-declared-subverbs.js +28 -0
- package/dist/exit-codes.d.ts +41 -3
- package/dist/exit-codes.d.ts.map +1 -1
- package/dist/exit-codes.js +153 -14
- package/dist/finish/run-finish.d.ts +72 -5
- package/dist/finish/run-finish.d.ts.map +1 -1
- package/dist/finish/run-finish.js +453 -104
- package/dist/gates/accepted-empty-note.d.ts +10 -0
- package/dist/gates/accepted-empty-note.d.ts.map +1 -0
- package/dist/gates/accepted-empty-note.js +11 -0
- package/dist/gates/allow-empty.d.ts +25 -0
- package/dist/gates/allow-empty.d.ts.map +1 -0
- package/dist/gates/allow-empty.js +27 -0
- package/dist/gates/asset-doctor-failing-units.d.ts +16 -0
- package/dist/gates/asset-doctor-failing-units.d.ts.map +1 -0
- package/dist/gates/asset-doctor-failing-units.js +14 -0
- package/dist/gates/asset-doctor-failure-line.d.ts +16 -0
- package/dist/gates/asset-doctor-failure-line.d.ts.map +1 -0
- package/dist/gates/asset-doctor-failure-line.js +28 -0
- package/dist/gates/empty-rule-advice-lines.d.ts +15 -0
- package/dist/gates/empty-rule-advice-lines.d.ts.map +1 -0
- package/dist/gates/empty-rule-advice-lines.js +20 -0
- package/dist/gates/gate-envelope.d.ts +85 -8
- package/dist/gates/gate-envelope.d.ts.map +1 -1
- package/dist/gates/gate-envelope.js +56 -7
- package/dist/gates/gate-rule-globs.d.ts +67 -0
- package/dist/gates/gate-rule-globs.d.ts.map +1 -0
- package/dist/gates/gate-rule-globs.js +139 -0
- package/dist/gates/gate-rule-view.d.ts +25 -6
- package/dist/gates/gate-rule-view.d.ts.map +1 -1
- package/dist/gates/gate-rule-view.js +105 -77
- package/dist/gates/i-coverage-dead-glob.d.ts +19 -0
- package/dist/gates/i-coverage-dead-glob.d.ts.map +1 -0
- package/dist/gates/i-coverage-dead-glob.js +1 -0
- package/dist/gates/i-coverage-negation.d.ts +13 -0
- package/dist/gates/i-coverage-negation.d.ts.map +1 -0
- package/dist/gates/i-coverage-negation.js +1 -0
- package/dist/gates/i-registration-query-settle-input.d.ts +18 -0
- package/dist/gates/i-registration-query-settle-input.d.ts.map +1 -0
- package/dist/gates/i-registration-query-settle-input.js +1 -0
- package/dist/gates/i-unit-state-note-row.d.ts +16 -0
- package/dist/gates/i-unit-state-note-row.d.ts.map +1 -0
- package/dist/gates/i-unit-state-note-row.js +1 -0
- package/dist/gates/i-unit-state-notes.d.ts +32 -0
- package/dist/gates/i-unit-state-notes.d.ts.map +1 -0
- package/dist/gates/i-unit-state-notes.js +1 -0
- package/dist/gates/incomplete-registry-inventory.d.ts +19 -0
- package/dist/gates/incomplete-registry-inventory.d.ts.map +1 -0
- package/dist/gates/incomplete-registry-inventory.js +63 -0
- package/dist/gates/measure-registration-roles.d.ts +10 -0
- package/dist/gates/measure-registration-roles.d.ts.map +1 -0
- package/dist/gates/measure-registration-roles.js +9 -0
- package/dist/gates/plane-verdict.d.ts +14 -0
- package/dist/gates/plane-verdict.d.ts.map +1 -0
- package/dist/gates/plane-verdict.js +22 -0
- package/dist/gates/qualify-clean-for-units.d.ts +12 -0
- package/dist/gates/qualify-clean-for-units.d.ts.map +1 -0
- package/dist/gates/qualify-clean-for-units.js +18 -0
- package/dist/gates/registration-graph-verdict.d.ts +34 -0
- package/dist/gates/registration-graph-verdict.d.ts.map +1 -0
- package/dist/gates/registration-graph-verdict.js +70 -0
- package/dist/gates/registration-roles.d.ts +9 -0
- package/dist/gates/registration-roles.d.ts.map +1 -0
- package/dist/gates/registration-roles.js +1 -0
- package/dist/gates/registry-liveness.d.ts +11 -0
- package/dist/gates/registry-liveness.d.ts.map +1 -0
- package/dist/gates/registry-liveness.js +13 -0
- package/dist/gates/rule-coverage.d.ts +225 -4
- package/dist/gates/rule-coverage.d.ts.map +1 -1
- package/dist/gates/rule-coverage.js +610 -43
- package/dist/gates/run-gate-planes.d.ts +58 -0
- package/dist/gates/run-gate-planes.d.ts.map +1 -0
- package/dist/gates/run-gate-planes.js +403 -0
- package/dist/gates/scaffold-selftest.d.ts +56 -0
- package/dist/gates/scaffold-selftest.d.ts.map +1 -0
- package/dist/gates/scaffold-selftest.js +119 -0
- package/dist/gates/seam-rejected-rules.d.ts +28 -0
- package/dist/gates/seam-rejected-rules.d.ts.map +1 -0
- package/dist/gates/seam-rejected-rules.js +95 -0
- package/dist/gates/self-test-check.d.ts +29 -0
- package/dist/gates/self-test-check.d.ts.map +1 -0
- package/dist/gates/self-test-check.js +1 -0
- package/dist/gates/self-test-subject.d.ts +28 -0
- package/dist/gates/self-test-subject.d.ts.map +1 -0
- package/dist/gates/self-test-subject.js +1 -0
- package/dist/gates/self-test.d.ts +20 -0
- package/dist/gates/self-test.d.ts.map +1 -0
- package/dist/gates/self-test.js +82 -0
- package/dist/gates/settle-verdict.d.ts +14 -0
- package/dist/gates/settle-verdict.d.ts.map +1 -0
- package/dist/gates/settle-verdict.js +13 -0
- package/dist/gates/settled-verdict.d.ts +8 -0
- package/dist/gates/settled-verdict.d.ts.map +1 -0
- package/dist/gates/settled-verdict.js +1 -0
- package/dist/gates/template-registry-coverage.d.ts +18 -0
- package/dist/gates/template-registry-coverage.d.ts.map +1 -0
- package/dist/gates/template-registry-coverage.js +24 -0
- package/dist/gates/unit-state-notes.d.ts +40 -0
- package/dist/gates/unit-state-notes.d.ts.map +1 -0
- package/dist/gates/unit-state-notes.js +71 -0
- package/dist/gates/verdict-line.d.ts +18 -0
- package/dist/gates/verdict-line.d.ts.map +1 -0
- package/dist/gates/verdict-line.js +40 -0
- package/dist/graph/graph-reuse-lookup.d.ts +10 -0
- package/dist/graph/graph-reuse-lookup.d.ts.map +1 -0
- package/dist/graph/graph-reuse-lookup.js +41 -0
- package/dist/graph/index-behind-hint.d.ts +11 -0
- package/dist/graph/index-behind-hint.d.ts.map +1 -0
- package/dist/graph/index-behind-hint.js +27 -0
- package/dist/knowledge/knowledge-stale-gate-flags.d.ts +3 -0
- package/dist/knowledge/knowledge-stale-gate-flags.d.ts.map +1 -0
- package/dist/knowledge/knowledge-stale-gate-flags.js +1 -0
- package/dist/knowledge/knowledge-stale-gate-input.d.ts +3 -0
- package/dist/knowledge/knowledge-stale-gate-input.d.ts.map +1 -0
- package/dist/knowledge/knowledge-stale-gate-input.js +1 -0
- package/dist/knowledge/knowledge-stale-gate-result.d.ts +3 -0
- package/dist/knowledge/knowledge-stale-gate-result.d.ts.map +1 -0
- package/dist/knowledge/knowledge-stale-gate-result.js +1 -0
- package/dist/knowledge/knowledge-stale-gate.d.ts +10 -0
- package/dist/knowledge/knowledge-stale-gate.d.ts.map +1 -0
- package/dist/knowledge/knowledge-stale-gate.js +9 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +204 -83
- package/dist/output/failure-hints.d.ts.map +1 -1
- package/dist/output/failure-hints.js +11 -9
- package/dist/output/rejected-entries-note.d.ts +57 -0
- package/dist/output/rejected-entries-note.d.ts.map +1 -0
- package/dist/output/rejected-entries-note.js +103 -0
- package/dist/output/stdout-is-pipe.d.ts +13 -0
- package/dist/output/stdout-is-pipe.d.ts.map +1 -0
- package/dist/output/stdout-is-pipe.js +21 -0
- package/dist/packs/stale-build-warning.d.ts +11 -0
- package/dist/packs/stale-build-warning.d.ts.map +1 -0
- package/dist/packs/stale-build-warning.js +23 -0
- package/dist/quality/run-quality.d.ts +123 -0
- package/dist/quality/run-quality.d.ts.map +1 -0
- package/dist/quality/run-quality.js +442 -0
- package/dist/schemas/json-schemas.d.ts +184 -3
- package/dist/schemas/json-schemas.d.ts.map +1 -1
- package/dist/schemas/json-schemas.js +113 -2
- package/dist/shrk.d.ts +3 -0
- package/dist/shrk.d.ts.map +1 -0
- package/dist/shrk.js +30 -0
- package/dist/surface/audience-applicability.d.ts +26 -0
- package/dist/surface/audience-applicability.d.ts.map +1 -0
- package/dist/surface/audience-applicability.js +60 -0
- package/dist/surface/catalog-command-safety.d.ts +18 -0
- package/dist/surface/catalog-command-safety.d.ts.map +1 -0
- package/dist/surface/catalog-command-safety.js +62 -0
- package/dist/surface/cli-command-resolver.d.ts +21 -0
- package/dist/surface/cli-command-resolver.d.ts.map +1 -0
- package/dist/surface/cli-command-resolver.js +87 -0
- package/dist/surface/command-dispatch-kind.d.ts +20 -0
- package/dist/surface/command-dispatch-kind.d.ts.map +1 -0
- package/dist/surface/command-dispatch-kind.js +20 -0
- package/dist/surface/command-index-entry.d.ts +40 -0
- package/dist/surface/command-index-entry.d.ts.map +1 -0
- package/dist/surface/command-index-entry.js +1 -0
- package/dist/surface/command-index.d.ts +77 -0
- package/dist/surface/command-index.d.ts.map +1 -0
- package/dist/surface/command-index.js +323 -0
- package/dist/surface/i-command-index.d.ts +22 -0
- package/dist/surface/i-command-index.d.ts.map +1 -0
- package/dist/surface/i-command-index.js +1 -0
- package/dist/surface/i-command-string-context.d.ts +20 -0
- package/dist/surface/i-command-string-context.d.ts.map +1 -0
- package/dist/surface/i-command-string-context.js +1 -0
- package/dist/surface/i-surface-denial.d.ts +13 -0
- package/dist/surface/i-surface-denial.d.ts.map +1 -0
- package/dist/surface/i-surface-denial.js +1 -0
- package/dist/surface/load-surface-context.d.ts +17 -1
- package/dist/surface/load-surface-context.d.ts.map +1 -1
- package/dist/surface/load-surface-context.js +48 -10
- package/dist/surface/not-enabled-error.d.ts +38 -4
- package/dist/surface/not-enabled-error.d.ts.map +1 -1
- package/dist/surface/not-enabled-error.js +96 -6
- package/dist/surface/profiles.d.ts +7 -0
- package/dist/surface/profiles.d.ts.map +1 -1
- package/dist/surface/resolve-command-string.d.ts +10 -0
- package/dist/surface/resolve-command-string.d.ts.map +1 -0
- package/dist/surface/resolve-command-string.js +572 -0
- package/dist/surface/surface-config-writer.d.ts +7 -2
- package/dist/surface/surface-config-writer.d.ts.map +1 -1
- package/dist/surface/surface-config-writer.js +25 -6
- package/dist/surface/surface-layer.d.ts +11 -0
- package/dist/surface/surface-layer.d.ts.map +1 -0
- package/dist/surface/surface-layer.js +11 -0
- package/dist/surface/surface-refusal-reason.d.ts +16 -0
- package/dist/surface/surface-refusal-reason.d.ts.map +1 -0
- package/dist/surface/surface-refusal-reason.js +16 -0
- package/dist/surface/surface-selector.d.ts +26 -0
- package/dist/surface/surface-selector.d.ts.map +1 -0
- package/dist/surface/surface-selector.js +42 -0
- package/dist/surface/surface-summary.d.ts +61 -18
- package/dist/surface/surface-summary.d.ts.map +1 -1
- package/dist/surface/surface-summary.js +147 -60
- package/dist/surface/tier.d.ts +85 -22
- package/dist/surface/tier.d.ts.map +1 -1
- package/dist/surface/tier.js +132 -30
- package/dist/usage/usage-log.d.ts +6 -1
- package/dist/usage/usage-log.d.ts.map +1 -1
- package/dist/usage/usage-log.js +7 -2
- package/dist/validation/run-validation-loop.d.ts +9 -0
- package/dist/validation/run-validation-loop.d.ts.map +1 -1
- package/dist/validation/run-validation-loop.js +14 -11
- package/dist/validation/typecheck-emitted.d.ts +8 -9
- package/dist/validation/typecheck-emitted.d.ts.map +1 -1
- package/dist/validation/typecheck-emitted.js +17 -97
- package/package.json +34 -34
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The reuse engine's graph questions, answered from one snapshot — shared by
|
|
3
|
+
* `shrk reuse` and `shrk reuse coverage`, so both resolve every curated entry
|
|
4
|
+
* (its declaration, import line and whether that import compiles) through the
|
|
5
|
+
* same lookups, via the inspector's `resolveCuratedReuse`.
|
|
6
|
+
*/
|
|
7
|
+
export function graphReuseLookup(api) {
|
|
8
|
+
return {
|
|
9
|
+
declarationsOf: (name) => api
|
|
10
|
+
.findSymbol(name, { exact: true, limit: 1000 })
|
|
11
|
+
.filter((n) => typeof n.path === 'string')
|
|
12
|
+
.map((n) => {
|
|
13
|
+
const declKind = n.data?.['declKind'];
|
|
14
|
+
return {
|
|
15
|
+
path: n.path,
|
|
16
|
+
symbolId: n.id,
|
|
17
|
+
isExported: n.data?.['isExported'] === true,
|
|
18
|
+
...(typeof n.line === 'number' ? { line: n.line } : {}),
|
|
19
|
+
...(typeof declKind === 'string' ? { declKind } : {}),
|
|
20
|
+
};
|
|
21
|
+
}),
|
|
22
|
+
consumerCount: (symbolId) => api.referenceSitesOf(symbolId).length,
|
|
23
|
+
specifierExport: (specifier, symbol) => {
|
|
24
|
+
// The file consumers' imports of this specifier resolved to (aliases and
|
|
25
|
+
// subpaths included) — then the SAME ESM export walk the surface runs.
|
|
26
|
+
const file = api.fileForSpecifier(specifier);
|
|
27
|
+
if (!file?.path)
|
|
28
|
+
return undefined;
|
|
29
|
+
const hit = api.moduleExports(file.path).exports.find((e) => e.name === symbol);
|
|
30
|
+
if (hit === undefined)
|
|
31
|
+
return null;
|
|
32
|
+
return {
|
|
33
|
+
symbolId: hit.symbolId,
|
|
34
|
+
declaredIn: hit.declaredIn,
|
|
35
|
+
declKind: hit.declKind,
|
|
36
|
+
...(hit.line !== undefined ? { line: hit.line } : {}),
|
|
37
|
+
...(hit.isDefault === true ? { isDefault: true } : {}),
|
|
38
|
+
};
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A "the index is N files behind" qualifier for a not-found / empty result, so
|
|
3
|
+
* an agent doesn't read a bare "not-found" as "this symbol doesn't exist / is
|
|
4
|
+
* safe to create" when the truth is "it's in a file the index hasn't seen yet."
|
|
5
|
+
*
|
|
6
|
+
* Runs the full freshness walk (`detectGraphFreshness`, the one freshness
|
|
7
|
+
* authority) — only call it on the rare miss path. Shared by the code-graph
|
|
8
|
+
* query verbs and `shrk reuse`.
|
|
9
|
+
*/
|
|
10
|
+
export declare function indexBehindHint(cwd: string): string | null;
|
|
11
|
+
//# sourceMappingURL=index-behind-hint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-behind-hint.d.ts","sourceRoot":"","sources":["../../src/graph/index-behind-hint.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAc1D"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { detectGraphFreshness } from '@shrkcrft/graph';
|
|
2
|
+
/**
|
|
3
|
+
* A "the index is N files behind" qualifier for a not-found / empty result, so
|
|
4
|
+
* an agent doesn't read a bare "not-found" as "this symbol doesn't exist / is
|
|
5
|
+
* safe to create" when the truth is "it's in a file the index hasn't seen yet."
|
|
6
|
+
*
|
|
7
|
+
* Runs the full freshness walk (`detectGraphFreshness`, the one freshness
|
|
8
|
+
* authority) — only call it on the rare miss path. Shared by the code-graph
|
|
9
|
+
* query verbs and `shrk reuse`.
|
|
10
|
+
*/
|
|
11
|
+
export function indexBehindHint(cwd) {
|
|
12
|
+
const f = detectGraphFreshness(cwd);
|
|
13
|
+
if (!f.hasIndex)
|
|
14
|
+
return null;
|
|
15
|
+
const behind = f.modified.length + f.added.length + f.deleted.length;
|
|
16
|
+
const pkgs = f.packagesChanged;
|
|
17
|
+
if (behind === 0 && pkgs.length === 0)
|
|
18
|
+
return null;
|
|
19
|
+
const files = `${behind} file(s) (${f.modified.length} modified, ${f.added.length} new, ${f.deleted.length} deleted)`;
|
|
20
|
+
if (pkgs.length === 0) {
|
|
21
|
+
return `Index is ${behind} file(s) behind (${f.modified.length} modified, ${f.added.length} new, ${f.deleted.length} deleted) — run \`shrk graph index --changed\` and retry.`;
|
|
22
|
+
}
|
|
23
|
+
// A package.json entry edit changes what a bare import resolves to; only a
|
|
24
|
+
// full index re-resolves the imports of unchanged files.
|
|
25
|
+
const shown = pkgs.slice(0, 3).join(', ') + (pkgs.length > 3 ? `, +${pkgs.length - 3} more` : '');
|
|
26
|
+
return `Index is behind: ${behind > 0 ? `${files} and ` : ''}${pkgs.length} workspace package(s) changed (${shown}) — run \`shrk graph index\` and retry.`;
|
|
27
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge-stale-gate-flags.d.ts","sourceRoot":"","sources":["../../src/knowledge/knowledge-stale-gate-flags.ts"],"names":[],"mappings":"AAAA,sGAAsG;AACtG,YAAY,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge-stale-gate-input.d.ts","sourceRoot":"","sources":["../../src/knowledge/knowledge-stale-gate-input.ts"],"names":[],"mappings":"AAAA,sGAAsG;AACtG,YAAY,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge-stale-gate-result.d.ts","sourceRoot":"","sources":["../../src/knowledge/knowledge-stale-gate-result.ts"],"names":[],"mappings":"AAAA,sGAAsG;AACtG,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE knowledge stale-check verdict now lives in `@shrkcrft/inspector`
|
|
3
|
+
* (`knowledge-stale-gate.ts`), so `buildQualityReport` — MCP
|
|
4
|
+
* `get_quality_report`, the dashboard, the report site — settles the SAME gate
|
|
5
|
+
* as `shrk knowledge stale-check` and `shrk quality` (round 11 review: the MCP
|
|
6
|
+
* report had no knowledge gate at all). Re-exported here so every CLI import
|
|
7
|
+
* stays unchanged; there is no second implementation.
|
|
8
|
+
*/
|
|
9
|
+
export { evaluateKnowledgeStaleGate, formatPct, KNOWLEDGE_FAIL_ON_CATEGORIES, knowledgeStaleGateInput, knowledgeStaleWindowProblem, parseMinReferenced, settleKnowledgeStaleGate, } from '@shrkcrft/inspector';
|
|
10
|
+
//# sourceMappingURL=knowledge-stale-gate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge-stale-gate.d.ts","sourceRoot":"","sources":["../../src/knowledge/knowledge-stale-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,0BAA0B,EAC1B,SAAS,EACT,4BAA4B,EAC5B,uBAAuB,EACvB,2BAA2B,EAC3B,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE knowledge stale-check verdict now lives in `@shrkcrft/inspector`
|
|
3
|
+
* (`knowledge-stale-gate.ts`), so `buildQualityReport` — MCP
|
|
4
|
+
* `get_quality_report`, the dashboard, the report site — settles the SAME gate
|
|
5
|
+
* as `shrk knowledge stale-check` and `shrk quality` (round 11 review: the MCP
|
|
6
|
+
* report had no knowledge gate at all). Re-exported here so every CLI import
|
|
7
|
+
* stays unchanged; there is no second implementation.
|
|
8
|
+
*/
|
|
9
|
+
export { evaluateKnowledgeStaleGate, formatPct, KNOWLEDGE_FAIL_ON_CATEGORIES, knowledgeStaleGateInput, knowledgeStaleWindowProblem, parseMinReferenced, settleKnowledgeStaleGate, } from '@shrkcrft/inspector';
|
package/dist/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AAEA,OAAO,EACL,eAAe,
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AAEA,OAAO,EACL,eAAe,EAKhB,MAAM,uBAAuB,CAAC;AAsb/B,wBAAgB,aAAa,IAAI,eAAe,CA4Z/C;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA8DrE;AA+OD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAoDxE"}
|
package/dist/main.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { loadDotenv } from "./env/load-dotenv.js";
|
|
3
|
-
import { CommandRegistry,
|
|
4
|
-
import { argvHasExitTrailer, argvHasNoHints, argvHasStrict, emitPipeExitSignal, promoteForStrict, } from "./exit-codes.js";
|
|
3
|
+
import { CommandRegistry, extractGlobalCwd, parseArgs, } from "./command-registry.js";
|
|
4
|
+
import { argvHasExitTrailer, argvHasNoHints, argvHasStrict, emitPipeExitSignal, promoteForStrict, VERDICT_PATH_TOKENS, } from "./exit-codes.js";
|
|
5
5
|
import { runCommandWithCompression } from "./output/output-compression.js";
|
|
6
6
|
import { initCommand } from "./commands/init.command.js";
|
|
7
7
|
import { inspectCommand } from "./commands/inspect.command.js";
|
|
@@ -37,9 +37,10 @@ import { gateCommand } from "./commands/gate.command.js";
|
|
|
37
37
|
import { policyLintCommand, policyLintExplainCommand } from "./commands/policy-lint.command.js";
|
|
38
38
|
import { baselineCheckCommand, baselineCommand, baselineDiffCommand, baselineExplainCommand, baselineListCommand, baselineUpdateCommand, } from "./commands/baseline.command.js";
|
|
39
39
|
import { generatedCheckCommand, generatedExplainCommand, generatedListCommand, generatedUpdateCommand, } from "./commands/generated.command.js";
|
|
40
|
-
import { gatesCommand, gatesCoverageCommand, gatesExplainCommand, gatesListCommand, } from "./commands/gates.command.js";
|
|
40
|
+
import { gatesCheckCommand, gatesCommand, gatesCoverageCommand, gatesExplainCommand, gatesListCommand, gatesScaffoldSelfTestCommand, gatesTryCommand, } from "./commands/gates.command.js";
|
|
41
41
|
import { wiringCommand } from "./commands/wiring.command.js";
|
|
42
42
|
import { reuseCommand } from "./commands/reuse.command.js";
|
|
43
|
+
import { reuseCoverageCommand } from "./commands/reuse-coverage.command.js";
|
|
43
44
|
import { migrateCommand } from "./commands/migrate.command.js";
|
|
44
45
|
import { coverageCommand } from "./commands/coverage.command.js";
|
|
45
46
|
import { statsCommand } from "./commands/stats.command.js";
|
|
@@ -106,6 +107,7 @@ import { briefCommand } from "./commands/brief.command.js";
|
|
|
106
107
|
import { releaseCommand, installSmokeCommand } from "./commands/release.command.js";
|
|
107
108
|
import { startHereCommand } from "./commands/start-here.command.js";
|
|
108
109
|
import { docsCheckCommand, examplesCheckCommand } from "./commands/docs.command.js";
|
|
110
|
+
import { docsReferencesCommand } from "./commands/docs-references.command.js";
|
|
109
111
|
import { selfAuditCommand } from "./commands/self.command.js";
|
|
110
112
|
import { diagnosticsListCommand } from "./commands/diagnostics.command.js";
|
|
111
113
|
import { architectureMapCommand } from "./commands/architecture.command.js";
|
|
@@ -147,8 +149,17 @@ import { errorFooterFor, renderErrorFooter } from "./output/failure-hints.js";
|
|
|
147
149
|
import { renderAbout } from "./surface/about.js";
|
|
148
150
|
import { renderNoArgsLanding } from "./surface/no-args-landing.js";
|
|
149
151
|
import { loadSurfaceContext } from "./surface/load-surface-context.js";
|
|
152
|
+
import { warnStaleCompiledPacks } from "./packs/stale-build-warning.js";
|
|
150
153
|
import { buildSurfaceSummary, findCommandInSummary } from "./surface/surface-summary.js";
|
|
151
|
-
import {
|
|
154
|
+
import { commandIndexFor, setActiveCommandRegistry } from "./surface/command-index.js";
|
|
155
|
+
import { editDistance, typoTolerance } from "./dispatch/closest-match.js";
|
|
156
|
+
import { isPathTransparentGlobal, PATH_TRANSPARENCY, stripPreDispatchGlobals, withoutPathGlobals, } from "./dispatch/global-flags.js";
|
|
157
|
+
import { judgeInvocation } from "./dispatch/judge-invocation.js";
|
|
158
|
+
import { helpTopicFor, wantsHelp } from "./dispatch/help-intercept.js";
|
|
159
|
+
import { beginFlagReadTracking, flagDocumentation, invocationFlagDocumentation, settleUnreadFlags, siblingsDocumenting, tracksFlagReads, } from "./dispatch/unread-flags.js";
|
|
160
|
+
import { isStdoutPipe } from "./output/stdout-is-pipe.js";
|
|
161
|
+
import { walkDeclaredSubverbs } from "./dispatch/walk-declared-subverbs.js";
|
|
162
|
+
import { SURFACE_NOT_ENABLED_EXIT_CODE, surfaceRefusalFor, surfaceRefusalOutput, } from "./surface/not-enabled-error.js";
|
|
152
163
|
import { extractCommandPath, recordUsage, sanitizeFlagNames, } from "./usage/usage-log.js";
|
|
153
164
|
import { loadProjectConfig } from '@shrkcrft/config';
|
|
154
165
|
export function buildRegistry() {
|
|
@@ -227,10 +238,16 @@ export function buildRegistry() {
|
|
|
227
238
|
registry.registerSubcommand('generated', generatedExplainCommand);
|
|
228
239
|
registry.register(gatesCommand);
|
|
229
240
|
registry.registerSubcommand('gates', gatesListCommand);
|
|
241
|
+
registry.registerSubcommand('gates', gatesCheckCommand);
|
|
230
242
|
registry.registerSubcommand('gates', gatesCoverageCommand);
|
|
231
243
|
registry.registerSubcommand('gates', gatesExplainCommand);
|
|
244
|
+
registry.registerSubcommand('gates', gatesTryCommand);
|
|
245
|
+
registry.registerSubcommand('gates', gatesScaffoldSelfTestCommand);
|
|
232
246
|
registry.register(wiringCommand);
|
|
233
247
|
registry.register(reuseCommand);
|
|
248
|
+
// `shrk reuse coverage` — the trie's greedy descent routes the literal
|
|
249
|
+
// `coverage` here; any other intent still reaches `reuse` itself.
|
|
250
|
+
registry.registerSubcommand('reuse', reuseCoverageCommand);
|
|
234
251
|
registry.register(migrateCommand);
|
|
235
252
|
registry.register(coverageCommand);
|
|
236
253
|
registry.register(statsCommand);
|
|
@@ -339,6 +356,7 @@ export function buildRegistry() {
|
|
|
339
356
|
registry.registerSubcommand('memory', memorySnapshotsCommand);
|
|
340
357
|
registry.register(languagesCommand);
|
|
341
358
|
registry.registerSubcommand('docs', docsCheckCommand);
|
|
359
|
+
registry.registerSubcommand('docs', docsReferencesCommand);
|
|
342
360
|
registry.registerSubcommand('examples', examplesCheckCommand);
|
|
343
361
|
registry.registerSubcommand('self', selfAuditCommand);
|
|
344
362
|
registry.registerSubcommand('install', installSmokeCommand);
|
|
@@ -539,21 +557,35 @@ export async function runCli(argv) {
|
|
|
539
557
|
// and each command's own `--strict` semantics (e.g. `check --strict`) still
|
|
540
558
|
// apply beneath this (a25 §1.1).
|
|
541
559
|
const strict = argvHasStrict(argv);
|
|
542
|
-
//
|
|
543
|
-
//
|
|
544
|
-
|
|
545
|
-
|
|
560
|
+
// THE registry this run dispatches from — the verdict path below and the
|
|
561
|
+
// dispatcher read the same one.
|
|
562
|
+
const registry = buildRegistry();
|
|
563
|
+
// Derive the command path from the argv the dispatcher reads: THE pre-dispatch
|
|
564
|
+
// strip (`--cwd`, `--exit-trailer`, `--compress*` — the one runCliInner uses),
|
|
565
|
+
// then the global `--no-hints` / `--strict` stepped over by the SAME descent.
|
|
566
|
+
// Otherwise a LEADING stripped global (`--exit-trailer`, `--compress`) makes
|
|
567
|
+
// extractCommandPath break on the '-' and return "" — zeroing out the pipe
|
|
568
|
+
// note, `--exit-trailer` and the usage record — while `doctor --strict
|
|
569
|
+
// warnings` must stay `doctor`.
|
|
570
|
+
const commandArgv = withoutPathGlobals(stripPreDispatchGlobals(argv).rest, registry);
|
|
571
|
+
const command = extractCommandPath(commandArgv);
|
|
572
|
+
// The verdict-verb check reads one token deeper than the usage record, so a
|
|
573
|
+
// three-token verdict verb (`docs references check`) is told apart from its
|
|
574
|
+
// informational siblings (`docs references list` / `explain`).
|
|
575
|
+
const verdictPath = extractCommandPath(commandArgv, VERDICT_PATH_TOKENS);
|
|
546
576
|
let exitCode = 0;
|
|
547
577
|
try {
|
|
548
|
-
exitCode = promoteForStrict(await runCliInner(argv), strict);
|
|
578
|
+
exitCode = promoteForStrict(await runCliInner(argv, registry), strict);
|
|
549
579
|
// Keep the honest 0/1/2 verdict readable through a trailing pipe (the shape
|
|
550
580
|
// an agent reaches for first). A no-op for non-gate verbs. Skipped inside the
|
|
551
581
|
// smart-context worker child and the --compress re-run child, whose stdout is
|
|
552
582
|
// a pipe by construction — a spurious "stdout is piped" note there (the user
|
|
553
583
|
// never piped) would be noise, not signal.
|
|
554
584
|
if (!process.env.SHRK_WORKER_EXITCODE_FILE && !process.env.SHRK_COMPRESS_CHILD) {
|
|
555
|
-
emitPipeExitSignal(
|
|
556
|
-
|
|
585
|
+
emitPipeExitSignal(verdictPath, exitCode, {
|
|
586
|
+
// A PIPE (or socket) to another process — never a plain file redirect,
|
|
587
|
+
// which is not a TTY either but has no downstream `$?` (round 13).
|
|
588
|
+
piped: isStdoutPipe(),
|
|
557
589
|
trailer: argvHasExitTrailer(argv),
|
|
558
590
|
noHints: argvHasNoHints(argv),
|
|
559
591
|
});
|
|
@@ -600,16 +632,21 @@ async function isUsageEnabled(cwd) {
|
|
|
600
632
|
return true;
|
|
601
633
|
}
|
|
602
634
|
}
|
|
603
|
-
async function runCliInner(argv) {
|
|
604
|
-
|
|
605
|
-
//
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
//
|
|
609
|
-
|
|
610
|
-
//
|
|
611
|
-
|
|
612
|
-
|
|
635
|
+
async function runCliInner(argv, registry) {
|
|
636
|
+
// The ONE command index (surface list, help, the surface gate, the command
|
|
637
|
+
// resolver injected into the inspector) reads the registry this run
|
|
638
|
+
// dispatches from — commands never import main.ts to get it.
|
|
639
|
+
setActiveCommandRegistry(registry);
|
|
640
|
+
// THE pre-dispatch strip — the one runCli derives the verdict path from: the
|
|
641
|
+
// global --cwd (anywhere, incl. before the command), --exit-trailer (runCli
|
|
642
|
+
// reads it off the raw argv to decide whether to print the trailer) and the
|
|
643
|
+
// --compress / --ccr output-compression flags, so no per-command flag guard
|
|
644
|
+
// ever sees them.
|
|
645
|
+
const { cwd: globalCwd, compress: compressDirective, rest: cleanArgv } = stripPreDispatchGlobals(argv);
|
|
646
|
+
// The global `--strict` / `--no-hints` may LEAD the command
|
|
647
|
+
// (`shrk --no-hints scaffolds list`): the meta checks below read the first
|
|
648
|
+
// token that is not one of them, and the trie descent steps over them.
|
|
649
|
+
const first = cleanArgv.find((t) => !isPathTransparentGlobal(t));
|
|
613
650
|
// `--compress` / `--ccr` on a real command: re-run it and compress its stdout.
|
|
614
651
|
// (Meta verbs like --help/--version and bare invocations are left untouched.)
|
|
615
652
|
if (compressDirective &&
|
|
@@ -651,11 +688,16 @@ async function runCliInner(argv) {
|
|
|
651
688
|
process.stdout.write(renderAbout());
|
|
652
689
|
return 0;
|
|
653
690
|
}
|
|
654
|
-
//
|
|
691
|
+
// Greedy trie descent. Handles 1-, 2-, and 3-level commands uniformly
|
|
655
692
|
// (`shrk doctor`, `shrk packs list`, `shrk pack author status`). The
|
|
656
693
|
// resolver stops when it hits a flag or a token that isn't a child of the
|
|
657
|
-
// current node, returning the deepest handler + the leftover tokens.
|
|
658
|
-
|
|
694
|
+
// current node, returning the deepest handler + the leftover tokens. The
|
|
695
|
+
// global `--strict` / `--no-hints` are transparent to it while they sit
|
|
696
|
+
// inside the path — hoisted into the leftover instead of ending the descent
|
|
697
|
+
// at the first token — and past the path a bare `--strict` keeps the value
|
|
698
|
+
// after it (`doctor --strict warnings`). THE options: PATH_TRANSPARENCY.
|
|
699
|
+
const descend = (tokens) => registry.resolve(tokens, PATH_TRANSPARENCY);
|
|
700
|
+
let { handler, matchedPath, rest: leftover, node } = descend(cleanArgv);
|
|
659
701
|
// A multi-word command passed as a SINGLE quoted token (`shrk "graph status"`)
|
|
660
702
|
// arrives as one argv element with internal whitespace. The trie has no atomic
|
|
661
703
|
// `graph status` node, so the first descent misses (handler undefined) — yet
|
|
@@ -664,32 +706,82 @@ async function runCliInner(argv) {
|
|
|
664
706
|
// quoted form behaves identically to the unquoted `shrk graph status`.
|
|
665
707
|
// Genuinely unknown tokens leave `handler` undefined and fall through to the
|
|
666
708
|
// existing unknown-command path unchanged.
|
|
667
|
-
|
|
668
|
-
|
|
709
|
+
const bareArgv = cleanArgv.filter((t) => !isPathTransparentGlobal(t));
|
|
710
|
+
if (!handler && bareArgv.length === 1 && /\s/.test(bareArgv[0])) {
|
|
711
|
+
const retry = descend([
|
|
712
|
+
...bareArgv[0].trim().split(/\s+/),
|
|
713
|
+
...cleanArgv.filter(isPathTransparentGlobal),
|
|
714
|
+
]);
|
|
669
715
|
if (retry.handler) {
|
|
670
716
|
({ handler, matchedPath, rest: leftover, node } = retry);
|
|
671
717
|
}
|
|
672
718
|
}
|
|
673
|
-
// `--help` / `-h`
|
|
674
|
-
//
|
|
675
|
-
|
|
676
|
-
|
|
719
|
+
// `--help` / `-h` ANYWHERE before `--` — after a subverb, a positional or
|
|
720
|
+
// another flag, at any depth — prints help for the deepest path the command
|
|
721
|
+
// index knows, and NOTHING else runs: no guard, no surface gate, no
|
|
722
|
+
// inspection, no command body. (Only a leading `--help` used to be caught:
|
|
723
|
+
// `report site --help` wrote twelve HTML files, `graph index --help` built
|
|
724
|
+
// the store.) Tokens after `--` pass through untouched.
|
|
725
|
+
if (matchedPath.length > 0 && wantsHelp(leftover)) {
|
|
726
|
+
const topic = helpTopicFor(commandIndexFor(registry), matchedPath, leftover);
|
|
727
|
+
return registry.get('help').run(parseArgs([topic.join(' ')], { globalCwd }));
|
|
677
728
|
}
|
|
729
|
+
const trieChildren = [...node.children.keys()];
|
|
678
730
|
if (handler) {
|
|
679
|
-
|
|
680
|
-
//
|
|
681
|
-
//
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
731
|
+
const parsed = parseArgs(leftover, { globalCwd, booleanFlags: handler.booleanFlags });
|
|
732
|
+
// THE pre-run judgement (round 11 §5.2, `judgeInvocation` — the function the
|
|
733
|
+
// command-string resolver calls too): an unknown subcommand, a verb-shaped
|
|
734
|
+
// token that is neither a subverb nor a file, a flag outside a declared set,
|
|
735
|
+
// or a flag no documentation of the command names is refused BEFORE
|
|
736
|
+
// anything runs — cheap, no inspection — instead of a default action that
|
|
737
|
+
// exits 0 (or a write that happens before the refusal).
|
|
738
|
+
const rejection = judgeInvocation({
|
|
739
|
+
registry,
|
|
740
|
+
handler,
|
|
741
|
+
matchedPath,
|
|
742
|
+
trieChildren,
|
|
743
|
+
parsed,
|
|
744
|
+
cwd: globalCwd ?? process.cwd(),
|
|
745
|
+
});
|
|
746
|
+
if (rejection) {
|
|
747
|
+
process.stderr.write(rejection.message);
|
|
748
|
+
return rejection.exitCode;
|
|
749
|
+
}
|
|
750
|
+
// The surface gate. Bootstrap commands and core/extended tiers pass
|
|
751
|
+
// through; an experimental command not in `surface.enabled[]`, a
|
|
752
|
+
// tool-maintenance command outside SharkCraft's own repository, or a
|
|
753
|
+
// command `surface.disabled[]` denies returns the structured refusal
|
|
754
|
+
// (exit 78 — never a check verdict).
|
|
755
|
+
const refusal = await checkSurfaceGate(handler, matchedPath, parsed.positional, globalCwd ?? process.cwd());
|
|
756
|
+
if (refusal) {
|
|
757
|
+
// `--json` / `--format json` get the documented machine form on stdout
|
|
758
|
+
// (`sharkcraft.surface.not-enabled.v1` + `reasonCode`); otherwise the text
|
|
759
|
+
// on stderr — `surfaceRefusalOutput`, the one writer.
|
|
760
|
+
const output = surfaceRefusalOutput(refusal, parsed);
|
|
761
|
+
if (output.stdout)
|
|
762
|
+
process.stdout.write(output.stdout);
|
|
763
|
+
if (output.stderr)
|
|
764
|
+
process.stderr.write(output.stderr);
|
|
686
765
|
return SURFACE_NOT_ENABLED_EXIT_CODE;
|
|
687
766
|
}
|
|
688
|
-
return await
|
|
767
|
+
return await runWithFlagReadTracking(registry, handler, matchedPath, parsed);
|
|
689
768
|
}
|
|
690
|
-
// No handler at the deepest match
|
|
691
|
-
//
|
|
769
|
+
// No handler at the deepest match: a command group. A bare token under it
|
|
770
|
+
// is an unknown subcommand (`templates lst` → did you mean `templates
|
|
771
|
+
// list`?), never the group's help at exit 0; a bare group lists its verbs.
|
|
692
772
|
if (matchedPath.length > 0 && node.children.size > 0) {
|
|
773
|
+
const rejection = judgeInvocation({
|
|
774
|
+
registry,
|
|
775
|
+
handler: undefined,
|
|
776
|
+
matchedPath,
|
|
777
|
+
trieChildren,
|
|
778
|
+
parsed: parseArgs(leftover, { globalCwd }),
|
|
779
|
+
cwd: globalCwd ?? process.cwd(),
|
|
780
|
+
});
|
|
781
|
+
if (rejection) {
|
|
782
|
+
process.stderr.write(rejection.message);
|
|
783
|
+
return rejection.exitCode;
|
|
784
|
+
}
|
|
693
785
|
return registry.get('help').run(parseArgs([matchedPath.join(' ')], { globalCwd }));
|
|
694
786
|
}
|
|
695
787
|
// Genuinely unknown — fall back to free-form / did-you-mean.
|
|
@@ -703,6 +795,43 @@ async function runCliInner(argv) {
|
|
|
703
795
|
printDidYouMean(attempted);
|
|
704
796
|
return 2;
|
|
705
797
|
}
|
|
798
|
+
/**
|
|
799
|
+
* Run `handler`, then judge the flags it never READ — the universal post-run
|
|
800
|
+
* detector (`dispatch/unread-flags.ts`). An undocumented non-presentation flag
|
|
801
|
+
* was already refused before the run (`judgeInvocation`), so this backstop
|
|
802
|
+
* warns about an undocumented presentation flag and catches a flag name
|
|
803
|
+
* computed at runtime: a `0` over a dropped input becomes `usageExitFor(path)`. Skipped for a
|
|
804
|
+
* handler that declares `flags` (the pre-run guard already judged them) or
|
|
805
|
+
* `forwardsArgv` (a child process re-parses the argv). The declared-subverb
|
|
806
|
+
* walk is taken BEFORE the run — some handlers consume `args.positional`.
|
|
807
|
+
*/
|
|
808
|
+
async function runWithFlagReadTracking(registry, handler, matchedPath, parsed) {
|
|
809
|
+
const walk = walkDeclaredSubverbs(handler, matchedPath, parsed.positional);
|
|
810
|
+
if (!tracksFlagReads(handler, walk))
|
|
811
|
+
return await handler.run(parsed);
|
|
812
|
+
// Captured BEFORE the run — some handlers consume `args.positional`.
|
|
813
|
+
const positional = [...parsed.positional];
|
|
814
|
+
const unread = beginFlagReadTracking(parsed);
|
|
815
|
+
const exit = await handler.run(parsed);
|
|
816
|
+
// The flag documentation (which builds the command index) is needed only to
|
|
817
|
+
// judge an unread flag — the common run reads every flag it was given, so it
|
|
818
|
+
// pays nothing. settleUnreadFlags returns `exit` untouched for no unread flag.
|
|
819
|
+
// The INVOCATION's documentation, as the pre-run refusal read it (round 13:
|
|
820
|
+
// per subverb, never a sibling's).
|
|
821
|
+
const unreadKeys = unread();
|
|
822
|
+
if (unreadKeys.length === 0)
|
|
823
|
+
return exit;
|
|
824
|
+
const index = commandIndexFor(registry);
|
|
825
|
+
return settleUnreadFlags({
|
|
826
|
+
unread: unreadKeys,
|
|
827
|
+
path: walk.path.join(' '),
|
|
828
|
+
documentation: invocationFlagDocumentation({ handler, matchedPath, positional, index }),
|
|
829
|
+
groupDocumentation: flagDocumentation(handler, matchedPath, index),
|
|
830
|
+
documentedOn: (key) => siblingsDocumenting(key, matchedPath, walk.path, index),
|
|
831
|
+
exit,
|
|
832
|
+
argv: parsed.argv,
|
|
833
|
+
});
|
|
834
|
+
}
|
|
706
835
|
/**
|
|
707
836
|
* Heuristic for "this looks like a task, not a command".
|
|
708
837
|
*
|
|
@@ -784,32 +913,44 @@ function printFreeFormTaskHint(task) {
|
|
|
784
913
|
` $ shrk commands\n`);
|
|
785
914
|
}
|
|
786
915
|
/**
|
|
787
|
-
* Check whether the
|
|
788
|
-
*
|
|
789
|
-
*
|
|
790
|
-
*
|
|
916
|
+
* Check whether the invoked command is gated by the surface tier model.
|
|
917
|
+
* Returns `null` if the command is callable (core/extended), or the
|
|
918
|
+
* structured refusal (`surfaceRefusalFor`) — an experimental command not
|
|
919
|
+
* enabled, a tool-maintenance command outside SharkCraft's own repository, or
|
|
920
|
+
* a command a `surface.disabled` selector denies.
|
|
921
|
+
*
|
|
922
|
+
* The view is looked up at the deepest DECLARED path first
|
|
923
|
+
* (`walkDeclaredSubverbs`: `release readiness` and `commands doctor` are
|
|
924
|
+
* subverbs one handler dispatches, so the trie path alone — `release` — could
|
|
925
|
+
* never gate them), then at each shorter prefix down to the top-level token.
|
|
791
926
|
*
|
|
792
927
|
* Failure-soft: any error loading the inspection (fresh repo, no
|
|
793
928
|
* config, etc.) lets the command through. The gate must NEVER false-
|
|
794
929
|
* positive a bootstrap call — the bootstrap set in `tier.ts` plus
|
|
795
930
|
* spine-derived core commands always pass through cleanly.
|
|
796
931
|
*/
|
|
797
|
-
async function checkSurfaceGate(matchedPath, cwd) {
|
|
798
|
-
|
|
799
|
-
if (candidate.length === 0)
|
|
932
|
+
async function checkSurfaceGate(handler, matchedPath, positional, cwd) {
|
|
933
|
+
if (matchedPath.length === 0)
|
|
800
934
|
return null;
|
|
935
|
+
const walk = walkDeclaredSubverbs(handler, matchedPath, positional);
|
|
936
|
+
const candidates = [];
|
|
937
|
+
for (let n = walk.path.length; n >= 1; n -= 1)
|
|
938
|
+
candidates.push(walk.path.slice(0, n).join(' '));
|
|
801
939
|
try {
|
|
802
|
-
const { context } = await loadSurfaceContext({ cwd });
|
|
940
|
+
const { context, inspection } = await loadSurfaceContext({ cwd });
|
|
941
|
+
// Startup warning: a pack serving compiled contributions built from an
|
|
942
|
+
// older source (the one pack-asset freshness authority; content, not age).
|
|
943
|
+
warnStaleCompiledPacks(inspection);
|
|
803
944
|
const summary = buildSurfaceSummary(context);
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
if (view.callable)
|
|
945
|
+
let view;
|
|
946
|
+
for (const candidate of candidates) {
|
|
947
|
+
view = findCommandInSummary(summary, candidate);
|
|
948
|
+
if (view)
|
|
949
|
+
break;
|
|
950
|
+
}
|
|
951
|
+
if (!view || view.callable)
|
|
811
952
|
return null;
|
|
812
|
-
return
|
|
953
|
+
return surfaceRefusalFor(view);
|
|
813
954
|
}
|
|
814
955
|
catch {
|
|
815
956
|
return null;
|
|
@@ -838,29 +979,6 @@ function reorderCandidates(attempted, candidates) {
|
|
|
838
979
|
});
|
|
839
980
|
return ranked;
|
|
840
981
|
}
|
|
841
|
-
/** Edit distance (Levenshtein). Used to gate did-you-mean confidence. */
|
|
842
|
-
function editDistance(a, b) {
|
|
843
|
-
const m = a.length;
|
|
844
|
-
const n = b.length;
|
|
845
|
-
if (m === 0)
|
|
846
|
-
return n;
|
|
847
|
-
if (n === 0)
|
|
848
|
-
return m;
|
|
849
|
-
const dp = new Array(n + 1);
|
|
850
|
-
for (let j = 0; j <= n; j += 1)
|
|
851
|
-
dp[j] = j;
|
|
852
|
-
for (let i = 1; i <= m; i += 1) {
|
|
853
|
-
let prev = dp[0];
|
|
854
|
-
dp[0] = i;
|
|
855
|
-
for (let j = 1; j <= n; j += 1) {
|
|
856
|
-
const tmp = dp[j];
|
|
857
|
-
const cost = a[i - 1] === b[j - 1] ? 0 : 1;
|
|
858
|
-
dp[j] = Math.min(dp[j] + 1, dp[j - 1] + 1, prev + cost);
|
|
859
|
-
prev = tmp;
|
|
860
|
-
}
|
|
861
|
-
}
|
|
862
|
-
return dp[n];
|
|
863
|
-
}
|
|
864
982
|
/**
|
|
865
983
|
* Suggestion is "confident" when the candidate's top token is close
|
|
866
984
|
* to the attempt in edit-distance terms — `doctorz`→`doctor` (1 edit)
|
|
@@ -877,9 +995,9 @@ function isConfidentMatch(attempted, suggestion) {
|
|
|
877
995
|
return false;
|
|
878
996
|
const lower = attempted.toLowerCase();
|
|
879
997
|
const head = (suggestion.command.split(/\s+/)[0] ?? suggestion.command).toLowerCase();
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
return
|
|
998
|
+
// The ONE typo tolerance (dispatch/closest-match.ts) — shared with help's
|
|
999
|
+
// topic suggestion and the dispatcher guard's closest subcommand / flag.
|
|
1000
|
+
return editDistance(lower, head) <= typoTolerance(lower);
|
|
883
1001
|
}
|
|
884
1002
|
function printDidYouMean(attempted) {
|
|
885
1003
|
const rawCandidates = suggestDidYouMean(COMMAND_CATALOG, [attempted], 5);
|
|
@@ -958,13 +1076,16 @@ async function redirectStderrToTeardownLog() {
|
|
|
958
1076
|
// Bun exposes `import.meta.main`; Node does not. When Node runs the
|
|
959
1077
|
// compiled `dist/main.js` directly the path-suffix check (`main.js`)
|
|
960
1078
|
// catches it. The npm bin shim points at `shrk` so that suffix also
|
|
961
|
-
// triggers it. Source dev under Bun still runs via `main.ts`.
|
|
1079
|
+
// triggers it. Source dev under Bun still runs via `main.ts`. The bin target
|
|
1080
|
+
// is the round-13 bootstrap `dist/shrk.js` (source `src/shrk.ts`), which
|
|
1081
|
+
// imports this module — its suffixes are recognised the same way.
|
|
962
1082
|
const isMain = typeof import.meta !== 'undefined' && import.meta.main === true;
|
|
963
1083
|
const entryPath = process.argv[1] ?? '';
|
|
964
1084
|
if (isMain ||
|
|
965
1085
|
entryPath.endsWith('main.ts') ||
|
|
966
1086
|
entryPath.endsWith('main.js') ||
|
|
967
1087
|
entryPath.endsWith('shrk') ||
|
|
1088
|
+
entryPath.endsWith('shrk.ts') ||
|
|
968
1089
|
entryPath.endsWith('shrk.js') ||
|
|
969
1090
|
entryPath.endsWith('shrk.cmd')) {
|
|
970
1091
|
// Marks a real CLI invocation (vs. a command handler imported directly by a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"failure-hints.d.ts","sourceRoot":"","sources":["../../src/output/failure-hints.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,CAUzE;AAID,wBAAgB,WAAW,IAAI,YAAY,EAAE,CAM5C;AAED,wBAAgB,mBAAmB,IAAI,YAAY,EAAE,CAMpD;AAED,wBAAgB,kBAAkB,IAAI,YAAY,EAAE,CAMnD;AAED,wBAAgB,yBAAyB,IAAI,YAAY,EAAE,CAK1D;AAED,wBAAgB,6BAA6B,IAAI,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"failure-hints.d.ts","sourceRoot":"","sources":["../../src/output/failure-hints.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,CAUzE;AAID,wBAAgB,WAAW,IAAI,YAAY,EAAE,CAM5C;AAED,wBAAgB,mBAAmB,IAAI,YAAY,EAAE,CAMpD;AAED,wBAAgB,kBAAkB,IAAI,YAAY,EAAE,CAMnD;AAED,wBAAgB,yBAAyB,IAAI,YAAY,EAAE,CAK1D;AAED,wBAAgB,6BAA6B,IAAI,YAAY,EAAE,CAO9D;AAED,wBAAgB,kBAAkB,IAAI,YAAY,EAAE,CAKnD;AAED,wBAAgB,wBAAwB,IAAI,YAAY,EAAE,CAKzD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAiB9D;AAED,MAAM,MAAM,eAAe,GACvB,iBAAiB,GACjB,mBAAmB,GACnB,gBAAgB,GAChB,oBAAoB,GACpB,uBAAuB,GACvB,kBAAkB,GAClB,eAAe,GACf,2BAA2B,GAC3B,sBAAsB,GACtB,+BAA+B,GAC/B,wBAAwB,GACxB,8BAA8B,CAAC;AAEnC;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,GAAG,SAAS,CA4E3G"}
|