@intentius/chant 0.124.27 → 0.124.29
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/README.md +1 -1
- package/dist/__golden__/wave-loop/fan-out-gated.json +8 -0
- package/dist/__golden__/wave-loop/fan-out-no-members.json +4 -0
- package/dist/__golden__/wave-loop/fan-out-only.json +6 -0
- package/dist/__golden__/wave-loop/op-by-apply-hold.json +2 -0
- package/dist/__golden__/wave-loop/op-cost-member.json +3 -0
- package/dist/__golden__/wave-loop/op-held-on-before-apply.json +1 -0
- package/dist/__golden__/wave-loop/op-held-on.json +2 -0
- package/dist/__golden__/wave-loop/op-hooks-held.json +2 -0
- package/dist/__golden__/wave-loop/op-hooks-hold-before-apply.json +2 -0
- package/dist/__golden__/wave-loop/op-hooks-refused-at-base.json +3 -0
- package/dist/__golden__/wave-loop/op-hooks-share.json +3 -0
- package/dist/__golden__/wave-loop/op-per-run.json +7 -0
- package/dist/__golden__/wave-loop/op-pr-review.json +7 -0
- package/dist/__golden__/wave-loop/op-sealed.json +3 -0
- package/dist/__golden__/wave-loop/op-spend.json +3 -0
- package/dist/__golden__/wave-loop/op-wave-commands.json +7 -0
- package/dist/__golden__/wave-loop/op-wide-waiting.json +4 -0
- package/dist/build-params.d.ts +34 -1
- package/dist/build-params.d.ts.map +1 -1
- package/dist/build-params.js +31 -1
- package/dist/change-set-graph.d.ts +63 -0
- package/dist/change-set-graph.d.ts.map +1 -0
- package/dist/change-set-graph.js +130 -0
- package/dist/change-set.d.ts +62 -3
- package/dist/change-set.d.ts.map +1 -1
- package/dist/change-set.js +36 -4
- package/dist/chant-version.d.ts +9 -0
- package/dist/chant-version.d.ts.map +1 -0
- package/dist/chant-version.js +16 -0
- package/dist/cli/build-params-cli.d.ts +7 -1
- package/dist/cli/build-params-cli.d.ts.map +1 -1
- package/dist/cli/build-params-cli.js +17 -8
- package/dist/cli/commands/build.d.ts +8 -0
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +15 -11
- package/dist/cli/commands/check-lexicon-docs.d.ts.map +1 -1
- package/dist/cli/commands/check-lexicon-docs.js +30 -2
- package/dist/cli/commands/check-lexicon.d.ts.map +1 -1
- package/dist/cli/commands/check-lexicon.js +13 -2
- package/dist/cli/commands/init-lexicon/templates/docs.d.ts +4 -1
- package/dist/cli/commands/init-lexicon/templates/docs.d.ts.map +1 -1
- package/dist/cli/commands/init-lexicon/templates/docs.js +6 -6
- package/dist/cli/commands/init-lexicon.d.ts.map +1 -1
- package/dist/cli/commands/init-lexicon.js +17 -8
- package/dist/cli/handlers/approve.d.ts.map +1 -1
- package/dist/cli/handlers/approve.js +64 -4
- package/dist/cli/handlers/build.d.ts.map +1 -1
- package/dist/cli/handlers/build.js +43 -4
- package/dist/cli/handlers/change-set.d.ts +10 -0
- package/dist/cli/handlers/change-set.d.ts.map +1 -1
- package/dist/cli/handlers/change-set.js +51 -1
- package/dist/cli/handlers/fan-out.d.ts +10 -1
- package/dist/cli/handlers/fan-out.d.ts.map +1 -1
- package/dist/cli/handlers/fan-out.js +54 -6
- package/dist/cli/handlers/lifecycle-gc.d.ts +19 -0
- package/dist/cli/handlers/lifecycle-gc.d.ts.map +1 -0
- package/dist/cli/handlers/lifecycle-gc.js +143 -0
- package/dist/cli/handlers/pr.d.ts +16 -2
- package/dist/cli/handlers/pr.d.ts.map +1 -1
- package/dist/cli/handlers/pr.js +269 -37
- package/dist/cli/handlers/promote.d.ts +7 -0
- package/dist/cli/handlers/promote.d.ts.map +1 -1
- package/dist/cli/handlers/promote.js +440 -28
- package/dist/cli/handlers/release.d.ts +91 -0
- package/dist/cli/handlers/release.d.ts.map +1 -0
- package/dist/cli/handlers/release.js +589 -0
- package/dist/cli/handlers/run.d.ts +38 -2
- package/dist/cli/handlers/run.d.ts.map +1 -1
- package/dist/cli/handlers/run.js +234 -16
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +143 -17
- package/dist/cli/mcp/workspace-tools.js +1 -1
- package/dist/cli/parse-args.d.ts.map +1 -1
- package/dist/cli/parse-args.js +73 -5
- package/dist/cli/registry.d.ts +43 -5
- package/dist/cli/registry.d.ts.map +1 -1
- package/dist/cli/run-events.d.ts +30 -0
- package/dist/cli/run-events.d.ts.map +1 -0
- package/dist/cli/run-events.js +49 -0
- package/dist/cli/version.d.ts +3 -5
- package/dist/cli/version.d.ts.map +1 -1
- package/dist/cli/version.js +3 -13
- package/dist/codegen/docs-in-site.d.ts +71 -0
- package/dist/codegen/docs-in-site.d.ts.map +1 -0
- package/dist/codegen/docs-in-site.js +177 -0
- package/dist/codegen/docs-types.d.ts +14 -1
- package/dist/codegen/docs-types.d.ts.map +1 -1
- package/dist/codegen/docs.d.ts +18 -1
- package/dist/codegen/docs.d.ts.map +1 -1
- package/dist/codegen/docs.js +40 -7
- package/dist/codegen/rehype-base-url.mjs +15 -9
- package/dist/components/auto-release.d.ts +6 -1
- package/dist/components/auto-release.d.ts.map +1 -1
- package/dist/components/auto-release.js +3 -0
- package/dist/components/capability.d.ts +9 -0
- package/dist/components/capability.d.ts.map +1 -1
- package/dist/components/cli-support.d.ts +6 -0
- package/dist/components/cli-support.d.ts.map +1 -1
- package/dist/components/cli-support.js +10 -9
- package/dist/components/driver.d.ts +50 -9
- package/dist/components/driver.d.ts.map +1 -1
- package/dist/components/driver.js +116 -54
- package/dist/components/fan-out-inputs.d.ts +69 -0
- package/dist/components/fan-out-inputs.d.ts.map +1 -0
- package/dist/components/fan-out-inputs.js +169 -0
- package/dist/components/fan-out-record.d.ts +13 -0
- package/dist/components/fan-out-record.d.ts.map +1 -1
- package/dist/components/fan-out-record.js +16 -0
- package/dist/components/fan-out-run.d.ts +7 -0
- package/dist/components/fan-out-run.d.ts.map +1 -1
- package/dist/components/fan-out-run.js +85 -26
- package/dist/components/fan-out.d.ts +4 -0
- package/dist/components/fan-out.d.ts.map +1 -1
- package/dist/components/pr-pipeline.d.ts +25 -0
- package/dist/components/pr-pipeline.d.ts.map +1 -1
- package/dist/components/pr-pipeline.js +22 -4
- package/dist/components/pr-run.d.ts +11 -0
- package/dist/components/pr-run.d.ts.map +1 -1
- package/dist/components/pr-run.js +20 -1
- package/dist/components/promote-order.d.ts +38 -0
- package/dist/components/promote-order.d.ts.map +1 -0
- package/dist/components/promote-order.js +62 -0
- package/dist/components/promote.d.ts +38 -2
- package/dist/components/promote.d.ts.map +1 -1
- package/dist/components/promote.js +77 -2
- package/dist/components/release-compile.d.ts +142 -0
- package/dist/components/release-compile.d.ts.map +1 -0
- package/dist/components/release-compile.js +382 -0
- package/dist/components/release-gate.d.ts +135 -0
- package/dist/components/release-gate.d.ts.map +1 -0
- package/dist/components/release-gate.js +288 -0
- package/dist/components/release-promote.d.ts +96 -0
- package/dist/components/release-promote.d.ts.map +1 -0
- package/dist/components/release-promote.js +204 -0
- package/dist/components/run-progress.d.ts +7 -0
- package/dist/components/run-progress.d.ts.map +1 -1
- package/dist/components/wave-plan.d.ts +8 -1
- package/dist/components/wave-plan.d.ts.map +1 -1
- package/dist/components/wave-plan.js +11 -3
- package/dist/config.d.ts +45 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +3 -0
- package/dist/flag-params.d.ts +54 -0
- package/dist/flag-params.d.ts.map +1 -0
- package/dist/flag-params.js +130 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/lifecycle/__fixtures__/publish-fakes.d.ts +120 -0
- package/dist/lifecycle/__fixtures__/publish-fakes.d.ts.map +1 -0
- package/dist/lifecycle/__fixtures__/publish-fakes.js +304 -0
- package/dist/lifecycle/change-set-store.d.ts +68 -0
- package/dist/lifecycle/change-set-store.d.ts.map +1 -0
- package/dist/lifecycle/change-set-store.js +97 -0
- package/dist/lifecycle/commit-sha.d.ts +13 -0
- package/dist/lifecycle/commit-sha.d.ts.map +1 -0
- package/dist/lifecycle/commit-sha.js +21 -0
- package/dist/lifecycle/delivery-metrics.d.ts +139 -0
- package/dist/lifecycle/delivery-metrics.d.ts.map +1 -0
- package/dist/lifecycle/delivery-metrics.js +145 -0
- package/dist/lifecycle/deploy-outcome.d.ts +81 -0
- package/dist/lifecycle/deploy-outcome.d.ts.map +1 -0
- package/dist/lifecycle/deploy-outcome.js +101 -0
- package/dist/lifecycle/gate-change-set.d.ts +78 -0
- package/dist/lifecycle/gate-change-set.d.ts.map +1 -0
- package/dist/lifecycle/gate-change-set.js +138 -0
- package/dist/lifecycle/gate-ledger.d.ts +51 -4
- package/dist/lifecycle/gate-ledger.d.ts.map +1 -1
- package/dist/lifecycle/gate-ledger.js +18 -0
- package/dist/lifecycle/git.d.ts +30 -1
- package/dist/lifecycle/git.d.ts.map +1 -1
- package/dist/lifecycle/git.js +31 -5
- package/dist/lifecycle/index.d.ts +4 -0
- package/dist/lifecycle/index.d.ts.map +1 -1
- package/dist/lifecycle/index.js +4 -0
- package/dist/lifecycle/mixed-environment.d.ts +95 -0
- package/dist/lifecycle/mixed-environment.d.ts.map +1 -0
- package/dist/lifecycle/mixed-environment.js +154 -0
- package/dist/lifecycle/publish-attachments.d.ts +79 -0
- package/dist/lifecycle/publish-attachments.d.ts.map +1 -0
- package/dist/lifecycle/publish-attachments.js +179 -0
- package/dist/lifecycle/publish-credentials.d.ts +37 -0
- package/dist/lifecycle/publish-credentials.d.ts.map +1 -0
- package/dist/lifecycle/publish-credentials.js +69 -0
- package/dist/lifecycle/publish-declaration.d.ts +97 -0
- package/dist/lifecycle/publish-declaration.d.ts.map +1 -0
- package/dist/lifecycle/publish-declaration.js +83 -0
- package/dist/lifecycle/publish-forge.d.ts +53 -0
- package/dist/lifecycle/publish-forge.d.ts.map +1 -0
- package/dist/lifecycle/publish-forge.js +298 -0
- package/dist/lifecycle/publish-npm.d.ts +61 -0
- package/dist/lifecycle/publish-npm.d.ts.map +1 -0
- package/dist/lifecycle/publish-npm.js +242 -0
- package/dist/lifecycle/publish-oci.d.ts +64 -0
- package/dist/lifecycle/publish-oci.d.ts.map +1 -0
- package/dist/lifecycle/publish-oci.js +383 -0
- package/dist/lifecycle/publish-record.d.ts +66 -0
- package/dist/lifecycle/publish-record.d.ts.map +1 -0
- package/dist/lifecycle/publish-record.js +84 -0
- package/dist/lifecycle/publish-targets.d.ts +45 -0
- package/dist/lifecycle/publish-targets.d.ts.map +1 -0
- package/dist/lifecycle/publish-targets.js +85 -0
- package/dist/lifecycle/release-cut.d.ts +154 -0
- package/dist/lifecycle/release-cut.d.ts.map +1 -0
- package/dist/lifecycle/release-cut.js +366 -0
- package/dist/lifecycle/release-join.d.ts +95 -0
- package/dist/lifecycle/release-join.d.ts.map +1 -0
- package/dist/lifecycle/release-join.js +139 -0
- package/dist/lifecycle/release-ledger.d.ts +54 -0
- package/dist/lifecycle/release-ledger.d.ts.map +1 -1
- package/dist/lifecycle/release-ledger.js +53 -20
- package/dist/lifecycle/release-publish.d.ts +312 -0
- package/dist/lifecycle/release-publish.d.ts.map +1 -0
- package/dist/lifecycle/release-publish.js +335 -0
- package/dist/lifecycle/release-revocation.d.ts +80 -0
- package/dist/lifecycle/release-revocation.d.ts.map +1 -0
- package/dist/lifecycle/release-revocation.js +123 -0
- package/dist/lifecycle/release-store.d.ts +200 -0
- package/dist/lifecycle/release-store.d.ts.map +1 -0
- package/dist/lifecycle/release-store.js +320 -0
- package/dist/lifecycle/release-verify.d.ts +61 -0
- package/dist/lifecycle/release-verify.d.ts.map +1 -0
- package/dist/lifecycle/release-verify.js +92 -0
- package/dist/lifecycle/release-workstation.d.ts +91 -0
- package/dist/lifecycle/release-workstation.d.ts.map +1 -0
- package/dist/lifecycle/release-workstation.js +180 -0
- package/dist/lifecycle/retention-policy.d.ts +45 -0
- package/dist/lifecycle/retention-policy.d.ts.map +1 -0
- package/dist/lifecycle/retention-policy.js +43 -0
- package/dist/lifecycle/retention.d.ts +185 -0
- package/dist/lifecycle/retention.d.ts.map +1 -0
- package/dist/lifecycle/retention.js +400 -0
- package/dist/lifecycle/run-ledger.d.ts +4 -0
- package/dist/lifecycle/run-ledger.d.ts.map +1 -1
- package/dist/lifecycle/run-ledger.js +2 -0
- package/dist/op/activities/change-coverage.d.ts.map +1 -1
- package/dist/op/activities/change-coverage.js +4 -2
- package/dist/op/activities/source-release.d.ts.map +1 -1
- package/dist/op/activities/source-release.js +7 -3
- package/dist/op/activities/source-rollback.d.ts.map +1 -1
- package/dist/op/activities/source-rollback.js +7 -3
- package/dist/op/gate-name.d.ts +11 -2
- package/dist/op/gate-name.d.ts.map +1 -1
- package/dist/op/gate-name.js +12 -3
- package/dist/op/gate-run-locator.d.ts +22 -0
- package/dist/op/gate-run-locator.d.ts.map +1 -1
- package/dist/op/gate-run-locator.js +31 -0
- package/dist/op/gate.d.ts +27 -3
- package/dist/op/gate.d.ts.map +1 -1
- package/dist/op/gate.js +57 -3
- package/dist/op/local-executor.d.ts +36 -1
- package/dist/op/local-executor.d.ts.map +1 -1
- package/dist/op/local-executor.js +158 -52
- package/dist/op/op-waves-run.d.ts.map +1 -1
- package/dist/op/op-waves-run.js +4 -0
- package/dist/op/run-live.d.ts +2 -0
- package/dist/op/run-live.d.ts.map +1 -1
- package/dist/op/run-live.js +1 -1
- package/dist/op/runtime.d.ts +46 -0
- package/dist/op/runtime.d.ts.map +1 -1
- package/dist/op/runtimes/local.d.ts.map +1 -1
- package/dist/op/runtimes/local.js +8 -0
- package/dist/plan-summary.d.ts.map +1 -1
- package/dist/plan-summary.js +8 -2
- package/dist/point-decision.d.ts +2 -0
- package/dist/point-decision.d.ts.map +1 -1
- package/dist/point-decision.js +9 -2
- package/dist/pr-loop.d.ts +7 -0
- package/dist/pr-loop.d.ts.map +1 -1
- package/dist/pr-loop.js +23 -4
- package/dist/pr-report-url.d.ts +82 -0
- package/dist/pr-report-url.d.ts.map +1 -0
- package/dist/pr-report-url.js +174 -0
- package/dist/provenance.d.ts +2 -2
- package/dist/provenance.d.ts.map +1 -1
- package/dist/run-event-store.d.ts +104 -0
- package/dist/run-event-store.d.ts.map +1 -0
- package/dist/run-event-store.js +251 -0
- package/dist/run-event-stream.d.ts +133 -0
- package/dist/run-event-stream.d.ts.map +1 -0
- package/dist/run-event-stream.js +242 -0
- package/dist/run-event.d.ts +285 -0
- package/dist/run-event.d.ts.map +1 -0
- package/dist/run-event.js +209 -0
- package/dist/wave-runtime.mjs +262 -226
- package/dist/workspace/__fixtures__/flag-workspace.d.ts +31 -0
- package/dist/workspace/__fixtures__/flag-workspace.d.ts.map +1 -0
- package/dist/workspace/__fixtures__/flag-workspace.js +114 -0
- package/dist/workspace/__fixtures__/run-event-check.d.ts +19 -0
- package/dist/workspace/__fixtures__/run-event-check.d.ts.map +1 -0
- package/dist/workspace/__fixtures__/run-event-check.js +59 -0
- package/dist/workspace/change-set-show.d.ts +56 -0
- package/dist/workspace/change-set-show.d.ts.map +1 -0
- package/dist/workspace/change-set-show.js +54 -0
- package/dist/workspace/change-set-show.schema.json +102 -0
- package/dist/workspace/change-set.schema.json +32 -1
- package/dist/workspace/changes-cli.d.ts.map +1 -1
- package/dist/workspace/changes-cli.js +10 -1
- package/dist/workspace/changes.d.ts +37 -0
- package/dist/workspace/changes.d.ts.map +1 -1
- package/dist/workspace/changes.js +49 -2
- package/dist/workspace/changes.schema.json +135 -0
- package/dist/workspace/check.schema.json +4 -2
- package/dist/workspace/checks/records.d.ts +9 -1
- package/dist/workspace/checks/records.d.ts.map +1 -1
- package/dist/workspace/checks/records.js +35 -1
- package/dist/workspace/checks.d.ts +1 -0
- package/dist/workspace/checks.d.ts.map +1 -1
- package/dist/workspace/checks.js +2 -1
- package/dist/workspace/ci-green-cli.d.ts +19 -4
- package/dist/workspace/ci-green-cli.d.ts.map +1 -1
- package/dist/workspace/ci-green-cli.js +75 -12
- package/dist/workspace/ci-green-forge.d.ts +20 -3
- package/dist/workspace/ci-green-forge.d.ts.map +1 -1
- package/dist/workspace/ci-green-forge.js +6 -4
- package/dist/workspace/ci-green-workflow.d.ts +11 -0
- package/dist/workspace/ci-green-workflow.d.ts.map +1 -1
- package/dist/workspace/ci-green-workflow.js +6 -0
- package/dist/workspace/ci-green.d.ts +281 -13
- package/dist/workspace/ci-green.d.ts.map +1 -1
- package/dist/workspace/ci-green.js +456 -38
- package/dist/workspace/ci-last-green.schema.json +32 -2
- package/dist/workspace/ci-list.schema.json +525 -0
- package/dist/workspace/commit-links.d.ts +85 -0
- package/dist/workspace/commit-links.d.ts.map +1 -0
- package/dist/workspace/commit-links.js +163 -0
- package/dist/workspace/declaration.d.ts +35 -0
- package/dist/workspace/declaration.d.ts.map +1 -1
- package/dist/workspace/declaration.js +27 -1
- package/dist/workspace/declaration.schema.json +76 -0
- package/dist/workspace/declared-kinds.d.ts +16 -0
- package/dist/workspace/declared-kinds.d.ts.map +1 -1
- package/dist/workspace/declared-kinds.js +25 -0
- package/dist/workspace/delivery-metrics.d.ts +91 -0
- package/dist/workspace/delivery-metrics.d.ts.map +1 -0
- package/dist/workspace/delivery-metrics.js +217 -0
- package/dist/workspace/delivery-metrics.schema.json +519 -0
- package/dist/workspace/flags-read.d.ts +37 -0
- package/dist/workspace/flags-read.d.ts.map +1 -0
- package/dist/workspace/flags-read.js +103 -0
- package/dist/workspace/flags.d.ts +100 -0
- package/dist/workspace/flags.d.ts.map +1 -0
- package/dist/workspace/flags.js +98 -0
- package/dist/workspace/graph-cli.js +1 -1
- package/dist/workspace/identity-gate-rule.d.ts +37 -0
- package/dist/workspace/identity-gate-rule.d.ts.map +1 -1
- package/dist/workspace/identity-gate-rule.js +72 -7
- package/dist/workspace/identity.d.ts +12 -0
- package/dist/workspace/identity.d.ts.map +1 -1
- package/dist/workspace/identity.js +13 -1
- package/dist/workspace/intent-cli.d.ts +11 -2
- package/dist/workspace/intent-cli.d.ts.map +1 -1
- package/dist/workspace/intent-cli.js +54 -5
- package/dist/workspace/intent-trace.d.ts +219 -0
- package/dist/workspace/intent-trace.d.ts.map +1 -0
- package/dist/workspace/intent-trace.js +314 -0
- package/dist/workspace/intent.d.ts +36 -7
- package/dist/workspace/intent.d.ts.map +1 -1
- package/dist/workspace/intent.js +192 -22
- package/dist/workspace/intent.schema.json +702 -6
- package/dist/workspace/ls.d.ts +4 -0
- package/dist/workspace/ls.d.ts.map +1 -1
- package/dist/workspace/ls.js +2 -0
- package/dist/workspace/ls.schema.json +3 -1
- package/dist/workspace/member-pipeline.d.ts +6 -0
- package/dist/workspace/member-pipeline.d.ts.map +1 -1
- package/dist/workspace/member-pipeline.js +6 -0
- package/dist/workspace/overlap.d.ts +146 -0
- package/dist/workspace/overlap.d.ts.map +1 -0
- package/dist/workspace/overlap.js +276 -0
- package/dist/workspace/promotion-order.d.ts +41 -0
- package/dist/workspace/promotion-order.d.ts.map +1 -0
- package/dist/workspace/promotion-order.js +95 -0
- package/dist/workspace/reason-codes.d.ts +4 -0
- package/dist/workspace/reason-codes.d.ts.map +1 -1
- package/dist/workspace/reason-codes.js +7 -1
- package/dist/workspace/records.d.ts +15 -2
- package/dist/workspace/records.d.ts.map +1 -1
- package/dist/workspace/records.js +32 -0
- package/dist/workspace/records.schema.json +21 -2
- package/dist/workspace/reference-kinds/flag/flag.kind.mjs +32 -0
- package/dist/workspace/reference-kinds/flag/flag.schema.json +53 -0
- package/dist/workspace/releases.d.ts +81 -0
- package/dist/workspace/releases.d.ts.map +1 -0
- package/dist/workspace/releases.js +103 -0
- package/dist/workspace/releases.schema.json +513 -0
- package/dist/workspace/run-event.schema.json +295 -0
- package/dist/workspace/status-gates.d.ts +34 -1
- package/dist/workspace/status-gates.d.ts.map +1 -1
- package/dist/workspace/status-gates.js +31 -2
- package/dist/workspace/status-stewards.d.ts +4 -0
- package/dist/workspace/status-stewards.d.ts.map +1 -1
- package/dist/workspace/status-stewards.js +2 -0
- package/dist/workspace/status.d.ts +117 -0
- package/dist/workspace/status.d.ts.map +1 -1
- package/dist/workspace/status.js +218 -4
- package/dist/workspace/status.schema.json +268 -2
- package/dist/workspace/trust/ci-tag-statement.d.ts +102 -0
- package/dist/workspace/trust/ci-tag-statement.d.ts.map +1 -0
- package/dist/workspace/trust/ci-tag-statement.js +123 -0
- package/dist/workspace/trust/op-run-statement.d.ts +91 -0
- package/dist/workspace/trust/op-run-statement.d.ts.map +1 -0
- package/dist/workspace/trust/op-run-statement.js +143 -0
- package/dist/workspace/trust/rotation.d.ts +18 -2
- package/dist/workspace/trust/rotation.d.ts.map +1 -1
- package/dist/workspace/trust/rotation.js +65 -16
- package/dist/workspace/trust/seal.d.ts +11 -0
- package/dist/workspace/trust/seal.d.ts.map +1 -1
- package/dist/workspace/trust/seal.js +9 -0
- package/dist/workspace/trust/ssh-commit.d.ts.map +1 -1
- package/dist/workspace/trust/ssh-commit.js +10 -10
- package/dist/workspace/wip.d.ts.map +1 -1
- package/dist/workspace/wip.js +11 -3
- package/package.json +1 -1
- package/src/__golden__/wave-loop/fan-out-gated.json +8 -0
- package/src/__golden__/wave-loop/fan-out-no-members.json +4 -0
- package/src/__golden__/wave-loop/fan-out-only.json +6 -0
- package/src/__golden__/wave-loop/op-by-apply-hold.json +2 -0
- package/src/__golden__/wave-loop/op-cost-member.json +3 -0
- package/src/__golden__/wave-loop/op-held-on-before-apply.json +1 -0
- package/src/__golden__/wave-loop/op-held-on.json +2 -0
- package/src/__golden__/wave-loop/op-hooks-held.json +2 -0
- package/src/__golden__/wave-loop/op-hooks-hold-before-apply.json +2 -0
- package/src/__golden__/wave-loop/op-hooks-refused-at-base.json +3 -0
- package/src/__golden__/wave-loop/op-hooks-share.json +3 -0
- package/src/__golden__/wave-loop/op-per-run.json +7 -0
- package/src/__golden__/wave-loop/op-pr-review.json +7 -0
- package/src/__golden__/wave-loop/op-sealed.json +3 -0
- package/src/__golden__/wave-loop/op-spend.json +3 -0
- package/src/__golden__/wave-loop/op-wave-commands.json +7 -0
- package/src/__golden__/wave-loop/op-wide-waiting.json +4 -0
- package/src/build-params.test.ts +46 -0
- package/src/build-params.ts +55 -1
- package/src/change-set-graph.test.ts +72 -0
- package/src/change-set-graph.ts +141 -0
- package/src/change-set.ts +87 -6
- package/src/chant-version.ts +16 -0
- package/src/cli/build-params-cli.ts +22 -9
- package/src/cli/commands/build.ts +25 -11
- package/src/cli/commands/check-lexicon-docs.test.ts +51 -0
- package/src/cli/commands/check-lexicon-docs.ts +39 -2
- package/src/cli/commands/check-lexicon.ts +14 -2
- package/src/cli/commands/init-lexicon/templates/docs.ts +7 -6
- package/src/cli/commands/init-lexicon.test.ts +25 -0
- package/src/cli/commands/init-lexicon.ts +18 -8
- package/src/cli/handlers/approve-release.test.ts +84 -0
- package/src/cli/handlers/approve-revoked.test.ts +155 -0
- package/src/cli/handlers/approve.ts +65 -2
- package/src/cli/handlers/build.test.ts +67 -0
- package/src/cli/handlers/build.ts +46 -4
- package/src/cli/handlers/change-set.ts +49 -1
- package/src/cli/handlers/fan-out.test.ts +228 -1
- package/src/cli/handlers/fan-out.ts +53 -6
- package/src/cli/handlers/intent-trace.e2e.test.ts +201 -0
- package/src/cli/handlers/lifecycle-gc.test.ts +126 -0
- package/src/cli/handlers/lifecycle-gc.ts +146 -0
- package/src/cli/handlers/operator.test.ts +37 -0
- package/src/cli/handlers/pr.test.ts +341 -0
- package/src/cli/handlers/pr.ts +292 -47
- package/src/cli/handlers/promote.test.ts +669 -7
- package/src/cli/handlers/promote.ts +464 -29
- package/src/cli/handlers/release-implicit.e2e.test.ts +161 -0
- package/src/cli/handlers/release-join.e2e.test.ts +185 -0
- package/src/cli/handlers/release-publish-targets.e2e.test.ts +295 -0
- package/src/cli/handlers/release-verify.e2e.test.ts +117 -0
- package/src/cli/handlers/release-workstation-ci.e2e.test.ts +135 -0
- package/src/cli/handlers/release.e2e.test.ts +199 -0
- package/src/cli/handlers/release.ts +593 -0
- package/src/cli/handlers/run-auto-release.test.ts +80 -0
- package/src/cli/handlers/run-events-cmd.test.ts +92 -0
- package/src/cli/handlers/run-release.test.ts +55 -0
- package/src/cli/handlers/run.test.ts +30 -0
- package/src/cli/handlers/run.ts +243 -18
- package/src/cli/main.test.ts +8 -0
- package/src/cli/main.ts +143 -17
- package/src/cli/mcp/never-over-mcp.test.ts +2 -0
- package/src/cli/mcp/workspace-tools.ts +1 -1
- package/src/cli/parse-args.ts +56 -5
- package/src/cli/registry.ts +43 -5
- package/src/cli/run-events.ts +57 -0
- package/src/cli/version.ts +3 -13
- package/src/codegen/docs-in-site.test.ts +166 -0
- package/src/codegen/docs-in-site.ts +182 -0
- package/src/codegen/docs-site/AgentPrompt.astro +26 -1
- package/src/codegen/docs-types.ts +14 -1
- package/src/codegen/docs.ts +60 -7
- package/src/codegen/rehype-base-url.d.mts +3 -1
- package/src/codegen/rehype-base-url.mjs +15 -9
- package/src/codegen/rehype-base-url.test.ts +34 -0
- package/src/components/auto-release.test.ts +30 -0
- package/src/components/auto-release.ts +9 -1
- package/src/components/capability.ts +9 -0
- package/src/components/cli-support.test.ts +82 -0
- package/src/components/cli-support.ts +16 -9
- package/src/components/driver.test.ts +24 -0
- package/src/components/driver.ts +165 -56
- package/src/components/fan-out-inputs.test.ts +85 -0
- package/src/components/fan-out-inputs.ts +192 -0
- package/src/components/fan-out-record.test.ts +10 -0
- package/src/components/fan-out-record.ts +19 -0
- package/src/components/fan-out-run.ts +104 -35
- package/src/components/fan-out.ts +4 -0
- package/src/components/pr-pipeline.ts +35 -4
- package/src/components/pr-run.ts +30 -1
- package/src/components/promote-order.test.ts +90 -0
- package/src/components/promote-order.ts +75 -0
- package/src/components/promote.test.ts +10 -1
- package/src/components/promote.ts +94 -3
- package/src/components/release-compile.test.ts +147 -0
- package/src/components/release-compile.ts +459 -0
- package/src/components/release-gate.test.ts +215 -0
- package/src/components/release-gate.ts +355 -0
- package/src/components/release-promote.test.ts +159 -0
- package/src/components/release-promote.ts +232 -0
- package/src/components/run-progress.ts +7 -0
- package/src/components/wave-plan.ts +16 -3
- package/src/config.ts +15 -1
- package/src/flag-params.test.ts +144 -0
- package/src/flag-params.ts +134 -0
- package/src/index.ts +2 -0
- package/src/lifecycle/__fixtures__/publish-fakes.ts +351 -0
- package/src/lifecycle/change-set-store.test.ts +217 -0
- package/src/lifecycle/change-set-store.ts +113 -0
- package/src/lifecycle/commit-sha.ts +23 -0
- package/src/lifecycle/delivery-metrics.ts +263 -0
- package/src/lifecycle/deploy-outcome.ts +147 -0
- package/src/lifecycle/gate-change-set.e2e.test.ts +122 -0
- package/src/lifecycle/gate-change-set.ts +164 -0
- package/src/lifecycle/gate-ledger.test.ts +33 -0
- package/src/lifecycle/gate-ledger.ts +68 -3
- package/src/lifecycle/git.ts +61 -8
- package/src/lifecycle/index.ts +4 -0
- package/src/lifecycle/mixed-environment.test.ts +97 -0
- package/src/lifecycle/mixed-environment.ts +204 -0
- package/src/lifecycle/publish-attachments.ts +196 -0
- package/src/lifecycle/publish-credentials.ts +84 -0
- package/src/lifecycle/publish-declaration.ts +95 -0
- package/src/lifecycle/publish-forge.ts +325 -0
- package/src/lifecycle/publish-npm.ts +259 -0
- package/src/lifecycle/publish-oci.ts +396 -0
- package/src/lifecycle/publish-record.ts +113 -0
- package/src/lifecycle/publish-resume.test.ts +168 -0
- package/src/lifecycle/publish-targets.test.ts +494 -0
- package/src/lifecycle/publish-targets.ts +100 -0
- package/src/lifecycle/release-cut-signed.test.ts +180 -0
- package/src/lifecycle/release-cut.test.ts +483 -0
- package/src/lifecycle/release-cut.ts +503 -0
- package/src/lifecycle/release-flag.test.ts +112 -0
- package/src/lifecycle/release-join.test.ts +68 -0
- package/src/lifecycle/release-join.ts +182 -0
- package/src/lifecycle/release-ledger.test.ts +14 -0
- package/src/lifecycle/release-ledger.ts +85 -17
- package/src/lifecycle/release-publish.test.ts +225 -0
- package/src/lifecycle/release-publish.ts +568 -0
- package/src/lifecycle/release-revocation.ts +147 -0
- package/src/lifecycle/release-store.ts +434 -0
- package/src/lifecycle/release-verify.test.ts +110 -0
- package/src/lifecycle/release-verify.ts +120 -0
- package/src/lifecycle/release-workstation.test.ts +204 -0
- package/src/lifecycle/release-workstation.ts +216 -0
- package/src/lifecycle/retention-growth.e2e.test.ts +279 -0
- package/src/lifecycle/retention-policy.ts +63 -0
- package/src/lifecycle/retention.test.ts +363 -0
- package/src/lifecycle/retention.ts +508 -0
- package/src/lifecycle/run-ledger.test.ts +10 -0
- package/src/lifecycle/run-ledger.ts +6 -0
- package/src/op/activities/change-coverage.ts +4 -1
- package/src/op/activities/source-release.ts +8 -3
- package/src/op/activities/source-rollback.ts +8 -4
- package/src/op/commit-run-gate-deploy-join.test.ts +117 -0
- package/src/op/gate-name.ts +13 -3
- package/src/op/gate-release.test.ts +126 -0
- package/src/op/gate-run-locator.test.ts +110 -0
- package/src/op/gate-run-locator.ts +35 -0
- package/src/op/gate.ts +88 -6
- package/src/op/local-executor.ts +207 -52
- package/src/op/op-waves-run.ts +4 -0
- package/src/op/run-events.test.ts +166 -0
- package/src/op/run-live.ts +1 -1
- package/src/op/runtime.ts +39 -0
- package/src/op/runtimes/local.test.ts +16 -0
- package/src/op/runtimes/local.ts +9 -0
- package/src/plan-summary.test.ts +20 -0
- package/src/plan-summary.ts +8 -1
- package/src/point-decision.ts +12 -2
- package/src/pr-loop.ts +25 -4
- package/src/pr-report-url.test.ts +131 -0
- package/src/pr-report-url.ts +209 -0
- package/src/provenance.ts +2 -2
- package/src/run-event-store.test.ts +144 -0
- package/src/run-event-store.ts +273 -0
- package/src/run-event-stream.test.ts +175 -0
- package/src/run-event-stream.ts +309 -0
- package/src/run-event.test.ts +277 -0
- package/src/run-event.ts +471 -0
- package/src/wave-loop-golden.test.ts +9 -0
- package/src/workspace/__fixtures__/flag-workspace.ts +132 -0
- package/src/workspace/__fixtures__/older-records/change-set-984534ea9.json +100 -0
- package/src/workspace/__fixtures__/older-records/older-records.json +326 -0
- package/src/workspace/__fixtures__/run-event-check.ts +58 -0
- package/src/workspace/ancestry-index.test.ts +93 -0
- package/src/workspace/change-set-show.schema.json +102 -0
- package/src/workspace/change-set-show.ts +72 -0
- package/src/workspace/change-set.schema.json +32 -1
- package/src/workspace/changes-cli.ts +10 -1
- package/src/workspace/changes.schema.json +135 -0
- package/src/workspace/changes.test.ts +1 -1
- package/src/workspace/changes.ts +84 -2
- package/src/workspace/check.schema.json +4 -2
- package/src/workspace/checks/records.ts +35 -1
- package/src/workspace/checks.ts +2 -1
- package/src/workspace/ci-green-cli.ts +75 -13
- package/src/workspace/ci-green-forge.ts +24 -4
- package/src/workspace/ci-green-runs.test.ts +242 -0
- package/src/workspace/ci-green-signed.test.ts +302 -0
- package/src/workspace/ci-green-workflow.test.ts +16 -0
- package/src/workspace/ci-green-workflow.ts +12 -0
- package/src/workspace/ci-green.test.ts +131 -2
- package/src/workspace/ci-green.ts +635 -42
- package/src/workspace/ci-last-green.schema.json +32 -2
- package/src/workspace/ci-list.schema.json +525 -0
- package/src/workspace/commit-links.test.ts +279 -0
- package/src/workspace/commit-links.ts +183 -0
- package/src/workspace/declaration.schema.json +76 -0
- package/src/workspace/declaration.test.ts +28 -0
- package/src/workspace/declaration.ts +60 -2
- package/src/workspace/declared-kinds.ts +40 -1
- package/src/workspace/delivery-metrics.schema.json +519 -0
- package/src/workspace/delivery-metrics.test.ts +236 -0
- package/src/workspace/delivery-metrics.ts +286 -0
- package/src/workspace/flags-read.ts +121 -0
- package/src/workspace/flags.test.ts +141 -0
- package/src/workspace/flags.ts +157 -0
- package/src/workspace/graph-cli.ts +1 -1
- package/src/workspace/identity-gate-rule.ts +91 -7
- package/src/workspace/identity.ts +14 -1
- package/src/workspace/intent-cli.ts +46 -5
- package/src/workspace/intent-trace.test.ts +173 -0
- package/src/workspace/intent-trace.ts +484 -0
- package/src/workspace/intent.schema.json +702 -6
- package/src/workspace/intent.ts +196 -26
- package/src/workspace/ls.schema.json +3 -1
- package/src/workspace/ls.ts +6 -0
- package/src/workspace/member-pipeline.test.ts +17 -0
- package/src/workspace/member-pipeline.ts +9 -0
- package/src/workspace/older-records.test.ts +412 -0
- package/src/workspace/overlap.test.ts +165 -0
- package/src/workspace/overlap.ts +340 -0
- package/src/workspace/promotion-order.ts +97 -0
- package/src/workspace/read-contract.e2e.test.ts +5 -1
- package/src/workspace/reason-codes.test.ts +7 -1
- package/src/workspace/reason-codes.ts +7 -1
- package/src/workspace/record-assets.test.ts +2 -1
- package/src/workspace/records-contract.e2e.test.ts +2 -1
- package/src/workspace/records.schema.json +21 -2
- package/src/workspace/records.ts +36 -2
- package/src/workspace/reference-kinds/flag/flag.kind.mjs +32 -0
- package/src/workspace/reference-kinds/flag/flag.schema.json +53 -0
- package/src/workspace/releases.schema.json +513 -0
- package/src/workspace/releases.test.ts +108 -0
- package/src/workspace/releases.ts +133 -0
- package/src/workspace/run-event.schema.json +295 -0
- package/src/workspace/status-contract.test.ts +81 -1
- package/src/workspace/status-gates.ts +64 -1
- package/src/workspace/status-mixed.test.ts +152 -0
- package/src/workspace/status-revoked.test.ts +153 -0
- package/src/workspace/status-stewards.ts +6 -0
- package/src/workspace/status.schema.json +268 -2
- package/src/workspace/status.ts +334 -4
- package/src/workspace/trust/ci-tag-statement.ts +151 -0
- package/src/workspace/trust/op-run-statement.ts +148 -0
- package/src/workspace/trust/rotation.ts +61 -14
- package/src/workspace/trust/seal.ts +10 -0
- package/src/workspace/trust/ssh-commit.ts +10 -9
- package/src/workspace/wip.ts +11 -2
- package/src/cli/commands/__fixtures__/init-lexicon-output/docs/astro.config.mjs +0 -14
- package/src/cli/commands/__fixtures__/init-lexicon-output/docs/package.json +0 -16
- package/src/cli/commands/__fixtures__/init-lexicon-output/docs/src/content/docs/index.mdx +0 -8
- package/src/cli/commands/__fixtures__/init-lexicon-output/docs/src/content.config.ts +0 -15
- package/src/cli/commands/__fixtures__/init-lexicon-output/docs/tsconfig.json +0 -10
package/dist/cli/main.js
CHANGED
|
@@ -104,6 +104,7 @@ const runOpApprove = lazyHandler(runHandlers, (m) => m.runOpApprove);
|
|
|
104
104
|
const runOpSignalRenamed = lazyHandler(runHandlers, (m) => m.runOpSignalRenamed);
|
|
105
105
|
const runOpCancel = lazyHandler(runHandlers, (m) => m.runOpCancel);
|
|
106
106
|
const runOpLog = lazyHandler(runHandlers, (m) => m.runOpLog);
|
|
107
|
+
const runOpEvents = lazyHandler(runHandlers, (m) => m.runOpEvents);
|
|
107
108
|
const runWaveHandlers = () => import("./handlers/run-wave.js");
|
|
108
109
|
const runOpWaveCommand = lazyHandler(runWaveHandlers, (m) => m.runOpWaveCommand);
|
|
109
110
|
const operatorHandlers = () => import("./handlers/operator.js");
|
|
@@ -214,22 +215,82 @@ Commands:
|
|
|
214
215
|
applied) and path. Read-only.
|
|
215
216
|
|
|
216
217
|
CI:
|
|
217
|
-
ci last-green [--json] The newest first-parent commit of
|
|
218
|
-
|
|
219
|
-
tags only; fetch
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
218
|
+
ci last-green [--json] [--from <rev>] The newest first-parent commit of
|
|
219
|
+
ci.green's branch, or of --from, with a ci/green tag
|
|
220
|
+
and no ci/revoked tag. Reads local tags only; fetch
|
|
221
|
+
them first. With ci.green.signedSince, a tag without a
|
|
222
|
+
valid runner statement is ignored and reported.
|
|
223
|
+
ci list [--json] [--limit <n>] [--since <rev>] [--forge github] [--source checks|runs]
|
|
224
|
+
The first-parent commits of ci.green's branch within
|
|
225
|
+
its window, newest first, each green, revoked or
|
|
226
|
+
undecided with its required phases' results. Reads
|
|
227
|
+
local tags; --forge reads check runs for undecided
|
|
228
|
+
commits, and source runs reads the signed Op runs on
|
|
229
|
+
the local chant/lifecycle. --since replaces the window.
|
|
230
|
+
ci tick [--dry-run] [--forge github] [--source checks|runs] [--key <runner key.pem>]
|
|
231
|
+
Tag each commit within ci.green's window whose
|
|
232
|
+
required phases all passed ci/green/<sha>, and revoke
|
|
233
|
+
a green one that now fails ci/revoked/<sha>. Reads
|
|
234
|
+
check runs from the forge, or with source runs
|
|
235
|
+
(ci.green.source or --source) the Op runs on
|
|
236
|
+
chant/lifecycle that a runner key signed. Pushes the
|
|
237
|
+
tags. --key, or the PEM in CHANT_RUNNER_KEY, signs
|
|
238
|
+
each tag with a runner key.
|
|
224
239
|
ci workflow [--workflow <name>]... [--output <file>] Write
|
|
225
240
|
[--chant <command>] [--install <command>]
|
|
226
241
|
[--token-secret <NAME> | --app-id-var <VAR> --app-key-secret <NAME>]
|
|
242
|
+
[--runner-key-secret <NAME>]
|
|
227
243
|
.github/workflows/chant-ci-green.yml, which runs the
|
|
228
244
|
tick when a required workflow completes and every 15m.
|
|
229
245
|
--chant replaces the npx @intentius/chant pin the tick
|
|
230
246
|
runs; --install adds a step before it. --token-secret,
|
|
231
247
|
or a GitHub App's id and key, pushes the tags with a
|
|
232
248
|
token that may tag commits changing workflow files.
|
|
249
|
+
--runner-key-secret hands the tick the runner key it
|
|
250
|
+
signs its tags with.
|
|
251
|
+
|
|
252
|
+
Releases:
|
|
253
|
+
release cut [<label>] [--yes] [--build <command>] [--param <k=v>]
|
|
254
|
+
[--params-file <file>] [--src <dir>] [-o <file>] [--lexicon <name>]
|
|
255
|
+
[--actor <name>] [--sign [<key file>]] [--json]
|
|
256
|
+
A dry run of a cut of this member from HEAD, which
|
|
257
|
+
must be clean, on trunk and pushed, and carry a
|
|
258
|
+
ci/green tag: compile every environment in the
|
|
259
|
+
config's environments and print what the cut would
|
|
260
|
+
build, record and tag, and what publishes where.
|
|
261
|
+
--yes cuts: builds the artifacts once, stores the
|
|
262
|
+
release on chant/lifecycle under its digest, records
|
|
263
|
+
the actor and run id, tags the commit release/<label>
|
|
264
|
+
here, and prints the next command.
|
|
265
|
+
--build runs before each environment's templates are
|
|
266
|
+
read, with CHANT_ENV set; {env} in --params-file is
|
|
267
|
+
replaced by the environment. --sign signs the cut with
|
|
268
|
+
the actor's ssh key; an identity.gates release entry
|
|
269
|
+
requires it. A project with no components releases
|
|
270
|
+
what chant build --env <env> writes: --src <dir> is
|
|
271
|
+
the build root, -o <file> the output (dist/build.yaml),
|
|
272
|
+
--lexicon narrows it.
|
|
273
|
+
release publish <label|digest> [--yes] [--allow-unsigned]
|
|
274
|
+
[--require-provenance] [--json]
|
|
275
|
+
Publish a cut release to the targets release.publish
|
|
276
|
+
in chant.config.ts declares (npm, OCI registries,
|
|
277
|
+
forge release assets), each with an SBOM and the
|
|
278
|
+
release's provenance. A dry run without --yes.
|
|
279
|
+
Refuses a revoked release, one whose signature does
|
|
280
|
+
not verify against .chant/allowed_signers unless
|
|
281
|
+
--allow-unsigned, and with a target a checkout that
|
|
282
|
+
is not the release's commit. Warns first when the run
|
|
283
|
+
has no OIDC token, so what it publishes carries no
|
|
284
|
+
OIDC provenance; --require-provenance refuses instead.
|
|
285
|
+
release verify <label|digest> [--json]
|
|
286
|
+
Check, offline, that the release was signed by a key
|
|
287
|
+
.chant/allowed_signers lists at the release's commit.
|
|
288
|
+
release list [--json] Every release of this member with its targets, its
|
|
289
|
+
cuts and the environments that run it.
|
|
290
|
+
release export <label|digest> --env <env> [-o <dir>] [--json]
|
|
291
|
+
Write the files the release recorded for <env>, each
|
|
292
|
+
checked against its digest, at their recorded paths
|
|
293
|
+
under <dir> (default: here), for a deploy to read.
|
|
233
294
|
|
|
234
295
|
Change sets:
|
|
235
296
|
change-set summary <file> The grouped plan summary of a change-set
|
|
@@ -238,6 +299,10 @@ Change sets:
|
|
|
238
299
|
replacement, failure and hole named.
|
|
239
300
|
markdown fits an MR/PR note of --limit
|
|
240
301
|
characters (default 65536). Read-only.
|
|
302
|
+
change-set show <digest> The change set a pull-request or release gate
|
|
303
|
+
[--member <name>] [--json] bound, stored on
|
|
304
|
+
chant/lifecycle under its digest, each
|
|
305
|
+
entry with its graph node. Read-only.
|
|
241
306
|
|
|
242
307
|
Ops:
|
|
243
308
|
run <name> Run an Op on the resolved runtime (--on; local by default)
|
|
@@ -247,11 +312,18 @@ Ops:
|
|
|
247
312
|
its Drift outcome is true (WatchOp failOn: "drift")
|
|
248
313
|
--no-record: a test run that records nothing on
|
|
249
314
|
chant/lifecycle and pushes nothing (local runtime)
|
|
315
|
+
--key <runner key.pem>, or the PEM in
|
|
316
|
+
CHANT_RUNNER_KEY: sign the run's record with a runner
|
|
317
|
+
key, so ci tick from runs counts it (#4044)
|
|
250
318
|
run list List all Ops with the runtime's state for each
|
|
251
319
|
run status <name> Show the runtime's state for one Op's latest run
|
|
252
320
|
run approve <op> <gate> Record a gate's resolution and wake the runtime
|
|
253
321
|
run cancel <name> Cancel the active run (requires --force)
|
|
254
322
|
run log <name> Show run history for an Op
|
|
323
|
+
run events <run> Replay a run's events kept on this host (a run id, or
|
|
324
|
+
an Op or component name for its newest run). --json
|
|
325
|
+
prints the run-event lines; --follow streams a run in
|
|
326
|
+
progress until run-settle (#4042)
|
|
255
327
|
run wave --spec <file> --wave <k> Plan, gate and apply wave k of an Op
|
|
256
328
|
waves spec (#3679): the job a generated waves
|
|
257
329
|
pipeline runs. --decide plans and decides only;
|
|
@@ -280,12 +352,19 @@ Ops:
|
|
|
280
352
|
run, and prints that order first (#3950).
|
|
281
353
|
On success, auto-emits a release-ledger record per
|
|
282
354
|
component that published a digest (default: on;
|
|
283
|
-
--no-release-record to opt out; #597)
|
|
355
|
+
--no-release-record to opt out; #597).
|
|
356
|
+
--release <label|digest>: the run is of that release,
|
|
357
|
+
cut from this checkout's commit; the records name it (#4043)
|
|
284
358
|
--progress-json: stream one NDJSON RunProgressEvent
|
|
285
359
|
per line to stdout while the run executes, for a
|
|
286
360
|
consumer to render live wave/component/phase/step
|
|
287
361
|
progress instead of tailing raw logs (additive; run
|
|
288
362
|
semantics/exit code unchanged)
|
|
363
|
+
--events-json: stream the run's events instead, one
|
|
364
|
+
run-event.schema.json line each, with the run id,
|
|
365
|
+
commit and runtime on every line (#4041). Also on
|
|
366
|
+
run <op>, components promote|rollback|redeploy,
|
|
367
|
+
fan-out, pr-plan and pr-apply
|
|
289
368
|
operator Run scheduled ticks for discovered ConvergeOps
|
|
290
369
|
locally (#1485): acquire/renew a per-op
|
|
291
370
|
lease (git ref CAS), tick on --interval, record every
|
|
@@ -374,6 +453,13 @@ Workspace (level 1, #2524):
|
|
|
374
453
|
beside it and marks the members whose digests differ.
|
|
375
454
|
Read only; never fetches. --json prints the
|
|
376
455
|
read-contract document
|
|
456
|
+
workspace metrics [dir] [--env <env>] [--member <name>] [--since <date>] [--json]
|
|
457
|
+
The four DORA metrics per member and environment
|
|
458
|
+
(#4039): deployment frequency, lead time from commit
|
|
459
|
+
to running release, change failure rate and time to
|
|
460
|
+
restore, from the deploy records, releases and ci
|
|
461
|
+
revoked tags. Eight weeks back by default. Read only;
|
|
462
|
+
never fetches. --json prints the read-contract document
|
|
377
463
|
workspace records [--kind <kind file>] [--current] [--uncommitted | --at <rev>] [--base <rev>] [--require attested] [--json]
|
|
378
464
|
Without --kind, every record kind the declaration
|
|
379
465
|
names. Read the records a record kind locates, validated
|
|
@@ -651,7 +737,13 @@ Workspace (level 1, #2524):
|
|
|
651
737
|
the severity (warn by default) and ignore globs. When
|
|
652
738
|
the declaration at base has writeScope or agents, each
|
|
653
739
|
commit that writes outside its writer's scope fails
|
|
654
|
-
the check (write-scope-member, write-scope-kind)
|
|
740
|
+
the check (write-scope-member, write-scope-kind). Each
|
|
741
|
+
first-parent commit of the range should name its work
|
|
742
|
+
item in a Chant-Record: <work kind>:<id> or a
|
|
743
|
+
Chant-Lease trailer. commit-unlinked is a commit that
|
|
744
|
+
names none, commit-wrongly-linked one whose trailers
|
|
745
|
+
name no work item that exists; both follow the
|
|
746
|
+
severity
|
|
655
747
|
workspace patch <base>..<head>|<base>...<head>|<commit> [--path <p>...] [--max-bytes <n>] [--json]
|
|
656
748
|
workspace patch [<commit>] --worktree [--path <p>...] [--max-bytes <n>] [--json]
|
|
657
749
|
The hunks of a diff, file by file: a range, a work
|
|
@@ -682,7 +774,7 @@ Workspace (level 1, #2524):
|
|
|
682
774
|
Each composite instance the members declare, with the
|
|
683
775
|
components whose contract can deploy it; an instance
|
|
684
776
|
with none lists an empty set
|
|
685
|
-
workspace graph --intent <path[:start-end]|path#symbol> [--at <rev>] [--kind <kind file>...] [--follow-squash] [--json]
|
|
777
|
+
workspace graph --intent <path[:start-end]|path#symbol|member/node|sha> [--at <rev>] [--kind <kind file>...] [--follow-squash] [--json]
|
|
686
778
|
The intent graph over one region: the commits that
|
|
687
779
|
touched it, the decisions whose constrains cover it,
|
|
688
780
|
the artifacts they pin, and findings with closed codes.
|
|
@@ -721,6 +813,13 @@ Lifecycle (alias: lc):
|
|
|
721
813
|
executes the plan (production-like names also need
|
|
722
814
|
--confirm-prod, or an interactive confirmation)
|
|
723
815
|
lifecycle log [env] History of lifecycle snapshots
|
|
816
|
+
lifecycle gc [--yes] [--push] [--json]
|
|
817
|
+
Prune stored change sets, releases and run event
|
|
818
|
+
files by the retention policy (#4036). A dry run
|
|
819
|
+
without --yes; --yes writes one commit removing
|
|
820
|
+
them on the local chant/lifecycle and deletes the
|
|
821
|
+
run event files; --push pushes it. History is
|
|
822
|
+
never rewritten, and the ledgers are never pruned
|
|
724
823
|
|
|
725
824
|
Plan scenarios (#1292):
|
|
726
825
|
scenario check Evaluate every declared Scenario's expect clause
|
|
@@ -759,7 +858,11 @@ Component release ledger + status:
|
|
|
759
858
|
--member <name>, both commands: a workspace
|
|
760
859
|
member's loop, gate op pr-<n>-<member>;
|
|
761
860
|
--resume <file> finishes an apply that failed
|
|
762
|
-
partway under the same approval
|
|
861
|
+
partway under the same approval;
|
|
862
|
+
--events-json, both commands: the run-event
|
|
863
|
+
stream on stdout; --report-url <s3 or file URL>,
|
|
864
|
+
both commands: copy the report, the change set
|
|
865
|
+
and the events to <url>/<pr>/<commit>/)
|
|
763
866
|
components release <env> Append one immutable release record
|
|
764
867
|
(--component <name> --digest <sha256:...>
|
|
765
868
|
[--git-sha <sha>] [--run-id <id>] [--actor <name>]);
|
|
@@ -774,13 +877,18 @@ Component release ledger + status:
|
|
|
774
877
|
byte-for-byte plus a self-describing manifest.json
|
|
775
878
|
components promote Deploy the digests one environment's release
|
|
776
879
|
ledger records to another, without a build
|
|
777
|
-
(--
|
|
778
|
-
[--
|
|
779
|
-
|
|
880
|
+
(--to <env> [--from <env>] [--allow-skip]
|
|
881
|
+
[--release <label|digest>]
|
|
882
|
+
[--component <name> [--digest <sha256:...>]];
|
|
883
|
+
--from defaults to the environment before --to
|
|
884
|
+
in the config's environments; --dry-run prints
|
|
885
|
+
the plan; the target's gates still apply)
|
|
780
886
|
components rollback <env> Redeploy an earlier release of an environment
|
|
781
887
|
from its recorded digest (--component <name>
|
|
782
888
|
[--digest <sha256:...>]; defaults to the release
|
|
783
|
-
before the current one; --dry-run prints the plan)
|
|
889
|
+
before the current one; --dry-run prints the plan).
|
|
890
|
+
--release <label|digest> restores every component
|
|
891
|
+
of that release through the release gate (#4035)
|
|
784
892
|
components redeploy <env> Redeploy the release an environment's ledger
|
|
785
893
|
records as current, after a deploy that failed
|
|
786
894
|
partway (--component <name> [--digest <sha256:...>];
|
|
@@ -921,7 +1029,7 @@ Options:
|
|
|
921
1029
|
chant.config.ts's build.sandbox: true; #1045)
|
|
922
1030
|
--param <name=value> (build, graph, run --components, components fan-out,
|
|
923
1031
|
components promote, components rollback,
|
|
924
|
-
components redeploy) Bind a
|
|
1032
|
+
components redeploy, release cut) Bind a
|
|
925
1033
|
declared build-time parameter (chant.config.ts's buildParams)
|
|
926
1034
|
to a value, for source to read as params.<name>
|
|
927
1035
|
(#1064) instead of process.env — repeatable.
|
|
@@ -933,7 +1041,7 @@ Options:
|
|
|
933
1041
|
chant.template.json declares instead (#2627).
|
|
934
1042
|
--params-file <path> (build, graph, run --components, components fan-out,
|
|
935
1043
|
components promote, components rollback,
|
|
936
|
-
components redeploy) JSON file
|
|
1044
|
+
components redeploy, release cut) JSON file
|
|
937
1045
|
of { "name": value } build-time parameter values
|
|
938
1046
|
(#1064). Second precedence, after --param.
|
|
939
1047
|
init --from refuses it: pass --param instead.
|
|
@@ -1178,10 +1286,22 @@ export const commandRegistry = [
|
|
|
1178
1286
|
{ name: "carve status", handler: runCarveStatus },
|
|
1179
1287
|
// #3573 — which commits passed CI, kept as ci/green and ci/revoked tags (ws-103). Imported on first use.
|
|
1180
1288
|
{ name: "ci last-green", runsNoConfig: true, handler: async (ctx) => (await import("../workspace/ci-green-cli.js")).runCiLastGreen(ctx) },
|
|
1289
|
+
{ name: "ci list", runsNoConfig: true, handler: async (ctx) => (await import("../workspace/ci-green-cli.js")).runCiList(ctx) },
|
|
1181
1290
|
{ name: "ci tick", runsNoConfig: true, handler: async (ctx) => (await import("../workspace/ci-green-cli.js")).runCiTick(ctx) },
|
|
1182
1291
|
{ name: "ci workflow", runsNoConfig: true, handler: async (ctx) => (await import("../workspace/ci-green-cli.js")).runCiWorkflow(ctx) },
|
|
1292
|
+
// #4026: the release cut from a green commit (ws-104). Imported on first use.
|
|
1293
|
+
{ name: "release cut", runsNoConfig: true, handler: async (ctx) => (await import("./handlers/release.js")).runReleaseCut(ctx) },
|
|
1294
|
+
// #4027: publish a cut release, to the targets #4047 declares.
|
|
1295
|
+
{ name: "release publish", runsNoConfig: true, handler: async (ctx) => (await import("./handlers/release.js")).runReleasePublish(ctx) },
|
|
1296
|
+
// #4049: check a release's signature offline.
|
|
1297
|
+
{ name: "release verify", runsNoConfig: true, handler: async (ctx) => (await import("./handlers/release.js")).runReleaseVerify(ctx) },
|
|
1298
|
+
{ name: "release list", runsNoConfig: true, handler: async (ctx) => (await import("./handlers/release.js")).runReleaseList(ctx) },
|
|
1299
|
+
{ name: "release export", runsNoConfig: true, handler: async (ctx) => (await import("./handlers/release.js")).runReleaseExport(ctx) },
|
|
1300
|
+
{ name: "release compile", runsNoConfig: true, handler: async (ctx) => (await import("./handlers/release.js")).runReleaseCompile(ctx) },
|
|
1183
1301
|
// #3188 — the grouped plan summary of a change-set document. Reads one file; imported on first use.
|
|
1184
1302
|
{ name: "change-set summary", runsNoConfig: true, handler: async (ctx) => (await import("./handlers/change-set.js")).runChangeSetSummary(ctx) },
|
|
1303
|
+
// #4022: the change set a gate bound, read from chant/lifecycle by its digest.
|
|
1304
|
+
{ name: "change-set show", runsNoConfig: true, handler: async (ctx) => (await import("./handlers/change-set.js")).runChangeSetShow(ctx) },
|
|
1185
1305
|
{ name: "init", handler: runInit, runsNoConfig: true },
|
|
1186
1306
|
{ name: "init lexicon", handler: runInitLexicon },
|
|
1187
1307
|
{ name: "update", handler: runUpdate },
|
|
@@ -1201,6 +1321,7 @@ export const commandRegistry = [
|
|
|
1201
1321
|
{ name: "run signal", handler: runOpSignalRenamed },
|
|
1202
1322
|
{ name: "run cancel", handler: runOpCancel },
|
|
1203
1323
|
{ name: "run log", handler: runOpLog },
|
|
1324
|
+
{ name: "run events", handler: runOpEvents },
|
|
1204
1325
|
{ name: "run wave", handler: runOpWaveCommand },
|
|
1205
1326
|
// #3683 — start the CI jobs that wait at gates whose approval arrived. Imported on first use.
|
|
1206
1327
|
{ name: "run resume", handler: async (ctx) => (await import("./handlers/gate-resume.js")).runResumeCommand(ctx) },
|
|
@@ -1227,6 +1348,8 @@ export const commandRegistry = [
|
|
|
1227
1348
|
{ name: "workspace work", runsNoConfig: true, handler: async (ctx) => (await import("../workspace/work-cli.js")).runWorkspaceWork(ctx) },
|
|
1228
1349
|
// #3033 — the agent run record: what each run cost and which commits it made. chant records runs and never starts one.
|
|
1229
1350
|
{ name: "workspace runs", runsNoConfig: true, handler: async (ctx) => (await import("../workspace/runs-cli.js")).runWorkspaceRuns(ctx) },
|
|
1351
|
+
// #4039 — DORA metrics from the deploy, release and revocation records.
|
|
1352
|
+
{ name: "workspace metrics", runsNoConfig: true, handler: async (ctx) => (await import("../workspace/delivery-metrics.js")).runWorkspaceMetrics(ctx) },
|
|
1230
1353
|
{ name: "workspace status", runsNoConfig: true, handler: async (ctx) => (await import("../workspace/status.js")).runWorkspaceStatus(ctx) },
|
|
1231
1354
|
{ name: "workspace lineage", handler: async (ctx) => (await import("../workspace/lineage-cli.js")).runWorkspaceLineage(ctx) },
|
|
1232
1355
|
{ name: "workspace upgrade", handler: async (ctx) => (await import("../workspace/lineage-upgrade-cli.js")).runWorkspaceUpgrade(ctx) },
|
|
@@ -1276,6 +1399,8 @@ export const commandRegistry = [
|
|
|
1276
1399
|
{ name: "lifecycle whoami", requiresPlugins: true, handler: runLifecycleWhoami },
|
|
1277
1400
|
{ name: "lifecycle teardown", requiresPlugins: true, handler: runLifecycleTeardown },
|
|
1278
1401
|
{ name: "lifecycle log", handler: runLifecycleLog },
|
|
1402
|
+
// #4036 — retention's garbage collection. Imported on first use.
|
|
1403
|
+
{ name: "lifecycle gc", runsNoConfig: true, handler: async (ctx) => (await import("./handlers/lifecycle-gc.js")).runLifecycleGc(ctx) },
|
|
1279
1404
|
// Plan scenarios (#1292) — fully offline, no plugin network calls, but
|
|
1280
1405
|
// requiresPlugins:true so the build step has serializers to partition
|
|
1281
1406
|
// against, same as every other build-then-something verb.
|
|
@@ -1307,6 +1432,7 @@ export const commandRegistry = [
|
|
|
1307
1432
|
{ name: "dev", handler: runDevUnknown },
|
|
1308
1433
|
{ name: "serve", handler: runServeUnknown },
|
|
1309
1434
|
{ name: "components", handler: runComponentsUnknown },
|
|
1435
|
+
{ name: "release", runsNoConfig: true, handler: async (ctx) => (await import("./handlers/release.js")).runReleaseUnknown(ctx) },
|
|
1310
1436
|
{ name: "workspace", handler: async (ctx) => (await import("../workspace/records-cli.js")).runWorkspaceUnknown(ctx) },
|
|
1311
1437
|
];
|
|
1312
1438
|
/**
|
|
@@ -100,7 +100,7 @@ export const workspaceReadTools = [
|
|
|
100
100
|
},
|
|
101
101
|
{
|
|
102
102
|
name: "workspace-changes",
|
|
103
|
-
description: "The forward coverage check over a diff: chant workspace check --changes <range> --json (changes.schema.json, #2773). Each changed path with the current records whose constrains cover it, and a change-uncovered or change-out-of-scope finding for each gap, at the severity the declaration's changes block sets. Returns the document unchanged.",
|
|
103
|
+
description: "The forward coverage check over a diff: chant workspace check --changes <range> --json (changes.schema.json, #2773). Each changed path with the current records whose constrains cover it, and a change-uncovered or change-out-of-scope finding for each gap, at the severity the declaration's changes block sets. links says whether each trunk commit of the range names its work item, with commit-unlinked and commit-wrongly-linked findings at the same severity. Returns the document unchanged.",
|
|
104
104
|
inputSchema: {
|
|
105
105
|
type: "object",
|
|
106
106
|
properties: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-args.d.ts","sourceRoot":"","sources":["../../src/cli/parse-args.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"parse-args.d.ts","sourceRoot":"","sources":["../../src/cli/parse-args.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAiF7C;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CA6vBpD"}
|
package/dist/cli/parse-args.js
CHANGED
|
@@ -46,6 +46,8 @@ const BOOLEAN_FLAGS = new Set([
|
|
|
46
46
|
"--local",
|
|
47
47
|
"--json",
|
|
48
48
|
"--progress-json",
|
|
49
|
+
"--events-json",
|
|
50
|
+
"--follow",
|
|
49
51
|
"--update-snapshot",
|
|
50
52
|
"--update-baseline",
|
|
51
53
|
"--run-examples",
|
|
@@ -69,11 +71,16 @@ const BOOLEAN_FLAGS = new Set([
|
|
|
69
71
|
"--current",
|
|
70
72
|
"--uncommitted",
|
|
71
73
|
"--allow-code",
|
|
74
|
+
"--allow-skip",
|
|
75
|
+
"--allow-unsigned",
|
|
76
|
+
"--require-provenance",
|
|
72
77
|
"--root-only",
|
|
73
78
|
"--generated",
|
|
74
79
|
"--decide",
|
|
75
80
|
"--record-plans",
|
|
76
81
|
"--loopback",
|
|
82
|
+
"--artifacts",
|
|
83
|
+
"--push",
|
|
77
84
|
]);
|
|
78
85
|
/**
|
|
79
86
|
* Parse command line arguments
|
|
@@ -205,8 +212,9 @@ export function parseArgs(args) {
|
|
|
205
212
|
}
|
|
206
213
|
else if (arg === "--from") {
|
|
207
214
|
// Shared by `migrate --from <lexicon>`, `import --from <env>`,
|
|
208
|
-
// `components promote --from <env
|
|
209
|
-
//
|
|
215
|
+
// `components promote --from <env>`, `init --from <repo>@<ref>` and
|
|
216
|
+
// `ci last-green --from <rev>` (#4031); the commands never run
|
|
217
|
+
// together, so one field carries all five.
|
|
210
218
|
result.migrateFrom = args[++i];
|
|
211
219
|
}
|
|
212
220
|
else if (arg === "--kustomize") {
|
|
@@ -279,6 +287,10 @@ export function parseArgs(args) {
|
|
|
279
287
|
else if (arg === "--yes") {
|
|
280
288
|
result.yes = true;
|
|
281
289
|
}
|
|
290
|
+
else if (arg === "--push") {
|
|
291
|
+
// `chant lifecycle gc --yes --push` (#4036): push the prune commit.
|
|
292
|
+
result.push = true;
|
|
293
|
+
}
|
|
282
294
|
else if (arg === "--confirm-prod") {
|
|
283
295
|
result.confirmProd = true;
|
|
284
296
|
}
|
|
@@ -470,9 +482,30 @@ export function parseArgs(args) {
|
|
|
470
482
|
else if (arg === "--require-review") {
|
|
471
483
|
result.requireReview = true;
|
|
472
484
|
}
|
|
485
|
+
else if (arg === "--report-url") {
|
|
486
|
+
// `chant components pr-plan|pr-apply --report-url <url>` (#4007).
|
|
487
|
+
const url = args[++i];
|
|
488
|
+
if (!url || url.startsWith("-"))
|
|
489
|
+
throw new Error("--report-url needs a URL: --report-url s3://<bucket>/<prefix> or file://<directory>");
|
|
490
|
+
result.reportUrl = url;
|
|
491
|
+
}
|
|
492
|
+
else if (arg === "--allow-unsigned") {
|
|
493
|
+
// `chant release publish --allow-unsigned` (#4049).
|
|
494
|
+
result.allowUnsigned = true;
|
|
495
|
+
}
|
|
496
|
+
else if (arg === "--require-provenance") {
|
|
497
|
+
// `chant release publish --require-provenance` (#4049).
|
|
498
|
+
result.requireProvenance = true;
|
|
499
|
+
}
|
|
473
500
|
else if (arg === "--pr-loop") {
|
|
474
501
|
result.prLoop = true;
|
|
475
502
|
}
|
|
503
|
+
else if (arg === "--before-script") {
|
|
504
|
+
const line = args[++i];
|
|
505
|
+
if (line === undefined || line === "")
|
|
506
|
+
throw new Error("--before-script needs a shell line: --before-script '<line>'");
|
|
507
|
+
(result.beforeScript ?? (result.beforeScript = [])).push(line);
|
|
508
|
+
}
|
|
476
509
|
else if (arg === "--resume") {
|
|
477
510
|
// `chant approve <op> <gate> --resume` (#3683) takes no value; the
|
|
478
511
|
// fan-out and pull-request apply take the attempt file they resume.
|
|
@@ -491,6 +524,13 @@ export function parseArgs(args) {
|
|
|
491
524
|
else if (arg === "--progress-json") {
|
|
492
525
|
result.progressJson = true;
|
|
493
526
|
}
|
|
527
|
+
else if (arg === "--events-json") {
|
|
528
|
+
result.eventsJson = true;
|
|
529
|
+
}
|
|
530
|
+
else if (arg === "--follow") {
|
|
531
|
+
// `chant run events <run> --follow` (#4042): tail a run in progress on this host.
|
|
532
|
+
result.follow = true;
|
|
533
|
+
}
|
|
494
534
|
else if (arg === "--gated-exit") {
|
|
495
535
|
// `chant run <op> --gated-exit <code>` (#2243) — remap only the gated
|
|
496
536
|
// outcome's exit code. Parsed as a number here and range-checked in the
|
|
@@ -529,14 +569,14 @@ export function parseArgs(args) {
|
|
|
529
569
|
result.composites = true;
|
|
530
570
|
}
|
|
531
571
|
else if (arg === "--intent") {
|
|
532
|
-
// `chant workspace graph --intent <path[:start-end]|path#symbol>` (#2651), or `--intent --record <id>` with no region.
|
|
572
|
+
// `chant workspace graph --intent <path[:start-end]|path#symbol|member/node|sha>` (#2651), or `--intent --record <id>` with no region.
|
|
533
573
|
const value = args[i + 1];
|
|
534
574
|
if (value !== undefined && !value.startsWith("-"))
|
|
535
575
|
result.intent = args[++i];
|
|
536
576
|
else if (args.includes("--record"))
|
|
537
577
|
result.intent = "";
|
|
538
578
|
else
|
|
539
|
-
throw new Error("--intent needs a region: --intent <path[:start-end]|path#symbol>, or --intent --record <id>");
|
|
579
|
+
throw new Error("--intent needs a region: --intent <path[:start-end]|path#symbol|member/node|sha>, or --intent --record <id>");
|
|
540
580
|
}
|
|
541
581
|
else if (arg === "--follow-squash") {
|
|
542
582
|
// `chant workspace graph --intent ... --follow-squash` and `chant workspace runs --follow-squash` (#3035)
|
|
@@ -661,6 +701,12 @@ export function parseArgs(args) {
|
|
|
661
701
|
if (!result.ciAppKeySecret || result.ciAppKeySecret.startsWith("-"))
|
|
662
702
|
throw new Error("--app-key-secret needs the secret holding the App's private key: --app-key-secret <NAME>");
|
|
663
703
|
}
|
|
704
|
+
else if (arg === "--runner-key-secret") {
|
|
705
|
+
// `chant ci workflow --runner-key-secret <NAME>` (#4031): the secret holding the runner key the tick signs its tags with.
|
|
706
|
+
result.ciRunnerKeySecret = args[++i];
|
|
707
|
+
if (!result.ciRunnerKeySecret || result.ciRunnerKeySecret.startsWith("-"))
|
|
708
|
+
throw new Error("--runner-key-secret needs the repository secret holding the runner key, such as CHANT_RUNNER_KEY: --runner-key-secret <NAME>");
|
|
709
|
+
}
|
|
664
710
|
else if (arg === "--verdict") {
|
|
665
711
|
// `chant workspace records review <id> --verdict agree|dissent|abstain` (#2670)
|
|
666
712
|
result.verdict = args[++i];
|
|
@@ -785,6 +831,22 @@ export function parseArgs(args) {
|
|
|
785
831
|
else if (arg === "--release-plan") {
|
|
786
832
|
result.releasePlanFile = args[++i];
|
|
787
833
|
}
|
|
834
|
+
else if (arg === "--release") {
|
|
835
|
+
// `chant components promote --release <label|digest>` (#4026)
|
|
836
|
+
result.release = args[++i];
|
|
837
|
+
if (!result.release || result.release.startsWith("-"))
|
|
838
|
+
throw new Error("--release needs a release's label or digest: --release <label|digest>");
|
|
839
|
+
}
|
|
840
|
+
else if (arg === "--build") {
|
|
841
|
+
// `chant release cut --build <command>` (#4026)
|
|
842
|
+
result.buildCommand = args[++i];
|
|
843
|
+
if (!result.buildCommand)
|
|
844
|
+
throw new Error("--build needs a shell command: --build '<command>'");
|
|
845
|
+
}
|
|
846
|
+
else if (arg === "--artifacts") {
|
|
847
|
+
// `chant release compile --artifacts` (#4026, internal)
|
|
848
|
+
result.artifacts = true;
|
|
849
|
+
}
|
|
788
850
|
else if (arg === "--git-sha") {
|
|
789
851
|
result.gitSha = args[++i];
|
|
790
852
|
}
|
|
@@ -952,11 +1014,17 @@ export function parseArgs(args) {
|
|
|
952
1014
|
// only when asked to.
|
|
953
1015
|
result.allowCode = true;
|
|
954
1016
|
}
|
|
1017
|
+
else if (arg === "--allow-skip") {
|
|
1018
|
+
// #4030 — `chant components promote` skips a step of the member's
|
|
1019
|
+
// declared promotion order only when asked to.
|
|
1020
|
+
result.allowSkip = true;
|
|
1021
|
+
}
|
|
955
1022
|
else if (arg === "--source") {
|
|
956
1023
|
// #2551 — `chant workspace upgrade --source <repo>[#<member>]`.
|
|
957
1024
|
result.source = args[++i];
|
|
1025
|
+
// #4044: also `chant ci tick|list --source checks|runs`.
|
|
958
1026
|
if (!result.source || result.source.startsWith("-"))
|
|
959
|
-
throw new Error("--source needs a template: --source <repo>[#<member>]");
|
|
1027
|
+
throw new Error("--source needs a template: --source <repo>[#<member>] for workspace upgrade, or a source for ci tick and ci list: --source checks|runs");
|
|
960
1028
|
}
|
|
961
1029
|
else if (arg === "--tags") {
|
|
962
1030
|
// #2551 — `chant workspace adopt-lineage --tags <glob>`, also hash-index and versions.
|
package/dist/cli/registry.d.ts
CHANGED
|
@@ -71,6 +71,16 @@ export interface ParsedArgs {
|
|
|
71
71
|
* unchanged; omitted (undefined, not false) when the flag isn't passed.
|
|
72
72
|
*/
|
|
73
73
|
progressJson?: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* `--events-json` (#4041) — stream the run's events to stdout, one
|
|
76
|
+
* `run-event.schema.json` line each (`../../run-event.ts`), on `chant run
|
|
77
|
+
* <op>`, `chant run --components`, `components promote|rollback|redeploy`,
|
|
78
|
+
* `components fan-out` and `components pr-plan|pr-apply`. Refused beside
|
|
79
|
+
* `--progress-json`, which prints the older shapes to the same stdout.
|
|
80
|
+
*/
|
|
81
|
+
eventsJson?: boolean;
|
|
82
|
+
/** `chant run events <run> --follow` (#4042) — stream the run's events as they happen, until `run-settle`. */
|
|
83
|
+
follow?: boolean;
|
|
74
84
|
live: boolean;
|
|
75
85
|
/** `chant migrate --from <name>` (default "github") */
|
|
76
86
|
migrateFrom?: string;
|
|
@@ -136,6 +146,12 @@ export interface ParsedArgs {
|
|
|
136
146
|
namespace?: string;
|
|
137
147
|
/** `chant workspace upgrade --allow-code` (#2550) — run migrations whose body is the template's own code. */
|
|
138
148
|
allowCode?: boolean;
|
|
149
|
+
/** `chant components promote --allow-skip` (#4030): promote past a step of the member's declared promotion order. */
|
|
150
|
+
allowSkip?: boolean;
|
|
151
|
+
/** `chant release publish --allow-unsigned` (#4049): publish a release with no signature that verifies, with a warning. Never overrides identity.gates.release. */
|
|
152
|
+
allowUnsigned?: boolean;
|
|
153
|
+
/** `chant release publish --require-provenance` (#4049): refuse a run with no OIDC token, where it warns. */
|
|
154
|
+
requireProvenance?: boolean;
|
|
139
155
|
/** `chant workspace upgrade --source <repo>[#<member>]` (#2551): move the scope to another template. */
|
|
140
156
|
source?: string;
|
|
141
157
|
/** `chant workspace adopt-lineage --tags <glob>` and `hash-index --tags` (#2551): the tags to compare. */
|
|
@@ -151,6 +167,8 @@ export interface ParsedArgs {
|
|
|
151
167
|
/** `chant lifecycle teardown <env> --yes` — execute the planned deletion
|
|
152
168
|
* (#1222). Without it the command plans and stops. */
|
|
153
169
|
yes?: boolean;
|
|
170
|
+
/** `chant lifecycle gc --yes --push` (#4036): push the commit the prune wrote to chant/lifecycle. Without it the prune stays local. */
|
|
171
|
+
push?: boolean;
|
|
154
172
|
/** `chant lifecycle teardown <env> --yes --confirm-prod` — the non-interactive
|
|
155
173
|
* form of the extra confirmation a production-like environment name demands
|
|
156
174
|
* (#1222). Meaningless without `--yes`. */
|
|
@@ -159,15 +177,21 @@ export interface ParsedArgs {
|
|
|
159
177
|
verbatim?: boolean;
|
|
160
178
|
/** `chant import --skip-undeclarable` — import what can be declared and warn about the live objects that cannot, instead of failing */
|
|
161
179
|
skipUndeclarable?: boolean;
|
|
162
|
-
/** `chant lifecycle … --src <dir>` — build root override for lifecycle commands */
|
|
180
|
+
/** `chant lifecycle … --src <dir>` — build root override for lifecycle commands. Also `chant release cut --src <dir>` (#4046): the build root of a project with no components. */
|
|
163
181
|
src?: string;
|
|
164
182
|
/** `--env <name>` — active environment: sets CHANT_ENV so env-aware source
|
|
165
183
|
* re-evaluates for that environment (`build` + `graph`), and drives policy. */
|
|
166
184
|
env?: string;
|
|
167
185
|
/** `chant emulator up --port <container-port>=<host-port>`, repeatable (#3673); a bare `<host-port>` when one emulator is selected. */
|
|
168
186
|
port?: string[];
|
|
169
|
-
/**
|
|
187
|
+
/**
|
|
188
|
+
* `chant emulator up --image <ref>` (#3952): the image to start, when one
|
|
189
|
+
* emulator is selected. `chant build --components --generate --image <ref>`
|
|
190
|
+
* (#4002): the image every generated job runs in.
|
|
191
|
+
*/
|
|
170
192
|
image?: string;
|
|
193
|
+
/** `chant build --components --generate --before-script <line>`, repeatable (#4002): shell lines every generated job runs before its command. */
|
|
194
|
+
beforeScript?: string[];
|
|
171
195
|
/** `chant emulator up --network <name>` (#3952): the Docker network each started container joins. */
|
|
172
196
|
network?: string;
|
|
173
197
|
/** `chant emulator up --setting <KEY>=<VALUE>`, repeatable (#3952): an emulator setting such as `FLOCI_<NAME>`, passed as `-e`. */
|
|
@@ -289,6 +313,12 @@ export interface ParsedArgs {
|
|
|
289
313
|
* request. Needs `--forge`.
|
|
290
314
|
*/
|
|
291
315
|
requireReview?: boolean;
|
|
316
|
+
/**
|
|
317
|
+
* `chant components pr-plan|pr-apply --report-url <url>` (#4007) — copy
|
|
318
|
+
* the stage's report, change set and run events to `<url>/<pr>/<commit>/`,
|
|
319
|
+
* an `s3://` or `file://` URL, the events as each wave and component settles.
|
|
320
|
+
*/
|
|
321
|
+
reportUrl?: string;
|
|
292
322
|
/**
|
|
293
323
|
* `chant build --components --generate <lexicon> --pr-loop` (#3183) —
|
|
294
324
|
* generate the pull-request pipeline: plan on the pull request, apply on
|
|
@@ -385,7 +415,7 @@ export interface ParsedArgs {
|
|
|
385
415
|
noCache?: boolean;
|
|
386
416
|
/** `chant workspace graph --composites` (#2662): print each composite instance with the components that can deploy it. */
|
|
387
417
|
composites?: boolean;
|
|
388
|
-
/** `chant workspace graph --intent <path[:start-end]|path#symbol>` (#2651): the region the intent graph is over. Empty with `--record`. */
|
|
418
|
+
/** `chant workspace graph --intent <path[:start-end]|path#symbol|member/node|sha>` (#2651): the region the intent graph is over. Empty with `--record`. */
|
|
389
419
|
intent?: string;
|
|
390
420
|
/** `chant workspace graph --intent` and `chant workspace runs` (#3035): follow squash merges to their pull requests' original commits, fetching missing pull request refs. */
|
|
391
421
|
followSquash?: boolean;
|
|
@@ -433,6 +463,8 @@ export interface ParsedArgs {
|
|
|
433
463
|
ciAppIdVar?: string;
|
|
434
464
|
/** `chant ci workflow --app-key-secret <NAME>` (#3573): the secret holding that App's private key. */
|
|
435
465
|
ciAppKeySecret?: string;
|
|
466
|
+
/** `chant ci workflow --runner-key-secret <NAME>` (#4031): the secret holding the runner key the tick signs its tags with. */
|
|
467
|
+
ciRunnerKeySecret?: string;
|
|
436
468
|
/**
|
|
437
469
|
* `chant workspace records review <id> --by <principal>` (#2670): the
|
|
438
470
|
* reviewer, as the caller names them. Also `chant workspace records new
|
|
@@ -459,7 +491,7 @@ export interface ParsedArgs {
|
|
|
459
491
|
prefix?: string;
|
|
460
492
|
/** `chant workspace records|verify --require attested` (#2547): the provenance level a gate requires. */
|
|
461
493
|
require?: string;
|
|
462
|
-
/** `chant workspace evidence sign --key` (a runner's Ed25519 PEM) and `signers sign --key` (an ssh private key) (#2553). */
|
|
494
|
+
/** `chant workspace evidence sign --key` (a runner's Ed25519 PEM) and `signers sign --key` (an ssh private key) (#2553). Also `chant ci tick --key` (#4031): the runner key the tick signs its tags with. */
|
|
463
495
|
key?: string;
|
|
464
496
|
/** `chant workspace evidence sign --check-id <id>` (#2553): the check the evidence is for. */
|
|
465
497
|
checkId?: string;
|
|
@@ -539,6 +571,12 @@ export interface ParsedArgs {
|
|
|
539
571
|
digest?: string;
|
|
540
572
|
/** `chant components release record --release-plan <file>` (ws-055, #2733) — path to a release plan JSON file, persisted content-addressed to `_plans/<digest>.json` on chant/lifecycle and read back through the read contract (`chant workspace status --json`). The plan's own `digest` field supplies `--digest` when it is omitted, and must match it when both are given. Distinct from `--plan` (#2300, below), the Op gate-approval plan digest. */
|
|
541
573
|
releasePlanFile?: string;
|
|
574
|
+
/** `chant components promote --release <label|digest>` (#4026): deploy under that release, reading the templates its target for `--to` recorded. `chant run --components --release <label|digest>` (#4043): the run is of that release, which must have been cut from the checked-out commit and have a target for `--env`; the release records the run writes name it. */
|
|
575
|
+
release?: string;
|
|
576
|
+
/** `chant release cut --build <command>` (#4026): the shell command run in the member's directory before each environment's templates are read, with `CHANT_ENV` set to the environment. */
|
|
577
|
+
buildCommand?: string;
|
|
578
|
+
/** `chant release compile --artifacts` (#4026, internal): build the artifacts of `--component` instead of compiling the environment. */
|
|
579
|
+
artifacts?: boolean;
|
|
542
580
|
/** Every `--digest` value, in order (#2602). `chant components promote --digest <component>=<sha256:...>` is repeatable, one per component; the other commands read the single {@link digest}. */
|
|
543
581
|
digests?: string[];
|
|
544
582
|
/** `chant components release record --git-sha <sha>` (#568) — git commit the deploy was built from. */
|
|
@@ -632,7 +670,7 @@ export interface ParsedArgs {
|
|
|
632
670
|
plan?: string;
|
|
633
671
|
/** `chant operator log --op <name>` (#2029) — restrict the tick history to one ConvergeOp by name. Omitted, every discovered ConvergeOp's ticks are merged into one timeline. */
|
|
634
672
|
op?: string;
|
|
635
|
-
/** `chant operator log --since <iso>` (#2029) — only entries at or after this ISO-8601 instant. `chant workspace records --since <rev>` (#2673) — the revision to compare the records with. */
|
|
673
|
+
/** `chant operator log --since <iso>` (#2029) — only entries at or after this ISO-8601 instant. `chant workspace records --since <rev>` (#2673) — the revision to compare the records with. `chant workspace metrics --since <date>` (#4039) — the start of the window the metrics count. */
|
|
636
674
|
since?: string;
|
|
637
675
|
/** `chant operator log --limit <n>` (#2029) — keep only the newest n entries (still printed oldest-first). */
|
|
638
676
|
limit?: number;
|