@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
package/README.md
CHANGED
|
@@ -6,12 +6,30 @@ Generators:
|
|
|
6
6
|
|
|
7
7
|
- `preset` (composed by `@empire-builder-kit/create`)
|
|
8
8
|
- `slice`
|
|
9
|
+
- `sql` (report-first additive Standard SQL requirement)
|
|
9
10
|
- `function`
|
|
10
11
|
- `service`
|
|
11
12
|
- `job`
|
|
12
13
|
- `repository-policy`
|
|
13
14
|
- `upgrade`
|
|
14
15
|
|
|
16
|
+
Standard starts with DynamoDB. When a feature needs relational integrity or
|
|
17
|
+
joins, add SQL to its existing Slice without changing the default record store:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
pnpm nx g @empire-builder-kit/nx:sql billing --reason="Invoice ledger needs relational constraints and reporting joins."
|
|
21
|
+
pnpm nx g @empire-builder-kit/nx:sql billing --reason="Invoice ledger needs relational constraints and reporting joins." --apply
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
The first command reports the paired Foundation/Slice managed upgrade. The
|
|
25
|
+
second applies source changes and the normal dependency installation; neither
|
|
26
|
+
command calls AWS, copies data, or deploys resources. Inspect the resource/cost
|
|
27
|
+
implications, then use the normal fleet and deployment lifecycle. Existing
|
|
28
|
+
capacity choices and seeded features are retained. SQL remains declared even
|
|
29
|
+
if its last consumer is removed; retirement is a separate explicit operation.
|
|
30
|
+
External Blueprints declare requirements through their own owner, not this
|
|
31
|
+
Standard-only generator. See the [database contract](../../docs/database-contract.md).
|
|
32
|
+
|
|
15
33
|
The package also owns Repository Operating Policy validation and protected
|
|
16
34
|
deployment planning, generated Git routing and report-first GitHub bootstrap,
|
|
17
35
|
Foundation discovery/profile preflight, trusted external Blueprint execution,
|
|
@@ -21,7 +39,7 @@ Consumers should never invoke SST lifecycle commands directly.
|
|
|
21
39
|
|
|
22
40
|
The workspace-pinned `ebk` binary is the single framework CLI. It owns local
|
|
23
41
|
development, bounded Developer-Agent inspection/planning, external Blueprint
|
|
24
|
-
receipt review, and the
|
|
42
|
+
receipt review, and the personal secret commands. Nx remains the
|
|
25
43
|
workspace graph and owning-target authority behind generated work.
|
|
26
44
|
|
|
27
45
|
`ebk agent context --json` is the sole full structured context transport. The
|
|
@@ -59,7 +77,10 @@ recurring target only after retention and after recomputing its portable
|
|
|
59
77
|
package authority from the protected target, manifests, and lockfile. Exact
|
|
60
78
|
Node declarations and the full lockfile digest are receipt-bound as well. A
|
|
61
79
|
human may invoke the structured Nx target without a receipt. Neither path is
|
|
62
|
-
cryptographic or hosted attestation.
|
|
80
|
+
cryptographic or hosted attestation. Until the receipt is retained, an agent
|
|
81
|
+
prepares the change, asks the human to run `ebk blueprint verification-review`
|
|
82
|
+
on the protected tip and land the retaining commit, and verifies its own edits
|
|
83
|
+
through built-in targets.
|
|
63
84
|
|
|
64
85
|
The external manifest's sole recurring root is named exactly `verify`.
|
|
65
86
|
Generated project configurations are whole-file managed, canonically rooted
|
|
@@ -68,8 +89,11 @@ result. Agent inspection classifies every graph project beneath a current or
|
|
|
68
89
|
historically external Slice ownership root as external without trusting tags
|
|
69
90
|
or that publisher-authored inventory; historical roots and identities remain
|
|
70
91
|
external after deletion or relabeling. Only the protected-reviewed chain is
|
|
71
|
-
exposed. Read-only fleet status and logs remain available,
|
|
72
|
-
withholds
|
|
92
|
+
exposed. Read-only fleet status and logs remain available. In v1, agent
|
|
93
|
+
planning withholds `ebk dev up`, `restart`, and `down` for external Slices
|
|
94
|
+
because their code is not bound by a protected receipt; an agent asks the human
|
|
95
|
+
to run the lifecycle command directly, then continues with status, logs, and
|
|
96
|
+
the reviewed verification chain.
|
|
73
97
|
|
|
74
98
|
Independently of Blueprint provenance, Developer-Agent inspection performs a
|
|
75
99
|
bounded repository-wide Nx-configuration preflight before graph loading. Each
|
|
@@ -91,8 +115,11 @@ external ownership appears currently or anywhere in the bounded first-parent
|
|
|
91
115
|
histories of HEAD, protected develop, or protected main; mutable
|
|
92
116
|
`nx.json.defaultBase` cannot redirect the inventory. A missing protected ref
|
|
93
117
|
makes the inventory incomplete and activates the same strict boundary; a
|
|
94
|
-
shallow clone does likewise because hidden history cannot prove absence.
|
|
95
|
-
|
|
118
|
+
shallow clone does likewise because hidden history cannot prove absence. This
|
|
119
|
+
is a recoverable state: complete the history with `git fetch --unshallow origin`
|
|
120
|
+
(or a full-depth `git fetch origin develop main`) so that
|
|
121
|
+
`refs/remotes/origin/develop` and `refs/remotes/origin/main` exist, then rerun
|
|
122
|
+
inspection. While that inventory is incomplete, every graph project under `packages/` except the
|
|
96
123
|
sole canonical `foundation` project at `packages/foundation` is treated as
|
|
97
124
|
externally owned. The Foundation tag cannot create that exception: its project
|
|
98
125
|
name, declared root, and canonical directory are checked together. Read-only
|
|
@@ -106,16 +133,23 @@ outside the local-evidence claim. That includes mutation between the
|
|
|
106
133
|
repository-wide configuration inventory and Nx graph loading; the preflight is
|
|
107
134
|
not an immutable repository snapshot.
|
|
108
135
|
|
|
109
|
-
The
|
|
136
|
+
The personal secret commands are:
|
|
110
137
|
|
|
111
138
|
```bash
|
|
112
139
|
ebk secret set <slice> <logical-name>
|
|
113
140
|
ebk secret remove <slice> <logical-name>
|
|
114
141
|
```
|
|
115
142
|
|
|
116
|
-
|
|
117
|
-
`ebk dev configure`, verify the development Foundation account, and
|
|
118
|
-
|
|
143
|
+
Both commands derive the personal stage, use the profile and Region saved by
|
|
144
|
+
`ebk dev configure`, verify the development Foundation account, and refuse
|
|
145
|
+
canonical stages. `set` accepts the value only from a hidden local TTY, never
|
|
146
|
+
from argv, environment, or files, and refuses agent and CI environments,
|
|
147
|
+
because a hidden prompt does not hide the value from the process that owns the
|
|
148
|
+
terminal: a human runs it in a terminal no agent spawned, and the agent
|
|
149
|
+
verifies afterwards with the value-blind `secret-metadata` and status targets.
|
|
150
|
+
`remove` carries no value. An agent may start it; it still needs a local
|
|
151
|
+
interactive terminal where the human types the hidden `REMOVE <logical-name>`
|
|
152
|
+
confirmation.
|
|
119
153
|
|
|
120
154
|
Generated workspaces expose `work-markers` as both a direct target and part of
|
|
121
155
|
workspace health. The generated `AGENTS.md`, `CLAUDE.md`, and runbook define how
|
package/executors.json
CHANGED
|
@@ -38,7 +38,17 @@
|
|
|
38
38
|
"infrastructure-plan": {
|
|
39
39
|
"implementation": "./src/executors/infrastructure-plan/infrastructure-plan",
|
|
40
40
|
"schema": "./src/executors/infrastructure-plan/schema.json",
|
|
41
|
-
"description": "
|
|
41
|
+
"description": "Stream one advisory native SST diff through the exact committed stage authority without retaining mutation authority."
|
|
42
|
+
},
|
|
43
|
+
"local-deploy": {
|
|
44
|
+
"implementation": "./src/executors/local-deploy/local-deploy",
|
|
45
|
+
"schema": "./src/executors/local-deploy/schema.json",
|
|
46
|
+
"description": "Deploy one complete active stage through ordered native SST children, exact temporary AWS authority, migrations, smoke checks, and a bounded receipt."
|
|
47
|
+
},
|
|
48
|
+
"router-waf-rehearsal": {
|
|
49
|
+
"implementation": "./src/executors/router-waf-rehearsal/router-waf-rehearsal",
|
|
50
|
+
"schema": "./src/executors/router-waf-rehearsal/schema.json",
|
|
51
|
+
"description": "Run the bounded Router WAF rate probe, correlate its exact BLOCK sample and metric, and seal the committed blocking evidence."
|
|
42
52
|
},
|
|
43
53
|
"work-markers": {
|
|
44
54
|
"implementation": "./src/executors/work-markers/work-markers",
|
|
@@ -70,6 +80,11 @@
|
|
|
70
80
|
"schema": "./src/executors/secret-metadata/schema.json",
|
|
71
81
|
"description": "Report or explicitly apply value-blind operator-secret container metadata for one Product Slice."
|
|
72
82
|
},
|
|
83
|
+
"secret-initialize": {
|
|
84
|
+
"implementation": "./src/executors/secret-initialize/secret-initialize",
|
|
85
|
+
"schema": "./src/executors/secret-initialize/schema.json",
|
|
86
|
+
"description": "Report or explicitly initialize one declared machine-generated secret without accepting or returning its value."
|
|
87
|
+
},
|
|
73
88
|
"secret-guardrails": {
|
|
74
89
|
"implementation": "./src/executors/secret-guardrails/secret-guardrails",
|
|
75
90
|
"schema": "./src/executors/secret-guardrails/schema.json",
|
|
@@ -85,6 +100,11 @@
|
|
|
85
100
|
"schema": "./src/executors/sst-lifecycle/schema.json",
|
|
86
101
|
"description": "Run SST development mode through the workspace-pinned binary."
|
|
87
102
|
},
|
|
103
|
+
"dev-task-cleanup": {
|
|
104
|
+
"implementation": "./src/executors/dev-task-cleanup/dev-task-cleanup",
|
|
105
|
+
"schema": "./src/executors/dev-task-cleanup/schema.json",
|
|
106
|
+
"description": "Internal cleanup of the current worktree's exact task Slice stack using verified development authority."
|
|
107
|
+
},
|
|
88
108
|
"refresh": {
|
|
89
109
|
"implementation": "./src/executors/refresh/refresh",
|
|
90
110
|
"schema": "./src/executors/sst-lifecycle/schema.json",
|
package/generators.json
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"generators": {
|
|
3
|
+
"blueprint": {
|
|
4
|
+
"factory": "./src/generators/blueprint/blueprint",
|
|
5
|
+
"schema": "./src/generators/blueprint/schema.json",
|
|
6
|
+
"description": "Scaffold an adopter-owned Blueprint package, templates and verification without executing publisher code or granting protected trust."
|
|
7
|
+
},
|
|
3
8
|
"function": {
|
|
4
9
|
"factory": "./src/generators/function/function",
|
|
5
10
|
"schema": "./src/generators/function/schema.json",
|
|
@@ -20,6 +25,11 @@
|
|
|
20
25
|
"schema": "./src/generators/slice/schema.json",
|
|
21
26
|
"description": "Generate an EBK v1 product slice from the built-in or a trusted external Blueprint."
|
|
22
27
|
},
|
|
28
|
+
"sql": {
|
|
29
|
+
"factory": "./src/generators/sql/sql",
|
|
30
|
+
"schema": "./src/generators/sql/schema.json",
|
|
31
|
+
"description": "Report or apply an additive SQL requirement to a Standard Slice and its Foundation; never deploy or move existing data."
|
|
32
|
+
},
|
|
23
33
|
"repository-policy": {
|
|
24
34
|
"factory": "./src/generators/repository-policy/repository-policy",
|
|
25
35
|
"schema": "./src/generators/repository-policy/schema.json",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@empire-builder-kit/nx",
|
|
3
|
-
"version": "1.0.0-rc.
|
|
3
|
+
"version": "1.0.0-rc.41",
|
|
4
4
|
"description": "Nx generators, executors, and Blueprint contracts for Empire Builder Kit",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"aws",
|
|
@@ -16,6 +16,21 @@
|
|
|
16
16
|
"author": "Gupta-Leary Technology Consulting LLC",
|
|
17
17
|
"license": "Apache-2.0",
|
|
18
18
|
"type": "commonjs",
|
|
19
|
+
"files": [
|
|
20
|
+
"src/**/*.js",
|
|
21
|
+
"src/**/*.d.ts",
|
|
22
|
+
"src/schemas/*.json",
|
|
23
|
+
"src/generators/*/schema.json",
|
|
24
|
+
"src/executors/*/schema.json",
|
|
25
|
+
"generators.json",
|
|
26
|
+
"executors.json",
|
|
27
|
+
"README.md",
|
|
28
|
+
"LICENSE",
|
|
29
|
+
"NOTICE",
|
|
30
|
+
"!**/*.{spec,test,fixtures}.{js,d.ts}",
|
|
31
|
+
"!src/performance/test-fixtures.{js,d.ts}",
|
|
32
|
+
"!**/{fixtures,__fixtures__,tests,__tests__}/**"
|
|
33
|
+
],
|
|
19
34
|
"bin": {
|
|
20
35
|
"ebk": "./src/cli/bootstrap.js"
|
|
21
36
|
},
|
|
@@ -39,6 +54,10 @@
|
|
|
39
54
|
"types": "./src/authorization/index.d.ts",
|
|
40
55
|
"default": "./src/authorization/index.js"
|
|
41
56
|
},
|
|
57
|
+
"./aws-authority": {
|
|
58
|
+
"types": "./src/aws-authority/index.d.ts",
|
|
59
|
+
"default": "./src/aws-authority/index.js"
|
|
60
|
+
},
|
|
42
61
|
"./database-retirement": {
|
|
43
62
|
"types": "./src/database-retirement/index.d.ts",
|
|
44
63
|
"default": "./src/database-retirement/index.js"
|
|
@@ -59,10 +78,6 @@
|
|
|
59
78
|
"types": "./src/git-policy/index.d.ts",
|
|
60
79
|
"default": "./src/git-policy/index.js"
|
|
61
80
|
},
|
|
62
|
-
"./infrastructure-change": {
|
|
63
|
-
"types": "./src/infrastructure-change/index.d.ts",
|
|
64
|
-
"default": "./src/infrastructure-change/index.js"
|
|
65
|
-
},
|
|
66
81
|
"./local-dev": {
|
|
67
82
|
"types": "./src/local-dev/index.d.ts",
|
|
68
83
|
"default": "./src/local-dev/index.js"
|
|
@@ -103,6 +118,10 @@
|
|
|
103
118
|
"types": "./src/workload-roles/index.d.ts",
|
|
104
119
|
"default": "./src/workload-roles/index.js"
|
|
105
120
|
},
|
|
121
|
+
"./workspace-deployment": {
|
|
122
|
+
"types": "./src/workspace-deployment/index.d.ts",
|
|
123
|
+
"default": "./src/workspace-deployment/index.js"
|
|
124
|
+
},
|
|
106
125
|
"./schemas/blueprint-v1.json": "./src/schemas/blueprint-v1.json",
|
|
107
126
|
"./schemas/aggregate-count-evidence-v1.json": "./src/schemas/aggregate-count-evidence-v1.json",
|
|
108
127
|
"./schemas/blueprint-input-schema-v1.json": "./src/schemas/blueprint-input-schema-v1.json",
|
|
@@ -126,7 +145,9 @@
|
|
|
126
145
|
"provenance": false
|
|
127
146
|
},
|
|
128
147
|
"dependencies": {
|
|
129
|
-
"@empire-builder-kit/runtime": "1.0.0-rc.
|
|
148
|
+
"@empire-builder-kit/runtime": "1.0.0-rc.41",
|
|
149
|
+
"@aws-sdk/client-cloudfront": "^3.700.0",
|
|
150
|
+
"@aws-sdk/client-cloudwatch": "^3.700.0",
|
|
130
151
|
"@aws-sdk/client-cloudwatch-logs": "^3.700.0",
|
|
131
152
|
"@aws-sdk/client-iam": "^3.700.0",
|
|
132
153
|
"@nx/devkit": "23.1.0",
|
|
@@ -135,11 +156,14 @@
|
|
|
135
156
|
"@aws-sdk/client-secrets-manager": "^3.700.0",
|
|
136
157
|
"@aws-sdk/client-ssm": "^3.700.0",
|
|
137
158
|
"@aws-sdk/client-sts": "^3.700.0",
|
|
159
|
+
"@aws-sdk/client-wafv2": "^3.700.0",
|
|
138
160
|
"@aws-sdk/credential-providers": "^3.700.0",
|
|
139
161
|
"ajv": "8.20.0",
|
|
162
|
+
"nx": "23.1.0",
|
|
140
163
|
"prettier": "^3.8.2",
|
|
141
164
|
"semver": "7.7.4",
|
|
142
165
|
"tslib": "^2.3.0",
|
|
166
|
+
"typescript": "~5.9.2",
|
|
143
167
|
"yaml": "2.9.0"
|
|
144
168
|
},
|
|
145
169
|
"repository": {
|
|
@@ -154,5 +178,5 @@
|
|
|
154
178
|
"engines": {
|
|
155
179
|
"node": ">=22.13.0"
|
|
156
180
|
},
|
|
157
|
-
"gitHead": "
|
|
181
|
+
"gitHead": "6c8e932ac3acf0a1e124f7687cd7b8582b864c49"
|
|
158
182
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface GovernedAwsChildEnvironmentOptions {
|
|
2
|
+
/** GitHub's configure-aws-credentials action replaces ambient AWS
|
|
3
|
+
* credentials with one exact temporary role session. That verified session
|
|
4
|
+
* is the only raw credential environment admitted to a protected child. */
|
|
5
|
+
preserveVerifiedGithubCredentials?: boolean;
|
|
6
|
+
}
|
|
7
|
+
/** Remove ambient authority inputs that could redirect AWS calls, replace
|
|
8
|
+
* trust roots, mint another OIDC credential, or select an unverified AWS
|
|
9
|
+
* principal. Normal non-secret GitHub provenance remains available. */
|
|
10
|
+
export declare function sanitizeGovernedAwsChildEnvironment(ambient: NodeJS.ProcessEnv, options?: GovernedAwsChildEnvironmentOptions): NodeJS.ProcessEnv;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sanitizeGovernedAwsChildEnvironment = sanitizeGovernedAwsChildEnvironment;
|
|
4
|
+
const RAW_AWS_CREDENTIAL_VARIABLES = new Set([
|
|
5
|
+
'AWS_ACCESS_KEY_ID',
|
|
6
|
+
'AWS_CONTAINER_AUTHORIZATION_TOKEN',
|
|
7
|
+
'AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE',
|
|
8
|
+
'AWS_CONTAINER_CREDENTIALS_FULL_URI',
|
|
9
|
+
'AWS_CONTAINER_CREDENTIALS_RELATIVE_URI',
|
|
10
|
+
'AWS_CREDENTIAL_EXPIRATION',
|
|
11
|
+
'AWS_ROLE_ARN',
|
|
12
|
+
'AWS_ROLE_SESSION_NAME',
|
|
13
|
+
'AWS_SECRET_ACCESS_KEY',
|
|
14
|
+
'AWS_SECURITY_TOKEN',
|
|
15
|
+
'AWS_SESSION_TOKEN',
|
|
16
|
+
'AWS_WEB_IDENTITY_TOKEN_FILE',
|
|
17
|
+
]);
|
|
18
|
+
const VERIFIED_GITHUB_CREDENTIAL_VARIABLES = new Set([
|
|
19
|
+
'AWS_ACCESS_KEY_ID',
|
|
20
|
+
'AWS_CREDENTIAL_EXPIRATION',
|
|
21
|
+
'AWS_SECRET_ACCESS_KEY',
|
|
22
|
+
'AWS_SESSION_TOKEN',
|
|
23
|
+
]);
|
|
24
|
+
const AUTHORITY_OVERRIDE_VARIABLES = new Set([
|
|
25
|
+
'ACTIONS_ID_TOKEN_REQUEST_TOKEN',
|
|
26
|
+
'ACTIONS_ID_TOKEN_REQUEST_URL',
|
|
27
|
+
'ACTIONS_RESULTS_URL',
|
|
28
|
+
'ACTIONS_RUNTIME_TOKEN',
|
|
29
|
+
'ACTIONS_RUNTIME_URL',
|
|
30
|
+
'ALL_PROXY',
|
|
31
|
+
'AWS_CA_BUNDLE',
|
|
32
|
+
'AWS_EC2_METADATA_SERVICE_ENDPOINT',
|
|
33
|
+
'AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE',
|
|
34
|
+
'AWS_USE_DUALSTACK_ENDPOINT',
|
|
35
|
+
'AWS_USE_FIPS_ENDPOINT',
|
|
36
|
+
'CURL_CA_BUNDLE',
|
|
37
|
+
'GH_TOKEN',
|
|
38
|
+
'GITHUB_TOKEN',
|
|
39
|
+
'GIT_SSL_CAINFO',
|
|
40
|
+
'GIT_SSL_NO_VERIFY',
|
|
41
|
+
'GLOBAL_AGENT_HTTP_PROXY',
|
|
42
|
+
'GLOBAL_AGENT_HTTPS_PROXY',
|
|
43
|
+
'HTTPS_PROXY',
|
|
44
|
+
'HTTP_PROXY',
|
|
45
|
+
'NODE_EXTRA_CA_CERTS',
|
|
46
|
+
'NODE_TLS_REJECT_UNAUTHORIZED',
|
|
47
|
+
'NO_PROXY',
|
|
48
|
+
'NPM_CONFIG_CAFILE',
|
|
49
|
+
'NPM_CONFIG_HTTPS_PROXY',
|
|
50
|
+
'NPM_CONFIG_PROXY',
|
|
51
|
+
'REQUESTS_CA_BUNDLE',
|
|
52
|
+
'SSL_CERT_DIR',
|
|
53
|
+
'SSL_CERT_FILE',
|
|
54
|
+
]);
|
|
55
|
+
/** Remove ambient authority inputs that could redirect AWS calls, replace
|
|
56
|
+
* trust roots, mint another OIDC credential, or select an unverified AWS
|
|
57
|
+
* principal. Normal non-secret GitHub provenance remains available. */
|
|
58
|
+
function sanitizeGovernedAwsChildEnvironment(ambient, options = {}) {
|
|
59
|
+
const environment = { ...ambient };
|
|
60
|
+
for (const name of Object.keys(environment)) {
|
|
61
|
+
const canonical = name.toUpperCase();
|
|
62
|
+
const endpointOverride = canonical === 'AWS_ENDPOINT_URL' ||
|
|
63
|
+
canonical.startsWith('AWS_ENDPOINT_URL_');
|
|
64
|
+
const authorityOverride = AUTHORITY_OVERRIDE_VARIABLES.has(canonical);
|
|
65
|
+
const rawCredential = RAW_AWS_CREDENTIAL_VARIABLES.has(canonical);
|
|
66
|
+
const exactGithubCredential = options.preserveVerifiedGithubCredentials === true &&
|
|
67
|
+
name === canonical &&
|
|
68
|
+
VERIFIED_GITHUB_CREDENTIAL_VARIABLES.has(canonical);
|
|
69
|
+
if (endpointOverride ||
|
|
70
|
+
authorityOverride ||
|
|
71
|
+
(rawCredential && !exactGithubCredential)) {
|
|
72
|
+
delete environment[name];
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return environment;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=child-environment.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type CanonicalAwsRegionalService = 'rds' | 'secretsmanager' | 'ssm' | 'sts';
|
|
2
|
+
/** Bind security-sensitive AWS SDK reads to the canonical regional service
|
|
3
|
+
* endpoint rather than an ambient or shared-config endpoint override. */
|
|
4
|
+
export declare function canonicalAwsRegionalEndpoint(service: CanonicalAwsRegionalService, region: string): string;
|
|
5
|
+
/** Bind identity verification to AWS's canonical regional STS service rather
|
|
6
|
+
* than an ambient or shared-config endpoint override. */
|
|
7
|
+
export declare function canonicalStsEndpoint(region: string): string;
|
|
8
|
+
/**
|
|
9
|
+
* AWS STS omits an IAM role path from an assumed-role ARN. Match the exact
|
|
10
|
+
* account, partition, and terminal role name while accepting that documented
|
|
11
|
+
* AWS representation difference.
|
|
12
|
+
*/
|
|
13
|
+
export declare function matchesExpectedAssumedRoleArn(expectedAccount: string, callerArn: string, expectedRoleArn: string): boolean;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.canonicalAwsRegionalEndpoint = canonicalAwsRegionalEndpoint;
|
|
4
|
+
exports.canonicalStsEndpoint = canonicalStsEndpoint;
|
|
5
|
+
exports.matchesExpectedAssumedRoleArn = matchesExpectedAssumedRoleArn;
|
|
6
|
+
const IAM_ROLE_ARN = /^arn:([^:]+):iam::(\d{12}):role\/(.+)$/u;
|
|
7
|
+
const STS_ASSUMED_ROLE_ARN = /^arn:([^:]+):sts::(\d{12}):assumed-role\/(.+)\/([^/]+)$/u;
|
|
8
|
+
const AWS_REGION = /^[a-z]{2}(?:-gov)?-[a-z]+(?:-[a-z]+)*-\d$/u;
|
|
9
|
+
/** Bind security-sensitive AWS SDK reads to the canonical regional service
|
|
10
|
+
* endpoint rather than an ambient or shared-config endpoint override. */
|
|
11
|
+
function canonicalAwsRegionalEndpoint(service, region) {
|
|
12
|
+
if (!AWS_REGION.test(region)) {
|
|
13
|
+
throw new Error(`${service.toUpperCase()} verification requires an exact AWS Region.`);
|
|
14
|
+
}
|
|
15
|
+
return region.startsWith('cn-')
|
|
16
|
+
? `https://${service}.${region}.amazonaws.com.cn`
|
|
17
|
+
: `https://${service}.${region}.amazonaws.com`;
|
|
18
|
+
}
|
|
19
|
+
/** Bind identity verification to AWS's canonical regional STS service rather
|
|
20
|
+
* than an ambient or shared-config endpoint override. */
|
|
21
|
+
function canonicalStsEndpoint(region) {
|
|
22
|
+
return canonicalAwsRegionalEndpoint('sts', region);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* AWS STS omits an IAM role path from an assumed-role ARN. Match the exact
|
|
26
|
+
* account, partition, and terminal role name while accepting that documented
|
|
27
|
+
* AWS representation difference.
|
|
28
|
+
*/
|
|
29
|
+
function matchesExpectedAssumedRoleArn(expectedAccount, callerArn, expectedRoleArn) {
|
|
30
|
+
const expected = IAM_ROLE_ARN.exec(expectedRoleArn);
|
|
31
|
+
const caller = STS_ASSUMED_ROLE_ARN.exec(callerArn);
|
|
32
|
+
if (!expected || !caller)
|
|
33
|
+
return false;
|
|
34
|
+
const expectedRoleName = expected[3]?.split('/').at(-1);
|
|
35
|
+
return (expected[1] === caller[1] &&
|
|
36
|
+
expected[2] === expectedAccount &&
|
|
37
|
+
caller[2] === expectedAccount &&
|
|
38
|
+
expectedRoleName !== undefined &&
|
|
39
|
+
expectedRoleName === caller[3]);
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=identity.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./lambda-policy-ordering.js"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./stage-authority.js"), exports);
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Orders Lambda resource-policy writes that the pinned providers otherwise race.
|
|
3
|
+
*
|
|
4
|
+
* Creating a Function URL with `NONE` authorization makes the pinned AWS
|
|
5
|
+
* provider add a public-access statement to the function policy without the
|
|
6
|
+
* per-function lock that serializes standalone `lambda.Permission` writes. The
|
|
7
|
+
* pinned SST Function and SSR site components create those permissions next
|
|
8
|
+
* to the URL with no ordering, so Lambda can reject the URL's write with a
|
|
9
|
+
* `ResourceConflictException` ("concurrent update operation"). Each Function
|
|
10
|
+
* URL and Permission registered under the same top-level component therefore
|
|
11
|
+
* depends on the previous one. `dependsOn` adds no property diff, so existing
|
|
12
|
+
* stacks are neither replaced nor updated by this ordering.
|
|
13
|
+
*/
|
|
14
|
+
export declare const LAMBDA_POLICY_WRITE_TYPES: readonly ["aws:lambda/functionUrl:FunctionUrl", "aws:lambda/permission:Permission"];
|
|
15
|
+
export interface LambdaPolicyTransformationArgs {
|
|
16
|
+
resource: object;
|
|
17
|
+
type: string;
|
|
18
|
+
name: string;
|
|
19
|
+
props: Record<string, unknown>;
|
|
20
|
+
opts?: {
|
|
21
|
+
parent?: object;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export interface LambdaPolicyTransformationResult {
|
|
25
|
+
props: Record<string, unknown>;
|
|
26
|
+
opts: object;
|
|
27
|
+
}
|
|
28
|
+
export interface LambdaPolicyWriteOrderingInput {
|
|
29
|
+
/** Pulumi `runtime.registerStackTransformation` (SST: `$util.runtime`). */
|
|
30
|
+
registerStackTransformation: (transformation: (args: LambdaPolicyTransformationArgs) => LambdaPolicyTransformationResult | undefined) => void;
|
|
31
|
+
/** Pulumi `mergeOptions` (SST: `$util.mergeOptions`). */
|
|
32
|
+
mergeOptions: (first: object | undefined, second: object | undefined) => object;
|
|
33
|
+
}
|
|
34
|
+
export interface LambdaPolicyWriteOrderingContract {
|
|
35
|
+
orderedTypes: readonly string[];
|
|
36
|
+
scope: 'top-level-component';
|
|
37
|
+
}
|
|
38
|
+
export declare function installLambdaPolicyWriteOrdering(input: LambdaPolicyWriteOrderingInput): LambdaPolicyWriteOrderingContract;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Orders Lambda resource-policy writes that the pinned providers otherwise race.
|
|
4
|
+
*
|
|
5
|
+
* Creating a Function URL with `NONE` authorization makes the pinned AWS
|
|
6
|
+
* provider add a public-access statement to the function policy without the
|
|
7
|
+
* per-function lock that serializes standalone `lambda.Permission` writes. The
|
|
8
|
+
* pinned SST Function and SSR site components create those permissions next
|
|
9
|
+
* to the URL with no ordering, so Lambda can reject the URL's write with a
|
|
10
|
+
* `ResourceConflictException` ("concurrent update operation"). Each Function
|
|
11
|
+
* URL and Permission registered under the same top-level component therefore
|
|
12
|
+
* depends on the previous one. `dependsOn` adds no property diff, so existing
|
|
13
|
+
* stacks are neither replaced nor updated by this ordering.
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.LAMBDA_POLICY_WRITE_TYPES = void 0;
|
|
17
|
+
exports.installLambdaPolicyWriteOrdering = installLambdaPolicyWriteOrdering;
|
|
18
|
+
exports.LAMBDA_POLICY_WRITE_TYPES = [
|
|
19
|
+
'aws:lambda/functionUrl:FunctionUrl',
|
|
20
|
+
'aws:lambda/permission:Permission',
|
|
21
|
+
];
|
|
22
|
+
const orderedTypes = new Set(exports.LAMBDA_POLICY_WRITE_TYPES);
|
|
23
|
+
function installLambdaPolicyWriteOrdering(input) {
|
|
24
|
+
if (typeof input?.registerStackTransformation !== 'function' ||
|
|
25
|
+
typeof input.mergeOptions !== 'function') {
|
|
26
|
+
throw new Error('Lambda policy write ordering requires the Pulumi stack transformation and option merge functions.');
|
|
27
|
+
}
|
|
28
|
+
const parents = new WeakMap();
|
|
29
|
+
const previousInScope = new Map();
|
|
30
|
+
// Parentless policy writes share one scope rather than racing each other.
|
|
31
|
+
const stackScope = {};
|
|
32
|
+
input.registerStackTransformation((args) => {
|
|
33
|
+
const parent = args.opts?.parent;
|
|
34
|
+
parents.set(args.resource, parent);
|
|
35
|
+
if (!orderedTypes.has(args.type))
|
|
36
|
+
return undefined;
|
|
37
|
+
let scope = stackScope;
|
|
38
|
+
for (let current = parent; current !== undefined;) {
|
|
39
|
+
scope = current;
|
|
40
|
+
current = parents.get(current);
|
|
41
|
+
}
|
|
42
|
+
const previous = previousInScope.get(scope);
|
|
43
|
+
previousInScope.set(scope, args.resource);
|
|
44
|
+
if (previous === undefined)
|
|
45
|
+
return undefined;
|
|
46
|
+
return {
|
|
47
|
+
props: args.props,
|
|
48
|
+
opts: input.mergeOptions(args.opts, { dependsOn: [previous] }),
|
|
49
|
+
};
|
|
50
|
+
});
|
|
51
|
+
return {
|
|
52
|
+
orderedTypes: exports.LAMBDA_POLICY_WRITE_TYPES,
|
|
53
|
+
scope: 'top-level-component',
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=lambda-policy-ordering.js.map
|