@intentius/chant 0.79.0 → 0.81.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/core.d.ts.map +1 -1
- package/dist/audit/discover.d.ts +30 -0
- package/dist/audit/discover.d.ts.map +1 -1
- package/dist/audit/report-html.d.ts +5 -0
- package/dist/audit/report-html.d.ts.map +1 -1
- package/dist/audit/report-model.d.ts +13 -0
- package/dist/audit/report-model.d.ts.map +1 -1
- package/dist/audit/terraform-state.d.ts +13 -0
- package/dist/audit/terraform-state.d.ts.map +1 -1
- package/dist/cli/command-group.d.ts +6 -0
- package/dist/cli/command-group.d.ts.map +1 -1
- package/dist/cli/commands/audit.d.ts +44 -3
- package/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/check-lexicon-examples.d.ts.map +1 -1
- package/dist/cli/commands/check-lexicon.d.ts +8 -0
- package/dist/cli/commands/check-lexicon.d.ts.map +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/import-agents.d.ts.map +1 -1
- package/dist/cli/commands/init.d.ts +6 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/lint.d.ts.map +1 -1
- package/dist/cli/commands/onboard.d.ts.map +1 -1
- package/dist/cli/commands/update.d.ts +6 -0
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/vendor.d.ts +5 -0
- package/dist/cli/commands/vendor.d.ts.map +1 -1
- package/dist/cli/conflict-check.d.ts +6 -0
- package/dist/cli/conflict-check.d.ts.map +1 -1
- package/dist/cli/handlers/build.d.ts.map +1 -1
- package/dist/cli/handlers/components.d.ts.map +1 -1
- package/dist/cli/handlers/dev.d.ts.map +1 -1
- package/dist/cli/handlers/fan-out.d.ts.map +1 -1
- package/dist/cli/handlers/init.d.ts.map +1 -1
- package/dist/cli/handlers/lifecycle.d.ts.map +1 -1
- package/dist/cli/handlers/misc.d.ts.map +1 -1
- package/dist/cli/handlers/operator.d.ts +7 -0
- package/dist/cli/handlers/operator.d.ts.map +1 -1
- package/dist/cli/handlers/promote.d.ts +20 -0
- package/dist/cli/handlers/promote.d.ts.map +1 -0
- package/dist/cli/handlers/run-generate.d.ts +39 -0
- package/dist/cli/handlers/run-generate.d.ts.map +1 -0
- package/dist/cli/handlers/run.d.ts +4 -1
- package/dist/cli/handlers/run.d.ts.map +1 -1
- package/dist/cli/handlers/vendor.d.ts +8 -3
- package/dist/cli/handlers/vendor.d.ts.map +1 -1
- package/dist/cli/main.d.ts +12 -0
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/mcp/op-tools.d.ts.map +1 -1
- package/dist/cli/plugins.d.ts +14 -0
- package/dist/cli/plugins.d.ts.map +1 -1
- package/dist/cli/registry.d.ts +46 -1
- package/dist/cli/registry.d.ts.map +1 -1
- package/dist/codegen/fetch.d.ts +10 -0
- package/dist/codegen/fetch.d.ts.map +1 -1
- package/dist/components/capability-plugin-loader.d.ts.map +1 -1
- package/dist/components/cli-support.d.ts +3 -1
- package/dist/components/cli-support.d.ts.map +1 -1
- package/dist/components/discover.d.ts.map +1 -1
- package/dist/components/driver.d.ts +16 -2
- package/dist/components/driver.d.ts.map +1 -1
- package/dist/components/fan-out-support.d.ts.map +1 -1
- package/dist/components/gate-plan.d.ts +40 -0
- package/dist/components/gate-plan.d.ts.map +1 -0
- package/dist/components/pilots/alb-ecs.pilot.d.ts +7 -1
- package/dist/components/pilots/alb-ecs.pilot.d.ts.map +1 -1
- package/dist/components/presets/ecs-fargate.d.ts +10 -4
- package/dist/components/presets/ecs-fargate.d.ts.map +1 -1
- package/dist/components/promote.d.ts +264 -0
- package/dist/components/promote.d.ts.map +1 -0
- package/dist/components/sandbox/driver.d.ts.map +1 -1
- package/dist/components/sandbox/run.d.ts.map +1 -1
- package/dist/components/verbs/build-archive.d.ts +22 -11
- package/dist/components/verbs/build-archive.d.ts.map +1 -1
- package/dist/components/verbs/run-agent.d.ts.map +1 -1
- package/dist/config-static.d.ts +59 -0
- package/dist/config-static.d.ts.map +1 -0
- package/dist/config.d.ts +104 -5
- package/dist/config.d.ts.map +1 -1
- package/dist/content-digest.d.ts +17 -0
- package/dist/content-digest.d.ts.map +1 -0
- package/dist/discovery/files.d.ts +48 -4
- package/dist/discovery/files.d.ts.map +1 -1
- package/dist/discovery/fold-import.d.ts +32 -1
- package/dist/discovery/fold-import.d.ts.map +1 -1
- package/dist/discovery/index.d.ts.map +1 -1
- package/dist/discovery/sandbox/driver.d.ts +20 -0
- package/dist/discovery/sandbox/driver.d.ts.map +1 -1
- package/dist/discovery/sandbox/fork.d.ts +20 -0
- package/dist/discovery/sandbox/fork.d.ts.map +1 -1
- package/dist/discovery/walk.d.ts +119 -0
- package/dist/discovery/walk.d.ts.map +1 -0
- package/dist/graph-ir.d.ts +17 -1
- package/dist/graph-ir.d.ts.map +1 -1
- package/dist/join-key.d.ts +31 -0
- package/dist/join-key.d.ts.map +1 -0
- package/dist/lexicon-module.d.ts +110 -0
- package/dist/lexicon-module.d.ts.map +1 -0
- package/dist/lexicon.d.ts +82 -1
- package/dist/lexicon.d.ts.map +1 -1
- package/dist/lifecycle/build-ledger-store.d.ts.map +1 -1
- package/dist/lifecycle/digest.d.ts +5 -1
- package/dist/lifecycle/digest.d.ts.map +1 -1
- package/dist/lifecycle/gate-ledger.d.ts +20 -5
- package/dist/lifecycle/gate-ledger.d.ts.map +1 -1
- package/dist/lifecycle/git.d.ts +64 -0
- package/dist/lifecycle/git.d.ts.map +1 -1
- package/dist/lifecycle/lease.d.ts +8 -1
- package/dist/lifecycle/lease.d.ts.map +1 -1
- package/dist/lifecycle/legacy-digest.d.ts +59 -0
- package/dist/lifecycle/legacy-digest.d.ts.map +1 -0
- package/dist/lifecycle/member-ledger.d.ts +67 -0
- package/dist/lifecycle/member-ledger.d.ts.map +1 -0
- package/dist/lifecycle/plan-digest.d.ts +4 -3
- package/dist/lifecycle/plan-digest.d.ts.map +1 -1
- package/dist/lifecycle/release-ledger.d.ts +42 -1
- package/dist/lifecycle/release-ledger.d.ts.map +1 -1
- package/dist/lifecycle/status.d.ts +90 -5
- package/dist/lifecycle/status.d.ts.map +1 -1
- package/dist/lint/rules/comp/comp003-mutating-no-rollback.d.ts +2 -3
- package/dist/lint/rules/comp/comp003-mutating-no-rollback.d.ts.map +1 -1
- package/dist/op/activities/activity-contracts.d.ts +32 -0
- package/dist/op/activities/activity-contracts.d.ts.map +1 -1
- package/dist/op/activities/index.d.ts +2 -0
- package/dist/op/activities/index.d.ts.map +1 -1
- package/dist/op/activities/propose-upgrade.d.ts +75 -0
- package/dist/op/activities/propose-upgrade.d.ts.map +1 -0
- package/dist/op/activity-contract-registry.d.ts.map +1 -1
- package/dist/op/activity-registry.d.ts.map +1 -1
- package/dist/op/discover.d.ts.map +1 -1
- package/dist/op/gate-approval.d.ts.map +1 -1
- package/dist/op/gate-name.d.ts +7 -0
- package/dist/op/gate-name.d.ts.map +1 -1
- package/dist/op/gate-summary.d.ts +16 -0
- package/dist/op/gate-summary.d.ts.map +1 -1
- package/dist/op/gate.d.ts +16 -2
- package/dist/op/gate.d.ts.map +1 -1
- package/dist/op/generate-pipeline.d.ts.map +1 -1
- package/dist/op/runtimes/local.d.ts.map +1 -1
- package/dist/project-root.d.ts +26 -0
- package/dist/project-root.d.ts.map +1 -1
- package/dist/workspace/__fixtures__/contract-repo.d.ts +37 -0
- package/dist/workspace/__fixtures__/contract-repo.d.ts.map +1 -0
- package/dist/workspace/__fixtures__/two-member-workspace.d.ts +11 -0
- package/dist/workspace/__fixtures__/two-member-workspace.d.ts.map +1 -0
- package/dist/workspace/checks/generated.d.ts +156 -0
- package/dist/workspace/checks/generated.d.ts.map +1 -0
- package/dist/workspace/checks/ledgers.d.ts +78 -0
- package/dist/workspace/checks/ledgers.d.ts.map +1 -0
- package/dist/workspace/checks/links.d.ts +25 -0
- package/dist/workspace/checks/links.d.ts.map +1 -0
- package/dist/workspace/checks/pipelines.d.ts +76 -0
- package/dist/workspace/checks/pipelines.d.ts.map +1 -0
- package/dist/workspace/checks.d.ts +161 -0
- package/dist/workspace/checks.d.ts.map +1 -0
- package/dist/workspace/compose-graph.d.ts +115 -0
- package/dist/workspace/compose-graph.d.ts.map +1 -0
- package/dist/workspace/compose-reports.d.ts +68 -0
- package/dist/workspace/compose-reports.d.ts.map +1 -0
- package/dist/workspace/declaration.d.ts +220 -0
- package/dist/workspace/declaration.d.ts.map +1 -0
- package/dist/workspace/declaration.schema.json +434 -0
- package/dist/workspace/generated-files.d.ts +65 -0
- package/dist/workspace/generated-files.d.ts.map +1 -0
- package/dist/workspace/glob.d.ts +13 -0
- package/dist/workspace/glob.d.ts.map +1 -0
- package/dist/workspace/graph-cli.d.ts +75 -0
- package/dist/workspace/graph-cli.d.ts.map +1 -0
- package/dist/workspace/init.d.ts +96 -0
- package/dist/workspace/init.d.ts.map +1 -0
- package/dist/workspace/jsonc.d.ts +38 -0
- package/dist/workspace/jsonc.d.ts.map +1 -0
- package/dist/workspace/kinds.d.ts +192 -0
- package/dist/workspace/kinds.d.ts.map +1 -0
- package/dist/workspace/lineage-check.d.ts +84 -0
- package/dist/workspace/lineage-check.d.ts.map +1 -0
- package/dist/workspace/lineage-cli.d.ts +31 -0
- package/dist/workspace/lineage-cli.d.ts.map +1 -0
- package/dist/workspace/lineage-init.d.ts +101 -0
- package/dist/workspace/lineage-init.d.ts.map +1 -0
- package/dist/workspace/lineage-lock.d.ts +258 -0
- package/dist/workspace/lineage-lock.d.ts.map +1 -0
- package/dist/workspace/lineage-merge.d.ts +14 -0
- package/dist/workspace/lineage-merge.d.ts.map +1 -0
- package/dist/workspace/lineage-migrations.d.ts +178 -0
- package/dist/workspace/lineage-migrations.d.ts.map +1 -0
- package/dist/workspace/lineage-update.d.ts +59 -0
- package/dist/workspace/lineage-update.d.ts.map +1 -0
- package/dist/workspace/lineage-upgrade-cli.d.ts +40 -0
- package/dist/workspace/lineage-upgrade-cli.d.ts.map +1 -0
- package/dist/workspace/lineage-upgrade.d.ts +146 -0
- package/dist/workspace/lineage-upgrade.d.ts.map +1 -0
- package/dist/workspace/lineage-vendor.d.ts +63 -0
- package/dist/workspace/lineage-vendor.d.ts.map +1 -0
- package/dist/workspace/lineage-version.d.ts +32 -0
- package/dist/workspace/lineage-version.d.ts.map +1 -0
- package/dist/workspace/links.d.ts +150 -0
- package/dist/workspace/links.d.ts.map +1 -0
- package/dist/workspace/ls.d.ts +99 -0
- package/dist/workspace/ls.d.ts.map +1 -0
- package/dist/workspace/member-commands.d.ts +139 -0
- package/dist/workspace/member-commands.d.ts.map +1 -0
- package/dist/workspace/member-handles.d.ts +54 -0
- package/dist/workspace/member-handles.d.ts.map +1 -0
- package/dist/workspace/member-pipeline.d.ts +143 -0
- package/dist/workspace/member-pipeline.d.ts.map +1 -0
- package/dist/workspace/member-run.d.ts +67 -0
- package/dist/workspace/member-run.d.ts.map +1 -0
- package/dist/workspace/reason-codes.d.ts +65 -0
- package/dist/workspace/reason-codes.d.ts.map +1 -0
- package/dist/workspace/record-source.d.ts +22 -0
- package/dist/workspace/record-source.d.ts.map +1 -0
- package/dist/workspace/records-cli.d.ts +81 -0
- package/dist/workspace/records-cli.d.ts.map +1 -0
- package/dist/workspace/records.d.ts +118 -0
- package/dist/workspace/records.d.ts.map +1 -0
- package/dist/workspace/root-refusal.d.ts +53 -0
- package/dist/workspace/root-refusal.d.ts.map +1 -0
- package/dist/workspace/status.d.ts +150 -0
- package/dist/workspace/status.d.ts.map +1 -0
- package/dist/workspace/template-manifest.d.ts +90 -0
- package/dist/workspace/template-manifest.d.ts.map +1 -0
- package/dist/workspace/tree.d.ts +36 -0
- package/dist/workspace/tree.d.ts.map +1 -0
- package/dist/workspace/trust/attestor.d.ts +67 -0
- package/dist/workspace/trust/attestor.d.ts.map +1 -0
- package/dist/workspace/trust/policy.d.ts +111 -0
- package/dist/workspace/trust/policy.d.ts.map +1 -0
- package/dist/workspace/trust/provenance.d.ts +67 -0
- package/dist/workspace/trust/provenance.d.ts.map +1 -0
- package/dist/workspace/trust/ssh-commit.d.ts +43 -0
- package/dist/workspace/trust/ssh-commit.d.ts.map +1 -0
- package/dist/workspace/trust/test-repo.d.ts +42 -0
- package/dist/workspace/trust/test-repo.d.ts.map +1 -0
- package/dist/workspace/trust/verify-cli.d.ts +9 -0
- package/dist/workspace/trust/verify-cli.d.ts.map +1 -0
- package/dist/workspace/trust/verify.d.ts +66 -0
- package/dist/workspace/trust/verify.d.ts.map +1 -0
- package/dist/workspace/which-chant.d.ts +58 -0
- package/dist/workspace/which-chant.d.ts.map +1 -0
- package/dist/workspace/workspace-kinds.schema.json +133 -0
- package/package.json +4 -3
- package/src/audit/core.ts +13 -2
- package/src/audit/discover.ts +102 -36
- package/src/audit/report-html.ts +3 -1
- package/src/audit/report-model.ts +14 -1
- package/src/audit/terraform-state.test.ts +81 -1
- package/src/audit/terraform-state.ts +25 -0
- package/src/cli/command-group.ts +7 -0
- package/src/cli/commands/audit-truncation.test.ts +167 -0
- package/src/cli/commands/audit.ts +132 -29
- package/src/cli/commands/check-lexicon-examples.ts +2 -1
- package/src/cli/commands/check-lexicon.ts +24 -0
- package/src/cli/commands/doctor.test.ts +30 -0
- package/src/cli/commands/doctor.ts +21 -0
- package/src/cli/commands/import-agents.ts +15 -4
- package/src/cli/commands/init.ts +76 -25
- package/src/cli/commands/lint.test.ts +52 -1
- package/src/cli/commands/lint.ts +41 -71
- package/src/cli/commands/onboard.ts +15 -0
- package/src/cli/commands/update.ts +18 -5
- package/src/cli/commands/vendor.ts +11 -6
- package/src/cli/conflict-check.test.ts +18 -1
- package/src/cli/conflict-check.ts +13 -0
- package/src/cli/discovery-skip.test.ts +168 -0
- package/src/cli/handlers/__snapshots__/build-member.test.ts.snap +38 -0
- package/src/cli/handlers/build-member.test.ts +127 -0
- package/src/cli/handlers/build.test.ts +11 -0
- package/src/cli/handlers/build.ts +35 -1
- package/src/cli/handlers/components.test.ts +127 -0
- package/src/cli/handlers/components.ts +70 -8
- package/src/cli/handlers/dev.ts +6 -1
- package/src/cli/handlers/fan-out.ts +9 -2
- package/src/cli/handlers/graph.test.ts +20 -0
- package/src/cli/handlers/graph.ts +4 -2
- package/src/cli/handlers/init.ts +54 -1
- package/src/cli/handlers/lifecycle.ts +2 -1
- package/src/cli/handlers/misc.ts +16 -0
- package/src/cli/handlers/operator.test.ts +68 -0
- package/src/cli/handlers/operator.ts +39 -10
- package/src/cli/handlers/promote.test.ts +377 -0
- package/src/cli/handlers/promote.ts +391 -0
- package/src/cli/handlers/run-generate-member.test.ts +83 -0
- package/src/cli/handlers/run-generate.test.ts +158 -0
- package/src/cli/handlers/run-generate.ts +168 -0
- package/src/cli/handlers/run.test.ts +47 -0
- package/src/cli/handlers/run.ts +41 -6
- package/src/cli/handlers/vendor.ts +147 -43
- package/src/cli/main.test.ts +137 -1
- package/src/cli/main.ts +290 -24
- package/src/cli/mcp/op-tools.ts +2 -1
- package/src/cli/path-lexicon-messages.test.ts +152 -0
- package/src/cli/plugins.ts +43 -5
- package/src/cli/registry.ts +46 -1
- package/src/cli/static-config-read.test.ts +208 -0
- package/src/codegen/fetch.test.ts +63 -1
- package/src/codegen/fetch.ts +30 -1
- package/src/components/__fixtures__/alb-ecs-service.json +0 -8
- package/src/components/capability-plugin-loader.ts +3 -1
- package/src/components/cli-support.ts +9 -3
- package/src/components/discover.test.ts +27 -57
- package/src/components/discover.ts +20 -51
- package/src/components/driver.test.ts +90 -12
- package/src/components/driver.ts +43 -5
- package/src/components/fan-out-support.ts +2 -1
- package/src/components/gate-plan.ts +53 -0
- package/src/components/pilots/README.md +1 -1
- package/src/components/pilots/alb-ecs.pilot.ts +7 -7
- package/src/components/presets/ecs-fargate.ts +10 -5
- package/src/components/promote.test.ts +645 -0
- package/src/components/promote.ts +641 -0
- package/src/components/sandbox/driver.ts +8 -8
- package/src/components/sandbox/run.ts +4 -1
- package/src/components/verbs/build-archive.ts +27 -21
- package/src/components/verbs/run-agent.ts +3 -5
- package/src/config-static.test.ts +136 -0
- package/src/config-static.ts +232 -0
- package/src/config.test.ts +40 -0
- package/src/config.ts +161 -11
- package/src/content-digest.test.ts +120 -0
- package/src/content-digest.ts +21 -0
- package/src/discovery/files.test.ts +127 -1
- package/src/discovery/files.ts +91 -59
- package/src/discovery/fold-import.ts +127 -9
- package/src/discovery/index.ts +1 -0
- package/src/discovery/sandbox/driver.ts +73 -35
- package/src/discovery/sandbox/fork-diagnostic.test.ts +136 -13
- package/src/discovery/sandbox/fork.ts +83 -43
- package/src/discovery/sandbox/path-lexicon-multifile.test.ts +285 -0
- package/src/discovery/sandbox/path-lexicon-parity.test.ts +162 -0
- package/src/discovery/walk.test.ts +263 -0
- package/src/discovery/walk.ts +334 -0
- package/src/effect-receipt.ts +2 -2
- package/src/graph-ir.ts +18 -1
- package/src/join-key.test.ts +25 -0
- package/src/join-key.ts +39 -0
- package/src/lexicon-module.test.ts +203 -0
- package/src/lexicon-module.ts +215 -0
- package/src/lexicon.ts +105 -1
- package/src/lifecycle/build-ledger-store.ts +13 -2
- package/src/lifecycle/digest.ts +9 -5
- package/src/lifecycle/gate-ledger.test.ts +20 -0
- package/src/lifecycle/gate-ledger.ts +28 -6
- package/src/lifecycle/git.test.ts +13 -1
- package/src/lifecycle/git.ts +221 -176
- package/src/lifecycle/lease.ts +25 -10
- package/src/lifecycle/legacy-digest.test.ts +206 -0
- package/src/lifecycle/legacy-digest.ts +103 -0
- package/src/lifecycle/member-ledger.test.ts +319 -0
- package/src/lifecycle/member-ledger.ts +145 -0
- package/src/lifecycle/plan-digest.ts +7 -7
- package/src/lifecycle/release-ledger.test.ts +20 -0
- package/src/lifecycle/release-ledger.ts +53 -3
- package/src/lifecycle/status.test.ts +151 -1
- package/src/lifecycle/status.ts +228 -7
- package/src/lint/rules/comp/comp003-mutating-no-rollback.ts +2 -3
- package/src/op/activities/activity-contracts.ts +37 -0
- package/src/op/activities/index.ts +10 -0
- package/src/op/activities/propose-upgrade.ts +206 -0
- package/src/op/activity-contract-registry.ts +18 -4
- package/src/op/activity-registry.ts +26 -0
- package/src/op/discover.test.ts +14 -4
- package/src/op/discover.ts +19 -23
- package/src/op/gate-approval.ts +3 -1
- package/src/op/gate-name.ts +8 -0
- package/src/op/gate-summary.test.ts +14 -0
- package/src/op/gate-summary.ts +25 -2
- package/src/op/gate.ts +36 -7
- package/src/op/generate-pipeline.test.ts +14 -5
- package/src/op/generate-pipeline.ts +2 -1
- package/src/op/runtimes/local.ts +2 -1
- package/src/project-root.test.ts +66 -1
- package/src/project-root.ts +48 -0
- package/src/workspace/__fixtures__/contract-repo.ts +100 -0
- package/src/workspace/__fixtures__/two-member-workspace.ts +35 -0
- package/src/workspace/behold-kinds.test.ts +162 -0
- package/src/workspace/check-contract.test.ts +127 -0
- package/src/workspace/check.schema.json +347 -0
- package/src/workspace/checks/generated.test.ts +287 -0
- package/src/workspace/checks/generated.ts +475 -0
- package/src/workspace/checks/ledgers.test.ts +139 -0
- package/src/workspace/checks/ledgers.ts +246 -0
- package/src/workspace/checks/links.ts +183 -0
- package/src/workspace/checks/pipelines.test.ts +133 -0
- package/src/workspace/checks/pipelines.ts +225 -0
- package/src/workspace/checks-repo.test.ts +71 -0
- package/src/workspace/checks.test.ts +450 -0
- package/src/workspace/checks.ts +461 -0
- package/src/workspace/compose-graph.test.ts +146 -0
- package/src/workspace/compose-graph.ts +228 -0
- package/src/workspace/compose-reports.test.ts +109 -0
- package/src/workspace/compose-reports.ts +186 -0
- package/src/workspace/declaration.schema.json +434 -0
- package/src/workspace/declaration.test.ts +347 -0
- package/src/workspace/declaration.ts +623 -0
- package/src/workspace/generated-files.test.ts +114 -0
- package/src/workspace/generated-files.ts +94 -0
- package/src/workspace/glob.ts +49 -0
- package/src/workspace/graph-cli.ts +220 -0
- package/src/workspace/graph-contract.test.ts +204 -0
- package/src/workspace/graph.schema.json +662 -0
- package/src/workspace/init.test.ts +223 -0
- package/src/workspace/init.ts +585 -0
- package/src/workspace/jsonc.test.ts +65 -0
- package/src/workspace/jsonc.ts +231 -0
- package/src/workspace/kinds.test.ts +288 -0
- package/src/workspace/kinds.ts +506 -0
- package/src/workspace/lineage-check.ts +264 -0
- package/src/workspace/lineage-cli.ts +114 -0
- package/src/workspace/lineage-init.test.ts +231 -0
- package/src/workspace/lineage-init.ts +365 -0
- package/src/workspace/lineage-lock.test.ts +224 -0
- package/src/workspace/lineage-lock.ts +357 -0
- package/src/workspace/lineage-merge.ts +44 -0
- package/src/workspace/lineage-migrations.test.ts +178 -0
- package/src/workspace/lineage-migrations.ts +343 -0
- package/src/workspace/lineage-update.ts +160 -0
- package/src/workspace/lineage-upgrade-cli.ts +151 -0
- package/src/workspace/lineage-upgrade.test.ts +474 -0
- package/src/workspace/lineage-upgrade.ts +624 -0
- package/src/workspace/lineage-vendor.test.ts +126 -0
- package/src/workspace/lineage-vendor.ts +215 -0
- package/src/workspace/lineage-version.ts +127 -0
- package/src/workspace/links.test.ts +344 -0
- package/src/workspace/links.ts +331 -0
- package/src/workspace/ls-contract.test.ts +200 -0
- package/src/workspace/ls.schema.json +190 -0
- package/src/workspace/ls.ts +254 -0
- package/src/workspace/member-commands.e2e.test.ts +244 -0
- package/src/workspace/member-commands.test.ts +217 -0
- package/src/workspace/member-commands.ts +540 -0
- package/src/workspace/member-handles.test.ts +76 -0
- package/src/workspace/member-handles.ts +228 -0
- package/src/workspace/member-pipeline.test.ts +135 -0
- package/src/workspace/member-pipeline.ts +317 -0
- package/src/workspace/member-run.ts +146 -0
- package/src/workspace/read-contract.test.ts +129 -0
- package/src/workspace/reason-codes.test.ts +113 -0
- package/src/workspace/reason-codes.ts +81 -0
- package/src/workspace/record-source.ts +117 -0
- package/src/workspace/records-cli.ts +198 -0
- package/src/workspace/records-contract.test.ts +93 -0
- package/src/workspace/records.schema.json +150 -0
- package/src/workspace/records.test.ts +243 -0
- package/src/workspace/records.ts +384 -0
- package/src/workspace/root-refusal.ts +97 -0
- package/src/workspace/status-contract.test.ts +308 -0
- package/src/workspace/status.schema.json +210 -0
- package/src/workspace/status.ts +412 -0
- package/src/workspace/template-manifest.test.ts +79 -0
- package/src/workspace/template-manifest.ts +221 -0
- package/src/workspace/tree.ts +132 -0
- package/src/workspace/trust/attestor.ts +93 -0
- package/src/workspace/trust/policy.ts +306 -0
- package/src/workspace/trust/provenance.ts +181 -0
- package/src/workspace/trust/ssh-commit.ts +138 -0
- package/src/workspace/trust/test-repo.ts +138 -0
- package/src/workspace/trust/trust.test.ts +397 -0
- package/src/workspace/trust/verify-cli.ts +56 -0
- package/src/workspace/trust/verify.ts +194 -0
- package/src/workspace/which-chant.test.ts +117 -0
- package/src/workspace/which-chant.ts +151 -0
- package/src/workspace/workspace-kinds.schema.json +133 -0
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Promote a release to another environment without rebuilding (#2530).
|
|
3
|
+
*
|
|
4
|
+
* `chant run --components <name> --env prod` runs the component's whole
|
|
5
|
+
* `deploy` composition, and a composition that builds (a `Build` phase with
|
|
6
|
+
* `docker-build`) builds again in prod. The release ledger already knows which
|
|
7
|
+
* digest staging is running, so a promote reads that record and deploys the
|
|
8
|
+
* same artifact to the target environment instead.
|
|
9
|
+
*
|
|
10
|
+
* The mechanism is a transform on the composition, not a change to the driver:
|
|
11
|
+
*
|
|
12
|
+
* - build-time steps (`BUILD_STEP_KINDS`) are removed, so nothing is built;
|
|
13
|
+
* - the publish step stays. It moves the archived bytes to the target
|
|
14
|
+
* environment, which is what "promote by digest" means in the build-archive
|
|
15
|
+
* model, and its output is checked against the recorded digest. A publish
|
|
16
|
+
* that produces any other digest fails the step, and so the component,
|
|
17
|
+
* before anything after it runs;
|
|
18
|
+
* - gates, apply, verify and every other step run exactly as a normal deploy
|
|
19
|
+
* to the target environment would run them, so the target's gates apply.
|
|
20
|
+
* A gate approval is bound to the target environment, the transformed
|
|
21
|
+
* composition and the digest being deployed (#2574), so an approval for a
|
|
22
|
+
* plain deploy or for another release does not pass it.
|
|
23
|
+
*
|
|
24
|
+
* A composition the transform cannot pin to one recorded digest is refused
|
|
25
|
+
* before anything runs: one with no publish step (nothing would carry the
|
|
26
|
+
* digest), one with more than one (the ledger records one digest per
|
|
27
|
+
* component), and one whose remaining steps read an output of a removed build
|
|
28
|
+
* step (it would resolve to nothing).
|
|
29
|
+
*
|
|
30
|
+
* A rollback (#2531) is the same run against one environment's own earlier
|
|
31
|
+
* release. There the publish step is replaced by the recorded digest rather
|
|
32
|
+
* than run, since the environment already received that artifact when the
|
|
33
|
+
* release was first deployed (see `withoutBuildSteps`'s `pinDigest`). A
|
|
34
|
+
* redeploy (#2604) is a rollback to the release the ledger already records as
|
|
35
|
+
* current, for an environment a failed deploy left running something else.
|
|
36
|
+
*
|
|
37
|
+
* The driver stays capability-agnostic. The two kind lists below are data, in
|
|
38
|
+
* the same spirit as `DEPLOY_UNIT_RULES` (./deploy-units.ts).
|
|
39
|
+
*/
|
|
40
|
+
import { type ReleaseRecord, type ReleaseRecordInput, type RunOrigin } from "../lifecycle/release-ledger.js";
|
|
41
|
+
import { CapabilityRegistry, type Capability } from "./capability.js";
|
|
42
|
+
import { type DriverComponent, type DriverComponentResult, type DriverRunResult } from "./driver.js";
|
|
43
|
+
import type { GateLedgerPort } from "../op/gate.js";
|
|
44
|
+
import type { RunProgressEvent } from "./run-progress.js";
|
|
45
|
+
/**
|
|
46
|
+
* Step kinds that produce an artifact at build time: the build family, and the
|
|
47
|
+
* SBOM steps that read the freshly built archive. A promote removes them.
|
|
48
|
+
*/
|
|
49
|
+
export declare const BUILD_STEP_KINDS: readonly string[];
|
|
50
|
+
/**
|
|
51
|
+
* The publish family (the same set COMP001 recognises, plus the
|
|
52
|
+
* `publish-asset` alias). Its output digest is the one a release record binds.
|
|
53
|
+
*/
|
|
54
|
+
export declare const PUBLISH_STEP_KINDS: readonly string[];
|
|
55
|
+
/** One component a promote will deploy, and the source release it deploys. */
|
|
56
|
+
export interface PromotionItem {
|
|
57
|
+
component: string;
|
|
58
|
+
/** The recorded digest being promoted. */
|
|
59
|
+
digest: string;
|
|
60
|
+
/** The source environment's release record the digest came from. */
|
|
61
|
+
source: ReleaseRecord;
|
|
62
|
+
}
|
|
63
|
+
/** What a promote will do, decided before anything runs. */
|
|
64
|
+
export interface PromotionPlan {
|
|
65
|
+
from: string;
|
|
66
|
+
to: string;
|
|
67
|
+
items: PromotionItem[];
|
|
68
|
+
/** Components left alone, and why. Reported, never an error. */
|
|
69
|
+
notPromoted: Array<{
|
|
70
|
+
component: string;
|
|
71
|
+
reason: string;
|
|
72
|
+
}>;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Pick one release of `component` out of an environment's records: the latest
|
|
76
|
+
* one, or, when `digest` is given, the latest one that recorded that digest.
|
|
77
|
+
* A digest the ledger never recorded for the component is an error.
|
|
78
|
+
*/
|
|
79
|
+
export declare function selectRelease(records: ReleaseRecord[], component: string, env: string, digest?: string): {
|
|
80
|
+
record: ReleaseRecord;
|
|
81
|
+
} | {
|
|
82
|
+
error: string;
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Read `--digest <component>=<digest>` values (#2602) into a component-to-
|
|
86
|
+
* digest map. A value with no `=` is left to the single-component form
|
|
87
|
+
* (`--component <name> --digest <digest>`), so it is an error here. An empty
|
|
88
|
+
* digest is an error too: a generated promote job passes one when the job that
|
|
89
|
+
* deployed the component recorded no release, and promoting whatever is
|
|
90
|
+
* latest instead is the thing the pin is there to prevent.
|
|
91
|
+
*/
|
|
92
|
+
export declare function parseDigestPins(values: string[]): {
|
|
93
|
+
pins: Record<string, string>;
|
|
94
|
+
} | {
|
|
95
|
+
error: string;
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* Decide which releases a promote deploys. With `component`, exactly that
|
|
99
|
+
* component's latest source release (or the one recording `digest`). With
|
|
100
|
+
* `pins` (#2602), exactly the pinned components, each at the source release
|
|
101
|
+
* recording its pinned digest. Otherwise, the latest source release of every
|
|
102
|
+
* component this checkout declares; a recorded component the checkout no
|
|
103
|
+
* longer declares is reported and left alone, since there is no composition
|
|
104
|
+
* to deploy it with.
|
|
105
|
+
*/
|
|
106
|
+
export declare function planPromotion(input: {
|
|
107
|
+
from: string;
|
|
108
|
+
to: string;
|
|
109
|
+
sourceRecords: ReleaseRecord[];
|
|
110
|
+
/** Names of the components this checkout declares. */
|
|
111
|
+
declared: string[];
|
|
112
|
+
component?: string;
|
|
113
|
+
digest?: string;
|
|
114
|
+
/** Component name to the digest to promote for it, from `--digest <component>=<digest>`. */
|
|
115
|
+
pins?: Record<string, string>;
|
|
116
|
+
}): PromotionPlan | {
|
|
117
|
+
error: string;
|
|
118
|
+
};
|
|
119
|
+
/**
|
|
120
|
+
* Decide which release a rollback restores: the release of `component` in
|
|
121
|
+
* `env` given by `digest`, or by default the most recent release whose digest
|
|
122
|
+
* differs from the current one. Restoring the release already current is
|
|
123
|
+
* refused, since there is nothing to roll back.
|
|
124
|
+
*/
|
|
125
|
+
export declare function planRollback(input: {
|
|
126
|
+
env: string;
|
|
127
|
+
records: ReleaseRecord[];
|
|
128
|
+
declared: string[];
|
|
129
|
+
component: string;
|
|
130
|
+
digest?: string;
|
|
131
|
+
}): PromotionPlan | {
|
|
132
|
+
error: string;
|
|
133
|
+
};
|
|
134
|
+
/**
|
|
135
|
+
* Decide what a redeploy deploys: the release of `component` the ledger in
|
|
136
|
+
* `env` records as current. A deploy that fails partway records nothing, so
|
|
137
|
+
* after one the ledger still names the last good release while the
|
|
138
|
+
* environment may be running part of the failed one. `digest`, when given,
|
|
139
|
+
* has to be that current digest. It guards against a deploy recorded since
|
|
140
|
+
* the caller last looked; any earlier release is a rollback.
|
|
141
|
+
*/
|
|
142
|
+
export declare function planRedeploy(input: {
|
|
143
|
+
env: string;
|
|
144
|
+
records: ReleaseRecord[];
|
|
145
|
+
declared: string[];
|
|
146
|
+
component: string;
|
|
147
|
+
digest?: string;
|
|
148
|
+
}): PromotionPlan | {
|
|
149
|
+
error: string;
|
|
150
|
+
};
|
|
151
|
+
/**
|
|
152
|
+
* The build steps that write the archive a promote's publish step reads, each
|
|
153
|
+
* to its `into` path. The SBOM steps are left out: a promote refuses a step
|
|
154
|
+
* that reads their output, so it never needs it.
|
|
155
|
+
*/
|
|
156
|
+
export declare const ARCHIVE_STEP_KINDS: readonly string[];
|
|
157
|
+
/**
|
|
158
|
+
* The paths `component`'s build steps write its archive to, in composition
|
|
159
|
+
* order without repeats (#2575). A generated pipeline carries these files from
|
|
160
|
+
* the job that deployed to the source environment to the job that promotes,
|
|
161
|
+
* since a promote publishes from the archive on disk. Throws when an `into` is
|
|
162
|
+
* not a literal path, such as a wiring reference or an `$env.` value, because
|
|
163
|
+
* a generator cannot name a file that is only known at run time.
|
|
164
|
+
*/
|
|
165
|
+
export declare function promoteArchivePaths(component: DriverComponent): string[];
|
|
166
|
+
/**
|
|
167
|
+
* Whether `component`'s deploy has a publish step (#2602). Only such a
|
|
168
|
+
* component records a release when it deploys, so only its release can be
|
|
169
|
+
* promoted; a generated pipeline pins exactly these components' digests.
|
|
170
|
+
*/
|
|
171
|
+
export declare function hasPublishStep(component: DriverComponent): boolean;
|
|
172
|
+
/** A component's composition with its build-time steps taken out. */
|
|
173
|
+
export interface PromotableComponent {
|
|
174
|
+
component: DriverComponent;
|
|
175
|
+
/** The kinds removed, in composition order. */
|
|
176
|
+
removed: string[];
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* The step a rollback puts where the publish step was: it publishes nothing
|
|
180
|
+
* and returns the recorded digest, so `@Publish.digest` resolves to it.
|
|
181
|
+
*/
|
|
182
|
+
export declare const RECORDED_DIGEST_KIND = "recorded-digest";
|
|
183
|
+
/** The capability behind {@link RECORDED_DIGEST_KIND}. */
|
|
184
|
+
export declare const recordedDigestCapability: Capability<{
|
|
185
|
+
digest: string;
|
|
186
|
+
}, {
|
|
187
|
+
digest: string;
|
|
188
|
+
}>;
|
|
189
|
+
/**
|
|
190
|
+
* Remove every build-time step from `component`'s `deploy` composition and
|
|
191
|
+
* check that what is left can be pinned to one recorded digest. A phase left
|
|
192
|
+
* with nothing to run is dropped. `rollback` phases are untouched.
|
|
193
|
+
*
|
|
194
|
+
* With `pinDigest` (a rollback, #2531, or a redeploy, #2604), the publish step is replaced too, by a
|
|
195
|
+
* {@link RECORDED_DIGEST_KIND} step carrying that digest: the environment
|
|
196
|
+
* already received the artifact when the release being restored was
|
|
197
|
+
* deployed, and the archive it came from is usually long gone. Only the
|
|
198
|
+
* digest is known then, so a step reading any other publish output (such as
|
|
199
|
+
* `@Publish.uri`) is refused.
|
|
200
|
+
*/
|
|
201
|
+
export declare function withoutBuildSteps(component: DriverComponent, opts?: {
|
|
202
|
+
pinDigest?: string;
|
|
203
|
+
verb?: string;
|
|
204
|
+
}): PromotableComponent | {
|
|
205
|
+
error: string;
|
|
206
|
+
};
|
|
207
|
+
/**
|
|
208
|
+
* A registry whose publish-family capabilities check what they published
|
|
209
|
+
* against the digest being promoted for that component. A mismatch fails the
|
|
210
|
+
* step, which fails the component through the driver's ordinary path. Every
|
|
211
|
+
* other capability is passed through untouched, and the recorded-digest step a
|
|
212
|
+
* rollback's composition carries is added.
|
|
213
|
+
*/
|
|
214
|
+
export declare function checkPublishedDigest(registry: CapabilityRegistry, expected: ReadonlyMap<string, string>): CapabilityRegistry;
|
|
215
|
+
/** Options for {@link runPromotion}. */
|
|
216
|
+
export interface RunPromotionOptions {
|
|
217
|
+
plan: PromotionPlan;
|
|
218
|
+
/** The promotable compositions (see {@link withoutBuildSteps}), one per plan item. */
|
|
219
|
+
components: DriverComponent[];
|
|
220
|
+
registry: CapabilityRegistry;
|
|
221
|
+
componentOutputs?: Record<string, Record<string, unknown>>;
|
|
222
|
+
gates?: GateLedgerPort;
|
|
223
|
+
now?: string;
|
|
224
|
+
onProgress?: (event: RunProgressEvent) => void;
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Deploy the plan's components to `plan.to`, in dependency order. A
|
|
228
|
+
* `dependsOn` edge to a component outside the promotion is dropped, the same
|
|
229
|
+
* way a single-component `chant run --components` runs without its
|
|
230
|
+
* dependencies; their outputs come from `componentOutputs`. Returns the
|
|
231
|
+
* driver's result for every outcome, including a failure.
|
|
232
|
+
*/
|
|
233
|
+
export declare function runPromotion(options: RunPromotionOptions): Promise<DriverRunResult>;
|
|
234
|
+
/** Who approved the last gate a component passed in this run, if any. */
|
|
235
|
+
export declare function gateApprover(result: DriverComponentResult | undefined): string | undefined;
|
|
236
|
+
/** What a promote, rollback or redeploy knows about its own run, for the records it writes. */
|
|
237
|
+
export interface DeployRunInfo {
|
|
238
|
+
runId: string;
|
|
239
|
+
runOrigin?: RunOrigin;
|
|
240
|
+
actor: string;
|
|
241
|
+
timestamp: string;
|
|
242
|
+
approver?: string;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* The release record a successful promotion appends to the target ledger.
|
|
246
|
+
* The digest, git sha and archive identities are the source release's own,
|
|
247
|
+
* since the artifact is the one built there; `promotedFrom` names that
|
|
248
|
+
* release.
|
|
249
|
+
*/
|
|
250
|
+
export declare function promotionRecord(item: PromotionItem, to: string, run: DeployRunInfo): ReleaseRecordInput;
|
|
251
|
+
/**
|
|
252
|
+
* The release record a successful rollback appends. Like a promotion's, it
|
|
253
|
+
* carries the restored release's artifact identities; `restores` names that
|
|
254
|
+
* release.
|
|
255
|
+
*/
|
|
256
|
+
export declare function rollbackRecord(item: PromotionItem, env: string, run: DeployRunInfo): ReleaseRecordInput;
|
|
257
|
+
/**
|
|
258
|
+
* The release record a successful redeploy appends. It carries the current
|
|
259
|
+
* release's artifact identities, as a rollback's carries the restored one's;
|
|
260
|
+
* `redeploys` names that release. The environment's current digest does not
|
|
261
|
+
* change, and the record says when it was last put back.
|
|
262
|
+
*/
|
|
263
|
+
export declare function redeployRecord(item: PromotionItem, env: string, run: DeployRunInfo): ReleaseRecordInput;
|
|
264
|
+
//# sourceMappingURL=promote.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promote.d.ts","sourceRoot":"","sources":["../../src/components/promote.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../src/components/sandbox/driver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../src/components/sandbox/driver.ts"],"names":[],"mappings":"AAwCA,MAAM,WAAW,8BAA8B;IAC7C,+EAA+E;IAC/E,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1B;AAOD;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,8BAA8B,GAAG,MAAM,CAqE7F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/components/sandbox/run.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/components/sandbox/run.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAA2B,MAAM,cAAc,CAAC;AAEvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGvD;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,yBAAyB;IACxC,gNAAgN;IAChN,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC7C,qMAAqM;IACrM,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;CACrB;AAsBD;;;;;;;;;;;GAWG;AACH,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,yBAAyB,CAAC,CA0CpC"}
|
|
@@ -51,6 +51,7 @@
|
|
|
51
51
|
* true answer for each.
|
|
52
52
|
*/
|
|
53
53
|
import type { ArtifactReproducibility, ProvenanceLink } from "./reproducibility.js";
|
|
54
|
+
import { contentDigest } from "../../content-digest.js";
|
|
54
55
|
export type BuildArchiveEntryKind = "image" | "template" | "asset" | "sbom";
|
|
55
56
|
/** One content-addressed item inside a build archive. */
|
|
56
57
|
export interface BuildArchiveEntry {
|
|
@@ -122,20 +123,30 @@ export interface BuildArchiveManifest {
|
|
|
122
123
|
* changed contents, not merely a re-run.
|
|
123
124
|
*/
|
|
124
125
|
manifestDigest: string;
|
|
126
|
+
/**
|
|
127
|
+
* Set on read, never written: `["legacy-digest"]` when a manifest
|
|
128
|
+
* persisted on `chant/lifecycle` holds digests from the 32-bit hash chant
|
|
129
|
+
* used before real SHA-256 (#2514). See ../../lifecycle/legacy-digest.ts.
|
|
130
|
+
*/
|
|
131
|
+
flags?: Array<"legacy-digest">;
|
|
125
132
|
}
|
|
126
133
|
/**
|
|
127
|
-
*
|
|
128
|
-
*
|
|
129
|
-
*
|
|
130
|
-
*
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
*
|
|
134
|
-
|
|
135
|
-
|
|
134
|
+
* The content digest every entry chant computes itself carries: real
|
|
135
|
+
* SHA-256 over the UTF-8 bytes of its input (../../content-digest.ts,
|
|
136
|
+
* chant #2514). Callers that digest content that never goes through the
|
|
137
|
+
* `CloudExecutor` (a synthesized template's serialized bytes, see ./build.ts's
|
|
138
|
+
* `addArchiveTemplate`, or an SBOM) use it. Production `image`/`asset`
|
|
139
|
+
* entries instead carry the digest their producing capability already
|
|
140
|
+
* computed (e.g. `docker-build`'s `executor.docker.build` digest).
|
|
141
|
+
*/
|
|
142
|
+
export { contentDigest };
|
|
143
|
+
/**
|
|
144
|
+
* Compute the aggregate `manifestDigest` over a set of entries. Each entry
|
|
145
|
+
* contributes its `kind`, `path` and `digest`; entries are sorted by path
|
|
146
|
+
* (UTF-16 code units, the order `canonicalJson` sorts keys in) so entry order
|
|
147
|
+
* never changes the digest, only content does. The list is hashed as
|
|
148
|
+
* `canonicalJson`, so no path or digest can be read as a field separator.
|
|
136
149
|
*/
|
|
137
|
-
export declare function contentDigest(input: string): string;
|
|
138
|
-
/** Compute the aggregate `manifestDigest` over a set of entries — sorted by path so entry order never changes the digest, only content does. */
|
|
139
150
|
export declare function computeManifestDigest(contents: BuildArchiveEntry[]): string;
|
|
140
151
|
/** Start a new, empty manifest for `component`. Entries are added with `addArchiveEntry`. */
|
|
141
152
|
export declare function createBuildArchiveManifest(component: string, opts?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-archive.d.ts","sourceRoot":"","sources":["../../../src/components/verbs/build-archive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAIH,OAAO,KAAK,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"build-archive.d.ts","sourceRoot":"","sources":["../../../src/components/verbs/build-archive.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-agent.d.ts","sourceRoot":"","sources":["../../../src/components/verbs/run-agent.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"run-agent.d.ts","sourceRoot":"","sources":["../../../src/components/verbs/run-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { LexiconDeclaration } from "./lexicon-module.js";
|
|
2
|
+
/** What {@link readLexiconDeclarationsStatically} found. */
|
|
3
|
+
export type StaticLexiconRead =
|
|
4
|
+
/** No `chant.config.ts` or `chant.config.json` for the directory. */
|
|
5
|
+
{
|
|
6
|
+
status: "no-config";
|
|
7
|
+
}
|
|
8
|
+
/** The declarations, in order. Empty when the config declares no `lexicons`. */
|
|
9
|
+
| {
|
|
10
|
+
status: "read";
|
|
11
|
+
configPath: string;
|
|
12
|
+
entries: LexiconDeclaration[];
|
|
13
|
+
}
|
|
14
|
+
/** The config exists, but its `lexicons` could not be read without running it. */
|
|
15
|
+
| {
|
|
16
|
+
status: "unknown";
|
|
17
|
+
configPath: string;
|
|
18
|
+
reason: string;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Find the project config for `startDir` (the walk `loadChantConfigUpward`
|
|
22
|
+
* makes) and read its `lexicons` without evaluating it.
|
|
23
|
+
*/
|
|
24
|
+
export declare function readLexiconDeclarationsStatically(startDir: string): StaticLexiconRead;
|
|
25
|
+
/** What {@link readConfigFieldsStatically} found. */
|
|
26
|
+
export type StaticFieldsRead =
|
|
27
|
+
/** No `chant.config.ts` or `chant.config.json` in the directory. */
|
|
28
|
+
{
|
|
29
|
+
status: "no-config";
|
|
30
|
+
}
|
|
31
|
+
/** Each asked-for field the config sets, folded to a value. A field it doesn't set is absent. */
|
|
32
|
+
| {
|
|
33
|
+
status: "read";
|
|
34
|
+
configPath: string;
|
|
35
|
+
fields: Record<string, unknown>;
|
|
36
|
+
}
|
|
37
|
+
/** The config exists, but a field could not be read without running it. */
|
|
38
|
+
| {
|
|
39
|
+
status: "unknown";
|
|
40
|
+
configPath: string;
|
|
41
|
+
reason: string;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Read top-level `fields` of the config in `dir` itself, as
|
|
45
|
+
* `loadChantConfig(dir)` finds it (`chant.config.ts`, else
|
|
46
|
+
* `chant.config.json`), without evaluating it. The values are not checked
|
|
47
|
+
* against the config schema; the caller does that for the fields it reads.
|
|
48
|
+
*/
|
|
49
|
+
export declare function readConfigFieldsStatically(dir: string, fields: readonly string[]): StaticFieldsRead;
|
|
50
|
+
/** The directory a read config's relative module paths resolve against. */
|
|
51
|
+
export declare function staticConfigBaseDir(read: {
|
|
52
|
+
configPath: string;
|
|
53
|
+
}): string;
|
|
54
|
+
/**
|
|
55
|
+
* The line a command prints when {@link readLexiconDeclarationsStatically}
|
|
56
|
+
* could not read the config, or `undefined` when it could.
|
|
57
|
+
*/
|
|
58
|
+
export declare function unknownPathLexiconsNotice(read: StaticLexiconRead): string | undefined;
|
|
59
|
+
//# sourceMappingURL=config-static.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-static.d.ts","sourceRoot":"","sources":["../src/config-static.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,4DAA4D;AAC5D,MAAM,MAAM,iBAAiB;AAC3B,qEAAqE;AACnE;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE;AACzB,gFAAgF;GAC9E;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,kBAAkB,EAAE,CAAA;CAAE;AACvE,kFAAkF;GAChF;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAK9D;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAcrF;AAUD,qDAAqD;AACrD,MAAM,MAAM,gBAAgB;AAC1B,oEAAoE;AAClE;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE;AACzB,iGAAiG;GAC/F;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE;AACzE,2EAA2E;GACzE;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9D;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,gBAAgB,CAQnG;AAQD,2EAA2E;AAC3E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAExE;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAMrF"}
|
package/dist/config.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import type { Severity } from "./components/verbs/vuln-scan.js";
|
|
|
6
6
|
import type { VulnPolicy } from "./components/verbs/vuln-gate.js";
|
|
7
7
|
import type { BuildParamsConfig } from "./build-params.js";
|
|
8
8
|
import type { BuildParamProvenance } from "./provenance.js";
|
|
9
|
+
import { type LexiconDeclaration } from "./lexicon-module.js";
|
|
9
10
|
/**
|
|
10
11
|
* One project-declared environment (chant #1166). Historically always a bare
|
|
11
12
|
* name (`"floci"`); an entry can now instead carry the endpoint that
|
|
@@ -74,7 +75,11 @@ export declare function matchesDeclaredEnvironment(environments: EnvironmentDecl
|
|
|
74
75
|
*/
|
|
75
76
|
export declare function environmentEndpoint(environments: EnvironmentDeclaration[] | undefined, name: string): string | undefined;
|
|
76
77
|
export declare const ChantConfigSchema: z.ZodObject<{
|
|
77
|
-
lexicons: z.ZodOptional<z.ZodArray<z.ZodString
|
|
78
|
+
lexicons: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
79
|
+
name: z.ZodString;
|
|
80
|
+
module: z.ZodString;
|
|
81
|
+
root: z.ZodOptional<z.ZodString>;
|
|
82
|
+
}, z.core.$strict>]>>>;
|
|
78
83
|
capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
79
84
|
environments: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
80
85
|
name: z.ZodString;
|
|
@@ -158,6 +163,9 @@ export declare const ChantConfigSchema: z.ZodObject<{
|
|
|
158
163
|
knowledge: z.ZodOptional<z.ZodObject<{
|
|
159
164
|
dir: z.ZodOptional<z.ZodString>;
|
|
160
165
|
}, z.core.$strip>>;
|
|
166
|
+
exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
167
|
+
include: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
168
|
+
rootOnly: z.ZodOptional<z.ZodBoolean>;
|
|
161
169
|
}, z.core.$loose>;
|
|
162
170
|
/**
|
|
163
171
|
* Top-level chant project configuration.
|
|
@@ -165,8 +173,24 @@ export declare const ChantConfigSchema: z.ZodObject<{
|
|
|
165
173
|
* Loaded from `chant.config.ts` (preferred) or `chant.config.json`.
|
|
166
174
|
*/
|
|
167
175
|
export interface ChantConfig {
|
|
168
|
-
/**
|
|
169
|
-
|
|
176
|
+
/**
|
|
177
|
+
* Lexicons to load. A bare name (`"aws"`) loads the package
|
|
178
|
+
* `@intentius/chant-lexicon-aws`. `{ name, module }` (#2520) loads a
|
|
179
|
+
* project-local lexicon from a module path, resolved against the directory
|
|
180
|
+
* holding this config; see `./lexicon-module.ts`. An optional `root`
|
|
181
|
+
* (chant#2590) names the directory holding the lexicon's other files.
|
|
182
|
+
*
|
|
183
|
+
* Once loaded, this holds names only: the loader replaces each
|
|
184
|
+
* `{ name, module }` entry with its name and records the path in
|
|
185
|
+
* {@link ChantConfig.lexiconModules}.
|
|
186
|
+
*/
|
|
187
|
+
lexicons?: LexiconDeclaration[];
|
|
188
|
+
/**
|
|
189
|
+
* Set by the config loader, never written by hand: each path-declared
|
|
190
|
+
* lexicon's name mapped to its absolute module path. Absent when every
|
|
191
|
+
* `lexicons` entry is a bare name.
|
|
192
|
+
*/
|
|
193
|
+
lexiconModules?: Record<string, string>;
|
|
170
194
|
/**
|
|
171
195
|
* Capability plugin package names to load in addition to the built-in
|
|
172
196
|
* starter set (e.g. ["acme"] loads `@intentius/chant-capability-acme`),
|
|
@@ -380,20 +404,61 @@ export interface ChantConfig {
|
|
|
380
404
|
/** Bundle directory, relative to the project root. Defaults to `"knowledge"`. */
|
|
381
405
|
dir?: string;
|
|
382
406
|
};
|
|
407
|
+
/**
|
|
408
|
+
* Globs, relative to the directory holding this config, naming files that
|
|
409
|
+
* source discovery must skip (#2519): `build`, `lint`, `list`, `explain`
|
|
410
|
+
* and every other command that walks the project for declarations never
|
|
411
|
+
* import or lint a matching file. A pattern matches a file when it matches
|
|
412
|
+
* the file's path or the path of any directory above it, so `"ops"` and
|
|
413
|
+
* `"ops/**"` both skip everything under `ops/`. Matched with picomatch,
|
|
414
|
+
* dot files included. Op discovery and component discovery honour it too
|
|
415
|
+
* (#2527). See `./discovery/walk.ts`.
|
|
416
|
+
*/
|
|
417
|
+
exclude?: string[];
|
|
418
|
+
/**
|
|
419
|
+
* Globs that re-admit files {@link exclude} would skip, and, since #2527,
|
|
420
|
+
* files the discovery walk skips by default: dot-directories, `dist`,
|
|
421
|
+
* git-ignored paths and child projects. `include` always wins over
|
|
422
|
+
* `exclude`, and it never narrows discovery on its own: a file nothing
|
|
423
|
+
* skips is discovered whether or not it matches an `include`. It never
|
|
424
|
+
* re-admits `node_modules`, `.git`, test files, workspace members, or
|
|
425
|
+
* files carrying the generated or skip marker.
|
|
426
|
+
*/
|
|
427
|
+
include?: string[];
|
|
428
|
+
/**
|
|
429
|
+
* Lets `chant build` and `chant lint` run on this project when it is the
|
|
430
|
+
* root of a declared workspace (#2537, #2524 D0). Without it, or the
|
|
431
|
+
* `--root-only` flag, both commands refuse there with `WSP000` and point to
|
|
432
|
+
* `chant workspace build` and `lint`. With it they act on the root project
|
|
433
|
+
* alone. Member directories and example-group matches are left out of
|
|
434
|
+
* discovery either way, as they are for every walk under a declaration
|
|
435
|
+
* (#2527, `workspaceMemberDirs` in `./discovery/walk.ts`). It means nothing
|
|
436
|
+
* in a project with no `chant.workspace.json`.
|
|
437
|
+
*/
|
|
438
|
+
rootOnly?: boolean;
|
|
383
439
|
}
|
|
384
440
|
/**
|
|
385
441
|
* Resolved project configuration with metadata about how it was loaded.
|
|
386
442
|
*/
|
|
443
|
+
/**
|
|
444
|
+
* A configuration as the loader returns it. `lexicons` holds names only: each
|
|
445
|
+
* `{ name, module }` entry has been replaced by its name and its path moved
|
|
446
|
+
* to `lexiconModules` (chant #2520), so a reader of a loaded config never
|
|
447
|
+
* sees the object form.
|
|
448
|
+
*/
|
|
449
|
+
export type LoadedChantConfig = Omit<ChantConfig, "lexicons"> & {
|
|
450
|
+
lexicons?: string[];
|
|
451
|
+
};
|
|
387
452
|
export interface ResolvedConfig {
|
|
388
453
|
/** The loaded configuration */
|
|
389
|
-
config:
|
|
454
|
+
config: LoadedChantConfig;
|
|
390
455
|
/** Path to the config file that was loaded, or undefined if defaults */
|
|
391
456
|
configPath?: string;
|
|
392
457
|
}
|
|
393
458
|
/**
|
|
394
459
|
* Default configuration when no config file exists.
|
|
395
460
|
*/
|
|
396
|
-
export declare const DEFAULT_CHANT_CONFIG:
|
|
461
|
+
export declare const DEFAULT_CHANT_CONFIG: LoadedChantConfig;
|
|
397
462
|
/**
|
|
398
463
|
* Load project configuration from a directory.
|
|
399
464
|
*
|
|
@@ -438,6 +503,32 @@ export declare function loadChantConfig(dir: string): Promise<ResolvedConfig>;
|
|
|
438
503
|
* config declaring any project-level key still wins where it stands.
|
|
439
504
|
*/
|
|
440
505
|
export declare function loadChantConfigUpward(startDir: string): Promise<ResolvedConfig>;
|
|
506
|
+
/** The walk {@link loadChantConfigUpward} makes, lint-only fragments skipped, without its warning. */
|
|
507
|
+
export declare function findProjectConfigPastFragments(startDir: string): {
|
|
508
|
+
dir: string;
|
|
509
|
+
configPath?: string;
|
|
510
|
+
};
|
|
511
|
+
/** A project's discovery globs (#2519) and the directory they are relative to. */
|
|
512
|
+
export interface DiscoveryGlobs {
|
|
513
|
+
/** The directory holding the config that declared the globs. */
|
|
514
|
+
root: string;
|
|
515
|
+
exclude: string[];
|
|
516
|
+
include: string[];
|
|
517
|
+
}
|
|
518
|
+
/**
|
|
519
|
+
* The `exclude`/`include` globs of the project `startDir` belongs to, found by
|
|
520
|
+
* the same upward walk as {@link loadChantConfigUpward}. `undefined` when the
|
|
521
|
+
* project declares neither. `include` re-admits what `exclude` skips, and
|
|
522
|
+
* also what the discovery walk skips by default (#2527), so it means
|
|
523
|
+
* something on its own.
|
|
524
|
+
*
|
|
525
|
+
* A config that fails to load is left to the command's own config load to
|
|
526
|
+
* report, so discovery keeps working where it did before, unless the failure
|
|
527
|
+
* is in `exclude` or `include` themselves: ignoring those would discover the
|
|
528
|
+
* very files the project asked to skip.
|
|
529
|
+
*/
|
|
530
|
+
export declare function resolveDiscoveryGlobs(startDir: string): Promise<DiscoveryGlobs | undefined>;
|
|
531
|
+
export declare function isLintOnlyFragment(configPath: string): boolean;
|
|
441
532
|
/** Whether an `ownership.env` entry is a build-parameter reference rather than a literal. */
|
|
442
533
|
export declare function isOwnershipParamRef(env: OwnershipEnv | undefined): env is {
|
|
443
534
|
param: string;
|
|
@@ -570,4 +661,12 @@ export declare function resolveVulnPolicy(config: ChantConfig): Partial<VulnPoli
|
|
|
570
661
|
* bundle rather than an error.
|
|
571
662
|
*/
|
|
572
663
|
export declare function resolveKnowledgeDir(config: ChantConfig, projectPath: string): string;
|
|
664
|
+
/**
|
|
665
|
+
* A config that failed schema validation. `key` is the top-level key of the
|
|
666
|
+
* first problem. `name` stays `"Error"`, so the printed error reads as before.
|
|
667
|
+
*/
|
|
668
|
+
export declare class InvalidChantConfigError extends Error {
|
|
669
|
+
readonly key?: string | undefined;
|
|
670
|
+
constructor(message: string, key?: string | undefined);
|
|
671
|
+
}
|
|
573
672
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACzF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|