@intentius/chant 0.124.51 → 0.124.54
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/discover.d.ts.map +1 -1
- package/dist/audit/discover.js +3 -1
- package/dist/behaviour.d.ts +1 -1
- package/dist/behaviour.d.ts.map +1 -1
- package/dist/capabilities/templates.d.ts +65 -0
- package/dist/capabilities/templates.d.ts.map +1 -0
- package/dist/capabilities/templates.js +193 -0
- package/dist/capabilities/templates.json +145 -0
- package/dist/change-set-graph.d.ts +35 -3
- package/dist/change-set-graph.d.ts.map +1 -1
- package/dist/change-set-graph.js +60 -9
- package/dist/change-set.d.ts +65 -7
- package/dist/change-set.d.ts.map +1 -1
- package/dist/change-set.js +23 -12
- package/dist/ci-identity.d.ts +7 -2
- package/dist/ci-identity.d.ts.map +1 -1
- package/dist/ci-identity.js +4 -1
- package/dist/cli/commands/import-index.d.ts +52 -0
- package/dist/cli/commands/import-index.d.ts.map +1 -0
- package/dist/cli/commands/import-index.js +226 -0
- package/dist/cli/commands/lint.d.ts.map +1 -1
- package/dist/cli/commands/lint.js +4 -2
- package/dist/cli/handlers/components.d.ts.map +1 -1
- package/dist/cli/handlers/components.js +11 -2
- package/dist/cli/handlers/fan-out.d.ts.map +1 -1
- package/dist/cli/handlers/fan-out.js +16 -3
- package/dist/cli/handlers/graph.d.ts.map +1 -1
- package/dist/cli/handlers/graph.js +22 -4
- package/dist/cli/handlers/index-cloud.d.ts +14 -0
- package/dist/cli/handlers/index-cloud.d.ts.map +1 -0
- package/dist/cli/handlers/index-cloud.js +22 -0
- package/dist/cli/handlers/index-diff.d.ts +18 -0
- package/dist/cli/handlers/index-diff.d.ts.map +1 -0
- package/dist/cli/handlers/index-diff.js +142 -0
- package/dist/cli/handlers/lifecycle-drift.d.ts +25 -0
- package/dist/cli/handlers/lifecycle-drift.d.ts.map +1 -0
- package/dist/cli/handlers/lifecycle-drift.js +64 -0
- package/dist/cli/handlers/lifecycle.d.ts.map +1 -1
- package/dist/cli/handlers/lifecycle.js +188 -28
- package/dist/cli/handlers/misc.d.ts +9 -0
- package/dist/cli/handlers/misc.d.ts.map +1 -1
- package/dist/cli/handlers/misc.js +77 -0
- package/dist/cli/handlers/pr.d.ts.map +1 -1
- package/dist/cli/handlers/pr.js +17 -3
- package/dist/cli/handlers/promote.d.ts.map +1 -1
- package/dist/cli/handlers/promote.js +89 -15
- package/dist/cli/handlers/query.d.ts.map +1 -1
- package/dist/cli/handlers/query.js +28 -4
- package/dist/cli/handlers/scenario.d.ts.map +1 -1
- package/dist/cli/handlers/scenario.js +8 -7
- package/dist/cli/handlers/search.d.ts +34 -4
- package/dist/cli/handlers/search.d.ts.map +1 -1
- package/dist/cli/handlers/search.js +216 -36
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +55 -1
- package/dist/cli/mcp/lifecycle-tools.d.ts.map +1 -1
- package/dist/cli/mcp/lifecycle-tools.js +3 -2
- package/dist/cli/mcp/resource-handlers.d.ts.map +1 -1
- package/dist/cli/mcp/resource-handlers.js +4 -3
- package/dist/cli/mcp/workspace-tools.js +1 -1
- package/dist/cli/parse-args.d.ts.map +1 -1
- package/dist/cli/parse-args.js +55 -2
- package/dist/cli/registry.d.ts +19 -1
- package/dist/cli/registry.d.ts.map +1 -1
- package/dist/cloud-lister/aws.d.ts +35 -0
- package/dist/cloud-lister/aws.d.ts.map +1 -0
- package/dist/cloud-lister/aws.js +203 -0
- package/dist/cloud-lister/azure.d.ts +34 -0
- package/dist/cloud-lister/azure.d.ts.map +1 -0
- package/dist/cloud-lister/azure.js +129 -0
- package/dist/cloud-lister/common.d.ts +40 -0
- package/dist/cloud-lister/common.d.ts.map +1 -0
- package/dist/cloud-lister/common.js +83 -0
- package/dist/cloud-lister/credentials.d.ts +50 -0
- package/dist/cloud-lister/credentials.d.ts.map +1 -0
- package/dist/cloud-lister/credentials.js +86 -0
- package/dist/cloud-lister/fakes.d.ts +27 -0
- package/dist/cloud-lister/fakes.d.ts.map +1 -0
- package/dist/cloud-lister/fakes.js +50 -0
- package/dist/cloud-lister/gcp.d.ts +42 -0
- package/dist/cloud-lister/gcp.d.ts.map +1 -0
- package/dist/cloud-lister/gcp.js +143 -0
- package/dist/cloud-lister/guard.d.ts +49 -0
- package/dist/cloud-lister/guard.d.ts.map +1 -0
- package/dist/cloud-lister/guard.js +103 -0
- package/dist/cloud-lister/ids.d.ts +23 -0
- package/dist/cloud-lister/ids.d.ts.map +1 -0
- package/dist/cloud-lister/ids.js +42 -0
- package/dist/cloud-lister/index.d.ts +67 -0
- package/dist/cloud-lister/index.d.ts.map +1 -0
- package/dist/cloud-lister/index.js +102 -0
- package/dist/cloud-lister/kubernetes.d.ts +64 -0
- package/dist/cloud-lister/kubernetes.d.ts.map +1 -0
- package/dist/cloud-lister/kubernetes.js +276 -0
- package/dist/cloud-lister/markers.d.ts +31 -0
- package/dist/cloud-lister/markers.d.ts.map +1 -0
- package/dist/cloud-lister/markers.js +73 -0
- package/dist/cloud-lister/mask.d.ts +31 -0
- package/dist/cloud-lister/mask.d.ts.map +1 -0
- package/dist/cloud-lister/mask.js +74 -0
- package/dist/cloud-lister/sigv4.d.ts +29 -0
- package/dist/cloud-lister/sigv4.d.ts.map +1 -0
- package/dist/cloud-lister/sigv4.js +54 -0
- package/dist/cloud-lister/transport.d.ts +55 -0
- package/dist/cloud-lister/transport.d.ts.map +1 -0
- package/dist/cloud-lister/transport.js +86 -0
- package/dist/cloud-lister/types.d.ts +121 -0
- package/dist/cloud-lister/types.d.ts.map +1 -0
- package/dist/cloud-lister/types.js +24 -0
- package/dist/components/capability-plugin-loader.d.ts.map +1 -1
- package/dist/components/capability-plugin-loader.js +6 -0
- package/dist/components/capability-plugin.d.ts +9 -0
- package/dist/components/capability-plugin.d.ts.map +1 -1
- package/dist/components/capability.d.ts +224 -0
- package/dist/components/capability.d.ts.map +1 -1
- package/dist/components/cli-support.d.ts +21 -0
- package/dist/components/cli-support.d.ts.map +1 -1
- package/dist/components/cli-support.js +58 -14
- package/dist/components/covered-round.d.ts +173 -0
- package/dist/components/covered-round.d.ts.map +1 -0
- package/dist/components/covered-round.js +200 -0
- package/dist/components/declared-reads.d.ts +38 -0
- package/dist/components/declared-reads.d.ts.map +1 -0
- package/dist/components/declared-reads.js +131 -0
- package/dist/components/deploy-units.d.ts.map +1 -1
- package/dist/components/deploy-units.js +4 -0
- package/dist/components/driver.d.ts +42 -1
- package/dist/components/driver.d.ts.map +1 -1
- package/dist/components/driver.js +74 -3
- package/dist/components/fan-out-run.d.ts +23 -1
- package/dist/components/fan-out-run.d.ts.map +1 -1
- package/dist/components/fan-out-run.js +82 -14
- package/dist/components/fan-out-support.d.ts +6 -0
- package/dist/components/fan-out-support.d.ts.map +1 -1
- package/dist/components/fan-out-support.js +4 -1
- package/dist/components/fan-out.d.ts +28 -0
- package/dist/components/fan-out.d.ts.map +1 -1
- package/dist/components/groups.d.ts +229 -0
- package/dist/components/groups.d.ts.map +1 -0
- package/dist/components/groups.js +760 -0
- package/dist/components/index.d.ts +7 -2
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +5 -0
- package/dist/components/plan-shape-conformance.d.ts +48 -0
- package/dist/components/plan-shape-conformance.d.ts.map +1 -0
- package/dist/components/plan-shape-conformance.js +122 -0
- package/dist/components/pr-run.d.ts +62 -7
- package/dist/components/pr-run.d.ts.map +1 -1
- package/dist/components/pr-run.js +354 -53
- package/dist/components/promote-rounds.d.ts +9 -0
- package/dist/components/promote-rounds.d.ts.map +1 -1
- package/dist/components/promote-rounds.js +23 -2
- package/dist/components/promote.d.ts +17 -0
- package/dist/components/promote.d.ts.map +1 -1
- package/dist/components/promote.js +36 -6
- package/dist/components/release-gate.d.ts +23 -1
- package/dist/components/release-gate.d.ts.map +1 -1
- package/dist/components/release-gate.js +97 -33
- package/dist/components/run-groups.d.ts +58 -0
- package/dist/components/run-groups.d.ts.map +1 -0
- package/dist/components/run-groups.js +78 -0
- package/dist/components/starter-plugin.d.ts +1 -0
- package/dist/components/starter-plugin.d.ts.map +1 -1
- package/dist/components/starter-plugin.js +6 -1
- package/dist/components/verbs/index.d.ts +1 -0
- package/dist/components/verbs/index.d.ts.map +1 -1
- package/dist/components/verbs/index.js +1 -0
- package/dist/components/verbs/member-outputs.d.ts +187 -0
- package/dist/components/verbs/member-outputs.d.ts.map +1 -0
- package/dist/components/verbs/member-outputs.js +218 -0
- package/dist/components/wave-plan.d.ts +2 -0
- package/dist/components/wave-plan.d.ts.map +1 -1
- package/dist/components/wave-plan.js +4 -1
- package/dist/config.d.ts +60 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +27 -0
- package/dist/deep-observation.d.ts +1 -13
- package/dist/deep-observation.d.ts.map +1 -1
- package/dist/deep-observation.js +5 -22
- package/dist/drift-record.d.ts +542 -0
- package/dist/drift-record.d.ts.map +1 -0
- package/dist/drift-record.js +886 -0
- package/dist/engine-facts.d.ts +144 -0
- package/dist/engine-facts.d.ts.map +1 -0
- package/dist/engine-facts.js +14 -0
- package/dist/graph-ir.d.ts +153 -2
- package/dist/graph-ir.d.ts.map +1 -1
- package/dist/graph-ir.js +224 -6
- package/dist/graph-refs.d.ts +145 -0
- package/dist/graph-refs.d.ts.map +1 -1
- package/dist/graph-refs.js +305 -0
- package/dist/graph-schema/fixtures/adopt.json +15 -0
- package/dist/graph-schema/fixtures/choudoufu.engine-graph.json +169 -0
- package/dist/graph-schema/fixtures/index.json +68 -0
- package/dist/graph-schema/fixtures/plunge.engine-graph.json +158 -0
- package/dist/graph-schema/fixtures.d.ts +23 -0
- package/dist/graph-schema/fixtures.d.ts.map +1 -0
- package/dist/graph-schema/fixtures.js +246 -0
- package/dist/graph-schema/generate.d.ts +15 -0
- package/dist/graph-schema/generate.d.ts.map +1 -0
- package/dist/graph-schema/generate.js +267 -0
- package/dist/graph-schema/graph.schema.json +1387 -0
- package/dist/health.schema.json +2 -1
- package/dist/identity.d.ts.map +1 -1
- package/dist/identity.js +2 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/instance-nodes.d.ts +159 -0
- package/dist/instance-nodes.d.ts.map +1 -0
- package/dist/instance-nodes.js +231 -0
- package/dist/lexicon.d.ts +72 -0
- package/dist/lexicon.d.ts.map +1 -1
- package/dist/lifecycle/adoption-file.d.ts +56 -0
- package/dist/lifecycle/adoption-file.d.ts.map +1 -0
- package/dist/lifecycle/adoption-file.js +123 -0
- package/dist/lifecycle/cloud-index.d.ts +186 -0
- package/dist/lifecycle/cloud-index.d.ts.map +1 -0
- package/dist/lifecycle/cloud-index.js +618 -0
- package/dist/lifecycle/derive-edges.d.ts +59 -0
- package/dist/lifecycle/derive-edges.d.ts.map +1 -0
- package/dist/lifecycle/derive-edges.js +126 -0
- package/dist/lifecycle/git.d.ts +10 -9
- package/dist/lifecycle/git.d.ts.map +1 -1
- package/dist/lifecycle/git.js +7 -1
- package/dist/lifecycle/identity-match.d.ts +133 -0
- package/dist/lifecycle/identity-match.d.ts.map +1 -0
- package/dist/lifecycle/identity-match.js +147 -0
- package/dist/lifecycle/index-diff.d.ts +224 -0
- package/dist/lifecycle/index-diff.d.ts.map +1 -0
- package/dist/lifecycle/index-diff.js +327 -0
- package/dist/lifecycle/index-document.d.ts +130 -0
- package/dist/lifecycle/index-document.d.ts.map +1 -0
- package/dist/lifecycle/index-document.js +189 -0
- package/dist/lifecycle/index-drift.d.ts +121 -0
- package/dist/lifecycle/index-drift.d.ts.map +1 -0
- package/dist/lifecycle/index-drift.js +178 -0
- package/dist/lifecycle/index-import.d.ts +168 -0
- package/dist/lifecycle/index-import.d.ts.map +1 -0
- package/dist/lifecycle/index-import.js +515 -0
- package/dist/lifecycle/index-join.d.ts +129 -0
- package/dist/lifecycle/index-join.d.ts.map +1 -0
- package/dist/lifecycle/index-join.js +248 -0
- package/dist/lifecycle/index.d.ts +4 -0
- package/dist/lifecycle/index.d.ts.map +1 -1
- package/dist/lifecycle/index.js +4 -0
- package/dist/lifecycle/observation-baseline.d.ts +61 -21
- package/dist/lifecycle/observation-baseline.d.ts.map +1 -1
- package/dist/lifecycle/observation-baseline.js +144 -19
- package/dist/lifecycle/observe.d.ts.map +1 -1
- package/dist/lifecycle/observe.js +6 -1
- package/dist/lifecycle/query.d.ts +45 -4
- package/dist/lifecycle/query.d.ts.map +1 -1
- package/dist/lifecycle/query.js +89 -7
- package/dist/lifecycle/replay.d.ts +10 -3
- package/dist/lifecycle/replay.d.ts.map +1 -1
- package/dist/lifecycle/replay.js +10 -6
- package/dist/lifecycle/scenario.d.ts +4 -3
- package/dist/lifecycle/scenario.d.ts.map +1 -1
- package/dist/lifecycle/snapshot-store-fake.d.ts +9 -0
- package/dist/lifecycle/snapshot-store-fake.d.ts.map +1 -0
- package/dist/lifecycle/snapshot-store-fake.js +21 -0
- package/dist/lifecycle/snapshot-store-s3.d.ts +102 -0
- package/dist/lifecycle/snapshot-store-s3.d.ts.map +1 -0
- package/dist/lifecycle/snapshot-store-s3.js +254 -0
- package/dist/lifecycle/snapshot-store.d.ts +170 -0
- package/dist/lifecycle/snapshot-store.d.ts.map +1 -0
- package/dist/lifecycle/snapshot-store.js +832 -0
- package/dist/lifecycle/snapshot.d.ts +11 -0
- package/dist/lifecycle/snapshot.d.ts.map +1 -1
- package/dist/lifecycle/snapshot.js +18 -5
- package/dist/lifecycle/type-listing.d.ts +148 -0
- package/dist/lifecycle/type-listing.d.ts.map +1 -0
- package/dist/lifecycle/type-listing.js +166 -0
- package/dist/lint/component-checks.d.ts +15 -1
- package/dist/lint/component-checks.d.ts.map +1 -1
- package/dist/lint/component-checks.js +1 -0
- package/dist/lint/presets/relaxed.json +2 -1
- package/dist/lint/presets/strict.json +2 -1
- package/dist/lint/rules/__fixtures__/comp/comp008/fail/dns.component.d.ts +4 -0
- package/dist/lint/rules/__fixtures__/comp/comp008/fail/dns.component.d.ts.map +1 -0
- package/dist/lint/rules/__fixtures__/comp/comp008/fail/dns.component.js +13 -0
- package/dist/lint/rules/__fixtures__/comp/comp008/pass/dns.component.d.ts +4 -0
- package/dist/lint/rules/__fixtures__/comp/comp008/pass/dns.component.d.ts.map +1 -0
- package/dist/lint/rules/__fixtures__/comp/comp008/pass/dns.component.js +8 -0
- package/dist/lint/rules/comp/comp008-applies-signal-only-root.d.ts +33 -0
- package/dist/lint/rules/comp/comp008-applies-signal-only-root.d.ts.map +1 -0
- package/dist/lint/rules/comp/comp008-applies-signal-only-root.js +123 -0
- package/dist/lint/rules/comp/index.d.ts +2 -1
- package/dist/lint/rules/comp/index.d.ts.map +1 -1
- package/dist/lint/rules/comp/index.js +4 -1
- package/dist/observation.d.ts +19 -2
- package/dist/observation.d.ts.map +1 -1
- package/dist/observation.js +18 -1
- package/dist/op/activities/activity-contracts.d.ts +1 -1
- package/dist/op/activities/activity-contracts.js +1 -1
- package/dist/op/activities/change-set.d.ts +6 -4
- package/dist/op/activities/change-set.d.ts.map +1 -1
- package/dist/op/activities/change-set.js +4 -2
- package/dist/op/activity-failure.d.ts +27 -0
- package/dist/op/activity-failure.d.ts.map +1 -1
- package/dist/op/activity-failure.js +31 -0
- package/dist/op/index.d.ts +2 -1
- package/dist/op/index.d.ts.map +1 -1
- package/dist/op/index.js +1 -1
- package/dist/op/local-executor.d.ts +5 -1
- package/dist/op/local-executor.d.ts.map +1 -1
- package/dist/op/local-executor.js +22 -8
- package/dist/pr-loop.d.ts +92 -3
- package/dist/pr-loop.d.ts.map +1 -1
- package/dist/pr-loop.js +62 -3
- package/dist/pulumi-urn.d.ts +101 -0
- package/dist/pulumi-urn.d.ts.map +1 -0
- package/dist/pulumi-urn.js +131 -0
- package/dist/release-floors.d.ts +23 -0
- package/dist/release-floors.d.ts.map +1 -0
- package/dist/release-floors.js +22 -0
- package/dist/sensitive-key.d.ts +23 -0
- package/dist/sensitive-key.d.ts.map +1 -0
- package/dist/sensitive-key.js +31 -0
- package/dist/wave-runtime.mjs +234 -234
- package/dist/workspace/adoption-report.d.ts +53 -0
- package/dist/workspace/adoption-report.d.ts.map +1 -0
- package/dist/workspace/adoption-report.js +76 -0
- package/dist/workspace/capabilities-contract.d.ts +7 -0
- package/dist/workspace/capabilities-contract.d.ts.map +1 -1
- package/dist/workspace/capabilities-contract.js +2 -1
- package/dist/workspace/capabilities.schema.json +98 -0
- package/dist/workspace/change-set.schema.json +42 -3
- package/dist/workspace/ci-cloud-identity.d.ts +13 -1
- package/dist/workspace/ci-cloud-identity.d.ts.map +1 -1
- package/dist/workspace/ci-cloud-identity.js +30 -1
- package/dist/workspace/compose-graph.d.ts +10 -1
- package/dist/workspace/compose-graph.d.ts.map +1 -1
- package/dist/workspace/compose-graph.js +6 -1
- package/dist/workspace/conformance/index.d.ts +1 -1
- package/dist/workspace/conformance/index.d.ts.map +1 -1
- package/dist/workspace/conformance/index.js +6 -1
- package/dist/workspace/drift-cli.d.ts +81 -0
- package/dist/workspace/drift-cli.d.ts.map +1 -0
- package/dist/workspace/drift-cli.js +317 -0
- package/dist/workspace/drift.schema.json +672 -0
- package/dist/workspace/graph-cli.d.ts +2 -0
- package/dist/workspace/graph-cli.d.ts.map +1 -1
- package/dist/workspace/graph-cli.js +3 -0
- package/dist/workspace/graph.schema.json +72 -0
- package/dist/workspace/init.d.ts +5 -1
- package/dist/workspace/init.d.ts.map +1 -1
- package/dist/workspace/init.js +55 -9
- package/dist/workspace/ledger.schema.json +1 -1
- package/dist/workspace/nested-graph.d.ts.map +1 -1
- package/dist/workspace/nested-graph.js +2 -0
- package/dist/workspace/pr-report.schema.json +76 -3
- package/dist/workspace/promote-waves.d.ts +112 -0
- package/dist/workspace/promote-waves.d.ts.map +1 -0
- package/dist/workspace/promote-waves.js +290 -0
- package/dist/workspace/promote.d.ts +84 -2
- package/dist/workspace/promote.d.ts.map +1 -1
- package/dist/workspace/promote.js +347 -61
- package/dist/workspace/reason-codes.d.ts +12 -0
- package/dist/workspace/reason-codes.d.ts.map +1 -1
- package/dist/workspace/reason-codes.js +14 -0
- package/dist/workspace/search-contract.d.ts +3 -3
- package/dist/workspace/search-contract.d.ts.map +1 -1
- package/dist/workspace/search-contract.js +2 -0
- package/dist/workspace/search.schema.json +103 -5
- package/package.json +14 -1
- package/src/__fixtures__/drift-record/README.md +58 -0
- package/src/__fixtures__/drift-record/choudoufu-cone.ndjson +4 -0
- package/src/__fixtures__/drift-record/choudoufu-resource.ndjson +3 -0
- package/src/__fixtures__/drift-record/component-status-ledger.json +65 -0
- package/src/__fixtures__/drift-record/component-status.json +91 -0
- package/src/__fixtures__/drift-record/deep-diff.json +259 -0
- package/src/__fixtures__/drift-record/lifecycle-diff-live.json +825 -0
- package/src/__fixtures__/drift-record/live-diff.json +125 -0
- package/src/audit/discover.e2e.test.ts +14 -0
- package/src/audit/discover.ts +3 -1
- package/src/behaviour.ts +1 -1
- package/src/capabilities/templates.json +145 -0
- package/src/capabilities/templates.test.ts +212 -0
- package/src/capabilities/templates.ts +204 -0
- package/src/change-set-bundle.test.ts +83 -0
- package/src/change-set-graph.ts +80 -9
- package/src/change-set.test.ts +24 -0
- package/src/change-set.ts +77 -14
- package/src/ci-identity-targets.test.ts +23 -0
- package/src/ci-identity.ts +10 -4
- package/src/cli/commands/import-index.test.ts +117 -0
- package/src/cli/commands/import-index.ts +265 -0
- package/src/cli/commands/lint.ts +4 -2
- package/src/cli/handlers/components.test.ts +9 -0
- package/src/cli/handlers/components.ts +12 -2
- package/src/cli/handlers/fan-out.ts +17 -3
- package/src/cli/handlers/graph.test.ts +42 -0
- package/src/cli/handlers/graph.ts +26 -4
- package/src/cli/handlers/index-cloud.ts +32 -0
- package/src/cli/handlers/index-diff.test.ts +68 -0
- package/src/cli/handlers/index-diff.ts +146 -0
- package/src/cli/handlers/ledger-root-member.test.ts +161 -0
- package/src/cli/handlers/lifecycle-drift.ts +68 -0
- package/src/cli/handlers/lifecycle.test.ts +33 -11
- package/src/cli/handlers/lifecycle.ts +205 -30
- package/src/cli/handlers/misc.ts +73 -0
- package/src/cli/handlers/pr-waves-blocked.test.ts +37 -2
- package/src/cli/handlers/pr.ts +16 -3
- package/src/cli/handlers/promote.test.ts +64 -0
- package/src/cli/handlers/promote.ts +81 -6
- package/src/cli/handlers/query.ts +27 -4
- package/src/cli/handlers/run-declared-reads-cli.test.ts +187 -0
- package/src/cli/handlers/run-groups-cli.test.ts +229 -0
- package/src/cli/handlers/scenario.test.ts +13 -0
- package/src/cli/handlers/scenario.ts +8 -7
- package/src/cli/handlers/search-index.test.ts +255 -0
- package/src/cli/handlers/search-json.test.ts +1 -1
- package/src/cli/handlers/search-ownership.test.ts +194 -0
- package/src/cli/handlers/search.ts +271 -38
- package/src/cli/main.test.ts +7 -0
- package/src/cli/main.ts +56 -1
- package/src/cli/mcp/lifecycle-tools.ts +3 -2
- package/src/cli/mcp/resource-handlers.ts +4 -3
- package/src/cli/mcp/workspace-tools.ts +1 -1
- package/src/cli/parse-args.ts +40 -2
- package/src/cli/registry.ts +19 -1
- package/src/cloud-lister/aws.test.ts +202 -0
- package/src/cloud-lister/aws.ts +226 -0
- package/src/cloud-lister/azure.test.ts +132 -0
- package/src/cloud-lister/azure.ts +142 -0
- package/src/cloud-lister/common.ts +115 -0
- package/src/cloud-lister/credentials.ts +110 -0
- package/src/cloud-lister/fakes.ts +66 -0
- package/src/cloud-lister/gcp.test.ts +121 -0
- package/src/cloud-lister/gcp.ts +159 -0
- package/src/cloud-lister/guard.test.ts +198 -0
- package/src/cloud-lister/guard.ts +111 -0
- package/src/cloud-lister/ids.ts +54 -0
- package/src/cloud-lister/index.ts +134 -0
- package/src/cloud-lister/kubernetes.test.ts +160 -0
- package/src/cloud-lister/kubernetes.ts +284 -0
- package/src/cloud-lister/markers.ts +74 -0
- package/src/cloud-lister/mask.ts +77 -0
- package/src/cloud-lister/shape.test.ts +81 -0
- package/src/cloud-lister/sigv4.ts +70 -0
- package/src/cloud-lister/transport.ts +118 -0
- package/src/cloud-lister/types.ts +135 -0
- package/src/components/capability-plugin-loader.ts +4 -0
- package/src/components/capability-plugin.ts +10 -0
- package/src/components/capability.ts +238 -0
- package/src/components/cli-support.ts +70 -14
- package/src/components/covered-round.test.ts +166 -0
- package/src/components/covered-round.ts +293 -0
- package/src/components/declared-reads.test.ts +103 -0
- package/src/components/declared-reads.ts +134 -0
- package/src/components/deploy-units.ts +4 -0
- package/src/components/driver.ts +101 -4
- package/src/components/fan-out-run.ts +95 -15
- package/src/components/fan-out-support.ts +10 -1
- package/src/components/fan-out.ts +30 -0
- package/src/components/groups.test.ts +320 -0
- package/src/components/groups.ts +880 -0
- package/src/components/index.ts +59 -0
- package/src/components/plan-shape-conformance.ts +130 -0
- package/src/components/pr-env-run-bundle.test.ts +2 -0
- package/src/components/pr-run.test.ts +728 -4
- package/src/components/pr-run.ts +395 -55
- package/src/components/promote-rounds.ts +25 -2
- package/src/components/promote.ts +55 -5
- package/src/components/registry.test.ts +1 -1
- package/src/components/release-gate.ts +115 -30
- package/src/components/release-groups.test.ts +362 -0
- package/src/components/run-groups.ts +113 -0
- package/src/components/starter-plugin.ts +6 -0
- package/src/components/verbs/index.ts +1 -0
- package/src/components/verbs/member-outputs.test.ts +205 -0
- package/src/components/verbs/member-outputs.ts +308 -0
- package/src/components/wave-plan.ts +5 -2
- package/src/config.ts +44 -0
- package/src/deep-observation.ts +5 -23
- package/src/drift-record.test.ts +596 -0
- package/src/drift-record.ts +1206 -0
- package/src/engine-facts.guard.test.ts +111 -0
- package/src/engine-facts.test.ts +178 -0
- package/src/engine-facts.ts +154 -0
- package/src/gated-waves-bundle.test.ts +2 -0
- package/src/graph-ir-live.test.ts +92 -0
- package/src/graph-ir.ts +317 -7
- package/src/graph-refs.ts +416 -0
- package/src/graph-schema/fixtures/adopt.json +15 -0
- package/src/graph-schema/fixtures/choudoufu.engine-graph.json +169 -0
- package/src/graph-schema/fixtures/index.json +68 -0
- package/src/graph-schema/fixtures/plunge.engine-graph.json +158 -0
- package/src/graph-schema/fixtures.ts +267 -0
- package/src/graph-schema/generate.ts +263 -0
- package/src/graph-schema/graph-schema.test.ts +153 -0
- package/src/graph-schema/graph.schema.json +1387 -0
- package/src/health.schema.json +2 -1
- package/src/identity.ts +2 -0
- package/src/index.ts +2 -0
- package/src/instance-nodes.ts +288 -0
- package/src/lexicon.ts +76 -0
- package/src/lifecycle/__fixtures__/index-diff/20261026T120000Z-aaaaaaaaaaaa.json +149 -0
- package/src/lifecycle/__fixtures__/index-diff/20261026T130000Z-bbbbbbbbbbbb.json +127 -0
- package/src/lifecycle/adoption-file.test.ts +100 -0
- package/src/lifecycle/adoption-file.ts +154 -0
- package/src/lifecycle/cloud-index.test.ts +517 -0
- package/src/lifecycle/cloud-index.ts +736 -0
- package/src/lifecycle/derive-edges.test.ts +193 -0
- package/src/lifecycle/derive-edges.ts +182 -0
- package/src/lifecycle/git.ts +10 -4
- package/src/lifecycle/identity-match.test.ts +308 -0
- package/src/lifecycle/identity-match.ts +257 -0
- package/src/lifecycle/index-diff.test.ts +198 -0
- package/src/lifecycle/index-diff.ts +476 -0
- package/src/lifecycle/index-document.test.ts +64 -0
- package/src/lifecycle/index-document.ts +299 -0
- package/src/lifecycle/index-drift.test.ts +191 -0
- package/src/lifecycle/index-drift.ts +304 -0
- package/src/lifecycle/index-import.test.ts +255 -0
- package/src/lifecycle/index-import.ts +634 -0
- package/src/lifecycle/index-join.test.ts +250 -0
- package/src/lifecycle/index-join.ts +304 -0
- package/src/lifecycle/index-store-load-bearing.test.ts +187 -0
- package/src/lifecycle/index.ts +4 -0
- package/src/lifecycle/member-ledger.test.ts +25 -7
- package/src/lifecycle/observation-baseline.test.ts +72 -1
- package/src/lifecycle/observation-baseline.ts +190 -27
- package/src/lifecycle/observe.ts +6 -1
- package/src/lifecycle/query.test.ts +69 -1
- package/src/lifecycle/query.ts +103 -10
- package/src/lifecycle/replay.test.ts +9 -5
- package/src/lifecycle/replay.ts +9 -5
- package/src/lifecycle/scenario.ts +4 -3
- package/src/lifecycle/snapshot-store-fake.ts +29 -0
- package/src/lifecycle/snapshot-store-s3.ts +316 -0
- package/src/lifecycle/snapshot-store.test.ts +385 -0
- package/src/lifecycle/snapshot-store.ts +981 -0
- package/src/lifecycle/snapshot.test.ts +13 -0
- package/src/lifecycle/snapshot.ts +23 -6
- package/src/lifecycle/type-listing.test.ts +166 -0
- package/src/lifecycle/type-listing.ts +309 -0
- package/src/lint/component-checks.ts +17 -1
- package/src/lint/config.test.ts +3 -0
- package/src/lint/presets/relaxed.json +2 -1
- package/src/lint/presets/strict.json +2 -1
- package/src/lint/rules/__fixtures__/comp/comp008/fail/dns.component.ts +15 -0
- package/src/lint/rules/__fixtures__/comp/comp008/pass/dns.component.ts +10 -0
- package/src/lint/rules/comp/comp.test.ts +2 -1
- package/src/lint/rules/comp/comp008-applies-signal-only-root.ts +121 -0
- package/src/lint/rules/comp/comp008.test.ts +77 -0
- package/src/lint/rules/comp/index.ts +4 -1
- package/src/observation-edges.test.ts +33 -0
- package/src/observation.ts +36 -1
- package/src/op/activities/activity-contracts.ts +1 -1
- package/src/op/activities/change-set.ts +8 -5
- package/src/op/activity-failure.ts +36 -0
- package/src/op/index.ts +2 -1
- package/src/op/local-executor.test.ts +80 -0
- package/src/op/local-executor.ts +27 -9
- package/src/pr-loop-bundle.test.ts +5 -2
- package/src/pr-loop.test.ts +57 -1
- package/src/pr-loop.ts +154 -6
- package/src/pulumi-urn.ts +151 -0
- package/src/release-floors.ts +22 -0
- package/src/sensitive-key.ts +34 -0
- package/src/workspace/adoption-report.test.ts +61 -0
- package/src/workspace/adoption-report.ts +103 -0
- package/src/workspace/capabilities-contract.test.ts +4 -0
- package/src/workspace/capabilities-contract.ts +9 -1
- package/src/workspace/capabilities.schema.json +98 -0
- package/src/workspace/change-set.schema.json +42 -3
- package/src/workspace/ci-cloud-identity.ts +31 -1
- package/src/workspace/compose-graph.test.ts +12 -0
- package/src/workspace/compose-graph.ts +12 -1
- package/src/workspace/conformance/conformance.e2e.test.ts +2 -1
- package/src/workspace/conformance/index.ts +6 -1
- package/src/workspace/drift-cli.test.ts +65 -0
- package/src/workspace/drift-cli.ts +365 -0
- package/src/workspace/drift.schema.json +672 -0
- package/src/workspace/graph-cli.ts +5 -0
- package/src/workspace/graph.schema.json +72 -0
- package/src/workspace/init.test.ts +38 -1
- package/src/workspace/init.ts +50 -8
- package/src/workspace/intent-gaps.test.ts +18 -2
- package/src/workspace/ledger.schema.json +1 -1
- package/src/workspace/nested-graph.ts +1 -0
- package/src/workspace/pr-report.schema.json +76 -3
- package/src/workspace/promote-waves.test.ts +296 -0
- package/src/workspace/promote-waves.ts +340 -0
- package/src/workspace/promote.test.ts +158 -4
- package/src/workspace/promote.ts +398 -57
- package/src/workspace/reason-codes.test.ts +4 -1
- package/src/workspace/reason-codes.ts +14 -0
- package/src/workspace/search-contract.ts +2 -0
- package/src/workspace/search.schema.json +103 -5
|
@@ -8,7 +8,9 @@ export { type Archetype, type Wiring, type StackOutputReference, type BuildSpec,
|
|
|
8
8
|
export { type DiscoveredComponent, type ComponentDiscoveryResult, discoverComponents, } from "./discover.js";
|
|
9
9
|
export { type ListedComponent, type ListComponentsResult, type DescribedComponent, type DescribeComponentResult, type ComponentGraphResult, type GenerateLexicon, type GenerateComponentsResult, type RunComponentsOptions, type RunComponentsResult, type ResolvedComponentTargets, listComponents, describeComponent, computeComponentGraph, generateComponentsPipeline, runComponents, findComponentGate, resolveComponentTargets, } from "./cli-support.js";
|
|
10
10
|
export { renderDriverHuman, renderDriverJson } from "./driver-output.js";
|
|
11
|
-
export { type Capability, type CapabilityInput, type CapabilityOutput, type DeployContext, CapabilityRegistry, CapabilityNotImplementedError, } from "./capability.js";
|
|
11
|
+
export { type Capability, type CapabilityInput, type CapabilityOutput, type DeployContext, type CapabilityGroupOutcome, type CapabilityGroupPlan, type GroupContext, type GroupDrop, type GroupFallback, type GroupMember, type GroupMemberOutcome, type GroupMemberStatus, type GroupRead, type GroupRun, type ReportedGroupRead, type DeclaredRead, type DeclaredReadMember, type DeclaredReadsContext, CapabilityRegistry, CapabilityNotImplementedError, } from "./capability.js";
|
|
12
|
+
export { coveredRound, normalizePlanShape, PlanShapeMovedError, planShapeCovers, planShapeDifferences, planShapeDigest, shapeFromChangeSet, type CoveredRoundInput, type CoverageSide, type PlanShape, type PlanShapeArtifact, type PlanShapeEntry, type RoundCover, type RoundCoverage, type ShapeReplacement, } from "./covered-round.js";
|
|
13
|
+
export { checkPlanShapeConformance, planShapeProblems, type PlanShapeConformanceConfig, } from "./plan-shape-conformance.js";
|
|
12
14
|
export { createCapabilityRegistry, STARTER_VERB_FAMILIES } from "./registry.js";
|
|
13
15
|
export { type CapabilityPlugin, type CapabilityManifest, isCapabilityPlugin, } from "./capability-plugin.js";
|
|
14
16
|
export { CapabilityManifestSchema, type CapabilityManifestParsed, validateCapabilityManifest, } from "./capability-plugin-schema.js";
|
|
@@ -17,9 +19,12 @@ export { starterCapabilityPlugin } from "./starter-plugin.js";
|
|
|
17
19
|
export * from "./verbs/index.js";
|
|
18
20
|
export * from "./builders.js";
|
|
19
21
|
export { type DriverStep, type DriverGate, type DriverPhase, type DriverComponent, type DriverStepRecord, type DriverComponentResult, type DriverRunResult, type ComponentGraph, type InterpretRunOptions, type WiringValue, resolveComponentGraph, resolveWiring, resolveStepInput, collectComponentOutputs, accumulateComponentOutputs, runComponentDeploy, runInterpretDriver, type GateContext, DependencyCycleError, UnknownDependencyError, DriverRunFailure, } from "./driver.js";
|
|
20
|
-
export { type FanOutRequest, type FanOutPlan, type FanOutSkip, type FanOutSkipReason, type ChangedUnits, type ComponentChangeSignal, type FanOutProgress, planFanOut, componentsForUnits, remainingFanOut, downstreamWithin, UnknownComponentError, } from "./fan-out.js";
|
|
22
|
+
export { type FanOutRequest, type FanOutPlan, type FanOutGroup, type FanOutGroupFallback, type FanOutSkip, type FanOutSkipReason, type ChangedUnits, type ComponentChangeSignal, type FanOutProgress, planFanOut, componentsForUnits, remainingFanOut, downstreamWithin, UnknownComponentError, } from "./fan-out.js";
|
|
23
|
+
export { type FindComponentGroupsOptions, type FoundComponentGroups, type ComponentGroupPlan, type ComponentGroupRunResult, findComponentGroups, groupFanOut, narrowGroups, regroupRemaining, groupDigest, bindGroup, planComponentGroup, runComponentGroup, type FormRunGroupsOptions, formRunGroups, componentSetFanOut, planAndRunComponentGroup, WAVE_GATE_FALLBACK, } from "./groups.js";
|
|
24
|
+
export { type RunGroupReport, type RunGroupsReport, runGroupsReport, renderRunGroups } from "./run-groups.js";
|
|
21
25
|
export { type FanOutGate, type FanOutRunOptions, type FanOutRunResult, runFanOut, } from "./fan-out-run.js";
|
|
22
26
|
export { type FanOutGateRef, type FanOutRenderOptions, renderFanOutPlan, renderFanOutHuman, renderFanOutJson, } from "./fan-out-output.js";
|
|
23
27
|
export { type DeriveFanOutOptions, type DerivedFanOut, deriveFanOut, fanOutRegistry, } from "./fan-out-support.js";
|
|
28
|
+
export { applyDeclaredReads, declaredReadsOf, withDeclaredReads, type PlacedRead } from "./declared-reads.js";
|
|
24
29
|
export { EcsFargateComponent, type EcsFargateComponentConfig, LambdaComponent, type LambdaComponentConfig, SingleHostComposeComponent, type SingleHostComposeComponentConfig, } from "./presets/index.js";
|
|
25
30
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,KAAK,SAAS,EACd,KAAK,MAAM,EACX,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACd,KAAK,IAAI,EACT,KAAK,IAAI,EACT,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,+BAA+B,EACpC,KAAK,EACL,IAAI,EACJ,WAAW,EACX,cAAc,EACd,aAAa,EACb,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,0BAA0B,EAC1B,aAAa,EACb,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EACL,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,kBAAkB,EAClB,6BAA6B,GAC9B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,wBAAwB,EACxB,KAAK,wBAAwB,EAC7B,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,KAAK,8BAA8B,EACnC,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,0BAA0B,EAC1B,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,WAAW,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,SAAS,GACV,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,YAAY,EACZ,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,mBAAmB,EACnB,KAAK,yBAAyB,EAC9B,eAAe,EACf,KAAK,qBAAqB,EAC1B,0BAA0B,EAC1B,KAAK,gCAAgC,GACtC,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
|
package/dist/components/index.js
CHANGED
|
@@ -9,6 +9,8 @@ export { discoverComponents, } from "./discover.js";
|
|
|
9
9
|
export { listComponents, describeComponent, computeComponentGraph, generateComponentsPipeline, runComponents, findComponentGate, resolveComponentTargets, } from "./cli-support.js";
|
|
10
10
|
export { renderDriverHuman, renderDriverJson } from "./driver-output.js";
|
|
11
11
|
export { CapabilityRegistry, CapabilityNotImplementedError, } from "./capability.js";
|
|
12
|
+
export { coveredRound, normalizePlanShape, PlanShapeMovedError, planShapeCovers, planShapeDifferences, planShapeDigest, shapeFromChangeSet, } from "./covered-round.js";
|
|
13
|
+
export { checkPlanShapeConformance, planShapeProblems, } from "./plan-shape-conformance.js";
|
|
12
14
|
export { createCapabilityRegistry, STARTER_VERB_FAMILIES } from "./registry.js";
|
|
13
15
|
export { isCapabilityPlugin, } from "./capability-plugin.js";
|
|
14
16
|
export { CapabilityManifestSchema, validateCapabilityManifest, } from "./capability-plugin-schema.js";
|
|
@@ -18,7 +20,10 @@ export * from "./verbs/index.js";
|
|
|
18
20
|
export * from "./builders.js";
|
|
19
21
|
export { resolveComponentGraph, resolveWiring, resolveStepInput, collectComponentOutputs, accumulateComponentOutputs, runComponentDeploy, runInterpretDriver, DependencyCycleError, UnknownDependencyError, DriverRunFailure, } from "./driver.js";
|
|
20
22
|
export { planFanOut, componentsForUnits, remainingFanOut, downstreamWithin, UnknownComponentError, } from "./fan-out.js";
|
|
23
|
+
export { findComponentGroups, groupFanOut, narrowGroups, regroupRemaining, groupDigest, bindGroup, planComponentGroup, runComponentGroup, formRunGroups, componentSetFanOut, planAndRunComponentGroup, WAVE_GATE_FALLBACK, } from "./groups.js";
|
|
24
|
+
export { runGroupsReport, renderRunGroups } from "./run-groups.js";
|
|
21
25
|
export { runFanOut, } from "./fan-out-run.js";
|
|
22
26
|
export { renderFanOutPlan, renderFanOutHuman, renderFanOutJson, } from "./fan-out-output.js";
|
|
23
27
|
export { deriveFanOut, fanOutRegistry, } from "./fan-out-support.js";
|
|
28
|
+
export { applyDeclaredReads, declaredReadsOf, withDeclaredReads } from "./declared-reads.js";
|
|
24
29
|
export { EcsFargateComponent, LambdaComponent, SingleHostComposeComponent, } from "./presets/index.js";
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plan shape conformance (#4425): the checks a lexicon's own tests run to
|
|
3
|
+
* show that the {@link PlanShape}s its planner supplies on `CapabilityPlan`
|
|
4
|
+
* work with core's comparison ({@link planShapeDifferences}).
|
|
5
|
+
*
|
|
6
|
+
* Core compares; the lexicon decides what a shape holds. A shape is useful to
|
|
7
|
+
* core only when it is stable (the same plan gives the same digest) and
|
|
8
|
+
* carries enough to tell a real change apart from the preview. The lexicon
|
|
9
|
+
* supplies scenarios made by its own planner against its own mocks:
|
|
10
|
+
*
|
|
11
|
+
* - `preview`: a member planned with at least one unknown input. Called
|
|
12
|
+
* twice; both shapes must have the same {@link planShapeDigest}.
|
|
13
|
+
* - `fresh`: the same member planned after the upstream applied, doing what
|
|
14
|
+
* the preview showed. No unknown inputs remain, and core must find no
|
|
15
|
+
* difference from the preview.
|
|
16
|
+
* - `added`, `missing`, `replaced`: the real change adds a resource, drops a
|
|
17
|
+
* resource the preview changed and no unknown input drives, or replaces a
|
|
18
|
+
* resource the preview updated in place. Core must find a difference in
|
|
19
|
+
* each.
|
|
20
|
+
*
|
|
21
|
+
* Each scenario is also checked to be what it says, so a fixture that does
|
|
22
|
+
* not add, drop or replace anything cannot pass by accident.
|
|
23
|
+
*
|
|
24
|
+
* Runner-neutral: {@link checkPlanShapeConformance} returns the problems,
|
|
25
|
+
* none when the lexicon conforms. A vitest test asserts the list is empty.
|
|
26
|
+
*/
|
|
27
|
+
import { type PlanShape } from "./covered-round.js";
|
|
28
|
+
type ShapeOf = () => PlanShape | undefined | Promise<PlanShape | undefined>;
|
|
29
|
+
export interface PlanShapeConformanceConfig {
|
|
30
|
+
/** The lexicon's name, for the problems' wording. */
|
|
31
|
+
lexicon: string;
|
|
32
|
+
/** The member previewed with unknown inputs. Called twice. */
|
|
33
|
+
preview: ShapeOf;
|
|
34
|
+
/** The member planned after the upstream applied, matching the preview. Called twice. */
|
|
35
|
+
fresh: ShapeOf;
|
|
36
|
+
/** A real change that adds a resource the preview did not show. */
|
|
37
|
+
added: ShapeOf;
|
|
38
|
+
/** A real change without a resource the preview changed and no unknown input drives. */
|
|
39
|
+
missing: ShapeOf;
|
|
40
|
+
/** A real change that replaces a resource the preview updated in place. */
|
|
41
|
+
replaced: ShapeOf;
|
|
42
|
+
}
|
|
43
|
+
/** Problems with one shape on its own: what core assumes of every shape. */
|
|
44
|
+
export declare function planShapeProblems(shape: PlanShape): string[];
|
|
45
|
+
/** Every way the lexicon's shapes fall short of what core's comparison needs; none means it conforms. */
|
|
46
|
+
export declare function checkPlanShapeConformance(config: PlanShapeConformanceConfig): Promise<string[]>;
|
|
47
|
+
export {};
|
|
48
|
+
//# sourceMappingURL=plan-shape-conformance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan-shape-conformance.d.ts","sourceRoot":"","sources":["../../src/components/plan-shape-conformance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAA6D,KAAK,SAAS,EAAuB,MAAM,iBAAiB,CAAC;AAEjI,KAAK,OAAO,GAAG,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;AAE5E,MAAM,WAAW,0BAA0B;IACzC,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,OAAO,EAAE,OAAO,CAAC;IACjB,yFAAyF;IACzF,KAAK,EAAE,OAAO,CAAC;IACf,mEAAmE;IACnE,KAAK,EAAE,OAAO,CAAC;IACf,wFAAwF;IACxF,OAAO,EAAE,OAAO,CAAC;IACjB,2EAA2E;IAC3E,QAAQ,EAAE,OAAO,CAAC;CACnB;AAID,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE,CAgB5D;AAED,yGAAyG;AACzG,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA6DrG"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plan shape conformance (#4425): the checks a lexicon's own tests run to
|
|
3
|
+
* show that the {@link PlanShape}s its planner supplies on `CapabilityPlan`
|
|
4
|
+
* work with core's comparison ({@link planShapeDifferences}).
|
|
5
|
+
*
|
|
6
|
+
* Core compares; the lexicon decides what a shape holds. A shape is useful to
|
|
7
|
+
* core only when it is stable (the same plan gives the same digest) and
|
|
8
|
+
* carries enough to tell a real change apart from the preview. The lexicon
|
|
9
|
+
* supplies scenarios made by its own planner against its own mocks:
|
|
10
|
+
*
|
|
11
|
+
* - `preview`: a member planned with at least one unknown input. Called
|
|
12
|
+
* twice; both shapes must have the same {@link planShapeDigest}.
|
|
13
|
+
* - `fresh`: the same member planned after the upstream applied, doing what
|
|
14
|
+
* the preview showed. No unknown inputs remain, and core must find no
|
|
15
|
+
* difference from the preview.
|
|
16
|
+
* - `added`, `missing`, `replaced`: the real change adds a resource, drops a
|
|
17
|
+
* resource the preview changed and no unknown input drives, or replaces a
|
|
18
|
+
* resource the preview updated in place. Core must find a difference in
|
|
19
|
+
* each.
|
|
20
|
+
*
|
|
21
|
+
* Each scenario is also checked to be what it says, so a fixture that does
|
|
22
|
+
* not add, drop or replace anything cannot pass by accident.
|
|
23
|
+
*
|
|
24
|
+
* Runner-neutral: {@link checkPlanShapeConformance} returns the problems,
|
|
25
|
+
* none when the lexicon conforms. A vitest test asserts the list is empty.
|
|
26
|
+
*/
|
|
27
|
+
import { normalizePlanShape, planShapeDifferences, planShapeDigest } from "./covered-round.js";
|
|
28
|
+
const replaces = (e) => e.action === "replace" || e.replacement === "true";
|
|
29
|
+
/** Problems with one shape on its own: what core assumes of every shape. */
|
|
30
|
+
export function planShapeProblems(shape) {
|
|
31
|
+
const out = [];
|
|
32
|
+
const name = shape.member || "(no member)";
|
|
33
|
+
if (!shape.member)
|
|
34
|
+
out.push("a shape has no member");
|
|
35
|
+
const seen = new Set();
|
|
36
|
+
for (const e of shape.entries) {
|
|
37
|
+
if (!e.logicalId)
|
|
38
|
+
out.push(`${name}: an entry has no logicalId`);
|
|
39
|
+
const key = `${e.logicalId} ${e.action}`;
|
|
40
|
+
if (seen.has(key))
|
|
41
|
+
out.push(`${name}: ${e.logicalId} is listed twice as ${e.action}`);
|
|
42
|
+
seen.add(key);
|
|
43
|
+
if (e.action === "update" && e.properties && e.unknown) {
|
|
44
|
+
const stray = e.unknown.filter((p) => !e.properties.includes(p));
|
|
45
|
+
if (stray.length > 0)
|
|
46
|
+
out.push(`${name}: ${e.logicalId} marks ${stray.join(", ")} unknown without changing them`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return out;
|
|
50
|
+
}
|
|
51
|
+
/** Every way the lexicon's shapes fall short of what core's comparison needs; none means it conforms. */
|
|
52
|
+
export async function checkPlanShapeConformance(config) {
|
|
53
|
+
const out = [];
|
|
54
|
+
const say = (problem) => {
|
|
55
|
+
out.push(`${config.lexicon}: ${problem}`);
|
|
56
|
+
};
|
|
57
|
+
const get = async (scenario) => {
|
|
58
|
+
try {
|
|
59
|
+
const shape = await config[scenario]();
|
|
60
|
+
if (!shape)
|
|
61
|
+
say(`${scenario} supplied no shape`);
|
|
62
|
+
else
|
|
63
|
+
for (const p of planShapeProblems(shape))
|
|
64
|
+
say(`${scenario}: ${p}`);
|
|
65
|
+
return shape;
|
|
66
|
+
}
|
|
67
|
+
catch (e) {
|
|
68
|
+
say(`${scenario} threw: ${e instanceof Error ? e.message : String(e)}`);
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
const preview = await get("preview");
|
|
73
|
+
const previewAgain = await get("preview");
|
|
74
|
+
if (preview && previewAgain && planShapeDigest(preview) !== planShapeDigest(previewAgain)) {
|
|
75
|
+
say("the same preview gave two shape digests");
|
|
76
|
+
}
|
|
77
|
+
if (preview && preview.unknownInputs.length === 0)
|
|
78
|
+
say("the preview lists no unknown inputs");
|
|
79
|
+
const fresh = await get("fresh");
|
|
80
|
+
const freshAgain = await get("fresh");
|
|
81
|
+
if (fresh && freshAgain && planShapeDigest(fresh) !== planShapeDigest(freshAgain)) {
|
|
82
|
+
say("the same fresh plan gave two shape digests");
|
|
83
|
+
}
|
|
84
|
+
if (!preview)
|
|
85
|
+
return out;
|
|
86
|
+
if (fresh) {
|
|
87
|
+
if (fresh.member !== preview.member)
|
|
88
|
+
say(`fresh is of ${fresh.member}, the preview of ${preview.member}`);
|
|
89
|
+
if (fresh.unknownInputs.length > 0)
|
|
90
|
+
say(`fresh still lists unknown inputs: ${fresh.unknownInputs.join(", ")}`);
|
|
91
|
+
const differences = planShapeDifferences(preview, fresh);
|
|
92
|
+
if (differences.length > 0)
|
|
93
|
+
say(`fresh matches the preview, yet core finds: ${differences.join("; ")}`);
|
|
94
|
+
}
|
|
95
|
+
const was = new Map(normalizePlanShape(preview).entries.map((e) => [e.logicalId, e]));
|
|
96
|
+
const scenarios = [
|
|
97
|
+
{ name: "added", is: (s) => s.entries.some((e) => !was.has(e.logicalId)), claim: "has no resource the preview lacks" },
|
|
98
|
+
{
|
|
99
|
+
name: "missing",
|
|
100
|
+
is: (s) => {
|
|
101
|
+
const now = new Set(s.entries.map((e) => e.logicalId));
|
|
102
|
+
return [...was.values()].some((p) => !now.has(p.logicalId) && (p.properties ?? []).some((x) => !(p.unknown ?? []).includes(x)));
|
|
103
|
+
},
|
|
104
|
+
claim: "drops no resource the preview changed beyond its unknown inputs",
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
name: "replaced",
|
|
108
|
+
is: (s) => s.entries.some((e) => replaces(e) && was.has(e.logicalId) && !replaces(was.get(e.logicalId)) && was.get(e.logicalId).replacement !== "conditional"),
|
|
109
|
+
claim: "replaces no resource the preview updated in place",
|
|
110
|
+
},
|
|
111
|
+
];
|
|
112
|
+
for (const { name, is, claim } of scenarios) {
|
|
113
|
+
const shape = await get(name);
|
|
114
|
+
if (!shape)
|
|
115
|
+
continue;
|
|
116
|
+
if (!is(shape))
|
|
117
|
+
say(`${name} ${claim}`);
|
|
118
|
+
if (planShapeDifferences(preview, shape).length === 0)
|
|
119
|
+
say(`core finds no difference from the preview in ${name}`);
|
|
120
|
+
}
|
|
121
|
+
return out;
|
|
122
|
+
}
|
|
@@ -23,8 +23,9 @@
|
|
|
23
23
|
* component in the project and not the selection.
|
|
24
24
|
* - the upstream is in the change and its plan cannot say, or says the value
|
|
25
25
|
* is known only after apply: no value. The dependent's members list the
|
|
26
|
-
* reference under `unknownInputs
|
|
27
|
-
*
|
|
26
|
+
* reference under `unknownInputs`. The apply plans it again once the
|
|
27
|
+
* upstream applied, and the approval covers that round when it matches the
|
|
28
|
+
* preview (see `coveredRound`).
|
|
28
29
|
*
|
|
29
30
|
* `--seed-outputs` wins over both. The apply stage's plan reads the same
|
|
30
31
|
* values, so on the same estate it gets the digest the plan stage showed.
|
|
@@ -66,15 +67,24 @@
|
|
|
66
67
|
* says whether the approved change set covers what it planned, by the same
|
|
67
68
|
* test a resume uses ({@link planCoveredBy}). Covered, the wave applies under
|
|
68
69
|
* the pull request's approval; not covered, it needs its own.
|
|
70
|
+
*
|
|
71
|
+
* ## Groups
|
|
72
|
+
*
|
|
73
|
+
* A fan-out with `groups` (ws-107, `./groups.ts`) plans each group with one
|
|
74
|
+
* `planGroup` call at its wave and applies it with one `runGroup` call
|
|
75
|
+
* there. A member's read of another member of its group is computed by that
|
|
76
|
+
* apply: it is no `unknownInputs` entry and holds nothing back. Each member's
|
|
77
|
+
* digest binds the group's, so the one approval binds the composition.
|
|
69
78
|
*/
|
|
70
79
|
import { type ChangeSetDocument } from "../change-set.js";
|
|
71
80
|
import { type GateCheck, type GateLedgerPort } from "../op/gate.js";
|
|
72
81
|
import { type PrApproval, type PrMember, type PrRefusal, type PrRound, type PrReport, type PrStatus, type PrWave } from "../pr-loop.js";
|
|
73
82
|
import { type DriverComponent, type DriverComponentResult } from "./driver.js";
|
|
74
83
|
import { type FanOutRunResult } from "./fan-out-run.js";
|
|
75
|
-
import { type ComponentChangeSignal, type FanOutPlan } from "./fan-out.js";
|
|
84
|
+
import { type ComponentChangeSignal, type FanOutGroup, type FanOutGroupFallback, type FanOutPlan } from "./fan-out.js";
|
|
85
|
+
import { type PlanShape } from "./covered-round.js";
|
|
76
86
|
import type { PrApplyRecord } from "./fan-out-record.js";
|
|
77
|
-
import type { CapabilityRegistry } from "./capability.js";
|
|
87
|
+
import type { CapabilityRegistry, GroupRun } from "./capability.js";
|
|
78
88
|
import type { RunProgressEvent } from "./run-progress.js";
|
|
79
89
|
import type { RunEventSink } from "../run-event-stream.js";
|
|
80
90
|
import type { PrMigrationFile } from "../pr-migrations.js";
|
|
@@ -120,9 +130,24 @@ export interface PrPlanSet {
|
|
|
120
130
|
* report's `plannedOutputs`.
|
|
121
131
|
*/
|
|
122
132
|
plannedOutputs?: Record<string, string[]>;
|
|
133
|
+
/** The shapes lexicons supplied with their plans (#4419), by member. */
|
|
134
|
+
shapes?: Record<string, PlanShape>;
|
|
135
|
+
/** The groups planned as one (ws-107), in plan order of their first member. Absent when none. */
|
|
136
|
+
groups?: PrPlanGroup[];
|
|
137
|
+
/** The components that could have grouped and did not, with why (ws-107, ruling 1): the fan-out's `fallbacks`. */
|
|
138
|
+
fallbacks?: FanOutGroupFallback[];
|
|
123
139
|
/** Whether any component failed to plan. */
|
|
124
140
|
failed: boolean;
|
|
125
141
|
}
|
|
142
|
+
/** A group a pull request planned as one (ws-107). */
|
|
143
|
+
export interface PrPlanGroup extends FanOutGroup {
|
|
144
|
+
/** The group digest folded into each member's `planDigest`; `null` when the group failed to plan. */
|
|
145
|
+
digest: string | null;
|
|
146
|
+
/** Why it failed to plan. Every member is then plan-failed with it. */
|
|
147
|
+
error?: string;
|
|
148
|
+
/** What `runGroup` gets back. Like `plans`, it lives in the process that planned. */
|
|
149
|
+
run?: GroupRun;
|
|
150
|
+
}
|
|
126
151
|
/**
|
|
127
152
|
* Plan every component in `plan.order`, a wave at a time, each against its
|
|
128
153
|
* dependencies' planned outputs when the change plans them too, and against
|
|
@@ -137,9 +162,11 @@ export declare function planPrSet(options: PrPlanSetOptions): Promise<PrPlanSet>
|
|
|
137
162
|
* stands (#3999): each reference its steps make that resolves to another
|
|
138
163
|
* value, said once. `undefined` when every one resolves as it did. A
|
|
139
164
|
* published artifact's identity from a build in `inChange` never holds a
|
|
140
|
-
* member back: the build's provenance binds it, not this approval.
|
|
165
|
+
* member back: the build's provenance binds it, not this approval. Nor
|
|
166
|
+
* does a reference to a member of `group`, the component's own group
|
|
167
|
+
* (ws-107), whose apply computes it.
|
|
141
168
|
*/
|
|
142
|
-
export declare function heldReason(component: DriverComponent, read: Record<string, Record<string, unknown>>, now: Record<string, Record<string, unknown>>, inChange?: ReadonlySet<string>): string | undefined;
|
|
169
|
+
export declare function heldReason(component: DriverComponent, read: Record<string, Record<string, unknown>>, now: Record<string, Record<string, unknown>>, inChange?: ReadonlySet<string>, group?: ReadonlySet<string>): string | undefined;
|
|
143
170
|
/**
|
|
144
171
|
* A ledger that reads the real one and records nothing. The plan stage
|
|
145
172
|
* decides the gate only to say where the approval stands; it runs the pull
|
|
@@ -202,17 +229,28 @@ export interface PrApplyOptions {
|
|
|
202
229
|
* The gate is {@link prRoundGate}. Without it, held members are left
|
|
203
230
|
* `waiting` and nothing is planned again.
|
|
204
231
|
*/
|
|
232
|
+
/**
|
|
233
|
+
* Where the approval of `set` stands (#4419). When it is `approved`, a round
|
|
234
|
+
* whose fresh plan does only what `set` previewed, with only the inputs it
|
|
235
|
+
* marked unknown filled in, applies under that approval without a gate of
|
|
236
|
+
* its own (`coveredRound`), and the round records it (`PrRound.covered`).
|
|
237
|
+
* Without it every round decides its own gate.
|
|
238
|
+
*/
|
|
239
|
+
approval?: PrApproval;
|
|
205
240
|
decideRound?: (round: {
|
|
206
241
|
round: number;
|
|
207
242
|
gate: string;
|
|
208
243
|
set: PrPlanSet;
|
|
209
244
|
plan: FanOutPlan;
|
|
245
|
+
notCovered?: string;
|
|
210
246
|
}) => Promise<PrRoundDecision>;
|
|
211
247
|
}
|
|
212
248
|
/** How a round's gate was decided: whether it applies, and where its approval stands. */
|
|
213
249
|
export interface PrRoundDecision {
|
|
214
250
|
satisfied: boolean;
|
|
215
251
|
approval: PrApproval;
|
|
252
|
+
/** Set when the first approval covered the round (#4419): no gate of its own was decided. */
|
|
253
|
+
covered?: PrRound["covered"];
|
|
216
254
|
/** Why it does not apply, when an approval stands but does not count (`--require-review`). */
|
|
217
255
|
message?: string;
|
|
218
256
|
}
|
|
@@ -266,6 +304,12 @@ export interface PrResumeOptions {
|
|
|
266
304
|
record: PrApplyRecord;
|
|
267
305
|
/** Components an earlier attempt applied. */
|
|
268
306
|
completed: string[];
|
|
307
|
+
/**
|
|
308
|
+
* The outputs the components in `completed` left (#4446). A member left
|
|
309
|
+
* of an approved group plans against the outputs its group-mates applied
|
|
310
|
+
* with, which the group's apply computed and the approved plan did not know.
|
|
311
|
+
*/
|
|
312
|
+
applied?: Record<string, Record<string, unknown>>;
|
|
269
313
|
}
|
|
270
314
|
export type PrResume = {
|
|
271
315
|
ok: true;
|
|
@@ -295,6 +339,14 @@ export type PrResume = {
|
|
|
295
339
|
* is `record.digest`, and the document gives that digest. The digest binds
|
|
296
340
|
* the entries, holes and side effects {@link planCoveredBy} reads (#3555),
|
|
297
341
|
* so a record cannot widen what a re-planned member may do.
|
|
342
|
+
*
|
|
343
|
+
* A group that failed part way (ws-107, "Resume"; #4446) leaves its
|
|
344
|
+
* `partial`, `failed` and `not-started` members; `applied` and `no-changes`
|
|
345
|
+
* ones are in `completed`. What is left of each approved group is grouped
|
|
346
|
+
* again ({@link regroupRemaining}), so it plans as a smaller group, or one
|
|
347
|
+
* by one when the rule or the capability says so. The smaller group's
|
|
348
|
+
* digest differs from the approved one, so coverage rests on entries and
|
|
349
|
+
* shapes, as for any resumed member.
|
|
298
350
|
*/
|
|
299
351
|
export declare function resumePrSet(options: PrResumeOptions): Promise<PrResume>;
|
|
300
352
|
/**
|
|
@@ -312,7 +364,10 @@ export declare function prWavePlan(plan: FanOutPlan, components: DriverComponent
|
|
|
312
364
|
* returns no change set) is covered only by the digest it was approved
|
|
313
365
|
* with, since with no entries there is nothing to compare a moved plan by.
|
|
314
366
|
*/
|
|
315
|
-
export declare function waveNotCovered(approved: ChangeSetDocument, fresh: ChangeSetDocument, approvedMembers?: readonly PrMember[]
|
|
367
|
+
export declare function waveNotCovered(approved: ChangeSetDocument, fresh: ChangeSetDocument, approvedMembers?: readonly PrMember[], shapes?: {
|
|
368
|
+
approved?: Record<string, PlanShape>;
|
|
369
|
+
fresh?: Record<string, PlanShape>;
|
|
370
|
+
}): string[];
|
|
316
371
|
export interface PrReportInput {
|
|
317
372
|
stage: "plan" | "apply" | "record";
|
|
318
373
|
pr: number | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pr-run.d.ts","sourceRoot":"","sources":["../../src/components/pr-run.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"pr-run.d.ts","sourceRoot":"","sources":["../../src/components/pr-run.ts"],"names":[],"mappings":"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"}
|