@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
|
@@ -6,9 +6,11 @@
|
|
|
6
6
|
* The tags themselves are git's, pushed to the remote like any other ref, so
|
|
7
7
|
* the forge is asked for check runs and nothing else. GitHub is the one
|
|
8
8
|
* forge implemented. Forgejo reports commit statuses rather than check runs,
|
|
9
|
-
* and GitLab reports pipeline jobs
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
* and GitLab reports pipeline jobs, and neither gets a reader here (#4021): a
|
|
10
|
+
* project on either runs its pipelines as chant Ops and sets
|
|
11
|
+
* `ci.green.source` to `runs`, so the tick reads signed Op runs from the run
|
|
12
|
+
* ledger instead (#4044, `./ci-green.ts`). `--forge` refuses them by name and
|
|
13
|
+
* says so.
|
|
12
14
|
*
|
|
13
15
|
* The client takes a `fetch` like the pull-request loop's (`../pr-forge.ts`),
|
|
14
16
|
* so the tests drive it with a recording fake and no network.
|
|
@@ -58,7 +60,7 @@ export function githubCiForge(opts) {
|
|
|
58
60
|
/** Thrown for a forge `chant ci tick` has no check-run client for yet. */
|
|
59
61
|
export class CiForgeUnsupportedError extends Error {
|
|
60
62
|
constructor(kind) {
|
|
61
|
-
super(`check runs are read from GitHub only
|
|
63
|
+
super(`check runs are read from GitHub only, and --forge asked for ${kind}. A ${kind} project runs its pipelines as chant Ops and sets ci.green.source to "runs" (or passes --source runs), so the tick reads signed Op runs from chant/lifecycle instead`);
|
|
62
64
|
this.name = "CiForgeUnsupportedError";
|
|
63
65
|
}
|
|
64
66
|
}
|
|
@@ -34,6 +34,11 @@
|
|
|
34
34
|
* tick's own `GITHUB_TOKEN`, which reads check runs, stays the Actions token:
|
|
35
35
|
* a fine-grained personal access token can't call the Checks API.
|
|
36
36
|
*
|
|
37
|
+
* `--runner-key-secret <NAME>` (#4031) hands the tick the runner key it
|
|
38
|
+
* signs its tags with, from `secrets.<NAME>` as `CHANT_RUNNER_KEY`. A
|
|
39
|
+
* declaration that sets `ci.green.signedSince` needs it: a tag outside that
|
|
40
|
+
* commit's strict first-parent ancestry without a statement is ignored.
|
|
41
|
+
*
|
|
37
42
|
* Like a member's pipelines (./member-pipeline.ts), the file starts with the
|
|
38
43
|
* generated-file header naming the command, and the member whose directory
|
|
39
44
|
* the command runs in records it in its generated-file record, so `WSP081`
|
|
@@ -86,6 +91,12 @@ export interface WorkflowInput {
|
|
|
86
91
|
workspaceRoot: string;
|
|
87
92
|
/** How the tag push authenticates, when not with the Actions token. */
|
|
88
93
|
push?: PushToken;
|
|
94
|
+
/**
|
|
95
|
+
* The repository secret holding the runner key the tick signs its tags
|
|
96
|
+
* with, as PEM (#4031). The tick step reads it from `CHANT_RUNNER_KEY`.
|
|
97
|
+
* The key's principal needs the `runner` role in `.chant/trust.json`.
|
|
98
|
+
*/
|
|
99
|
+
runnerKeySecret?: string;
|
|
89
100
|
}
|
|
90
101
|
/**
|
|
91
102
|
* A token the checkout persists for the tick's `git push`: a repository
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ci-green-workflow.d.ts","sourceRoot":"","sources":["../../src/workspace/ci-green-workflow.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ci-green-workflow.d.ts","sourceRoot":"","sources":["../../src/workspace/ci-green-workflow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAI7C,gEAAgE;AAChE,eAAO,MAAM,sBAAsB,yCAAyC,CAAC;AAC7E,eAAO,MAAM,sBAAsB,mBAAmB,CAAC;AAEvD,8CAA8C;AAC9C,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAKD,yHAAyH;AACzH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,EAAE,CAYnD;AAYD,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,sDAAsD;IACtD,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAChD,+CAA+C;IAC/C,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,cAAc,EAAE,GAAG,YAAY,CAyBjG;AAED,iEAAiE;AACjE,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CASpF;AAID,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,OAAO,CAAC;IACf,sDAAsD;IACtD,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,mEAAmE;IACnE,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wFAAwF;IACxF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8GAA8G;IAC9G,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,aAAa,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;AAExF,4GAA4G;AAC5G,eAAO,MAAM,YAAY,QAA6B,CAAC;AAEvD,mHAAmH;AACnH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAsElE;AAED,yFAAyF;AACzF,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAE/E;AAED,kGAAkG;AAClG,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAItE"}
|
|
@@ -34,6 +34,11 @@
|
|
|
34
34
|
* tick's own `GITHUB_TOKEN`, which reads check runs, stays the Actions token:
|
|
35
35
|
* a fine-grained personal access token can't call the Checks API.
|
|
36
36
|
*
|
|
37
|
+
* `--runner-key-secret <NAME>` (#4031) hands the tick the runner key it
|
|
38
|
+
* signs its tags with, from `secrets.<NAME>` as `CHANT_RUNNER_KEY`. A
|
|
39
|
+
* declaration that sets `ci.green.signedSince` needs it: a tag outside that
|
|
40
|
+
* commit's strict first-parent ancestry without a statement is ignored.
|
|
41
|
+
*
|
|
37
42
|
* Like a member's pipelines (./member-pipeline.ts), the file starts with the
|
|
38
43
|
* generated-file header naming the command, and the member whose directory
|
|
39
44
|
* the command runs in records it in its generated-file record, so `WSP081`
|
|
@@ -186,6 +191,7 @@ export function renderCiGreenWorkflow(input) {
|
|
|
186
191
|
" GITHUB_TOKEN: ${{ github.token }}",
|
|
187
192
|
" GIT_COMMITTER_NAME: github-actions[bot]",
|
|
188
193
|
" GIT_COMMITTER_EMAIL: 41898282+github-actions[bot]@users.noreply.github.com",
|
|
194
|
+
...(input.runnerKeySecret ? [` CHANT_RUNNER_KEY: \${{ secrets.${input.runnerKeySecret} }}`] : []),
|
|
189
195
|
` run: ${tick}`,
|
|
190
196
|
];
|
|
191
197
|
return lines.join("\n") + "\n";
|
|
@@ -27,9 +27,34 @@
|
|
|
27
27
|
*
|
|
28
28
|
* The forge is asked only for check runs (`./ci-green-forge.ts`). The tags
|
|
29
29
|
* are fetched from and pushed to the remote with git.
|
|
30
|
+
*
|
|
31
|
+
* Signed tags (#4031): when `ci.green.signedSince` names a commit, a tag on
|
|
32
|
+
* any commit that is not a strict first-parent ancestor of it counts only
|
|
33
|
+
* when its annotation carries a statement signed by a runner key (`./trust/ci-tag-statement.ts`). Every
|
|
34
|
+
* reader here, and the release cut, ignores a tag without a valid one and
|
|
35
|
+
* reports it. A tick given a runner key signs the tags it makes. Without
|
|
36
|
+
* `signedSince` every tag counts, as before.
|
|
37
|
+
*
|
|
38
|
+
* Chant runs as the source (#4044): with `ci.green.source: "runs"` (or
|
|
39
|
+
* `--source runs`) the tick reads chant's own Op runs from the run ledger on
|
|
40
|
+
* `chant/lifecycle` in place of the forge's check runs, so a project whose
|
|
41
|
+
* pipelines run as chant Ops, such as one on GitLab or Forgejo, gets green
|
|
42
|
+
* and revoked tags with no forge check runs. A phase's patterns then match
|
|
43
|
+
* Op names, a run counts for the commit its record names as `gitSha`, and
|
|
44
|
+
* the latest run of each Op decides, by its end time. A run counts only when
|
|
45
|
+
* its record carries a statement signed by a runner key whose principal
|
|
46
|
+
* holds the `runner` role at base (`./trust/op-run-statement.ts`); the tick
|
|
47
|
+
* ignores and reports any other, so it neither greens nor revokes a commit.
|
|
48
|
+
* A tick from runs signs every tag it makes, and each run in the tag's
|
|
49
|
+
* record names the Op run's id and carries its statement.
|
|
30
50
|
*/
|
|
31
|
-
import { type
|
|
32
|
-
import type
|
|
51
|
+
import { type CommitLink } from "./commit-links.js";
|
|
52
|
+
import { type CiGreen, type CiPhase, type CiSource } from "./declaration.js";
|
|
53
|
+
import type { CheckRun, CiForge, OpRunRef } from "./ci-green-forge.js";
|
|
54
|
+
import type { OpRunRecord } from "../op/runtime.js";
|
|
55
|
+
import { type CiTagFailure, type CiTagSigner } from "./trust/ci-tag-statement.js";
|
|
56
|
+
/** The environment variable a tick (#4031) and `chant run` (#4044) read a runner key from, as PEM, when `--key` is not given. */
|
|
57
|
+
export declare const RUNNER_KEY_ENV = "CHANT_RUNNER_KEY";
|
|
33
58
|
export declare const CI_GREEN_TAG_PREFIX = "ci/green/";
|
|
34
59
|
export declare const CI_REVOKED_TAG_PREFIX = "ci/revoked/";
|
|
35
60
|
export declare const CI_LAST_GREEN_CONTRACT_VERSION = 1;
|
|
@@ -53,6 +78,8 @@ export interface RunVerdict {
|
|
|
53
78
|
conclusion: string | null;
|
|
54
79
|
url: string | null;
|
|
55
80
|
verdict: Verdict;
|
|
81
|
+
/** The Op run this is, when the source is chant runs (#4044). */
|
|
82
|
+
opRun?: OpRunRef;
|
|
56
83
|
}
|
|
57
84
|
export interface PhaseVerdict {
|
|
58
85
|
phase: string;
|
|
@@ -90,6 +117,23 @@ export interface TickCommit {
|
|
|
90
117
|
tag: string;
|
|
91
118
|
message: string;
|
|
92
119
|
} | null;
|
|
120
|
+
/** Whether the commit names its work item (#4029), or undefined when the workspace declares no work kind. */
|
|
121
|
+
work?: CommitLink;
|
|
122
|
+
/** The commit's ci tags that were ignored, each without a valid statement (#4031). Absent when none were. */
|
|
123
|
+
ignored?: IgnoredCiTag[];
|
|
124
|
+
/** The tag the tick would have made, when an ignored tag already holds its name (#4031). Nothing is made until a person deletes that tag. */
|
|
125
|
+
blocked?: string;
|
|
126
|
+
/** The Op runs on this commit that were ignored, each without a valid statement (#4044). Absent when none were. */
|
|
127
|
+
ignoredRuns?: IgnoredOpRun[];
|
|
128
|
+
}
|
|
129
|
+
/** An Op run on a commit that does not count (#4044), and why. */
|
|
130
|
+
export interface IgnoredOpRun {
|
|
131
|
+
run: string;
|
|
132
|
+
op: string;
|
|
133
|
+
env: string;
|
|
134
|
+
/** `unsigned`, `invalid`, `untrusted` or `mismatch`, as for a ci tag. */
|
|
135
|
+
status: CiTagFailure;
|
|
136
|
+
reason: string;
|
|
93
137
|
}
|
|
94
138
|
export interface TickPlanInput {
|
|
95
139
|
green: CiGreen;
|
|
@@ -99,15 +143,19 @@ export interface TickPlanInput {
|
|
|
99
143
|
}[];
|
|
100
144
|
greenTags: ReadonlySet<string>;
|
|
101
145
|
revokedTags: ReadonlySet<string>;
|
|
146
|
+
/** Tags that exist but were ignored (#4031), by commit. The tick does not make a tag whose name one of them holds. */
|
|
147
|
+
ignored?: ReadonlyMap<string, readonly IgnoredCiTag[]>;
|
|
102
148
|
checkRuns(sha: string): Promise<CheckRun[]>;
|
|
103
149
|
now: Date;
|
|
150
|
+
/** Signs each tag's record (#4031). Without it the tags carry no statement. */
|
|
151
|
+
signer?: CiTagSigner;
|
|
104
152
|
}
|
|
105
153
|
/** `window` (`90m`, `24h`, `7d`) in milliseconds. */
|
|
106
154
|
export declare function windowMs(window: string): number;
|
|
107
|
-
/** The annotation of a green tag: a subject line, then the record as JSON. */
|
|
108
|
-
export declare function greenAnnotation(green: CiGreen, sha: string, verdict: CommitVerdict, at: Date): string;
|
|
109
|
-
/** The annotation of a revoked tag: the phase and the run that failed, and the time. */
|
|
110
|
-
export declare function revokedAnnotation(green: CiGreen, sha: string, failure: NonNullable<CommitVerdict["failure"]>, at: Date): string;
|
|
155
|
+
/** The annotation of a green tag: a subject line, then the record as JSON, signed when `signer` is given (#4031). */
|
|
156
|
+
export declare function greenAnnotation(green: CiGreen, sha: string, verdict: CommitVerdict, at: Date, signer?: CiTagSigner): string;
|
|
157
|
+
/** The annotation of a revoked tag: the phase and the run that failed, and the time, signed when `signer` is given (#4031). */
|
|
158
|
+
export declare function revokedAnnotation(green: CiGreen, sha: string, failure: NonNullable<CommitVerdict["failure"]>, at: Date, signer?: CiTagSigner): string;
|
|
111
159
|
/**
|
|
112
160
|
* Decide what a tick does, without touching git: a commit with no green tag
|
|
113
161
|
* whose required phases all passed gets one, and a green commit with no
|
|
@@ -115,19 +163,69 @@ export declare function revokedAnnotation(green: CiGreen, sha: string, failure:
|
|
|
115
163
|
* is skipped without asking the forge.
|
|
116
164
|
*/
|
|
117
165
|
export declare function planTick(input: TickPlanInput): Promise<TickCommit[]>;
|
|
118
|
-
/**
|
|
119
|
-
export
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
166
|
+
/** A ci tag that exists and does not count (#4031), and why. */
|
|
167
|
+
export interface IgnoredCiTag {
|
|
168
|
+
tag: string;
|
|
169
|
+
/** `unsigned`, `invalid`, `untrusted` or `mismatch`, as a run statement's attestation says it. */
|
|
170
|
+
status: CiTagFailure;
|
|
171
|
+
reason: string;
|
|
172
|
+
}
|
|
173
|
+
/** A tag that counts, with what its annotation recorded. */
|
|
174
|
+
export interface CountedCiTag {
|
|
175
|
+
tagged: string | null;
|
|
176
|
+
/** The annotation's JSON record, when the tag is annotated and it parses. */
|
|
177
|
+
record: Record<string, unknown> | null;
|
|
178
|
+
/** The runner whose statement it carries, or null when it counts unsigned (#4031). */
|
|
179
|
+
signer: string | null;
|
|
180
|
+
}
|
|
181
|
+
/** The ci tags as readers count them (#4031). */
|
|
182
|
+
export interface CiTags {
|
|
183
|
+
green: Map<string, CountedCiTag>;
|
|
184
|
+
revoked: Map<string, CountedCiTag>;
|
|
185
|
+
/** Tags that exist and do not count, by the commit their name gives. */
|
|
186
|
+
ignored: Map<string, IgnoredCiTag[]>;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* The commits whose tags count unsigned under `signedSince` (#4031): its
|
|
190
|
+
* strict first-parent ancestors, the history the green branch had before the
|
|
191
|
+
* first commit whose tags must be signed. Position in history is something a
|
|
192
|
+
* committer can't set, unlike a commit's or a tag's date (ws-069 d). Throws
|
|
193
|
+
* `declaration-invalid` when `signedSince` names no commit here.
|
|
194
|
+
*/
|
|
195
|
+
export declare function unsignedHistory(top: string, signedSince: string): Set<string>;
|
|
196
|
+
/**
|
|
197
|
+
* Read the ci tags and judge each one (#4031). Without `signedSince` in
|
|
198
|
+
* `green` every tag counts, as before. With it, a tag on a strict
|
|
199
|
+
* first-parent ancestor of `signedSince` counts unsigned, and any other tag
|
|
200
|
+
* counts only when it points at the commit its name gives and its annotation
|
|
201
|
+
* carries a statement a runner key at `base` signed for that commit, tag and
|
|
202
|
+
* branch. The runner keys and roles are read from `.chant/trust.json` at
|
|
203
|
+
* `base`, the commit the caller reads the branch at. Throws
|
|
204
|
+
* `declaration-invalid` when `signedSince` names no commit here.
|
|
205
|
+
*/
|
|
206
|
+
export declare function readCiTags(top: string, green?: CiGreen | null, base?: string | null): CiTags;
|
|
123
207
|
export interface TickRequest {
|
|
124
208
|
cwd: string;
|
|
125
|
-
|
|
209
|
+
/**
|
|
210
|
+
* Where check runs come from. A function is called only when the source
|
|
211
|
+
* is `checks`, so a tick from runs needs no forge token. Required for
|
|
212
|
+
* `checks`.
|
|
213
|
+
*/
|
|
214
|
+
forge?: CiForge | (() => CiForge);
|
|
215
|
+
/** Where phase results come from (#4044): overrides `ci.green.source`. */
|
|
216
|
+
source?: CiSource;
|
|
126
217
|
/** The git remote the branch and the tags are fetched from and pushed to. Default `origin`. */
|
|
127
218
|
remote?: string;
|
|
128
219
|
/** Decide and report, and make and push no tag. */
|
|
129
220
|
dryRun?: boolean;
|
|
130
221
|
now?: Date;
|
|
222
|
+
/**
|
|
223
|
+
* A runner's Ed25519 private key in PEM (#4031). The tick signs each tag
|
|
224
|
+
* it makes with it, and refuses a key `.chant/trust.json` at the branch tip
|
|
225
|
+
* does not list as a runner whose principal holds the `runner` role. When
|
|
226
|
+
* `ci.green.signedSince` is set the tick needs one.
|
|
227
|
+
*/
|
|
228
|
+
runnerKey?: string;
|
|
131
229
|
}
|
|
132
230
|
export interface TickResult {
|
|
133
231
|
branch: string;
|
|
@@ -137,19 +235,59 @@ export interface TickResult {
|
|
|
137
235
|
commits: TickCommit[];
|
|
138
236
|
/** The tags made and pushed, or that would be under `dryRun`. */
|
|
139
237
|
made: string[];
|
|
238
|
+
/** The runner the tags were signed as (#4031), or null when they carry no statement. */
|
|
239
|
+
signer: string | null;
|
|
240
|
+
/** Where the phase results came from (#4044). */
|
|
241
|
+
source: CiSource;
|
|
140
242
|
}
|
|
243
|
+
/**
|
|
244
|
+
* The signer a runner key makes (#4031): the principal `.chant/trust.json`
|
|
245
|
+
* at `base` lists the key for, who must hold the `runner` role. Throws when
|
|
246
|
+
* the key is not one, so a tick never makes a tag its readers would ignore.
|
|
247
|
+
*/
|
|
248
|
+
export declare function ciTagSigner(top: string, base: string, pem: string, what?: string): CiTagSigner;
|
|
141
249
|
/**
|
|
142
250
|
* One tick: fetch the branch and the ci tags from the remote (pruning a ci
|
|
143
251
|
* tag deleted there by hand), judge the first-parent commits within the
|
|
144
252
|
* window, make the tags that are due and push them, never forced.
|
|
145
253
|
*/
|
|
146
254
|
export declare function ciTick(req: TickRequest): Promise<TickResult>;
|
|
255
|
+
/** The Op runs on the ledger, judged, as check runs by commit. */
|
|
256
|
+
export interface OpRunSource {
|
|
257
|
+
/** The signed runs on `sha`, each as a check run named for its Op. */
|
|
258
|
+
checkRuns(sha: string): CheckRun[];
|
|
259
|
+
/** The runs on each commit that do not count, by commit. */
|
|
260
|
+
ignored: Map<string, IgnoredOpRun[]>;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* An Op run as a check run (#4044): `ok` passes and `fail` fails once the
|
|
264
|
+
* run has settled; a run stopped at a gate or a decision point is still
|
|
265
|
+
* going. The id is the run's end time in milliseconds, so the latest run of
|
|
266
|
+
* an Op is its latest attempt.
|
|
267
|
+
*/
|
|
268
|
+
export declare function opRunCheckRun(record: OpRunRecord, signer: string): CheckRun;
|
|
269
|
+
/**
|
|
270
|
+
* Judge every Op run record that names a commit against `.chant/trust.json`
|
|
271
|
+
* at `base` (#4044), from the run ledger the project at `cwd` writes to. A
|
|
272
|
+
* record with a valid statement becomes a check run on its `gitSha`; any
|
|
273
|
+
* other is kept as an ignored run. Reads local refs only.
|
|
274
|
+
*/
|
|
275
|
+
export declare function readOpRunSource(cwd: string, top: string, base: string): Promise<OpRunSource>;
|
|
276
|
+
/**
|
|
277
|
+
* What `chant run <op> --key` signs a run's record with (#4044): the runner
|
|
278
|
+
* key `.chant/trust.json` at the checkout's `HEAD` lists for a principal
|
|
279
|
+
* holding the `runner` role. Throws when the key is not one, or `cwd` is in
|
|
280
|
+
* no git checkout.
|
|
281
|
+
*/
|
|
282
|
+
export declare function opRunSigner(cwd: string, pem: string): (record: OpRunRecord) => NonNullable<OpRunRecord["statement"]>;
|
|
147
283
|
/**
|
|
148
284
|
* Why the remote refused a tag push, when chant can tell. GitHub refuses a
|
|
149
285
|
* new ref to a commit whose workflow files differ from the default branch's
|
|
150
286
|
* unless the token may update workflows, and the Actions token never may.
|
|
151
287
|
*/
|
|
152
288
|
export declare function pushRefusalCause(stderr: string): string | null;
|
|
289
|
+
/** Why a commit's work item is unknown, for the text of `ci tick` and `ci list`; undefined for a commit that names one. */
|
|
290
|
+
export declare function whyWorkUnknown(work: CommitLink | null | undefined): string | undefined;
|
|
153
291
|
/** The text `chant ci tick` prints. */
|
|
154
292
|
export declare function formatTick(r: TickResult, dryRun?: boolean): string;
|
|
155
293
|
export type LastGreenDocument = {
|
|
@@ -162,7 +300,7 @@ export type LastGreenDocument = {
|
|
|
162
300
|
file: string;
|
|
163
301
|
};
|
|
164
302
|
branch: string;
|
|
165
|
-
/** The ref walked: the remote-tracking branch when there is one, else the local branch. */
|
|
303
|
+
/** The ref walked: the remote-tracking branch when there is one, else the local branch, or the revision `from` named. */
|
|
166
304
|
ref: string;
|
|
167
305
|
commit: {
|
|
168
306
|
sha: string;
|
|
@@ -170,6 +308,8 @@ export type LastGreenDocument = {
|
|
|
170
308
|
tagged: string | null;
|
|
171
309
|
committed: string;
|
|
172
310
|
} | null;
|
|
311
|
+
/** Tags on the commits walked, down to the one found, that were ignored for want of a valid statement (#4031). Newest first. */
|
|
312
|
+
ignored: IgnoredCiTag[];
|
|
173
313
|
} | {
|
|
174
314
|
$schema: string;
|
|
175
315
|
contract: number;
|
|
@@ -187,5 +327,133 @@ export type LastGreenDocument = {
|
|
|
187
327
|
export declare function lastGreen(req: {
|
|
188
328
|
cwd: string;
|
|
189
329
|
remote?: string;
|
|
330
|
+
from?: string;
|
|
190
331
|
}): LastGreenDocument;
|
|
332
|
+
export declare const CI_LIST_CONTRACT_VERSION = 1;
|
|
333
|
+
export declare const CI_LIST_SCHEMA_ID = "https://intentius.io/chant/schemas/workspace/ci-list/v1/ci-list.schema.json";
|
|
334
|
+
/** A commit's state from its tags: `green`, `revoked` (a revoked tag wins), or `undecided` (no ci tag). */
|
|
335
|
+
export type CiCommitState = "green" | "revoked" | "undecided";
|
|
336
|
+
/**
|
|
337
|
+
* One required phase's result on a commit. `pass` and `fail` are what a tag
|
|
338
|
+
* recorded or a live read found, `pending` is a live read with runs still
|
|
339
|
+
* going or not yet reported, and `unrecorded` means no tag holds the result
|
|
340
|
+
* and the forge was not asked.
|
|
341
|
+
*/
|
|
342
|
+
export type CiPhaseResult = "pass" | "fail" | "pending" | "unrecorded";
|
|
343
|
+
export interface CiListRun {
|
|
344
|
+
name: string;
|
|
345
|
+
id: number | null;
|
|
346
|
+
conclusion: string | null;
|
|
347
|
+
url: string | null;
|
|
348
|
+
/** The Op run, when the run is a chant run (#4044): its id, env and the runner whose statement it carries. Absent for a check run. */
|
|
349
|
+
opRun?: {
|
|
350
|
+
id: string;
|
|
351
|
+
env: string;
|
|
352
|
+
signer: string;
|
|
353
|
+
};
|
|
354
|
+
}
|
|
355
|
+
export interface CiListPhase {
|
|
356
|
+
phase: string;
|
|
357
|
+
result: CiPhaseResult;
|
|
358
|
+
runs: CiListRun[];
|
|
359
|
+
}
|
|
360
|
+
export interface CiListCommit {
|
|
361
|
+
sha: string;
|
|
362
|
+
/** Committer time, ISO 8601. */
|
|
363
|
+
committed: string;
|
|
364
|
+
state: CiCommitState;
|
|
365
|
+
/**
|
|
366
|
+
* The green tag's name and time, or null when the commit has none that
|
|
367
|
+
* counts. `tagged` is null for a lightweight tag. `signer` is the runner
|
|
368
|
+
* whose statement it carries, or null when it counts unsigned (#4031).
|
|
369
|
+
*/
|
|
370
|
+
green: {
|
|
371
|
+
tag: string;
|
|
372
|
+
tagged: string | null;
|
|
373
|
+
signer: string | null;
|
|
374
|
+
} | null;
|
|
375
|
+
/** The revoked tag's name, time, the phase and run its annotation names, and its signer as for `green`. */
|
|
376
|
+
revoked: {
|
|
377
|
+
tag: string;
|
|
378
|
+
tagged: string | null;
|
|
379
|
+
phase: string | null;
|
|
380
|
+
run: CiListRun | null;
|
|
381
|
+
signer: string | null;
|
|
382
|
+
} | null;
|
|
383
|
+
/** The commit's ci tags that do not count, each for want of a valid statement (#4031). Empty unless ci.green.signedSince is set. */
|
|
384
|
+
ignored: IgnoredCiTag[];
|
|
385
|
+
/** Each required phase in `require` order. */
|
|
386
|
+
phases: CiListPhase[];
|
|
387
|
+
/**
|
|
388
|
+
* Whether the commit names its work item (#4029), or null when the checkout
|
|
389
|
+
* is in no workspace that declares a work kind.
|
|
390
|
+
*/
|
|
391
|
+
work: CommitLink | null;
|
|
392
|
+
/** The Op runs on the commit that do not count, each for want of a valid statement (#4044). Present only when the source is chant runs. */
|
|
393
|
+
ignoredRuns?: IgnoredOpRun[];
|
|
394
|
+
}
|
|
395
|
+
export type CiListDocument = {
|
|
396
|
+
$schema: string;
|
|
397
|
+
contract: number;
|
|
398
|
+
chant: string;
|
|
399
|
+
workspace: {
|
|
400
|
+
name: string;
|
|
401
|
+
root: string;
|
|
402
|
+
file: string;
|
|
403
|
+
};
|
|
404
|
+
branch: string;
|
|
405
|
+
ref: string;
|
|
406
|
+
/** ci.green.window, or null when `since` replaced it. */
|
|
407
|
+
window: string | null;
|
|
408
|
+
/** The revision the walk stopped at (exclusive), when `since` was given. */
|
|
409
|
+
since: string | null;
|
|
410
|
+
/** ci.green.require. */
|
|
411
|
+
require: string[];
|
|
412
|
+
/** Newest first. */
|
|
413
|
+
commits: CiListCommit[];
|
|
414
|
+
} | {
|
|
415
|
+
$schema: string;
|
|
416
|
+
contract: number;
|
|
417
|
+
chant: string;
|
|
418
|
+
error: {
|
|
419
|
+
code: CiGreenErrorCode;
|
|
420
|
+
message: string;
|
|
421
|
+
};
|
|
422
|
+
};
|
|
423
|
+
/** The revoked tag on a commit as `ci list` shows it, which the release reads of #4033 (ws-105) reuse. */
|
|
424
|
+
export type RevokedTagView = NonNullable<CiListCommit["revoked"]>;
|
|
425
|
+
/**
|
|
426
|
+
* A counted revoked tag as `ci list` shows it: its name and time, the phase
|
|
427
|
+
* and run its annotation names, and its signer. A tag made from chant runs
|
|
428
|
+
* (#4044) names its run with `id: null` and the Op run in `opRun`.
|
|
429
|
+
*/
|
|
430
|
+
export declare function revokedTagView(sha: string, r: CountedCiTag): RevokedTagView;
|
|
431
|
+
export interface ListRequest {
|
|
432
|
+
cwd: string;
|
|
433
|
+
remote?: string;
|
|
434
|
+
/** Keep only the newest n commits. */
|
|
435
|
+
limit?: number;
|
|
436
|
+
/** Walk back to this revision, exclusive, instead of the declared window. */
|
|
437
|
+
since?: string;
|
|
438
|
+
/** Judge undecided commits from the forge's check runs. Without it they list as `unrecorded`. */
|
|
439
|
+
forge?: CiForge;
|
|
440
|
+
/**
|
|
441
|
+
* Where phase results come from (#4044): overrides `ci.green.source`. With
|
|
442
|
+
* `runs`, undecided commits are judged from the signed Op runs on the
|
|
443
|
+
* local `chant/lifecycle`, and `forge` is refused.
|
|
444
|
+
*/
|
|
445
|
+
source?: CiSource;
|
|
446
|
+
now?: Date;
|
|
447
|
+
}
|
|
448
|
+
/**
|
|
449
|
+
* `chant ci list`: the branch's first-parent commits within the window, each
|
|
450
|
+
* with its state from the ci tags and each required phase's result. Tags
|
|
451
|
+
* give the green and revoked results offline; only undecided commits need
|
|
452
|
+
* the forge, and only when a `forge` is given. It never fetches.
|
|
453
|
+
*/
|
|
454
|
+
export declare function ciList(req: ListRequest): Promise<CiListDocument>;
|
|
455
|
+
/** The text `chant ci list` prints: one line per commit. */
|
|
456
|
+
export declare function formatList(doc: Extract<CiListDocument, {
|
|
457
|
+
branch: string;
|
|
458
|
+
}>): string;
|
|
191
459
|
//# sourceMappingURL=ci-green.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ci-green.d.ts","sourceRoot":"","sources":["../../src/workspace/ci-green.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ci-green.d.ts","sourceRoot":"","sources":["../../src/workspace/ci-green.ts"],"names":[],"mappings":"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"}
|