@deftai/directive 0.125.2 → 0.126.0-beta.1
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/bin/deft-hook +14 -0
- package/bin/deft-hook.cmd +14 -0
- package/dist/bin.js +4333 -3
- package/package.json +12 -23
- package/dist/agents-refresh.d.ts +0 -11
- package/dist/agents-refresh.js +0 -90
- package/dist/authz.d.ts +0 -7
- package/dist/authz.js +0 -732
- package/dist/bin.d.ts +0 -3
- package/dist/branch-fixtures.d.ts +0 -45
- package/dist/branch-fixtures.js +0 -156
- package/dist/cache.d.ts +0 -4
- package/dist/cache.js +0 -10
- package/dist/capacity-backfill.d.ts +0 -3
- package/dist/capacity-backfill.js +0 -9
- package/dist/capacity-show.d.ts +0 -3
- package/dist/capacity-show.js +0 -9
- package/dist/change-init.d.ts +0 -3
- package/dist/change-init.js +0 -59
- package/dist/changelog-check.d.ts +0 -3
- package/dist/changelog-check.js +0 -52
- package/dist/check.d.ts +0 -15
- package/dist/check.js +0 -150
- package/dist/cli-package-version.d.ts +0 -3
- package/dist/cli-package-version.js +0 -23
- package/dist/cli-router/index.d.ts +0 -8
- package/dist/cli-router/index.js +0 -44
- package/dist/cli-router/route-argv.d.ts +0 -40
- package/dist/cli-router/route-argv.js +0 -371
- package/dist/codebase-default-extractor.d.ts +0 -3
- package/dist/codebase-default-extractor.js +0 -9
- package/dist/codebase-map-fresh.d.ts +0 -3
- package/dist/codebase-map-fresh.js +0 -9
- package/dist/codebase-map.d.ts +0 -3
- package/dist/codebase-map.js +0 -9
- package/dist/codebase-projection-registry.d.ts +0 -3
- package/dist/codebase-projection-registry.js +0 -9
- package/dist/codebase-provider.d.ts +0 -3
- package/dist/codebase-provider.js +0 -9
- package/dist/commit-lint.d.ts +0 -3
- package/dist/commit-lint.js +0 -44
- package/dist/content-validate-cli/validate-links.d.ts +0 -11
- package/dist/content-validate-cli/validate-links.js +0 -37
- package/dist/content-validate-cli/validate-strategy-output.d.ts +0 -13
- package/dist/content-validate-cli/validate-strategy-output.js +0 -56
- package/dist/content-validate-cli/verify-capacity.d.ts +0 -12
- package/dist/content-validate-cli/verify-capacity.js +0 -54
- package/dist/coverage-hotspots.d.ts +0 -18
- package/dist/coverage-hotspots.js +0 -158
- package/dist/design-critique-spend-resolve.d.ts +0 -18
- package/dist/design-critique-spend-resolve.js +0 -191
- package/dist/directive-finish-loop.d.ts +0 -3
- package/dist/directive-finish-loop.js +0 -10
- package/dist/dispatch.d.ts +0 -193
- package/dist/dispatch.js +0 -3082
- package/dist/doctor.d.ts +0 -19
- package/dist/doctor.js +0 -155
- package/dist/entrypoint.d.ts +0 -6
- package/dist/entrypoint.js +0 -19
- package/dist/escalation-cli.d.ts +0 -4
- package/dist/escalation-cli.js +0 -301
- package/dist/eval-health.d.ts +0 -13
- package/dist/eval-health.js +0 -63
- package/dist/eval-report.d.ts +0 -15
- package/dist/eval-report.js +0 -97
- package/dist/eval-run.d.ts +0 -17
- package/dist/eval-run.js +0 -122
- package/dist/eval-triggers.d.ts +0 -12
- package/dist/eval-triggers.js +0 -56
- package/dist/framework-check-updates.d.ts +0 -10
- package/dist/framework-check-updates.js +0 -68
- package/dist/gates-cli/_helpers.d.ts +0 -24
- package/dist/gates-cli/_helpers.js +0 -115
- package/dist/gates-cli/verify-bridge-drift.d.ts +0 -11
- package/dist/gates-cli/verify-bridge-drift.js +0 -47
- package/dist/gates-cli/verify-go-freeze.d.ts +0 -11
- package/dist/gates-cli/verify-go-freeze.js +0 -48
- package/dist/hook-bin.d.ts +0 -3
- package/dist/hook-bin.js +0 -11
- package/dist/hook-dispatch.d.ts +0 -80
- package/dist/hook-dispatch.js +0 -186
- package/dist/human-presence-mint.d.ts +0 -70
- package/dist/human-presence-mint.js +0 -204
- package/dist/identity-banner.d.ts +0 -13
- package/dist/identity-banner.js +0 -19
- package/dist/index.d.ts +0 -11
- package/dist/index.js +0 -14
- package/dist/init-cli/constants.d.ts +0 -42
- package/dist/init-cli/constants.js +0 -42
- package/dist/init-cli/help.d.ts +0 -9
- package/dist/init-cli/help.js +0 -43
- package/dist/init-cli/init.d.ts +0 -26
- package/dist/init-cli/init.js +0 -80
- package/dist/init-cli/migrate.d.ts +0 -3
- package/dist/init-cli/migrate.js +0 -51
- package/dist/init-cli/resolve-binary.d.ts +0 -34
- package/dist/init-cli/resolve-binary.js +0 -78
- package/dist/init-cli/run-deft-install.d.ts +0 -23
- package/dist/init-cli/run-deft-install.js +0 -71
- package/dist/init-cli/update.d.ts +0 -5
- package/dist/init-cli/update.js +0 -38
- package/dist/install-cli/coverage-map.d.ts +0 -14
- package/dist/install-cli/coverage-map.js +0 -113
- package/dist/install-uninstall.d.ts +0 -3
- package/dist/install-uninstall.js +0 -44
- package/dist/install-upgrade.d.ts +0 -41
- package/dist/install-upgrade.js +0 -86
- package/dist/lifecycle-cli/coverage-map.d.ts +0 -16
- package/dist/lifecycle-cli/coverage-map.js +0 -254
- package/dist/lifecycle-cli/helpers.d.ts +0 -8
- package/dist/lifecycle-cli/helpers.js +0 -20
- package/dist/lifecycle-event.d.ts +0 -11
- package/dist/lifecycle-event.js +0 -45
- package/dist/lifecycle-stats.d.ts +0 -12
- package/dist/lifecycle-stats.js +0 -100
- package/dist/migrate-category-b.d.ts +0 -9
- package/dist/migrate-category-b.js +0 -52
- package/dist/migrate-preflight.d.ts +0 -10
- package/dist/migrate-preflight.js +0 -85
- package/dist/migrate-xbrief.d.ts +0 -11
- package/dist/migrate-xbrief.js +0 -88
- package/dist/occupancy-grant.d.ts +0 -18
- package/dist/occupancy-grant.js +0 -121
- package/dist/occupancy-heartbeat.d.ts +0 -8
- package/dist/occupancy-heartbeat.js +0 -63
- package/dist/occupancy-release.d.ts +0 -18
- package/dist/occupancy-release.js +0 -94
- package/dist/occupancy-steal.d.ts +0 -10
- package/dist/occupancy-steal.js +0 -83
- package/dist/occupancy-unrecognized.d.ts +0 -3
- package/dist/occupancy-unrecognized.js +0 -5
- package/dist/orchestration-cli/coverage-map.d.ts +0 -21
- package/dist/orchestration-cli/coverage-map.js +0 -225
- package/dist/orchestration-cli/helpers.d.ts +0 -11
- package/dist/orchestration-cli/helpers.js +0 -35
- package/dist/ownership-doctor.d.ts +0 -10
- package/dist/ownership-doctor.js +0 -96
- package/dist/ownership-fix.d.ts +0 -10
- package/dist/ownership-fix.js +0 -93
- package/dist/plan-sequence.d.ts +0 -13
- package/dist/plan-sequence.js +0 -196
- package/dist/policy-fixtures.d.ts +0 -33
- package/dist/policy-fixtures.js +0 -118
- package/dist/policy.d.ts +0 -35
- package/dist/policy.js +0 -738
- package/dist/pr-closing-keywords.d.ts +0 -3
- package/dist/pr-closing-keywords.js +0 -10
- package/dist/pr-finish-loop.d.ts +0 -3
- package/dist/pr-finish-loop.js +0 -10
- package/dist/pr-merge-readiness.d.ts +0 -3
- package/dist/pr-merge-readiness.js +0 -10
- package/dist/pr-monitor.d.ts +0 -3
- package/dist/pr-monitor.js +0 -10
- package/dist/pr-protected-issues.d.ts +0 -3
- package/dist/pr-protected-issues.js +0 -10
- package/dist/pr-wait-mergeable.d.ts +0 -3
- package/dist/pr-wait-mergeable.js +0 -10
- package/dist/pr-watch.d.ts +0 -3
- package/dist/pr-watch.js +0 -10
- package/dist/pre-pr-run.d.ts +0 -39
- package/dist/pre-pr-run.js +0 -514
- package/dist/preflight-cache.d.ts +0 -18
- package/dist/preflight-cache.js +0 -113
- package/dist/preflight-gh.d.ts +0 -15
- package/dist/preflight-gh.js +0 -143
- package/dist/probe-session.d.ts +0 -3
- package/dist/probe-session.js +0 -10
- package/dist/release-e2e-fixtures.d.ts +0 -29
- package/dist/release-e2e-fixtures.js +0 -38
- package/dist/release-e2e.d.ts +0 -3
- package/dist/release-e2e.js +0 -10
- package/dist/release-publish.d.ts +0 -3
- package/dist/release-publish.js +0 -10
- package/dist/release-rollback.d.ts +0 -3
- package/dist/release-rollback.js +0 -10
- package/dist/release-wait-npm.d.ts +0 -3
- package/dist/release-wait-npm.js +0 -10
- package/dist/release.d.ts +0 -3
- package/dist/release.js +0 -10
- package/dist/render-cli/deft-ts-runner.d.ts +0 -17
- package/dist/render-cli/deft-ts-runner.js +0 -19
- package/dist/render-cli/export-spec-cli.d.ts +0 -2
- package/dist/render-cli/export-spec-cli.js +0 -6
- package/dist/render-cli/prd-render-cli.d.ts +0 -2
- package/dist/render-cli/prd-render-cli.js +0 -37
- package/dist/render-cli/project-render-cli.d.ts +0 -2
- package/dist/render-cli/project-render-cli.js +0 -6
- package/dist/render-cli/rule-map-cli.d.ts +0 -2
- package/dist/render-cli/rule-map-cli.js +0 -5
- package/dist/render-cli/spec-reconstruct-cli.d.ts +0 -3
- package/dist/render-cli/spec-reconstruct-cli.js +0 -15
- package/dist/render-cli/spec-render-cli.d.ts +0 -2
- package/dist/render-cli/spec-render-cli.js +0 -39
- package/dist/render-cli/spec-validate-cli.d.ts +0 -2
- package/dist/render-cli/spec-validate-cli.js +0 -38
- package/dist/review-monitor-register.d.ts +0 -19
- package/dist/review-monitor-register.js +0 -183
- package/dist/review-monitor-release.d.ts +0 -14
- package/dist/review-monitor-release.js +0 -123
- package/dist/scm-sync-default.d.ts +0 -34
- package/dist/scm-sync-default.js +0 -210
- package/dist/scope-lifecycle.d.ts +0 -4
- package/dist/scope-lifecycle.js +0 -34
- package/dist/scope-record-approved-scope.d.ts +0 -29
- package/dist/scope-record-approved-scope.js +0 -319
- package/dist/scope-record-intent-constraint.d.ts +0 -16
- package/dist/scope-record-intent-constraint.js +0 -202
- package/dist/scope-record-observable-scope.d.ts +0 -16
- package/dist/scope-record-observable-scope.js +0 -204
- package/dist/session-ready.d.ts +0 -15
- package/dist/session-ready.js +0 -144
- package/dist/session-start.d.ts +0 -56
- package/dist/session-start.js +0 -554
- package/dist/slice.d.ts +0 -4
- package/dist/slice.js +0 -34
- package/dist/story-ready-fixtures.d.ts +0 -47
- package/dist/story-ready-fixtures.js +0 -137
- package/dist/subagent-monitor.d.ts +0 -3
- package/dist/subagent-monitor.js +0 -10
- package/dist/subagent-pre-cancel.d.ts +0 -21
- package/dist/subagent-pre-cancel.js +0 -240
- package/dist/subagent-steer-write.d.ts +0 -41
- package/dist/subagent-steer-write.js +0 -333
- package/dist/toolchain-check.d.ts +0 -8
- package/dist/toolchain-check.js +0 -54
- package/dist/triage-actions.d.ts +0 -23
- package/dist/triage-actions.js +0 -225
- package/dist/triage-aux-a-fixtures.d.ts +0 -33
- package/dist/triage-aux-a-fixtures.js +0 -107
- package/dist/triage-aux-b-fixtures.d.ts +0 -30
- package/dist/triage-aux-b-fixtures.js +0 -167
- package/dist/triage-bootstrap-fixtures.d.ts +0 -42
- package/dist/triage-bootstrap-fixtures.js +0 -139
- package/dist/triage-bootstrap.d.ts +0 -24
- package/dist/triage-bootstrap.js +0 -175
- package/dist/triage-bulk.d.ts +0 -17
- package/dist/triage-bulk.js +0 -154
- package/dist/triage-classify-fixtures.d.ts +0 -38
- package/dist/triage-classify-fixtures.js +0 -137
- package/dist/triage-classify.d.ts +0 -45
- package/dist/triage-classify.js +0 -287
- package/dist/triage-evaluate.d.ts +0 -14
- package/dist/triage-evaluate.js +0 -153
- package/dist/triage-help.d.ts +0 -3
- package/dist/triage-help.js +0 -10
- package/dist/triage-queue-fixtures.d.ts +0 -59
- package/dist/triage-queue-fixtures.js +0 -284
- package/dist/triage-queue.d.ts +0 -38
- package/dist/triage-queue.js +0 -391
- package/dist/triage-reconcile.d.ts +0 -11
- package/dist/triage-reconcile.js +0 -76
- package/dist/triage-refresh.d.ts +0 -7
- package/dist/triage-refresh.js +0 -37
- package/dist/triage-scope-drift.d.ts +0 -12
- package/dist/triage-scope-drift.js +0 -117
- package/dist/triage-scope-fixtures.d.ts +0 -32
- package/dist/triage-scope-fixtures.js +0 -131
- package/dist/triage-scope.d.ts +0 -4
- package/dist/triage-scope.js +0 -34
- package/dist/triage-smoketest.d.ts +0 -3
- package/dist/triage-smoketest.js +0 -43
- package/dist/triage-strip-withdrawn.d.ts +0 -21
- package/dist/triage-strip-withdrawn.js +0 -102
- package/dist/triage-subscribe.d.ts +0 -15
- package/dist/triage-subscribe.js +0 -157
- package/dist/triage-summary.d.ts +0 -14
- package/dist/triage-summary.js +0 -83
- package/dist/triage-welcome.d.ts +0 -14
- package/dist/triage-welcome.js +0 -121
- package/dist/ts-check-lane.d.ts +0 -9
- package/dist/ts-check-lane.js +0 -49
- package/dist/umbrella-current-shape.d.ts +0 -9
- package/dist/umbrella-current-shape.js +0 -56
- package/dist/vbrief-activate.d.ts +0 -3
- package/dist/vbrief-activate.js +0 -7
- package/dist/vbrief-build.d.ts +0 -3
- package/dist/vbrief-build.js +0 -8
- package/dist/vbrief-preflight-fixtures.d.ts +0 -32
- package/dist/vbrief-preflight-fixtures.js +0 -79
- package/dist/vbrief-preflight.d.ts +0 -13
- package/dist/vbrief-preflight.js +0 -141
- package/dist/vbrief-reconcile.d.ts +0 -3
- package/dist/vbrief-reconcile.js +0 -7
- package/dist/vbrief-validate.d.ts +0 -3
- package/dist/vbrief-validate.js +0 -8
- package/dist/vbrief-validation.d.ts +0 -3
- package/dist/vbrief-validation.js +0 -8
- package/dist/verify-ac.d.ts +0 -28
- package/dist/verify-ac.js +0 -439
- package/dist/verify-agents-md-advisory.d.ts +0 -19
- package/dist/verify-agents-md-advisory.js +0 -65
- package/dist/verify-agents-md-budget.d.ts +0 -12
- package/dist/verify-agents-md-budget.js +0 -71
- package/dist/verify-branch.d.ts +0 -14
- package/dist/verify-branch.js +0 -81
- package/dist/verify-class-checks.d.ts +0 -11
- package/dist/verify-class-checks.js +0 -71
- package/dist/verify-cohort-review-monitors.d.ts +0 -5
- package/dist/verify-cohort-review-monitors.js +0 -11
- package/dist/verify-completed-tracked.d.ts +0 -19
- package/dist/verify-completed-tracked.js +0 -202
- package/dist/verify-completed-write-guard.d.ts +0 -13
- package/dist/verify-completed-write-guard.js +0 -84
- package/dist/verify-consumer-check-contract.d.ts +0 -12
- package/dist/verify-consumer-check-contract.js +0 -70
- package/dist/verify-consumer-header-placeholder.d.ts +0 -12
- package/dist/verify-consumer-header-placeholder.js +0 -73
- package/dist/verify-consumer-test-lane.d.ts +0 -12
- package/dist/verify-consumer-test-lane.js +0 -57
- package/dist/verify-durable-effect-acquisition.d.ts +0 -13
- package/dist/verify-durable-effect-acquisition.js +0 -70
- package/dist/verify-encoding.d.ts +0 -15
- package/dist/verify-encoding.js +0 -83
- package/dist/verify-eval-health-relocation.d.ts +0 -16
- package/dist/verify-eval-health-relocation.js +0 -93
- package/dist/verify-eval-triggers-relocation.d.ts +0 -14
- package/dist/verify-eval-triggers-relocation.js +0 -74
- package/dist/verify-evaluator-surface.d.ts +0 -15
- package/dist/verify-evaluator-surface.js +0 -87
- package/dist/verify-forward-coverage.d.ts +0 -19
- package/dist/verify-forward-coverage.js +0 -144
- package/dist/verify-hooks-installed.d.ts +0 -24
- package/dist/verify-hooks-installed.js +0 -140
- package/dist/verify-intent-constraint.d.ts +0 -15
- package/dist/verify-intent-constraint.js +0 -86
- package/dist/verify-investigation.d.ts +0 -3
- package/dist/verify-investigation.js +0 -10
- package/dist/verify-judgment-gates.d.ts +0 -3
- package/dist/verify-judgment-gates.js +0 -10
- package/dist/verify-l4-owner.d.ts +0 -15
- package/dist/verify-l4-owner.js +0 -132
- package/dist/verify-lifecycle-visible.d.ts +0 -13
- package/dist/verify-lifecycle-visible.js +0 -68
- package/dist/verify-literal-ac.d.ts +0 -14
- package/dist/verify-literal-ac.js +0 -168
- package/dist/verify-no-task-runtime.d.ts +0 -3
- package/dist/verify-no-task-runtime.js +0 -16
- package/dist/verify-observable-scope.d.ts +0 -15
- package/dist/verify-observable-scope.js +0 -86
- package/dist/verify-operator-scope-limit.d.ts +0 -17
- package/dist/verify-operator-scope-limit.js +0 -285
- package/dist/verify-orphan-active.d.ts +0 -17
- package/dist/verify-orphan-active.js +0 -135
- package/dist/verify-ownership.d.ts +0 -10
- package/dist/verify-ownership.js +0 -90
- package/dist/verify-persisted-planning-narratives.d.ts +0 -12
- package/dist/verify-persisted-planning-narratives.js +0 -82
- package/dist/verify-plan-sequence.d.ts +0 -14
- package/dist/verify-plan-sequence.js +0 -138
- package/dist/verify-pr-closeout-attestable.d.ts +0 -15
- package/dist/verify-pr-closeout-attestable.js +0 -114
- package/dist/verify-presentation-ceiling.d.ts +0 -11
- package/dist/verify-presentation-ceiling.js +0 -71
- package/dist/verify-presentation-coverage.d.ts +0 -14
- package/dist/verify-presentation-coverage.js +0 -90
- package/dist/verify-review-monitor.d.ts +0 -25
- package/dist/verify-review-monitor.js +0 -341
- package/dist/verify-scope-provenance.d.ts +0 -16
- package/dist/verify-scope-provenance.js +0 -91
- package/dist/verify-session-ritual.d.ts +0 -23
- package/dist/verify-session-ritual.js +0 -144
- package/dist/verify-source-cli/rule-ownership-lint.d.ts +0 -12
- package/dist/verify-source-cli/rule-ownership-lint.js +0 -61
- package/dist/verify-source-cli/verify-biome-config.d.ts +0 -11
- package/dist/verify-source-cli/verify-biome-config.js +0 -46
- package/dist/verify-source-cli/verify-closing-keywords.d.ts +0 -35
- package/dist/verify-source-cli/verify-closing-keywords.js +0 -139
- package/dist/verify-source-cli/verify-consumer-hard-stops.d.ts +0 -16
- package/dist/verify-source-cli/verify-consumer-hard-stops.js +0 -99
- package/dist/verify-source-cli/verify-contained-writes.d.ts +0 -13
- package/dist/verify-source-cli/verify-contained-writes.js +0 -67
- package/dist/verify-source-cli/verify-content-manifest.d.ts +0 -12
- package/dist/verify-source-cli/verify-content-manifest.js +0 -61
- package/dist/verify-source-cli/verify-contract-drift.d.ts +0 -11
- package/dist/verify-source-cli/verify-contract-drift.js +0 -47
- package/dist/verify-source-cli/verify-cursor-tier1.d.ts +0 -12
- package/dist/verify-source-cli/verify-cursor-tier1.js +0 -51
- package/dist/verify-source-cli/verify-deposit-closure.d.ts +0 -12
- package/dist/verify-source-cli/verify-deposit-closure.js +0 -52
- package/dist/verify-source-cli/verify-openclaw-tier1.d.ts +0 -12
- package/dist/verify-source-cli/verify-openclaw-tier1.js +0 -51
- package/dist/verify-source-cli/verify-scm-boundary.d.ts +0 -13
- package/dist/verify-source-cli/verify-scm-boundary.js +0 -66
- package/dist/verify-source-cli/verify-semantic-single-source.d.ts +0 -11
- package/dist/verify-source-cli/verify-semantic-single-source.js +0 -49
- package/dist/verify-source-cli/verify-skill-external-fetch-gate.d.ts +0 -11
- package/dist/verify-source-cli/verify-skill-external-fetch-gate.js +0 -46
- package/dist/verify-source-cli/verify-spec-drift.d.ts +0 -3
- package/dist/verify-source-cli/verify-spec-drift.js +0 -15
- package/dist/verify-source-cli/verify-spec-prd-fresh.d.ts +0 -3
- package/dist/verify-source-cli/verify-spec-prd-fresh.js +0 -15
- package/dist/verify-source-cli/verify-stubs.d.ts +0 -11
- package/dist/verify-source-cli/verify-stubs.js +0 -27
- package/dist/verify-source-cli/verify-telemetry-coverage.d.ts +0 -13
- package/dist/verify-source-cli/verify-telemetry-coverage.js +0 -67
- package/dist/verify-source-cli/verify-xbrief-drift.d.ts +0 -15
- package/dist/verify-source-cli/verify-xbrief-drift.js +0 -80
- package/dist/verify-story-ready.d.ts +0 -18
- package/dist/verify-story-ready.js +0 -190
- package/dist/verify-subagent-alive.d.ts +0 -21
- package/dist/verify-subagent-alive.js +0 -219
- package/dist/verify-subagent-steer.d.ts +0 -19
- package/dist/verify-subagent-steer.js +0 -136
- package/dist/verify-test-boundary.d.ts +0 -12
- package/dist/verify-test-boundary.js +0 -80
- package/dist/verify-tools.d.ts +0 -13
- package/dist/verify-tools.js +0 -67
- package/dist/verify-wip-cap.d.ts +0 -13
- package/dist/verify-wip-cap.js +0 -62
- package/dist/windows-bin-ps1.d.ts +0 -39
- package/dist/windows-bin-ps1.js +0 -226
- package/dist/wip-cap-fixtures.d.ts +0 -37
- package/dist/wip-cap-fixtures.js +0 -122
- package/dist/wsl-ownership-guard.d.ts +0 -2
- package/dist/wsl-ownership-guard.js +0 -15
- package/dist/xbrief-create.d.ts +0 -3
- package/dist/xbrief-create.js +0 -9
- package/dist/xbrief-verify.d.ts +0 -3
- package/dist/xbrief-verify.js +0 -9
- package/scripts/remove-windows-ps1-shims.mjs +0 -26
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { resolve } from "node:path";
|
|
3
|
-
import { fileURLToPath } from "node:url";
|
|
4
|
-
import { verifyCapacity } from "@deftai/directive-core/validate-content";
|
|
5
|
-
/** Parse verify-capacity CLI args, mirroring scripts/verify_capacity.py. */
|
|
6
|
-
export function parseArgs(argv) {
|
|
7
|
-
const parsed = { projectRoot: ".", quiet: false };
|
|
8
|
-
for (let i = 0; i < argv.length; i += 1) {
|
|
9
|
-
const arg = argv[i];
|
|
10
|
-
if (arg === "--quiet") {
|
|
11
|
-
parsed.quiet = true;
|
|
12
|
-
}
|
|
13
|
-
else if (arg === "--project-root") {
|
|
14
|
-
const value = argv[i + 1];
|
|
15
|
-
if (value === undefined) {
|
|
16
|
-
return { ...parsed, error: "argument --project-root: expected one argument" };
|
|
17
|
-
}
|
|
18
|
-
parsed.projectRoot = value;
|
|
19
|
-
i += 1;
|
|
20
|
-
}
|
|
21
|
-
else if (arg?.startsWith("--project-root=")) {
|
|
22
|
-
parsed.projectRoot = arg.slice("--project-root=".length);
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
return { ...parsed, error: `unrecognized argument: ${arg}` };
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
return parsed;
|
|
29
|
-
}
|
|
30
|
-
/** Run the gate and return the process exit code. */
|
|
31
|
-
export function run(argv) {
|
|
32
|
-
const args = parseArgs(argv);
|
|
33
|
-
if (args.error !== undefined) {
|
|
34
|
-
process.stderr.write(`verify_capacity: ${args.error}\n`);
|
|
35
|
-
return 2;
|
|
36
|
-
}
|
|
37
|
-
const result = verifyCapacity.evaluate({
|
|
38
|
-
projectRoot: resolve(args.projectRoot),
|
|
39
|
-
quiet: args.quiet,
|
|
40
|
-
});
|
|
41
|
-
if (result.code === 0) {
|
|
42
|
-
if (!args.quiet && result.message.length > 0) {
|
|
43
|
-
process.stdout.write(`${result.message}\n`);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
process.stderr.write(`${result.message}\n`);
|
|
48
|
-
}
|
|
49
|
-
return result.code;
|
|
50
|
-
}
|
|
51
|
-
if (process.argv[1] !== undefined && fileURLToPath(import.meta.url) === process.argv[1]) {
|
|
52
|
-
process.exit(run(process.argv.slice(2)));
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=verify-capacity.js.map
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
interface ParsedArgs {
|
|
3
|
-
projectRoot: string;
|
|
4
|
-
coverageDir: string | null;
|
|
5
|
-
minHeadroomPp: number | null;
|
|
6
|
-
baseRef: string | null;
|
|
7
|
-
pathFilter: string[];
|
|
8
|
-
useDiffPaths: boolean;
|
|
9
|
-
json: boolean;
|
|
10
|
-
quiet: boolean;
|
|
11
|
-
error?: string;
|
|
12
|
-
}
|
|
13
|
-
/** Parse coverage-hotspots CLI args. */
|
|
14
|
-
export declare function parseArgs(argv: string[]): ParsedArgs;
|
|
15
|
-
/** Run coverage-hotspots and return the process exit code. */
|
|
16
|
-
export declare function run(argv: string[]): number;
|
|
17
|
-
export {};
|
|
18
|
-
//# sourceMappingURL=coverage-hotspots.d.ts.map
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { resolve } from "node:path";
|
|
3
|
-
import { fileURLToPath } from "node:url";
|
|
4
|
-
import { evaluateCoverageHotspots, formatJsonReport } from "@deftai/directive-core";
|
|
5
|
-
function parseNumber(raw) {
|
|
6
|
-
const value = Number.parseFloat(raw);
|
|
7
|
-
if (!Number.isFinite(value)) {
|
|
8
|
-
return null;
|
|
9
|
-
}
|
|
10
|
-
return value;
|
|
11
|
-
}
|
|
12
|
-
/** Parse coverage-hotspots CLI args. */
|
|
13
|
-
export function parseArgs(argv) {
|
|
14
|
-
const parsed = {
|
|
15
|
-
projectRoot: ".",
|
|
16
|
-
coverageDir: null,
|
|
17
|
-
minHeadroomPp: null,
|
|
18
|
-
baseRef: null,
|
|
19
|
-
pathFilter: [],
|
|
20
|
-
useDiffPaths: true,
|
|
21
|
-
json: false,
|
|
22
|
-
quiet: false,
|
|
23
|
-
};
|
|
24
|
-
for (let i = 0; i < argv.length; i += 1) {
|
|
25
|
-
const arg = argv[i];
|
|
26
|
-
if (arg === "--json") {
|
|
27
|
-
parsed.json = true;
|
|
28
|
-
}
|
|
29
|
-
else if (arg === "--quiet") {
|
|
30
|
-
parsed.quiet = true;
|
|
31
|
-
}
|
|
32
|
-
else if (arg === "--no-diff-filter") {
|
|
33
|
-
parsed.useDiffPaths = false;
|
|
34
|
-
}
|
|
35
|
-
else if (arg === "--project-root") {
|
|
36
|
-
const value = argv[i + 1];
|
|
37
|
-
if (value === undefined) {
|
|
38
|
-
return { ...parsed, error: "argument --project-root: expected one argument" };
|
|
39
|
-
}
|
|
40
|
-
parsed.projectRoot = value;
|
|
41
|
-
i += 1;
|
|
42
|
-
}
|
|
43
|
-
else if (arg?.startsWith("--project-root=")) {
|
|
44
|
-
parsed.projectRoot = arg.slice("--project-root=".length);
|
|
45
|
-
}
|
|
46
|
-
else if (arg === "--coverage-dir") {
|
|
47
|
-
const value = argv[i + 1];
|
|
48
|
-
if (value === undefined) {
|
|
49
|
-
return { ...parsed, error: "argument --coverage-dir: expected one argument" };
|
|
50
|
-
}
|
|
51
|
-
parsed.coverageDir = value;
|
|
52
|
-
i += 1;
|
|
53
|
-
}
|
|
54
|
-
else if (arg?.startsWith("--coverage-dir=")) {
|
|
55
|
-
parsed.coverageDir = arg.slice("--coverage-dir=".length);
|
|
56
|
-
}
|
|
57
|
-
else if (arg === "--min-headroom-pp") {
|
|
58
|
-
const value = argv[i + 1];
|
|
59
|
-
if (value === undefined) {
|
|
60
|
-
return { ...parsed, error: "argument --min-headroom-pp: expected one argument" };
|
|
61
|
-
}
|
|
62
|
-
const num = parseNumber(value);
|
|
63
|
-
if (num === null) {
|
|
64
|
-
return { ...parsed, error: "argument --min-headroom-pp: expected a number" };
|
|
65
|
-
}
|
|
66
|
-
parsed.minHeadroomPp = num;
|
|
67
|
-
i += 1;
|
|
68
|
-
}
|
|
69
|
-
else if (arg?.startsWith("--min-headroom-pp=")) {
|
|
70
|
-
const num = parseNumber(arg.slice("--min-headroom-pp=".length));
|
|
71
|
-
if (num === null) {
|
|
72
|
-
return { ...parsed, error: "argument --min-headroom-pp: expected a number" };
|
|
73
|
-
}
|
|
74
|
-
parsed.minHeadroomPp = num;
|
|
75
|
-
}
|
|
76
|
-
else if (arg === "--base-ref") {
|
|
77
|
-
const value = argv[i + 1];
|
|
78
|
-
if (value === undefined) {
|
|
79
|
-
return { ...parsed, error: "argument --base-ref: expected one argument" };
|
|
80
|
-
}
|
|
81
|
-
parsed.baseRef = value;
|
|
82
|
-
i += 1;
|
|
83
|
-
}
|
|
84
|
-
else if (arg?.startsWith("--base-ref=")) {
|
|
85
|
-
parsed.baseRef = arg.slice("--base-ref=".length);
|
|
86
|
-
}
|
|
87
|
-
else if (arg === "--path" || arg === "--paths") {
|
|
88
|
-
const value = argv[i + 1];
|
|
89
|
-
if (value === undefined) {
|
|
90
|
-
return { ...parsed, error: `argument ${arg}: expected one argument` };
|
|
91
|
-
}
|
|
92
|
-
parsed.pathFilter.push(...value
|
|
93
|
-
.split(",")
|
|
94
|
-
.map((part) => part.trim())
|
|
95
|
-
.filter(Boolean));
|
|
96
|
-
parsed.useDiffPaths = false;
|
|
97
|
-
i += 1;
|
|
98
|
-
}
|
|
99
|
-
else if (arg?.startsWith("--path=") || arg?.startsWith("--paths=")) {
|
|
100
|
-
const prefix = arg.startsWith("--path=") ? "--path=" : "--paths=";
|
|
101
|
-
parsed.pathFilter.push(...arg
|
|
102
|
-
.slice(prefix.length)
|
|
103
|
-
.split(",")
|
|
104
|
-
.map((part) => part.trim())
|
|
105
|
-
.filter(Boolean));
|
|
106
|
-
parsed.useDiffPaths = false;
|
|
107
|
-
}
|
|
108
|
-
else {
|
|
109
|
-
return { ...parsed, error: `unrecognized argument: ${arg}` };
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
return parsed;
|
|
113
|
-
}
|
|
114
|
-
/** Run coverage-hotspots and return the process exit code. */
|
|
115
|
-
export function run(argv) {
|
|
116
|
-
const args = parseArgs(argv);
|
|
117
|
-
if (args.error !== undefined) {
|
|
118
|
-
process.stderr.write(`coverage-hotspots: ${args.error}\n`);
|
|
119
|
-
return 2;
|
|
120
|
-
}
|
|
121
|
-
const projectRoot = resolve(args.projectRoot);
|
|
122
|
-
const result = evaluateCoverageHotspots({
|
|
123
|
-
projectRoot,
|
|
124
|
-
coverageDir: args.coverageDir ?? undefined,
|
|
125
|
-
minHeadroomPp: args.minHeadroomPp ?? undefined,
|
|
126
|
-
baseRef: args.baseRef,
|
|
127
|
-
pathFilter: args.pathFilter.length > 0 ? args.pathFilter : null,
|
|
128
|
-
useDiffPaths: args.useDiffPaths,
|
|
129
|
-
});
|
|
130
|
-
// Exit 3 = authorized coverage N/A (#5421); keep machine-readable artifact on stdout for --json.
|
|
131
|
-
if (result.exitCode === 3) {
|
|
132
|
-
if (args.json && result.applicability) {
|
|
133
|
-
process.stdout.write(`${JSON.stringify(result.applicability, null, 2)}\n`);
|
|
134
|
-
}
|
|
135
|
-
else if (!args.quiet) {
|
|
136
|
-
process.stderr.write(`${result.message}\n`);
|
|
137
|
-
}
|
|
138
|
-
return result.exitCode;
|
|
139
|
-
}
|
|
140
|
-
if (result.exitCode === 2 || result.report === null) {
|
|
141
|
-
process.stderr.write(`${result.message}\n`);
|
|
142
|
-
return result.exitCode;
|
|
143
|
-
}
|
|
144
|
-
const payload = args.json ? formatJsonReport(result.report) : result.message;
|
|
145
|
-
if (result.exitCode === 0) {
|
|
146
|
-
if (!args.quiet) {
|
|
147
|
-
process.stdout.write(payload);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
else {
|
|
151
|
-
process.stderr.write(payload);
|
|
152
|
-
}
|
|
153
|
-
return result.exitCode;
|
|
154
|
-
}
|
|
155
|
-
if (process.argv[1] !== undefined && fileURLToPath(import.meta.url) === process.argv[1]) {
|
|
156
|
-
process.exit(run(process.argv.slice(2)));
|
|
157
|
-
}
|
|
158
|
-
//# sourceMappingURL=coverage-hotspots.js.map
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
export declare const DESIGN_CRITIQUE_SPEND_RESOLVE_HELP = "design-critique:spend-resolve \u2014 record spend-recommend then resolve (#5466)\n\nUsage:\n deft design-critique:spend-resolve --utterance <text> --recommend N=1|N\u22653 [--project-root PATH] [--session-id ID] [--json]\n deft design-critique:spend-resolve --open-gate [--utterance <text>] [--project-root PATH] [--session-id ID]\n deft design-critique:spend-resolve --clear [--project-root PATH] [--session-id ID]\n deft design-critique:spend-resolve --utterance <text> --unclosable-recommend [--project-root PATH] [--session-id ID]\n\nOptions:\n --utterance TEXT Operator chat utterance (required except --open-gate/--clear)\n --recommend N=1|N\u22653 Closed Dual-stop recommendation (required on bare arc)\n --unclosable-recommend Parent-declared unclosable recommend; permit lawful ask\n --open-gate Open deny-default session-scoped arc-spend-state at arc start\n --clear Clear session arc-spend-state when the arc ends or is abandoned\n --session-id ID Session that owns arc-spend-state (default: DEFT_SESSION_ID / env)\n --project-root PATH Project root for arc-spend-state scratch (default: cwd)\n --json Emit structured result\n\nExit codes:\n 0 Resolved / gate opened / cleared\n 1 Refused (missing/invalid recommend, ambiguous, or unclosable ask path)\n 2 Config / usage error\n";
|
|
3
|
-
export interface DesignCritiqueSpendResolveArgs {
|
|
4
|
-
utterance: string | null;
|
|
5
|
-
recommend: string | null;
|
|
6
|
-
projectRoot: string;
|
|
7
|
-
sessionId: string | null;
|
|
8
|
-
emitJson: boolean;
|
|
9
|
-
help: boolean;
|
|
10
|
-
openGate: boolean;
|
|
11
|
-
clear: boolean;
|
|
12
|
-
unclosableRecommend: boolean;
|
|
13
|
-
error?: string;
|
|
14
|
-
}
|
|
15
|
-
export declare function parseDesignCritiqueSpendResolveArgs(argv: readonly string[]): DesignCritiqueSpendResolveArgs;
|
|
16
|
-
export declare function run(argv: readonly string[]): number;
|
|
17
|
-
export declare function main(argv: readonly string[]): number;
|
|
18
|
-
//# sourceMappingURL=design-critique-spend-resolve.d.ts.map
|
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* design-critique:spend-resolve — callable spend front door (#5466 Prefer-A).
|
|
4
|
-
* Records closed spend-recommend: + resolved spend:/spend-ask: via
|
|
5
|
-
* parseOperatorSpend / evaluateSpendRecord. Bare arc requires --recommend;
|
|
6
|
-
* never asks; never defaults N=1. Does not copy run-posture missing-token
|
|
7
|
-
* auto-resolve onto spend.
|
|
8
|
-
*/
|
|
9
|
-
import { resolve } from "node:path";
|
|
10
|
-
import { fileURLToPath } from "node:url";
|
|
11
|
-
import { clearArcSpendState, openArcSpendGate, resolveDesignCritiqueSpend, } from "@deftai/directive-core/dist/design-critique/spend.js";
|
|
12
|
-
export const DESIGN_CRITIQUE_SPEND_RESOLVE_HELP = `design-critique:spend-resolve — record spend-recommend then resolve (#5466)
|
|
13
|
-
|
|
14
|
-
Usage:
|
|
15
|
-
deft design-critique:spend-resolve --utterance <text> --recommend N=1|N≥3 [--project-root PATH] [--session-id ID] [--json]
|
|
16
|
-
deft design-critique:spend-resolve --open-gate [--utterance <text>] [--project-root PATH] [--session-id ID]
|
|
17
|
-
deft design-critique:spend-resolve --clear [--project-root PATH] [--session-id ID]
|
|
18
|
-
deft design-critique:spend-resolve --utterance <text> --unclosable-recommend [--project-root PATH] [--session-id ID]
|
|
19
|
-
|
|
20
|
-
Options:
|
|
21
|
-
--utterance TEXT Operator chat utterance (required except --open-gate/--clear)
|
|
22
|
-
--recommend N=1|N≥3 Closed Dual-stop recommendation (required on bare arc)
|
|
23
|
-
--unclosable-recommend Parent-declared unclosable recommend; permit lawful ask
|
|
24
|
-
--open-gate Open deny-default session-scoped arc-spend-state at arc start
|
|
25
|
-
--clear Clear session arc-spend-state when the arc ends or is abandoned
|
|
26
|
-
--session-id ID Session that owns arc-spend-state (default: DEFT_SESSION_ID / env)
|
|
27
|
-
--project-root PATH Project root for arc-spend-state scratch (default: cwd)
|
|
28
|
-
--json Emit structured result
|
|
29
|
-
|
|
30
|
-
Exit codes:
|
|
31
|
-
0 Resolved / gate opened / cleared
|
|
32
|
-
1 Refused (missing/invalid recommend, ambiguous, or unclosable ask path)
|
|
33
|
-
2 Config / usage error
|
|
34
|
-
`;
|
|
35
|
-
export function parseDesignCritiqueSpendResolveArgs(argv) {
|
|
36
|
-
const acc = {
|
|
37
|
-
utterance: null,
|
|
38
|
-
recommend: null,
|
|
39
|
-
projectRoot: ".",
|
|
40
|
-
sessionId: null,
|
|
41
|
-
emitJson: false,
|
|
42
|
-
help: false,
|
|
43
|
-
openGate: false,
|
|
44
|
-
clear: false,
|
|
45
|
-
unclosableRecommend: false,
|
|
46
|
-
};
|
|
47
|
-
for (let i = 0; i < argv.length; i += 1) {
|
|
48
|
-
const arg = argv[i];
|
|
49
|
-
// Accept a lone go-task / deft separator so documented `-- --utterance` forms work.
|
|
50
|
-
if (arg === "--") {
|
|
51
|
-
continue;
|
|
52
|
-
}
|
|
53
|
-
if (arg === "--help" || arg === "-h") {
|
|
54
|
-
return { ...acc, help: true };
|
|
55
|
-
}
|
|
56
|
-
if (arg === "--json") {
|
|
57
|
-
acc.emitJson = true;
|
|
58
|
-
continue;
|
|
59
|
-
}
|
|
60
|
-
if (arg === "--open-gate") {
|
|
61
|
-
acc.openGate = true;
|
|
62
|
-
continue;
|
|
63
|
-
}
|
|
64
|
-
if (arg === "--clear") {
|
|
65
|
-
acc.clear = true;
|
|
66
|
-
continue;
|
|
67
|
-
}
|
|
68
|
-
if (arg === "--unclosable-recommend") {
|
|
69
|
-
acc.unclosableRecommend = true;
|
|
70
|
-
continue;
|
|
71
|
-
}
|
|
72
|
-
if (arg === "--utterance") {
|
|
73
|
-
const value = argv[i + 1];
|
|
74
|
-
if (value === undefined) {
|
|
75
|
-
return { ...acc, error: "argument --utterance: expected one argument" };
|
|
76
|
-
}
|
|
77
|
-
acc.utterance = value;
|
|
78
|
-
i += 1;
|
|
79
|
-
continue;
|
|
80
|
-
}
|
|
81
|
-
if (arg?.startsWith("--utterance=")) {
|
|
82
|
-
acc.utterance = arg.slice("--utterance=".length);
|
|
83
|
-
continue;
|
|
84
|
-
}
|
|
85
|
-
if (arg === "--recommend") {
|
|
86
|
-
const value = argv[i + 1];
|
|
87
|
-
if (value === undefined) {
|
|
88
|
-
return { ...acc, error: "argument --recommend: expected one argument" };
|
|
89
|
-
}
|
|
90
|
-
acc.recommend = value;
|
|
91
|
-
i += 1;
|
|
92
|
-
continue;
|
|
93
|
-
}
|
|
94
|
-
if (arg?.startsWith("--recommend=")) {
|
|
95
|
-
acc.recommend = arg.slice("--recommend=".length);
|
|
96
|
-
continue;
|
|
97
|
-
}
|
|
98
|
-
if (arg === "--session-id") {
|
|
99
|
-
const value = argv[i + 1];
|
|
100
|
-
if (value === undefined || value.startsWith("--")) {
|
|
101
|
-
return { ...acc, error: "argument --session-id: expected one argument" };
|
|
102
|
-
}
|
|
103
|
-
acc.sessionId = value;
|
|
104
|
-
i += 1;
|
|
105
|
-
continue;
|
|
106
|
-
}
|
|
107
|
-
if (arg?.startsWith("--session-id=")) {
|
|
108
|
-
acc.sessionId = arg.slice("--session-id=".length);
|
|
109
|
-
continue;
|
|
110
|
-
}
|
|
111
|
-
if (arg === "--project-root") {
|
|
112
|
-
const value = argv[i + 1];
|
|
113
|
-
if (value === undefined) {
|
|
114
|
-
return { ...acc, error: "argument --project-root: expected one argument" };
|
|
115
|
-
}
|
|
116
|
-
acc.projectRoot = value;
|
|
117
|
-
i += 1;
|
|
118
|
-
continue;
|
|
119
|
-
}
|
|
120
|
-
if (arg?.startsWith("--project-root=")) {
|
|
121
|
-
acc.projectRoot = arg.slice("--project-root=".length);
|
|
122
|
-
continue;
|
|
123
|
-
}
|
|
124
|
-
return { ...acc, error: `unknown argument: ${arg}` };
|
|
125
|
-
}
|
|
126
|
-
return acc;
|
|
127
|
-
}
|
|
128
|
-
export function run(argv) {
|
|
129
|
-
const args = parseDesignCritiqueSpendResolveArgs(argv);
|
|
130
|
-
if (args.help) {
|
|
131
|
-
process.stdout.write(`${DESIGN_CRITIQUE_SPEND_RESOLVE_HELP}\n`);
|
|
132
|
-
return 0;
|
|
133
|
-
}
|
|
134
|
-
if (args.error !== undefined) {
|
|
135
|
-
process.stderr.write(`design-critique:spend-resolve: ${args.error}\n`);
|
|
136
|
-
return 2;
|
|
137
|
-
}
|
|
138
|
-
const projectRoot = resolve(args.projectRoot);
|
|
139
|
-
const sessionId = args.sessionId;
|
|
140
|
-
if (args.clear) {
|
|
141
|
-
const removed = clearArcSpendState(projectRoot, { sessionId });
|
|
142
|
-
if (args.emitJson) {
|
|
143
|
-
process.stdout.write(`${JSON.stringify({ ok: true, cleared: removed }, null, 2)}\n`);
|
|
144
|
-
}
|
|
145
|
-
else {
|
|
146
|
-
process.stdout.write(removed
|
|
147
|
-
? "design-critique:spend-resolve: cleared arc-spend-state\n"
|
|
148
|
-
: "design-critique:spend-resolve: no arc-spend-state to clear\n");
|
|
149
|
-
}
|
|
150
|
-
return 0;
|
|
151
|
-
}
|
|
152
|
-
if (args.openGate) {
|
|
153
|
-
const state = openArcSpendGate(projectRoot, { utterance: args.utterance, sessionId });
|
|
154
|
-
if (args.emitJson) {
|
|
155
|
-
process.stdout.write(`${JSON.stringify({ ok: true, opened: true, state }, null, 2)}\n`);
|
|
156
|
-
}
|
|
157
|
-
else {
|
|
158
|
-
process.stdout.write("design-critique:spend-resolve: opened arc spend gate (ask denied until --recommend or lawful ask)\n");
|
|
159
|
-
}
|
|
160
|
-
return 0;
|
|
161
|
-
}
|
|
162
|
-
if (args.utterance === null || args.utterance.trim().length === 0) {
|
|
163
|
-
process.stderr.write("design-critique:spend-resolve: --utterance is required\n" +
|
|
164
|
-
"Remediation: deft design-critique:spend-resolve --utterance <text> --recommend N=1|N≥3\n");
|
|
165
|
-
return 2;
|
|
166
|
-
}
|
|
167
|
-
const result = resolveDesignCritiqueSpend({
|
|
168
|
-
utterance: args.utterance,
|
|
169
|
-
recommendRaw: args.recommend,
|
|
170
|
-
unclosableRecommend: args.unclosableRecommend,
|
|
171
|
-
projectRoot,
|
|
172
|
-
sessionId,
|
|
173
|
-
});
|
|
174
|
-
if (args.emitJson) {
|
|
175
|
-
process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
|
|
176
|
-
}
|
|
177
|
-
else if (result.ok) {
|
|
178
|
-
process.stdout.write(`${result.lines.join("\n")}\n`);
|
|
179
|
-
}
|
|
180
|
-
else {
|
|
181
|
-
process.stderr.write(`${result.message}\n`);
|
|
182
|
-
}
|
|
183
|
-
return result.ok ? 0 : 1;
|
|
184
|
-
}
|
|
185
|
-
export function main(argv) {
|
|
186
|
-
return run(argv);
|
|
187
|
-
}
|
|
188
|
-
if (process.argv[1] !== undefined && fileURLToPath(import.meta.url) === process.argv[1]) {
|
|
189
|
-
process.exit(run(process.argv.slice(2)));
|
|
190
|
-
}
|
|
191
|
-
//# sourceMappingURL=design-critique-spend-resolve.js.map
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { fileURLToPath } from "node:url";
|
|
3
|
-
import { cmdDirectiveFinishLoop } from "@deftai/directive-core/dist/finish-loop/main.js";
|
|
4
|
-
export function run(argv) {
|
|
5
|
-
return cmdDirectiveFinishLoop(argv);
|
|
6
|
-
}
|
|
7
|
-
if (process.argv[1] !== undefined && fileURLToPath(import.meta.url) === process.argv[1]) {
|
|
8
|
-
process.exit(run(process.argv.slice(2)));
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=directive-finish-loop.js.map
|
package/dist/dispatch.d.ts
DELETED
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Unified `directive <verb> [args]` dispatcher (#1828 s0).
|
|
3
|
-
* Routes to ported command modules in packages/cli and packages/core.
|
|
4
|
-
*/
|
|
5
|
-
import { spawnSync } from "node:child_process";
|
|
6
|
-
import { type WhichFn } from "@deftai/directive-core/scm";
|
|
7
|
-
export type CommandHandler = (argv: string[]) => number | Promise<number>;
|
|
8
|
-
export interface DispatchIo {
|
|
9
|
-
writeOut: (text: string) => void;
|
|
10
|
-
writeErr: (text: string) => void;
|
|
11
|
-
}
|
|
12
|
-
/** CLI modules in packages/cli/src (excluding parity harnesses and bin/index). */
|
|
13
|
-
export declare const CLI_MODULE_VERBS: readonly ["agents-refresh", "cache", "check", "capacity-backfill", "capacity-show", "codebase-default-extractor", "codebase-map", "codebase-map-fresh", "codebase-projection-registry", "codebase-provider", "doctor", "ownership-doctor", "ownership-fix", "verify-ownership", "install-upgrade", "install-uninstall", "migrate-preflight", "migrate-xbrief", "migrate-category-b", "framework-check-updates", "hook-dispatch", "umbrella-current-shape", "changelog-check", "change-init", "commit-lint", "coverage-hotspots", "policy", "authz", "escalation-cli", "pr-closing-keywords", "pr-merge-readiness", "pr-monitor", "pr-protected-issues", "pr-wait-mergeable", "pr-watch", "pr-finish-loop", "directive-finish-loop", "pre-pr-run", "preflight-cache", "preflight-gh", "probe-session", "release", "release-e2e", "release-publish", "release-rollback", "release-wait-npm", "scope-lifecycle", "scope-record-approved-scope", "scope-record-observable-scope", "scope-record-intent-constraint", "scm-sync-default", "lifecycle-event", "lifecycle-stats", "session-start", "session-ready", "occupancy-steal", "occupancy-release", "occupancy-heartbeat", "occupancy-grant", "plan-sequence", "slice", "subagent-monitor", "toolchain-check", "triage-actions", "triage-bootstrap", "triage-bulk", "triage-classify", "triage-strip-withdrawn", "triage-evaluate", "triage-help", "triage-queue", "triage-reconcile", "triage-refresh", "triage-scope", "triage-scope-drift", "triage-smoketest", "triage-subscribe", "triage-summary", "triage-welcome", "ts-check-lane", "vbrief-activate", "vbrief-build", "vbrief-preflight", "vbrief-reconcile", "vbrief-validate", "vbrief-validation", "xbrief-create", "xbrief-verify", "xbrief-adopt-stored-plan-id", "verify-branch", "verify-encoding", "verify-forward-coverage", "verify-test-boundary", "verify-class-checks", "verify-presentation-coverage", "verify-scope-provenance", "verify-consumer-check-contract", "verify-hooks-installed", "verify-investigation", "verify-judgment-gates", "verify-no-task-runtime", "validate-links", "validate-strategy-output", "verify-biome-config", "verify-bridge-drift", "verify-capacity", "verify-contained-writes", "verify-telemetry-coverage", "verify-content-manifest", "verify-deposit-closure", "verify-consumer-hard-stops", "verify-closing-keywords", "verify-skill-external-fetch-gate", "verify-semantic-single-source", "verify-contract-drift", "verify-cursor-tier1", "verify-openclaw-tier1", "verify-go-freeze", "verify-scm-boundary", "verify-session-ritual", "verify-plan-sequence", "verify-stubs", "verify-xbrief-drift", "verify-spec-prd-fresh", "verify-spec-drift", "rule-ownership-lint", "verify-story-ready", "verify-review-monitor", "verify-cohort-review-monitors", "verify-l4-owner", "verify-subagent-alive", "verify-subagent-steer", "subagent-pre-cancel", "subagent-steer-write", "design-critique-spend-resolve", "review-monitor-register", "review-monitor-release", "verify-tools", "verify-wip-cap", "verify-orphan-active", "verify-pr-closeout-attestable", "verify-lifecycle-visible", "verify-completed-tracked", "verify-completed-write-guard", "verify-literal-ac", "verify-ac", "verify-agents-md-budget", "verify-consumer-header-placeholder", "verify-agents-md-advisory", "verify-persisted-planning-narratives", "verify-eval-health-relocation", "verify-eval-triggers-relocation", "verify-evaluator-surface", "verify-observable-scope", "verify-operator-scope-limit", "verify-presentation-ceiling", "verify-intent-constraint", "verify-durable-effect-acquisition", "verify-consumer-test-lane", "eval-health", "eval-run", "eval-report", "eval-triggers"];
|
|
14
|
-
/** Core-only CLI entrypoints without a packages/cli wrapper. */
|
|
15
|
-
export declare const CORE_MODULE_VERBS: readonly ["scm", "scm-readiness", "github-auth-modes", "github-body", "issue-emit", "issue-ingest", "issue-sync-from-xbrief", "reconcile-issues", "swarm-launch", "swarm-complete-cohort", "swarm-finalize-cohort", "swarm-finalize-owed", "swarm-pre-dispatch", "swarm-readiness", "swarm-routing-verify", "swarm-routing-set", "swarm-verify-review-clean", "swarm-worktrees", "framework-commands", "pack-render", "packs-slice", "prd-render", "export-spec", "project-render", "project-write-narratives", "roadmap-render", "rule-map", "spec-render", "spec-reconstruct", "spec-validate", "code-structure-validate", "pack-migrate-skills", "pack-migrate-rules", "pack-migrate-strategies", "pack-migrate-patterns", "pack-migrate-swarm-spec", "policy-set", "setup-ghx", "scope-undo", "scope-demote", "scope-decompose", "changelog-resolve-unreleased", "architecture-preflight-sor", "feedback-file", "value-readback", "product-signal", "freshness-report", "decision-write", "decision-list", "docs-impact", "tutorial", "migrate-clause-ids", "migrate-confidence", "rule-to-verb-parity"];
|
|
16
|
-
/** Colon aliases for triage-actions (mirrors cli-router SUBCOMMAND_ROUTES). */
|
|
17
|
-
export declare const TRIAGE_ACTION_ALIAS_SUBCOMMANDS: Readonly<Record<string, string>>;
|
|
18
|
-
/** Colon aliases for policy subcommands (mirrors cli-router SUBCOMMAND_ROUTES). */
|
|
19
|
-
export declare const POLICY_ACTION_ALIAS_SUBCOMMANDS: Readonly<Record<string, string>>;
|
|
20
|
-
/** Colon aliases for authz subcommands (#2944). */
|
|
21
|
-
export declare const AUTHZ_ACTION_ALIAS_SUBCOMMANDS: Readonly<Record<string, string>>;
|
|
22
|
-
/** Colon aliases for escalation subcommands (#518). */
|
|
23
|
-
export declare const ESCALATION_ACTION_ALIAS_SUBCOMMANDS: Readonly<Record<string, string>>;
|
|
24
|
-
/** Colon aliases for plan-sequence subcommands (#2402). */
|
|
25
|
-
export declare const PLAN_SEQUENCE_ALIAS_SUBCOMMANDS: Readonly<Record<string, string>>;
|
|
26
|
-
/** Colon aliases for the Directive Tutorial (#4981). */
|
|
27
|
-
export declare const TUTORIAL_ALIAS_SUBCOMMANDS: Readonly<Record<string, string>>;
|
|
28
|
-
/** Colon aliases for product-signal subcommands (#2693). */
|
|
29
|
-
export declare const PRODUCT_SIGNAL_ALIAS_SUBCOMMANDS: Readonly<Record<string, string>>;
|
|
30
|
-
/** Colon aliases for freshness subcommands (#3117). */
|
|
31
|
-
export declare const FRESHNESS_ALIAS_SUBCOMMANDS: Readonly<Record<string, string>>;
|
|
32
|
-
/** Task-style aliases (framework_commands / Taskfile names). */
|
|
33
|
-
export declare const VERB_ALIASES: Readonly<Record<string, string>>;
|
|
34
|
-
/** Pinned ghx version (display only) — keep in lockstep with .github/workflows/ci.yml env.GHX_VERSION. */
|
|
35
|
-
export declare const GHX_VERSION = "v1.5.1";
|
|
36
|
-
/**
|
|
37
|
-
* Immutable commit SHA the GHX_VERSION tag resolved to at vendor time
|
|
38
|
-
* (2026-07-02, via `gh api repos/brunoborges/ghx/git/refs/tags/v1.5.1`).
|
|
39
|
-
* Fetch URLs pin to this SHA rather than the mutable tag name so a future
|
|
40
|
-
* tag force-move on brunoborges/ghx cannot silently swap the fetched bytes
|
|
41
|
-
* out from under the vendored SHA-256 hashes below (#2178).
|
|
42
|
-
*/
|
|
43
|
-
export declare const GHX_COMMIT_SHA = "aa4a2786660e27392b0d3e8886f140e0a0261a0c";
|
|
44
|
-
export declare const INSTALL_PS1_URL = "https://raw.githubusercontent.com/brunoborges/ghx/aa4a2786660e27392b0d3e8886f140e0a0261a0c/install.ps1";
|
|
45
|
-
export declare const INSTALL_SH_URL = "https://raw.githubusercontent.com/brunoborges/ghx/aa4a2786660e27392b0d3e8886f140e0a0261a0c/install.sh";
|
|
46
|
-
/**
|
|
47
|
-
* SHA-256 of the installer scripts at GHX_COMMIT_SHA, vendored so the
|
|
48
|
-
* download-verify-execute pipeline below can refuse to run tampered bytes.
|
|
49
|
-
* Matches `.github/workflows/ci.yml` env.GHX_INSTALL_SH_SHA256 /
|
|
50
|
-
* GHX_INSTALL_PS1_SHA256 (#1070 / #1328) — keep both in lockstep (#2178).
|
|
51
|
-
*/
|
|
52
|
-
export declare const GHX_INSTALL_SH_SHA256 = "08c768feb6d2bc485079898f7e76c2b07576cbb1188a356acf99dac0fc55d1cb";
|
|
53
|
-
export declare const GHX_INSTALL_PS1_SHA256 = "5f67eab68970ecc55bb0fc1b8399ba6f3ce4b2aadeee39255d628e96d187a5ed";
|
|
54
|
-
export type SetupGhxHost = "windows" | "darwin" | "linux" | string;
|
|
55
|
-
/** Downloads a URL and resolves to its raw bytes. Injectable so tests never hit the network. */
|
|
56
|
-
export type GhxDownloadFn = (url: string) => Promise<Buffer>;
|
|
57
|
-
/** True when `buf`'s SHA-256 (hex) matches `expectedHex`, case- and whitespace-insensitive. */
|
|
58
|
-
export declare function verifyGhxSha256(buf: Buffer, expectedHex: string): boolean;
|
|
59
|
-
export interface GhxInstallerAsset {
|
|
60
|
-
url: string;
|
|
61
|
-
sha256: string;
|
|
62
|
-
fileExt: "sh" | "ps1";
|
|
63
|
-
}
|
|
64
|
-
export declare function resolveGhxInstallerAsset(host: SetupGhxHost): GhxInstallerAsset;
|
|
65
|
-
export interface SetupGhxDeps {
|
|
66
|
-
whichFn?: WhichFn;
|
|
67
|
-
readConsentLine?: () => string;
|
|
68
|
-
runInstall?: (host: SetupGhxHost) => number | Promise<number>;
|
|
69
|
-
downloadFn?: GhxDownloadFn;
|
|
70
|
-
runner?: typeof spawnSync;
|
|
71
|
-
}
|
|
72
|
-
export declare function ghxPresent(whichFn?: WhichFn): boolean;
|
|
73
|
-
export declare function detectSetupGhxHost(): SetupGhxHost;
|
|
74
|
-
export declare function promptSetupGhxConsent(io: DispatchIo, readLine?: () => string): boolean;
|
|
75
|
-
/**
|
|
76
|
-
* Downloads `asset`, verifies it against its vendored SHA-256, and writes it
|
|
77
|
-
* to a private local temp file. Returns the local path, ready for direct
|
|
78
|
-
* local-file execution (never piped into a shell). Throws -- without
|
|
79
|
-
* writing or executing anything -- on a hash mismatch (#2178). Split out
|
|
80
|
-
* from `fetchAndVerifyGhxInstaller` so tests can exercise the download ->
|
|
81
|
-
* verify -> write pipeline against a synthetic asset/hash without depending
|
|
82
|
-
* on the real vendored constants or the network.
|
|
83
|
-
*/
|
|
84
|
-
export declare function fetchAndVerifyGhxInstallerAsset(asset: GhxInstallerAsset, downloadFn?: GhxDownloadFn): Promise<string>;
|
|
85
|
-
/**
|
|
86
|
-
* Downloads the pinned installer for `host`, verifies it against the
|
|
87
|
-
* vendored SHA-256, and writes it to a private local temp file. Returns the
|
|
88
|
-
* local path, ready for direct local-file execution (never piped into a
|
|
89
|
-
* shell). Throws -- without writing or executing anything -- on a hash
|
|
90
|
-
* mismatch (#2178).
|
|
91
|
-
*/
|
|
92
|
-
export declare function fetchAndVerifyGhxInstaller(host: SetupGhxHost, downloadFn?: GhxDownloadFn): Promise<string>;
|
|
93
|
-
/**
|
|
94
|
-
* Executes an already-downloaded, hash-verified installer from its local
|
|
95
|
-
* temp path. No live pipe (`curl | bash` / `irm | iex`) and no
|
|
96
|
-
* `-ExecutionPolicy Bypass` -- the file is written by Node, so it never
|
|
97
|
-
* carries a Windows Mark-of-the-Web zone identifier the way a browser or
|
|
98
|
-
* `Invoke-WebRequest` download would; `RemoteSigned` treats it as a local,
|
|
99
|
-
* unsigned-but-trusted script (#2178).
|
|
100
|
-
*/
|
|
101
|
-
export declare function executeVerifiedGhxInstaller(host: SetupGhxHost, installerPath: string, whichFn?: WhichFn, runner?: typeof spawnSync): number;
|
|
102
|
-
/**
|
|
103
|
-
* Downloads, hash-verifies, and executes `asset` for `host`. Cleans up the
|
|
104
|
-
* temp file (and its containing directory) regardless of outcome. Split out
|
|
105
|
-
* from `installSetupGhx` so tests can exercise the full download -> verify
|
|
106
|
-
* -> execute -> cleanup pipeline against a synthetic asset without depending
|
|
107
|
-
* on the real vendored constants or the network (#2178).
|
|
108
|
-
*/
|
|
109
|
-
export declare function installVerifiedGhxAsset(asset: GhxInstallerAsset, host: SetupGhxHost, whichFn?: WhichFn, runner?: typeof spawnSync, downloadFn?: GhxDownloadFn): Promise<number>;
|
|
110
|
-
/**
|
|
111
|
-
* Downloads, hash-verifies, and executes the ghx installer for `host`.
|
|
112
|
-
* Cleans up the temp file (and its containing directory) regardless of
|
|
113
|
-
* outcome (#2178).
|
|
114
|
-
*/
|
|
115
|
-
export declare function installSetupGhx(host: SetupGhxHost, whichFn?: WhichFn, runner?: typeof spawnSync, downloadFn?: GhxDownloadFn): Promise<number>;
|
|
116
|
-
/** Native `setup:ghx` handler (replaces scripts/setup_ghx.py shell-out, #2022 Phase 1). */
|
|
117
|
-
export declare function runSetupGhx(argv: string[], io: DispatchIo, deps?: SetupGhxDeps): Promise<number>;
|
|
118
|
-
export declare const SETUP_SKILL_REL_PATH = ".deft/core/skills/deft-directive-setup/SKILL.md";
|
|
119
|
-
export type BootstrapPhaseLabel = "user" | "project" | "spec";
|
|
120
|
-
export type BootstrapReEntry = "none" | "prompt" | "reconfigure" | "force";
|
|
121
|
-
export interface DirectiveBootstrapArgs {
|
|
122
|
-
projectRoot: string;
|
|
123
|
-
jumpProject: boolean;
|
|
124
|
-
strategy: string | null;
|
|
125
|
-
reconfigure: boolean;
|
|
126
|
-
force: boolean;
|
|
127
|
-
json: boolean;
|
|
128
|
-
error?: string;
|
|
129
|
-
}
|
|
130
|
-
export interface DirectiveBootstrapPlan {
|
|
131
|
-
phase: 1 | 2 | 3;
|
|
132
|
-
phaseLabel: BootstrapPhaseLabel;
|
|
133
|
-
reEntry: BootstrapReEntry;
|
|
134
|
-
strategy: string | null;
|
|
135
|
-
}
|
|
136
|
-
export interface DirectiveBootstrapHandoff {
|
|
137
|
-
handoff: "deft-directive-setup";
|
|
138
|
-
skill_path: string;
|
|
139
|
-
project_root: string;
|
|
140
|
-
deposited: boolean;
|
|
141
|
-
phase: 1 | 2 | 3;
|
|
142
|
-
phase_label: BootstrapPhaseLabel;
|
|
143
|
-
re_entry: BootstrapReEntry;
|
|
144
|
-
strategy: string | null;
|
|
145
|
-
}
|
|
146
|
-
export interface DirectiveBootstrapDeps {
|
|
147
|
-
deftCorePresent?: (projectRoot: string) => boolean;
|
|
148
|
-
userMdPresent?: (projectRoot: string) => boolean;
|
|
149
|
-
projectDefPresent?: (projectRoot: string) => boolean;
|
|
150
|
-
runInitDeposit?: (projectRoot: string, io: DispatchIo) => Promise<number>;
|
|
151
|
-
}
|
|
152
|
-
/** Parse `directive bootstrap` argv (#2022 Phase 4). */
|
|
153
|
-
export declare function parseDirectiveBootstrapArgs(argv: readonly string[]): DirectiveBootstrapArgs;
|
|
154
|
-
/** Resolve phase intent and deliberate re-entry signal from parsed args + on-disk state. */
|
|
155
|
-
export declare function resolveDirectiveBootstrapPlan(args: DirectiveBootstrapArgs, deps: Required<DirectiveBootstrapDeps>): DirectiveBootstrapPlan;
|
|
156
|
-
/** Native `directive bootstrap` handler (#2022 Phase 4). */
|
|
157
|
-
export declare function runDirectiveBootstrap(argv: string[], io: DispatchIo, deps?: DirectiveBootstrapDeps): Promise<number>;
|
|
158
|
-
/** Native `policy-set` dispatcher (replaces the policy_set.py shell-out, #2022 Phase 1). */
|
|
159
|
-
export declare function runPolicySet(argv: string[], io: DispatchIo): number;
|
|
160
|
-
/** Resolve a user-facing verb to its canonical handler key. */
|
|
161
|
-
export declare function resolveCanonicalVerb(verb: string): string | null;
|
|
162
|
-
/** Sorted list of all registered verb names (canonical + aliases). */
|
|
163
|
-
export declare function registeredVerbs(): readonly string[];
|
|
164
|
-
/**
|
|
165
|
-
* Deduplicated command names for `directive commands`, preferring colon-style
|
|
166
|
-
* task verbs over dash-style canonical stems when both exist (#2172).
|
|
167
|
-
*/
|
|
168
|
-
export declare function preferredCommandNames(): readonly string[];
|
|
169
|
-
/** Major.minor label for the curated help title (#2172). */
|
|
170
|
-
export declare function helpVersionLabel(): string;
|
|
171
|
-
/**
|
|
172
|
-
* Print the exhaustive registered-command list for `directive commands` (#2172).
|
|
173
|
-
* Lists deduplicated preferred names (colon-style when available).
|
|
174
|
-
*/
|
|
175
|
-
export declare function printCommandsList(io?: DispatchIo): void;
|
|
176
|
-
/**
|
|
177
|
-
* Print curated top-level help: title/version, usage, common options, grouped
|
|
178
|
-
* common commands, and a pointer to `directive commands` for the full list
|
|
179
|
-
* (#2172). Preserves the init/update/doctor first-run guidance from #2273.
|
|
180
|
-
*/
|
|
181
|
-
export declare function printHelp(io?: DispatchIo): void;
|
|
182
|
-
export type UnknownColonHintContext = "framework" | "include-only" | "no-taskfile" | "unknown";
|
|
183
|
-
/**
|
|
184
|
-
* Unknown-colon-verb remediation (#3439 / #2652 / #5521).
|
|
185
|
-
* Never re-suggest the failing `deft <verb>` spelling. Prefer Taskfile
|
|
186
|
-
* dual-invoke forms when known; demote hyphen stems; no `task --list` shell-out.
|
|
187
|
-
*/
|
|
188
|
-
export declare function unknownColonVerbHint(verb: string, context?: UnknownColonHintContext): string;
|
|
189
|
-
/** Dispatch argv to a registered verb; returns the handler exit code. */
|
|
190
|
-
export declare function dispatch(argv: string[], io?: DispatchIo): Promise<number>;
|
|
191
|
-
/** Test seam: reset lazy handler cache between cases. */
|
|
192
|
-
export declare function resetHandlerCacheForTests(): void;
|
|
193
|
-
//# sourceMappingURL=dispatch.d.ts.map
|