@intentius/chant 0.13.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/audit/catalog.d.ts +45 -5
- package/dist/audit/catalog.d.ts.map +1 -1
- package/dist/audit/fetch.d.ts.map +1 -1
- package/dist/audit/proof.d.ts +3 -0
- package/dist/audit/proof.d.ts.map +1 -1
- package/dist/audit/report-model.d.ts +4 -1
- package/dist/audit/report-model.d.ts.map +1 -1
- package/dist/audit/report.d.ts +3 -0
- package/dist/audit/report.d.ts.map +1 -1
- package/dist/audit/rules-doc.d.ts +8 -2
- package/dist/audit/rules-doc.d.ts.map +1 -1
- package/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/lexicon-rolling-upgrade.d.ts +37 -0
- package/dist/cli/commands/lexicon-rolling-upgrade.d.ts.map +1 -0
- package/dist/cli/commands/lexicon-surface-diff.d.ts +48 -0
- package/dist/cli/commands/lexicon-surface-diff.d.ts.map +1 -0
- package/dist/cli/commands/lint.d.ts.map +1 -1
- package/dist/cli/commands/pinned-upgrade.d.ts +41 -0
- package/dist/cli/commands/pinned-upgrade.d.ts.map +1 -0
- package/dist/cli/handlers/build.d.ts.map +1 -1
- package/dist/cli/handlers/components.d.ts +39 -0
- package/dist/cli/handlers/components.d.ts.map +1 -0
- package/dist/cli/handlers/dev.d.ts +3 -0
- package/dist/cli/handlers/dev.d.ts.map +1 -1
- package/dist/cli/handlers/graph.d.ts +4 -2
- package/dist/cli/handlers/graph.d.ts.map +1 -1
- package/dist/cli/handlers/misc.d.ts.map +1 -1
- package/dist/cli/handlers/run.d.ts +49 -0
- package/dist/cli/handlers/run.d.ts.map +1 -1
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/registry.d.ts +35 -0
- package/dist/cli/registry.d.ts.map +1 -1
- package/dist/codegen/fetch.d.ts +22 -0
- package/dist/codegen/fetch.d.ts.map +1 -1
- package/dist/codegen/lexicon-regen.d.ts +110 -0
- package/dist/codegen/lexicon-regen.d.ts.map +1 -0
- package/dist/codegen/pinned-upgrade.d.ts +153 -0
- package/dist/codegen/pinned-upgrade.d.ts.map +1 -0
- package/dist/codegen/rolling-upgrade.d.ts +138 -0
- package/dist/codegen/rolling-upgrade.d.ts.map +1 -0
- package/dist/codegen/surface-snapshot.d.ts +173 -0
- package/dist/codegen/surface-snapshot.d.ts.map +1 -0
- package/dist/codegen/version-bump.d.ts +21 -0
- package/dist/codegen/version-bump.d.ts.map +1 -0
- package/dist/components/auto-release.d.ts +93 -0
- package/dist/components/auto-release.d.ts.map +1 -0
- package/dist/components/builders.d.ts +37 -0
- package/dist/components/builders.d.ts.map +1 -0
- package/dist/components/capability-plugin-loader.d.ts +111 -0
- package/dist/components/capability-plugin-loader.d.ts.map +1 -0
- package/dist/components/capability-plugin-schema.d.ts +24 -0
- package/dist/components/capability-plugin-schema.d.ts.map +1 -0
- package/dist/components/capability-plugin.d.ts +85 -0
- package/dist/components/capability-plugin.d.ts.map +1 -0
- package/dist/components/capability.d.ts +89 -0
- package/dist/components/capability.d.ts.map +1 -0
- package/dist/components/cli-support.d.ts +204 -0
- package/dist/components/cli-support.d.ts.map +1 -0
- package/dist/components/component.d.ts +179 -0
- package/dist/components/component.d.ts.map +1 -0
- package/dist/components/config-defaults.d.ts +41 -0
- package/dist/components/config-defaults.d.ts.map +1 -0
- package/dist/components/discover.d.ts +60 -0
- package/dist/components/discover.d.ts.map +1 -0
- package/dist/components/driver-output.d.ts +20 -0
- package/dist/components/driver-output.d.ts.map +1 -0
- package/dist/components/driver.d.ts +209 -0
- package/dist/components/driver.d.ts.map +1 -0
- package/dist/components/index.d.ts +22 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/manifest-persistence.d.ts +79 -0
- package/dist/components/manifest-persistence.d.ts.map +1 -0
- package/dist/components/pilots/alb-ecs.pilot.d.ts +27 -0
- package/dist/components/pilots/alb-ecs.pilot.d.ts.map +1 -0
- package/dist/components/pilots/dynamodb.pilot.d.ts +22 -0
- package/dist/components/pilots/dynamodb.pilot.d.ts.map +1 -0
- package/dist/components/pilots/jar-emr.pilot.d.ts +37 -0
- package/dist/components/pilots/jar-emr.pilot.d.ts.map +1 -0
- package/dist/components/pilots/lambda.pilot.d.ts +35 -0
- package/dist/components/pilots/lambda.pilot.d.ts.map +1 -0
- package/dist/components/pilots/neo4j-fanout.pilot.d.ts +17 -0
- package/dist/components/pilots/neo4j-fanout.pilot.d.ts.map +1 -0
- package/dist/components/pilots/project.d.ts +13 -0
- package/dist/components/pilots/project.d.ts.map +1 -0
- package/dist/components/presets/ecs-fargate.d.ts +59 -0
- package/dist/components/presets/ecs-fargate.d.ts.map +1 -0
- package/dist/components/presets/index.d.ts +29 -0
- package/dist/components/presets/index.d.ts.map +1 -0
- package/dist/components/presets/lambda.d.ts +35 -0
- package/dist/components/presets/lambda.d.ts.map +1 -0
- package/dist/components/presets/single-host-compose.d.ts +43 -0
- package/dist/components/presets/single-host-compose.d.ts.map +1 -0
- package/dist/components/registry.d.ts +29 -0
- package/dist/components/registry.d.ts.map +1 -0
- package/dist/components/starter-plugin.d.ts +51 -0
- package/dist/components/starter-plugin.d.ts.map +1 -0
- package/dist/components/temporal-codegen-loader.d.ts +27 -0
- package/dist/components/temporal-codegen-loader.d.ts.map +1 -0
- package/dist/components/verbs/__tests__/mock-cloud-executor.d.ts +35 -0
- package/dist/components/verbs/__tests__/mock-cloud-executor.d.ts.map +1 -0
- package/dist/components/verbs/__tests__/mock-process-runner.d.ts +45 -0
- package/dist/components/verbs/__tests__/mock-process-runner.d.ts.map +1 -0
- package/dist/components/verbs/__tests__/mock-sbom-generator.d.ts +33 -0
- package/dist/components/verbs/__tests__/mock-sbom-generator.d.ts.map +1 -0
- package/dist/components/verbs/bom-writer.d.ts +155 -0
- package/dist/components/verbs/bom-writer.d.ts.map +1 -0
- package/dist/components/verbs/build-archive.d.ts +205 -0
- package/dist/components/verbs/build-archive.d.ts.map +1 -0
- package/dist/components/verbs/build.d.ts +150 -0
- package/dist/components/verbs/build.d.ts.map +1 -0
- package/dist/components/verbs/cloud-executor.d.ts +88 -0
- package/dist/components/verbs/cloud-executor.d.ts.map +1 -0
- package/dist/components/verbs/component-bom.d.ts +103 -0
- package/dist/components/verbs/component-bom.d.ts.map +1 -0
- package/dist/components/verbs/index.d.ts +49 -0
- package/dist/components/verbs/index.d.ts.map +1 -0
- package/dist/components/verbs/license-policy.d.ts +56 -0
- package/dist/components/verbs/license-policy.d.ts.map +1 -0
- package/dist/components/verbs/lockfile-sbom-generator.d.ts +81 -0
- package/dist/components/verbs/lockfile-sbom-generator.d.ts.map +1 -0
- package/dist/components/verbs/process-runner.d.ts +64 -0
- package/dist/components/verbs/process-runner.d.ts.map +1 -0
- package/dist/components/verbs/reproducibility.d.ts +80 -0
- package/dist/components/verbs/reproducibility.d.ts.map +1 -0
- package/dist/components/verbs/sbom-generator.d.ts +157 -0
- package/dist/components/verbs/sbom-generator.d.ts.map +1 -0
- package/dist/components/verbs/sbom.d.ts +79 -0
- package/dist/components/verbs/sbom.d.ts.map +1 -0
- package/dist/components/verbs/shell.d.ts +35 -0
- package/dist/components/verbs/shell.d.ts.map +1 -0
- package/dist/components/verbs/sign.d.ts +222 -0
- package/dist/components/verbs/sign.d.ts.map +1 -0
- package/dist/components/verbs/stub.d.ts +18 -0
- package/dist/components/verbs/stub.d.ts.map +1 -0
- package/dist/components/verbs/tool-sbom-generator.d.ts +51 -0
- package/dist/components/verbs/tool-sbom-generator.d.ts.map +1 -0
- package/dist/components/verbs/verify.d.ts +106 -0
- package/dist/components/verbs/verify.d.ts.map +1 -0
- package/dist/components/verbs/vex.d.ts +65 -0
- package/dist/components/verbs/vex.d.ts.map +1 -0
- package/dist/components/verbs/vuln-gate.d.ts +91 -0
- package/dist/components/verbs/vuln-gate.d.ts.map +1 -0
- package/dist/components/verbs/vuln-scan.d.ts +116 -0
- package/dist/components/verbs/vuln-scan.d.ts.map +1 -0
- package/dist/components/verbs/wait-verify.d.ts +85 -0
- package/dist/components/verbs/wait-verify.d.ts.map +1 -0
- package/dist/config.d.ts +205 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/lexicon.d.ts +78 -0
- package/dist/lexicon.d.ts.map +1 -1
- package/dist/lifecycle/build-ledger-store.d.ts +121 -0
- package/dist/lifecycle/build-ledger-store.d.ts.map +1 -0
- package/dist/lifecycle/build-ledger.d.ts +225 -0
- package/dist/lifecycle/build-ledger.d.ts.map +1 -0
- package/dist/lifecycle/git.d.ts +84 -0
- package/dist/lifecycle/git.d.ts.map +1 -1
- package/dist/lifecycle/index.d.ts +5 -0
- package/dist/lifecycle/index.d.ts.map +1 -1
- package/dist/lifecycle/oras-referrer-lookup.d.ts +41 -0
- package/dist/lifecycle/oras-referrer-lookup.d.ts.map +1 -0
- package/dist/lifecycle/release-ledger.d.ts +122 -0
- package/dist/lifecycle/release-ledger.d.ts.map +1 -0
- package/dist/lifecycle/status.d.ts +150 -0
- package/dist/lifecycle/status.d.ts.map +1 -0
- package/dist/lint/component-checks.d.ts +95 -0
- package/dist/lint/component-checks.d.ts.map +1 -0
- package/dist/lint/engine.d.ts +23 -0
- package/dist/lint/engine.d.ts.map +1 -1
- package/dist/lint/presets/strict.json +8 -1
- package/dist/lint/rules/__fixtures__/comp/comp000-discovery-error/broken-a.component.d.ts +4 -0
- package/dist/lint/rules/__fixtures__/comp/comp000-discovery-error/broken-a.component.d.ts.map +1 -0
- package/dist/lint/rules/__fixtures__/comp/comp000-discovery-error/broken-b.component.d.ts +4 -0
- package/dist/lint/rules/__fixtures__/comp/comp000-discovery-error/broken-b.component.d.ts.map +1 -0
- package/dist/lint/rules/__fixtures__/comp/comp001/fail/orphan-lib.component.d.ts +4 -0
- package/dist/lint/rules/__fixtures__/comp/comp001/fail/orphan-lib.component.d.ts.map +1 -0
- package/dist/lint/rules/__fixtures__/comp/comp001/pass/emr-job.component.d.ts +4 -0
- package/dist/lint/rules/__fixtures__/comp/comp001/pass/emr-job.component.d.ts.map +1 -0
- package/dist/lint/rules/__fixtures__/comp/comp001/pass/jar-lib.component.d.ts +4 -0
- package/dist/lint/rules/__fixtures__/comp/comp001/pass/jar-lib.component.d.ts.map +1 -0
- package/dist/lint/rules/__fixtures__/comp/comp002/fail/search-service.component.d.ts +10 -0
- package/dist/lint/rules/__fixtures__/comp/comp002/fail/search-service.component.d.ts.map +1 -0
- package/dist/lint/rules/__fixtures__/comp/comp002/pass/jar-lib.component.d.ts +3 -0
- package/dist/lint/rules/__fixtures__/comp/comp002/pass/jar-lib.component.d.ts.map +1 -0
- package/dist/lint/rules/__fixtures__/comp/comp002/pass/search-service.component.d.ts +4 -0
- package/dist/lint/rules/__fixtures__/comp/comp002/pass/search-service.component.d.ts.map +1 -0
- package/dist/lint/rules/__fixtures__/comp/comp003/fail/migrator.component.d.ts +4 -0
- package/dist/lint/rules/__fixtures__/comp/comp003/fail/migrator.component.d.ts.map +1 -0
- package/dist/lint/rules/__fixtures__/comp/comp003/pass/migrator.component.d.ts +4 -0
- package/dist/lint/rules/__fixtures__/comp/comp003/pass/migrator.component.d.ts.map +1 -0
- package/dist/lint/rules/__fixtures__/comp/comp003/pass/orders-table.component.d.ts +4 -0
- package/dist/lint/rules/__fixtures__/comp/comp003/pass/orders-table.component.d.ts.map +1 -0
- package/dist/lint/rules/__fixtures__/comp/comp004/fail/neo4j-cluster.component.d.ts +4 -0
- package/dist/lint/rules/__fixtures__/comp/comp004/fail/neo4j-cluster.component.d.ts.map +1 -0
- package/dist/lint/rules/__fixtures__/comp/comp004/pass/neo4j-cluster.component.d.ts +4 -0
- package/dist/lint/rules/__fixtures__/comp/comp004/pass/neo4j-cluster.component.d.ts.map +1 -0
- package/dist/lint/rules/__fixtures__/comp/comp004/pass/orders-table.component.d.ts +4 -0
- package/dist/lint/rules/__fixtures__/comp/comp004/pass/orders-table.component.d.ts.map +1 -0
- package/dist/lint/rules/__fixtures__/comp/comp005/fail/search-service.component.d.ts +4 -0
- package/dist/lint/rules/__fixtures__/comp/comp005/fail/search-service.component.d.ts.map +1 -0
- package/dist/lint/rules/__fixtures__/comp/comp005/pass/search-service.component.d.ts +4 -0
- package/dist/lint/rules/__fixtures__/comp/comp005/pass/search-service.component.d.ts.map +1 -0
- package/dist/lint/rules/__fixtures__/comp/comp006/fail/legacy-tool.component.d.ts +4 -0
- package/dist/lint/rules/__fixtures__/comp/comp006/fail/legacy-tool.component.d.ts.map +1 -0
- package/dist/lint/rules/__fixtures__/comp/comp006/pass/legacy-tool.component.d.ts +4 -0
- package/dist/lint/rules/__fixtures__/comp/comp006/pass/legacy-tool.component.d.ts.map +1 -0
- package/dist/lint/rules/__fixtures__/comp/comp007/fail/inventory-table.component.d.ts +4 -0
- package/dist/lint/rules/__fixtures__/comp/comp007/fail/inventory-table.component.d.ts.map +1 -0
- package/dist/lint/rules/__fixtures__/comp/comp007/fail/orders-table.component.d.ts +4 -0
- package/dist/lint/rules/__fixtures__/comp/comp007/fail/orders-table.component.d.ts.map +1 -0
- package/dist/lint/rules/__fixtures__/comp/comp007/pass/orders-table.component.d.ts +3 -0
- package/dist/lint/rules/__fixtures__/comp/comp007/pass/orders-table.component.d.ts.map +1 -0
- package/dist/lint/rules/__fixtures__/comp/comp007/pass/search-service.component.d.ts +4 -0
- package/dist/lint/rules/__fixtures__/comp/comp007/pass/search-service.component.d.ts.map +1 -0
- package/dist/lint/rules/comp/comp001-publishes-never-applies.d.ts +20 -0
- package/dist/lint/rules/comp/comp001-publishes-never-applies.d.ts.map +1 -0
- package/dist/lint/rules/comp/comp002-dangling-wiring-ref.d.ts +28 -0
- package/dist/lint/rules/comp/comp002-dangling-wiring-ref.d.ts.map +1 -0
- package/dist/lint/rules/comp/comp003-mutating-no-rollback.d.ts +39 -0
- package/dist/lint/rules/comp/comp003-mutating-no-rollback.d.ts.map +1 -0
- package/dist/lint/rules/comp/comp004-gate-needs-temporal.d.ts +37 -0
- package/dist/lint/rules/comp/comp004-gate-needs-temporal.d.ts.map +1 -0
- package/dist/lint/rules/comp/comp005-capability-kind-is-noun.d.ts +43 -0
- package/dist/lint/rules/comp/comp005-capability-kind-is-noun.d.ts.map +1 -0
- package/dist/lint/rules/comp/comp006-shell-needs-reason.d.ts +22 -0
- package/dist/lint/rules/comp/comp006-shell-needs-reason.d.ts.map +1 -0
- package/dist/lint/rules/comp/comp007-composition-sprawl.d.ts +33 -0
- package/dist/lint/rules/comp/comp007-composition-sprawl.d.ts.map +1 -0
- package/dist/lint/rules/comp/index.d.ts +18 -0
- package/dist/lint/rules/comp/index.d.ts.map +1 -0
- package/dist/lint/rules/comp/support.d.ts +71 -0
- package/dist/lint/rules/comp/support.d.ts.map +1 -0
- package/dist/lsp/lexicon-providers.d.ts.map +1 -1
- package/dist/op/activity-registry.d.ts +11 -6
- package/dist/op/activity-registry.d.ts.map +1 -1
- package/dist/op/activity-runtime.d.ts +24 -0
- package/dist/op/activity-runtime.d.ts.map +1 -0
- package/dist/op/builders.d.ts +56 -0
- package/dist/op/builders.d.ts.map +1 -1
- package/dist/op/index.d.ts +2 -1
- package/dist/op/index.d.ts.map +1 -1
- package/dist/ownership.d.ts +20 -14
- package/dist/ownership.d.ts.map +1 -1
- package/package.json +14 -1
- package/src/audit/catalog.test.ts +74 -22
- package/src/audit/catalog.ts +74 -471
- package/src/audit/fetch.test.ts +112 -8
- package/src/audit/fetch.ts +53 -8
- package/src/audit/proof.ts +4 -2
- package/src/audit/report-html.test.ts +14 -7
- package/src/audit/report-model.ts +20 -9
- package/src/audit/report.test.ts +36 -13
- package/src/audit/report.ts +2 -0
- package/src/audit/rules-doc.test.ts +8 -6
- package/src/audit/rules-doc.ts +13 -5
- package/src/cli/commands/audit.ts +23 -18
- package/src/cli/commands/component-lint.test.ts +158 -0
- package/src/cli/commands/doctor.test.ts +116 -2
- package/src/cli/commands/doctor.ts +46 -0
- package/src/cli/commands/lexicon-rolling-upgrade.ts +198 -0
- package/src/cli/commands/lexicon-surface-diff.test.ts +104 -0
- package/src/cli/commands/lexicon-surface-diff.ts +185 -0
- package/src/cli/commands/lint.ts +142 -1
- package/src/cli/commands/pinned-upgrade.ts +204 -0
- package/src/cli/handlers/build.ts +58 -1
- package/src/cli/handlers/components.test.ts +504 -0
- package/src/cli/handlers/components.ts +404 -0
- package/src/cli/handlers/dev.ts +60 -1
- package/src/cli/handlers/graph.ts +47 -2
- package/src/cli/handlers/misc.ts +45 -1
- package/src/cli/handlers/run.test.ts +967 -3
- package/src/cli/handlers/run.ts +618 -11
- package/src/cli/main.test.ts +66 -0
- package/src/cli/main.ts +105 -2
- package/src/cli/registry.ts +35 -0
- package/src/codegen/fetch.test.ts +84 -3
- package/src/codegen/fetch.ts +76 -2
- package/src/codegen/lexicon-regen.test.ts +298 -0
- package/src/codegen/lexicon-regen.ts +545 -0
- package/src/codegen/pinned-upgrade.test.ts +399 -0
- package/src/codegen/pinned-upgrade.ts +423 -0
- package/src/codegen/rolling-upgrade.test.ts +333 -0
- package/src/codegen/rolling-upgrade.ts +320 -0
- package/src/codegen/surface-snapshot.test.ts +461 -0
- package/src/codegen/surface-snapshot.ts +546 -0
- package/src/codegen/version-bump.test.ts +47 -0
- package/src/codegen/version-bump.ts +39 -0
- package/src/components/README.md +130 -0
- package/src/components/SPRAWL-VALIDATION.md +181 -0
- package/src/components/__fixtures__/alb-ecs-service.json +51 -0
- package/src/components/__fixtures__/dynamodb-infra.json +32 -0
- package/src/components/__fixtures__/emr-job-consumer.json +26 -0
- package/src/components/__fixtures__/jar-lib-producer.json +16 -0
- package/src/components/__fixtures__/lambda-image-processor.json +28 -0
- package/src/components/__fixtures__/neo4j-fanout.json +34 -0
- package/src/components/__fixtures__/single-host-compose.json +29 -0
- package/src/components/auto-release.test.ts +217 -0
- package/src/components/auto-release.ts +216 -0
- package/src/components/builders.test.ts +45 -0
- package/src/components/builders.ts +71 -0
- package/src/components/capability-plugin-loader.ts +218 -0
- package/src/components/capability-plugin-schema.ts +56 -0
- package/src/components/capability-plugin.test.ts +235 -0
- package/src/components/capability-plugin.ts +108 -0
- package/src/components/capability.ts +117 -0
- package/src/components/cli-support.test.ts +579 -0
- package/src/components/cli-support.ts +481 -0
- package/src/components/component-schema.test.ts +265 -0
- package/src/components/component.schema.json +235 -0
- package/src/components/component.test.ts +251 -0
- package/src/components/component.ts +255 -0
- package/src/components/config-defaults.test.ts +263 -0
- package/src/components/config-defaults.ts +145 -0
- package/src/components/discover.test.ts +352 -0
- package/src/components/discover.ts +167 -0
- package/src/components/driver-output.ts +71 -0
- package/src/components/driver.test.ts +638 -0
- package/src/components/driver.ts +690 -0
- package/src/components/index.ts +113 -0
- package/src/components/manifest-persistence.test.ts +152 -0
- package/src/components/manifest-persistence.ts +164 -0
- package/src/components/pilots/README.md +33 -0
- package/src/components/pilots/alb-ecs.pilot.ts +63 -0
- package/src/components/pilots/dynamodb.pilot.ts +59 -0
- package/src/components/pilots/jar-emr.pilot.ts +69 -0
- package/src/components/pilots/lambda.pilot.ts +55 -0
- package/src/components/pilots/neo4j-fanout.pilot.ts +92 -0
- package/src/components/pilots/pilots-lint-clean.test.ts +78 -0
- package/src/components/pilots/pilots.test.ts +126 -0
- package/src/components/pilots/project.ts +13 -0
- package/src/components/presets/comp007-reduction.test.ts +122 -0
- package/src/components/presets/ecs-fargate.test.ts +84 -0
- package/src/components/presets/ecs-fargate.ts +103 -0
- package/src/components/presets/index.ts +32 -0
- package/src/components/presets/lambda.test.ts +35 -0
- package/src/components/presets/lambda.ts +53 -0
- package/src/components/presets/single-host-compose.test.ts +65 -0
- package/src/components/presets/single-host-compose.ts +64 -0
- package/src/components/registry.test.ts +112 -0
- package/src/components/registry.ts +37 -0
- package/src/components/starter-plugin.ts +105 -0
- package/src/components/temporal-codegen-loader.ts +41 -0
- package/src/components/verbs/__fixtures__/package-lock.json +45 -0
- package/src/components/verbs/__fixtures__/pom.xml +37 -0
- package/src/components/verbs/__fixtures__/schemas/cyclonedx-1.5.schema.json +3800 -0
- package/src/components/verbs/__fixtures__/schemas/cyclonedx-spdx-license.schema.json +621 -0
- package/src/components/verbs/__fixtures__/schemas/jsf-0.82.schema.json +240 -0
- package/src/components/verbs/__fixtures__/schemas/spdx-2.3.schema.json +740 -0
- package/src/components/verbs/__tests__/mock-cloud-executor.ts +102 -0
- package/src/components/verbs/__tests__/mock-process-runner.ts +79 -0
- package/src/components/verbs/__tests__/mock-sbom-generator.ts +85 -0
- package/src/components/verbs/bom-writer.test.ts +331 -0
- package/src/components/verbs/bom-writer.ts +386 -0
- package/src/components/verbs/build-archive.test.ts +251 -0
- package/src/components/verbs/build-archive.ts +296 -0
- package/src/components/verbs/build.test.ts +222 -0
- package/src/components/verbs/build.ts +252 -0
- package/src/components/verbs/cloud-executor.ts +181 -0
- package/src/components/verbs/component-bom.test.ts +219 -0
- package/src/components/verbs/component-bom.ts +189 -0
- package/src/components/verbs/index.ts +49 -0
- package/src/components/verbs/license-policy.ts +115 -0
- package/src/components/verbs/lockfile-sbom-generator.test.ts +195 -0
- package/src/components/verbs/lockfile-sbom-generator.ts +236 -0
- package/src/components/verbs/process-runner.test.ts +79 -0
- package/src/components/verbs/process-runner.ts +113 -0
- package/src/components/verbs/reproducibility.test.ts +24 -0
- package/src/components/verbs/reproducibility.ts +100 -0
- package/src/components/verbs/sbom-generator.test.ts +96 -0
- package/src/components/verbs/sbom-generator.ts +209 -0
- package/src/components/verbs/sbom.test.ts +184 -0
- package/src/components/verbs/sbom.ts +152 -0
- package/src/components/verbs/shell.test.ts +36 -0
- package/src/components/verbs/shell.ts +51 -0
- package/src/components/verbs/sign.test.ts +210 -0
- package/src/components/verbs/sign.ts +350 -0
- package/src/components/verbs/stub.ts +34 -0
- package/src/components/verbs/tool-sbom-generator.test.ts +194 -0
- package/src/components/verbs/tool-sbom-generator.ts +192 -0
- package/src/components/verbs/verify.test.ts +159 -0
- package/src/components/verbs/verify.ts +179 -0
- package/src/components/verbs/vex.ts +182 -0
- package/src/components/verbs/vuln-gate.test.ts +201 -0
- package/src/components/verbs/vuln-gate.ts +170 -0
- package/src/components/verbs/vuln-scan.test.ts +145 -0
- package/src/components/verbs/vuln-scan.ts +266 -0
- package/src/components/verbs/wait-verify.test.ts +111 -0
- package/src/components/verbs/wait-verify.ts +171 -0
- package/src/config.test.ts +74 -1
- package/src/config.ts +219 -0
- package/src/index.ts +32 -0
- package/src/lexicon.ts +88 -0
- package/src/lifecycle/build-ledger-store.test.ts +217 -0
- package/src/lifecycle/build-ledger-store.ts +165 -0
- package/src/lifecycle/build-ledger.test.ts +349 -0
- package/src/lifecycle/build-ledger.ts +305 -0
- package/src/lifecycle/git.test.ts +118 -0
- package/src/lifecycle/git.ts +149 -14
- package/src/lifecycle/index.ts +5 -0
- package/src/lifecycle/oras-referrer-lookup.test.ts +116 -0
- package/src/lifecycle/oras-referrer-lookup.ts +110 -0
- package/src/lifecycle/release-ledger.test.ts +209 -0
- package/src/lifecycle/release-ledger.ts +185 -0
- package/src/lifecycle/status.test.ts +330 -0
- package/src/lifecycle/status.ts +278 -0
- package/src/lint/component-checks.ts +148 -0
- package/src/lint/config.test.ts +21 -0
- package/src/lint/engine.ts +11 -2
- package/src/lint/presets/relaxed.json +8 -1
- package/src/lint/presets/strict.json +8 -1
- package/src/lint/rules/__fixtures__/comp/comp000-discovery-error/broken-a.component.ts +9 -0
- package/src/lint/rules/__fixtures__/comp/comp000-discovery-error/broken-b.component.ts +9 -0
- package/src/lint/rules/__fixtures__/comp/comp001/fail/orphan-lib.component.ts +11 -0
- package/src/lint/rules/__fixtures__/comp/comp001/pass/emr-job.component.ts +13 -0
- package/src/lint/rules/__fixtures__/comp/comp001/pass/jar-lib.component.ts +11 -0
- package/src/lint/rules/__fixtures__/comp/comp002/fail/search-service.component.ts +27 -0
- package/src/lint/rules/__fixtures__/comp/comp002/pass/jar-lib.component.ts +10 -0
- package/src/lint/rules/__fixtures__/comp/comp002/pass/search-service.component.ts +23 -0
- package/src/lint/rules/__fixtures__/comp/comp003/fail/migrator.component.ts +10 -0
- package/src/lint/rules/__fixtures__/comp/comp003/pass/migrator.component.ts +19 -0
- package/src/lint/rules/__fixtures__/comp/comp003/pass/orders-table.component.ts +10 -0
- package/src/lint/rules/__fixtures__/comp/comp004/fail/neo4j-cluster.component.ts +20 -0
- package/src/lint/rules/__fixtures__/comp/comp004/pass/neo4j-cluster.component.ts +23 -0
- package/src/lint/rules/__fixtures__/comp/comp004/pass/orders-table.component.ts +10 -0
- package/src/lint/rules/__fixtures__/comp/comp005/fail/search-service.component.ts +14 -0
- package/src/lint/rules/__fixtures__/comp/comp005/pass/search-service.component.ts +18 -0
- package/src/lint/rules/__fixtures__/comp/comp006/fail/legacy-tool.component.ts +10 -0
- package/src/lint/rules/__fixtures__/comp/comp006/pass/legacy-tool.component.ts +14 -0
- package/src/lint/rules/__fixtures__/comp/comp007/fail/inventory-table.component.ts +13 -0
- package/src/lint/rules/__fixtures__/comp/comp007/fail/orders-table.component.ts +13 -0
- package/src/lint/rules/__fixtures__/comp/comp007/pass/orders-table.component.ts +12 -0
- package/src/lint/rules/__fixtures__/comp/comp007/pass/search-service.component.ts +18 -0
- package/src/lint/rules/comp/comp.test.ts +378 -0
- package/src/lint/rules/comp/comp001-publishes-never-applies.ts +78 -0
- package/src/lint/rules/comp/comp002-dangling-wiring-ref.ts +94 -0
- package/src/lint/rules/comp/comp003-mutating-no-rollback.ts +115 -0
- package/src/lint/rules/comp/comp004-gate-needs-temporal.ts +66 -0
- package/src/lint/rules/comp/comp005-capability-kind-is-noun.ts +113 -0
- package/src/lint/rules/comp/comp006-shell-needs-reason.ts +55 -0
- package/src/lint/rules/comp/comp007-composition-sprawl.ts +71 -0
- package/src/lint/rules/comp/index.ts +37 -0
- package/src/lint/rules/comp/support.ts +173 -0
- package/src/lsp/lexicon-providers.test.ts +55 -0
- package/src/lsp/lexicon-providers.ts +13 -3
- package/src/op/activity-registry.test.ts +38 -0
- package/src/op/activity-registry.ts +31 -12
- package/src/op/activity-runtime.ts +73 -0
- package/src/op/builders.ts +92 -0
- package/src/op/index.ts +3 -1
- package/src/ownership.test.ts +24 -26
- package/src/ownership.ts +26 -38
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comp002-dangling-wiring-ref.d.ts","sourceRoot":"","sources":["../../../../src/lint/rules/comp/comp002-dangling-wiring-ref.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAmD,MAAM,wBAAwB,CAAC;AAG9G,eAAO,MAAM,4BAA4B,EAAE,cAgE1C,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* COMP003: mutating-no-rollback
|
|
3
|
+
*
|
|
4
|
+
* Flags a mutating capability step whose family has no known native/starter
|
|
5
|
+
* rollback and no explicit opt-out — the "mutating capability with no
|
|
6
|
+
* rollback and no explicit opt-out reason" guardrail from epic #551 §7 and
|
|
7
|
+
* §"Failure modes".
|
|
8
|
+
*
|
|
9
|
+
* Each capability declares its rollback disposition via `rollbackPolicy`
|
|
10
|
+
* (../../../components/capability.ts): `"native"` (a paired `rollback`, e.g.
|
|
11
|
+
* `cfn-deploy`/`ecs-update-service`/`lambda-deploy`/`code-deploy`),
|
|
12
|
+
* `"none-by-design"` (nothing to compensate — the build/publish and wait/verify
|
|
13
|
+
* families, whose outputs are immutable/content-addressed or read-only), or
|
|
14
|
+
* `"needs-opt-out"` (a mutating verb with no native rollback and no safe undo,
|
|
15
|
+
* e.g. `s3-sync`/`run-migration`). This rule flags only `"needs-opt-out"` steps
|
|
16
|
+
* lacking an explicit opt-out. It reads the disposition from the project's
|
|
17
|
+
* capability registry (`ctx.rollbackPolicies`, built by `chant lint` from the
|
|
18
|
+
* active lexicons + core starter — the same seam COMP005 uses for
|
|
19
|
+
* `ctx.knownKinds`), never a hard-coded verb list, so the aws leaves'
|
|
20
|
+
* dispositions come from the aws lexicon that owns them.
|
|
21
|
+
*
|
|
22
|
+
* The opt-out: since the capability interface and schema are out of scope for
|
|
23
|
+
* this issue (`Step` already has `additionalProperties: true` — see
|
|
24
|
+
* component.schema.json), a component may attach a `noRollback: "<reason>"`
|
|
25
|
+
* string property directly on the step to declare the compensation gap is
|
|
26
|
+
* intentional and understood, or supply its own explicit compensation via a
|
|
27
|
+
* component-level `rollback` field (as the ALB/ECS pilot does with
|
|
28
|
+
* `rollback-previous`) or a sibling `rollback-previous`/`snapshot-before` step
|
|
29
|
+
* in the same phase.
|
|
30
|
+
*
|
|
31
|
+
* Triggers on: a bare `{ kind: "run-migration", ... }` step with no
|
|
32
|
+
* `noRollback` reason, no component-level `rollback`, and no sibling
|
|
33
|
+
* `rollback-previous`/`snapshot-before` step.
|
|
34
|
+
* OK: `{ kind: "run-migration", ..., noRollback: "forward-only migration, ..." }`,
|
|
35
|
+
* or a component `rollback` field, or a sibling compensation step.
|
|
36
|
+
*/
|
|
37
|
+
import type { ComponentCheck } from "../../component-checks.js";
|
|
38
|
+
export declare const comp003MutatingNoRollbackRule: ComponentCheck;
|
|
39
|
+
//# sourceMappingURL=comp003-mutating-no-rollback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comp003-mutating-no-rollback.d.ts","sourceRoot":"","sources":["../../../../src/lint/rules/comp/comp003-mutating-no-rollback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAmD,MAAM,wBAAwB,CAAC;AAsB9G,eAAO,MAAM,6BAA6B,EAAE,cAuD3C,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* COMP004: gate-needs-temporal
|
|
3
|
+
*
|
|
4
|
+
* Flags a `gate` step anywhere in a component's composition — a durable,
|
|
5
|
+
* human-approval wait that cannot run on the local in-process executor (see
|
|
6
|
+
* ../../../components/driver.ts's `DriverGateUnsupportedError` and
|
|
7
|
+
* docs/components/orchestration.mdx's "Temporal is optional" aside: "gates ...
|
|
8
|
+
* require the durable (Temporal) execution backend").
|
|
9
|
+
*
|
|
10
|
+
* The component contract has no per-component backend/executor field (the
|
|
11
|
+
* backend is chosen per *run*, via `chant run --temporal`, per epic #551 §8 —
|
|
12
|
+
* intentionally not part of the declaration, so the same component graduates
|
|
13
|
+
* to Temporal without changing its definition). That means lint cannot tell,
|
|
14
|
+
* from the declaration alone, whether a given `gate` will actually run under
|
|
15
|
+
* Temporal when this component is deployed — every `gate` is a standing
|
|
16
|
+
* "this component needs the durable backend" fact worth surfacing, not a
|
|
17
|
+
* mistake to silently allow. Acknowledge it explicitly with a **file-level**
|
|
18
|
+
* disable directive once the durable backend is genuinely intended (see
|
|
19
|
+
* lint-rules/disable-directives.mdx) — a COMP* diagnostic carries no real
|
|
20
|
+
* line/column (it is reported for the whole component; see
|
|
21
|
+
* ../../component-checks.ts), so only the file-level `chant-disable` form is
|
|
22
|
+
* honored for these rules — `-line`/`-next-line` do not suppress a COMP*
|
|
23
|
+
* diagnostic (see ../../../cli/commands/lint.ts's
|
|
24
|
+
* `runComponentCheckDiagnostics`):
|
|
25
|
+
*
|
|
26
|
+
* ```ts
|
|
27
|
+
* // chant-disable COMP004 -- graduates to --temporal for the human approval wait
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* Triggers on: any `gate` step in `deploy`/`rollback` with no matching
|
|
31
|
+
* file-level disable directive.
|
|
32
|
+
* OK: a component with no `gate` steps at all, or a `gate` whose file-level
|
|
33
|
+
* disable directive documents the Temporal graduation.
|
|
34
|
+
*/
|
|
35
|
+
import type { ComponentCheck } from "../../component-checks.js";
|
|
36
|
+
export declare const comp004GateNeedsTemporalRule: ComponentCheck;
|
|
37
|
+
//# sourceMappingURL=comp004-gate-needs-temporal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comp004-gate-needs-temporal.d.ts","sourceRoot":"","sources":["../../../../src/lint/rules/comp/comp004-gate-needs-temporal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAmD,MAAM,wBAAwB,CAAC;AAG9G,eAAO,MAAM,4BAA4B,EAAE,cA2B1C,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* COMP005: capability-kind-is-noun
|
|
3
|
+
*
|
|
4
|
+
* Flags a step `kind` that names a component rather than an operation — the
|
|
5
|
+
* "capability-per-component (renamed sprawl)" failure mode from epic #551
|
|
6
|
+
* §"Failure modes ... + guardrails": "Tell: capabilities named after nouns."
|
|
7
|
+
* Every starter-set verb is a verb-phrase describing an operation
|
|
8
|
+
* (`cfn-deploy`, `publish-image`, `wait-steady-state`, ...); a capability
|
|
9
|
+
* named after *this* component (or any other discovered component) is
|
|
10
|
+
* exactly the sprawl the capability model exists to remove — see
|
|
11
|
+
* docs/components/capabilities.mdx#the-discipline ("A capability describes
|
|
12
|
+
* an operation, never a component").
|
|
13
|
+
*
|
|
14
|
+
* Detection is structural, not NLP: a step `kind` is flagged when it equals,
|
|
15
|
+
* or is built from, a discovered component's own kebab-case `name` (e.g. a
|
|
16
|
+
* `search-service` component composing a `{ kind: "deploy-search-service" }`
|
|
17
|
+
* or `{ kind: "search-service" }` step) — the concrete, checkable form of
|
|
18
|
+
* "named after a component" the issue asks for, mirroring how
|
|
19
|
+
* ../../../components/capability.ts's own docstring defines the discipline
|
|
20
|
+
* ("never named after the component that happens to use it").
|
|
21
|
+
*
|
|
22
|
+
* Every registered `kind` is excluded from this check unconditionally,
|
|
23
|
+
* regardless of whether its dash-separated segments happen to overlap a
|
|
24
|
+
* component's name. The allowlist comes from `ctx.knownKinds` — the kinds the
|
|
25
|
+
* project's capability registry actually resolves, which `chant lint` builds
|
|
26
|
+
* from the project's config (core's starter set plus the active lexicons'
|
|
27
|
+
* leaves, e.g. `cfn-deploy`/`wait-for-stack` when `lexicons: ["aws"]`). Without
|
|
28
|
+
* this exclusion, a component literally named "stack", "job", "image", or
|
|
29
|
+
* "host" would falsely flag `wait-for-stack`/`emr-start-job-run`/`publish-image`/
|
|
30
|
+
* `load-image-on-host` — a real capability's verb-ness is an established fact of
|
|
31
|
+
* the registry, not something to re-adjudicate by substring match. When no
|
|
32
|
+
* registry was resolved (a direct unit test), it falls back to core's starter
|
|
33
|
+
* set (`CORE_STARTER_KINDS`).
|
|
34
|
+
*
|
|
35
|
+
* Triggers on: `{ kind: "search-service" }` or `{ kind: "deploy-search-service" }`
|
|
36
|
+
* in any component, when "search-service" is a discovered component's name and
|
|
37
|
+
* neither form is a registered verb.
|
|
38
|
+
* OK: `{ kind: "cfn-deploy" }`, `{ kind: "ecs-update-service" }`,
|
|
39
|
+
* `{ kind: "wait-for-stack" }` — verb-named, and/or a registered verb.
|
|
40
|
+
*/
|
|
41
|
+
import type { ComponentCheck } from "../../component-checks.js";
|
|
42
|
+
export declare const comp005CapabilityKindIsNounRule: ComponentCheck;
|
|
43
|
+
//# sourceMappingURL=comp005-capability-kind-is-noun.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comp005-capability-kind-is-noun.d.ts","sourceRoot":"","sources":["../../../../src/lint/rules/comp/comp005-capability-kind-is-noun.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAmD,MAAM,wBAAwB,CAAC;AAwB9G,eAAO,MAAM,+BAA+B,EAAE,cA8C7C,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* COMP006: shell-needs-reason
|
|
3
|
+
*
|
|
4
|
+
* Flags a `shell` step with no (or empty/blank) `reason` — the escape-hatch
|
|
5
|
+
* discipline from epic #551 §7 and §"What chant adds": "raw `shell` without a
|
|
6
|
+
* declared reason" gets flagged. `shell` is the deliberate escape hatch
|
|
7
|
+
* (../../../components/verbs/shell.ts) for reaching past the capability set;
|
|
8
|
+
* `ShellInput.reason` is already a required field on the typed
|
|
9
|
+
* `createShellCapability` input, but a hand-authored/JSON-only component (the
|
|
10
|
+
* contract's whole point — see component-contract.mdx's "portable, not
|
|
11
|
+
* chant-only" framing) is not type-checked against that interface, so the raw
|
|
12
|
+
* JSON contract's `Step` (open `additionalProperties`) does not itself
|
|
13
|
+
* enforce it. This rule enforces the same discipline at the composition
|
|
14
|
+
* level, for every authoring form.
|
|
15
|
+
*
|
|
16
|
+
* Triggers on: `{ kind: "shell", cmd: "..." }` with no `reason`, or
|
|
17
|
+
* `reason: ""` / `reason: " "`.
|
|
18
|
+
* OK: `{ kind: "shell", cmd: "...", reason: "no capability covers <x> yet" }`.
|
|
19
|
+
*/
|
|
20
|
+
import type { ComponentCheck } from "../../component-checks.js";
|
|
21
|
+
export declare const comp006ShellNeedsReasonRule: ComponentCheck;
|
|
22
|
+
//# sourceMappingURL=comp006-shell-needs-reason.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comp006-shell-needs-reason.d.ts","sourceRoot":"","sources":["../../../../src/lint/rules/comp/comp006-shell-needs-reason.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAmD,MAAM,wBAAwB,CAAC;AAG9G,eAAO,MAAM,2BAA2B,EAAE,cA+BzC,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* COMP007: composition-sprawl
|
|
3
|
+
*
|
|
4
|
+
* Flags two or more components whose `deploy` composition is structurally
|
|
5
|
+
* identical (same phases, same `parallel`/nesting shape, same step kinds in
|
|
6
|
+
* the same order) — the "composition copy-paste (declaration sprawl)"
|
|
7
|
+
* failure mode from epic #551 §"Failure modes ... + guardrails": "Guard:
|
|
8
|
+
* presets (Level 2) + a lint hint when an identical composition repeats
|
|
9
|
+
* across components." This is a *hint*, not a hard error (severity:
|
|
10
|
+
* "warning") — the epic frames it as "reach for a preset"
|
|
11
|
+
* (docs/components/capabilities.mdx#presets--reuse-without-a-closed-set),
|
|
12
|
+
* not a correctness defect.
|
|
13
|
+
*
|
|
14
|
+
* The fingerprint (../comp/support.ts's `compositionFingerprint`) compares
|
|
15
|
+
* phase names, `parallel` flags, nesting, and step *kinds* only — never
|
|
16
|
+
* `name`/`dependsOn`/literal wiring values/params, so two components that
|
|
17
|
+
* both do "build -> publish -> apply -> verify" with the same capability
|
|
18
|
+
* kinds but different templates/clusters/images still match (that is exactly
|
|
19
|
+
* the "own destiny is in the params, not the shape" case a preset should
|
|
20
|
+
* absorb).
|
|
21
|
+
*
|
|
22
|
+
* Triggers on: three components (arbitrary example) that all compose
|
|
23
|
+
* `docker-build` -> `publish-image` -> `cfn-deploy` + `ecs-update-service` ->
|
|
24
|
+
* `wait-steady-state` + `health-gate` with no meaningful structural
|
|
25
|
+
* difference.
|
|
26
|
+
* OK: components whose phase/step-kind shape differs (a different archetype,
|
|
27
|
+
* a different apply family, fan-out vs. no fan-out, etc.) — like the four
|
|
28
|
+
* real pilots, which were deliberately chosen to be structurally distinct
|
|
29
|
+
* (see ../../../components/SPRAWL-VALIDATION.md).
|
|
30
|
+
*/
|
|
31
|
+
import type { ComponentCheck } from "../../component-checks.js";
|
|
32
|
+
export declare const comp007CompositionSprawlRule: ComponentCheck;
|
|
33
|
+
//# sourceMappingURL=comp007-composition-sprawl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comp007-composition-sprawl.d.ts","sourceRoot":"","sources":["../../../../src/lint/rules/comp/comp007-composition-sprawl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAmD,MAAM,wBAAwB,CAAC;AAG9G,eAAO,MAAM,4BAA4B,EAAE,cAoC1C,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* COMP* composition lint rules (#562, epic #551) — the long-term entropy
|
|
3
|
+
* guards over the discovered `Component` graph. See ../../component-checks.ts
|
|
4
|
+
* for why these are `ComponentCheck`s (whole-project, post-discovery) rather
|
|
5
|
+
* than `LintRule`s (single-file AST), and docs/lint-rules/composition.mdx for
|
|
6
|
+
* the user-facing reference.
|
|
7
|
+
*/
|
|
8
|
+
import type { ComponentCheck } from "../../component-checks.js";
|
|
9
|
+
export { comp001PublishesNeverAppliesRule } from "./comp001-publishes-never-applies.js";
|
|
10
|
+
export { comp002DanglingWiringRefRule } from "./comp002-dangling-wiring-ref.js";
|
|
11
|
+
export { comp003MutatingNoRollbackRule } from "./comp003-mutating-no-rollback.js";
|
|
12
|
+
export { comp004GateNeedsTemporalRule } from "./comp004-gate-needs-temporal.js";
|
|
13
|
+
export { comp005CapabilityKindIsNounRule } from "./comp005-capability-kind-is-noun.js";
|
|
14
|
+
export { comp006ShellNeedsReasonRule } from "./comp006-shell-needs-reason.js";
|
|
15
|
+
export { comp007CompositionSprawlRule } from "./comp007-composition-sprawl.js";
|
|
16
|
+
/** All seven COMP* checks, sorted by id. */
|
|
17
|
+
export declare function loadComponentChecks(): ComponentCheck[];
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lint/rules/comp/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAS7D,OAAO,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAE5E,4CAA4C;AAC5C,wBAAgB,mBAAmB,IAAI,cAAc,EAAE,CAUtD"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared walking/wiring helpers for the COMP* composition rules (#562, epic
|
|
3
|
+
* #551). Every COMP rule operates over the real, discovered `Component`
|
|
4
|
+
* graph (see ../../component-checks.ts), not raw TypeScript source — these
|
|
5
|
+
* helpers flatten a component's `deploy`/`rollback` phases into steps and
|
|
6
|
+
* parse the wiring reference forms `../../../components/driver.ts` already
|
|
7
|
+
* resolves at runtime, so lint can check the same references before
|
|
8
|
+
* anything runs (per docs/components/orchestration.mdx).
|
|
9
|
+
*/
|
|
10
|
+
import type { Component, Gate, Phase, Step } from "../../../components/component.js";
|
|
11
|
+
/** True if a step/gate/nested-phase entry is a `Gate` (`kind: "gate"`). */
|
|
12
|
+
export declare function isGateEntry(entry: Step | Gate | Phase): entry is Gate;
|
|
13
|
+
/** True if a step/gate/nested-phase entry is itself a nested `Phase` (a fan-out unit) — see `component.ts`'s `isNestedPhase`. */
|
|
14
|
+
export declare function isPhaseEntry(entry: Step | Gate | Phase): entry is Phase;
|
|
15
|
+
/** True if a step/gate/nested-phase entry is a plain capability `Step` (neither a gate nor a nested phase). */
|
|
16
|
+
export declare function isStepEntry(entry: Step | Gate | Phase): entry is Step;
|
|
17
|
+
/** One step found while walking a component, together with the (possibly nested) phase it lives directly under. */
|
|
18
|
+
export interface WalkedStep {
|
|
19
|
+
step: Step;
|
|
20
|
+
phaseName: string;
|
|
21
|
+
/**
|
|
22
|
+
* The exact `Phase` object this step lives directly under — object
|
|
23
|
+
* identity, not just `phaseName`, since two different nested fan-out
|
|
24
|
+
* phases (or a nested phase and its parent) can share the same display
|
|
25
|
+
* name. Rules that need "another step in this same phase" (e.g. COMP003's
|
|
26
|
+
* compensation-sibling check) should group by this reference, not by name.
|
|
27
|
+
*/
|
|
28
|
+
phase: Phase;
|
|
29
|
+
}
|
|
30
|
+
/** One gate found while walking a component, together with the phase it lives directly under. */
|
|
31
|
+
export interface WalkedGate {
|
|
32
|
+
gate: Gate;
|
|
33
|
+
phaseName: string;
|
|
34
|
+
phase: Phase;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Flatten every step and gate across a list of phases (including nested
|
|
38
|
+
* fan-out phases and `onFailure` compensation phases), matching
|
|
39
|
+
* `component.ts`'s own `allSteps` walk but keeping the immediate phase
|
|
40
|
+
* alongside each entry (needed for `@Phase.field` reference checks and for
|
|
41
|
+
* "same phase" sibling checks) and separating gates out explicitly.
|
|
42
|
+
*/
|
|
43
|
+
export declare function walkPhases(phases: Phase[] | undefined): {
|
|
44
|
+
steps: WalkedStep[];
|
|
45
|
+
gates: WalkedGate[];
|
|
46
|
+
};
|
|
47
|
+
/** Every step and gate across a component's `deploy` plus its top-level `rollback` phases. */
|
|
48
|
+
export declare function walkComponent(component: Component): {
|
|
49
|
+
steps: WalkedStep[];
|
|
50
|
+
gates: WalkedGate[];
|
|
51
|
+
};
|
|
52
|
+
/** Every distinct phase name declared directly in a component's `deploy` (top-level only, not nested fan-out phase names — those are addressed by the fan-out's own phase name, never the parent's). */
|
|
53
|
+
export declare function topLevelPhaseNames(component: Component): Set<string>;
|
|
54
|
+
export interface PriorStepRef {
|
|
55
|
+
kind: "prior-step";
|
|
56
|
+
phaseName: string;
|
|
57
|
+
field: string;
|
|
58
|
+
}
|
|
59
|
+
export interface ComponentArtifactRef {
|
|
60
|
+
kind: "component-artifact";
|
|
61
|
+
componentName: string;
|
|
62
|
+
field: "uri" | "digest" | "key";
|
|
63
|
+
}
|
|
64
|
+
export type WiringRef = PriorStepRef | ComponentArtifactRef;
|
|
65
|
+
/** Parse a single string value as one of the two name-bearing wiring reference forms (`@Phase.field`, `@component.publish.*`). Returns `undefined` for a plain literal, an `$env.*` reference, or a malformed `@` reference (schema validation, not lint, is responsible for rejecting malformed references). */
|
|
66
|
+
export declare function parseWiringRef(value: unknown): WiringRef | undefined;
|
|
67
|
+
/** Recursively collect every wiring-reference-shaped string found anywhere in a step's fields (imageRef, jar, revision, inputs, and any other open capability-specific property), matching how ../../../components/driver.ts's `resolveStepInput` walks a step's input. */
|
|
68
|
+
export declare function collectWiringRefs(step: Step): WiringRef[];
|
|
69
|
+
/** A structural fingerprint of a component's composition shape, ignoring `name`/`dependsOn`/wiring literal values — two components with the same fingerprint compose the exact same phase/step-kind shape (see COMP007, "identical composition repeated across components"). */
|
|
70
|
+
export declare function compositionFingerprint(component: Component): string;
|
|
71
|
+
//# sourceMappingURL=support.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"support.d.ts","sourceRoot":"","sources":["../../../../src/lint/rules/comp/support.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AAElF,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,IAAI,IAAI,CAErE;AAED,iIAAiI;AACjI,wBAAgB,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,CAEvE;AAED,+GAA+G;AAC/G,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,IAAI,IAAI,CAErE;AAED,mHAAmH;AACnH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,KAAK,EAAE,KAAK,CAAC;CACd;AAED,iGAAiG;AACjG,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,GAAG;IAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAAC,KAAK,EAAE,UAAU,EAAE,CAAA;CAAE,CAqBpG;AAED,8FAA8F;AAC9F,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG;IAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAAC,KAAK,EAAE,UAAU,EAAE,CAAA;CAAE,CAOhG;AAED,wMAAwM;AACxM,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAEpE;AASD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC;CACjC;AAED,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,oBAAoB,CAAC;AAE5D,iTAAiT;AACjT,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAcpE;AAED,2QAA2Q;AAC3Q,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,CAuBzD;AAED,gRAAgR;AAChR,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAGnE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lexicon-providers.d.ts","sourceRoot":"","sources":["../../src/lsp/lexicon-providers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAI1F,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,UAAU,GAAG,UAAU,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,mBAAmB,CAAC,EAAE,oBAAoB,GAAG,oBAAoB,CAAC;IAClE,OAAO,CAAC,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC;CAC9E;AAID;;GAEG;AACH,qBAAa,YAAY;IACX,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC;IAEzD,8DAA8D;IAC9D,gBAAgB,IAAI,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAUtE,0DAA0D;IAC1D,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAqB7C,4CAA4C;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;CAGjD;AAID;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,iBAAiB,EACtB,KAAK,EAAE,YAAY,EACnB,YAAY,EAAE,MAAM,GACnB,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"lexicon-providers.d.ts","sourceRoot":"","sources":["../../src/lsp/lexicon-providers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAI1F,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,UAAU,GAAG,UAAU,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,mBAAmB,CAAC,EAAE,oBAAoB,GAAG,oBAAoB,CAAC;IAClE,OAAO,CAAC,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC;CAC9E;AAID;;GAEG;AACH,qBAAa,YAAY;IACX,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC;IAEzD,8DAA8D;IAC9D,gBAAgB,IAAI,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAUtE,0DAA0D;IAC1D,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAqB7C,4CAA4C;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;CAGjD;AAID;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,iBAAiB,EACtB,KAAK,EAAE,YAAY,EACnB,YAAY,EAAE,MAAM,GACnB,cAAc,EAAE,CAsDlB;AAID;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE,YAAY,EACnB,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,KAAK,SAAS,GAAG,SAAS,GAC9E,SAAS,GAAG,SAAS,CAiBvB"}
|
|
@@ -15,14 +15,19 @@
|
|
|
15
15
|
*/
|
|
16
16
|
export type ActivityFn = (args: Record<string, unknown>, signal?: AbortSignal) => Promise<unknown>;
|
|
17
17
|
/**
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* `kubectlApply`, …).
|
|
18
|
+
* Build the activity map for local execution by importing activity libraries and
|
|
19
|
+
* keying every exported function by name (`shellCmd`, `kubectlApply`, `gcpApply`, …).
|
|
21
20
|
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
21
|
+
* The base activities always live in the temporal lexicon. Cloud-specific
|
|
22
|
+
* appliers live in their own lexicon (aws → `flociUp`/`flociDown`, gcp →
|
|
23
|
+
* `gcpApply`, azure → `azGroupEnsure`/`azGroupDelete`), so `lexicons` — the
|
|
24
|
+
* project's configured lexicon list — is consulted to pull those in. A lexicon
|
|
25
|
+
* that ships no `op/activities` module is skipped.
|
|
26
|
+
*
|
|
27
|
+
* Throws only if the temporal base library is missing — local execution needs
|
|
28
|
+
* the activity implementations even though it never starts a worker.
|
|
24
29
|
*/
|
|
25
|
-
export declare function loadActivities(): Promise<Map<string, ActivityFn>>;
|
|
30
|
+
export declare function loadActivities(lexicons?: string[]): Promise<Map<string, ActivityFn>>;
|
|
26
31
|
/** Structural shape of a TEMPORAL_ACTIVITY_PROFILES entry (timeout + retry). */
|
|
27
32
|
export interface ActivityProfile {
|
|
28
33
|
startToCloseTimeout?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity-registry.d.ts","sourceRoot":"","sources":["../../src/op/activity-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"activity-registry.d.ts","sourceRoot":"","sources":["../../src/op/activity-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAWnG;;;;;;;;;;;;GAYG;AACH,wBAAsB,cAAc,CAAC,QAAQ,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAwB9F;AAED,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE;QACN,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,6EAA6E;QAC7E,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;KACnC,CAAC;CACH;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAQ7E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EACnC,EAAE,EAAE,MAAM,GACT,UAAU,CAOZ"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Activity runtime helpers shared by every Op activity implementation, wherever
|
|
3
|
+
* it lives — the base activities in the temporal lexicon and the cloud-specific
|
|
4
|
+
* appliers relocated into the aws/gcp/azure lexicons. Hosting them in core keeps
|
|
5
|
+
* a cloud lexicon from having to depend on the temporal lexicon just to
|
|
6
|
+
* heartbeat or sleep.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Emit an activity heartbeat if running under a Temporal worker; otherwise no-op.
|
|
10
|
+
*
|
|
11
|
+
* The first call kicks off a one-time lazy load of `@temporalio/activity` and
|
|
12
|
+
* returns immediately; once resolved, subsequent calls heartbeat. Heartbeats
|
|
13
|
+
* are periodic (every ~15s, well inside the 60s heartbeat timeout), so the
|
|
14
|
+
* single missed first tick is harmless. Under chant's local executor (no
|
|
15
|
+
* Temporal SDK present) it no-ops, and the module imports cleanly without the SDK.
|
|
16
|
+
*/
|
|
17
|
+
export declare function safeHeartbeat(details?: unknown): void;
|
|
18
|
+
/**
|
|
19
|
+
* Sleep for `ms`, rejecting early if `signal` aborts. Polling activities use
|
|
20
|
+
* this between attempts so a local-executor timeout or Ctrl-C interrupts the
|
|
21
|
+
* wait instead of running it to completion.
|
|
22
|
+
*/
|
|
23
|
+
export declare function sleep(ms: number, signal?: AbortSignal): Promise<void>;
|
|
24
|
+
//# sourceMappingURL=activity-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-runtime.d.ts","sourceRoot":"","sources":["../../src/op/activity-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAuBH;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAWrD;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBrE"}
|
package/dist/op/builders.d.ts
CHANGED
|
@@ -55,6 +55,62 @@ export declare const shell: (cmd: string, opts?: {
|
|
|
55
55
|
}) => ActivityStep;
|
|
56
56
|
/** Run `chant teardown` in the given project directory. Uses `longInfra` profile. */
|
|
57
57
|
export declare const teardown: (path: string) => ActivityStep;
|
|
58
|
+
/**
|
|
59
|
+
* Create a local k3d cluster (vanilla Kubernetes in Docker) and merge its
|
|
60
|
+
* kubeconfig / switch context — k3d's defaults. Idempotent: skips creation if a
|
|
61
|
+
* cluster of the same name already exists. Defaults to the `longInfra` profile
|
|
62
|
+
* (creating a cluster may pull the k3s image); override via `opts.profile`.
|
|
63
|
+
*
|
|
64
|
+
* `opts` accepts `servers`, `agents`, `image`, `ports` (e.g.
|
|
65
|
+
* `["8080:80@loadbalancer"]`), `registryCreate`, `configFile`, and `timeout`.
|
|
66
|
+
*/
|
|
67
|
+
export declare const k3dUp: (name: string, opts?: Record<string, unknown>) => ActivityStep;
|
|
68
|
+
/** Delete a local k3d cluster. Defaults to the `fastIdempotent` profile (override via `opts.profile`). */
|
|
69
|
+
export declare const k3dDown: (name: string, opts?: Record<string, unknown>) => ActivityStep;
|
|
70
|
+
/**
|
|
71
|
+
* Boot a local Floci AWS emulator in Docker and point subsequent steps at it —
|
|
72
|
+
* sets `AWS_ENDPOINT_URL` + test creds in the process env so a following
|
|
73
|
+
* `cloudformation` apply targets the emulator (local executor). Idempotent:
|
|
74
|
+
* reuses a running container of the same name. Defaults to the `longInfra`
|
|
75
|
+
* profile (the image may pull); override via `opts.profile`.
|
|
76
|
+
*
|
|
77
|
+
* `opts` accepts `name`, `port`, `image`, `dockerSocket` (mount the docker
|
|
78
|
+
* socket for the ECR backing registry), `region`, `readyService`, `timeoutMs`.
|
|
79
|
+
*/
|
|
80
|
+
export declare const flociUp: (opts?: Record<string, unknown>) => ActivityStep;
|
|
81
|
+
/** Stop and remove the local Floci emulator container. Defaults to the `fastIdempotent` profile (override via `opts.profile`). */
|
|
82
|
+
export declare const flociDown: (opts?: Record<string, unknown>) => ActivityStep;
|
|
83
|
+
/**
|
|
84
|
+
* Ensure an Azure resource group exists before an ARM apply. `az deployment
|
|
85
|
+
* group create` (the `arm` apply target) fails without its group, so place this
|
|
86
|
+
* before the deploy phase. Idempotent. Defaults to the `fastIdempotent` profile
|
|
87
|
+
* (override via `opts.profile`). `opts` accepts `location` (default `eastus`).
|
|
88
|
+
*/
|
|
89
|
+
export declare const azGroupEnsure: (resourceGroup: string, opts?: Record<string, unknown>) => ActivityStep;
|
|
90
|
+
/** Delete an Azure resource group and its contents (non-blocking). Defaults to the `fastIdempotent` profile (override via `opts.profile`). */
|
|
91
|
+
export declare const azGroupDelete: (resourceGroup: string, opts?: Record<string, unknown>) => ActivityStep;
|
|
92
|
+
/**
|
|
93
|
+
* Apply chant's built ARM template directly to the ARM resource API — the Azure
|
|
94
|
+
* twin of {@link gcpApply}. Targets floci-az's resource CRUD (which `az deployment`
|
|
95
|
+
* can't, floci-az having no deployments provider) or real Azure by endpoint
|
|
96
|
+
* override; ensures the resource group first. Defaults to the `longInfra` profile.
|
|
97
|
+
*
|
|
98
|
+
* `opts` requires `resourceGroup`; accepts `location`, `endpoint` (floci-az
|
|
99
|
+
* `http://localhost:4577`), and `subscriptionId`.
|
|
100
|
+
*/
|
|
101
|
+
export declare const azApply: (templatePath: string, opts?: Record<string, unknown>) => ActivityStep;
|
|
102
|
+
/**
|
|
103
|
+
* Apply chant's built GCP (CNRM) resources directly to the GCS REST API,
|
|
104
|
+
* targeting a local floci-gcp emulator or real GCP by endpoint override — the
|
|
105
|
+
* native GCP applier (#706 starter #711), currently handling `StorageBucket`.
|
|
106
|
+
* Defaults to the `longInfra` profile (override via `opts.profile`).
|
|
107
|
+
*
|
|
108
|
+
* `opts` accepts `endpoint` (default `STORAGE_EMULATOR_HOST` env / real GCS) and
|
|
109
|
+
* `project` (default `GOOGLE_CLOUD_PROJECT` env / the CNRM project-id annotation).
|
|
110
|
+
*/
|
|
111
|
+
export declare const gcpApply: (manifestPath: string, opts?: Record<string, unknown>) => ActivityStep;
|
|
112
|
+
/** Delete the GCP (CNRM) resources in a built manifest — the inverse of {@link gcpApply}. Defaults to the `longInfra` profile (override via `opts.profile`). */
|
|
113
|
+
export declare const gcpDelete: (manifestPath: string, opts?: Record<string, unknown>) => ActivityStep;
|
|
58
114
|
/**
|
|
59
115
|
* Gate an apply on organizational policy: build the project and run its
|
|
60
116
|
* `lint.policies` over the resolved resources, blocking the workflow on any
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/op/builders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIjG;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,YAAY,CAAC,OAAO,UAAU,CAAC,CAEpE;AAED,mEAAmE;AACnE,wBAAgB,KAAK,CACnB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,cAAc,EAAE,EACvB,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAC5B,eAAe,CAEjB;AAED,iEAAiE;AACjE,wBAAgB,QAAQ,CACtB,EAAE,EAAE,MAAM,EACV,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,GAChC,YAAY,CAOd;AAED,oFAAoF;AACpF,wBAAgB,IAAI,CAClB,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD,QAAQ,CAOV;AAsBD,6EAA6E;AAC7E,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,YAGpE,CAAC;AAEF,4GAA4G;AAC5G,eAAO,MAAM,YAAY,GAAI,UAAU,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,YAG/E,CAAC;AAEF,uGAAuG;AACvG,eAAO,MAAM,WAAW,GACtB,MAAM,MAAM,EACZ,OAAO,MAAM,EACb,OAAO;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,KACtG,YAGF,CAAC;AAEF,iJAAiJ;AACjJ,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,YAG3E,CAAC;AAEF,gIAAgI;AAChI,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,YAG7E,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,iBAAiB,GAAI,KAAK,MAAM,KAAG,YACR,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,KAAK,GAChB,KAAK,MAAM,EACX,OAAO;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAA;CAAE,KACzE,YACoF,CAAC;AAExF,qFAAqF;AACrF,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,KAAG,YACU,CAAC;AAEnD;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,YAKjE,CAAC"}
|
|
1
|
+
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/op/builders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIjG;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,YAAY,CAAC,OAAO,UAAU,CAAC,CAEpE;AAED,mEAAmE;AACnE,wBAAgB,KAAK,CACnB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,cAAc,EAAE,EACvB,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAC5B,eAAe,CAEjB;AAED,iEAAiE;AACjE,wBAAgB,QAAQ,CACtB,EAAE,EAAE,MAAM,EACV,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,GAChC,YAAY,CAOd;AAED,oFAAoF;AACpF,wBAAgB,IAAI,CAClB,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD,QAAQ,CAOV;AAsBD,6EAA6E;AAC7E,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,YAGpE,CAAC;AAEF,4GAA4G;AAC5G,eAAO,MAAM,YAAY,GAAI,UAAU,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,YAG/E,CAAC;AAEF,uGAAuG;AACvG,eAAO,MAAM,WAAW,GACtB,MAAM,MAAM,EACZ,OAAO,MAAM,EACb,OAAO;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,KACtG,YAGF,CAAC;AAEF,iJAAiJ;AACjJ,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,YAG3E,CAAC;AAEF,gIAAgI;AAChI,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,YAG7E,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,iBAAiB,GAAI,KAAK,MAAM,KAAG,YACR,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,KAAK,GAChB,KAAK,MAAM,EACX,OAAO;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAA;CAAE,KACzE,YACoF,CAAC;AAExF,qFAAqF;AACrF,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,KAAG,YACU,CAAC;AAEnD;;;;;;;;GAQG;AACH,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,YAGpE,CAAC;AAEF,0GAA0G;AAC1G,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,YAGtE,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,YAGxD,CAAC;AAEF,kIAAkI;AAClI,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,YAG1D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,eAAe,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,YAGrF,CAAC;AAEF,8IAA8I;AAC9I,eAAO,MAAM,aAAa,GAAI,eAAe,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,YAGrF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO,GAAI,cAAc,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,YAG9E,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,GAAI,cAAc,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,YAG/E,CAAC;AAEF,gKAAgK;AAChK,eAAO,MAAM,SAAS,GAAI,cAAc,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,YAGhF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,YAKjE,CAAC"}
|
package/dist/op/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export { Op, phase, activity, gate, build, kubectlApply, helmInstall, waitForStack, gitlabPipeline, lifecycleSnapshot, shell, teardown, policyGate } from "./builders.js";
|
|
1
|
+
export { Op, phase, activity, gate, build, kubectlApply, helmInstall, waitForStack, gitlabPipeline, lifecycleSnapshot, shell, teardown, k3dUp, k3dDown, flociUp, flociDown, azGroupEnsure, azGroupDelete, azApply, gcpApply, gcpDelete, policyGate } from "./builders.js";
|
|
2
2
|
export { OpResource } from "./resource.js";
|
|
3
|
+
export { safeHeartbeat, sleep } from "./activity-runtime.js";
|
|
3
4
|
export type { OpConfig, PhaseDefinition, StepDefinition, ActivityStep, GateStep } from "./types.js";
|
|
4
5
|
export { discoverOps } from "./discover.js";
|
|
5
6
|
export type { DiscoveredOp, OpDiscoveryResult } from "./discover.js";
|
package/dist/op/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/op/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EACzE,cAAc,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/op/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EACzE,cAAc,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EACtF,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC1D,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjG,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACpF,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAClH,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/ownership.d.ts
CHANGED
|
@@ -25,28 +25,35 @@ export interface OwnershipMarker {
|
|
|
25
25
|
env?: string;
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
|
-
* The
|
|
29
|
-
*
|
|
30
|
-
*
|
|
28
|
+
* The marker key names a target stamps into — the managed-by/stack/env tag or
|
|
29
|
+
* label keys. Tag-key syntax differs per provider (Kubernetes/GCP labels allow
|
|
30
|
+
* a `prefix/name` form; AWS tag keys allow `:`; Azure tag keys forbid `/`), so
|
|
31
|
+
* each cloud lexicon provides its own `ChannelKeys` and passes it to these
|
|
32
|
+
* helpers. Core owns the generic stamp/detect logic and the shared label
|
|
33
|
+
* convention (`LABEL_OWNERSHIP_KEYS`), not a per-provider key registry.
|
|
31
34
|
*/
|
|
32
|
-
export
|
|
33
|
-
interface ChannelKeys {
|
|
35
|
+
export interface ChannelKeys {
|
|
34
36
|
readonly managedBy: string;
|
|
35
37
|
readonly stack: string;
|
|
36
38
|
readonly env: string;
|
|
37
39
|
}
|
|
38
|
-
/** The marker key names used in a given channel. */
|
|
39
|
-
export declare function ownershipKeys(channel: OwnershipChannel): ChannelKeys;
|
|
40
40
|
/**
|
|
41
|
-
* The
|
|
42
|
-
* stack
|
|
41
|
+
* The label-based ownership convention (`app.kubernetes.io/managed-by` +
|
|
42
|
+
* `chant.intentius.io/{stack,env}`) — the default, shared by every label-based
|
|
43
|
+
* lexicon (k8s, gcp, helm, and the Temporal apply activity's `kubectl --prune`
|
|
44
|
+
* selector). AWS and Azure tag keys are defined in their own lexicons.
|
|
43
45
|
*/
|
|
44
|
-
export declare
|
|
46
|
+
export declare const LABEL_OWNERSHIP_KEYS: ChannelKeys;
|
|
47
|
+
/**
|
|
48
|
+
* The key/value entries to stamp: the managed-by marker, the stack identity,
|
|
49
|
+
* and the env identity when present.
|
|
50
|
+
*/
|
|
51
|
+
export declare function ownershipEntries(keys: ChannelKeys, marker: OwnershipMarker): Record<string, string>;
|
|
45
52
|
/**
|
|
46
53
|
* Ownership test: does this resource carry chant's managed-by marker? Other
|
|
47
54
|
* tools may co-stamp; only the managed-by marker is required to count as owned.
|
|
48
55
|
*/
|
|
49
|
-
export declare function hasOwnershipMarker(tagsOrLabels: Record<string, unknown> | undefined,
|
|
56
|
+
export declare function hasOwnershipMarker(tagsOrLabels: Record<string, unknown> | undefined, keys: ChannelKeys): boolean;
|
|
50
57
|
/**
|
|
51
58
|
* The two live-side ownership verdicts a marker query can produce.
|
|
52
59
|
*
|
|
@@ -57,7 +64,7 @@ export declare function hasOwnershipMarker(tagsOrLabels: Record<string, unknown>
|
|
|
57
64
|
* The third verdict, `unknown`, is reserved for when no marker channel was
|
|
58
65
|
* queried at all (see the `Ownership` type in the change set).
|
|
59
66
|
*/
|
|
60
|
-
export declare function classifyOwnership(tagsOrLabels: Record<string, unknown> | undefined,
|
|
67
|
+
export declare function classifyOwnership(tagsOrLabels: Record<string, unknown> | undefined, keys: ChannelKeys): "owned" | "foreign";
|
|
61
68
|
/**
|
|
62
69
|
* Convert a tag array of `{Key, Value}` (AWS/CloudFormation form) into the
|
|
63
70
|
* key→value map the ownership helpers expect.
|
|
@@ -70,6 +77,5 @@ export declare function tagArrayToMap(tags: ReadonlyArray<{
|
|
|
70
77
|
* Read the stack/env identity from a marked resource's tags/labels. Returns
|
|
71
78
|
* undefined when the managed-by marker is absent.
|
|
72
79
|
*/
|
|
73
|
-
export declare function readOwnership(tagsOrLabels: Record<string, unknown> | undefined,
|
|
74
|
-
export {};
|
|
80
|
+
export declare function readOwnership(tagsOrLabels: Record<string, unknown> | undefined, keys: ChannelKeys): OwnershipMarker | undefined;
|
|
75
81
|
//# sourceMappingURL=ownership.d.ts.map
|
package/dist/ownership.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ownership.d.ts","sourceRoot":"","sources":["../src/ownership.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,4DAA4D;AAC5D,eAAO,MAAM,0BAA0B,UAAU,CAAC;AAElD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED
|
|
1
|
+
{"version":3,"file":"ownership.d.ts","sourceRoot":"","sources":["../src/ownership.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,4DAA4D;AAC5D,eAAO,MAAM,0BAA0B,UAAU,CAAC;AAElD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAIlC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,eAAe,GACtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOxB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACjD,IAAI,EAAE,WAAW,GAChB,OAAO,CAGT;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACjD,IAAI,EAAE,WAAW,GAChB,OAAO,GAAG,SAAS,CAErB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,aAAa,CAAC;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GAAG,SAAS,GACjE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMzB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACjD,IAAI,EAAE,WAAW,GAChB,eAAe,GAAG,SAAS,CAQ7B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intentius/chant",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"description": "Declarative infrastructure-as-code toolkit — TypeScript on Node.js",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://intentius.io/chant",
|
|
@@ -39,6 +39,11 @@
|
|
|
39
39
|
"types": "./dist/index.d.ts",
|
|
40
40
|
"default": "./src/index.ts"
|
|
41
41
|
},
|
|
42
|
+
"./yaml": {
|
|
43
|
+
"development": "./src/yaml.ts",
|
|
44
|
+
"types": "./dist/yaml.d.ts",
|
|
45
|
+
"default": "./src/yaml.ts"
|
|
46
|
+
},
|
|
42
47
|
"./cli": {
|
|
43
48
|
"development": "./src/cli/index.ts",
|
|
44
49
|
"types": "./dist/cli/index.d.ts",
|
|
@@ -54,6 +59,11 @@
|
|
|
54
59
|
"types": "./dist/op/index.d.ts",
|
|
55
60
|
"default": "./src/op/index.ts"
|
|
56
61
|
},
|
|
62
|
+
"./components": {
|
|
63
|
+
"development": "./src/components/index.ts",
|
|
64
|
+
"types": "./dist/components/index.d.ts",
|
|
65
|
+
"default": "./src/components/index.ts"
|
|
66
|
+
},
|
|
57
67
|
"./*": {
|
|
58
68
|
"development": "./src/*.ts",
|
|
59
69
|
"types": "./dist/*.d.ts",
|
|
@@ -71,5 +81,8 @@
|
|
|
71
81
|
"tsx": "^4.0.0",
|
|
72
82
|
"typescript": "^5.5.0",
|
|
73
83
|
"zod": "^4.3.6"
|
|
84
|
+
},
|
|
85
|
+
"devDependencies": {
|
|
86
|
+
"ajv": "^8.20.0"
|
|
74
87
|
}
|
|
75
88
|
}
|