@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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const WORKLOAD_CONTAINER_NODE_IMAGE: "node:22-alpine@sha256:
|
|
1
|
+
export declare const WORKLOAD_CONTAINER_NODE_IMAGE: "node:22-alpine@sha256:0a7108bf6c7bf5de370ffb1a3ed6be93d405b43ff159f681a8d18c0e2bc2e402";
|
|
2
2
|
export declare const WORKLOAD_CONTAINER_PNPM_VERSION: "11.20.0";
|
|
3
3
|
export declare const WORKLOAD_CONTAINER_PNPM_DESCRIPTOR: "pnpm@11.20.0+sha512.9a6f330a95b66446ea088faf1521405a8a01f07fde7124cc9958dfed52d4bb436737e65b08f85f37b46fcba375092558ac51262b816844b22f63406ed166bfee";
|
|
4
4
|
export declare const WORKLOAD_CONTAINER_PNPM_STORE = "/workspace/.ebk/cache/pnpm-store";
|
|
@@ -14,6 +14,7 @@ export interface WorkloadPerformancePlan {
|
|
|
14
14
|
contents: string;
|
|
15
15
|
ownsProtectedLoadAdapter: boolean;
|
|
16
16
|
path: string;
|
|
17
|
+
protectedRuntimeStages: readonly ('development' | 'production' | 'staging')[];
|
|
17
18
|
tagContext: {
|
|
18
19
|
frameworkVersion: string;
|
|
19
20
|
owner: string;
|
|
@@ -7,6 +7,7 @@ const node_path_1 = require("node:path");
|
|
|
7
7
|
const index_js_1 = require("../../performance/index.js");
|
|
8
8
|
const index_js_2 = require("../../repository-policy/index.js");
|
|
9
9
|
const index_js_3 = require("../../ownership/index.js");
|
|
10
|
+
const tree_policy_js_1 = require("../repository-policy/tree-policy.js");
|
|
10
11
|
exports.WORKLOAD_PERFORMANCE_POLICY_PATH = 'performance/policy.json';
|
|
11
12
|
exports.WORKLOAD_PERFORMANCE_SCENARIO_PATH = 'performance/load-scenarios.json';
|
|
12
13
|
exports.WORKLOAD_PERFORMANCE_OPERATIONS_PATH = 'operations/performance.json';
|
|
@@ -180,13 +181,12 @@ function planWorkloadPerformanceRegistration(tree, input) {
|
|
|
180
181
|
}
|
|
181
182
|
capacity.push(registration);
|
|
182
183
|
capacity.sort((left, right) => (0, deterministic_order_js_1.compareUtf16)(left.id, right.id));
|
|
183
|
-
const
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
const productionProfile = repositoryPolicyResult.value.productionFoundation.profile;
|
|
184
|
+
const repositoryPolicy = (0, tree_policy_js_1.readRepositoryOperatingPolicyFromTree)(tree);
|
|
185
|
+
const productionProfile = repositoryPolicy.productionFoundation.profile;
|
|
186
|
+
const protectedRuntimeStages = [
|
|
187
|
+
(0, index_js_2.productionRehearsalStage)(repositoryPolicy.deploymentProfile),
|
|
188
|
+
'production',
|
|
189
|
+
];
|
|
190
190
|
(0, index_js_1.createStandardResourceTags)({
|
|
191
191
|
frameworkVersion: input.runtimeVersion,
|
|
192
192
|
owner: policy.owner,
|
|
@@ -197,10 +197,7 @@ function planWorkloadPerformanceRegistration(tree, input) {
|
|
|
197
197
|
workspace: input.workspace,
|
|
198
198
|
});
|
|
199
199
|
const nextPolicy = (0, index_js_1.validatePerformancePolicy)({ ...policy, capacity });
|
|
200
|
-
const logicalName =
|
|
201
|
-
.split('-')
|
|
202
|
-
.map((part) => `${part.charAt(0).toUpperCase()}${part.slice(1)}`)
|
|
203
|
-
.join('')}PerformanceLoadHmacKeys`;
|
|
200
|
+
const logicalName = 'GeneratedPerformanceLoadHmacKeys';
|
|
204
201
|
const servicePlan = input.kind === 'service'
|
|
205
202
|
? planManagedServicePerformanceFiles(tree, {
|
|
206
203
|
logicalName,
|
|
@@ -215,6 +212,7 @@ function planWorkloadPerformanceRegistration(tree, input) {
|
|
|
215
212
|
contents: `${JSON.stringify(nextPolicy, null, 2)}\n`,
|
|
216
213
|
ownsProtectedLoadAdapter: servicePlan.ownsProtectedLoadAdapter,
|
|
217
214
|
path,
|
|
215
|
+
protectedRuntimeStages,
|
|
218
216
|
tagContext: {
|
|
219
217
|
frameworkVersion: input.runtimeVersion,
|
|
220
218
|
owner: policy.owner,
|
|
@@ -9,9 +9,18 @@ function pascal(value) {
|
|
|
9
9
|
.join('');
|
|
10
10
|
}
|
|
11
11
|
function renderServicePerformanceFiles(input) {
|
|
12
|
+
if (input.protectedRuntimeStages.length === 0 ||
|
|
13
|
+
new Set(input.protectedRuntimeStages).size !==
|
|
14
|
+
input.protectedRuntimeStages.length) {
|
|
15
|
+
throw new Error('Service performance generation requires unique protected runtime stages.');
|
|
16
|
+
}
|
|
12
17
|
const sliceClass = pascal(input.slice);
|
|
13
18
|
const workloadClass = pascal(input.workload);
|
|
14
|
-
const
|
|
19
|
+
const protectedRuntimeStages = `[${input.protectedRuntimeStages
|
|
20
|
+
.map((stage) => `'${stage}'`)
|
|
21
|
+
.join(', ')}]`;
|
|
22
|
+
const fixtureStage = input.protectedRuntimeStages[0];
|
|
23
|
+
const secretName = 'GeneratedPerformanceLoadHmacKeys';
|
|
15
24
|
const reservationResourceName = `${sliceClass}${workloadClass}PerformanceReservations`;
|
|
16
25
|
const workloadIdentity = `${input.slice}.${input.workload}-service-performance-task`;
|
|
17
26
|
const executePath = `/${input.slice}/__ebk/performance/service`;
|
|
@@ -101,14 +110,15 @@ const performanceHmacKeys = secret.json<PerformanceHmacKeys>({
|
|
|
101
110
|
const PerformanceSecrets = defineSecrets({
|
|
102
111
|
${secretName}: {
|
|
103
112
|
cache: { freshTtlMs: 1_000, staleTtlMs: 0 },
|
|
113
|
+
generation: { kind: 'hmac-key-ring-v1' },
|
|
104
114
|
owner: '${input.slice}',
|
|
105
|
-
requiredStages:
|
|
115
|
+
requiredStages: ${protectedRuntimeStages},
|
|
106
116
|
retention: { mode: 'retain' },
|
|
107
117
|
rotation: {
|
|
108
118
|
mode: 'manual',
|
|
109
119
|
runbook: 'docs/runbooks/performance-capacity-cost.md',
|
|
110
120
|
},
|
|
111
|
-
source: '
|
|
121
|
+
source: 'generated',
|
|
112
122
|
value: performanceHmacKeys,
|
|
113
123
|
},
|
|
114
124
|
});
|
|
@@ -650,7 +660,17 @@ export function createProtectedServicePerformanceExecutor(input: {
|
|
|
650
660
|
|
|
651
661
|
const executeRequest = createProtectedServicePerformanceExecutor();
|
|
652
662
|
|
|
653
|
-
|
|
663
|
+
const PROTECTED_RUNTIME_STAGES = ${protectedRuntimeStages} as const;
|
|
664
|
+
type ProtectedRuntimeStage = (typeof PROTECTED_RUNTIME_STAGES)[number];
|
|
665
|
+
|
|
666
|
+
function isProtectedRuntimeStage(
|
|
667
|
+
value: string | undefined,
|
|
668
|
+
): value is ProtectedRuntimeStage {
|
|
669
|
+
return typeof value === 'string' &&
|
|
670
|
+
(PROTECTED_RUNTIME_STAGES as readonly string[]).includes(value);
|
|
671
|
+
}
|
|
672
|
+
|
|
673
|
+
let resolverStage: ProtectedRuntimeStage | undefined;
|
|
654
674
|
let resolver: ReturnType<typeof createServerSecretResolver> | undefined;
|
|
655
675
|
|
|
656
676
|
async function withEndpointBinding<Result>(
|
|
@@ -660,7 +680,7 @@ async function withEndpointBinding<Result>(
|
|
|
660
680
|
const stage = process.env.EBK_STAGE;
|
|
661
681
|
if (
|
|
662
682
|
process.env.EBK_PERFORMANCE_LOAD_ENABLED !== 'true' ||
|
|
663
|
-
(stage
|
|
683
|
+
!isProtectedRuntimeStage(stage)
|
|
664
684
|
) {
|
|
665
685
|
throw new Error('protected-performance-endpoint-disabled');
|
|
666
686
|
}
|
|
@@ -926,7 +946,7 @@ const binding: ProtectedLoadEndpointBindingV1 = {
|
|
|
926
946
|
deployedReleaseMaterialDigest: 'c'.repeat(64),
|
|
927
947
|
deployedSourceCommit: 'd'.repeat(40),
|
|
928
948
|
hmacKeys: { current: hmacKey },
|
|
929
|
-
stage: '
|
|
949
|
+
stage: '${fixtureStage}',
|
|
930
950
|
target: {
|
|
931
951
|
accountFingerprint: 'sha256:' + 'a'.repeat(64),
|
|
932
952
|
origin: 'https://service.example.test',
|
|
@@ -958,7 +978,7 @@ function authorization(operation: 'cleanup' | 'execute'):
|
|
|
958
978
|
runId: 'service-run',
|
|
959
979
|
saturationSignalRef: SERVICE_PER_TASK_SATURATION_SIGNAL_REF,
|
|
960
980
|
scenarioId: 'service-extension',
|
|
961
|
-
stage: '
|
|
981
|
+
stage: '${fixtureStage}',
|
|
962
982
|
target: {
|
|
963
983
|
...binding.target,
|
|
964
984
|
endpoint: 'https://service.example.test' +
|
|
@@ -13,5 +13,5 @@ export interface WorkloadFilePlan {
|
|
|
13
13
|
}>;
|
|
14
14
|
project: string;
|
|
15
15
|
}
|
|
16
|
-
export declare function createWorkloadFilePlan(workspace: string, slice: string, workload: string, kind: WorkloadKind, runtimeVersion: string, feature: string, ownsProtectedLoadAdapter: boolean): WorkloadFilePlan;
|
|
16
|
+
export declare function createWorkloadFilePlan(workspace: string, slice: string, workload: string, kind: WorkloadKind, runtimeVersion: string, feature: string, ownsProtectedLoadAdapter: boolean, protectedRuntimeStages?: readonly ('development' | 'production' | 'staging')[]): WorkloadFilePlan;
|
|
17
17
|
export declare function workloadGenerator(tree: Tree, options: WorkloadGeneratorSchema, kind: WorkloadKind): Promise<GeneratorCallback | void>;
|
|
@@ -4,13 +4,19 @@ exports.SERVICE_WORKLOAD_PACKAGE_MANAGED_JSON_POINTERS = exports.WORKLOAD_PACKAG
|
|
|
4
4
|
exports.createWorkloadFilePlan = createWorkloadFilePlan;
|
|
5
5
|
exports.workloadGenerator = workloadGenerator;
|
|
6
6
|
const deterministic_order_js_1 = require("../../deterministic-order.js");
|
|
7
|
-
const devkit_1 = require("@nx/devkit");
|
|
8
7
|
const node_path_1 = require("node:path");
|
|
9
8
|
const index_js_1 = require("../../ownership/index.js");
|
|
9
|
+
const capability_plan_js_1 = require("../../foundation/capability-plan.js");
|
|
10
|
+
const preview_changes_js_1 = require("../../developer-agent/preview-changes.js");
|
|
11
|
+
const upgrade_js_1 = require("../upgrade/upgrade.js");
|
|
12
|
+
const built_in_plan_foundation_files_js_1 = require("../slice/built-in-plan-foundation-files.js");
|
|
10
13
|
const feature_registry_js_1 = require("../feature-registry.js");
|
|
14
|
+
const formatting_js_1 = require("../formatting.js");
|
|
11
15
|
const logging_registry_js_1 = require("../logging-registry.js");
|
|
12
16
|
const post_generation_install_js_1 = require("../post-generation-install.js");
|
|
13
17
|
const tool_versions_js_1 = require("../preset/tool-versions.js");
|
|
18
|
+
const workspace_files_js_1 = require("../preset/workspace-files.js");
|
|
19
|
+
const built_in_plan_js_1 = require("../slice/built-in-plan.js");
|
|
14
20
|
const built_in_plan_shared_js_1 = require("../slice/built-in-plan-shared.js");
|
|
15
21
|
const frozen_container_js_1 = require("./frozen-container.js");
|
|
16
22
|
const performance_registration_js_1 = require("./performance-registration.js");
|
|
@@ -131,7 +137,7 @@ exports.SERVICE_WORKLOAD_PACKAGE_MANAGED_JSON_POINTERS = [
|
|
|
131
137
|
'/dependencies/@aws-sdk~1client-dynamodb',
|
|
132
138
|
'/dependencies/sst',
|
|
133
139
|
];
|
|
134
|
-
function createWorkloadFilePlan(workspace, slice, workload, kind, runtimeVersion, feature, ownsProtectedLoadAdapter) {
|
|
140
|
+
function createWorkloadFilePlan(workspace, slice, workload, kind, runtimeVersion, feature, ownsProtectedLoadAdapter, protectedRuntimeStages = ['staging', 'production']) {
|
|
135
141
|
const plural = kind === 'service' ? 'services' : 'jobs';
|
|
136
142
|
const relativeRoot = node_path_1.posix.join(plural, workload);
|
|
137
143
|
const className = `${pascal(slice)}${pascal(workload)}${pascal(kind)}`;
|
|
@@ -226,6 +232,20 @@ function createWorkloadFilePlan(workspace, slice, workload, kind, runtimeVersion
|
|
|
226
232
|
.replace("health: { command: ['CMD-SHELL', 'wget -qO- http://localhost:3000/health || exit 1'] },", "health: { command: ['CMD-SHELL', 'wget -qO- http://localhost:' + DEFAULT_SERVICE_PORT + '/health || exit 1'] },")
|
|
227
233
|
.replace('serviceRegistry: { port: 3000 },', 'serviceRegistry: { port: DEFAULT_SERVICE_PORT },');
|
|
228
234
|
}
|
|
235
|
+
const nativeAuthorityInfrastructurePath = `${relativeRoot}/infra.ts`;
|
|
236
|
+
const nativeAuthorityInfrastructure = files[nativeAuthorityInfrastructurePath] ?? '';
|
|
237
|
+
const nativeAuthoritySeams = [
|
|
238
|
+
'../../infra/workload-roles/effective-intent.js',
|
|
239
|
+
' roles?: { executionRole: string; taskRole: string },',
|
|
240
|
+
' ...(roles ?? {}),',
|
|
241
|
+
];
|
|
242
|
+
if (nativeAuthoritySeams.some((fragment) => !nativeAuthorityInfrastructure.includes(fragment))) {
|
|
243
|
+
throw new Error(`Built-in ${kind} infrastructure is missing its native permission integration point.`);
|
|
244
|
+
}
|
|
245
|
+
files[nativeAuthorityInfrastructurePath] = nativeAuthorityInfrastructure
|
|
246
|
+
.replace('../../infra/workload-roles/effective-intent.js', '../../infra/native-runtime-authority/effective-intent.js')
|
|
247
|
+
.replace(' roles?: { executionRole: string; taskRole: string },', ' permissions: any,')
|
|
248
|
+
.replace(' ...(roles ?? {}),', ' permissions,');
|
|
229
249
|
if (kind === 'service' && ownsProtectedLoadAdapter) {
|
|
230
250
|
const mainPath = `${relativeRoot}/src/main.ts`;
|
|
231
251
|
let mainSource = files[mainPath] ?? '';
|
|
@@ -243,7 +263,11 @@ function createWorkloadFilePlan(workspace, slice, workload, kind, runtimeVersion
|
|
|
243
263
|
'content-type': 'application/json',
|
|
244
264
|
});`);
|
|
245
265
|
files[mainPath] = mainSource;
|
|
246
|
-
Object.assign(files, (0, service_performance_files_js_1.renderServicePerformanceFiles)({
|
|
266
|
+
Object.assign(files, (0, service_performance_files_js_1.renderServicePerformanceFiles)({
|
|
267
|
+
protectedRuntimeStages,
|
|
268
|
+
slice,
|
|
269
|
+
workload,
|
|
270
|
+
}));
|
|
247
271
|
}
|
|
248
272
|
const infrastructurePath = `${relativeRoot}/infra.ts`;
|
|
249
273
|
const packageLocalImage = `image: { context: './${plural}/${workload}', dockerfile: 'Dockerfile' }`;
|
|
@@ -261,12 +285,12 @@ import { createStandardResourceTags } from '@empire-builder-kit/nx/performance';
|
|
|
261
285
|
import { resolveStandardContainerImage } from '../../infra/container-images.js';
|
|
262
286
|
`);
|
|
263
287
|
replaceInfrastructureFragment(` alertTopicArn: any,
|
|
264
|
-
|
|
288
|
+
permissions: any,
|
|
265
289
|
`, ` alertTopicArn: any,
|
|
266
290
|
performance: {
|
|
267
291
|
frameworkVersion: string;
|
|
268
292
|
owner: string;
|
|
269
|
-
productionProfile: 'cost-optimized' | 'standard';
|
|
293
|
+
productionProfile: 'cost-optimized' | 'balanced' | 'standard';
|
|
270
294
|
repository: string;
|
|
271
295
|
},
|
|
272
296
|
${kind !== 'service' || ownsProtectedLoadAdapter
|
|
@@ -289,7 +313,7 @@ ${kind !== 'service' || ownsProtectedLoadAdapter
|
|
|
289
313
|
router: any;
|
|
290
314
|
} | undefined,
|
|
291
315
|
`
|
|
292
|
-
: ''}
|
|
316
|
+
: ''} permissions: any,
|
|
293
317
|
`);
|
|
294
318
|
replaceInfrastructureFragment(` workspace: '${workspace}',
|
|
295
319
|
});
|
|
@@ -423,10 +447,10 @@ ${kind !== 'service' || ownsProtectedLoadAdapter
|
|
|
423
447
|
}
|
|
424
448
|
infrastructureSource = infrastructureSource.replace(packageLocalImage, protectedReleaseImage);
|
|
425
449
|
if (kind === 'service' && ownsProtectedLoadAdapter) {
|
|
426
|
-
replaceInfrastructureFragment(`import { standardSliceExtensionTaskFamily } from '../../infra/
|
|
450
|
+
replaceInfrastructureFragment(`import { standardSliceExtensionTaskFamily } from '../../infra/native-runtime-authority/effective-intent.js';`, `import {
|
|
427
451
|
standardSliceExtensionTaskFamily,
|
|
428
452
|
standardSliceServicePerformanceReservationTableName,
|
|
429
|
-
} from '../../infra/
|
|
453
|
+
} from '../../infra/native-runtime-authority/effective-intent.js';`);
|
|
430
454
|
replaceInfrastructureFragment(` const workload = new sst.aws.Service`, ` const performanceReservations = performanceDeploymentBinding
|
|
431
455
|
? new aws.dynamodb.Table(
|
|
432
456
|
'${className}PerformanceReservationsTable',
|
|
@@ -1010,7 +1034,7 @@ describe('${workload} ${kind} outage behavior', () => {
|
|
|
1010
1034
|
project: `@${slice}/${kind}-${workload}`,
|
|
1011
1035
|
};
|
|
1012
1036
|
}
|
|
1013
|
-
async function
|
|
1037
|
+
async function executeWorkloadGenerator(tree, options, kind) {
|
|
1014
1038
|
const slice = name(options.slice, 'Product Slice name');
|
|
1015
1039
|
const workload = name(options.name, kind === 'service' ? 'Service name' : 'Job name');
|
|
1016
1040
|
const requestedFeature = name(options.feature, 'Feature');
|
|
@@ -1018,8 +1042,8 @@ async function workloadGenerator(tree, options, kind) {
|
|
|
1018
1042
|
const sliceRoot = node_path_1.posix.join('packages', slice);
|
|
1019
1043
|
const root = node_path_1.posix.join(sliceRoot, plural, workload);
|
|
1020
1044
|
const productPath = node_path_1.posix.join(sliceRoot, 'infra/product.ts');
|
|
1021
|
-
const
|
|
1022
|
-
const intentPath = node_path_1.posix.join(sliceRoot, 'infra/
|
|
1045
|
+
const topologyPath = node_path_1.posix.join(sliceRoot, 'infra/native-runtime-authority/topology.ts');
|
|
1046
|
+
const intentPath = node_path_1.posix.join(sliceRoot, 'infra/native-runtime-authority/effective-intent.ts');
|
|
1023
1047
|
const installOperation = {
|
|
1024
1048
|
generator: 'workload',
|
|
1025
1049
|
id: `generator:workload:${slice}:${kind}:${workload}`,
|
|
@@ -1033,6 +1057,7 @@ async function workloadGenerator(tree, options, kind) {
|
|
|
1033
1057
|
},
|
|
1034
1058
|
resumeArguments: [
|
|
1035
1059
|
'pnpm',
|
|
1060
|
+
'--config.verify-deps-before-run=warn',
|
|
1036
1061
|
'nx',
|
|
1037
1062
|
'generate',
|
|
1038
1063
|
`@empire-builder-kit/nx:${kind}`,
|
|
@@ -1070,8 +1095,28 @@ async function workloadGenerator(tree, options, kind) {
|
|
|
1070
1095
|
if (!tree.exists(productPath)) {
|
|
1071
1096
|
throw new Error(`${slice} is not an EBK v1 Product Slice.`);
|
|
1072
1097
|
}
|
|
1073
|
-
|
|
1074
|
-
|
|
1098
|
+
const ownership = (0, index_js_1.validateGeneratedOwnershipRecord)(JSON.parse(tree.read(node_path_1.posix.join(sliceRoot, '.ebk/ownership.json'), 'utf8') ?? 'null'));
|
|
1099
|
+
if (!ownership.valid)
|
|
1100
|
+
throw new Error('Product Slice ownership is invalid before workload composition.');
|
|
1101
|
+
const foundationPath = node_path_1.posix.join(sliceRoot, 'infra/foundation.ts');
|
|
1102
|
+
const foundationSource = tree.read(foundationPath, 'utf8');
|
|
1103
|
+
const foundationOwner = ownership.value.paths.find(({ path }) => path === 'infra/foundation.ts');
|
|
1104
|
+
if (foundationSource === null ||
|
|
1105
|
+
foundationOwner?.mode !== 'managed' ||
|
|
1106
|
+
(0, index_js_1.hashOwnedContent)(foundationSource, foundationOwner) !==
|
|
1107
|
+
foundationOwner.sha256)
|
|
1108
|
+
throw new Error('Product Slice Foundation bindings have managed drift; reconcile ownership before workload generation.');
|
|
1109
|
+
const foundationRequirement = {
|
|
1110
|
+
contract: ownership.value.foundation.contract,
|
|
1111
|
+
capabilities: (0, capability_plan_js_1.planFoundationCapabilities)({
|
|
1112
|
+
requirements: [
|
|
1113
|
+
ownership.value.foundation,
|
|
1114
|
+
{ contract: '^2.0.0', capabilities: ['network', 'container-compute'] },
|
|
1115
|
+
],
|
|
1116
|
+
}).descriptor.capabilities,
|
|
1117
|
+
};
|
|
1118
|
+
requireCompositionMarker(tree, topologyPath, '// <ebk:native-runtime-extensions:end>');
|
|
1119
|
+
requireCompositionMarker(tree, intentPath, '// <ebk:native-runtime-intent-contributions:end>');
|
|
1075
1120
|
for (const marker of [
|
|
1076
1121
|
'// <ebk:composition-imports:end>',
|
|
1077
1122
|
'// <ebk:workload-registrations:end>',
|
|
@@ -1099,12 +1144,13 @@ async function workloadGenerator(tree, options, kind) {
|
|
|
1099
1144
|
slice,
|
|
1100
1145
|
sliceRoot,
|
|
1101
1146
|
});
|
|
1102
|
-
const plan = createWorkloadFilePlan(workspace, slice, workload, kind, runtimeVersion, feature, performanceRegistration.ownsProtectedLoadAdapter);
|
|
1147
|
+
const plan = createWorkloadFilePlan(workspace, slice, workload, kind, runtimeVersion, feature, performanceRegistration.ownsProtectedLoadAdapter, performanceRegistration.protectedRuntimeStages);
|
|
1103
1148
|
const additionalPerformancePaths = performanceRegistration.additionalFiles.map(({ path }) => path);
|
|
1104
1149
|
const installScope = {
|
|
1105
1150
|
exactPaths: [
|
|
1151
|
+
foundationPath,
|
|
1106
1152
|
productPath,
|
|
1107
|
-
|
|
1153
|
+
topologyPath,
|
|
1108
1154
|
intentPath,
|
|
1109
1155
|
node_path_1.posix.join(sliceRoot, logging_registry_js_1.SLICE_LOGGING_REGISTRY_PATH),
|
|
1110
1156
|
node_path_1.posix.join(sliceRoot, performance_registration_js_1.WORKLOAD_PERFORMANCE_POLICY_PATH),
|
|
@@ -1116,7 +1162,7 @@ async function workloadGenerator(tree, options, kind) {
|
|
|
1116
1162
|
requiredPaths: [
|
|
1117
1163
|
node_path_1.posix.join(root, 'package.json'),
|
|
1118
1164
|
productPath,
|
|
1119
|
-
|
|
1165
|
+
topologyPath,
|
|
1120
1166
|
intentPath,
|
|
1121
1167
|
node_path_1.posix.join(sliceRoot, logging_registry_js_1.SLICE_LOGGING_REGISTRY_PATH),
|
|
1122
1168
|
node_path_1.posix.join(sliceRoot, performance_registration_js_1.WORKLOAD_PERFORMANCE_POLICY_PATH),
|
|
@@ -1125,12 +1171,28 @@ async function workloadGenerator(tree, options, kind) {
|
|
|
1125
1171
|
node_path_1.posix.join(sliceRoot, RELEASE_REGISTRY_PATH),
|
|
1126
1172
|
node_path_1.posix.join(sliceRoot, '.ebk/ownership.json'),
|
|
1127
1173
|
],
|
|
1128
|
-
roots: [root],
|
|
1174
|
+
roots: [root, 'packages/foundation'],
|
|
1129
1175
|
};
|
|
1130
1176
|
const installState = options.skipInstall
|
|
1131
1177
|
? undefined
|
|
1132
1178
|
: (0, post_generation_install_js_1.capturePostGenerationInstallState)(tree, installScope, installOperation);
|
|
1133
1179
|
const { factoryName } = plan;
|
|
1180
|
+
// Capability growth and its consuming bindings are a single deferred source
|
|
1181
|
+
// operation. A container needs network/compute, never an implicit database.
|
|
1182
|
+
await (0, upgrade_js_1.upgradeFoundationForRequirements)(tree, [foundationRequirement], true);
|
|
1183
|
+
if (!ownership.value.foundation.capabilities.includes('network')) {
|
|
1184
|
+
// Capability growth must update the API's consuming network binding in
|
|
1185
|
+
// this same generation, before a Service registers private ingress.
|
|
1186
|
+
const source = tree.read(productPath, 'utf8');
|
|
1187
|
+
if (source === null)
|
|
1188
|
+
throw new Error('Product Slice API source is missing; no workload files changed.');
|
|
1189
|
+
const anchor = ` const api = new sst.aws.ApiGatewayV2('${pascal(slice)}Api', {`;
|
|
1190
|
+
if (source.split(anchor).length !== 2)
|
|
1191
|
+
throw new Error('Product Slice API composition is not recognized; no workload files changed.');
|
|
1192
|
+
tree.write(productPath, source.replace(anchor, anchor +
|
|
1193
|
+
'\n ...(performanceDeploymentAuthority ? { vpc: foundation.vpc } : {}),'));
|
|
1194
|
+
}
|
|
1195
|
+
tree.write(foundationPath, (0, built_in_plan_foundation_files_js_1.renderSliceFoundationFiles)(slice, pascal(slice), foundationRequirement.capabilities)['infra/foundation.ts']);
|
|
1134
1196
|
const infraRelative = `../${plural}/${workload}/infra.js`;
|
|
1135
1197
|
for (const [path, contents] of Object.entries(plan.files)) {
|
|
1136
1198
|
tree.write(node_path_1.posix.join(sliceRoot, path), contents);
|
|
@@ -1159,13 +1221,13 @@ ${kind !== 'service' || performanceRegistration.ownsProtectedLoadAdapter
|
|
|
1159
1221
|
${kind === 'service' && performanceRegistration.ownsProtectedLoadAdapter
|
|
1160
1222
|
? ` performanceIngress,
|
|
1161
1223
|
performanceDeploymentBinding
|
|
1162
|
-
?
|
|
1163
|
-
:
|
|
1224
|
+
? nativeAuthority.permissions('${workload}-service-performance-task')
|
|
1225
|
+
: nativeAuthority.permissions('${workload}-service-task'),
|
|
1164
1226
|
`
|
|
1165
1227
|
: kind === 'service'
|
|
1166
|
-
? `
|
|
1228
|
+
? ` nativeAuthority.permissions('${workload}-service-task'),
|
|
1167
1229
|
`
|
|
1168
|
-
: `
|
|
1230
|
+
: ` nativeAuthority.permissions('${workload}-job-task'),
|
|
1169
1231
|
`}
|
|
1170
1232
|
${kind === 'service' && performanceRegistration.ownsProtectedLoadAdapter
|
|
1171
1233
|
? ` performanceDeploymentBinding
|
|
@@ -1187,17 +1249,24 @@ ${kind === 'service' && performanceRegistration.ownsProtectedLoadAdapter
|
|
|
1187
1249
|
: undefined,
|
|
1188
1250
|
);`);
|
|
1189
1251
|
replaceMarker(tree, productPath, '// <ebk:composition-outputs:end>', ` ${kind}${pascal(workload)},`);
|
|
1190
|
-
replaceMarker(tree,
|
|
1191
|
-
replaceMarker(tree, intentPath, '// <ebk:
|
|
1192
|
-
if (!options.skipFormat)
|
|
1193
|
-
|
|
1252
|
+
replaceMarker(tree, topologyPath, '// <ebk:native-runtime-extensions:end>', ` { id: '${workload}', kind: '${kind}' },`);
|
|
1253
|
+
replaceMarker(tree, intentPath, '// <ebk:native-runtime-intent-contributions:end>', ` ...extensionWorkloadRoleIntentContributions(context, topology, '${workload}', '${kind}'),`);
|
|
1254
|
+
if (!options.skipFormat) {
|
|
1255
|
+
const slicePrefix = `${sliceRoot}/`;
|
|
1256
|
+
const restoreProtectedFiles = (0, formatting_js_1.createTreeFileRestorer)(tree, (path) => (0, workspace_files_js_1.isRawWorkspaceAuthorityPath)(path) ||
|
|
1257
|
+
(path.startsWith(slicePrefix) &&
|
|
1258
|
+
(0, built_in_plan_js_1.isBuiltInSliceFormatSensitivePath)(path.slice(slicePrefix.length))));
|
|
1259
|
+
await (0, formatting_js_1.formatChangedTreeToFixedPoint)(tree, restoreProtectedFiles);
|
|
1260
|
+
}
|
|
1194
1261
|
(0, index_js_1.recordCompositionOwnership)(tree, {
|
|
1195
1262
|
compositions: [{ feature, kind, name: workload }],
|
|
1263
|
+
foundation: foundationRequirement,
|
|
1196
1264
|
paths: [
|
|
1197
1265
|
...plan.paths,
|
|
1266
|
+
{ path: 'infra/foundation.ts' },
|
|
1198
1267
|
{ path: 'infra/product.ts' },
|
|
1199
|
-
{ path: 'infra/
|
|
1200
|
-
{ path: 'infra/
|
|
1268
|
+
{ path: 'infra/native-runtime-authority/topology.ts' },
|
|
1269
|
+
{ path: 'infra/native-runtime-authority/effective-intent.ts' },
|
|
1201
1270
|
{ path: logging_registry_js_1.SLICE_LOGGING_REGISTRY_PATH },
|
|
1202
1271
|
{ mode: 'seeded', path: performance_registration_js_1.WORKLOAD_PERFORMANCE_POLICY_PATH },
|
|
1203
1272
|
...performanceRegistration.additionalFiles.map(({ mode, path }) => ({
|
|
@@ -1210,8 +1279,9 @@ ${kind === 'service' && performanceRegistration.ownsProtectedLoadAdapter
|
|
|
1210
1279
|
projects: [plan.project],
|
|
1211
1280
|
slice,
|
|
1212
1281
|
});
|
|
1213
|
-
if (!options.skipFormat)
|
|
1214
|
-
await (0,
|
|
1282
|
+
if (!options.skipFormat) {
|
|
1283
|
+
await (0, formatting_js_1.formatTreeFileToFixedPoint)(tree, node_path_1.posix.join(sliceRoot, '.ebk/ownership.json'));
|
|
1284
|
+
}
|
|
1215
1285
|
if (options.skipInstall)
|
|
1216
1286
|
return undefined;
|
|
1217
1287
|
if (!installState) {
|
|
@@ -1219,4 +1289,10 @@ ${kind === 'service' && performanceRegistration.ownsProtectedLoadAdapter
|
|
|
1219
1289
|
}
|
|
1220
1290
|
return (0, post_generation_install_js_1.createPostGenerationInstallCallback)(tree, installState, installScope, installOperation);
|
|
1221
1291
|
}
|
|
1292
|
+
async function workloadGenerator(tree, options, kind) {
|
|
1293
|
+
const deferred = new preview_changes_js_1.DeferredDeveloperAgentTree(tree);
|
|
1294
|
+
const install = await executeWorkloadGenerator(deferred, options, kind);
|
|
1295
|
+
deferred.apply();
|
|
1296
|
+
return install;
|
|
1297
|
+
}
|
|
1222
1298
|
//# sourceMappingURL=workload.js.map
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
export declare const GITHUB_ACTION_PINS: {
|
|
2
|
+
readonly cache: {
|
|
3
|
+
readonly action: "actions/cache";
|
|
4
|
+
readonly sha: "0057852bfaa89a56745cba8c7296529d2fc39830";
|
|
5
|
+
readonly tag: "v4.3.0";
|
|
6
|
+
};
|
|
2
7
|
readonly checkout: {
|
|
3
8
|
readonly action: "actions/checkout";
|
|
4
9
|
readonly sha: "df4cb1c069e1874edd31b4311f1884172cec0e10";
|
|
@@ -3,6 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.GITHUB_ACTION_PINS = void 0;
|
|
4
4
|
exports.pinnedAction = pinnedAction;
|
|
5
5
|
exports.GITHUB_ACTION_PINS = {
|
|
6
|
+
cache: {
|
|
7
|
+
action: 'actions/cache',
|
|
8
|
+
sha: '0057852bfaa89a56745cba8c7296529d2fc39830',
|
|
9
|
+
tag: 'v4.3.0',
|
|
10
|
+
},
|
|
6
11
|
checkout: {
|
|
7
12
|
action: 'actions/checkout',
|
|
8
13
|
sha: 'df4cb1c069e1874edd31b4311f1884172cec0e10',
|
|
@@ -1,24 +1,55 @@
|
|
|
1
|
-
import { type ProductionApprovalMode } from '../repository-policy/index.js';
|
|
1
|
+
import { type DeliveryLane, type DeploymentProfile, type ProductionApprovalMode } from '../repository-policy/index.js';
|
|
2
2
|
export declare const EBK_PROTECTED_BRANCH_RULESET_NAME = "Empire Builder Kit protected branches";
|
|
3
3
|
export declare const EBK_REQUIRED_CHECKS: readonly ["policy", "verify"];
|
|
4
|
-
export declare const
|
|
4
|
+
export declare const EBK_RETIRED_DEPLOYMENT_ROLE_SECRET = "AWS_DEPLOY_ROLE_ARN";
|
|
5
5
|
export declare const EBK_ECR_INSPECTOR_EVIDENCE_ROLE_SECRET = "AWS_ECR_INSPECTOR_EVIDENCE_ROLE_ARN";
|
|
6
6
|
export declare const EBK_ASYNC_RECOVERY_ROLE_SECRET = "AWS_ASYNC_RECOVERY_ROLE_ARN";
|
|
7
7
|
export declare const EBK_PERFORMANCE_AGGREGATE_ROLE_SECRET = "AWS_PERFORMANCE_AGGREGATE_ROLE_ARN";
|
|
8
8
|
export declare const EBK_PERFORMANCE_COST_ROLE_SECRET = "AWS_PERFORMANCE_COST_ROLE_ARN";
|
|
9
9
|
export declare const EBK_PERFORMANCE_LOAD_ROLE_SECRET = "AWS_PERFORMANCE_LOAD_ROLE_ARN";
|
|
10
10
|
export declare const EBK_PERFORMANCE_ORIGINS_VARIABLE: "EBK_PERFORMANCE_ORIGINS_JSON";
|
|
11
|
-
|
|
12
|
-
export declare const
|
|
11
|
+
/** Production environment secret that lets trunk promotion fast-forward main. */
|
|
12
|
+
export declare const EBK_RECORD_MAIN_TOKEN_SECRET: "EBK_RECORD_MAIN_TOKEN";
|
|
13
|
+
/** Trunk promotion keeps main behind status checks and fast-forward pushes only. */
|
|
14
|
+
export declare const EBK_PROTECTED_MAIN_RULESET_NAME: "EBK protected main (trunk promotion)";
|
|
13
15
|
export declare const EBK_STAGING_PROMOTION_PULL_ROLE_SECRET = "AWS_STAGING_PROMOTION_PULL_ROLE_ARN";
|
|
14
|
-
export declare const EBK_PROTECTED_ENVIRONMENT_SECRETS: readonly ["AWS_ASYNC_RECOVERY_ROLE_ARN", "
|
|
15
|
-
export declare const EBK_PROTECTED_ENVIRONMENT_VARIABLES: readonly ["AWS_EXPECTED_ACCOUNT_ID", "AWS_REGION", "AWS_STAGING_PROMOTION_EXPECTED_ACCOUNT_ID", "AWS_STAGING_PROMOTION_REGION", "EBK_ALLOW_PRODUCTION_REMOVE", "EBK_FLEET_ORIGIN"
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
export declare const EBK_PROTECTED_ENVIRONMENT_SECRETS: readonly ["AWS_ASYNC_RECOVERY_ROLE_ARN", "AWS_ECR_INSPECTOR_EVIDENCE_ROLE_ARN", "AWS_DEPLOY_ROLE_ARN", "AWS_STAGING_PROMOTION_PULL_ROLE_ARN"];
|
|
17
|
+
export declare const EBK_PROTECTED_ENVIRONMENT_VARIABLES: readonly ["AWS_EXPECTED_ACCOUNT_ID", "AWS_REGION", "AWS_STAGING_PROMOTION_EXPECTED_ACCOUNT_ID", "AWS_STAGING_PROMOTION_REGION", "EBK_ALLOW_PRODUCTION_REMOVE", "EBK_FLEET_ORIGIN"];
|
|
18
|
+
/**
|
|
19
|
+
* Non-secret stage environment variables an operator may set to request a
|
|
20
|
+
* machine credential generation or its retirement on a workflow deploy. They
|
|
21
|
+
* are never required, and a repository- or organization-scoped copy would
|
|
22
|
+
* silently apply to every stage, so only the stage environment may hold them.
|
|
23
|
+
*/
|
|
24
|
+
export declare const EBK_OPTIONAL_STAGE_ENVIRONMENT_VARIABLES: readonly ["EBK_MACHINE_CREDENTIAL_GENERATION", "EBK_MACHINE_RETIRE_PREVIOUS_GENERATION"];
|
|
18
25
|
export declare const EBK_CODE_OWNER_PLACEHOLDER: "@REPLACE_WITH_GITHUB_CODE_OWNER";
|
|
26
|
+
type GitHubEnvironmentStage = 'development' | 'production' | 'staging';
|
|
27
|
+
type GitHubAuxiliaryEnvironment = 'async-recovery' | 'ecr-inspector';
|
|
28
|
+
export type GitHubEnvironmentName = `${GitHubAuxiliaryEnvironment}-${GitHubEnvironmentStage}` | GitHubEnvironmentStage | 'npm-prerelease';
|
|
29
|
+
export interface GitHubEnvironmentTopologyEntry {
|
|
30
|
+
/** Further branches admitted alongside branch (trunk promotion admits
|
|
31
|
+
* develop into production-stage environments). */
|
|
32
|
+
additionalBranches?: readonly ('develop' | 'main')[];
|
|
33
|
+
branch: 'develop' | 'main';
|
|
34
|
+
name: GitHubEnvironmentName;
|
|
35
|
+
/** Variables the environment may hold but never requires. */
|
|
36
|
+
optionalVariables?: readonly string[];
|
|
37
|
+
requiredSecrets: readonly string[];
|
|
38
|
+
requiredVariables: readonly string[];
|
|
39
|
+
stage: GitHubEnvironmentStage;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Exact generated GitHub environment contract for one deployment profile.
|
|
43
|
+
* Starter uses development as its rehearsal stage; isolated profiles use
|
|
44
|
+
* staging. Production and npm publication remain present for every profile.
|
|
45
|
+
*/
|
|
46
|
+
export declare function githubEnvironmentTopology(deploymentProfile: DeploymentProfile, deliveryLane?: DeliveryLane, productionApprovalMode?: ProductionApprovalMode): readonly GitHubEnvironmentTopologyEntry[];
|
|
19
47
|
export interface GitHubBootstrapOptions {
|
|
20
48
|
apiBaseUrl?: string;
|
|
21
49
|
apply?: boolean;
|
|
50
|
+
deliveryLane?: DeliveryLane;
|
|
51
|
+
deploymentProfile?: DeploymentProfile;
|
|
52
|
+
immutableOidcTrustAcknowledgement?: string;
|
|
22
53
|
npmPrereleaseReviewerIds?: number[];
|
|
23
54
|
productionApprovalMode: ProductionApprovalMode;
|
|
24
55
|
productionReviewerIds?: number[];
|
|
@@ -28,9 +59,18 @@ export interface GitHubBootstrapOptions {
|
|
|
28
59
|
export interface GitHubBootstrapReport {
|
|
29
60
|
blockers: string[];
|
|
30
61
|
changes: string[];
|
|
62
|
+
deploymentProfile: DeploymentProfile;
|
|
31
63
|
ready: boolean;
|
|
32
64
|
repository: string;
|
|
65
|
+
repositoryIdentity?: GitHubRepositoryIdentity;
|
|
33
66
|
productionApprovalMode: ProductionApprovalMode;
|
|
34
67
|
warnings: string[];
|
|
35
68
|
}
|
|
69
|
+
export interface GitHubRepositoryIdentity {
|
|
70
|
+
fullName: string;
|
|
71
|
+
ownerId: string;
|
|
72
|
+
repositoryId: string;
|
|
73
|
+
subjectPrefix: string;
|
|
74
|
+
}
|
|
36
75
|
export declare function runGitHubBootstrap(options: GitHubBootstrapOptions): Promise<GitHubBootstrapReport>;
|
|
76
|
+
export {};
|