@intentius/chant 0.57.0 → 0.59.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 +36 -1
- package/dist/audit/core.d.ts.map +1 -1
- package/dist/audit/discover.d.ts +26 -9
- 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/carve-bridge.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 +13 -0
- 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 +12 -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/plugins.d.ts +22 -0
- package/dist/cli/plugins.d.ts.map +1 -1
- package/dist/cli/registry.d.ts +40 -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 +24 -22
- package/dist/components/cli-support.d.ts.map +1 -1
- package/dist/components/component.d.ts +21 -6
- 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 +73 -37
- 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 +10 -22
- 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/detectLexicon.d.ts +13 -0
- package/dist/detectLexicon.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 +273 -16
- 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 +79 -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 +149 -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 +85 -30
- package/dist/op/builders.d.ts.map +1 -1
- package/dist/op/change-signal.d.ts +91 -0
- package/dist/op/change-signal.d.ts.map +1 -0
- package/dist/op/composites/apply-op.d.ts +118 -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-name.d.ts +40 -0
- package/dist/op/gate-name.d.ts.map +1 -0
- package/dist/op/gate-summary.d.ts +43 -0
- package/dist/op/gate-summary.d.ts.map +1 -0
- 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 +29 -9
- 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 +185 -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 +93 -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 +96 -29
- 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/dist/terraform/bridge.d.ts +26 -7
- package/dist/terraform/bridge.d.ts.map +1 -1
- package/dist/terraform/carve-provider.d.ts +28 -2
- package/dist/terraform/carve-provider.d.ts.map +1 -1
- package/dist/terraform/data-source-shape.d.ts +77 -0
- package/dist/terraform/data-source-shape.d.ts.map +1 -0
- package/dist/terraform/graph.d.ts.map +1 -1
- package/dist/terraform/providers/kubernetes.d.ts +5 -0
- package/dist/terraform/providers/kubernetes.d.ts.map +1 -1
- package/dist/terraform/tier-map.d.ts +16 -4
- package/dist/terraform/tier-map.d.ts.map +1 -1
- package/dist/terraform/types.d.ts +8 -0
- package/dist/terraform/types.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 +84 -18
- package/src/audit/discover.test.ts +39 -0
- package/src/audit/discover.ts +202 -18
- 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 +191 -11
- package/src/cli/commands/audit.ts +78 -28
- package/src/cli/commands/build.test.ts +330 -9
- package/src/cli/commands/build.ts +170 -24
- package/src/cli/commands/carve-bridge.test.ts +237 -14
- package/src/cli/commands/carve-bridge.ts +21 -17
- package/src/cli/commands/carve-emit-k8s.test.ts +17 -10
- 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 +194 -1
- package/src/cli/commands/lint.ts +205 -7
- 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 +341 -55
- package/src/cli/handlers/run.test.ts +568 -1295
- package/src/cli/handlers/run.ts +446 -912
- package/src/cli/main.test.ts +22 -16
- package/src/cli/main.ts +66 -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/plugins.test.ts +68 -2
- package/src/cli/plugins.ts +39 -0
- package/src/cli/registry.ts +40 -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 +4 -3
- package/src/components/__fixtures__/neo4j-fanout.json +1 -1
- 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 +28 -12
- package/src/components/cli-support.ts +60 -47
- package/src/components/component-schema.test.ts +18 -2
- package/src/components/component.schema.json +18 -5
- package/src/components/component.test.ts +2 -2
- package/src/components/component.ts +27 -7
- package/src/components/config-defaults.test.ts +2 -2
- package/src/components/driver-output.ts +14 -2
- package/src/components/driver.test.ts +109 -20
- package/src/components/driver.ts +201 -84
- 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/neo4j-fanout.pilot.ts +3 -3
- 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.test.ts +19 -0
- package/src/components/verbs/run-agent.ts +12 -24
- 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/detectLexicon.ts +18 -1
- package/src/discovery/collect.test.ts +3 -3
- package/src/discovery/files.ts +4 -4
- package/src/discovery/fold-import.test.ts +1 -1
- 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 +82 -2
- 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 +3 -3
- 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 +296 -16
- 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 +154 -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/pipeline-change-gate.test.ts +2 -2
- 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 +27 -1
- package/src/lint/rules/comp/comp004-gate-needs-durable-runtime.ts +76 -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 +161 -0
- package/src/op/activities/reconcile.ts +354 -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 +125 -41
- package/src/op/change-signal.test.ts +117 -0
- package/src/op/change-signal.ts +169 -0
- package/src/op/composites/apply-op.ts +218 -0
- package/src/op/composites/composites.test.ts +379 -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 +110 -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 +29 -14
- package/src/op/emulator-lifecycle.ts +1 -2
- package/src/op/gate-name.test.ts +65 -0
- package/src/op/gate-name.ts +60 -0
- package/src/op/gate-summary.ts +84 -0
- 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 +48 -8
- package/src/op/local-executor.test.ts +178 -34
- package/src/op/local-executor.ts +371 -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 +292 -0
- package/src/op/op-ir.ts +419 -0
- package/src/op/op-verb-class.test.ts +2 -2
- package/src/op/op-verb-class.ts +19 -5
- package/src/op/op.test.ts +28 -7
- package/src/op/operator.test.ts +543 -6
- package/src/op/operator.ts +203 -20
- 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 +106 -26
- 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/src/terraform/aws-resources.test.ts +13 -4
- package/src/terraform/bridge.test.ts +22 -9
- package/src/terraform/bridge.ts +89 -28
- package/src/terraform/carve-provider.ts +38 -2
- package/src/terraform/data-source-shape.ts +95 -0
- package/src/terraform/graph.ts +35 -7
- package/src/terraform/providers/kubernetes.ts +48 -2
- package/src/terraform/tier-map.ts +21 -6
- package/src/terraform/types.ts +8 -0
- 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/terraform/graph.ts
CHANGED
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
* graph building stays unit-testable on hand-written fixtures.
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
import {
|
|
14
|
+
import { shapeSourcePaths } from "./data-source-shape";
|
|
15
|
+
import { dataSourceShapeOf, identityAttrOf } from "./tier-map";
|
|
15
16
|
import type { Hcl2JsonTree, TfEdge, TfGraph, TfNode } from "./types";
|
|
16
17
|
|
|
17
18
|
/**
|
|
@@ -142,16 +143,14 @@ function blockHasMeta(block: unknown, key: string): boolean {
|
|
|
142
143
|
}
|
|
143
144
|
|
|
144
145
|
/**
|
|
145
|
-
* The
|
|
146
|
-
*
|
|
146
|
+
* The literal string at a dotted path into a block, or undefined when the path
|
|
147
|
+
* misses or lands on an interpolation. A dotted path walks nested blocks —
|
|
147
148
|
* hcl2json renders a nested block as a one-element array, so arrays step
|
|
148
149
|
* through their first element (`manifest.metadata.name`).
|
|
149
150
|
*/
|
|
150
|
-
function
|
|
151
|
-
const attr = identityAttrOf(type);
|
|
152
|
-
if (!attr || !block || typeof block !== "object") return undefined;
|
|
151
|
+
function literalAt(block: unknown, path: string): string | undefined {
|
|
153
152
|
let value: unknown = block;
|
|
154
|
-
for (const segment of
|
|
153
|
+
for (const segment of path.split(".")) {
|
|
155
154
|
if (Array.isArray(value)) value = value[0];
|
|
156
155
|
if (!value || typeof value !== "object") return undefined;
|
|
157
156
|
value = (value as Record<string, unknown>)[segment];
|
|
@@ -160,6 +159,34 @@ function literalIdentity(block: unknown, type: string): string | undefined {
|
|
|
160
159
|
return value;
|
|
161
160
|
}
|
|
162
161
|
|
|
162
|
+
/**
|
|
163
|
+
* The resource's physical name, if its identity attribute is a plain literal
|
|
164
|
+
* (not interpolated).
|
|
165
|
+
*/
|
|
166
|
+
function literalIdentity(block: unknown, type: string): string | undefined {
|
|
167
|
+
const attr = identityAttrOf(type);
|
|
168
|
+
if (!attr || !block || typeof block !== "object") return undefined;
|
|
169
|
+
return literalAt(block, attr);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* The literals the type's data-source shape reads out of the carved block
|
|
174
|
+
* (#2034), keyed by the shape field's source path. `carve bridge` renders the
|
|
175
|
+
* data-source body from these; a required field missing here is what makes it
|
|
176
|
+
* write a TODO instead of a block Terraform would reject.
|
|
177
|
+
*/
|
|
178
|
+
function dataSourceValues(block: unknown, type: string): Record<string, string> | undefined {
|
|
179
|
+
if (!block || typeof block !== "object") return undefined;
|
|
180
|
+
const shape = dataSourceShapeOf(type);
|
|
181
|
+
if (!shape) return undefined;
|
|
182
|
+
const values: Record<string, string> = {};
|
|
183
|
+
for (const path of shapeSourcePaths(shape)) {
|
|
184
|
+
const value = literalAt(block, path);
|
|
185
|
+
if (value !== undefined) values[path] = value;
|
|
186
|
+
}
|
|
187
|
+
return Object.keys(values).length ? values : undefined;
|
|
188
|
+
}
|
|
189
|
+
|
|
163
190
|
/**
|
|
164
191
|
* Build the dependency graph from a merged hcl2json tree.
|
|
165
192
|
*
|
|
@@ -202,6 +229,7 @@ export function buildGraph(tree: Hcl2JsonTree, exprRefs: ExpressionRefs): TfGrap
|
|
|
202
229
|
instances: 1,
|
|
203
230
|
hasDynamic: dynamic || touchesData,
|
|
204
231
|
identity: literalIdentity(block, type),
|
|
232
|
+
dataSourceValues: dataSourceValues(block, type),
|
|
205
233
|
});
|
|
206
234
|
}
|
|
207
235
|
}
|
|
@@ -18,6 +18,11 @@
|
|
|
18
18
|
* can only name the family, and `adopt` reads the body to learn the rest —
|
|
19
19
|
* which is also why one rule here covers every CRD.
|
|
20
20
|
*
|
|
21
|
+
* It has no `kubernetes_manifest` data source either, so it does not read back
|
|
22
|
+
* as its own type. `MANIFEST_READ_BACK` below is the shape `carve bridge` uses
|
|
23
|
+
* instead: `data "kubernetes_resource"`, built from the manifest's own
|
|
24
|
+
* apiVersion/kind/metadata (#2034).
|
|
25
|
+
*
|
|
21
26
|
* It has no live adoption path. `carve emit --env` filters a live export by a
|
|
22
27
|
* native type, and there is no type to filter by until the body is read; state
|
|
23
28
|
* is where the body is. `liveSelectorType` therefore returns undefined and
|
|
@@ -26,6 +31,7 @@
|
|
|
26
31
|
*/
|
|
27
32
|
|
|
28
33
|
import type { AdoptedSource, CarveProvider, DeferredParam, TierInfo } from "../carve-provider";
|
|
34
|
+
import type { DataSourceShape } from "../data-source-shape";
|
|
29
35
|
import type { StateResource } from "../state";
|
|
30
36
|
|
|
31
37
|
/** The chant lexicon the emitted source imports from. */
|
|
@@ -208,14 +214,54 @@ function adoptManifestFromState(resource: StateResource, params: DeferredParam[]
|
|
|
208
214
|
};
|
|
209
215
|
}
|
|
210
216
|
|
|
217
|
+
/**
|
|
218
|
+
* How `carve bridge` reads a carved `kubernetes_manifest` back (#2034).
|
|
219
|
+
*
|
|
220
|
+
* The provider ships no `kubernetes_manifest` data source — checked against
|
|
221
|
+
* hashicorp/kubernetes v3.2.1, whose 27 data sources include no manifest. The
|
|
222
|
+
* generic read is `data "kubernetes_resource"`, which asks for the GVK and the
|
|
223
|
+
* name rather than taking them from a body: `api_version`, `kind`, and a
|
|
224
|
+
* nested `metadata` block with `name` and an optional `namespace`. All three
|
|
225
|
+
* come out of the manifest the resource declared.
|
|
226
|
+
*
|
|
227
|
+
* Survivors read the object back through `object`, and only through `object`:
|
|
228
|
+
* the resource exposes both `manifest` (the declared body) and `object` (the
|
|
229
|
+
* API server's read-back), the data source exposes just the latter. So both
|
|
230
|
+
* map to `object`, and a reference to `.manifest.data.log_level` lands on
|
|
231
|
+
* `.object.data.log_level` rather than an attribute that does not exist.
|
|
232
|
+
*
|
|
233
|
+
* A namespace-less manifest (a ClusterRole, a CRD) simply omits `namespace`,
|
|
234
|
+
* which the data source allows. A manifest whose name is interpolated resolves
|
|
235
|
+
* no literal and falls back to the bridge's TODO body, as an AWS type with an
|
|
236
|
+
* interpolated bucket name does.
|
|
237
|
+
*/
|
|
238
|
+
const MANIFEST_READ_BACK: DataSourceShape = {
|
|
239
|
+
type: "kubernetes_resource",
|
|
240
|
+
args: [
|
|
241
|
+
{ name: "api_version", from: "manifest.apiVersion", required: true },
|
|
242
|
+
{ name: "kind", from: "manifest.kind", required: true },
|
|
243
|
+
],
|
|
244
|
+
blocks: [
|
|
245
|
+
{
|
|
246
|
+
name: "metadata",
|
|
247
|
+
fields: [
|
|
248
|
+
{ name: "name", from: "manifest.metadata.name", required: true },
|
|
249
|
+
{ name: "namespace", from: "manifest.metadata.namespace" },
|
|
250
|
+
],
|
|
251
|
+
},
|
|
252
|
+
],
|
|
253
|
+
readAttrs: { manifest: "object", object: "object" },
|
|
254
|
+
};
|
|
255
|
+
|
|
211
256
|
export const kubernetesCarveProvider: CarveProvider = {
|
|
212
257
|
name: "kubernetes",
|
|
213
258
|
tfTypePrefixes: ["kubernetes_"],
|
|
214
259
|
lexicon: "k8s",
|
|
215
260
|
tiers: TIERS,
|
|
216
|
-
// A dotted path into
|
|
217
|
-
//
|
|
261
|
+
// A dotted path into the manifest body: the graph walks it for identity. It
|
|
262
|
+
// cannot be a data-source argument on its own, so the read-back is a shape.
|
|
218
263
|
identityAttrs: { kubernetes_manifest: "manifest.metadata.name" },
|
|
264
|
+
dataSourceShapes: { kubernetes_manifest: MANIFEST_READ_BACK },
|
|
219
265
|
emitTypes: ["kubernetes_manifest"],
|
|
220
266
|
adopt: (resource, params) => adoptManifestFromState(resource, params),
|
|
221
267
|
// State only — the kind is in the body, so a live export has nothing to
|
|
@@ -18,14 +18,17 @@
|
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
20
|
import {
|
|
21
|
+
carveDataSourceShape,
|
|
21
22
|
carveFoldParent,
|
|
22
23
|
carveIdentityAttr,
|
|
23
24
|
carveTierMap,
|
|
24
25
|
resolveEmitProvider,
|
|
25
26
|
type TierInfo,
|
|
26
27
|
} from "./carve-provider";
|
|
28
|
+
import type { DataSourceShape } from "./data-source-shape";
|
|
27
29
|
|
|
28
30
|
export { carveEmitTypes, type TierInfo } from "./carve-provider";
|
|
31
|
+
export type { DataSourceShape } from "./data-source-shape";
|
|
29
32
|
|
|
30
33
|
/** TF resource type → native tier, over every registered provider. Absent = unsupported (score 0). */
|
|
31
34
|
export function tierMap(): Readonly<Record<string, TierInfo>> {
|
|
@@ -66,12 +69,24 @@ export function canCarveEmit(tfType: string): boolean {
|
|
|
66
69
|
}
|
|
67
70
|
|
|
68
71
|
/**
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
72
|
+
* How `chant carve bridge` reads this type back as a `data` source: the
|
|
73
|
+
* data-source type, where each argument comes from in the carved body, and how
|
|
74
|
+
* a survivor's attribute path translates (#2034). Undefined when the type
|
|
75
|
+
* cannot be read back at all.
|
|
76
|
+
*/
|
|
77
|
+
export function dataSourceShapeOf(tfType: string): DataSourceShape | undefined {
|
|
78
|
+
return carveDataSourceShape(tfType);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Can `chant carve bridge` render a Terraform `data` source for this type?
|
|
83
|
+
* True whenever its provider contributes a shape — declared, or implied by a
|
|
84
|
+
* plain identity attribute. False for a dotted identity attribute with no
|
|
85
|
+
* declared shape: that is a path into nested values, and a flat `attr = value`
|
|
86
|
+
* body cannot express it (`manifest.metadata.name = "x"` is not valid HCL). A
|
|
87
|
+
* type with no identity attribute at all still bridges; the bridge writes a
|
|
88
|
+
* TODO comment for the body.
|
|
73
89
|
*/
|
|
74
90
|
export function canBridge(tfType: string): boolean {
|
|
75
|
-
|
|
76
|
-
return attr === undefined || !attr.includes(".");
|
|
91
|
+
return carveDataSourceShape(tfType) !== undefined;
|
|
77
92
|
}
|
package/src/terraform/types.ts
CHANGED
|
@@ -34,6 +34,14 @@ export interface TfNode {
|
|
|
34
34
|
* emit. Undefined when the identity attribute is absent or interpolated.
|
|
35
35
|
*/
|
|
36
36
|
identity?: string;
|
|
37
|
+
/**
|
|
38
|
+
* The literals the type's data-source shape reads out of the block (#2034),
|
|
39
|
+
* keyed by the shape field's source path (`manifest.metadata.name`). This is
|
|
40
|
+
* what `carve bridge` renders the `data` body from — a superset of
|
|
41
|
+
* `identity`, since a shape can need more than one value (`api_version`,
|
|
42
|
+
* `kind` and `metadata.name` for a `kubernetes_manifest`).
|
|
43
|
+
*/
|
|
44
|
+
dataSourceValues?: Record<string, string>;
|
|
37
45
|
}
|
|
38
46
|
|
|
39
47
|
/**
|
|
@@ -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"}
|