@intentius/chant 0.90.0 → 0.93.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/lint.d.ts.map +1 -1
- package/dist/cli/handlers/components.d.ts +8 -0
- package/dist/cli/handlers/components.d.ts.map +1 -1
- package/dist/cli/handlers/graph.d.ts.map +1 -1
- package/dist/cli/handlers/operator.d.ts +20 -0
- package/dist/cli/handlers/operator.d.ts.map +1 -1
- package/dist/cli/handlers/run.d.ts.map +1 -1
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/mcp/workspace-tools.d.ts +7 -4
- package/dist/cli/mcp/workspace-tools.d.ts.map +1 -1
- package/dist/cli/plugins.d.ts.map +1 -1
- package/dist/cli/registry.d.ts +42 -1
- package/dist/cli/registry.d.ts.map +1 -1
- package/dist/codegen/pinned-upgrade.d.ts.map +1 -1
- package/dist/components/verbs/vuln-scan.d.ts +72 -0
- package/dist/components/verbs/vuln-scan.d.ts.map +1 -1
- package/dist/config.d.ts +22 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/lexicon-module.d.ts +22 -0
- package/dist/lexicon-module.d.ts.map +1 -1
- package/dist/lifecycle/converge-ledger.d.ts +19 -0
- package/dist/lifecycle/converge-ledger.d.ts.map +1 -1
- package/dist/lifecycle/git.d.ts +40 -5
- package/dist/lifecycle/git.d.ts.map +1 -1
- package/dist/lifecycle/lease.d.ts +72 -16
- package/dist/lifecycle/lease.d.ts.map +1 -1
- package/dist/lifecycle/member-ledger.d.ts +3 -2
- package/dist/lifecycle/member-ledger.d.ts.map +1 -1
- package/dist/lifecycle/plan-ledger.d.ts +114 -0
- package/dist/lifecycle/plan-ledger.d.ts.map +1 -0
- package/dist/lifecycle/run-ledger.d.ts +2 -0
- package/dist/lifecycle/run-ledger.d.ts.map +1 -1
- package/dist/lifecycle/symptoms.d.ts +51 -0
- package/dist/lifecycle/symptoms.d.ts.map +1 -1
- package/dist/lifecycle/work-lease.d.ts +140 -0
- package/dist/lifecycle/work-lease.d.ts.map +1 -0
- package/dist/lint/rules/index.d.ts +4 -2
- package/dist/lint/rules/index.d.ts.map +1 -1
- package/dist/lint/rules/op/index.d.ts +14 -3
- package/dist/lint/rules/op/index.d.ts.map +1 -1
- package/dist/lint/rules/op/ops014-converge-rule-refusals.d.ts.map +1 -1
- package/dist/lint/rules/op/sys010-key-over-plain-http.d.ts +29 -0
- package/dist/lint/rules/op/sys010-key-over-plain-http.d.ts.map +1 -0
- package/dist/lint/rules/sys001-no-literal-key.d.ts +3 -0
- package/dist/lint/rules/sys001-no-literal-key.d.ts.map +1 -0
- package/dist/op/__fixtures__/decide-stub-backend.d.ts +53 -0
- package/dist/op/__fixtures__/decide-stub-backend.d.ts.map +1 -0
- package/dist/op/activities/activity-contracts.d.ts +203 -2
- package/dist/op/activities/activity-contracts.d.ts.map +1 -1
- package/dist/op/activities/apply.d.ts.map +1 -1
- package/dist/op/activities/change-coverage.d.ts +44 -0
- package/dist/op/activities/change-coverage.d.ts.map +1 -0
- package/dist/op/activities/converge.d.ts +24 -1
- package/dist/op/activities/converge.d.ts.map +1 -1
- package/dist/op/activities/decide.d.ts +107 -0
- package/dist/op/activities/decide.d.ts.map +1 -0
- package/dist/op/activities/index.d.ts +10 -0
- package/dist/op/activities/index.d.ts.map +1 -1
- package/dist/op/activities/shell.d.ts +32 -0
- package/dist/op/activities/shell.d.ts.map +1 -1
- package/dist/op/activities/source-release.d.ts +86 -0
- package/dist/op/activities/source-release.d.ts.map +1 -0
- package/dist/op/activities/source-rollback.d.ts +100 -0
- package/dist/op/activities/source-rollback.d.ts.map +1 -0
- package/dist/op/activities/work-evidence.d.ts +42 -0
- package/dist/op/activities/work-evidence.d.ts.map +1 -0
- package/dist/op/activity-contract.d.ts +1 -0
- package/dist/op/activity-contract.d.ts.map +1 -1
- package/dist/op/activity-profiles.d.ts +16 -0
- package/dist/op/activity-profiles.d.ts.map +1 -1
- package/dist/op/builders.d.ts +84 -2
- package/dist/op/builders.d.ts.map +1 -1
- package/dist/op/composites/converge-op.d.ts +31 -4
- package/dist/op/composites/converge-op.d.ts.map +1 -1
- package/dist/op/decide-backend.d.ts +116 -0
- package/dist/op/decide-backend.d.ts.map +1 -0
- package/dist/op/decide-config.d.ts +120 -0
- package/dist/op/decide-config.d.ts.map +1 -0
- package/dist/op/decide-read-inputs.d.ts +40 -0
- package/dist/op/decide-read-inputs.d.ts.map +1 -0
- package/dist/op/discover.d.ts +25 -0
- package/dist/op/discover.d.ts.map +1 -1
- package/dist/op/gate-wait.d.ts +43 -0
- package/dist/op/gate-wait.d.ts.map +1 -0
- package/dist/op/gate.d.ts +5 -2
- package/dist/op/gate.d.ts.map +1 -1
- package/dist/op/index.d.ts +18 -5
- package/dist/op/index.d.ts.map +1 -1
- package/dist/op/lifecycle-receipt-store.d.ts +34 -0
- package/dist/op/lifecycle-receipt-store.d.ts.map +1 -0
- package/dist/op/local-executor.d.ts +48 -4
- package/dist/op/local-executor.d.ts.map +1 -1
- package/dist/op/local-output.d.ts +2 -0
- package/dist/op/local-output.d.ts.map +1 -1
- package/dist/op/op-ir.d.ts +12 -1
- package/dist/op/op-ir.d.ts.map +1 -1
- package/dist/op/op-verb-class.d.ts.map +1 -1
- package/dist/op/operator.d.ts +126 -1
- package/dist/op/operator.d.ts.map +1 -1
- package/dist/op/runtime.d.ts +46 -5
- package/dist/op/runtime.d.ts.map +1 -1
- package/dist/op/runtimes/local.d.ts.map +1 -1
- package/dist/op/source-archive.d.ts +63 -0
- package/dist/op/source-archive.d.ts.map +1 -0
- package/dist/op/step-output-ref.d.ts +2 -2
- package/dist/op/step-output-ref.d.ts.map +1 -1
- package/dist/op/steward-points.d.ts +136 -0
- package/dist/op/steward-points.d.ts.map +1 -0
- package/dist/op/steward-turn.d.ts +53 -0
- package/dist/op/steward-turn.d.ts.map +1 -0
- package/dist/op/steward.d.ts +161 -0
- package/dist/op/steward.d.ts.map +1 -0
- package/dist/op/types.d.ts +58 -0
- package/dist/op/types.d.ts.map +1 -1
- package/dist/op/work-lease-decl.d.ts +18 -0
- package/dist/op/work-lease-decl.d.ts.map +1 -0
- package/dist/op/work-lease-run.d.ts +173 -0
- package/dist/op/work-lease-run.d.ts.map +1 -0
- package/dist/workspace/__fixtures__/decide-workspace.d.ts +100 -0
- package/dist/workspace/__fixtures__/decide-workspace.d.ts.map +1 -0
- package/dist/workspace/answers-ledger.d.ts +76 -0
- package/dist/workspace/answers-ledger.d.ts.map +1 -0
- package/dist/workspace/box-isolation.d.ts +99 -0
- package/dist/workspace/box-isolation.d.ts.map +1 -0
- package/dist/workspace/changes-cli.d.ts +16 -0
- package/dist/workspace/changes-cli.d.ts.map +1 -0
- package/dist/workspace/changes.d.ts +200 -0
- package/dist/workspace/changes.d.ts.map +1 -0
- package/dist/workspace/chant-migrations/chud-lexicon-exit-fly-site.d.ts +59 -0
- package/dist/workspace/chant-migrations/chud-lexicon-exit-fly-site.d.ts.map +1 -0
- package/dist/workspace/chant-migrations/chud-lexicon-exit-live-names.d.ts +51 -0
- package/dist/workspace/chant-migrations/chud-lexicon-exit-live-names.d.ts.map +1 -0
- package/dist/workspace/chant-migrations/chud-lexicon-exit-rollback.d.ts +26 -0
- package/dist/workspace/chant-migrations/chud-lexicon-exit-rollback.d.ts.map +1 -0
- package/dist/workspace/chant-migrations/chud-lexicon-exit-ship-inputs.d.ts +59 -0
- package/dist/workspace/chant-migrations/chud-lexicon-exit-ship-inputs.d.ts.map +1 -0
- package/dist/workspace/chant-migrations/chud-lexicon-exit-ship-policy.d.ts +22 -0
- package/dist/workspace/chant-migrations/chud-lexicon-exit-ship-policy.d.ts.map +1 -0
- package/dist/workspace/chant-migrations/chud-lexicon-exit.d.ts +71 -0
- package/dist/workspace/chant-migrations/chud-lexicon-exit.d.ts.map +1 -0
- package/dist/workspace/chant-migrations.d.ts +99 -0
- package/dist/workspace/chant-migrations.d.ts.map +1 -0
- package/dist/workspace/checks/box-isolation.d.ts +18 -0
- package/dist/workspace/checks/box-isolation.d.ts.map +1 -0
- package/dist/workspace/checks/boxes.d.ts +104 -0
- package/dist/workspace/checks/boxes.d.ts.map +1 -0
- package/dist/workspace/checks/diagrams.d.ts +31 -0
- package/dist/workspace/checks/diagrams.d.ts.map +1 -0
- package/dist/workspace/checks/records.d.ts +8 -0
- package/dist/workspace/checks/records.d.ts.map +1 -1
- package/dist/workspace/checks.d.ts +13 -1
- package/dist/workspace/checks.d.ts.map +1 -1
- package/dist/workspace/compose-graph.d.ts +2 -0
- package/dist/workspace/compose-graph.d.ts.map +1 -1
- package/dist/workspace/conformance/index.d.ts.map +1 -1
- package/dist/workspace/decide.d.ts +229 -0
- package/dist/workspace/decide.d.ts.map +1 -0
- package/dist/workspace/decision-points.schema.json +137 -0
- package/dist/workspace/declaration.d.ts +103 -0
- package/dist/workspace/declaration.d.ts.map +1 -1
- package/dist/workspace/declaration.schema.json +285 -0
- package/dist/workspace/declared-kinds.d.ts +32 -0
- package/dist/workspace/declared-kinds.d.ts.map +1 -1
- package/dist/workspace/generated-files.d.ts +7 -0
- package/dist/workspace/generated-files.d.ts.map +1 -1
- package/dist/workspace/intent.d.ts.map +1 -1
- package/dist/workspace/lineage-check.d.ts +3 -0
- package/dist/workspace/lineage-check.d.ts.map +1 -1
- package/dist/workspace/lineage-upgrade.d.ts +6 -1
- package/dist/workspace/lineage-upgrade.d.ts.map +1 -1
- package/dist/workspace/ls.d.ts +39 -1
- package/dist/workspace/ls.d.ts.map +1 -1
- package/dist/workspace/point-answer.schema.json +95 -0
- package/dist/workspace/points-cli.d.ts +113 -0
- package/dist/workspace/points-cli.d.ts.map +1 -0
- package/dist/workspace/points.d.ts +320 -0
- package/dist/workspace/points.d.ts.map +1 -0
- package/dist/workspace/reason-codes.d.ts +38 -0
- package/dist/workspace/reason-codes.d.ts.map +1 -1
- package/dist/workspace/record-assets.d.ts.map +1 -1
- package/dist/workspace/records-cli.d.ts +23 -1
- package/dist/workspace/records-cli.d.ts.map +1 -1
- package/dist/workspace/records-close.d.ts +1 -1
- package/dist/workspace/records-close.d.ts.map +1 -1
- package/dist/workspace/records-write.d.ts +11 -5
- package/dist/workspace/records-write.d.ts.map +1 -1
- package/dist/workspace/records.d.ts +42 -6
- package/dist/workspace/records.d.ts.map +1 -1
- package/dist/workspace/status-gates.d.ts +7 -2
- package/dist/workspace/status-gates.d.ts.map +1 -1
- package/dist/workspace/status-stewards.d.ts +179 -0
- package/dist/workspace/status-stewards.d.ts.map +1 -0
- package/dist/workspace/status.d.ts +68 -1
- package/dist/workspace/status.d.ts.map +1 -1
- package/dist/workspace/work-cli.d.ts +189 -0
- package/dist/workspace/work-cli.d.ts.map +1 -0
- package/dist/workspace/work-evidence.d.ts +74 -0
- package/dist/workspace/work-evidence.d.ts.map +1 -0
- package/dist/workspace/work.d.ts +43 -1
- package/dist/workspace/work.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/cli/commands/audit.test.ts +9 -1
- package/src/cli/commands/build.ts +3 -2
- package/src/cli/commands/lint.ts +7 -1
- package/src/cli/handlers/components.test.ts +93 -0
- package/src/cli/handlers/components.ts +44 -3
- package/src/cli/handlers/graph.test.ts +20 -0
- package/src/cli/handlers/graph.ts +16 -2
- package/src/cli/handlers/operator.ts +141 -4
- package/src/cli/handlers/run.test.ts +173 -2
- package/src/cli/handlers/run.ts +174 -3
- package/src/cli/main.test.ts +50 -0
- package/src/cli/main.ts +97 -2
- package/src/cli/mcp/workspace-tools.test.ts +48 -19
- package/src/cli/mcp/workspace-tools.ts +110 -8
- package/src/cli/plugins.ts +11 -3
- package/src/cli/registry.ts +42 -1
- package/src/codegen/pinned-upgrade.ts +2 -1
- package/src/codegen/release-wiring.test.ts +49 -2
- package/src/components/capability-plugin-loader.ts +3 -3
- package/src/components/cli-support.ts +2 -2
- package/src/components/verbs/vuln-scan.test.ts +124 -1
- package/src/components/verbs/vuln-scan.ts +142 -1
- package/src/config.ts +11 -0
- package/src/lexicon-module.ts +56 -1
- package/src/lexicon-package.test.ts +96 -0
- package/src/lifecycle/converge-ledger.ts +20 -0
- package/src/lifecycle/git.ts +65 -15
- package/src/lifecycle/lease.test.ts +22 -0
- package/src/lifecycle/lease.ts +133 -29
- package/src/lifecycle/member-ledger.ts +3 -2
- package/src/lifecycle/plan-ledger.test.ts +148 -0
- package/src/lifecycle/plan-ledger.ts +158 -0
- package/src/lifecycle/run-ledger.ts +6 -0
- package/src/lifecycle/symptoms.ts +95 -0
- package/src/lifecycle/work-lease.test.ts +236 -0
- package/src/lifecycle/work-lease.ts +426 -0
- package/src/lint/rules/index.ts +6 -2
- package/src/lint/rules/op/index.ts +17 -4
- package/src/lint/rules/op/ops014-converge-rule-refusals.test.ts +23 -1
- package/src/lint/rules/op/ops014-converge-rule-refusals.ts +10 -6
- package/src/lint/rules/op/sys010-key-over-plain-http.test.ts +52 -0
- package/src/lint/rules/op/sys010-key-over-plain-http.ts +100 -0
- package/src/lint/rules/sys001-no-literal-key.test.ts +31 -0
- package/src/lint/rules/sys001-no-literal-key.ts +67 -0
- package/src/op/__fixtures__/decide-stub-backend.ts +143 -0
- package/src/op/activities/activity-contracts.ts +190 -1
- package/src/op/activities/apply.ts +7 -6
- package/src/op/activities/change-coverage.ts +60 -0
- package/src/op/activities/converge.test.ts +55 -1
- package/src/op/activities/converge.ts +208 -29
- package/src/op/activities/decide.live.test.ts +78 -0
- package/src/op/activities/decide.test.ts +300 -0
- package/src/op/activities/decide.ts +267 -0
- package/src/op/activities/index.ts +21 -0
- package/src/op/activities/shell.test.ts +91 -1
- package/src/op/activities/shell.ts +91 -2
- package/src/op/activities/source-release.test.ts +118 -0
- package/src/op/activities/source-release.ts +168 -0
- package/src/op/activities/source-rollback.test.ts +131 -0
- package/src/op/activities/source-rollback.ts +239 -0
- package/src/op/activities/work-evidence.ts +62 -0
- package/src/op/activity-contract-registry.test.ts +2 -0
- package/src/op/activity-contract-registry.ts +2 -2
- package/src/op/activity-contract.test.ts +12 -0
- package/src/op/activity-contract.ts +6 -1
- package/src/op/activity-profiles.ts +29 -0
- package/src/op/activity-registry.test.ts +1 -1
- package/src/op/activity-registry.ts +2 -2
- package/src/op/builders.ts +124 -5
- package/src/op/command-gate.test.ts +192 -0
- package/src/op/composites/converge-op.test.ts +27 -1
- package/src/op/composites/converge-op.ts +69 -15
- package/src/op/decide-backend.test.ts +44 -0
- package/src/op/decide-backend.ts +212 -0
- package/src/op/decide-config.test.ts +52 -0
- package/src/op/decide-config.ts +80 -0
- package/src/op/decide-read-inputs.ts +117 -0
- package/src/op/discover.ts +71 -0
- package/src/op/gate-approval.ts +2 -2
- package/src/op/gate-wait.ts +57 -0
- package/src/op/gate.ts +8 -3
- package/src/op/generate-pipeline.ts +2 -2
- package/src/op/index.ts +34 -6
- package/src/op/lifecycle-receipt-store.test.ts +60 -0
- package/src/op/lifecycle-receipt-store.ts +61 -0
- package/src/op/local-executor.ts +367 -33
- package/src/op/local-output.test.ts +33 -0
- package/src/op/local-output.ts +33 -2
- package/src/op/op-ir.test.ts +10 -0
- package/src/op/op-ir.ts +18 -0
- package/src/op/op-verb-class.ts +1 -0
- package/src/op/operator.ts +360 -10
- package/src/op/runtime.ts +37 -8
- package/src/op/runtimes/local.ts +6 -1
- package/src/op/source-archive.ts +161 -0
- package/src/op/step-output-ref.ts +6 -2
- package/src/op/steward-points.test.ts +313 -0
- package/src/op/steward-points.ts +194 -0
- package/src/op/steward-turn.ts +79 -0
- package/src/op/steward.test.ts +296 -0
- package/src/op/steward.ts +277 -0
- package/src/op/types.ts +60 -0
- package/src/op/work-lease-decl.ts +80 -0
- package/src/op/work-lease-run.test.ts +345 -0
- package/src/op/work-lease-run.ts +395 -0
- package/src/workspace/__fixtures__/decide-workspace.ts +129 -0
- package/src/workspace/__fixtures__/studio-template-84c8b21.json +67 -0
- package/src/workspace/answers-ledger.ts +118 -0
- package/src/workspace/box-isolation.test.ts +261 -0
- package/src/workspace/box-isolation.ts +205 -0
- package/src/workspace/changes-cli.ts +56 -0
- package/src/workspace/changes.schema.json +472 -0
- package/src/workspace/changes.test.ts +315 -0
- package/src/workspace/changes.ts +512 -0
- package/src/workspace/chant-migrations/chud-lexicon-exit-fly-site.ts +234 -0
- package/src/workspace/chant-migrations/chud-lexicon-exit-live-names.ts +164 -0
- package/src/workspace/chant-migrations/chud-lexicon-exit-rollback.ts +223 -0
- package/src/workspace/chant-migrations/chud-lexicon-exit-ship-inputs.ts +195 -0
- package/src/workspace/chant-migrations/chud-lexicon-exit-ship-policy.ts +108 -0
- package/src/workspace/chant-migrations/chud-lexicon-exit.ts +882 -0
- package/src/workspace/chant-migrations.e2e.test.ts +1089 -0
- package/src/workspace/chant-migrations.ts +164 -0
- package/src/workspace/check-contract.test.ts +5 -1
- package/src/workspace/check.schema.json +25 -7
- package/src/workspace/checks/box-isolation.ts +68 -0
- package/src/workspace/checks/boxes.test.ts +276 -0
- package/src/workspace/checks/boxes.ts +442 -0
- package/src/workspace/checks/diagrams.test.ts +134 -0
- package/src/workspace/checks/diagrams.ts +108 -0
- package/src/workspace/checks/records.ts +72 -0
- package/src/workspace/checks.test.ts +7 -0
- package/src/workspace/checks.ts +27 -3
- package/src/workspace/compose-graph.ts +2 -0
- package/src/workspace/conformance/__fixture__/decisions/decision.kind.mjs +10 -0
- package/src/workspace/conformance/__fixture__/decisions/decision.schema.json +26 -0
- package/src/workspace/conformance/index.ts +5 -0
- package/src/workspace/decide.test.ts +224 -0
- package/src/workspace/decide.ts +709 -0
- package/src/workspace/decision-points.schema.json +137 -0
- package/src/workspace/declaration.schema.json +285 -0
- package/src/workspace/declaration.test.ts +58 -0
- package/src/workspace/declaration.ts +241 -0
- package/src/workspace/declared-kinds.test.ts +5 -5
- package/src/workspace/declared-kinds.ts +71 -3
- package/src/workspace/generated-files.ts +14 -0
- package/src/workspace/graph-cli.ts +1 -1
- package/src/workspace/graph.schema.json +9 -1
- package/src/workspace/intent.schema.json +12 -3
- package/src/workspace/intent.ts +3 -10
- package/src/workspace/lineage-check.ts +16 -1
- package/src/workspace/lineage-upgrade-cli.ts +1 -1
- package/src/workspace/lineage-upgrade.test.ts +70 -0
- package/src/workspace/lineage-upgrade.ts +81 -10
- package/src/workspace/ls-contract.test.ts +57 -0
- package/src/workspace/ls.schema.json +46 -1
- package/src/workspace/ls.ts +62 -3
- package/src/workspace/point-answer.schema.json +95 -0
- package/src/workspace/points-cli.ts +284 -0
- package/src/workspace/points-write.schema.json +499 -0
- package/src/workspace/points.schema.json +743 -0
- package/src/workspace/points.test.ts +264 -0
- package/src/workspace/points.ts +564 -0
- package/src/workspace/read-contract.test.ts +18 -1
- package/src/workspace/reason-codes.test.ts +24 -1
- package/src/workspace/reason-codes.ts +49 -0
- package/src/workspace/record-assets.test.ts +3 -2
- package/src/workspace/record-assets.ts +4 -1
- package/src/workspace/records-amend.schema.json +2 -0
- package/src/workspace/records-cli.ts +28 -5
- package/src/workspace/records-close.schema.json +2 -0
- package/src/workspace/records-contract.test.ts +3 -2
- package/src/workspace/records-new.schema.json +2 -0
- package/src/workspace/records-review.schema.json +2 -0
- package/src/workspace/records-sessions-write.e2e.test.ts +77 -0
- package/src/workspace/records-sessions-write.test.ts +2 -34
- package/src/workspace/records-write.e2e.test.ts +108 -0
- package/src/workspace/records-write.test.ts +32 -41
- package/src/workspace/records-write.ts +33 -15
- package/src/workspace/records.schema.json +53 -2
- package/src/workspace/records.test.ts +48 -3
- package/src/workspace/records.ts +142 -6
- package/src/workspace/status-contract.test.ts +189 -6
- package/src/workspace/status-gates.ts +9 -4
- package/src/workspace/status-stewards.ts +329 -0
- package/src/workspace/status.schema.json +335 -5
- package/src/workspace/status.ts +142 -6
- package/src/workspace/work-acceptance.test.ts +274 -0
- package/src/workspace/work-cli.e2e.test.ts +180 -0
- package/src/workspace/work-cli.ts +429 -0
- package/src/workspace/work-evidence.schema.json +212 -0
- package/src/workspace/work-evidence.ts +169 -0
- package/src/workspace/work-history.schema.json +349 -0
- package/src/workspace/work-history.test.ts +156 -0
- package/src/workspace/work-lease.schema.json +233 -0
- package/src/workspace/work-readiness-chud.test.ts +145 -0
- package/src/workspace/work.test.ts +3 -2
- package/src/workspace/work.ts +100 -1
- /package/src/cli/{discovery-skip.test.ts → discovery-skip.e2e.test.ts} +0 -0
- /package/src/workspace/conformance/{conformance.test.ts → conformance.e2e.test.ts} +0 -0
- /package/src/workspace/{which-chant.test.ts → which-chant.e2e.test.ts} +0 -0
|
@@ -22,7 +22,9 @@ import type { OpConfig, ActivityStep } from "./types.js";
|
|
|
22
22
|
import { type ActivityFn, type ActivityProfile } from "./activity-registry.js";
|
|
23
23
|
import { type GateLedgerPort } from "./gate.js";
|
|
24
24
|
import type { PendingGateRecord } from "../lifecycle/gate-ledger.js";
|
|
25
|
+
import { type WaitingPoint } from "./steward-points.js";
|
|
25
26
|
import type { OpRunRecord } from "./runtime.js";
|
|
27
|
+
import { type WorkLeaseRunResult } from "./work-lease-run.js";
|
|
26
28
|
export { parseDuration } from "./duration.js";
|
|
27
29
|
export interface StepRecord {
|
|
28
30
|
phase: string;
|
|
@@ -69,6 +71,21 @@ export interface StepRecord {
|
|
|
69
71
|
* was applied.
|
|
70
72
|
*/
|
|
71
73
|
refusal?: string;
|
|
74
|
+
/**
|
|
75
|
+
* Set on an activity step that asked a decision point still open (#2749):
|
|
76
|
+
* the question the run now waits on. The step's status is `skipped` and the
|
|
77
|
+
* run's is `waiting`: nothing broke, and a person answers the question.
|
|
78
|
+
*/
|
|
79
|
+
point?: WaitingPoint;
|
|
80
|
+
/**
|
|
81
|
+
* Set on an activity step whose command stopped at a gate of its own
|
|
82
|
+
* (#2779): the op the gate is recorded under and its name, what `chant
|
|
83
|
+
* approve` takes. The step's status is `skipped` and the run's is `gated`.
|
|
84
|
+
*/
|
|
85
|
+
gate?: {
|
|
86
|
+
op: string;
|
|
87
|
+
gate: string;
|
|
88
|
+
};
|
|
72
89
|
}
|
|
73
90
|
export interface OpRunResult {
|
|
74
91
|
op: string;
|
|
@@ -81,11 +98,17 @@ export interface OpRunResult {
|
|
|
81
98
|
*
|
|
82
99
|
* Written to the run ledger as the record's own `status` (#2118).
|
|
83
100
|
*/
|
|
84
|
-
status: "ok" | "fail" | "gated";
|
|
101
|
+
status: "ok" | "fail" | "gated" | "waiting";
|
|
85
102
|
/** ISO-8601 start of this run. */
|
|
86
103
|
startedAt: string;
|
|
87
104
|
/** Present when `status === "gated"`: the pending fact the run ended on. */
|
|
88
105
|
gate?: PendingGateRecord;
|
|
106
|
+
/**
|
|
107
|
+
* Present when `status === "waiting"` (#2749): the open decision point the
|
|
108
|
+
* run stopped on. Like a gate, it is a fact and not a wait: a person answers
|
|
109
|
+
* the question, and the next run reads the answer.
|
|
110
|
+
*/
|
|
111
|
+
point?: WaitingPoint;
|
|
89
112
|
/**
|
|
90
113
|
* Present when `status === "gated"` and this run's own append tried to push:
|
|
91
114
|
* whether it reached the remote (#2310). Absent when the run stopped on a
|
|
@@ -102,6 +125,12 @@ export interface OpRunResult {
|
|
|
102
125
|
* document.
|
|
103
126
|
*/
|
|
104
127
|
record: OpRunRecord;
|
|
128
|
+
/**
|
|
129
|
+
* How the run's work lease went, for an Op that declares `workLease`
|
|
130
|
+
* (#2748): the item it claimed, or why it claimed none, whether the lease
|
|
131
|
+
* was released and with which outcome, or why it was lost.
|
|
132
|
+
*/
|
|
133
|
+
workLease?: WorkLeaseRunResult;
|
|
105
134
|
}
|
|
106
135
|
/**
|
|
107
136
|
* Thrown on terminal Op failure; carries the partial run result for rendering.
|
|
@@ -175,6 +204,20 @@ export interface RunOpOptions {
|
|
|
175
204
|
* never promoted into a run failure.
|
|
176
205
|
*/
|
|
177
206
|
onLedgerError?: (err: unknown) => void;
|
|
207
|
+
/** The steward whose turn this run is (#2749), recorded on its ledger record. */
|
|
208
|
+
steward?: string;
|
|
209
|
+
/**
|
|
210
|
+
* For an Op that declares `workLease` (#2748): the item this run is for
|
|
211
|
+
* (`chant run <op> --work <id>`), which takes the place of the Op's own, and
|
|
212
|
+
* who holds the lease (a steward's turn passes `stewardWorkHolder`).
|
|
213
|
+
* Defaults: the Op's item, and this process's holder id.
|
|
214
|
+
*/
|
|
215
|
+
work?: {
|
|
216
|
+
item?: string;
|
|
217
|
+
holder?: string;
|
|
218
|
+
};
|
|
219
|
+
/** Called when a work-lease renewal fails without losing the lease; the next beat retries it. */
|
|
220
|
+
onWorkLeaseWarning?: (message: string) => void;
|
|
178
221
|
}
|
|
179
222
|
/**
|
|
180
223
|
* Execute an Op locally.
|
|
@@ -182,9 +225,10 @@ export interface RunOpOptions {
|
|
|
182
225
|
* Resolves with the run result when every phase succeeds (`status: "ok"`), and
|
|
183
226
|
* also when the run stopped at an unapproved gate (`status: "gated"`, with the
|
|
184
227
|
* pending fact on `result.gate`) — a gate is a fact, not an error, so it is not
|
|
185
|
-
* thrown.
|
|
186
|
-
*
|
|
187
|
-
*
|
|
228
|
+
* thrown. So does an activity's open decision point (`status: "waiting"`, with
|
|
229
|
+
* the question on `result.point`, #2749). Rejects with `OpRunFailure` (carrying the partial result) on terminal
|
|
230
|
+
* failure, after running any `onFailure` phases in reverse order; a gated or
|
|
231
|
+
* waiting run runs no `onFailure` phase, because nothing failed and nothing was left
|
|
188
232
|
* half-applied to compensate for.
|
|
189
233
|
*
|
|
190
234
|
* Whichever of the three ways it settles, the run carries an
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-executor.d.ts","sourceRoot":"","sources":["../../src/op/local-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAmB,YAAY,EAAwC,MAAM,SAAS,CAAC;AAC7G,OAAO,EAAmB,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"local-executor.d.ts","sourceRoot":"","sources":["../../src/op/local-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,4 +23,6 @@ export declare function renderHuman(result: OpRunResult, write?: Writer): void;
|
|
|
23
23
|
*/
|
|
24
24
|
export declare function renderJson(result: OpRunResult, write?: Writer): void;
|
|
25
25
|
export type { OpRunResult, StepRecord };
|
|
26
|
+
/** The command a person answers an open decision point with (#2749). */
|
|
27
|
+
export declare function pointAnswerCommand(id: string): string;
|
|
26
28
|
//# sourceMappingURL=local-output.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-output.d.ts","sourceRoot":"","sources":["../../src/op/local-output.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGhE,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAerC;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,GAAE,MAAe,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"local-output.d.ts","sourceRoot":"","sources":["../../src/op/local-output.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGhE,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAerC;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,GAAE,MAAe,GAAG,IAAI,CAwF7E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,GAAE,MAAe,GAAG,IAAI,CAS5E;AAED,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AAExC,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAErD"}
|
package/dist/op/op-ir.d.ts
CHANGED
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
* change to `StepOutputRef`'s own fields (`./step-output-ref.ts`) that would
|
|
81
81
|
* silently change this JSON shape gets caught here.
|
|
82
82
|
*/
|
|
83
|
-
import type { OutcomeAttribute, OpConfig, OpSchedule, GateStep } from "./types.js";
|
|
83
|
+
import type { OutcomeAttribute, OpConfig, OpSchedule, OpWorkLease, GateStep } from "./types.js";
|
|
84
84
|
import type { EffectReceiptRef } from "./receipt-store.js";
|
|
85
85
|
import type { ActivityContract } from "./activity-contract.js";
|
|
86
86
|
import { type ActivityProfile } from "./activity-profiles.js";
|
|
@@ -101,6 +101,8 @@ export interface OpIRActivityStep {
|
|
|
101
101
|
args: Record<string, unknown>;
|
|
102
102
|
/** Resolved to its effective value — `ActivityStep.profile ?? "fastIdempotent"`. */
|
|
103
103
|
profile: string;
|
|
104
|
+
/** The step's own timeout, replacing its profile's (#2787). Absent when the profile's applies. */
|
|
105
|
+
timeout?: string;
|
|
104
106
|
/**
|
|
105
107
|
* What this step's effect touches in the estate (#2022): the string values
|
|
106
108
|
* of the args its contract declares as entity-identifying
|
|
@@ -165,6 +167,15 @@ export interface OpIR {
|
|
|
165
167
|
* additive optional key, so it needs no `formatVersion` bump.
|
|
166
168
|
*/
|
|
167
169
|
schedule?: OpSchedule;
|
|
170
|
+
/**
|
|
171
|
+
* The work item the Op runs under (#2748) — `OpConfig.workLease` verbatim,
|
|
172
|
+
* a step-output reference in `item` or `outcome` in the same
|
|
173
|
+
* `{ kind: "step-output-ref", step, path }` shape as in args. Absent when it
|
|
174
|
+
* declares none. A runtime that can't take the lease must not run the Op.
|
|
175
|
+
*/
|
|
176
|
+
workLease?: OpWorkLease;
|
|
177
|
+
/** `OpConfig.changesCheckout` (#2748), present only when true. */
|
|
178
|
+
changesCheckout?: true;
|
|
168
179
|
phases: OpIRPhase[];
|
|
169
180
|
onFailure: OpIRPhase[];
|
|
170
181
|
/** Every activity profile referenced by a step in this Op, keyed by profile name — from the registry passed to {@link buildOpIR}, empty when none was. */
|
package/dist/op/op-ir.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"op-ir.d.ts","sourceRoot":"","sources":["../../src/op/op-ir.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiFG;AAGH,OAAO,KAAK,EACV,gBAAgB,EAChB,QAAQ,EACR,UAAU,
|
|
1
|
+
{"version":3,"file":"op-ir.d.ts","sourceRoot":"","sources":["../../src/op/op-ir.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"op-verb-class.d.ts","sourceRoot":"","sources":["../../src/op/op-verb-class.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAsC,QAAQ,EAAkB,MAAM,SAAS,CAAC;AAE5F,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"op-verb-class.d.ts","sourceRoot":"","sources":["../../src/op/op-verb-class.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAsC,QAAQ,EAAkB,MAAM,SAAS,CAAC;AAE5F,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,aAAa,CAAC;AAiDnE;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,CAAC,GAAG,WAAW,CA2B/F;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,CAAC,GAAG,OAAO,CAS/E"}
|
package/dist/op/operator.d.ts
CHANGED
|
@@ -38,6 +38,8 @@
|
|
|
38
38
|
import type { ActivityFn, ActivityProfile } from "./activity-registry.js";
|
|
39
39
|
import { type DiscoveredOp } from "./discover.js";
|
|
40
40
|
import { type OpRunResult } from "./local-executor.js";
|
|
41
|
+
import { type AcquireLeaseResult } from "../lifecycle/lease.js";
|
|
42
|
+
import { type StewardDeclaration } from "./steward.js";
|
|
41
43
|
import type { ChangeSubscription } from "../lexicon.js";
|
|
42
44
|
/**
|
|
43
45
|
* Poll interval between rounds — the operator's own cadence, and the fallback
|
|
@@ -58,11 +60,52 @@ export declare function discoverConvergeOps(opts?: {
|
|
|
58
60
|
errors: string[];
|
|
59
61
|
}>;
|
|
60
62
|
/** One discovered ConvergeOp's outcome for one round — what `chant operator`'s one-line-per-tick log (and its tests) key off of. */
|
|
61
|
-
export type OperatorTickEvent =
|
|
63
|
+
export type OperatorTickEvent =
|
|
64
|
+
/**
|
|
65
|
+
* The Op ran. `resumed` names the decision point question it was waiting on
|
|
66
|
+
* (#2749) when a steward ran it because that question is now answered,
|
|
67
|
+
* rather than because its cron fired.
|
|
68
|
+
*/
|
|
69
|
+
{
|
|
62
70
|
kind: "ticked";
|
|
63
71
|
op: string;
|
|
64
72
|
env: string;
|
|
65
73
|
result: OpRunResult;
|
|
74
|
+
resumed?: string;
|
|
75
|
+
/**
|
|
76
|
+
* The gate the Op's last run stopped at (#2779), when a steward ran it
|
|
77
|
+
* because that gate is now approved rather than because its cron fired.
|
|
78
|
+
*/
|
|
79
|
+
approved?: {
|
|
80
|
+
op: string;
|
|
81
|
+
gate: string;
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* A steward's Op whose last run stopped on an open decision point (#2749),
|
|
86
|
+
* and the question is still open, so the Op is not run this round. A person
|
|
87
|
+
* answers it through hud or `points answer`; the steward never does.
|
|
88
|
+
*/
|
|
89
|
+
| {
|
|
90
|
+
kind: "waiting-on-point";
|
|
91
|
+
op: string;
|
|
92
|
+
env: string;
|
|
93
|
+
point: string;
|
|
94
|
+
question: string;
|
|
95
|
+
state: string;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* A steward's Op whose last run stopped at a gate (#2779), and nobody has
|
|
99
|
+
* approved it since, so the Op is not run this round. `gateOp` is the op
|
|
100
|
+
* the gate is recorded under: the Op's own, or a command's such as
|
|
101
|
+
* `workspace-upgrade`.
|
|
102
|
+
*/
|
|
103
|
+
| {
|
|
104
|
+
kind: "waiting-on-gate";
|
|
105
|
+
op: string;
|
|
106
|
+
env: string;
|
|
107
|
+
gateOp: string;
|
|
108
|
+
gate: string;
|
|
66
109
|
} | {
|
|
67
110
|
kind: "skipped-lease-held";
|
|
68
111
|
op: string;
|
|
@@ -103,6 +146,35 @@ export type OperatorTickEvent = {
|
|
|
103
146
|
op: string;
|
|
104
147
|
env: string;
|
|
105
148
|
error: string;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* A local steward's round (#2731) found the steward's own lease held by
|
|
152
|
+
* another live holder: another `chant operator --steward` for the same
|
|
153
|
+
* steward. Nothing ticked. `op` is the steward's lease name and `env` is
|
|
154
|
+
* `-`, so a log line keyed on either still reads.
|
|
155
|
+
*/
|
|
156
|
+
| {
|
|
157
|
+
kind: "steward-busy";
|
|
158
|
+
op: string;
|
|
159
|
+
env: string;
|
|
160
|
+
steward: string;
|
|
161
|
+
heldBy?: string;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* A local steward's round (#2750) found its turn lease
|
|
165
|
+
* (`stewardTurnLeaseName`) held by someone else already mid-run — a `chant
|
|
166
|
+
* run <op>` typed by hand, or another round somehow still finishing one.
|
|
167
|
+
* Nothing ticked: the round stops here rather than trying its remaining
|
|
168
|
+
* ops, since every one of them would fail the same check (the turn is one
|
|
169
|
+
* lease for the whole steward, not one per op). The next round tries
|
|
170
|
+
* again.
|
|
171
|
+
*/
|
|
172
|
+
| {
|
|
173
|
+
kind: "turn-busy";
|
|
174
|
+
op: string;
|
|
175
|
+
env: string;
|
|
176
|
+
steward: string;
|
|
177
|
+
heldBy?: string;
|
|
106
178
|
};
|
|
107
179
|
export interface OperatorRoundOptions {
|
|
108
180
|
cwd?: string;
|
|
@@ -127,7 +199,60 @@ export interface OperatorRoundOptions {
|
|
|
127
199
|
* round makes up exactly one tick rather than a backlog.
|
|
128
200
|
*/
|
|
129
201
|
scheduleState?: Map<string, Date>;
|
|
202
|
+
/**
|
|
203
|
+
* Run a local steward's Ops instead of every discovered ConvergeOp (#2731).
|
|
204
|
+
* Only its scheduled Ops tick, each on its own cron, because that is what
|
|
205
|
+
* the same steward does on Fountain: an Op with no schedule runs when
|
|
206
|
+
* someone asks for it. The round first takes (or renews) the steward's own
|
|
207
|
+
* lease, and ticks nothing when another holder has it.
|
|
208
|
+
*/
|
|
209
|
+
steward?: StewardDeclaration;
|
|
210
|
+
/**
|
|
211
|
+
* How a steward's round reads the state of the questions its waiting runs
|
|
212
|
+
* stopped on (#2749): question id to state, or null when they can't be
|
|
213
|
+
* read. Defaults to the workspace's `points` read; a test injects one.
|
|
214
|
+
*/
|
|
215
|
+
readQuestions?: (cwd: string) => Promise<Map<string, string> | null>;
|
|
130
216
|
}
|
|
217
|
+
/** Take or renew a local steward's own lease (#2731). */
|
|
218
|
+
export declare function acquireStewardLease(steward: string, holder: string, opts?: {
|
|
219
|
+
cwd?: string;
|
|
220
|
+
ttlMs?: number;
|
|
221
|
+
now?: () => Date;
|
|
222
|
+
}): Promise<AcquireLeaseResult>;
|
|
223
|
+
/**
|
|
224
|
+
* How long a caller contending for a steward's turn lease
|
|
225
|
+
* (`acquireStewardTurn`) retries before giving up (#2750). Long enough to
|
|
226
|
+
* ride out a race with a turn that is just ending; short enough that a
|
|
227
|
+
* genuinely busy steward is reported back promptly. A round never waits
|
|
228
|
+
* (`waitMs` omitted there): it already runs on its own timer and simply
|
|
229
|
+
* tries the turn again next round, exactly as it already does for a busy
|
|
230
|
+
* per-op lease. `chant run <op>` (`../cli/handlers/run.ts`) is the caller
|
|
231
|
+
* that waits, since a human is standing at the terminal for the answer.
|
|
232
|
+
*/
|
|
233
|
+
export declare const STEWARD_TURN_WAIT_MS = 2000;
|
|
234
|
+
/**
|
|
235
|
+
* Take the steward's turn lease (#2750): the lease every run of one of its
|
|
236
|
+
* Ops — a round's scheduled tick, or `chant run <op>` typed by hand — holds
|
|
237
|
+
* for exactly as long as that one run takes, so the two are never beside each
|
|
238
|
+
* other. Distinct from {@link acquireStewardLease}, which one `chant operator
|
|
239
|
+
* --steward` process holds for its whole life: this one is held per-run, so a
|
|
240
|
+
* hand run succeeds the moment a round's tick ends, not only once the daemon
|
|
241
|
+
* itself stops.
|
|
242
|
+
*
|
|
243
|
+
* Contention never queues past `waitMs` (0 by default): consistent with a
|
|
244
|
+
* round's own leases, which skip and report rather than wait (see this
|
|
245
|
+
* module's doc), and with the fountain form, whose busy teammate is likewise
|
|
246
|
+
* refused rather than retried. A caller that wants to ride out a race with a
|
|
247
|
+
* turn about to end passes `waitMs`, and this polls every
|
|
248
|
+
* {@link STEWARD_TURN_POLL_MS} until it acquires or the wait runs out.
|
|
249
|
+
*/
|
|
250
|
+
export declare function acquireStewardTurn(steward: string, holder: string, opts?: {
|
|
251
|
+
cwd?: string;
|
|
252
|
+
ttlMs?: number;
|
|
253
|
+
now?: () => Date;
|
|
254
|
+
waitMs?: number;
|
|
255
|
+
}): Promise<AcquireLeaseResult>;
|
|
131
256
|
/**
|
|
132
257
|
* Run exactly one round: for every discovered ConvergeOp (filtered per
|
|
133
258
|
* `opts.env`), try its lease; tick the ones this holder wins. Returns one
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operator.d.ts","sourceRoot":"","sources":["../../src/op/operator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAA8B,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"operator.d.ts","sourceRoot":"","sources":["../../src/op/operator.ts"],"names":[],"mappings":"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"}
|
package/dist/op/runtime.d.ts
CHANGED
|
@@ -17,18 +17,22 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import type { OpConfig } from "./types.js";
|
|
19
19
|
import type { StepRecord, OpRunResult } from "./local-executor.js";
|
|
20
|
+
import type { WaitingPoint } from "./steward-points.js";
|
|
20
21
|
import type { GateResolutionRecord } from "../lifecycle/gate-ledger.js";
|
|
21
22
|
import type { RunComponentsOptions, RunComponentsResult } from "../components/cli-support.js";
|
|
22
23
|
/**
|
|
23
24
|
* How a run ended, or that it has not. `gated` is the state a run reaches when
|
|
24
|
-
* a gate has no recorded resolution — a fact, not a wait (#2119).
|
|
25
|
+
* a gate has no recorded resolution — a fact, not a wait (#2119). `waiting` is
|
|
26
|
+
* the state it reaches when an activity asked a decision point that is still
|
|
27
|
+
* open (#2749), a fact of the same kind: a person answers the question, and
|
|
28
|
+
* the next run reads the answer.
|
|
25
29
|
*
|
|
26
30
|
* This is the coarse state a *runtime* reports. The ledger records the
|
|
27
31
|
* executor's own three-state outcome instead ({@link OpRunRecord.status}),
|
|
28
32
|
* which has no `running` or `cancelled`: a record is only written once a run
|
|
29
33
|
* has settled.
|
|
30
34
|
*/
|
|
31
|
-
export type OpRunState = "running" | "completed" | "failed" | "gated" | "cancelled";
|
|
35
|
+
export type OpRunState = "running" | "completed" | "failed" | "gated" | "waiting" | "cancelled";
|
|
32
36
|
/** Map a settled run's ledger status onto the coarser runtime state. */
|
|
33
37
|
export declare function runStateOf(status: OpRunRecord["status"]): OpRunState;
|
|
34
38
|
/** One step's outcome as the run ledger keeps it — `StepRecord` minus the fields only a live renderer needs. */
|
|
@@ -53,6 +57,13 @@ export interface OpRunStepRecord {
|
|
|
53
57
|
error?: string;
|
|
54
58
|
/** Why a gate declined a standing approval that was for another plan (#2300) — see {@link StepRecord.refusal}. */
|
|
55
59
|
refusal?: string;
|
|
60
|
+
/** The open decision point this step asked (#2749), for a step skipped because it is waiting on one. */
|
|
61
|
+
point?: WaitingPoint;
|
|
62
|
+
/** The gate this step's command stopped at (#2779), for a step skipped because of it. */
|
|
63
|
+
gate?: {
|
|
64
|
+
op: string;
|
|
65
|
+
gate: string;
|
|
66
|
+
};
|
|
56
67
|
}
|
|
57
68
|
/** One phase's steps and the verdict they add up to. */
|
|
58
69
|
export interface OpRunPhaseRecord {
|
|
@@ -81,10 +92,15 @@ export interface OpRunStatus {
|
|
|
81
92
|
records?: StepRecord[];
|
|
82
93
|
/** The executor's own result, when the runtime is executing in this process. */
|
|
83
94
|
result?: OpRunResult;
|
|
84
|
-
/** The gate this run is waiting on, when `state` is `gated
|
|
95
|
+
/** The gate this run is waiting on, when `state` is `gated`; `op` names the op it is recorded under when that isn't the run's own (#2779). */
|
|
85
96
|
gate?: {
|
|
86
97
|
name: string;
|
|
87
98
|
since: string;
|
|
99
|
+
op?: string;
|
|
100
|
+
};
|
|
101
|
+
/** The open decision point this run is waiting on, when `state` is `waiting` (#2749). */
|
|
102
|
+
point?: WaitingPoint & {
|
|
103
|
+
since: string;
|
|
88
104
|
};
|
|
89
105
|
/** Free-text detail for a failed run. */
|
|
90
106
|
error?: string;
|
|
@@ -119,18 +135,34 @@ export interface OpRunRecord {
|
|
|
119
135
|
* failure: the run reached a gate nobody has approved, recorded the fact,
|
|
120
136
|
* and stopped (#2119).
|
|
121
137
|
*/
|
|
122
|
-
status: "ok" | "fail" | "gated";
|
|
138
|
+
status: "ok" | "fail" | "gated" | "waiting";
|
|
123
139
|
/** The Op's own `labels`, copied at run time. */
|
|
124
140
|
labels: Record<string, string>;
|
|
125
141
|
/** Every `outcomeAttribute` the run captured, name → value. */
|
|
126
142
|
outcomes: Record<string, unknown>;
|
|
127
143
|
/** Per-phase, per-step status, in execution order. */
|
|
128
144
|
phases: OpRunPhaseRecord[];
|
|
129
|
-
/**
|
|
145
|
+
/**
|
|
146
|
+
* The gate the run stopped on, for `status: "gated"`. `op` is set when the
|
|
147
|
+
* gate is recorded under another op than the run's (#2779): a step whose
|
|
148
|
+
* command stopped at its own gate, such as `chant workspace upgrade`'s
|
|
149
|
+
* `workspace-upgrade` / `<scope>`.
|
|
150
|
+
*/
|
|
130
151
|
gate?: {
|
|
131
152
|
name: string;
|
|
132
153
|
since: string;
|
|
154
|
+
op?: string;
|
|
133
155
|
};
|
|
156
|
+
/**
|
|
157
|
+
* The open decision point the run stopped on, for `status: "waiting"`
|
|
158
|
+
* (#2749): the answer record's id, the point, its state then, and when the
|
|
159
|
+
* run stopped. `points --open` and hud read the question itself.
|
|
160
|
+
*/
|
|
161
|
+
point?: WaitingPoint & {
|
|
162
|
+
since: string;
|
|
163
|
+
};
|
|
164
|
+
/** The steward whose turn the run was, when a steward ran it (#2749). */
|
|
165
|
+
steward?: string;
|
|
134
166
|
}
|
|
135
167
|
/** An {@link OpRunRecord} before the ledger stamps its version and mints an id. */
|
|
136
168
|
export type OpRunRecordInput = Omit<OpRunRecord, "version" | "id"> & {
|
|
@@ -160,6 +192,15 @@ export interface OpRunStartOptions {
|
|
|
160
192
|
progress?: (record: StepRecord) => void;
|
|
161
193
|
/** Aborts in-flight work (Ctrl-C). */
|
|
162
194
|
signal?: AbortSignal;
|
|
195
|
+
/**
|
|
196
|
+
* For an Op that declares `workLease` (#2748): the work item this run is
|
|
197
|
+
* for (`--work <id>`) and who holds its lease (`--holder`). Only the local
|
|
198
|
+
* runtime takes it; a hosted run's lease is taken where the run executes.
|
|
199
|
+
*/
|
|
200
|
+
work?: {
|
|
201
|
+
item?: string;
|
|
202
|
+
holder?: string;
|
|
203
|
+
};
|
|
163
204
|
}
|
|
164
205
|
/**
|
|
165
206
|
* The contract a runtime implements to host Op runs.
|
package/dist/op/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/op/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAE3F
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/op/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAE3F;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC;AAEhG,wEAAwE;AACxE,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,UAAU,CAEpE;AAED,gHAAgH;AAChH,MAAM,WAAW,eAAe;IAC9B,sEAAsE;IACtE,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;IAC3C,8EAA8E;IAC9E,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjF,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kHAAkH;IAClH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wGAAwG;IACxG,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,yFAAyF;IACzF,IAAI,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACrC;AAED,wDAAwD;AACxD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IAClC,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,CAAC;IAClB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,gFAAgF;IAChF,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,8IAA8I;IAC9I,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,yFAAyF;IACzF,KAAK,CAAC,EAAE,YAAY,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,WAAW;IAC1B,wFAAwF;IACxF,OAAO,EAAE,CAAC,CAAC;IACX,gFAAgF;IAChF,EAAE,EAAE,MAAM,CAAC;IACX,uCAAuC;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,+DAA+D;IAC/D,GAAG,EAAE,MAAM,CAAC;IACZ,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IAC5C,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,sDAAsD;IACtD,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B;;;;;OAKG;IACH,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD;;;;OAIG;IACH,KAAK,CAAC,EAAE,YAAY,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,mFAAmF;AACnF,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,IAAI,CAAC,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAErF,qEAAqE;AACrE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;CAChC;AAED,0DAA0D;AAC1D,MAAM,WAAW,iBAAiB;IAChC,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,oCAAoC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACxC,sCAAsC;IACtC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;OAIG;IACH,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,oEAAoE;IACpE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEnE,kFAAkF;IAClF,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAErD,iEAAiE;IACjE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAEnE,wDAAwD;IACxD,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC;IAErE,iFAAiF;IACjF,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5D;;;;OAIG;IACH,WAAW,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExF;;;OAGG;IACH,aAAa,CAAC,CACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../../src/op/runtimes/local.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAUH,OAAO,EAML,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../../src/op/runtimes/local.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAUH,OAAO,EAML,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAC;AA0CpB;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,iBAAiB,CAkJ3F"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A source tree as a release artifact (#2782): one directory of a commit,
|
|
3
|
+
* archived with `git archive`, and read back only when its bytes still hash
|
|
4
|
+
* to the digest a gate approved.
|
|
5
|
+
*
|
|
6
|
+
* `git archive <commit> -- <dir>` gives every entry the commit's own
|
|
7
|
+
* timestamp, so the same commit always archives to the same bytes, and the
|
|
8
|
+
* archive's sha256 names the tree exactly. A release plan carries that digest,
|
|
9
|
+
* the ship gate approves the plan, and whatever ships the release reads the
|
|
10
|
+
* archive through {@link readSourceArchive}, which refuses bytes that do not
|
|
11
|
+
* hash to the approved digest.
|
|
12
|
+
*
|
|
13
|
+
* Pure except for the git and file reads each function names.
|
|
14
|
+
*/
|
|
15
|
+
/** One file of an archived tree. */
|
|
16
|
+
export interface SourceFile {
|
|
17
|
+
/** Its path inside the archived directory, with `/` separators. */
|
|
18
|
+
path: string;
|
|
19
|
+
/** Whether git records it executable. */
|
|
20
|
+
executable: boolean;
|
|
21
|
+
data: Buffer;
|
|
22
|
+
}
|
|
23
|
+
/** A directory of a commit, archived. */
|
|
24
|
+
export interface SourceArchive {
|
|
25
|
+
/** `sha256:<hex>` of the archive's bytes. */
|
|
26
|
+
digest: string;
|
|
27
|
+
/** Where the archive was written. */
|
|
28
|
+
archive: string;
|
|
29
|
+
/** The commit it was archived from. */
|
|
30
|
+
commit: string;
|
|
31
|
+
/** The archived directory, relative to the repository root (`.` for the root). */
|
|
32
|
+
dir: string;
|
|
33
|
+
/** Files in it. */
|
|
34
|
+
files: number;
|
|
35
|
+
/** Size of the archive in bytes. */
|
|
36
|
+
bytes: number;
|
|
37
|
+
}
|
|
38
|
+
export declare const sha256Digest: (data: Buffer | string) => string;
|
|
39
|
+
/**
|
|
40
|
+
* Archive `dir` (relative to `cwd`) as committed at `ref` (default HEAD) to
|
|
41
|
+
* `out` (default `<cwd>/dist/releases/<commit>.tar`). Uncommitted changes are
|
|
42
|
+
* not in it: a release ships what is committed. Running it again for the same
|
|
43
|
+
* commit writes the same bytes.
|
|
44
|
+
*/
|
|
45
|
+
export declare function archiveSourceTree(opts: {
|
|
46
|
+
dir: string;
|
|
47
|
+
ref?: string;
|
|
48
|
+
out?: string;
|
|
49
|
+
cwd?: string;
|
|
50
|
+
}): SourceArchive;
|
|
51
|
+
/**
|
|
52
|
+
* The files of an archive `archiveSourceTree` wrote, relative to the directory
|
|
53
|
+
* it archived, once its bytes hash to `digest`. Throws, naming both digests,
|
|
54
|
+
* when they do not: whatever would ship them is not what was approved.
|
|
55
|
+
*
|
|
56
|
+
* A symbolic link in the tree is refused rather than followed or dropped.
|
|
57
|
+
*/
|
|
58
|
+
export declare function readSourceArchive(opts: {
|
|
59
|
+
archive: string;
|
|
60
|
+
digest: string;
|
|
61
|
+
dir?: string;
|
|
62
|
+
}): SourceFile[];
|
|
63
|
+
//# sourceMappingURL=source-archive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-archive.d.ts","sourceRoot":"","sources":["../../src/op/source-archive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,oCAAoC;AACpC,MAAM,WAAW,UAAU;IACzB,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,yCAAyC;AACzC,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,kFAAkF;IAClF,GAAG,EAAE,MAAM,CAAC;IACZ,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,GAAG,MAAM,KAAG,MAAqE,CAAC;AAM3H;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,aAAa,CAoBhH;AA2DD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,EAAE,CAiBvG"}
|
|
@@ -186,7 +186,7 @@ export declare function collectStepOutputRefs(value: unknown): StepOutputRef[];
|
|
|
186
186
|
* (a later phase, a later step in the same phase, itself, or a step in
|
|
187
187
|
* the same parallel phase).
|
|
188
188
|
*/
|
|
189
|
-
export declare function validateStepOutputRefScope(config: Pick<OpConfig, "name" | "phases" | "onFailure">): ActivityContractIssue[];
|
|
189
|
+
export declare function validateStepOutputRefScope(config: Pick<OpConfig, "name" | "phases" | "onFailure"> & Partial<Pick<OpConfig, "workLease">>): ActivityContractIssue[];
|
|
190
190
|
/**
|
|
191
191
|
* Validate every step-output reference in an Op's main phases against a
|
|
192
192
|
* contract map and the Op's own step ordering. Scope: `config.phases` only
|
|
@@ -201,6 +201,6 @@ export declare function validateStepOutputRefScope(config: Pick<OpConfig, "name"
|
|
|
201
201
|
* - a `path` that does not resolve on the producer's declared return
|
|
202
202
|
* schema (an empty `path` — the whole return value — is always valid).
|
|
203
203
|
*/
|
|
204
|
-
export declare function validateStepOutputRefs(config: Pick<OpConfig, "name" | "phases" | "onFailure"
|
|
204
|
+
export declare function validateStepOutputRefs(config: Pick<OpConfig, "name" | "phases" | "onFailure"> & Partial<Pick<OpConfig, "workLease">>, contracts: ReadonlyMap<string, ActivityContract>): ActivityContractIssue[];
|
|
205
205
|
export {};
|
|
206
206
|
//# sourceMappingURL=step-output-ref.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-output-ref.d.ts","sourceRoot":"","sources":["../../src/op/step-output-ref.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqFG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAmB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"step-output-ref.d.ts","sourceRoot":"","sources":["../../src/op/step-output-ref.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqFG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAmB,MAAM,SAAS,CAAC;AAEvE,OAAO,EAAqD,KAAK,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE3I,QAAA,MAAM,qBAAqB,eAAuC,CAAC;AAEnE;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,CAAC,qBAAqB,CAAC,EAAE,IAAI,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;GAYG;AACH,KAAK,SAAS,CAAC,CAAC,IACZ,aAAa,GACb,CAAC,CAAC,SAAS,QAAQ,GAAG,CAAC,GACrB,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GACjG,CAAC,SAAS,MAAM,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACtD,CAAC,CAAC,CAAC;AAET;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAElE,8FAA8F;AAC9F,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAEtE;AAqBD;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa,CAQhG;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAU1E;AAED,8GAA8G;AAC9G,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,EAAE,CAKrE;AAmED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,GAC7F,qBAAqB,EAAE,CAwEzB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,EAC9F,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAC/C,qBAAqB,EAAE,CA4EzB"}
|