@empire-builder-kit/nx 1.0.0-rc.4 → 1.0.0-rc.41
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/README.md +44 -10
- package/executors.json +21 -1
- package/generators.json +10 -0
- package/package.json +31 -7
- package/src/aws/child-environment.d.ts +10 -0
- package/src/aws/child-environment.js +77 -0
- package/src/aws/identity.d.ts +13 -0
- package/src/aws/identity.js +41 -0
- package/src/aws-authority/index.d.ts +2 -0
- package/src/aws-authority/index.js +6 -0
- package/src/aws-authority/lambda-policy-ordering.d.ts +38 -0
- package/src/aws-authority/lambda-policy-ordering.js +56 -0
- package/src/aws-authority/stage-authority.d.ts +248 -0
- package/src/aws-authority/stage-authority.js +3558 -0
- package/src/blueprints/external-sandbox.d.ts +1 -1
- package/src/blueprints/external-sandbox.js +21 -9
- package/src/blueprints/manifest.d.ts +1 -1
- package/src/blueprints/resolver.js +28 -15
- package/src/cli/bootstrap.d.ts +1 -1
- package/src/cli/deploy-runtime.d.ts +30 -0
- package/src/cli/deploy-runtime.js +174 -0
- package/src/cli/dev-command.d.ts +18 -4
- package/src/cli/dev-command.js +71 -0
- package/src/cli/main.d.ts +9 -1
- package/src/cli/main.js +157 -24
- package/src/cli/output.d.ts +1 -1
- package/src/cli/output.js +1 -1
- package/src/cli/personal-secret-runtime.d.ts +12 -0
- package/src/cli/personal-secret-runtime.js +18 -3
- package/src/cli/secret-terminal.js +1 -1
- package/src/container-images.d.ts +1 -1
- package/src/container-images.js +1 -1
- package/src/developer-agent/context.js +41 -9
- package/src/developer-agent/generator-planning.js +20 -6
- package/src/developer-agent/git-inspection.d.ts +6 -2
- package/src/developer-agent/git-inspection.js +78 -6
- package/src/developer-agent/model.d.ts +5 -3
- package/src/developer-agent/model.js +4 -4
- package/src/developer-agent/operation-registry.d.ts +15 -0
- package/src/developer-agent/operation-registry.js +342 -49
- package/src/developer-agent/planning.d.ts +8 -1
- package/src/developer-agent/planning.js +39 -16
- package/src/developer-agent/preview-changes.d.ts +2 -0
- package/src/developer-agent/preview-changes.js +14 -2
- package/src/developer-agent/preview-source.js +3 -0
- package/src/developer-agent/validation.js +25 -9
- package/src/developer-agent/workspace-inspection.js +60 -5
- package/src/executors/blueprint-trust/blueprint-trust.js +6 -0
- package/src/executors/deployment-plan/deployment-plan.d.ts +2 -0
- package/src/executors/deployment-plan/deployment-plan.js +57 -2
- package/src/executors/dev-doctor/dev-doctor.js +13 -6
- package/src/executors/dev-task-cleanup/dev-task-cleanup.d.ts +23 -0
- package/src/executors/dev-task-cleanup/dev-task-cleanup.js +145 -0
- package/src/executors/dev-task-cleanup/schema.json +9 -0
- package/src/executors/dev-task-cleanup/task-stack-absence.d.ts +27 -0
- package/src/executors/dev-task-cleanup/task-stack-absence.js +281 -0
- package/src/executors/dev-task-cleanup/task-stack-checkpoint.d.ts +12 -0
- package/src/executors/dev-task-cleanup/task-stack-checkpoint.js +92 -0
- package/src/executors/fleet/fleet.js +1 -1
- package/src/executors/foundation-preflight/foundation-preflight.d.ts +1 -0
- package/src/executors/foundation-preflight/foundation-preflight.js +6 -2
- package/src/executors/foundation-preflight/schema.json +5 -0
- package/src/executors/foundation-profile-preflight/foundation-profile-preflight.d.ts +13 -2
- package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js +95 -31
- package/src/executors/foundation-profile-preflight/production-database-safeguard.d.ts +65 -0
- package/src/executors/foundation-profile-preflight/production-database-safeguard.js +223 -0
- package/src/executors/foundation-profile-preflight/schema.json +15 -4
- package/src/executors/foundation-remove-preflight/foundation-remove-preflight.d.ts +11 -1
- package/src/executors/foundation-remove-preflight/foundation-remove-preflight.js +70 -20
- package/src/executors/foundation-remove-preflight/schema.json +6 -1
- package/src/executors/github-bootstrap/github-bootstrap.d.ts +1 -0
- package/src/executors/github-bootstrap/github-bootstrap.js +3 -0
- package/src/executors/github-bootstrap/schema.json +7 -1
- package/src/executors/infrastructure-plan/infrastructure-plan.d.ts +29 -136
- package/src/executors/infrastructure-plan/infrastructure-plan.js +230 -3282
- package/src/executors/infrastructure-plan/schema.json +12 -52
- package/src/executors/local-deploy/federated-credential-transport.d.ts +48 -0
- package/src/executors/local-deploy/federated-credential-transport.js +252 -0
- package/src/executors/local-deploy/local-approval.d.ts +18 -0
- package/src/executors/local-deploy/local-approval.js +39 -0
- package/src/executors/local-deploy/local-deploy.d.ts +112 -0
- package/src/executors/local-deploy/local-deploy.js +1404 -0
- package/src/executors/local-deploy/schema.json +70 -0
- package/src/executors/refresh/refresh.js +2 -2
- package/src/executors/remove/remove.js +2 -2
- package/src/executors/router-waf-rehearsal/router-waf-rehearsal.d.ts +42 -0
- package/src/executors/router-waf-rehearsal/router-waf-rehearsal.js +1229 -0
- package/src/executors/router-waf-rehearsal/schema.json +29 -0
- package/src/executors/secret-initialize/schema.json +42 -0
- package/src/executors/secret-initialize/secret-initialize.d.ts +34 -0
- package/src/executors/secret-initialize/secret-initialize.js +297 -0
- package/src/executors/secret-metadata/schema.json +5 -0
- package/src/executors/secret-metadata/secret-metadata.d.ts +16 -2
- package/src/executors/secret-metadata/secret-metadata.js +129 -30
- package/src/executors/sst-lifecycle/generated-secret-retirement.d.ts +53 -0
- package/src/executors/sst-lifecycle/generated-secret-retirement.js +192 -0
- package/src/executors/sst-lifecycle/governed-native-operation.d.ts +48 -0
- package/src/executors/sst-lifecycle/governed-native-operation.js +163 -0
- package/src/executors/sst-lifecycle/logging-preflight.d.ts +5 -0
- package/src/executors/sst-lifecycle/logging-preflight.js +23 -13
- package/src/executors/sst-lifecycle/run-sst-command.d.ts +46 -6
- package/src/executors/sst-lifecycle/run-sst-command.js +750 -71
- package/src/executors/sst-lifecycle/schema.json +8 -1
- package/src/executors/sst-lifecycle/secret-preflight.d.ts +2 -0
- package/src/executors/sst-lifecycle/secret-preflight.js +13 -7
- package/src/executors/sst-lifecycle/sst-environment-source.d.ts +33 -0
- package/src/executors/sst-lifecycle/sst-environment-source.js +267 -0
- package/src/executors/sst-lifecycle/task-unlock.d.ts +15 -0
- package/src/executors/sst-lifecycle/task-unlock.js +126 -0
- package/src/executors/unlock/unlock.js +2 -2
- package/src/foundation/capability-plan.d.ts +43 -0
- package/src/foundation/capability-plan.js +168 -0
- package/src/foundation/cost-estimate.d.ts +170 -0
- package/src/foundation/cost-estimate.js +683 -0
- package/src/foundation/discovery.d.ts +14 -11
- package/src/foundation/discovery.js +32 -6
- package/src/foundation/index.d.ts +4 -0
- package/src/foundation/index.js +11 -0
- package/src/foundation/local-database-contract.d.ts +20 -0
- package/src/foundation/local-database-contract.js +262 -13
- package/src/foundation/local-private-smoke-access.d.ts +20 -0
- package/src/foundation/local-private-smoke-access.js +197 -0
- package/src/foundation/logging-preflight.js +1 -1
- package/src/foundation/logging.d.ts +3 -1
- package/src/foundation/logging.js +1 -1
- package/src/foundation/partial-state.d.ts +10 -0
- package/src/foundation/partial-state.js +21 -0
- package/src/foundation/preflight.js +37 -18
- package/src/foundation/private-smoke-access.d.ts +25 -0
- package/src/foundation/private-smoke-access.js +135 -0
- package/src/foundation/private-smoke-admission.d.ts +45 -0
- package/src/foundation/private-smoke-admission.js +180 -0
- package/src/foundation/private-smoke-control-plane.d.ts +18 -0
- package/src/foundation/private-smoke-control-plane.js +184 -0
- package/src/foundation/provision-database-bindings.d.ts +5 -0
- package/src/foundation/provision-database-bindings.js +41 -8
- package/src/foundation/provision-logical-database.js +15 -8
- package/src/foundation/requirements.d.ts +3 -3
- package/src/foundation/requirements.js +24 -12
- package/src/foundation/router-waf-rate-rehearsal.d.ts +97 -0
- package/src/foundation/router-waf-rate-rehearsal.js +210 -0
- package/src/foundation/router-waf.d.ts +149 -0
- package/src/foundation/router-waf.js +809 -0
- package/src/foundation/stages.d.ts +1 -0
- package/src/foundation/stages.js +11 -0
- package/src/generators/blueprint/blueprint.d.ts +5 -0
- package/src/generators/blueprint/blueprint.js +102 -0
- package/src/generators/blueprint/files.d.ts +6 -0
- package/src/generators/blueprint/files.js +217 -0
- package/src/generators/blueprint/schema.d.ts +4 -0
- package/src/generators/blueprint/schema.json +18 -0
- package/src/generators/formatting.d.ts +8 -0
- package/src/generators/formatting.js +141 -0
- package/src/generators/function/function.js +38 -17
- package/src/generators/logging-registry.d.ts +2 -0
- package/src/generators/logging-registry.js +22 -0
- package/src/generators/post-generation-install.js +2 -2
- package/src/generators/preset/dependency-overrides.d.ts +8 -0
- package/src/generators/preset/dependency-overrides.js +55 -0
- package/src/generators/preset/generator.js +43 -3
- package/src/generators/preset/schema.d.ts +10 -0
- package/src/generators/preset/schema.json +47 -0
- package/src/generators/preset/workspace-files-adopter-skills.d.ts +7 -0
- package/src/generators/preset/workspace-files-adopter-skills.js +324 -0
- package/src/generators/preset/workspace-files-ci-acceptance.d.ts +1 -0
- package/src/generators/preset/workspace-files-ci-acceptance.js +791 -0
- package/src/generators/preset/workspace-files-ci-install.d.ts +2 -0
- package/src/generators/preset/workspace-files-ci-install.js +196 -0
- package/src/generators/preset/workspace-files-developer-agent.d.ts +2 -0
- package/src/generators/preset/workspace-files-developer-agent.js +162 -44
- package/src/generators/preset/workspace-files-ecr-inspector.d.ts +18 -0
- package/src/generators/preset/workspace-files-ecr-inspector.js +298 -0
- package/src/generators/preset/workspace-files-foundation-workload-roles.js +5 -2
- package/src/generators/preset/workspace-files-performance-cost.d.ts +2 -2
- package/src/generators/preset/workspace-files-performance-cost.js +8 -8
- package/src/generators/preset/workspace-files-performance-load.d.ts +1 -1
- package/src/generators/preset/workspace-files-performance-load.js +39 -25
- package/src/generators/preset/workspace-files-shared-operation-claims.d.ts +10 -0
- package/src/generators/preset/workspace-files-shared-operation-claims.js +59 -0
- package/src/generators/preset/workspace-files-stage-authority.d.ts +6 -0
- package/src/generators/preset/workspace-files-stage-authority.js +529 -0
- package/src/generators/preset/workspace-files-thin-deploy.d.ts +65 -0
- package/src/generators/preset/workspace-files-thin-deploy.js +2507 -0
- package/src/generators/preset/workspace-files-thin-docs.d.ts +7 -0
- package/src/generators/preset/workspace-files-thin-docs.js +370 -0
- package/src/generators/preset/workspace-files-thin-release.d.ts +14 -0
- package/src/generators/preset/workspace-files-thin-release.js +26 -0
- package/src/generators/preset/workspace-files-workload-role-baseline.js +254 -42
- package/src/generators/preset/workspace-files.d.ts +18 -2
- package/src/generators/preset/workspace-files.js +1525 -609
- package/src/generators/repository-policy/repository-policy.js +235 -5
- package/src/generators/repository-policy/schema.d.ts +10 -0
- package/src/generators/repository-policy/schema.json +80 -4
- package/src/generators/repository-policy/tree-policy.d.ts +3 -0
- package/src/generators/repository-policy/tree-policy.js +25 -0
- package/src/generators/slice/built-in-plan-api-contract-files.js +49 -11
- package/src/generators/slice/built-in-plan-api-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-api-files.js +130 -414
- package/src/generators/slice/built-in-plan-async-work-files.js +166 -1969
- package/src/generators/slice/built-in-plan-authorization-files.js +102 -334
- package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js +975 -233
- package/src/generators/slice/built-in-plan-authorization-storage.d.ts +3 -0
- package/src/generators/slice/built-in-plan-authorization-storage.js +119 -0
- package/src/generators/slice/built-in-plan-background-work-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-background-work-files.js +99 -0
- package/src/generators/slice/built-in-plan-data-deletion-files.js +2 -830
- package/src/generators/slice/built-in-plan-data-export-infrastructure-files.js +5 -31
- package/src/generators/slice/built-in-plan-data-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-data-files.js +176 -1200
- package/src/generators/slice/built-in-plan-data-lifecycle-files.js +53 -28
- package/src/generators/slice/built-in-plan-data-lifecycle-runtime-files.js +37 -2
- package/src/generators/slice/built-in-plan-data-retention-job-files.js +7 -2443
- package/src/generators/slice/built-in-plan-data-retention-launcher-files.js +50 -8
- package/src/generators/slice/built-in-plan-data-rights-files.js +6 -4482
- package/src/generators/slice/built-in-plan-database-lifecycle-files.js +44 -25
- package/src/generators/slice/built-in-plan-database-retirement-rehearsal-files.js +25 -2
- package/src/generators/slice/built-in-plan-foundation-files.d.ts +2 -1
- package/src/generators/slice/built-in-plan-foundation-files.js +39 -18
- package/src/generators/slice/built-in-plan-frontend-files.js +14 -3
- package/src/generators/slice/built-in-plan-infrastructure-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-infrastructure-files.js +933 -730
- package/src/generators/slice/built-in-plan-infrastructure-safety-files.js +75 -14
- package/src/generators/slice/built-in-plan-key-value-cleanup.d.ts +4 -0
- package/src/generators/slice/built-in-plan-key-value-cleanup.js +100 -0
- package/src/generators/slice/built-in-plan-key-value-consumer.d.ts +4 -0
- package/src/generators/slice/built-in-plan-key-value-consumer.js +151 -0
- package/src/generators/slice/built-in-plan-key-value-deletion.d.ts +2 -0
- package/src/generators/slice/built-in-plan-key-value-deletion.js +377 -0
- package/src/generators/slice/built-in-plan-key-value-delivery.d.ts +2 -0
- package/src/generators/slice/built-in-plan-key-value-delivery.js +137 -0
- package/src/generators/slice/built-in-plan-key-value-export.d.ts +2 -0
- package/src/generators/slice/built-in-plan-key-value-export.js +595 -0
- package/src/generators/slice/built-in-plan-key-value-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-key-value-files.js +31 -0
- package/src/generators/slice/built-in-plan-key-value-holds.d.ts +2 -0
- package/src/generators/slice/built-in-plan-key-value-holds.js +189 -0
- package/src/generators/slice/built-in-plan-key-value-infrastructure.d.ts +2 -0
- package/src/generators/slice/built-in-plan-key-value-infrastructure.js +102 -0
- package/src/generators/slice/built-in-plan-key-value-performance.d.ts +5 -0
- package/src/generators/slice/built-in-plan-key-value-performance.js +530 -0
- package/src/generators/slice/built-in-plan-key-value-provider.d.ts +4 -0
- package/src/generators/slice/built-in-plan-key-value-provider.js +366 -0
- package/src/generators/slice/built-in-plan-key-value-records.d.ts +3 -0
- package/src/generators/slice/built-in-plan-key-value-records.js +232 -0
- package/src/generators/slice/built-in-plan-key-value-retention-infrastructure.d.ts +2 -0
- package/src/generators/slice/built-in-plan-key-value-retention-infrastructure.js +103 -0
- package/src/generators/slice/built-in-plan-key-value-retention-job-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-key-value-retention-job-files.js +160 -0
- package/src/generators/slice/built-in-plan-key-value-retention-maintenance.d.ts +2 -0
- package/src/generators/slice/built-in-plan-key-value-retention-maintenance.js +329 -0
- package/src/generators/slice/built-in-plan-key-value-retention-worker.d.ts +2 -0
- package/src/generators/slice/built-in-plan-key-value-retention-worker.js +477 -0
- package/src/generators/slice/built-in-plan-key-value-retention.d.ts +2 -0
- package/src/generators/slice/built-in-plan-key-value-retention.js +184 -0
- package/src/generators/slice/built-in-plan-metadata-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-metadata-files.js +159 -29
- package/src/generators/slice/built-in-plan-native-runtime-authority-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-native-runtime-authority-files.js +324 -0
- package/src/generators/slice/built-in-plan-operations-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-operations-files.js +585 -97
- package/src/generators/slice/built-in-plan-performance-files.d.ts +2 -1
- package/src/generators/slice/built-in-plan-performance-files.js +220 -1074
- package/src/generators/slice/built-in-plan-project-files.js +141 -135
- package/src/generators/slice/built-in-plan-release-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-release-files.js +310 -70
- package/src/generators/slice/built-in-plan-reliability-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-reliability-files.js +283 -44
- package/src/generators/slice/built-in-plan-secret-runtime-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-secret-runtime-files.js +87 -76
- package/src/generators/slice/built-in-plan-shared.d.ts +4 -2
- package/src/generators/slice/built-in-plan-shared.js +41 -19
- package/src/generators/slice/built-in-plan-sql-events.d.ts +2 -0
- package/src/generators/slice/built-in-plan-sql-events.js +276 -0
- package/src/generators/slice/built-in-plan-testing-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-testing-files.js +304 -172
- package/src/generators/slice/built-in-plan-testing-persistence-event-files.d.ts +7 -0
- package/src/generators/slice/built-in-plan-testing-persistence-event-files.js +487 -0
- package/src/generators/slice/built-in-plan-testing-persistence-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-testing-persistence-files.js +180 -0
- package/src/generators/slice/built-in-plan-thin-release-files.d.ts +11 -0
- package/src/generators/slice/built-in-plan-thin-release-files.js +162 -0
- package/src/generators/slice/built-in-plan-verification-files.js +76 -2
- package/src/generators/slice/built-in-plan-web-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-web-files.js +223 -16
- package/src/generators/slice/built-in-plan-workload-role-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-workload-role-files.js +143 -279
- package/src/generators/slice/built-in-plan.d.ts +11 -1
- package/src/generators/slice/built-in-plan.js +83 -30
- package/src/generators/slice/data-policy-review-seed.d.ts +2 -0
- package/src/generators/slice/data-policy-review-seed.js +22 -0
- package/src/generators/slice/deployed-smoke-readiness.d.ts +2 -0
- package/src/generators/slice/deployed-smoke-readiness.js +214 -0
- package/src/generators/slice/local-source-identity.d.ts +2 -0
- package/src/generators/slice/local-source-identity.js +31 -0
- package/src/generators/slice/persistence-contract.d.ts +14 -0
- package/src/generators/slice/persistence-contract.js +32 -0
- package/src/generators/slice/slice.js +61 -50
- package/src/generators/sql/schema.d.ts +7 -0
- package/src/generators/sql/schema.json +38 -0
- package/src/generators/sql/sql.d.ts +6 -0
- package/src/generators/sql/sql.js +53 -0
- package/src/generators/upgrade/sql-seeded-reconciliation.d.ts +2 -0
- package/src/generators/upgrade/sql-seeded-reconciliation.js +170 -0
- package/src/generators/upgrade/upgrade.d.ts +15 -1
- package/src/generators/upgrade/upgrade.js +435 -44
- package/src/generators/workload/frozen-container.d.ts +1 -1
- package/src/generators/workload/performance-registration.d.ts +1 -0
- package/src/generators/workload/performance-registration.js +9 -11
- package/src/generators/workload/service-performance-files.d.ts +1 -0
- package/src/generators/workload/service-performance-files.js +27 -7
- package/src/generators/workload/workload.d.ts +1 -1
- package/src/generators/workload/workload.js +105 -29
- package/src/git-policy/action-pins.d.ts +5 -0
- package/src/git-policy/action-pins.js +5 -0
- package/src/git-policy/github-bootstrap.d.ts +48 -8
- package/src/git-policy/github-bootstrap.js +344 -176
- package/src/git-policy/routing.d.ts +7 -1
- package/src/git-policy/routing.js +62 -1
- package/src/index.d.ts +1 -0
- package/src/index.js +1 -0
- package/src/infrastructure-change/local-capability.d.ts +73 -0
- package/src/infrastructure-change/local-capability.js +114 -0
- package/src/infrastructure-change/model.d.ts +25 -4
- package/src/infrastructure-change/model.js +1 -0
- package/src/infrastructure-change/normalize.d.ts +4 -0
- package/src/infrastructure-change/normalize.js +47 -7
- package/src/infrastructure-change/plan.d.ts +30 -3
- package/src/infrastructure-change/plan.js +323 -13
- package/src/infrastructure-change/risk.d.ts +3 -1
- package/src/infrastructure-change/risk.js +96 -16
- package/src/local-dev/browser-verification.d.ts +37 -0
- package/src/local-dev/browser-verification.js +281 -0
- package/src/local-dev/contracts.d.ts +10 -1
- package/src/local-dev/contracts.js +114 -13
- package/src/local-dev/dev-command-core.js +24 -5
- package/src/local-dev/docker-credential-health.d.ts +14 -0
- package/src/local-dev/docker-credential-health.js +94 -0
- package/src/local-dev/environment-inspector.d.ts +7 -0
- package/src/local-dev/environment-inspector.js +42 -15
- package/src/local-dev/environment-state.js +2 -2
- package/src/local-dev/errors.d.ts +1 -1
- package/src/local-dev/errors.js +2 -0
- package/src/local-dev/fleet-client.js +2 -2
- package/src/local-dev/fleet-configuration.js +57 -25
- package/src/local-dev/fleet-inventory.js +58 -22
- package/src/local-dev/fleet-ipc.d.ts +7 -0
- package/src/local-dev/fleet-ipc.js +14 -2
- package/src/local-dev/fleet-launcher.d.ts +6 -0
- package/src/local-dev/fleet-launcher.js +16 -4
- package/src/local-dev/fleet-logs.js +50 -22
- package/src/local-dev/fleet-process.d.ts +20 -1
- package/src/local-dev/fleet-process.js +197 -41
- package/src/local-dev/fleet-runner-evidence.d.ts +5 -0
- package/src/local-dev/fleet-runner-evidence.js +56 -0
- package/src/local-dev/fleet-runtime.js +268 -229
- package/src/local-dev/fleet-session.d.ts +2 -0
- package/src/local-dev/fleet-session.js +28 -11
- package/src/local-dev/fleet-slice-runner-daemon.js +4 -0
- package/src/local-dev/fleet-state.d.ts +5 -2
- package/src/local-dev/fleet-state.js +25 -4
- package/src/local-dev/fleet-supervisor.d.ts +3 -0
- package/src/local-dev/fleet-supervisor.js +66 -11
- package/src/local-dev/fleet-web-start.d.ts +12 -0
- package/src/local-dev/fleet-web-start.js +48 -0
- package/src/local-dev/identity.js +3 -14
- package/src/local-dev/index.d.ts +1 -0
- package/src/local-dev/index.js +1 -0
- package/src/local-dev/native-completion.d.ts +9 -0
- package/src/local-dev/native-completion.js +130 -0
- package/src/local-dev/nx-workspace.d.ts +4 -2
- package/src/local-dev/nx-workspace.js +11 -6
- package/src/local-dev/personal-stage.d.ts +4 -5
- package/src/local-dev/personal-stage.js +6 -54
- package/src/local-dev/port-claims.d.ts +13 -0
- package/src/local-dev/port-claims.js +46 -0
- package/src/local-dev/ports.d.ts +14 -2
- package/src/local-dev/ports.js +78 -3
- package/src/local-dev/private-state.d.ts +11 -0
- package/src/local-dev/private-state.js +146 -40
- package/src/local-dev/process-group.d.ts +4 -0
- package/src/local-dev/process-group.js +29 -0
- package/src/local-dev/process-identity.d.ts +8 -0
- package/src/local-dev/process-identity.js +31 -1
- package/src/local-dev/proxy.js +11 -12
- package/src/local-dev/runtime-paths.js +1 -1
- package/src/local-dev/slice-claim.js +1 -1
- package/src/local-dev/slice-runner.d.ts +15 -6
- package/src/local-dev/slice-runner.js +189 -54
- package/src/local-dev/task-attachment.d.ts +17 -0
- package/src/local-dev/task-attachment.js +73 -0
- package/src/local-dev/task-authority.d.ts +10 -0
- package/src/local-dev/task-authority.js +27 -0
- package/src/local-dev/task-identity.d.ts +33 -0
- package/src/local-dev/task-identity.js +418 -0
- package/src/local-dev/task-native-writer.d.ts +18 -0
- package/src/local-dev/task-native-writer.js +329 -0
- package/src/local-dev/tls.js +8 -2
- package/src/local-dev/web-launch.d.ts +9 -0
- package/src/local-dev/web-launch.js +130 -0
- package/src/ownership/composition.d.ts +2 -1
- package/src/ownership/composition.js +1 -0
- package/src/performance/cost-collection.d.ts +1 -1
- package/src/performance/cost-collection.js +4 -2
- package/src/performance/cost-controls.d.ts +8 -4
- package/src/performance/cost-controls.js +39 -28
- package/src/performance/evidence.d.ts +1 -1
- package/src/performance/evidence.js +5 -3
- package/src/performance/load-safety.js +5 -3
- package/src/performance/model.d.ts +4 -4
- package/src/performance/model.js +4 -5
- package/src/performance/scenario.d.ts +22 -0
- package/src/performance/scenario.js +100 -92
- package/src/release/index.d.ts +0 -2
- package/src/release/index.js +0 -2
- package/src/release/source-authority.d.ts +5 -5
- package/src/release/source-authority.js +141 -124
- package/src/repository-policy/aurora-preflight.d.ts +1 -1
- package/src/repository-policy/aurora-preflight.js +4 -1
- package/src/repository-policy/capacity-migration.d.ts +3 -0
- package/src/repository-policy/capacity-migration.js +21 -0
- package/src/repository-policy/deployment-plan.d.ts +4 -1
- package/src/repository-policy/deployment-plan.js +9 -0
- package/src/repository-policy/foundation-profile.js +10 -1
- package/src/repository-policy/policy.d.ts +57 -3
- package/src/repository-policy/policy.js +497 -11
- package/src/schemas/blueprint-v1.json +5 -4
- package/src/schemas/foundation-requirement-v1.json +5 -4
- package/src/schemas/performance-policy-v1.json +3 -3
- package/src/schemas/repository-policy-v1.json +130 -6
- package/src/schemas/testing-evidence-result-v1.json +1 -1
- package/src/secrets/adapters.d.ts +7 -2
- package/src/secrets/adapters.js +34 -3
- package/src/secrets/aws-control-plane.d.ts +10 -1
- package/src/secrets/aws-control-plane.js +67 -0
- package/src/secrets/generated-aws-control-plane.d.ts +23 -0
- package/src/secrets/generated-aws-control-plane.js +259 -0
- package/src/secrets/metadata.js +38 -10
- package/src/secrets/model.d.ts +8 -1
- package/src/secrets/model.js +24 -3
- package/src/secrets/operator.d.ts +91 -3
- package/src/secrets/operator.js +463 -13
- package/src/secrets/personal-command.d.ts +18 -2
- package/src/secrets/personal-command.js +66 -12
- package/src/secrets/registry.d.ts +2 -1
- package/src/secrets/registry.js +18 -1
- package/src/secrets/verification.js +15 -2
- package/src/secrets/workload-access.js +10 -2
- package/src/sst-environment-source-format.d.ts +6 -0
- package/src/sst-environment-source-format.js +199 -0
- package/src/supply-chain/action-pins.js +61 -7
- package/src/supply-chain/blueprint-trust-git.js +85 -24
- package/src/supply-chain/blueprint-verification-authority.js +55 -3
- package/src/supply-chain/build-output-bounds.d.ts +2 -0
- package/src/supply-chain/build-output-bounds.js +12 -0
- package/src/supply-chain/build-output.d.ts +7 -1
- package/src/supply-chain/build-output.js +177 -24
- package/src/supply-chain/ecr-scanning.d.ts +5 -3
- package/src/supply-chain/ecr-scanning.js +11 -7
- package/src/supply-chain/ecs-deployed-image.d.ts +5 -3
- package/src/supply-chain/ecs-deployed-image.js +6 -4
- package/src/supply-chain/generated-blueprint-trust-command.js +18 -1
- package/src/supply-chain/generated-command.js +1 -0
- package/src/supply-chain/generated-container-release-command.js +1285 -124
- package/src/supply-chain/generated-ecr-collector-command.d.ts +0 -1
- package/src/supply-chain/generated-ecr-collector-command.js +200 -93
- package/src/supply-chain/generated-files.js +25 -14
- package/src/supply-chain/generated-scanner-command.js +2 -1
- package/src/supply-chain/index.d.ts +1 -1
- package/src/supply-chain/index.js +2 -1
- package/src/supply-chain/sbom.d.ts +1 -1
- package/src/supply-chain/sbom.js +30 -5
- package/src/supply-chain/scanner.js +3 -0
- package/src/testing-evidence/fixture-scope.d.ts +2 -1
- package/src/testing-evidence/fixture-scope.js +4 -2
- package/src/testing-evidence/result.d.ts +2 -1
- package/src/testing-evidence/result.js +18 -4
- package/src/workload-roles/account-baseline.d.ts +11 -0
- package/src/workload-roles/account-baseline.js +253 -16
- package/src/workload-roles/authority.d.ts +3 -1
- package/src/workload-roles/authority.js +48 -2
- package/src/workload-roles/aws-s3-state.js +27 -0
- package/src/workload-roles/boundary.d.ts +2 -1
- package/src/workload-roles/boundary.js +9 -2
- package/src/workload-roles/handler.js +52 -24
- package/src/workload-roles/index.d.ts +10 -17
- package/src/workload-roles/index.js +5 -18
- package/src/workload-roles/injection.js +1 -1
- package/src/workload-roles/provisioner.js +12 -4
- package/src/workload-roles/registration.d.ts +1 -0
- package/src/workload-roles/registration.js +5 -0
- package/src/workload-roles/stage-boundary.js +1 -1
- package/src/workload-roles/standard-slice.js +3 -3
- package/src/workspace-deployment/affected-lifecycle.d.ts +53 -0
- package/src/workspace-deployment/affected-lifecycle.js +84 -0
- package/src/workspace-deployment/identity.d.ts +3 -0
- package/src/workspace-deployment/identity.js +22 -0
- package/src/workspace-deployment/index.d.ts +4 -0
- package/src/workspace-deployment/index.js +8 -0
- package/src/workspace-deployment/migration-evidence.d.ts +29 -0
- package/src/workspace-deployment/migration-evidence.js +83 -0
- package/src/workspace-deployment/migration.d.ts +27 -0
- package/src/workspace-deployment/migration.js +109 -0
- package/src/workspace-deployment/ownership.d.ts +81 -0
- package/src/workspace-deployment/ownership.js +381 -0
- package/src/api-contract/baseline-update.js.map +0 -1
- package/src/api-contract/compatibility.js.map +0 -1
- package/src/api-contract/contract-graph.js.map +0 -1
- package/src/api-contract/evidence.js.map +0 -1
- package/src/api-contract/index.js.map +0 -1
- package/src/api-contract/model.fixtures.d.ts +0 -2
- package/src/api-contract/model.fixtures.js +0 -81
- package/src/api-contract/model.fixtures.js.map +0 -1
- package/src/api-contract/model.js.map +0 -1
- package/src/api-contract/rollout.js.map +0 -1
- package/src/authorization/compatibility.js.map +0 -1
- package/src/authorization/index.js.map +0 -1
- package/src/blueprints/execution.js.map +0 -1
- package/src/blueprints/external-sandbox.js.map +0 -1
- package/src/blueprints/index.js.map +0 -1
- package/src/blueprints/inputs.js.map +0 -1
- package/src/blueprints/manifest.js.map +0 -1
- package/src/blueprints/resolver.js.map +0 -1
- package/src/blueprints/transitions.js.map +0 -1
- package/src/cli/agent-command.js.map +0 -1
- package/src/cli/agent-runtime.js.map +0 -1
- package/src/cli/blueprint-authority.js.map +0 -1
- package/src/cli/blueprint-command.js.map +0 -1
- package/src/cli/bootstrap.js.map +0 -1
- package/src/cli/dev-command.js.map +0 -1
- package/src/cli/main.js.map +0 -1
- package/src/cli/output.js.map +0 -1
- package/src/cli/personal-secret-runtime.js.map +0 -1
- package/src/cli/secret-terminal.js.map +0 -1
- package/src/container-images.js.map +0 -1
- package/src/data-lifecycle/index.js.map +0 -1
- package/src/data-lifecycle/model.fixtures.d.ts +0 -2
- package/src/data-lifecycle/model.fixtures.js +0 -244
- package/src/data-lifecycle/model.fixtures.js.map +0 -1
- package/src/data-lifecycle/model.js.map +0 -1
- package/src/data-lifecycle/sensitive-artifacts.js.map +0 -1
- package/src/data-lifecycle/validation.js.map +0 -1
- package/src/database-retirement/contract.js.map +0 -1
- package/src/database-retirement/index.js.map +0 -1
- package/src/deterministic-order.js.map +0 -1
- package/src/developer-agent/context.js.map +0 -1
- package/src/developer-agent/generator-planning.js.map +0 -1
- package/src/developer-agent/generator-preview.js.map +0 -1
- package/src/developer-agent/git-inspection.js.map +0 -1
- package/src/developer-agent/handoff.js.map +0 -1
- package/src/developer-agent/index.js.map +0 -1
- package/src/developer-agent/model.js.map +0 -1
- package/src/developer-agent/operation-registry.js.map +0 -1
- package/src/developer-agent/ordering.js.map +0 -1
- package/src/developer-agent/planning.js.map +0 -1
- package/src/developer-agent/preview-changes.js.map +0 -1
- package/src/developer-agent/preview-source.js.map +0 -1
- package/src/developer-agent/validation.js.map +0 -1
- package/src/developer-agent/workspace-inspection.js.map +0 -1
- package/src/developer-agent/workspace-path.js.map +0 -1
- package/src/executors/blueprint-trust/blueprint-trust.js.map +0 -1
- package/src/executors/blueprint-verification/blueprint-verification.js.map +0 -1
- package/src/executors/deploy/deploy.js.map +0 -1
- package/src/executors/deployment-plan/deployment-plan.js.map +0 -1
- package/src/executors/dev/dev.js.map +0 -1
- package/src/executors/dev-doctor/dev-doctor.js.map +0 -1
- package/src/executors/dev-setup/dev-setup.js.map +0 -1
- package/src/executors/developer-context/developer-context.js.map +0 -1
- package/src/executors/fleet/fleet.js.map +0 -1
- package/src/executors/foundation-preflight/foundation-preflight.js.map +0 -1
- package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js.map +0 -1
- package/src/executors/foundation-remove-preflight/foundation-remove-preflight.js.map +0 -1
- package/src/executors/github-bootstrap/github-bootstrap.js.map +0 -1
- package/src/executors/infrastructure-plan/infrastructure-plan.js.map +0 -1
- package/src/executors/refresh/refresh.js.map +0 -1
- package/src/executors/remove/remove.js.map +0 -1
- package/src/executors/secret-guardrails/secret-guardrails.js.map +0 -1
- package/src/executors/secret-metadata/secret-metadata.js.map +0 -1
- package/src/executors/sst-lifecycle/logging-preflight.js.map +0 -1
- package/src/executors/sst-lifecycle/run-sst-command.js.map +0 -1
- package/src/executors/sst-lifecycle/secret-preflight.js.map +0 -1
- package/src/executors/unlock/unlock.js.map +0 -1
- package/src/executors/work-markers/work-markers.js.map +0 -1
- package/src/foundation/discovery.js.map +0 -1
- package/src/foundation/index.js.map +0 -1
- package/src/foundation/local-database-contract.js.map +0 -1
- package/src/foundation/logging-preflight.js.map +0 -1
- package/src/foundation/logging.js.map +0 -1
- package/src/foundation/preflight.js.map +0 -1
- package/src/foundation/provision-database-bindings.js.map +0 -1
- package/src/foundation/provision-logical-database.js.map +0 -1
- package/src/foundation/requirements.js.map +0 -1
- package/src/foundation/router-origin-proof.js.map +0 -1
- package/src/foundation/stages.js.map +0 -1
- package/src/frontend-security/index.js.map +0 -1
- package/src/frontend-security/security-headers.js.map +0 -1
- package/src/generators/feature-registry.js.map +0 -1
- package/src/generators/function/function.js.map +0 -1
- package/src/generators/job/job.js.map +0 -1
- package/src/generators/logging-registry.js.map +0 -1
- package/src/generators/post-generation-install.js.map +0 -1
- package/src/generators/preset/generator.js.map +0 -1
- package/src/generators/preset/tool-versions.js.map +0 -1
- package/src/generators/preset/workspace-files-developer-agent.js.map +0 -1
- package/src/generators/preset/workspace-files-foundation-workload-roles.js.map +0 -1
- package/src/generators/preset/workspace-files-performance-cost.js.map +0 -1
- package/src/generators/preset/workspace-files-performance-load.js.map +0 -1
- package/src/generators/preset/workspace-files-workload-role-baseline.js.map +0 -1
- package/src/generators/preset/workspace-files.js.map +0 -1
- package/src/generators/repository-policy/repository-policy.js.map +0 -1
- package/src/generators/service/service.js.map +0 -1
- package/src/generators/slice/built-in-plan-api-contract-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-api-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-async-work-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-authorization-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-data-deletion-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-data-export-infrastructure-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-data-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-data-lifecycle-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-data-lifecycle-runtime-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-data-retention-job-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-data-retention-launcher-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-data-rights-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-database-lifecycle-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-database-retirement-rehearsal-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-foundation-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-frontend-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-infrastructure-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-infrastructure-safety-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-metadata-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-operations-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-performance-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-project-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-release-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-reliability-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-secret-runtime-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-shared.js.map +0 -1
- package/src/generators/slice/built-in-plan-testing-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-verification-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-web-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-workload-role-files.js.map +0 -1
- package/src/generators/slice/built-in-plan.js.map +0 -1
- package/src/generators/slice/slice.js.map +0 -1
- package/src/generators/upgrade/upgrade.js.map +0 -1
- package/src/generators/workload/frozen-container.js.map +0 -1
- package/src/generators/workload/performance-registration.js.map +0 -1
- package/src/generators/workload/reliability-registration.js.map +0 -1
- package/src/generators/workload/service-performance-files.js.map +0 -1
- package/src/generators/workload/workload.js.map +0 -1
- package/src/git-policy/action-pins.js.map +0 -1
- package/src/git-policy/github-bootstrap.js.map +0 -1
- package/src/git-policy/index.js.map +0 -1
- package/src/git-policy/routing.js.map +0 -1
- package/src/index.js.map +0 -1
- package/src/infrastructure-change/convergence.js.map +0 -1
- package/src/infrastructure-change/drift.js.map +0 -1
- package/src/infrastructure-change/index.js.map +0 -1
- package/src/infrastructure-change/model.js.map +0 -1
- package/src/infrastructure-change/normalize.js.map +0 -1
- package/src/infrastructure-change/plan.js.map +0 -1
- package/src/infrastructure-change/risk.js.map +0 -1
- package/src/infrastructure-change/summary.js.map +0 -1
- package/src/local-dev/context-discovery.js.map +0 -1
- package/src/local-dev/contract-validation.js.map +0 -1
- package/src/local-dev/contracts.js.map +0 -1
- package/src/local-dev/control-contract.js.map +0 -1
- package/src/local-dev/dev-command-core.js.map +0 -1
- package/src/local-dev/effects.js.map +0 -1
- package/src/local-dev/environment-inspector.js.map +0 -1
- package/src/local-dev/environment-state.js.map +0 -1
- package/src/local-dev/errors.js.map +0 -1
- package/src/local-dev/fleet-client.js.map +0 -1
- package/src/local-dev/fleet-configuration.js.map +0 -1
- package/src/local-dev/fleet-inventory.js.map +0 -1
- package/src/local-dev/fleet-ipc.js.map +0 -1
- package/src/local-dev/fleet-launcher.js.map +0 -1
- package/src/local-dev/fleet-lock.js.map +0 -1
- package/src/local-dev/fleet-logs.js.map +0 -1
- package/src/local-dev/fleet-process.js.map +0 -1
- package/src/local-dev/fleet-runtime.js.map +0 -1
- package/src/local-dev/fleet-session.js.map +0 -1
- package/src/local-dev/fleet-slice-runner-daemon.js.map +0 -1
- package/src/local-dev/fleet-startup.js.map +0 -1
- package/src/local-dev/fleet-state.js.map +0 -1
- package/src/local-dev/fleet-supervisor-daemon.js.map +0 -1
- package/src/local-dev/fleet-supervisor.js.map +0 -1
- package/src/local-dev/gateway-daemon.js.map +0 -1
- package/src/local-dev/gateway.js.map +0 -1
- package/src/local-dev/identity.js.map +0 -1
- package/src/local-dev/index.js.map +0 -1
- package/src/local-dev/local-context.js.map +0 -1
- package/src/local-dev/nx-workspace.js.map +0 -1
- package/src/local-dev/personal-secret-ledger.js.map +0 -1
- package/src/local-dev/personal-stage.js.map +0 -1
- package/src/local-dev/portless.js.map +0 -1
- package/src/local-dev/ports.js.map +0 -1
- package/src/local-dev/private-state.js.map +0 -1
- package/src/local-dev/process-identity.js.map +0 -1
- package/src/local-dev/proxy.js.map +0 -1
- package/src/local-dev/runtime-paths.js.map +0 -1
- package/src/local-dev/secret-slice-claim.js.map +0 -1
- package/src/local-dev/slice-claim.js.map +0 -1
- package/src/local-dev/slice-runner.js.map +0 -1
- package/src/local-dev/tls.js.map +0 -1
- package/src/ownership/composition.js.map +0 -1
- package/src/ownership/foundation-record.js.map +0 -1
- package/src/ownership/hash.js.map +0 -1
- package/src/ownership/index.js.map +0 -1
- package/src/ownership/json-ownership.js.map +0 -1
- package/src/ownership/record.js.map +0 -1
- package/src/ownership/workspace-record.js.map +0 -1
- package/src/performance/cost-collection.js.map +0 -1
- package/src/performance/cost-controls.js.map +0 -1
- package/src/performance/evidence.js.map +0 -1
- package/src/performance/index.js.map +0 -1
- package/src/performance/load-safety.js.map +0 -1
- package/src/performance/model.js.map +0 -1
- package/src/performance/pr-artifact-budget.js.map +0 -1
- package/src/performance/runner.js.map +0 -1
- package/src/performance/scenario-endpoint.js.map +0 -1
- package/src/performance/scenario.js.map +0 -1
- package/src/performance/test-fixtures.d.ts +0 -7
- package/src/performance/test-fixtures.js +0 -169
- package/src/performance/test-fixtures.js.map +0 -1
- package/src/performance/unit-cost.js.map +0 -1
- package/src/release/index.js.map +0 -1
- package/src/release/lifecycle.js.map +0 -1
- package/src/release/manifest.js.map +0 -1
- package/src/release/rollout.js.map +0 -1
- package/src/release/source-authority.js.map +0 -1
- package/src/repository-policy/aurora-preflight.js.map +0 -1
- package/src/repository-policy/deployment-plan.js.map +0 -1
- package/src/repository-policy/foundation-profile.js.map +0 -1
- package/src/repository-policy/index.js.map +0 -1
- package/src/repository-policy/policy.js.map +0 -1
- package/src/secrets/adapters.js.map +0 -1
- package/src/secrets/aws-control-plane.js.map +0 -1
- package/src/secrets/declaration-verification.js.map +0 -1
- package/src/secrets/guardrails.js.map +0 -1
- package/src/secrets/index.js.map +0 -1
- package/src/secrets/metadata.js.map +0 -1
- package/src/secrets/model.js.map +0 -1
- package/src/secrets/operator.js.map +0 -1
- package/src/secrets/permissions.js.map +0 -1
- package/src/secrets/personal-command.js.map +0 -1
- package/src/secrets/personal-ledger.js.map +0 -1
- package/src/secrets/registry.js.map +0 -1
- package/src/secrets/verification.js.map +0 -1
- package/src/secrets/workload-access.js.map +0 -1
- package/src/supply-chain/action-pins.js.map +0 -1
- package/src/supply-chain/blueprint-trust-git.js.map +0 -1
- package/src/supply-chain/blueprint-trust-process.js.map +0 -1
- package/src/supply-chain/blueprint-trust.js.map +0 -1
- package/src/supply-chain/blueprint-verification-authority.js.map +0 -1
- package/src/supply-chain/blueprint-verification-execution.js.map +0 -1
- package/src/supply-chain/build-output.js.map +0 -1
- package/src/supply-chain/common.js.map +0 -1
- package/src/supply-chain/container-artifact-contract.js.map +0 -1
- package/src/supply-chain/container-release.js.map +0 -1
- package/src/supply-chain/ecr-applicability.js.map +0 -1
- package/src/supply-chain/ecr-scanning.js.map +0 -1
- package/src/supply-chain/ecs-deployed-image.js.map +0 -1
- package/src/supply-chain/errors.js.map +0 -1
- package/src/supply-chain/generated-blueprint-trust-command.js.map +0 -1
- package/src/supply-chain/generated-command.js.map +0 -1
- package/src/supply-chain/generated-container-release-command.js.map +0 -1
- package/src/supply-chain/generated-ecr-collector-command.js.map +0 -1
- package/src/supply-chain/generated-files.js.map +0 -1
- package/src/supply-chain/generated-scanner-command.js.map +0 -1
- package/src/supply-chain/index.js.map +0 -1
- package/src/supply-chain/inventory.js.map +0 -1
- package/src/supply-chain/license-expression.js.map +0 -1
- package/src/supply-chain/pnpm-toolchain-authority.js.map +0 -1
- package/src/supply-chain/policy.js.map +0 -1
- package/src/supply-chain/publication.js.map +0 -1
- package/src/supply-chain/sbom.js.map +0 -1
- package/src/supply-chain/scanner.js.map +0 -1
- package/src/supply-chain/vendored-source.js.map +0 -1
- package/src/testing-evidence/fixture-scope.js.map +0 -1
- package/src/testing-evidence/index.js.map +0 -1
- package/src/testing-evidence/quarantine.js.map +0 -1
- package/src/testing-evidence/result.js.map +0 -1
- package/src/testing-evidence/runner-adapter.js.map +0 -1
- package/src/testing-evidence/sensitive-artifacts.js.map +0 -1
- package/src/validation.js.map +0 -1
- package/src/work-markers/index.js.map +0 -1
- package/src/work-markers/work-markers.js.map +0 -1
- package/src/workload-roles/account-baseline.js.map +0 -1
- package/src/workload-roles/authority.js.map +0 -1
- package/src/workload-roles/aws-adapter.js.map +0 -1
- package/src/workload-roles/aws-internal-handler.js.map +0 -1
- package/src/workload-roles/aws-s3-state.js.map +0 -1
- package/src/workload-roles/aws-sdk-control-plane.js.map +0 -1
- package/src/workload-roles/boundary.js.map +0 -1
- package/src/workload-roles/convergence.js.map +0 -1
- package/src/workload-roles/effective-policy.js.map +0 -1
- package/src/workload-roles/handler.js.map +0 -1
- package/src/workload-roles/history.js.map +0 -1
- package/src/workload-roles/index.js.map +0 -1
- package/src/workload-roles/injection.js.map +0 -1
- package/src/workload-roles/manifest.js.map +0 -1
- package/src/workload-roles/provisioner.js.map +0 -1
- package/src/workload-roles/registration.js.map +0 -1
- package/src/workload-roles/stage-boundary.js.map +0 -1
- package/src/workload-roles/standard-slice.js.map +0 -1
|
@@ -4,81 +4,149 @@ exports.validateReviewedReleaseCheckout = validateReviewedReleaseCheckout;
|
|
|
4
4
|
const node_child_process_1 = require("node:child_process");
|
|
5
5
|
const node_fs_1 = require("node:fs");
|
|
6
6
|
const node_path_1 = require("node:path");
|
|
7
|
+
const sst_environment_source_format_js_1 = require("../sst-environment-source-format.js");
|
|
7
8
|
const COMMIT = /^(?:[a-f0-9]{40}|[a-f0-9]{64})$/u;
|
|
8
|
-
const
|
|
9
|
+
const MAX_TRANSIENT_SST_ENV_FILES = 64;
|
|
10
|
+
const MAX_TRANSIENT_SST_ENV_FILE_BYTES = 1024 * 1024;
|
|
11
|
+
const MAX_TRANSIENT_SST_ENV_PATH_BYTES = 1024;
|
|
9
12
|
function git(repositoryRoot, args) {
|
|
10
13
|
return (0, node_child_process_1.execFileSync)('git', [...args], {
|
|
11
14
|
...(repositoryRoot === undefined ? {} : { cwd: repositoryRoot }),
|
|
12
15
|
encoding: 'utf8',
|
|
13
16
|
}).trim();
|
|
14
17
|
}
|
|
15
|
-
function gitBytes(repositoryRoot, args) {
|
|
16
|
-
return (0, node_child_process_1.execFileSync)('git', [...args], {
|
|
17
|
-
...(repositoryRoot === undefined ? {} : { cwd: repositoryRoot }),
|
|
18
|
-
encoding: 'utf8',
|
|
19
|
-
maxBuffer: 2 * 1024 * 1024,
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
18
|
function gitBuffer(repositoryRoot, args) {
|
|
23
19
|
return (0, node_child_process_1.execFileSync)('git', [...args], {
|
|
24
20
|
...(repositoryRoot === undefined ? {} : { cwd: repositoryRoot }),
|
|
25
21
|
maxBuffer: 2 * 1024 * 1024,
|
|
26
22
|
});
|
|
27
23
|
}
|
|
28
|
-
function
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
return normalized.subarray(0, writeOffset);
|
|
24
|
+
function normalizedRelativePath(root, absolutePath) {
|
|
25
|
+
const path = (0, node_path_1.relative)(root, absolutePath).split('\\').join('/');
|
|
26
|
+
if (!path ||
|
|
27
|
+
path === '..' ||
|
|
28
|
+
path.startsWith('../') ||
|
|
29
|
+
(0, node_path_1.isAbsolute)(path) ||
|
|
30
|
+
Buffer.byteLength(path, 'utf8') > MAX_TRANSIENT_SST_ENV_PATH_BYTES) {
|
|
31
|
+
throw new Error('Reviewed release SST environment source escapes its project boundary.');
|
|
32
|
+
}
|
|
33
|
+
return path;
|
|
39
34
|
}
|
|
40
|
-
function
|
|
41
|
-
|
|
35
|
+
function exactTransientSstEnvironmentSource(repositoryRoot, projectRoot, repositoryPath) {
|
|
36
|
+
const absolutePath = (0, node_path_1.resolve)(repositoryRoot, repositoryPath);
|
|
37
|
+
if (normalizedRelativePath(repositoryRoot, absolutePath) !== repositoryPath ||
|
|
38
|
+
normalizedRelativePath(projectRoot, absolutePath) === 'sst-env.d.ts') {
|
|
42
39
|
return false;
|
|
43
40
|
}
|
|
44
|
-
const
|
|
45
|
-
if (
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
project.length === 0 ||
|
|
53
|
-
project !== project.trim()) ||
|
|
54
|
-
new Set(batch.orderedProjects).size !== batch.orderedProjects.length ||
|
|
55
|
-
batch.projects === null ||
|
|
56
|
-
typeof batch.projects !== 'object' ||
|
|
57
|
-
Array.isArray(batch.projects)) {
|
|
41
|
+
const projectPath = normalizedRelativePath(projectRoot, absolutePath);
|
|
42
|
+
if (!projectPath.endsWith('/sst-env.d.ts'))
|
|
43
|
+
return false;
|
|
44
|
+
const before = (0, node_fs_1.lstatSync)(absolutePath, { bigint: true });
|
|
45
|
+
if (!before.isFile() ||
|
|
46
|
+
before.nlink !== 1n ||
|
|
47
|
+
before.size > BigInt(MAX_TRANSIENT_SST_ENV_FILE_BYTES) ||
|
|
48
|
+
(0, node_fs_1.realpathSync)(absolutePath) !== absolutePath) {
|
|
58
49
|
return false;
|
|
59
50
|
}
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
51
|
+
const bytes = (0, node_fs_1.readFileSync)(absolutePath);
|
|
52
|
+
const after = (0, node_fs_1.lstatSync)(absolutePath, { bigint: true });
|
|
53
|
+
if (before.birthtimeNs !== after.birthtimeNs ||
|
|
54
|
+
before.ctimeNs !== after.ctimeNs ||
|
|
55
|
+
before.dev !== after.dev ||
|
|
56
|
+
before.ino !== after.ino ||
|
|
57
|
+
before.mode !== after.mode ||
|
|
58
|
+
before.mtimeNs !== after.mtimeNs ||
|
|
59
|
+
before.nlink !== after.nlink ||
|
|
60
|
+
before.size !== after.size ||
|
|
61
|
+
BigInt(bytes.byteLength) !== after.size) {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
return (0, sst_environment_source_format_js_1.exactGeneratedNestedSstEnvironmentSourceBytes)(absolutePath, (0, node_path_1.join)(projectRoot, 'sst-env.d.ts')).some((expected) => expected.equals(bytes));
|
|
65
|
+
}
|
|
66
|
+
function exactTransientRootSstEnvironmentSource(rootSourcePath) {
|
|
67
|
+
const before = (0, node_fs_1.lstatSync)(rootSourcePath, { bigint: true });
|
|
68
|
+
if (!before.isFile() ||
|
|
69
|
+
before.nlink !== 1n ||
|
|
70
|
+
before.size > BigInt(MAX_TRANSIENT_SST_ENV_FILE_BYTES) ||
|
|
71
|
+
(0, node_fs_1.realpathSync)(rootSourcePath) !== rootSourcePath) {
|
|
63
72
|
return false;
|
|
64
73
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
74
|
+
const bytes = (0, node_fs_1.readFileSync)(rootSourcePath);
|
|
75
|
+
const after = (0, node_fs_1.lstatSync)(rootSourcePath, { bigint: true });
|
|
76
|
+
return (before.birthtimeNs === after.birthtimeNs &&
|
|
77
|
+
before.ctimeNs === after.ctimeNs &&
|
|
78
|
+
before.dev === after.dev &&
|
|
79
|
+
before.ino === after.ino &&
|
|
80
|
+
before.mode === after.mode &&
|
|
81
|
+
before.mtimeNs === after.mtimeNs &&
|
|
82
|
+
before.nlink === after.nlink &&
|
|
83
|
+
before.size === after.size &&
|
|
84
|
+
BigInt(bytes.byteLength) === after.size &&
|
|
85
|
+
(0, sst_environment_source_format_js_1.isExactGeneratedRootSstEnvironmentSourceBytes)(bytes));
|
|
86
|
+
}
|
|
87
|
+
function exactTransientRootSstPythonSource(rootPythonSourcePath) {
|
|
88
|
+
const before = (0, node_fs_1.lstatSync)(rootPythonSourcePath, { bigint: true });
|
|
89
|
+
if (!before.isFile() ||
|
|
90
|
+
before.nlink !== 1n ||
|
|
91
|
+
before.size > BigInt(MAX_TRANSIENT_SST_ENV_FILE_BYTES) ||
|
|
92
|
+
(0, node_fs_1.realpathSync)(rootPythonSourcePath) !== rootPythonSourcePath) {
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
const bytes = (0, node_fs_1.readFileSync)(rootPythonSourcePath);
|
|
96
|
+
const after = (0, node_fs_1.lstatSync)(rootPythonSourcePath, { bigint: true });
|
|
97
|
+
return (before.birthtimeNs === after.birthtimeNs &&
|
|
98
|
+
before.ctimeNs === after.ctimeNs &&
|
|
99
|
+
before.dev === after.dev &&
|
|
100
|
+
before.ino === after.ino &&
|
|
101
|
+
before.mode === after.mode &&
|
|
102
|
+
before.mtimeNs === after.mtimeNs &&
|
|
103
|
+
before.nlink === after.nlink &&
|
|
104
|
+
before.size === after.size &&
|
|
105
|
+
BigInt(bytes.byteLength) === after.size &&
|
|
106
|
+
(0, sst_environment_source_format_js_1.isExactGeneratedRootSstPythonSourceBytes)(bytes));
|
|
107
|
+
}
|
|
108
|
+
function exactTransientSstEnvironmentCheckout(input) {
|
|
109
|
+
const repositoryRoot = (0, node_fs_1.realpathSync)(input.repositoryRoot);
|
|
110
|
+
const projectRoot = (0, node_fs_1.realpathSync)(input.projectRoot);
|
|
111
|
+
normalizedRelativePath(repositoryRoot, projectRoot);
|
|
112
|
+
const rootSourcePath = (0, node_path_1.join)(projectRoot, 'sst-env.d.ts');
|
|
113
|
+
const rootPythonSourcePath = (0, node_path_1.join)(projectRoot, 'sst.pyi');
|
|
114
|
+
const rootSource = (0, node_fs_1.lstatSync)(rootSourcePath, { bigint: true });
|
|
115
|
+
if (!rootSource.isFile() ||
|
|
116
|
+
rootSource.nlink !== 1n ||
|
|
117
|
+
(0, node_fs_1.realpathSync)(rootSourcePath) !== rootSourcePath) {
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
const rootRepositoryPath = normalizedRelativePath(repositoryRoot, rootSourcePath);
|
|
121
|
+
const rootPythonRepositoryPath = normalizedRelativePath(repositoryRoot, rootPythonSourcePath);
|
|
122
|
+
try {
|
|
123
|
+
git(repositoryRoot, [
|
|
124
|
+
'ls-files',
|
|
125
|
+
'--error-unmatch',
|
|
126
|
+
'--',
|
|
127
|
+
rootRepositoryPath,
|
|
128
|
+
]);
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
const fields = input.status.toString('utf8').split('\0');
|
|
134
|
+
if (fields.pop() !== '' || fields.length > MAX_TRANSIENT_SST_ENV_FILES) {
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
return (fields.length > 0 &&
|
|
138
|
+
fields.every((field) => (field === ` M ${rootRepositoryPath}` &&
|
|
139
|
+
exactTransientRootSstEnvironmentSource(rootSourcePath)) ||
|
|
140
|
+
(field === `?? ${rootPythonRepositoryPath}` &&
|
|
141
|
+
exactTransientRootSstPythonSource(rootPythonSourcePath)) ||
|
|
142
|
+
(field.startsWith('?? ') &&
|
|
143
|
+
exactTransientSstEnvironmentSource(repositoryRoot, projectRoot, field.slice(3)))));
|
|
75
144
|
}
|
|
76
145
|
/**
|
|
77
146
|
* Proves that protected release evidence can be consumed from the checked-out
|
|
78
|
-
* deployment commit.
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
* release source.
|
|
147
|
+
* deployment commit. Merge commits are supported through reviewedSourceCommit,
|
|
148
|
+
* but all three commits must resolve to the same exact source tree. Committed
|
|
149
|
+
* approval descendants and other source mutations are never release authority.
|
|
82
150
|
*/
|
|
83
151
|
function validateReviewedReleaseCheckout(input) {
|
|
84
152
|
const deploymentSourceCommit = input.deploymentSourceCommit?.trim() ?? '';
|
|
@@ -93,13 +161,29 @@ function validateReviewedReleaseCheckout(input) {
|
|
|
93
161
|
if (currentCommit !== deploymentSourceCommit) {
|
|
94
162
|
throw new Error('Reviewed release checkout differs from the deployment source commit.');
|
|
95
163
|
}
|
|
96
|
-
|
|
164
|
+
const status = gitBuffer(input.repositoryRoot, [
|
|
97
165
|
'status',
|
|
98
166
|
'--porcelain=v1',
|
|
167
|
+
'-z',
|
|
99
168
|
'--untracked-files=all',
|
|
100
|
-
])
|
|
169
|
+
]);
|
|
170
|
+
if (status.length !== 0 &&
|
|
171
|
+
(input.sstEnvironmentProjectRoot === undefined ||
|
|
172
|
+
!exactTransientSstEnvironmentCheckout({
|
|
173
|
+
projectRoot: input.sstEnvironmentProjectRoot,
|
|
174
|
+
repositoryRoot: input.repositoryRoot ??
|
|
175
|
+
git(undefined, ['rev-parse', '--show-toplevel']),
|
|
176
|
+
status,
|
|
177
|
+
}))) {
|
|
101
178
|
throw new Error('Reviewed release checkout must be completely clean.');
|
|
102
179
|
}
|
|
180
|
+
const tracked = gitBuffer(input.repositoryRoot, ['ls-files', '-v', '-z'])
|
|
181
|
+
.toString('utf8')
|
|
182
|
+
.split('\0');
|
|
183
|
+
if (tracked.pop() !== '' ||
|
|
184
|
+
tracked.some((entry) => !entry.startsWith('H '))) {
|
|
185
|
+
throw new Error('Reviewed release checkout contains hidden or skipped tracked state.');
|
|
186
|
+
}
|
|
103
187
|
const deploymentTree = git(input.repositoryRoot, [
|
|
104
188
|
'rev-parse',
|
|
105
189
|
`${deploymentSourceCommit}^{tree}`,
|
|
@@ -116,79 +200,12 @@ function validateReviewedReleaseCheckout(input) {
|
|
|
116
200
|
if (deploymentTree !== reviewedTree) {
|
|
117
201
|
throw new Error('Reviewed release source tree differs from the deployment checkout.');
|
|
118
202
|
}
|
|
119
|
-
if (reviewedTree
|
|
120
|
-
|
|
121
|
-
deploymentSourceCommit,
|
|
122
|
-
mode: 'exact-tree',
|
|
123
|
-
releaseSourceCommit,
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
const ancestry = (0, node_child_process_1.spawnSync)('git', ['merge-base', '--is-ancestor', releaseSourceCommit, reviewedCommit], {
|
|
127
|
-
...(input.repositoryRoot === undefined
|
|
128
|
-
? {}
|
|
129
|
-
: { cwd: input.repositoryRoot }),
|
|
130
|
-
encoding: 'utf8',
|
|
131
|
-
});
|
|
132
|
-
if (ancestry.status !== 0) {
|
|
133
|
-
throw new Error('Reviewed deployment commit does not descend from its release source.');
|
|
134
|
-
}
|
|
135
|
-
const changes = git(input.repositoryRoot, [
|
|
136
|
-
'diff',
|
|
137
|
-
'--name-status',
|
|
138
|
-
'--no-renames',
|
|
139
|
-
releaseSourceCommit,
|
|
140
|
-
reviewedCommit,
|
|
141
|
-
'--',
|
|
142
|
-
])
|
|
143
|
-
.split('\n')
|
|
144
|
-
.filter(Boolean);
|
|
145
|
-
if (changes.length !== 1 ||
|
|
146
|
-
!/^[AM]\toperations\/infrastructure-approval\.json$/u.test(changes[0] ?? '')) {
|
|
147
|
-
throw new Error('Reviewed deployment differs from its release source beyond the infrastructure approval batch.');
|
|
148
|
-
}
|
|
149
|
-
const approvalEntry = git(input.repositoryRoot, [
|
|
150
|
-
'ls-tree',
|
|
151
|
-
reviewedCommit,
|
|
152
|
-
'--',
|
|
153
|
-
INFRASTRUCTURE_APPROVAL_PATH,
|
|
154
|
-
]);
|
|
155
|
-
if (!/^100(?:644|755) blob [a-f0-9]+\toperations\/infrastructure-approval\.json$/u.test(approvalEntry)) {
|
|
156
|
-
throw new Error('Infrastructure approval batch must be one regular Git blob.');
|
|
157
|
-
}
|
|
158
|
-
const repositoryRoot = (0, node_fs_1.realpathSync)((0, node_path_1.resolve)(input.repositoryRoot ?? git(undefined, ['rev-parse', '--show-toplevel'])));
|
|
159
|
-
const approvalPath = (0, node_path_1.resolve)(repositoryRoot, INFRASTRUCTURE_APPROVAL_PATH);
|
|
160
|
-
const approvalMetadata = (0, node_fs_1.lstatSync)(approvalPath);
|
|
161
|
-
if (!approvalMetadata.isFile() ||
|
|
162
|
-
approvalMetadata.isSymbolicLink() ||
|
|
163
|
-
(0, node_fs_1.realpathSync)(approvalPath) !== approvalPath) {
|
|
164
|
-
throw new Error('Infrastructure approval batch must be one canonical regular checkout file.');
|
|
165
|
-
}
|
|
166
|
-
const approvalBytes = gitBuffer(input.repositoryRoot, [
|
|
167
|
-
'show',
|
|
168
|
-
`${reviewedCommit}:${INFRASTRUCTURE_APPROVAL_PATH}`,
|
|
169
|
-
]);
|
|
170
|
-
if (approvalMetadata.size > 1024 * 1024 ||
|
|
171
|
-
approvalBytes.byteLength > 1024 * 1024) {
|
|
172
|
-
throw new Error('Infrastructure approval batch exceeds its size bound.');
|
|
173
|
-
}
|
|
174
|
-
const approvalCheckoutBytes = (0, node_fs_1.readFileSync)(approvalPath);
|
|
175
|
-
if (!approvalCheckoutBytes.equals(approvalBytes) &&
|
|
176
|
-
!normalizeCheckoutLineEndings(approvalCheckoutBytes).equals(approvalBytes)) {
|
|
177
|
-
throw new Error('Infrastructure approval checkout bytes differ from the reviewed Git blob.');
|
|
178
|
-
}
|
|
179
|
-
let approval;
|
|
180
|
-
try {
|
|
181
|
-
approval = JSON.parse(approvalBytes.toString('utf8'));
|
|
182
|
-
}
|
|
183
|
-
catch {
|
|
184
|
-
throw new Error('Infrastructure approval batch is not valid JSON.');
|
|
185
|
-
}
|
|
186
|
-
if (!validApprovalBatch(approval, releaseSourceCommit)) {
|
|
187
|
-
throw new Error('Infrastructure approval batch does not bind the immutable release source.');
|
|
203
|
+
if (reviewedTree !== releaseTree) {
|
|
204
|
+
throw new Error('Reviewed release source tree differs from the immutable release source.');
|
|
188
205
|
}
|
|
189
206
|
return {
|
|
190
207
|
deploymentSourceCommit,
|
|
191
|
-
mode: '
|
|
208
|
+
mode: 'exact-tree',
|
|
192
209
|
releaseSourceCommit,
|
|
193
210
|
};
|
|
194
211
|
}
|
|
@@ -7,7 +7,7 @@ export interface AuroraProfileCapabilityReport {
|
|
|
7
7
|
}
|
|
8
8
|
export declare function createAuroraProfileCapabilityReader(options: {
|
|
9
9
|
profile?: string;
|
|
10
|
-
region
|
|
10
|
+
region: string;
|
|
11
11
|
}): {
|
|
12
12
|
read: () => Promise<string[]>;
|
|
13
13
|
resolveRegion: () => Promise<string>;
|
|
@@ -4,12 +4,15 @@ exports.createAuroraProfileCapabilityReader = createAuroraProfileCapabilityReade
|
|
|
4
4
|
exports.evaluateAuroraProfileCapability = evaluateAuroraProfileCapability;
|
|
5
5
|
const client_rds_1 = require("@aws-sdk/client-rds");
|
|
6
6
|
const credential_providers_1 = require("@aws-sdk/credential-providers");
|
|
7
|
+
const identity_js_1 = require("../aws/identity.js");
|
|
7
8
|
const foundation_profile_js_1 = require("./foundation-profile.js");
|
|
8
9
|
function createAuroraProfileCapabilityReader(options) {
|
|
9
10
|
const profile = options.profile?.trim();
|
|
11
|
+
const region = options.region.trim();
|
|
10
12
|
const client = new client_rds_1.RDSClient({
|
|
11
13
|
...(profile ? { credentials: (0, credential_providers_1.fromIni)({ profile }) } : {}),
|
|
12
|
-
|
|
14
|
+
endpoint: (0, identity_js_1.canonicalAwsRegionalEndpoint)('rds', region),
|
|
15
|
+
region,
|
|
13
16
|
});
|
|
14
17
|
return {
|
|
15
18
|
read: async () => {
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const CAPACITY_MIGRATION_GUIDANCE = "The existing cost-optimized policy means 0.5\u20134 warm ACUs. Before upgrading or deploying, explicitly preserve that behavior with: pnpm nx g @empire-builder-kit/nx:repository-policy --profile=balanced --apply. After the managed upgrade, select --profile=cost-optimized separately only to opt into 0\u20132 ACUs and five-minute auto-pause. Policy changes do not deploy AWS resources.";
|
|
2
|
+
export declare function assertCapacityMigrationChoice(profile: string, costs: unknown): void;
|
|
3
|
+
export declare function assertWorkspaceCapacityMigrationChoice(root: string, profile: string): void;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CAPACITY_MIGRATION_GUIDANCE = void 0;
|
|
4
|
+
exports.assertCapacityMigrationChoice = assertCapacityMigrationChoice;
|
|
5
|
+
exports.assertWorkspaceCapacityMigrationChoice = assertWorkspaceCapacityMigrationChoice;
|
|
6
|
+
const node_fs_1 = require("node:fs");
|
|
7
|
+
const node_path_1 = require("node:path");
|
|
8
|
+
exports.CAPACITY_MIGRATION_GUIDANCE = 'The existing cost-optimized policy means 0.5–4 warm ACUs. Before upgrading or deploying, explicitly preserve that behavior with: pnpm nx g @empire-builder-kit/nx:repository-policy --profile=balanced --apply. After the managed upgrade, select --profile=cost-optimized separately only to opt into 0–2 ACUs and five-minute auto-pause. Policy changes do not deploy AWS resources.';
|
|
9
|
+
function assertCapacityMigrationChoice(profile, costs) {
|
|
10
|
+
const previous = costs?.productionProfiles?.['cost-optimized']?.aurora;
|
|
11
|
+
if (profile === 'cost-optimized' && previous?.min === '0.5 ACU') {
|
|
12
|
+
throw new Error(exports.CAPACITY_MIGRATION_GUIDANCE);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function assertWorkspaceCapacityMigrationChoice(root, profile) {
|
|
16
|
+
const path = (0, node_path_1.join)(root, 'packages/foundation/contracts/costs.json');
|
|
17
|
+
if ((0, node_fs_1.existsSync)(path)) {
|
|
18
|
+
assertCapacityMigrationChoice(profile, JSON.parse((0, node_fs_1.readFileSync)(path, 'utf8')));
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=capacity-migration.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ProductionApprovalMode, ProductionFoundationProfile, RepositoryOperatingPolicy } from './policy.js';
|
|
1
|
+
import type { ConfiguredDeploymentAccounts, DeploymentProfile, ProductionApprovalMode, ProductionFoundationProfile, RepositoryOperatingPolicy } from './policy.js';
|
|
2
2
|
export declare const PROTECTED_DEPLOYMENT_ACTIONS: readonly ["deploy", "refresh", "remove", "unlock"];
|
|
3
3
|
export declare const PROTECTED_DEPLOYMENT_STAGES: readonly ["staging", "production"];
|
|
4
4
|
export type ProtectedDeploymentAction = (typeof PROTECTED_DEPLOYMENT_ACTIONS)[number];
|
|
@@ -10,6 +10,9 @@ export interface DeploymentPlanProject {
|
|
|
10
10
|
}
|
|
11
11
|
export interface ProtectedDeploymentPlan {
|
|
12
12
|
action: ProtectedDeploymentAction;
|
|
13
|
+
deploymentAccounts: ConfiguredDeploymentAccounts;
|
|
14
|
+
deploymentProfile: DeploymentProfile;
|
|
15
|
+
deploymentRegion: string;
|
|
13
16
|
effectiveProductionProfile?: ProductionFoundationProfile;
|
|
14
17
|
foundationProject?: string;
|
|
15
18
|
orderedProjects: string[];
|
|
@@ -20,6 +20,9 @@ function compareCodePoints(left, right) {
|
|
|
20
20
|
return left.name < right.name ? -1 : left.name > right.name ? 1 : 0;
|
|
21
21
|
}
|
|
22
22
|
function createProtectedDeploymentPlan(policy, options) {
|
|
23
|
+
(0, policy_js_1.configuredDeploymentAccountForStage)(policy.deploymentProfile, policy.deploymentAccounts, options.stage);
|
|
24
|
+
const deploymentAccounts = { ...policy.deploymentAccounts };
|
|
25
|
+
const deploymentRegion = (0, policy_js_1.configuredDeploymentRegion)(policy.deploymentRegion);
|
|
23
26
|
const foundations = options.projects.filter((project) => hasTag(project, 'scope:foundation') &&
|
|
24
27
|
supportsAction(project, options.action));
|
|
25
28
|
if (foundations.length !== 1) {
|
|
@@ -56,6 +59,9 @@ function createProtectedDeploymentPlan(policy, options) {
|
|
|
56
59
|
}
|
|
57
60
|
return {
|
|
58
61
|
action: options.action,
|
|
62
|
+
deploymentAccounts,
|
|
63
|
+
deploymentProfile: policy.deploymentProfile,
|
|
64
|
+
deploymentRegion,
|
|
59
65
|
...(decision.effectiveProductionProfile
|
|
60
66
|
? {
|
|
61
67
|
effectiveProductionProfile: decision.effectiveProductionProfile,
|
|
@@ -108,6 +114,9 @@ function createProtectedDeploymentPlan(policy, options) {
|
|
|
108
114
|
}
|
|
109
115
|
return {
|
|
110
116
|
action: options.action,
|
|
117
|
+
deploymentAccounts,
|
|
118
|
+
deploymentProfile: policy.deploymentProfile,
|
|
119
|
+
deploymentRegion,
|
|
111
120
|
...(decision.effectiveProductionProfile
|
|
112
121
|
? {
|
|
113
122
|
effectiveProductionProfile: decision.effectiveProductionProfile,
|
|
@@ -10,7 +10,7 @@ exports.FOUNDATION_AURORA_ENGINE_VERSION = '17.4';
|
|
|
10
10
|
exports.PRODUCTION_FOUNDATION_PROFILE_CONTRACTS = {
|
|
11
11
|
'cost-optimized': {
|
|
12
12
|
aurora: {
|
|
13
|
-
max: '
|
|
13
|
+
max: '2 ACU',
|
|
14
14
|
min: '0 ACU',
|
|
15
15
|
pauseAfter: '5 minutes',
|
|
16
16
|
},
|
|
@@ -18,6 +18,15 @@ exports.PRODUCTION_FOUNDATION_PROFILE_CONTRACTS = {
|
|
|
18
18
|
deletionProtection: true,
|
|
19
19
|
nat: 'managed',
|
|
20
20
|
},
|
|
21
|
+
balanced: {
|
|
22
|
+
aurora: {
|
|
23
|
+
max: '4 ACU',
|
|
24
|
+
min: '0.5 ACU',
|
|
25
|
+
},
|
|
26
|
+
backupRetentionDays: 30,
|
|
27
|
+
deletionProtection: true,
|
|
28
|
+
nat: 'managed',
|
|
29
|
+
},
|
|
21
30
|
standard: {
|
|
22
31
|
aurora: {
|
|
23
32
|
max: '16 ACU',
|
|
@@ -3,18 +3,53 @@ export declare const REPOSITORY_POLICY_FILE: "ebk.repository-policy.json";
|
|
|
3
3
|
export declare const REPOSITORY_POLICY_SCHEMA_VERSION: 1;
|
|
4
4
|
export declare const REPOSITORY_POLICY_SCHEMA_URL: "./node_modules/@empire-builder-kit/nx/schemas/repository-policy-v1.json";
|
|
5
5
|
export declare const PRODUCTION_ACCESS_VALUES: readonly ["disabled", "controlled"];
|
|
6
|
-
export declare const PRODUCTION_APPROVAL_MODES: readonly ["promotion-pr", "environment-reviewer"];
|
|
7
|
-
export declare const PRODUCTION_FOUNDATION_PROFILES: readonly ["cost-optimized", "standard"];
|
|
6
|
+
export declare const PRODUCTION_APPROVAL_MODES: readonly ["promotion-pr", "environment-reviewer", "trunk-promotion"];
|
|
7
|
+
export declare const PRODUCTION_FOUNDATION_PROFILES: readonly ["cost-optimized", "balanced", "standard"];
|
|
8
8
|
export declare const DEFAULT_RECOVERY_PRODUCTION_FOUNDATION_PROFILE: "standard";
|
|
9
9
|
export declare const SLICE_PRODUCTION_STATUSES: readonly ["blocked", "pilot", "ready"];
|
|
10
10
|
export declare const REPOSITORY_MODE_PRESETS: readonly ["incubation", "controlled-production", "operational"];
|
|
11
|
+
export declare const DEPLOYMENT_PROFILES: readonly ["starter", "production-isolated", "fully-isolated"];
|
|
12
|
+
/** How work reaches production. protected-pair keeps develop and main with a
|
|
13
|
+
* promotion pull request and sync-back; trunk protects main alone and deploys
|
|
14
|
+
* production from every merged main push (starter fast lane). */
|
|
15
|
+
export declare const DELIVERY_LANES: readonly ["protected-pair", "trunk"];
|
|
16
|
+
export type DeliveryLane = (typeof DELIVERY_LANES)[number];
|
|
17
|
+
export declare const DEFAULT_DELIVERY_LANE: DeliveryLane;
|
|
18
|
+
export declare function deliveryLaneOf(policy: {
|
|
19
|
+
deliveryLane?: DeliveryLane;
|
|
20
|
+
}): DeliveryLane;
|
|
11
21
|
export type ProductionAccess = (typeof PRODUCTION_ACCESS_VALUES)[number];
|
|
12
22
|
export type ProductionApprovalMode = (typeof PRODUCTION_APPROVAL_MODES)[number];
|
|
13
23
|
export type ProductionFoundationProfile = (typeof PRODUCTION_FOUNDATION_PROFILES)[number];
|
|
14
24
|
export type SliceProductionStatus = (typeof SLICE_PRODUCTION_STATUSES)[number];
|
|
15
25
|
export type RepositoryModePreset = (typeof REPOSITORY_MODE_PRESETS)[number];
|
|
26
|
+
export type DeploymentProfile = (typeof DEPLOYMENT_PROFILES)[number];
|
|
27
|
+
export type CanonicalDeploymentStage = 'development' | 'staging' | 'production';
|
|
28
|
+
export interface DeploymentAccountTopology {
|
|
29
|
+
development: string;
|
|
30
|
+
production: string;
|
|
31
|
+
staging: string | null;
|
|
32
|
+
}
|
|
33
|
+
export interface ConfiguredDeploymentAccounts {
|
|
34
|
+
development: string | null;
|
|
35
|
+
production: string | null;
|
|
36
|
+
staging: string | null;
|
|
37
|
+
}
|
|
38
|
+
export declare function normalizeDeploymentAccountId(value: string | number, label: string): string;
|
|
39
|
+
export declare function requiresGithubDeployment(profile: DeploymentProfile, stage: CanonicalDeploymentStage): boolean;
|
|
40
|
+
export declare function activeDeploymentStages(profile: DeploymentProfile): readonly CanonicalDeploymentStage[];
|
|
41
|
+
export declare function isActiveDeploymentStage(profile: DeploymentProfile, stage: string): stage is CanonicalDeploymentStage;
|
|
42
|
+
export declare function productionRehearsalStage(profile: DeploymentProfile): 'development' | 'staging';
|
|
43
|
+
export declare function validateDeploymentAccountTopology(profile: DeploymentProfile, accounts: DeploymentAccountTopology): DeploymentAccountTopology;
|
|
44
|
+
export declare function configuredDeploymentAccountTopology(profile: DeploymentProfile, accounts: ConfiguredDeploymentAccounts): DeploymentAccountTopology;
|
|
45
|
+
export declare function configuredDeploymentAccountForStage(profile: DeploymentProfile, accounts: ConfiguredDeploymentAccounts, stage: CanonicalDeploymentStage): string;
|
|
46
|
+
export declare function configuredDeploymentRegion(region: string | null): string;
|
|
16
47
|
export interface RepositoryOperatingPolicy {
|
|
17
48
|
$schema?: string;
|
|
49
|
+
deliveryLane?: DeliveryLane;
|
|
50
|
+
deploymentAccounts: ConfiguredDeploymentAccounts;
|
|
51
|
+
deploymentProfile: DeploymentProfile;
|
|
52
|
+
deploymentRegion: string | null;
|
|
18
53
|
productionAccess: ProductionAccess;
|
|
19
54
|
productionApproval: {
|
|
20
55
|
mode: ProductionApprovalMode;
|
|
@@ -26,6 +61,16 @@ export interface RepositoryOperatingPolicy {
|
|
|
26
61
|
slices: Record<string, {
|
|
27
62
|
productionStatus: SliceProductionStatus;
|
|
28
63
|
}>;
|
|
64
|
+
workspaceDeploymentId: string;
|
|
65
|
+
workspaceDeploymentProvenance: {
|
|
66
|
+
kind: 'fresh';
|
|
67
|
+
schemaVersion: 1;
|
|
68
|
+
} | {
|
|
69
|
+
evidencePath: string;
|
|
70
|
+
evidenceSha256: string;
|
|
71
|
+
kind: 'migrated';
|
|
72
|
+
schemaVersion: 1;
|
|
73
|
+
};
|
|
29
74
|
}
|
|
30
75
|
export type RepositoryPolicyLifecycleAction = 'deploy' | 'dev' | 'migrate' | 'refresh' | 'remove' | 'unlock';
|
|
31
76
|
export interface RepositoryPolicyProject {
|
|
@@ -43,6 +88,10 @@ export interface RepositoryPolicyDecision {
|
|
|
43
88
|
reasons: string[];
|
|
44
89
|
}
|
|
45
90
|
export interface RepositoryPolicyChange {
|
|
91
|
+
deliveryLane?: DeliveryLane;
|
|
92
|
+
deploymentAccounts?: Partial<DeploymentAccountTopology>;
|
|
93
|
+
deploymentProfile?: DeploymentProfile;
|
|
94
|
+
deploymentRegion?: string;
|
|
46
95
|
preset?: RepositoryModePreset;
|
|
47
96
|
productionAccess?: ProductionAccess;
|
|
48
97
|
productionApprovalMode?: ProductionApprovalMode;
|
|
@@ -52,8 +101,13 @@ export interface RepositoryPolicyChange {
|
|
|
52
101
|
export declare function validateRepositoryOperatingPolicy(value: unknown): ValidationResult<RepositoryOperatingPolicy>;
|
|
53
102
|
export declare function formatRepositoryPolicyIssues(issues: ReadonlyArray<ValidationIssue>): string;
|
|
54
103
|
export declare function parseRepositoryOperatingPolicy(contents: string, source?: string): RepositoryOperatingPolicy;
|
|
104
|
+
export declare function validateRepositoryOperatingPolicyMigrationProvenance(input: {
|
|
105
|
+
evidenceBytes: string;
|
|
106
|
+
evidenceSource: string;
|
|
107
|
+
policy: RepositoryOperatingPolicy;
|
|
108
|
+
}): void;
|
|
55
109
|
export declare function readRepositoryOperatingPolicy(workspaceRoot: string): RepositoryOperatingPolicy;
|
|
56
|
-
export declare function createIncubationRepositoryPolicy(): RepositoryOperatingPolicy;
|
|
110
|
+
export declare function createIncubationRepositoryPolicy(deploymentProfile?: DeploymentProfile, workspaceDeploymentId?: string): RepositoryOperatingPolicy;
|
|
57
111
|
export declare function applyRepositoryPolicyChange(current: RepositoryOperatingPolicy, change: RepositoryPolicyChange): RepositoryOperatingPolicy;
|
|
58
112
|
export declare function evaluateRepositoryPolicyRequest(policy: RepositoryOperatingPolicy, request: RepositoryPolicyRequest): RepositoryPolicyDecision;
|
|
59
113
|
export declare function assertRepositoryPolicyRequest(workspaceRoot: string, request: RepositoryPolicyRequest): RepositoryPolicyDecision;
|