@intentius/chant 0.57.0 → 0.58.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/audit/catalog.d.ts +51 -1
- package/dist/audit/catalog.d.ts.map +1 -1
- package/dist/audit/core.d.ts +20 -1
- package/dist/audit/core.d.ts.map +1 -1
- package/dist/audit/discover.d.ts +14 -8
- package/dist/audit/discover.d.ts.map +1 -1
- package/dist/audit/lineage.d.ts +10 -0
- package/dist/audit/lineage.d.ts.map +1 -0
- package/dist/audit/prior-art.d.ts +385 -0
- package/dist/audit/prior-art.d.ts.map +1 -0
- package/dist/audit/proof.d.ts +16 -0
- package/dist/audit/proof.d.ts.map +1 -1
- package/dist/audit/report-html.d.ts.map +1 -1
- package/dist/audit/report-model.d.ts +8 -1
- package/dist/audit/report-model.d.ts.map +1 -1
- package/dist/audit/report.d.ts.map +1 -1
- package/dist/audit/rules-doc.d.ts +3 -0
- package/dist/audit/rules-doc.d.ts.map +1 -1
- package/dist/audit/secrets.d.ts +15 -0
- package/dist/audit/secrets.d.ts.map +1 -1
- package/dist/audit/terraform-state.d.ts +46 -0
- package/dist/audit/terraform-state.d.ts.map +1 -0
- package/dist/build.d.ts +17 -1
- package/dist/build.d.ts.map +1 -1
- package/dist/claimed-fields.d.ts +161 -0
- package/dist/claimed-fields.d.ts.map +1 -0
- package/dist/cli/build-params-cli.d.ts +2 -2
- package/dist/cli/command-group.d.ts +14 -0
- package/dist/cli/command-group.d.ts.map +1 -1
- package/dist/cli/commands/audit.d.ts +17 -1
- package/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/check-lexicon-docs.d.ts +1 -1
- package/dist/cli/commands/check-lexicon-examples.d.ts +16 -6
- package/dist/cli/commands/check-lexicon-examples.d.ts.map +1 -1
- package/dist/cli/commands/init-lexicon/templates/codegen.d.ts +1 -0
- package/dist/cli/commands/init-lexicon/templates/codegen.d.ts.map +1 -1
- package/dist/cli/commands/init-lexicon/templates/project.d.ts +7 -0
- package/dist/cli/commands/init-lexicon/templates/project.d.ts.map +1 -1
- package/dist/cli/commands/init-lexicon.d.ts.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/lint.d.ts.map +1 -1
- package/dist/cli/commands/onboard.d.ts +2 -0
- package/dist/cli/commands/onboard.d.ts.map +1 -1
- package/dist/cli/handlers/build.d.ts.map +1 -1
- package/dist/cli/handlers/lifecycle.d.ts.map +1 -1
- package/dist/cli/handlers/operator.d.ts +82 -16
- package/dist/cli/handlers/operator.d.ts.map +1 -1
- package/dist/cli/handlers/run.d.ts +49 -42
- package/dist/cli/handlers/run.d.ts.map +1 -1
- package/dist/cli/main.d.ts +28 -1
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/mcp/op-tools.d.ts +16 -1
- package/dist/cli/mcp/op-tools.d.ts.map +1 -1
- package/dist/cli/mcp/resource-handlers.d.ts.map +1 -1
- package/dist/cli/mcp/resources/context.d.ts.map +1 -1
- package/dist/cli/registry.d.ts +26 -9
- package/dist/cli/registry.d.ts.map +1 -1
- package/dist/codegen/generate-post-synth-barrel.d.ts +1 -1
- package/dist/components/auto-release.d.ts +10 -20
- package/dist/components/auto-release.d.ts.map +1 -1
- package/dist/components/capability.d.ts +4 -4
- package/dist/components/cli-support.d.ts +20 -21
- package/dist/components/cli-support.d.ts.map +1 -1
- package/dist/components/component.d.ts +3 -3
- package/dist/components/component.d.ts.map +1 -1
- package/dist/components/driver-output.d.ts.map +1 -1
- package/dist/components/driver.d.ts +66 -36
- package/dist/components/driver.d.ts.map +1 -1
- package/dist/components/index.d.ts +1 -2
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/manifest-persistence.d.ts +1 -9
- package/dist/components/manifest-persistence.d.ts.map +1 -1
- package/dist/components/run-progress.d.ts +6 -6
- package/dist/components/run-progress.d.ts.map +1 -1
- package/dist/components/verbs/run-agent.d.ts +9 -15
- package/dist/components/verbs/run-agent.d.ts.map +1 -1
- package/dist/components/verbs/verify.d.ts +2 -2
- package/dist/deep-observation.d.ts +17 -0
- package/dist/deep-observation.d.ts.map +1 -1
- package/dist/discovery/files.d.ts +4 -4
- package/dist/discovery/fold-import.d.ts.map +1 -1
- package/dist/discovery/param-deps.d.ts +33 -0
- package/dist/discovery/param-deps.d.ts.map +1 -1
- package/dist/discovery/sandbox/bundle.d.ts.map +1 -1
- package/dist/discovery/sandbox/config-wire.d.ts +2 -2
- package/dist/fold/foldable-helpers.d.ts +5 -1
- package/dist/fold/foldable-helpers.d.ts.map +1 -1
- package/dist/fold-provenance.d.ts +236 -0
- package/dist/fold-provenance.d.ts.map +1 -0
- package/dist/graph-ops.d.ts +1 -1
- package/dist/held-elsewhere.d.ts +85 -0
- package/dist/held-elsewhere.d.ts.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/kubectl-context.d.ts +3 -3
- package/dist/lexicon-config.d.ts +4 -4
- package/dist/lexicon-plugin-helpers.d.ts +1 -1
- package/dist/lexicon.d.ts +104 -14
- package/dist/lexicon.d.ts.map +1 -1
- package/dist/lifecycle/change-set.d.ts +13 -0
- package/dist/lifecycle/change-set.d.ts.map +1 -1
- package/dist/lifecycle/deep-diff.d.ts +133 -6
- package/dist/lifecycle/deep-diff.d.ts.map +1 -1
- package/dist/lifecycle/deep-observe.d.ts.map +1 -1
- package/dist/lifecycle/gate-ledger.d.ts +71 -3
- package/dist/lifecycle/gate-ledger.d.ts.map +1 -1
- package/dist/lifecycle/index.d.ts +1 -0
- package/dist/lifecycle/index.d.ts.map +1 -1
- package/dist/lifecycle/release-ledger.d.ts +2 -2
- package/dist/lifecycle/run-ledger.d.ts +53 -0
- package/dist/lifecycle/run-ledger.d.ts.map +1 -0
- package/dist/lifecycle/symptoms.d.ts +3 -3
- package/dist/lifecycle/symptoms.d.ts.map +1 -1
- package/dist/lint/config.d.ts +81 -2
- package/dist/lint/config.d.ts.map +1 -1
- package/dist/lint/post-synth.d.ts +55 -2
- package/dist/lint/post-synth.d.ts.map +1 -1
- package/dist/lint/rules/__fixtures__/comp/comp004/pass/neo4j-cluster.component.d.ts +1 -1
- package/dist/lint/rules/__fixtures__/comp/comp004/pass/neo4j-cluster.component.d.ts.map +1 -1
- package/dist/lint/rules/__fixtures__/comp/comp004/pass/orders-table.component.d.ts +1 -1
- package/dist/lint/rules/__fixtures__/comp/comp004/pass/orders-table.component.d.ts.map +1 -1
- package/dist/lint/rules/comp/comp004-gate-needs-durable-runtime.d.ts +44 -0
- package/dist/lint/rules/comp/comp004-gate-needs-durable-runtime.d.ts.map +1 -0
- package/dist/lint/rules/comp/index.d.ts +1 -1
- package/dist/lint/rules/comp/index.d.ts.map +1 -1
- package/dist/lint/rules/op/index.d.ts +16 -0
- package/dist/lint/rules/op/index.d.ts.map +1 -0
- package/dist/lint/rules/op/ops012-activity-contract.d.ts +27 -0
- package/dist/lint/rules/op/ops012-activity-contract.d.ts.map +1 -0
- package/dist/lint/rules/op/ops013-step-output-ref.d.ts +61 -0
- package/dist/lint/rules/op/ops013-step-output-ref.d.ts.map +1 -0
- package/dist/lint/rules/op/ops014-converge-rule-refusals.d.ts +55 -0
- package/dist/lint/rules/op/ops014-converge-rule-refusals.d.ts.map +1 -0
- package/dist/lint/rules/op/support.d.ts +12 -0
- package/dist/lint/rules/op/support.d.ts.map +1 -0
- package/dist/lint/suppressions.d.ts +108 -0
- package/dist/lint/suppressions.d.ts.map +1 -0
- package/dist/live-endpoint.d.ts +1 -1
- package/dist/op/activities/activity-contracts.d.ts +54 -0
- package/dist/op/activities/activity-contracts.d.ts.map +1 -0
- package/dist/op/activities/apply.d.ts +262 -0
- package/dist/op/activities/apply.d.ts.map +1 -0
- package/dist/op/activities/build.d.ts +13 -0
- package/dist/op/activities/build.d.ts.map +1 -0
- package/dist/op/activities/converge.d.ts +110 -0
- package/dist/op/activities/converge.d.ts.map +1 -0
- package/dist/op/activities/env-teardown.d.ts +76 -0
- package/dist/op/activities/env-teardown.d.ts.map +1 -0
- package/dist/op/activities/guard-validate.d.ts +64 -0
- package/dist/op/activities/guard-validate.d.ts.map +1 -0
- package/dist/op/activities/http-check.d.ts +34 -0
- package/dist/op/activities/http-check.d.ts.map +1 -0
- package/dist/op/activities/index.d.ts +31 -0
- package/dist/op/activities/index.d.ts.map +1 -0
- package/dist/op/activities/lexicon-upgrade.d.ts +182 -0
- package/dist/op/activities/lexicon-upgrade.d.ts.map +1 -0
- package/dist/op/activities/lifecycle.d.ts +42 -0
- package/dist/op/activities/lifecycle.d.ts.map +1 -0
- package/dist/op/activities/pipeline-audit.d.ts +84 -0
- package/dist/op/activities/pipeline-audit.d.ts.map +1 -0
- package/dist/op/activities/policy.d.ts +17 -0
- package/dist/op/activities/policy.d.ts.map +1 -0
- package/dist/op/activities/reconcile.d.ts +89 -0
- package/dist/op/activities/reconcile.d.ts.map +1 -0
- package/dist/op/activities/shell.d.ts +13 -0
- package/dist/op/activities/shell.d.ts.map +1 -0
- package/dist/op/activities/teardown.d.ts +10 -0
- package/dist/op/activities/teardown.d.ts.map +1 -0
- package/dist/op/activities/util.d.ts +7 -0
- package/dist/op/activities/util.d.ts.map +1 -0
- package/dist/op/activities/wait.d.ts +28 -0
- package/dist/op/activities/wait.d.ts.map +1 -0
- package/dist/op/activities/workflow-audit.d.ts +92 -0
- package/dist/op/activities/workflow-audit.d.ts.map +1 -0
- package/dist/op/activity-contract-registry.d.ts +76 -0
- package/dist/op/activity-contract-registry.d.ts.map +1 -0
- package/dist/op/activity-contract.d.ts +25 -18
- package/dist/op/activity-contract.d.ts.map +1 -1
- package/dist/op/activity-failure.d.ts +28 -0
- package/dist/op/activity-failure.d.ts.map +1 -0
- package/dist/op/activity-profiles.d.ts +118 -0
- package/dist/op/activity-profiles.d.ts.map +1 -0
- package/dist/op/activity-registry.d.ts +22 -38
- package/dist/op/activity-registry.d.ts.map +1 -1
- package/dist/op/activity-runtime.d.ts +3 -14
- package/dist/op/activity-runtime.d.ts.map +1 -1
- package/dist/op/builders.d.ts +84 -29
- package/dist/op/builders.d.ts.map +1 -1
- package/dist/op/composites/apply-op.d.ts +113 -0
- package/dist/op/composites/apply-op.d.ts.map +1 -0
- package/dist/op/composites/converge-op.d.ts +120 -0
- package/dist/op/composites/converge-op.d.ts.map +1 -0
- package/dist/op/composites/index.d.ts +26 -0
- package/dist/op/composites/index.d.ts.map +1 -0
- package/dist/op/composites/lexicon-upgrade-op.d.ts +78 -0
- package/dist/op/composites/lexicon-upgrade-op.d.ts.map +1 -0
- package/dist/op/composites/pipeline-audit-op.d.ts +50 -0
- package/dist/op/composites/pipeline-audit-op.d.ts.map +1 -0
- package/dist/op/composites/reconcile-op.d.ts +57 -0
- package/dist/op/composites/reconcile-op.d.ts.map +1 -0
- package/dist/op/composites/watch-op.d.ts +60 -0
- package/dist/op/composites/watch-op.d.ts.map +1 -0
- package/dist/op/composites/workflow-audit-op.d.ts +57 -0
- package/dist/op/composites/workflow-audit-op.d.ts.map +1 -0
- package/dist/op/converge-rule.d.ts +12 -10
- package/dist/op/converge-rule.d.ts.map +1 -1
- package/dist/op/cron.d.ts +51 -0
- package/dist/op/cron.d.ts.map +1 -0
- package/dist/op/discover.d.ts +9 -0
- package/dist/op/discover.d.ts.map +1 -1
- package/dist/op/duration.d.ts +11 -0
- package/dist/op/duration.d.ts.map +1 -0
- package/dist/op/emulator-lifecycle.d.ts.map +1 -1
- package/dist/op/gate.d.ts +90 -0
- package/dist/op/gate.d.ts.map +1 -0
- package/dist/op/generate-pipeline.d.ts +9 -0
- package/dist/op/generate-pipeline.d.ts.map +1 -1
- package/dist/op/index.d.ts +23 -7
- package/dist/op/index.d.ts.map +1 -1
- package/dist/op/local-executor.d.ts +114 -28
- package/dist/op/local-executor.d.ts.map +1 -1
- package/dist/op/local-output.d.ts +11 -1
- package/dist/op/local-output.d.ts.map +1 -1
- package/dist/op/op-ir.d.ts +184 -0
- package/dist/op/op-ir.d.ts.map +1 -0
- package/dist/op/op-verb-class.d.ts +10 -2
- package/dist/op/op-verb-class.d.ts.map +1 -1
- package/dist/op/operator.d.ts +30 -5
- package/dist/op/operator.d.ts.map +1 -1
- package/dist/op/receipt-store.d.ts +1 -1
- package/dist/op/receipt-store.d.ts.map +1 -1
- package/dist/op/resource.d.ts +15 -1
- package/dist/op/resource.d.ts.map +1 -1
- package/dist/op/runtime.d.ts +200 -0
- package/dist/op/runtime.d.ts.map +1 -0
- package/dist/op/runtimes/local.d.ts +29 -0
- package/dist/op/runtimes/local.d.ts.map +1 -0
- package/dist/op/step-output-ref.d.ts +15 -13
- package/dist/op/step-output-ref.d.ts.map +1 -1
- package/dist/op/types.d.ts +79 -27
- package/dist/op/types.d.ts.map +1 -1
- package/dist/ownership.d.ts +1 -1
- package/dist/provenance.d.ts +21 -0
- package/dist/provenance.d.ts.map +1 -1
- package/dist/serializer-walker.d.ts.map +1 -1
- package/package.json +6 -1
- package/src/audit/catalog.test.ts +79 -3
- package/src/audit/catalog.ts +111 -13
- package/src/audit/core.test.ts +26 -0
- package/src/audit/core.ts +61 -17
- package/src/audit/discover.test.ts +39 -0
- package/src/audit/discover.ts +91 -15
- package/src/audit/lineage.ts +100 -0
- package/src/audit/prior-art.ts +153 -0
- package/src/audit/proof.test.ts +67 -0
- package/src/audit/proof.ts +70 -0
- package/src/audit/report-html.ts +9 -4
- package/src/audit/report-model.ts +16 -2
- package/src/audit/report.test.ts +33 -0
- package/src/audit/report.ts +5 -3
- package/src/audit/rules-doc.test.ts +34 -2
- package/src/audit/rules-doc.ts +82 -9
- package/src/audit/secrets.ts +15 -3
- package/src/audit/terraform-state.test.ts +144 -0
- package/src/audit/terraform-state.ts +131 -0
- package/src/build.ts +31 -1
- package/src/claimed-fields.test.ts +145 -0
- package/src/claimed-fields.ts +208 -0
- package/src/cli/build-params-cli.ts +2 -2
- package/src/cli/command-group.ts +14 -0
- package/src/cli/commands/__fixtures__/audit-terraform/infra/.terraform/providers/lock.txt +1 -0
- package/src/cli/commands/__fixtures__/audit-terraform/infra/main.tf +1 -0
- package/src/cli/commands/__fixtures__/audit-terraform/infra/modules/foo/main.tf +1 -0
- package/src/cli/commands/__fixtures__/audit-terraform/infra/variables.tf +3 -0
- package/src/cli/commands/__fixtures__/init-lexicon-output/package.json +13 -4
- package/src/cli/commands/__fixtures__/init-lexicon-output/src/codegen/docs-cli.ts +4 -0
- package/src/cli/commands/__fixtures__/init-lexicon-output/src/codegen/package.ts +1 -0
- package/src/cli/commands/__fixtures__/init-lexicon-output/src/package-cli.ts +21 -0
- package/src/cli/commands/__snapshots__/init-lexicon.test.ts.snap +1 -0
- package/src/cli/commands/audit.test.ts +189 -11
- package/src/cli/commands/audit.ts +73 -27
- package/src/cli/commands/build.test.ts +292 -9
- package/src/cli/commands/build.ts +156 -24
- package/src/cli/commands/check-lexicon-docs.ts +1 -1
- package/src/cli/commands/check-lexicon-examples.test.ts +29 -1
- package/src/cli/commands/check-lexicon-examples.ts +42 -10
- package/src/cli/commands/init-lexicon/templates/codegen.ts +9 -0
- package/src/cli/commands/init-lexicon/templates/project.ts +44 -4
- package/src/cli/commands/init-lexicon.test.ts +97 -2
- package/src/cli/commands/init-lexicon.ts +4 -2
- package/src/cli/commands/init.test.ts +35 -1
- package/src/cli/commands/init.ts +14 -3
- package/src/cli/commands/lint.test.ts +48 -0
- package/src/cli/commands/lint.ts +123 -0
- package/src/cli/commands/onboard.test.ts +75 -0
- package/src/cli/commands/onboard.ts +54 -23
- package/src/cli/handlers/build.test.ts +81 -1
- package/src/cli/handlers/build.ts +15 -1
- package/src/cli/handlers/graph.test.ts +3 -3
- package/src/cli/handlers/lifecycle.test.ts +195 -12
- package/src/cli/handlers/lifecycle.ts +123 -6
- package/src/cli/handlers/misc.ts +1 -1
- package/src/cli/handlers/operator.test.ts +183 -11
- package/src/cli/handlers/operator.ts +260 -55
- package/src/cli/handlers/run.test.ts +431 -1287
- package/src/cli/handlers/run.ts +365 -915
- package/src/cli/main.test.ts +23 -15
- package/src/cli/main.ts +88 -33
- package/src/cli/mcp/op-tools.ts +147 -88
- package/src/cli/mcp/resource-handlers.ts +10 -37
- package/src/cli/mcp/resources/context.ts +11 -12
- package/src/cli/mcp/server.test.ts +25 -27
- package/src/cli/mcp/server.ts +2 -2
- package/src/cli/registry.ts +26 -9
- package/src/codegen/docs.ts +1 -1
- package/src/codegen/generate-post-synth-barrel.test.ts +1 -1
- package/src/codegen/generate-post-synth-barrel.ts +1 -1
- package/src/components/README.md +3 -2
- package/src/components/auto-release.test.ts +4 -20
- package/src/components/auto-release.ts +17 -42
- package/src/components/capability.ts +4 -4
- package/src/components/cli-support.test.ts +10 -5
- package/src/components/cli-support.ts +52 -44
- package/src/components/component.schema.json +2 -2
- package/src/components/component.ts +3 -3
- package/src/components/driver-output.ts +14 -2
- package/src/components/driver.test.ts +92 -22
- package/src/components/driver.ts +193 -83
- package/src/components/index.ts +1 -6
- package/src/components/manifest-persistence.test.ts +2 -20
- package/src/components/manifest-persistence.ts +4 -24
- package/src/components/pilots/pilots-lint-clean.test.ts +11 -10
- package/src/components/run-progress.ts +6 -6
- package/src/components/verbs/run-agent.ts +11 -17
- package/src/components/verbs/verify.ts +2 -2
- package/src/deep-observation.test.ts +75 -0
- package/src/deep-observation.ts +48 -0
- package/src/discovery/collect.test.ts +3 -3
- package/src/discovery/files.ts +4 -4
- package/src/discovery/fold-import.ts +105 -2
- package/src/discovery/param-deps.test.ts +112 -1
- package/src/discovery/param-deps.ts +193 -0
- package/src/discovery/sandbox/bundle.ts +15 -1
- package/src/discovery/sandbox/config-wire.test.ts +2 -2
- package/src/discovery/sandbox/config-wire.ts +2 -2
- package/src/fold/fold.test.ts +56 -0
- package/src/fold/foldable-helpers.ts +81 -1
- package/src/fold-provenance-exclusion.test.ts +186 -0
- package/src/fold-provenance.test.ts +495 -0
- package/src/fold-provenance.ts +441 -0
- package/src/graph-ops.test.ts +2 -2
- package/src/graph-ops.ts +1 -1
- package/src/held-elsewhere.test.ts +102 -0
- package/src/held-elsewhere.ts +114 -0
- package/src/index.ts +3 -0
- package/src/kubectl-context.ts +3 -3
- package/src/lexicon-config.test.ts +5 -5
- package/src/lexicon-config.ts +4 -4
- package/src/lexicon-plugin-helpers.ts +1 -1
- package/src/lexicon.ts +120 -14
- package/src/lifecycle/change-set.test.ts +49 -0
- package/src/lifecycle/change-set.ts +67 -0
- package/src/lifecycle/converge-ledger.ts +1 -1
- package/src/lifecycle/deep-diff.test.ts +267 -14
- package/src/lifecycle/deep-diff.ts +217 -14
- package/src/lifecycle/deep-observe.test.ts +3 -1
- package/src/lifecycle/deep-observe.ts +16 -6
- package/src/lifecycle/gate-ledger.test.ts +74 -2
- package/src/lifecycle/gate-ledger.ts +143 -36
- package/src/lifecycle/index.ts +1 -0
- package/src/lifecycle/release-ledger.ts +2 -2
- package/src/lifecycle/run-ledger.test.ts +268 -0
- package/src/lifecycle/run-ledger.ts +201 -0
- package/src/lifecycle/symptoms.ts +3 -3
- package/src/lint/config.test.ts +82 -1
- package/src/lint/config.ts +112 -3
- package/src/lint/policy.test.ts +1 -1
- package/src/lint/post-synth.test.ts +31 -0
- package/src/lint/post-synth.ts +54 -1
- package/src/lint/rules/__fixtures__/comp/comp004/pass/neo4j-cluster.component.ts +2 -2
- package/src/lint/rules/__fixtures__/comp/comp004/pass/orders-table.component.ts +1 -1
- package/src/lint/rules/comp/comp.test.ts +1 -1
- package/src/lint/rules/comp/comp004-gate-needs-durable-runtime.ts +74 -0
- package/src/lint/rules/comp/index.ts +3 -3
- package/src/lint/rules/op/index.ts +23 -0
- package/src/lint/rules/op/ops012-activity-contract.test.ts +161 -0
- package/src/lint/rules/op/ops012-activity-contract.ts +64 -0
- package/src/lint/rules/op/ops013-step-output-ref.test.ts +237 -0
- package/src/lint/rules/op/ops013-step-output-ref.ts +98 -0
- package/src/lint/rules/op/ops014-converge-rule-refusals.test.ts +263 -0
- package/src/lint/rules/op/ops014-converge-rule-refusals.ts +179 -0
- package/src/lint/rules/op/support.ts +11 -0
- package/src/lint/suppressions.test.ts +163 -0
- package/src/lint/suppressions.ts +204 -0
- package/src/live-endpoint.ts +1 -1
- package/src/op/activities/activity-contracts.ts +66 -0
- package/src/op/activities/apply.test.ts +567 -0
- package/src/op/activities/apply.ts +662 -0
- package/src/op/activities/build.ts +26 -0
- package/src/op/activities/converge.test.ts +330 -0
- package/src/op/activities/converge.ts +449 -0
- package/src/op/activities/env-teardown.test.ts +187 -0
- package/src/op/activities/env-teardown.ts +171 -0
- package/src/op/activities/guard-validate.test.ts +139 -0
- package/src/op/activities/guard-validate.ts +223 -0
- package/src/op/activities/http-check.test.ts +48 -0
- package/src/op/activities/http-check.ts +55 -0
- package/src/op/activities/index.ts +119 -0
- package/src/op/activities/lexicon-upgrade.test.ts +492 -0
- package/src/op/activities/lexicon-upgrade.ts +673 -0
- package/src/op/activities/lifecycle.ts +85 -0
- package/src/op/activities/pipeline-audit.test.ts +67 -0
- package/src/op/activities/pipeline-audit.ts +201 -0
- package/src/op/activities/policy.test.ts +19 -0
- package/src/op/activities/policy.ts +37 -0
- package/src/op/activities/reconcile.test.ts +81 -0
- package/src/op/activities/reconcile.ts +187 -0
- package/src/op/activities/shell.ts +26 -0
- package/src/op/activities/teardown.ts +22 -0
- package/src/op/activities/util.ts +6 -0
- package/src/op/activities/wait.ts +69 -0
- package/src/op/activities/workflow-audit.test.ts +90 -0
- package/src/op/activities/workflow-audit.ts +203 -0
- package/src/op/activity-contract-registry.test.ts +98 -0
- package/src/op/activity-contract-registry.ts +114 -0
- package/src/op/activity-contract.test.ts +1 -1
- package/src/op/activity-contract.ts +37 -33
- package/src/op/activity-failure.ts +34 -0
- package/src/op/activity-profiles.test.ts +56 -0
- package/src/op/activity-profiles.ts +116 -0
- package/src/op/activity-registry.test.ts +37 -28
- package/src/op/activity-registry.ts +27 -56
- package/src/op/activity-runtime.ts +3 -47
- package/src/op/builders-exports.test.ts +0 -49
- package/src/op/builders-typed.test.ts +164 -0
- package/src/op/builders.ts +123 -39
- package/src/op/composites/apply-op.ts +208 -0
- package/src/op/composites/composites.test.ts +366 -0
- package/src/op/composites/converge-op.test.ts +168 -0
- package/src/op/composites/converge-op.ts +214 -0
- package/src/op/composites/index.ts +26 -0
- package/src/op/composites/lexicon-upgrade-op.test.ts +68 -0
- package/src/op/composites/lexicon-upgrade-op.ts +134 -0
- package/src/op/composites/pipeline-audit-op.test.ts +25 -0
- package/src/op/composites/pipeline-audit-op.ts +78 -0
- package/src/op/composites/reconcile-op.test.ts +51 -0
- package/src/op/composites/reconcile-op.ts +107 -0
- package/src/op/composites/watch-op.ts +108 -0
- package/src/op/composites/workflow-audit-op.test.ts +25 -0
- package/src/op/composites/workflow-audit-op.ts +88 -0
- package/src/op/converge-rule.ts +12 -10
- package/src/op/cron.test.ts +128 -0
- package/src/op/cron.ts +149 -0
- package/src/op/discover-root.test.ts +105 -1
- package/src/op/discover.test.ts +6 -2
- package/src/op/discover.ts +84 -16
- package/src/op/duration.ts +21 -0
- package/src/op/effect-step.test.ts +26 -11
- package/src/op/emulator-lifecycle.ts +1 -2
- package/src/op/gate.ts +155 -0
- package/src/op/generate-pipeline.test.ts +65 -3
- package/src/op/generate-pipeline.ts +19 -2
- package/src/op/index.ts +39 -6
- package/src/op/local-executor.test.ts +163 -34
- package/src/op/local-executor.ts +370 -102
- package/src/op/local-output.test.ts +95 -11
- package/src/op/local-output.ts +33 -4
- package/src/op/op-ir.test.ts +281 -0
- package/src/op/op-ir.ts +417 -0
- package/src/op/op-verb-class.ts +19 -5
- package/src/op/op.test.ts +26 -5
- package/src/op/operator.test.ts +175 -6
- package/src/op/operator.ts +63 -16
- package/src/op/receipt-store.ts +1 -1
- package/src/op/resource.ts +20 -2
- package/src/op/runtime.ts +203 -0
- package/src/op/runtimes/local.test.ts +181 -0
- package/src/op/runtimes/local.ts +212 -0
- package/src/op/step-output-ref.ts +15 -13
- package/src/op/types.ts +84 -24
- package/src/ownership.ts +1 -1
- package/src/provenance.test.ts +6 -0
- package/src/provenance.ts +21 -1
- package/src/serializer-walker.test.ts +42 -0
- package/src/serializer-walker.ts +21 -2
- package/dist/cli/handlers/op-progress.d.ts +0 -90
- package/dist/cli/handlers/op-progress.d.ts.map +0 -1
- package/dist/cli/handlers/run-client.d.ts +0 -127
- package/dist/cli/handlers/run-client.d.ts.map +0 -1
- package/dist/cli/handlers/run-report.d.ts +0 -5
- package/dist/cli/handlers/run-report.d.ts.map +0 -1
- package/dist/components/temporal-codegen-loader.d.ts +0 -27
- package/dist/components/temporal-codegen-loader.d.ts.map +0 -1
- package/dist/lint/rules/comp/comp004-gate-needs-temporal.d.ts +0 -37
- package/dist/lint/rules/comp/comp004-gate-needs-temporal.d.ts.map +0 -1
- package/src/cli/handlers/op-progress.test.ts +0 -268
- package/src/cli/handlers/op-progress.ts +0 -248
- package/src/cli/handlers/run-client.test.ts +0 -82
- package/src/cli/handlers/run-client.ts +0 -219
- package/src/cli/handlers/run-report.test.ts +0 -62
- package/src/cli/handlers/run-report.ts +0 -122
- package/src/components/temporal-codegen-loader.ts +0 -41
- package/src/lint/rules/comp/comp004-gate-needs-temporal.ts +0 -66
package/src/provenance.ts
CHANGED
|
@@ -71,11 +71,27 @@ export interface EntityProvenance {
|
|
|
71
71
|
* is governed by `tier`, which is what an editor needs to know. Under-reports
|
|
72
72
|
* (a shape the collector does not follow drops a dependency) and never
|
|
73
73
|
* over-reports a parameter the expression does not mention.
|
|
74
|
+
* - `composite-parameter` — the fold interpreted the composite's factory body,
|
|
75
|
+
* and the expression for this path reads the named factory parameter paths
|
|
76
|
+
* (chant #2161). Same syntactic-dependency discipline as `build-param`, and
|
|
77
|
+
* for the same reason: a shape the collector does not follow drops a
|
|
78
|
+
* parameter, it never invents one.
|
|
79
|
+
* - `composite-literal` — the fold interpreted the factory body and the
|
|
80
|
+
* expression for this path reads no parameter at all. The composite fixes
|
|
81
|
+
* this field, and no argument at the call site moves it.
|
|
82
|
+
*
|
|
83
|
+
* The coarse `composite` and the two fine kinds are not alternatives. A build
|
|
84
|
+
* records `composite` when it expanded a composite without interpreting its
|
|
85
|
+
* body (the run path, an inadmissible factory), and that is why
|
|
86
|
+
* ./fold-provenance.ts answers `unknown` there rather than falling through to a
|
|
87
|
+
* direct declaration.
|
|
74
88
|
*/
|
|
75
89
|
export type PathOrigin =
|
|
76
90
|
| { kind: "authored" }
|
|
77
91
|
| { kind: "composite"; composite: string; instance: string }
|
|
78
|
-
| { kind: "build-param"; params: string[] }
|
|
92
|
+
| { kind: "build-param"; params: string[] }
|
|
93
|
+
| { kind: "composite-parameter"; composite: string; parameters: string[] }
|
|
94
|
+
| { kind: "composite-literal"; composite: string };
|
|
79
95
|
|
|
80
96
|
/** True when `prefix` addresses `path` or an ancestor of it, on a segment boundary. */
|
|
81
97
|
function isPathPrefix(prefix: string, path: string): boolean {
|
|
@@ -170,6 +186,10 @@ export function describePathOrigin(origin: PathOrigin): string {
|
|
|
170
186
|
return `composite ${origin.composite} (${origin.instance})`;
|
|
171
187
|
case "build-param":
|
|
172
188
|
return `param ${origin.params.join(", ")}`;
|
|
189
|
+
case "composite-parameter":
|
|
190
|
+
return `composite ${origin.composite} parameter ${origin.parameters.join(", ")}`;
|
|
191
|
+
case "composite-literal":
|
|
192
|
+
return `composite ${origin.composite} literal`;
|
|
173
193
|
}
|
|
174
194
|
}
|
|
175
195
|
|
|
@@ -4,6 +4,7 @@ import { DECLARABLE_MARKER, type Declarable } from "./declarable";
|
|
|
4
4
|
import { INTRINSIC_MARKER } from "./intrinsic";
|
|
5
5
|
import { AttrRef } from "./attrref";
|
|
6
6
|
import { createResource } from "./runtime";
|
|
7
|
+
import { heldElsewhere } from "./held-elsewhere";
|
|
7
8
|
|
|
8
9
|
function makeDeclarable(type: string, kind: "resource" | "property" = "resource", props?: Record<string, unknown>): Declarable & { props?: Record<string, unknown> } {
|
|
9
10
|
const d: Declarable & { props?: Record<string, unknown> } = {
|
|
@@ -145,3 +146,44 @@ describe("walkValue", () => {
|
|
|
145
146
|
});
|
|
146
147
|
});
|
|
147
148
|
});
|
|
149
|
+
|
|
150
|
+
// #2162 — a `heldElsewhere()` marker is never written to the applied
|
|
151
|
+
// payload: the field is omitted entirely so the provider defaults it once at
|
|
152
|
+
// creation and the named holder owns it from there. Every apply this
|
|
153
|
+
// synthesizes omits it, not only the first — re-asserting even the field's
|
|
154
|
+
// own value on a later apply would fight whatever the holder wrote in
|
|
155
|
+
// between.
|
|
156
|
+
describe("walkValue — heldElsewhere() markers (#2162)", () => {
|
|
157
|
+
test("a top-level held value walks to undefined", () => {
|
|
158
|
+
const names = new Map<Declarable, string>();
|
|
159
|
+
const marker = heldElsewhere<number>({ by: "hpa", reason: "x" });
|
|
160
|
+
expect(walkValue(marker, names, mockVisitor)).toBeUndefined();
|
|
161
|
+
});
|
|
162
|
+
|
|
163
|
+
test("an object key holding a marker is omitted entirely, not set to undefined", () => {
|
|
164
|
+
const names = new Map<Declarable, string>();
|
|
165
|
+
const value = {
|
|
166
|
+
replicas: heldElsewhere<number>({ by: "hpa", reason: "the autoscaler owns replicas after the first apply" }),
|
|
167
|
+
image: "app:1",
|
|
168
|
+
};
|
|
169
|
+
const result = walkValue(value, names, mockVisitor);
|
|
170
|
+
expect(result).toEqual({ image: "app:1" });
|
|
171
|
+
expect(Object.keys(result as object)).not.toContain("replicas");
|
|
172
|
+
});
|
|
173
|
+
|
|
174
|
+
test("a held element inside an array is dropped, not left as a hole", () => {
|
|
175
|
+
const names = new Map<Declarable, string>();
|
|
176
|
+
const value = { tolerations: ["a", heldElsewhere<string>({ by: "controller", reason: "x" }), "b"] };
|
|
177
|
+
expect(walkValue(value, names, mockVisitor)).toEqual({ tolerations: ["a", "b"] });
|
|
178
|
+
});
|
|
179
|
+
|
|
180
|
+
test("nested inside a property-kind declarable's own props, still omitted", () => {
|
|
181
|
+
const names = new Map<Declarable, string>();
|
|
182
|
+
const scaleTarget = makeDeclarable("K8s::Autoscaling::HorizontalPodAutoscaler.Behavior", "property", {
|
|
183
|
+
scaleUp: heldElsewhere<Record<string, unknown>>({ by: "hpa", reason: "the controller tunes its own policy" }),
|
|
184
|
+
stabilizationWindowSeconds: 60,
|
|
185
|
+
});
|
|
186
|
+
const result = walkValue(scaleTarget, names, mockVisitor);
|
|
187
|
+
expect(result).toEqual({ stabilizationWindowSeconds: 60 });
|
|
188
|
+
});
|
|
189
|
+
});
|
package/src/serializer-walker.ts
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import type { Declarable } from "./declarable";
|
|
9
9
|
import { isPropertyDeclarable } from "./declarable";
|
|
10
|
+
import { isHeldElsewhere } from "./held-elsewhere";
|
|
10
11
|
import { INTRINSIC_MARKER } from "./intrinsic";
|
|
11
12
|
import { AttrRef } from "./attrref";
|
|
12
13
|
import { isAttrRefLike } from "./utils";
|
|
@@ -33,6 +34,16 @@ export function walkValue(
|
|
|
33
34
|
return value;
|
|
34
35
|
}
|
|
35
36
|
|
|
37
|
+
// A `heldElsewhere()` marker (#2162) is never written to the applied
|
|
38
|
+
// payload — the provider defaults the field once at actual creation, and
|
|
39
|
+
// whoever the declaration names as holder owns it from there. Every apply
|
|
40
|
+
// this synthesizes therefore omits the field entirely, not only the
|
|
41
|
+
// first: re-asserting even the field's own value on a later apply would
|
|
42
|
+
// fight whatever the holder wrote in between. Checked first, ahead of
|
|
43
|
+
// every other dispatch branch below — a held marker is never an AttrRef,
|
|
44
|
+
// an Intrinsic, or authored Declarable data.
|
|
45
|
+
if (isHeldElsewhere(value)) return undefined;
|
|
46
|
+
|
|
36
47
|
// Handle AttrRef
|
|
37
48
|
if (isAttrRefLike(value)) {
|
|
38
49
|
const name = value.getLogicalName();
|
|
@@ -77,9 +88,13 @@ export function walkValue(
|
|
|
77
88
|
return visitor.propertyDeclarable(decl, (v) => walkValue(v, entityNames, visitor));
|
|
78
89
|
}
|
|
79
90
|
|
|
80
|
-
// Handle arrays
|
|
91
|
+
// Handle arrays. A held marker element is filtered out before recursing —
|
|
92
|
+
// `walkValue` would return `undefined` for it too, but leaving it in the
|
|
93
|
+
// array would emit a hole (`[a, null, b]`) rather than omitting it.
|
|
81
94
|
if (Array.isArray(value)) {
|
|
82
|
-
return value
|
|
95
|
+
return value
|
|
96
|
+
.filter((item) => !isHeldElsewhere(item))
|
|
97
|
+
.map((item) => walkValue(item, entityNames, visitor));
|
|
83
98
|
}
|
|
84
99
|
|
|
85
100
|
// Handle serialized AttrRef envelopes (produced by AttrRef.toJSON() inside intrinsics)
|
|
@@ -92,6 +107,10 @@ export function walkValue(
|
|
|
92
107
|
if (typeof value === "object") {
|
|
93
108
|
const result: Record<string, unknown> = {};
|
|
94
109
|
for (const [key, val] of Object.entries(value)) {
|
|
110
|
+
// A held marker key is omitted entirely (#2162), not set to
|
|
111
|
+
// `undefined` — the two read differently to a YAML emitter, and only
|
|
112
|
+
// omission is "the provider never hears about this field".
|
|
113
|
+
if (isHeldElsewhere(val)) continue;
|
|
95
114
|
const outKey = key;
|
|
96
115
|
result[outKey] = walkValue(val, entityNames, visitor);
|
|
97
116
|
}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Per-phase progress reconstructed from a Temporal Op workflow's history
|
|
3
|
-
* (chant #1676) — the durable-path counterpart to the local executor's
|
|
4
|
-
* `StepRecord[]` (op/local-executor.ts), so `chant run <name> --temporal
|
|
5
|
-
* --progress-json` and `op-status` can report the same shape `chant run
|
|
6
|
-
* <name> --json` already does for the local path, instead of the two raw
|
|
7
|
-
* `ActivityTaskScheduled`/`ActivityTaskCompleted` counts.
|
|
8
|
-
*
|
|
9
|
-
* A step is joined to its declared (phase, fn) by position, not by name: the
|
|
10
|
-
* declared step list (`declaredStepOrder`, mirroring the serializer's own
|
|
11
|
-
* `collectActivitySteps` traversal — main phases, then `onFailure` phases
|
|
12
|
-
* *reversed*, matching how the generated workflow actually runs them) is
|
|
13
|
-
* walked in order, and each step consumes the next not-yet-consumed
|
|
14
|
-
* `ActivityTaskScheduled` event whose activity type matches its `fn` — a
|
|
15
|
-
* per-fn FIFO queue, not a global "does this name appear anywhere" scan.
|
|
16
|
-
* Two steps calling the same activity therefore each get their own
|
|
17
|
-
* scheduled event instead of the later one overwriting the earlier
|
|
18
|
-
* (the collision the prior `run-report.ts` join had). A step whose queue is
|
|
19
|
-
* empty never ran this execution — an untaken effect branch, or an
|
|
20
|
-
* `onFailure` phase on a run that succeeded.
|
|
21
|
-
*/
|
|
22
|
-
import type { OpConfig } from "../../op/types.js";
|
|
23
|
-
import type { StepRecord } from "../../op/local-executor.js";
|
|
24
|
-
import type { WorkflowHistoryRaw, WorkflowHandleRaw } from "./run-client.js";
|
|
25
|
-
/**
|
|
26
|
-
* A step record paired with the position of the declared step it came from.
|
|
27
|
-
*
|
|
28
|
-
* `index` is an offset into `declaredStepOrder(config)`, which depends only
|
|
29
|
-
* on the Op config — not on the history — so it is the record's identity
|
|
30
|
-
* and is stable across polls. The record *list* is not: a mid-run poll omits
|
|
31
|
-
* every step that hasn't settled yet, and the terminal `final: true` pass
|
|
32
|
-
* inserts a `"skipped"` record at each such step's declared position, which
|
|
33
|
-
* shifts every later record's list offset (chant #2032). Anything tracking
|
|
34
|
-
* what it has already seen must key on `index`, never on how many records
|
|
35
|
-
* the previous call returned.
|
|
36
|
-
*/
|
|
37
|
-
export interface IndexedStepRecord {
|
|
38
|
-
index: number;
|
|
39
|
-
record: StepRecord;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Reconstruct per-step progress records from a workflow's history, in
|
|
43
|
-
* declared order, each tagged with its declared-step `index`. Only settled
|
|
44
|
-
* steps (matched to a scheduled event that has since completed or failed)
|
|
45
|
-
* produce a record — a step that hasn't been scheduled yet simply isn't in
|
|
46
|
-
* the result. Pass `final: true` once the workflow has reached a terminal
|
|
47
|
-
* status to also emit a `"skipped"` record for every declared step that
|
|
48
|
-
* never got a matching scheduled event (an untaken effect branch, or an
|
|
49
|
-
* `onFailure` phase on a run that succeeded) — never before, or a
|
|
50
|
-
* still-running Op would show its not-yet-reached steps as skipped.
|
|
51
|
-
*/
|
|
52
|
-
export declare function extractIndexedStepRecords(config: OpConfig, history: WorkflowHistoryRaw, opts?: {
|
|
53
|
-
final?: boolean;
|
|
54
|
-
}): IndexedStepRecord[];
|
|
55
|
-
/** `extractIndexedStepRecords` without the indices — the plain declared-order record list. */
|
|
56
|
-
export declare function extractStepRecords(config: OpConfig, history: WorkflowHistoryRaw, opts?: {
|
|
57
|
-
final?: boolean;
|
|
58
|
-
}): StepRecord[];
|
|
59
|
-
/**
|
|
60
|
-
* A sink that forwards each declared step's record exactly once, however many
|
|
61
|
-
* times the poll loop re-derives the list.
|
|
62
|
-
*
|
|
63
|
-
* `--progress-json` calls this per poll with the whole list so far, plus once
|
|
64
|
-
* more with the terminal `final: true` list. Deduplicating by declared-step
|
|
65
|
-
* `index` is what makes that safe: an emitted-count watermark assumed the list
|
|
66
|
-
* was append-only, and the `final` pass's inserted `"skipped"` records break
|
|
67
|
-
* that assumption — with an unreached phase declared before an `onFailure`
|
|
68
|
-
* phase that ran, the insertion shifted the tail, so the last record shipped
|
|
69
|
-
* twice and the skipped one never shipped at all (chant #2032).
|
|
70
|
-
*/
|
|
71
|
-
export declare function stepRecordEmitter(emit: (record: StepRecord) => void): (records: IndexedStepRecord[]) => void;
|
|
72
|
-
/** `{completed, scheduled}` activity counts for the summary line `chant run status`/`op-status` show alongside the full record list. */
|
|
73
|
-
export declare function countActivities(history: WorkflowHistoryRaw): {
|
|
74
|
-
completed: number;
|
|
75
|
-
scheduled: number;
|
|
76
|
-
};
|
|
77
|
-
/** The `gateState` workflow query's result (op/serializer.ts's `emitGate`) — the gate currently blocking the workflow, or `null` when none is pending. */
|
|
78
|
-
export interface GateQueryResult {
|
|
79
|
-
signalName: string;
|
|
80
|
-
description?: string;
|
|
81
|
-
since: string;
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Best-effort `gateState` query. `undefined` (as opposed to `null`) means
|
|
85
|
-
* the query itself failed — an Op with no gate steps never registers a
|
|
86
|
-
* `gateState` handler, so querying it is expected to fail, not an error
|
|
87
|
-
* worth surfacing.
|
|
88
|
-
*/
|
|
89
|
-
export declare function queryGateState(handle: WorkflowHandleRaw): Promise<GateQueryResult | null | undefined>;
|
|
90
|
-
//# sourceMappingURL=op-progress.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"op-progress.d.ts","sourceRoot":"","sources":["../../../src/cli/handlers/op-progress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAmB,MAAM,gBAAgB,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAgB,iBAAiB,EAAE,MAAM,cAAc,CAAC;AA2FxF;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,kBAAkB,EAC3B,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7B,iBAAiB,EAAE,CAsCrB;AAED,8FAA8F;AAC9F,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,kBAAkB,EAC3B,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7B,UAAU,EAAE,CAEd;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAS5G;AAED,wIAAwI;AACxI,wBAAgB,eAAe,CAAC,OAAO,EAAE,kBAAkB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAMrG;AAED,0JAA0J;AAC1J,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,GAAG,SAAS,CAAC,CAM3G"}
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
/** Subset of WorkerProfile fields used by `chant run`. */
|
|
2
|
-
export interface WorkerProfile {
|
|
3
|
-
address: string;
|
|
4
|
-
namespace: string;
|
|
5
|
-
taskQueue: string;
|
|
6
|
-
tls?: boolean | {
|
|
7
|
-
serverNameOverride?: string;
|
|
8
|
-
};
|
|
9
|
-
apiKey?: string | {
|
|
10
|
-
env: string;
|
|
11
|
-
};
|
|
12
|
-
autoStart?: boolean;
|
|
13
|
-
}
|
|
14
|
-
export interface TemporalClientModule {
|
|
15
|
-
Connection: {
|
|
16
|
-
connect(opts: Record<string, unknown>): Promise<unknown>;
|
|
17
|
-
};
|
|
18
|
-
Client: new (opts: Record<string, unknown>) => TemporalClientHandle;
|
|
19
|
-
}
|
|
20
|
-
export interface TemporalClientHandle {
|
|
21
|
-
workflow: {
|
|
22
|
-
start(workflowFn: unknown, opts: Record<string, unknown>): Promise<WorkflowHandleRaw>;
|
|
23
|
-
getHandle(workflowId: string): WorkflowHandleRaw;
|
|
24
|
-
list(opts?: Record<string, unknown>): AsyncIterable<WorkflowExecutionInfo>;
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
export interface WorkflowHandleRaw {
|
|
28
|
-
workflowId: string;
|
|
29
|
-
firstExecutionRunId?: string;
|
|
30
|
-
result(): Promise<unknown>;
|
|
31
|
-
describe(): Promise<WorkflowExecutionDescription>;
|
|
32
|
-
fetchHistory(): Promise<WorkflowHistoryRaw>;
|
|
33
|
-
signal(signalName: string, ...args: unknown[]): Promise<void>;
|
|
34
|
-
query<T = unknown>(queryName: string, ...args: unknown[]): Promise<T>;
|
|
35
|
-
cancel(): Promise<void>;
|
|
36
|
-
}
|
|
37
|
-
export interface WorkflowExecutionDescription {
|
|
38
|
-
workflowId: string;
|
|
39
|
-
runId: string;
|
|
40
|
-
status: {
|
|
41
|
-
name: string;
|
|
42
|
-
};
|
|
43
|
-
startTime: Date;
|
|
44
|
-
closeTime?: Date;
|
|
45
|
-
taskQueue: string;
|
|
46
|
-
type: {
|
|
47
|
-
name: string;
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
export interface WorkflowExecutionInfo {
|
|
51
|
-
workflowId: string;
|
|
52
|
-
runId: string;
|
|
53
|
-
type: {
|
|
54
|
-
name: string;
|
|
55
|
-
};
|
|
56
|
-
status: {
|
|
57
|
-
name: string;
|
|
58
|
-
};
|
|
59
|
-
startTime: Date;
|
|
60
|
-
closeTime?: Date;
|
|
61
|
-
}
|
|
62
|
-
export interface WorkflowHistoryRaw {
|
|
63
|
-
events?: HistoryEvent[];
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* `eventType` is the short PascalCase form (`"ActivityTaskScheduled"`, not
|
|
67
|
-
* the wire enum's `"EVENT_TYPE_ACTIVITY_TASK_SCHEDULED"`) and `eventId`/
|
|
68
|
-
* `scheduledEventId` are decimal strings — the shape {@link fetchNormalizedHistory}
|
|
69
|
-
* produces, not `WorkflowHandleRaw.fetchHistory()`'s own raw return value.
|
|
70
|
-
*/
|
|
71
|
-
export interface HistoryEvent {
|
|
72
|
-
eventId?: string;
|
|
73
|
-
eventType?: string;
|
|
74
|
-
eventTime?: Date;
|
|
75
|
-
activityTaskCompletedEventAttributes?: {
|
|
76
|
-
scheduledEventId?: string;
|
|
77
|
-
};
|
|
78
|
-
activityTaskScheduledEventAttributes?: {
|
|
79
|
-
activityId?: string;
|
|
80
|
-
activityType?: {
|
|
81
|
-
name?: string;
|
|
82
|
-
};
|
|
83
|
-
};
|
|
84
|
-
activityTaskFailedEventAttributes?: {
|
|
85
|
-
scheduledEventId?: string;
|
|
86
|
-
failure?: {
|
|
87
|
-
message?: string;
|
|
88
|
-
};
|
|
89
|
-
};
|
|
90
|
-
workflowExecutionCompletedEventAttributes?: unknown;
|
|
91
|
-
workflowExecutionFailedEventAttributes?: {
|
|
92
|
-
failure?: {
|
|
93
|
-
message?: string;
|
|
94
|
-
};
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* `WorkflowHandleRaw.fetchHistory()` returns the Temporal wire proto
|
|
99
|
-
* untouched: `eventType` is the numeric enum, `eventId`/`scheduledEventId`
|
|
100
|
-
* are `Long` instances, `eventTime` is a `{seconds, nanos}` protobuf
|
|
101
|
-
* Timestamp — none of them comparable or constructible the way the rest of
|
|
102
|
-
* this file (and run-report.ts, op-progress.ts) needs. The proto message's
|
|
103
|
-
* own `toJSON()` is what turns enums into their string name and `Long`s into
|
|
104
|
-
* decimal strings, so a JSON round-trip is the normalization step; only
|
|
105
|
-
* `eventTime` then needs a further Timestamp-to-Date conversion.
|
|
106
|
-
*/
|
|
107
|
-
export declare function fetchNormalizedHistory(handle: WorkflowHandleRaw): Promise<WorkflowHistoryRaw>;
|
|
108
|
-
/**
|
|
109
|
-
* Dynamically import @temporalio/client from the user's project node_modules.
|
|
110
|
-
* Fails with a helpful message if not installed.
|
|
111
|
-
*/
|
|
112
|
-
export declare function loadTemporalClient(): Promise<TemporalClientModule>;
|
|
113
|
-
/**
|
|
114
|
-
* Build a Temporal Connection.connect() options object from a worker profile.
|
|
115
|
-
*/
|
|
116
|
-
export declare function connectionOptions(profile: WorkerProfile): Record<string, unknown>;
|
|
117
|
-
/**
|
|
118
|
-
* Deterministic workflow ID for an Op — allows status/signal/cancel/log
|
|
119
|
-
* without storing run IDs locally.
|
|
120
|
-
*/
|
|
121
|
-
export declare function resolveWorkflowId(opName: string): string;
|
|
122
|
-
/**
|
|
123
|
-
* Resolve a named profile from the chant config.
|
|
124
|
-
* Falls back to defaultProfile then "local".
|
|
125
|
-
*/
|
|
126
|
-
export declare function resolveProfile(config: Record<string, unknown>, profileName?: string): WorkerProfile;
|
|
127
|
-
//# sourceMappingURL=run-client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run-client.d.ts","sourceRoot":"","sources":["../../../src/cli/handlers/run-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { OpConfig } from "../../op/types.js";
|
|
2
|
-
import type { WorkflowExecutionDescription, WorkflowHistoryRaw } from "./run-client.js";
|
|
3
|
-
export declare function generateReport(opName: string, config: OpConfig, description: WorkflowExecutionDescription, history: WorkflowHistoryRaw): string;
|
|
4
|
-
export declare function writeReport(opName: string, markdown: string): string;
|
|
5
|
-
//# sourceMappingURL=run-report.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run-report.d.ts","sourceRoot":"","sources":["../../../src/cli/handlers/run-report.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,4BAA4B,EAAE,kBAAkB,EAAgB,MAAM,cAAc,CAAC;AA2CnG,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,QAAQ,EAChB,WAAW,EAAE,4BAA4B,EACzC,OAAO,EAAE,kBAAkB,GAC1B,MAAM,CA+DR;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKpE"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Dynamic loader for the durable component → Temporal codegen (#589, epic
|
|
3
|
-
* #551 §5/§8). The actual `serializeComponent` generator lives in
|
|
4
|
-
* `@intentius/chant-lexicon-temporal` (`src/component-op/serializer.ts`),
|
|
5
|
-
* mirroring `Temporal::Op` codegen — core never statically depends on the
|
|
6
|
-
* Temporal lexicon, the same boundary `../op/activity-registry.ts`'s
|
|
7
|
-
* `loadActivities`/`loadProfiles` already keep for Op activities.
|
|
8
|
-
*/
|
|
9
|
-
import type { DriverComponent } from "./driver.js";
|
|
10
|
-
/** Target environment (and env-config) baked into the generated workflow at compile time — see `serializeComponent`'s docstring in the Temporal lexicon for why this can't be resolved at workflow-run time instead. */
|
|
11
|
-
export interface ComponentTemporalCodegenOptions {
|
|
12
|
-
env?: string;
|
|
13
|
-
vars?: Record<string, unknown>;
|
|
14
|
-
}
|
|
15
|
-
export interface ComponentTemporalCodegen {
|
|
16
|
-
/** Serialize one component into `{ "components/<name>/workflow.ts": "...", ... }`. */
|
|
17
|
-
serializeComponent(component: DriverComponent, options?: ComponentTemporalCodegenOptions): Record<string, string>;
|
|
18
|
-
/** Deterministic workflow function name for a component (mirrors the generated `export async function <fn>()`). */
|
|
19
|
-
componentWorkflowFnName(componentName: string): string;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Dynamically import the Temporal lexicon's component codegen. Throws a
|
|
23
|
-
* friendly error if the lexicon is not installed — the durable component
|
|
24
|
-
* path needs the generator even though discovery/local execution never do.
|
|
25
|
-
*/
|
|
26
|
-
export declare function loadComponentTemporalCodegen(): Promise<ComponentTemporalCodegen>;
|
|
27
|
-
//# sourceMappingURL=temporal-codegen-loader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"temporal-codegen-loader.d.ts","sourceRoot":"","sources":["../../src/components/temporal-codegen-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,wNAAwN;AACxN,MAAM,WAAW,+BAA+B;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,wBAAwB;IACvC,sFAAsF;IACtF,kBAAkB,CAAC,SAAS,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,+BAA+B,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClH,mHAAmH;IACnH,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC;CACxD;AAED;;;;GAIG;AACH,wBAAsB,4BAA4B,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAWtF"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* COMP004: gate-needs-temporal
|
|
3
|
-
*
|
|
4
|
-
* Flags a `gate` step anywhere in a component's composition — a durable,
|
|
5
|
-
* human-approval wait that cannot run on the local in-process executor (see
|
|
6
|
-
* ../../../components/driver.ts's `DriverGateUnsupportedError` and
|
|
7
|
-
* docs/components/orchestration.mdx's "Temporal is optional" aside: "gates ...
|
|
8
|
-
* require the durable (Temporal) execution backend").
|
|
9
|
-
*
|
|
10
|
-
* The component contract has no per-component backend/executor field (the
|
|
11
|
-
* backend is chosen per *run*, via `chant run --temporal`, per epic #551 §8 —
|
|
12
|
-
* intentionally not part of the declaration, so the same component graduates
|
|
13
|
-
* to Temporal without changing its definition). That means lint cannot tell,
|
|
14
|
-
* from the declaration alone, whether a given `gate` will actually run under
|
|
15
|
-
* Temporal when this component is deployed — every `gate` is a standing
|
|
16
|
-
* "this component needs the durable backend" fact worth surfacing, not a
|
|
17
|
-
* mistake to silently allow. Acknowledge it explicitly with a **file-level**
|
|
18
|
-
* disable directive once the durable backend is genuinely intended (see
|
|
19
|
-
* lint-rules/disable-directives.mdx) — a COMP* diagnostic carries no real
|
|
20
|
-
* line/column (it is reported for the whole component; see
|
|
21
|
-
* ../../component-checks.ts), so only the file-level `chant-disable` form is
|
|
22
|
-
* honored for these rules — `-line`/`-next-line` do not suppress a COMP*
|
|
23
|
-
* diagnostic (see ../../../cli/commands/lint.ts's
|
|
24
|
-
* `runComponentCheckDiagnostics`):
|
|
25
|
-
*
|
|
26
|
-
* ```ts
|
|
27
|
-
* // chant-disable COMP004 -- graduates to --temporal for the human approval wait
|
|
28
|
-
* ```
|
|
29
|
-
*
|
|
30
|
-
* Triggers on: any `gate` step in `deploy`/`rollback` with no matching
|
|
31
|
-
* file-level disable directive.
|
|
32
|
-
* OK: a component with no `gate` steps at all, or a `gate` whose file-level
|
|
33
|
-
* disable directive documents the Temporal graduation.
|
|
34
|
-
*/
|
|
35
|
-
import type { ComponentCheck } from "../../component-checks.js";
|
|
36
|
-
export declare const comp004GateNeedsTemporalRule: ComponentCheck;
|
|
37
|
-
//# sourceMappingURL=comp004-gate-needs-temporal.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"comp004-gate-needs-temporal.d.ts","sourceRoot":"","sources":["../../../../src/lint/rules/comp/comp004-gate-needs-temporal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAmD,MAAM,wBAAwB,CAAC;AAG9G,eAAO,MAAM,4BAA4B,EAAE,cA2B1C,CAAC"}
|