@empire-builder-kit/nx 1.0.0-rc.4 → 1.0.0-rc.40
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 +18 -0
- 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.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 +6 -0
- package/src/cli/deploy-runtime.js +58 -0
- package/src/cli/dev-command.d.ts +16 -4
- package/src/cli/dev-command.js +63 -0
- package/src/cli/main.d.ts +9 -1
- package/src/cli/main.js +139 -20
- package/src/cli/output.d.ts +1 -1
- package/src/cli/output.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 +5 -0
- package/src/developer-agent/operation-registry.js +286 -40
- package/src/developer-agent/planning.js +16 -13
- 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 +162 -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 +40 -6
- package/src/executors/sst-lifecycle/run-sst-command.js +779 -70
- 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/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/tool-versions.d.ts +2 -0
- package/src/generators/preset/tool-versions.js +3 -1
- package/src/generators/preset/workspace-files-adopter-skills.d.ts +7 -0
- package/src/generators/preset/workspace-files-adopter-skills.js +303 -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 +90 -28
- 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-stage-authority.d.ts +6 -0
- package/src/generators/preset/workspace-files-stage-authority.js +518 -0
- package/src/generators/preset/workspace-files-thin-deploy.d.ts +55 -0
- package/src/generators/preset/workspace-files-thin-deploy.js +2473 -0
- package/src/generators/preset/workspace-files-thin-docs.d.ts +7 -0
- package/src/generators/preset/workspace-files-thin-docs.js +352 -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 +1504 -608
- 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 +42 -7
- 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 +92 -329
- package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js +60 -2
- 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 +163 -1196
- 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 +20 -1
- 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 +7 -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 -729
- package/src/generators/slice/built-in-plan-infrastructure-safety-files.js +67 -11
- 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 +157 -28
- 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 +279 -43
- 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-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-testing-persistence-files.js +178 -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 +80 -29
- 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/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 +39 -8
- package/src/git-policy/github-bootstrap.js +329 -175
- 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 +46 -18
- 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 +14 -2
- 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/registry.d.ts +2 -1
- package/src/secrets/registry.js +18 -1
- package/src/secrets/verification.js +9 -1
- 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,8 +1,18 @@
|
|
|
1
1
|
import type { BlueprintManifest } from '../../blueprints/index.js';
|
|
2
|
+
import type { DeploymentProfile } from '../../repository-policy/index.js';
|
|
2
3
|
import { type GeneratedOwnershipRecord } from '../../ownership/index.js';
|
|
3
4
|
export { PRODUCT_PACKAGE_MANAGED_JSON_POINTERS, STANDARD_LOCAL_DEV_ADAPTER, } from './built-in-plan-shared.js';
|
|
5
|
+
export declare function isBuiltInSliceFormatSensitivePath(path: string): boolean;
|
|
4
6
|
export interface BuiltInSlicePlan {
|
|
5
7
|
files: Readonly<Record<string, string>>;
|
|
6
8
|
ownership: GeneratedOwnershipRecord;
|
|
7
9
|
}
|
|
8
|
-
export declare function createBuiltInSlicePlan(name: string, scope: string, runtimeVersion: string, manifest: BlueprintManifest, inputs: Record<string, unknown>, dataPolicyReviewedAt?: string
|
|
10
|
+
export declare function createBuiltInSlicePlan(name: string, scope: string, runtimeVersion: string, manifest: BlueprintManifest, inputs: Record<string, unknown>, dataPolicyReviewedAt?: string, deploymentProfile?: DeploymentProfile, persistenceSource?: {
|
|
11
|
+
current?: unknown;
|
|
12
|
+
compositions?: readonly {
|
|
13
|
+
kind: string;
|
|
14
|
+
}[];
|
|
15
|
+
existingStandardRequirement?: {
|
|
16
|
+
capabilities: readonly string[];
|
|
17
|
+
};
|
|
18
|
+
}): BuiltInSlicePlan;
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.STANDARD_LOCAL_DEV_ADAPTER = exports.PRODUCT_PACKAGE_MANAGED_JSON_POINTERS = void 0;
|
|
4
|
+
exports.isBuiltInSliceFormatSensitivePath = isBuiltInSliceFormatSensitivePath;
|
|
4
5
|
exports.createBuiltInSlicePlan = createBuiltInSlicePlan;
|
|
5
6
|
const deterministic_order_js_1 = require("../../deterministic-order.js");
|
|
7
|
+
const capability_plan_js_1 = require("../../foundation/capability-plan.js");
|
|
8
|
+
const persistence_contract_js_1 = require("./persistence-contract.js");
|
|
9
|
+
const built_in_plan_key_value_files_js_1 = require("./built-in-plan-key-value-files.js");
|
|
10
|
+
const built_in_plan_key_value_infrastructure_js_1 = require("./built-in-plan-key-value-infrastructure.js");
|
|
11
|
+
const built_in_plan_sql_events_js_1 = require("./built-in-plan-sql-events.js");
|
|
6
12
|
const index_js_1 = require("../../ownership/index.js");
|
|
7
13
|
const built_in_plan_api_contract_files_js_1 = require("./built-in-plan-api-contract-files.js");
|
|
8
14
|
const built_in_plan_api_files_js_1 = require("./built-in-plan-api-files.js");
|
|
@@ -22,22 +28,32 @@ const built_in_plan_database_retirement_rehearsal_files_js_1 = require("./built-
|
|
|
22
28
|
const built_in_plan_foundation_files_js_1 = require("./built-in-plan-foundation-files.js");
|
|
23
29
|
const built_in_plan_frontend_files_js_1 = require("./built-in-plan-frontend-files.js");
|
|
24
30
|
const built_in_plan_infrastructure_files_js_1 = require("./built-in-plan-infrastructure-files.js");
|
|
25
|
-
const
|
|
31
|
+
const built_in_plan_background_work_files_js_1 = require("./built-in-plan-background-work-files.js");
|
|
26
32
|
const built_in_plan_metadata_files_js_1 = require("./built-in-plan-metadata-files.js");
|
|
33
|
+
const built_in_plan_native_runtime_authority_files_js_1 = require("./built-in-plan-native-runtime-authority-files.js");
|
|
27
34
|
const built_in_plan_operations_files_js_1 = require("./built-in-plan-operations-files.js");
|
|
28
35
|
const built_in_plan_performance_files_js_1 = require("./built-in-plan-performance-files.js");
|
|
29
36
|
const built_in_plan_project_files_js_1 = require("./built-in-plan-project-files.js");
|
|
30
37
|
const built_in_plan_reliability_files_js_1 = require("./built-in-plan-reliability-files.js");
|
|
31
|
-
const
|
|
38
|
+
const built_in_plan_thin_release_files_js_1 = require("./built-in-plan-thin-release-files.js");
|
|
32
39
|
const built_in_plan_secret_runtime_files_js_1 = require("./built-in-plan-secret-runtime-files.js");
|
|
33
40
|
const built_in_plan_shared_js_1 = require("./built-in-plan-shared.js");
|
|
34
41
|
const built_in_plan_testing_files_js_1 = require("./built-in-plan-testing-files.js");
|
|
35
42
|
const built_in_plan_verification_files_js_1 = require("./built-in-plan-verification-files.js");
|
|
36
43
|
const built_in_plan_web_files_js_1 = require("./built-in-plan-web-files.js");
|
|
37
|
-
const built_in_plan_workload_role_files_js_1 = require("./built-in-plan-workload-role-files.js");
|
|
38
44
|
var built_in_plan_shared_js_2 = require("./built-in-plan-shared.js");
|
|
39
45
|
Object.defineProperty(exports, "PRODUCT_PACKAGE_MANAGED_JSON_POINTERS", { enumerable: true, get: function () { return built_in_plan_shared_js_2.PRODUCT_PACKAGE_MANAGED_JSON_POINTERS; } });
|
|
40
46
|
Object.defineProperty(exports, "STANDARD_LOCAL_DEV_ADAPTER", { enumerable: true, get: function () { return built_in_plan_shared_js_2.STANDARD_LOCAL_DEV_ADAPTER; } });
|
|
47
|
+
const FORMAT_SENSITIVE_BUILT_IN_PATHS = new Set([
|
|
48
|
+
'api/generated/baseline.json',
|
|
49
|
+
'api/generated/contract.json',
|
|
50
|
+
'api/generated/openapi.json',
|
|
51
|
+
'web/next-env.d.ts',
|
|
52
|
+
]);
|
|
53
|
+
function isBuiltInSliceFormatSensitivePath(path) {
|
|
54
|
+
return (path.startsWith('database/migrations/') ||
|
|
55
|
+
FORMAT_SENSITIVE_BUILT_IN_PATHS.has(path));
|
|
56
|
+
}
|
|
41
57
|
function composeDisjointFileGroups(groups) {
|
|
42
58
|
const files = {};
|
|
43
59
|
for (const [label, groupFiles] of groups) {
|
|
@@ -50,35 +66,56 @@ function composeDisjointFileGroups(groups) {
|
|
|
50
66
|
}
|
|
51
67
|
return files;
|
|
52
68
|
}
|
|
53
|
-
function renderSliceFiles(name, scope, runtimeVersion, ownership, dataPolicyReviewedAt) {
|
|
69
|
+
function renderSliceFiles(name, scope, runtimeVersion, ownership, dataPolicyReviewedAt, deploymentProfile, persistence) {
|
|
54
70
|
const pascalName = name
|
|
55
71
|
.split('-')
|
|
56
72
|
.map((segment) => segment[0]?.toUpperCase() + segment.slice(1))
|
|
57
73
|
.join('');
|
|
74
|
+
const protectedRuntimeStages = deploymentProfile === 'starter'
|
|
75
|
+
? ['development', 'production']
|
|
76
|
+
: ['staging', 'production'];
|
|
77
|
+
const sql = ownership.foundation.capabilities.includes('postgres');
|
|
58
78
|
return composeDisjointFileGroups([
|
|
79
|
+
[
|
|
80
|
+
'persistence declaration',
|
|
81
|
+
{ 'data/persistence.json': JSON.stringify(persistence, null, 2) + '\n' },
|
|
82
|
+
],
|
|
83
|
+
['key-value runtime', (0, built_in_plan_key_value_files_js_1.renderKeyValueRuntimeFiles)(name)],
|
|
84
|
+
[
|
|
85
|
+
'key-value infrastructure',
|
|
86
|
+
(0, built_in_plan_key_value_infrastructure_js_1.renderKeyValueInfrastructureFiles)(name, pascalName),
|
|
87
|
+
],
|
|
88
|
+
['background work', (0, built_in_plan_background_work_files_js_1.renderBackgroundWorkFiles)(deploymentProfile, sql)],
|
|
89
|
+
['SQL events', sql ? (0, built_in_plan_sql_events_js_1.renderSqlEventFiles)(name) : {}],
|
|
59
90
|
[
|
|
60
91
|
'Slice metadata',
|
|
61
|
-
(0, built_in_plan_metadata_files_js_1.renderSliceMetadataFiles)(name, scope, pascalName, ownership),
|
|
92
|
+
(0, built_in_plan_metadata_files_js_1.renderSliceMetadataFiles)(name, scope, pascalName, ownership, sql),
|
|
93
|
+
],
|
|
94
|
+
[
|
|
95
|
+
'Foundation wiring',
|
|
96
|
+
(0, built_in_plan_foundation_files_js_1.renderSliceFoundationFiles)(name, pascalName, ownership.foundation.capabilities),
|
|
62
97
|
],
|
|
63
|
-
['Foundation wiring', (0, built_in_plan_foundation_files_js_1.renderSliceFoundationFiles)(name, pascalName)],
|
|
64
98
|
[
|
|
65
99
|
'project configuration',
|
|
66
100
|
(0, built_in_plan_project_files_js_1.renderSliceProjectFiles)(name, scope, runtimeVersion, ownership),
|
|
67
101
|
],
|
|
68
102
|
[
|
|
69
103
|
'operations',
|
|
70
|
-
(0, built_in_plan_operations_files_js_1.renderSliceOperationsFiles)(name, scope.slice(1), runtimeVersion),
|
|
104
|
+
(0, built_in_plan_operations_files_js_1.renderSliceOperationsFiles)(name, scope.slice(1), runtimeVersion, sql),
|
|
71
105
|
],
|
|
72
|
-
['database lifecycle', (0, built_in_plan_database_lifecycle_files_js_1.renderDatabaseLifecycleFiles)(name)],
|
|
106
|
+
['database lifecycle', sql ? (0, built_in_plan_database_lifecycle_files_js_1.renderDatabaseLifecycleFiles)(name) : {}],
|
|
73
107
|
[
|
|
74
108
|
'database retirement rehearsal',
|
|
75
|
-
(0, built_in_plan_database_retirement_rehearsal_files_js_1.renderDatabaseRetirementRehearsalFiles)(name),
|
|
109
|
+
sql ? (0, built_in_plan_database_retirement_rehearsal_files_js_1.renderDatabaseRetirementRehearsalFiles)(name) : {},
|
|
76
110
|
],
|
|
77
111
|
[
|
|
78
|
-
'
|
|
79
|
-
(0,
|
|
112
|
+
'native runtime authority',
|
|
113
|
+
(0, built_in_plan_native_runtime_authority_files_js_1.renderStandardSliceNativeRuntimeAuthorityFiles)(name, scope.slice(1), sql),
|
|
114
|
+
],
|
|
115
|
+
[
|
|
116
|
+
'data contracts',
|
|
117
|
+
(0, built_in_plan_data_files_js_1.renderProductDataFiles)(name, pascalName, protectedRuntimeStages, sql),
|
|
80
118
|
],
|
|
81
|
-
['data contracts', (0, built_in_plan_data_files_js_1.renderProductDataFiles)(name, pascalName)],
|
|
82
119
|
[
|
|
83
120
|
'data deletion',
|
|
84
121
|
(0, built_in_plan_data_deletion_files_js_1.renderProductDataDeletionFiles)(name, pascalName, scope.slice(1)),
|
|
@@ -98,7 +135,10 @@ function renderSliceFiles(name, scope, runtimeVersion, ownership, dataPolicyRevi
|
|
|
98
135
|
(0, built_in_plan_data_retention_job_files_js_1.renderProductDataRetentionJobFiles)(name, runtimeVersion),
|
|
99
136
|
],
|
|
100
137
|
['data retention launcher', (0, built_in_plan_data_retention_launcher_files_js_1.renderProductDataRetentionLauncherFiles)(name)],
|
|
101
|
-
[
|
|
138
|
+
[
|
|
139
|
+
'secret runtime',
|
|
140
|
+
(0, built_in_plan_secret_runtime_files_js_1.renderStandardSliceSecretRuntimeFiles)(name, scope.slice(1)),
|
|
141
|
+
],
|
|
102
142
|
['async work', (0, built_in_plan_async_work_files_js_1.renderProductAsyncWorkFiles)(name, pascalName)],
|
|
103
143
|
['API contracts', (0, built_in_plan_api_contract_files_js_1.renderProductApiContractFiles)(name, pascalName)],
|
|
104
144
|
['authorization', (0, built_in_plan_authorization_files_js_1.renderProductAuthorizationFiles)(name, pascalName)],
|
|
@@ -106,32 +146,35 @@ function renderSliceFiles(name, scope, runtimeVersion, ownership, dataPolicyRevi
|
|
|
106
146
|
'authorization infrastructure',
|
|
107
147
|
(0, built_in_plan_authorization_infrastructure_files_js_1.renderStandardSliceAuthorizationInfrastructureFiles)(name, pascalName),
|
|
108
148
|
],
|
|
109
|
-
['API', (0, built_in_plan_api_files_js_1.renderProductApiFiles)(name, pascalName, scope.slice(1))],
|
|
149
|
+
['API', (0, built_in_plan_api_files_js_1.renderProductApiFiles)(name, pascalName, scope.slice(1), sql)],
|
|
110
150
|
[
|
|
111
151
|
'reliability and incident response',
|
|
112
|
-
(0, built_in_plan_reliability_files_js_1.renderProductReliabilityFiles)(name, pascalName, dataPolicyReviewedAt),
|
|
152
|
+
(0, built_in_plan_reliability_files_js_1.renderProductReliabilityFiles)(name, pascalName, dataPolicyReviewedAt, sql),
|
|
113
153
|
],
|
|
114
154
|
[
|
|
115
155
|
'product infrastructure',
|
|
116
|
-
(0, built_in_plan_infrastructure_files_js_1.renderProductInfrastructureFiles)(name, pascalName, scope.slice(1)),
|
|
156
|
+
(0, built_in_plan_infrastructure_files_js_1.renderProductInfrastructureFiles)(name, pascalName, scope.slice(1), protectedRuntimeStages, sql, ownership.foundation.capabilities.includes('network')),
|
|
157
|
+
],
|
|
158
|
+
[
|
|
159
|
+
'performance, capacity, and cost',
|
|
160
|
+
(0, built_in_plan_performance_files_js_1.renderProductPerformanceFiles)(name, deploymentProfile),
|
|
117
161
|
],
|
|
118
|
-
['infrastructure safety', (0, built_in_plan_infrastructure_safety_files_js_1.renderProductInfrastructureSafetyFiles)(name)],
|
|
119
|
-
['performance, capacity, and cost', (0, built_in_plan_performance_files_js_1.renderProductPerformanceFiles)(name)],
|
|
120
162
|
[
|
|
121
163
|
'release and configuration',
|
|
122
|
-
(0,
|
|
164
|
+
(0, built_in_plan_thin_release_files_js_1.renderProductThinReleaseFiles)(name, dataPolicyReviewedAt, deploymentProfile, sql),
|
|
123
165
|
],
|
|
124
166
|
[
|
|
125
167
|
'frontend contract and evidence',
|
|
126
168
|
(0, built_in_plan_frontend_files_js_1.renderProductFrontendFiles)(name, pascalName),
|
|
127
169
|
],
|
|
128
|
-
['web', (0, built_in_plan_web_files_js_1.renderProductWebFiles)(name, pascalName, scope.slice(1))],
|
|
129
|
-
['testing', (0, built_in_plan_testing_files_js_1.renderProductTestingFiles)(name, pascalName)],
|
|
170
|
+
['web', (0, built_in_plan_web_files_js_1.renderProductWebFiles)(name, pascalName, scope.slice(1), sql)],
|
|
171
|
+
['testing', (0, built_in_plan_testing_files_js_1.renderProductTestingFiles)(name, pascalName, sql)],
|
|
130
172
|
['verification', (0, built_in_plan_verification_files_js_1.renderProductVerificationFiles)(name, pascalName)],
|
|
131
173
|
]);
|
|
132
174
|
}
|
|
133
|
-
function classifyPaths(files) {
|
|
175
|
+
function classifyPaths(files, sql) {
|
|
134
176
|
const seededPaths = new Set([
|
|
177
|
+
'operations/background-work.json',
|
|
135
178
|
'README.md',
|
|
136
179
|
'api/data-retention.ts',
|
|
137
180
|
'async/recovery-adapters.ts',
|
|
@@ -151,6 +194,7 @@ function classifyPaths(files) {
|
|
|
151
194
|
'data/record-correction.ts',
|
|
152
195
|
'data/record-export.ts',
|
|
153
196
|
'data/record-holds.ts',
|
|
197
|
+
'data/records.ts',
|
|
154
198
|
'data/restore-adapter.ts',
|
|
155
199
|
'docs/reliability/exclusions.md',
|
|
156
200
|
'docs/reliability/slo.json',
|
|
@@ -162,7 +206,6 @@ function classifyPaths(files) {
|
|
|
162
206
|
'jobs/data-retention/README.md',
|
|
163
207
|
'jobs/data-retention/src/adapter.ts',
|
|
164
208
|
'operations/features.json',
|
|
165
|
-
'operations/infrastructure-change.json',
|
|
166
209
|
'operations/incident-template.json',
|
|
167
210
|
'operations/log-queries.json',
|
|
168
211
|
'operations/logging-components.json',
|
|
@@ -198,11 +241,15 @@ function classifyPaths(files) {
|
|
|
198
241
|
'authorization/machine-authorization-proof.ts',
|
|
199
242
|
'authorization/machine-client-provisioner.py',
|
|
200
243
|
'authorization/runtime.ts',
|
|
244
|
+
'authorization/record-store.ts',
|
|
245
|
+
'authorization/groups.mjs',
|
|
246
|
+
'authorization/groups.d.mts',
|
|
201
247
|
'data/runtime-policy.cts',
|
|
202
248
|
'jobs/data-export-cleanup.ts',
|
|
203
249
|
'jobs/data-retention-maintenance-launcher.ts',
|
|
204
250
|
'testing/quarantine-runtime.mjs',
|
|
205
251
|
'testing/strict-json-reporter.mjs',
|
|
252
|
+
'testing/local-key-value.ts',
|
|
206
253
|
'e2e/frontend-accessibility.spec.ts',
|
|
207
254
|
]);
|
|
208
255
|
for (const path of built_in_plan_performance_files_js_1.PRODUCT_PERFORMANCE_SEEDED_PATHS)
|
|
@@ -217,7 +264,7 @@ function classifyPaths(files) {
|
|
|
217
264
|
? 'seeded'
|
|
218
265
|
: 'managed';
|
|
219
266
|
const managedJsonPointers = path === 'package.json'
|
|
220
|
-
?
|
|
267
|
+
? (0, built_in_plan_shared_js_1.standardPackageManagedJsonPointers)(sql)
|
|
221
268
|
: undefined;
|
|
222
269
|
if (managedJsonPointers) {
|
|
223
270
|
(0, index_js_1.assertManagedJsonPointersExist)(contents, managedJsonPointers, `Built-in Standard Blueprint ${path}`);
|
|
@@ -232,7 +279,11 @@ function classifyPaths(files) {
|
|
|
232
279
|
})
|
|
233
280
|
.sort((left, right) => (0, deterministic_order_js_1.compareUtf16)(left.path, right.path));
|
|
234
281
|
}
|
|
235
|
-
function createBuiltInSlicePlan(name, scope, runtimeVersion, manifest, inputs, dataPolicyReviewedAt = '2026-07-27T00:00:00.000Z') {
|
|
282
|
+
function createBuiltInSlicePlan(name, scope, runtimeVersion, manifest, inputs, dataPolicyReviewedAt = '2026-07-27T00:00:00.000Z', deploymentProfile = 'starter', persistenceSource = {}) {
|
|
283
|
+
const persistence = (0, persistence_contract_js_1.standardPersistenceContract)({
|
|
284
|
+
inputs,
|
|
285
|
+
...persistenceSource,
|
|
286
|
+
});
|
|
236
287
|
const provisionalOwnership = {
|
|
237
288
|
blueprint: { name: manifest.name, version: manifest.version },
|
|
238
289
|
compositions: [],
|
|
@@ -243,7 +294,7 @@ function createBuiltInSlicePlan(name, scope, runtimeVersion, manifest, inputs, d
|
|
|
243
294
|
`${scope}/${name}/contracts`,
|
|
244
295
|
],
|
|
245
296
|
},
|
|
246
|
-
foundation:
|
|
297
|
+
foundation: (0, capability_plan_js_1.standardPersistenceRequirement)(inputs, persistenceSource.compositions),
|
|
247
298
|
inputs,
|
|
248
299
|
paths: [],
|
|
249
300
|
projects: [name, `@${name}/job-data-retention`],
|
|
@@ -251,13 +302,13 @@ function createBuiltInSlicePlan(name, scope, runtimeVersion, manifest, inputs, d
|
|
|
251
302
|
slice: name,
|
|
252
303
|
verification: manifest.verification,
|
|
253
304
|
};
|
|
254
|
-
const provisionalFiles = renderSliceFiles(name, scope, runtimeVersion, provisionalOwnership, dataPolicyReviewedAt);
|
|
305
|
+
const provisionalFiles = renderSliceFiles(name, scope, runtimeVersion, provisionalOwnership, dataPolicyReviewedAt, deploymentProfile, persistence);
|
|
255
306
|
const ownership = {
|
|
256
307
|
...provisionalOwnership,
|
|
257
|
-
paths: classifyPaths(provisionalFiles),
|
|
308
|
+
paths: classifyPaths(provisionalFiles, provisionalOwnership.foundation.capabilities.includes('postgres')),
|
|
258
309
|
};
|
|
259
310
|
return {
|
|
260
|
-
files: renderSliceFiles(name, scope, runtimeVersion, ownership, dataPolicyReviewedAt),
|
|
311
|
+
files: renderSliceFiles(name, scope, runtimeVersion, ownership, dataPolicyReviewedAt, deploymentProfile, persistence),
|
|
261
312
|
ownership,
|
|
262
313
|
};
|
|
263
314
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dataPolicyReviewSeed = dataPolicyReviewSeed;
|
|
4
|
+
const node_path_1 = require("node:path");
|
|
5
|
+
function dataPolicyReviewSeed(tree, root) {
|
|
6
|
+
const path = node_path_1.posix.join(root, 'data/policy.json');
|
|
7
|
+
const existing = tree.read(path, 'utf8');
|
|
8
|
+
if (existing !== null) {
|
|
9
|
+
try {
|
|
10
|
+
const reviewedAt = JSON.parse(existing).governance?.reviewedAt;
|
|
11
|
+
if (typeof reviewedAt === 'string' &&
|
|
12
|
+
new Date(reviewedAt).toISOString() === reviewedAt) {
|
|
13
|
+
return reviewedAt;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
// The generated ownership/reconciliation path reports malformed policy.
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return new Date().toISOString();
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=data-policy-review-seed.js.map
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deployedSmokeReadinessScript = void 0;
|
|
4
|
+
/** Managed post-deployment prerequisite, not a replacement for browser proof. */
|
|
5
|
+
exports.deployedSmokeReadinessScript = String.raw `import { performance } from 'node:perf_hooks';
|
|
6
|
+
import { setTimeout as delay } from 'node:timers/promises';
|
|
7
|
+
|
|
8
|
+
const totalLimitMs = 30_000;
|
|
9
|
+
// Only a CloudFront-generated Router fallthrough extends readiness. The pinned
|
|
10
|
+
// SST Router reads routing from an eventually consistent CloudFront
|
|
11
|
+
// KeyValueStore; until a new Slice's route is visible at the serving edge the
|
|
12
|
+
// request reaches the placeholder origin. Every other failure keeps the
|
|
13
|
+
// thirty-second bound above.
|
|
14
|
+
const edgeRouteLimitMs = 300_000;
|
|
15
|
+
const requestLimitMs = 5_000;
|
|
16
|
+
const retryDelayMs = 2_000;
|
|
17
|
+
// Edge hosts within one POP converge on new routing at different times. Admit
|
|
18
|
+
// browser setup only after consecutive healthy rounds, each on a fresh
|
|
19
|
+
// connection, span a sustained window; any fallthrough restarts the window.
|
|
20
|
+
const confirmationWindowMs = 30_000;
|
|
21
|
+
const confirmationDelayMs = 1_000;
|
|
22
|
+
const confirmationLimitMs = confirmationWindowMs + 10_000;
|
|
23
|
+
// Every round sleeps at least the shorter delay, so this cap is reached only
|
|
24
|
+
// by a stalled fixture or clock, never before the time bounds below.
|
|
25
|
+
const roundLimit = Math.ceil((edgeRouteLimitMs + confirmationLimitMs) / Math.min(retryDelayMs, confirmationDelayMs)) + 1;
|
|
26
|
+
const bodyLimitBytes = 4_096;
|
|
27
|
+
const transientStatuses = new Set([502, 503, 504]);
|
|
28
|
+
const transientNetworkCodes = new Set([
|
|
29
|
+
'EAI_AGAIN', 'ECONNREFUSED', 'ECONNRESET', 'ETIMEDOUT',
|
|
30
|
+
'UND_ERR_CONNECT_TIMEOUT', 'UND_ERR_SOCKET',
|
|
31
|
+
]);
|
|
32
|
+
|
|
33
|
+
function endpoint(value, path) {
|
|
34
|
+
const url = new URL(value);
|
|
35
|
+
if (url.protocol !== 'https:' || url.username || url.password || url.search || url.hash || url.pathname.replace(/\/$/, '') !== path) {
|
|
36
|
+
throw new Error('invalid-output');
|
|
37
|
+
}
|
|
38
|
+
return url;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function responseCorrelation(response) {
|
|
42
|
+
const requestId = response.headers.get('x-amz-cf-id');
|
|
43
|
+
const pop = response.headers.get('x-amz-cf-pop');
|
|
44
|
+
const cache = /^(Hit|Miss|RefreshHit|Error) from cloudfront$/i.exec(response.headers.get('x-cache') ?? '');
|
|
45
|
+
return {
|
|
46
|
+
...(typeof requestId === 'string' && /^[A-Za-z0-9_+=/-]{20,128}$/.test(requestId) ? { cloudfrontRequestId: requestId } : {}),
|
|
47
|
+
...(typeof pop === 'string' && /^[A-Z]{3}[0-9]{1,3}-[A-Z][0-9]{1,3}$/.test(pop) ? { cloudfrontPop: pop } : {}),
|
|
48
|
+
...(cache ? { cloudfrontCache: cache[1].toLowerCase() } : {}),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
async function boundedBytes(response) {
|
|
53
|
+
const reader = response.body?.getReader();
|
|
54
|
+
if (!reader) throw new Error('invalid-health');
|
|
55
|
+
const chunks = [];
|
|
56
|
+
let length = 0;
|
|
57
|
+
try {
|
|
58
|
+
for (;;) {
|
|
59
|
+
const chunk = await reader.read();
|
|
60
|
+
if (chunk.done) break;
|
|
61
|
+
length += chunk.value.byteLength;
|
|
62
|
+
if (length > bodyLimitBytes) throw new Error('invalid-health');
|
|
63
|
+
chunks.push(chunk.value);
|
|
64
|
+
}
|
|
65
|
+
const bytes = new Uint8Array(length);
|
|
66
|
+
let offset = 0;
|
|
67
|
+
for (const chunk of chunks) { bytes.set(chunk, offset); offset += chunk.byteLength; }
|
|
68
|
+
return bytes;
|
|
69
|
+
} finally {
|
|
70
|
+
await reader.cancel().catch(() => {});
|
|
71
|
+
reader.releaseLock();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
async function boundedJson(response) {
|
|
76
|
+
return JSON.parse(new TextDecoder('utf-8', { fatal: true }).decode(await boundedBytes(response)));
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// The Router answers a request it could not route with CloudFront's own error
|
|
80
|
+
// page. Only that page is classified; origin-returned gateway errors are not.
|
|
81
|
+
async function edgeRouteUnavailable(response) {
|
|
82
|
+
if (!/^Error from cloudfront$/i.test(response.headers.get('x-cache') ?? '')) return undefined;
|
|
83
|
+
if (!/^text\/html\b/i.test(response.headers.get('content-type') ?? '')) return undefined;
|
|
84
|
+
let page;
|
|
85
|
+
try { page = new TextDecoder('latin1').decode(await boundedBytes(response)); }
|
|
86
|
+
catch { return undefined; }
|
|
87
|
+
if (!/<title>\s*ERROR: The request could not be satisfied\s*<\/title>/i.test(page)) return undefined;
|
|
88
|
+
return { edgeRouting: 'unavailable', originDnsPage: /resolve the origin domain name/i.test(page) };
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// Dependency injection is internal fixture support; the generated runner has
|
|
92
|
+
// no environment/CLI override for endpoints, TLS, policy or timing.
|
|
93
|
+
export async function waitForDeployedSmokeReadiness(input, runtime = {}) {
|
|
94
|
+
const request = runtime.fetch ?? globalThis.fetch;
|
|
95
|
+
const now = runtime.now ?? (() => performance.now());
|
|
96
|
+
const sleep = runtime.sleep ?? ((ms, signal) => delay(ms, undefined, { signal }));
|
|
97
|
+
const started = now();
|
|
98
|
+
const standardDeadline = started + totalLimitMs;
|
|
99
|
+
const edgeDeadline = started + edgeRouteLimitMs;
|
|
100
|
+
const observations = [];
|
|
101
|
+
let edgePending = false;
|
|
102
|
+
let edgeObservations = 0;
|
|
103
|
+
let consecutive = 0;
|
|
104
|
+
let confirmationDeadline = 0;
|
|
105
|
+
let firstReadyAt = 0;
|
|
106
|
+
let firstReadyMs;
|
|
107
|
+
const elapsed = () => Math.max(0, Math.round(now() - started));
|
|
108
|
+
const deadline = () => Math.max(
|
|
109
|
+
edgePending ? edgeDeadline : standardDeadline,
|
|
110
|
+
consecutive > 0 ? confirmationDeadline : 0,
|
|
111
|
+
);
|
|
112
|
+
const failed = (classification, summary) => ({
|
|
113
|
+
outcome: 'failed', classification, summary, elapsedMs: elapsed(), observations,
|
|
114
|
+
});
|
|
115
|
+
let targets;
|
|
116
|
+
try {
|
|
117
|
+
if (!/^[a-z][a-z0-9-]*$/.test(input.service) || !/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/.test(input.sourceCommit) || !['development', 'staging', 'production'].includes(input.stage)) throw new Error('invalid-identity');
|
|
118
|
+
const api = endpoint(input.apiUrl, '');
|
|
119
|
+
const web = endpoint(input.webUrl, '/' + input.service);
|
|
120
|
+
targets = [
|
|
121
|
+
{ name: 'api', url: new URL('/health', api).href, service: input.service },
|
|
122
|
+
{ name: 'web', url: new URL('/' + input.service + '/api/health', web.origin).href, service: input.service + '-web' },
|
|
123
|
+
];
|
|
124
|
+
} catch {
|
|
125
|
+
return failed('environment-drift', 'Deployed readiness requires exact credential-free HTTPS outputs and service/stage/build identity.');
|
|
126
|
+
}
|
|
127
|
+
// The round cap also bounds receipts if a fixture or monotonic clock stalls.
|
|
128
|
+
for (let round = 0; round < roundLimit && now() < deadline(); round += 1) {
|
|
129
|
+
if (input.signal?.aborted) return failed('infrastructure-unavailable', 'Deployed readiness was interrupted before smoke setup.');
|
|
130
|
+
let ready = true;
|
|
131
|
+
for (const target of targets) {
|
|
132
|
+
if (input.signal?.aborted) return failed('infrastructure-unavailable', 'Deployed readiness was interrupted before smoke setup.');
|
|
133
|
+
const remaining = deadline() - now();
|
|
134
|
+
if (remaining <= 0) { ready = false; break; }
|
|
135
|
+
const timeout = AbortSignal.timeout(Math.max(1, Math.min(requestLimitMs, Math.ceil(remaining))));
|
|
136
|
+
const signal = input.signal ? AbortSignal.any([input.signal, timeout]) : timeout;
|
|
137
|
+
const startedAt = new Date().toISOString();
|
|
138
|
+
const requestStarted = now();
|
|
139
|
+
const timing = () => ({ startedAt, durationMs: Math.max(0, Math.round(now() - requestStarted)), elapsedMs: elapsed() });
|
|
140
|
+
let response;
|
|
141
|
+
let observation;
|
|
142
|
+
try {
|
|
143
|
+
// A fresh connection per request samples more than one edge host.
|
|
144
|
+
response = await request(target.url, {
|
|
145
|
+
method: 'GET', redirect: 'manual', credentials: 'omit', cache: 'no-store',
|
|
146
|
+
headers: { accept: 'application/json', connection: 'close' }, signal,
|
|
147
|
+
});
|
|
148
|
+
observation = { endpoint: target.name, status: response.status, ...timing(), ...responseCorrelation(response) };
|
|
149
|
+
observations.push(observation);
|
|
150
|
+
if (response.status !== 200) {
|
|
151
|
+
if (!transientStatuses.has(response.status)) {
|
|
152
|
+
await response.body?.cancel();
|
|
153
|
+
return failed('infrastructure-unavailable', 'Deployed ' + target.name + ' readiness refused HTTP ' + response.status + '; verify the native deployment and exact output before retrying.');
|
|
154
|
+
}
|
|
155
|
+
const edge = target.name === 'web' && response.status === 502 ? await edgeRouteUnavailable(response) : undefined;
|
|
156
|
+
if (edge) { Object.assign(observation, edge); edgeObservations += 1; }
|
|
157
|
+
else await response.body?.cancel().catch(() => {});
|
|
158
|
+
edgePending = Boolean(edge);
|
|
159
|
+
consecutive = 0;
|
|
160
|
+
ready = false;
|
|
161
|
+
break;
|
|
162
|
+
}
|
|
163
|
+
let payload;
|
|
164
|
+
try { payload = await boundedJson(response); }
|
|
165
|
+
catch (error) { if (signal.aborted) throw error; return failed('environment-drift', 'Deployed ' + target.name + ' health is malformed or exceeds its bounded contract.'); }
|
|
166
|
+
const health = target.name === 'api' ? payload?.data : payload;
|
|
167
|
+
if (!health || health.service !== target.service || health.stage !== input.stage || health.sourceCommit !== input.sourceCommit || health.status !== 'ok') {
|
|
168
|
+
return failed('environment-drift', 'Deployed ' + target.name + ' health differs from the expected service/stage/build; reconcile source and deployed outputs.');
|
|
169
|
+
}
|
|
170
|
+
} catch (error) {
|
|
171
|
+
if (input.signal?.aborted) return failed('infrastructure-unavailable', 'Deployed readiness was interrupted before smoke setup.');
|
|
172
|
+
const transient = signal.aborted || transientNetworkCodes.has(error?.cause?.code ?? error?.code);
|
|
173
|
+
// One row per request: a body failure after headers annotates that row.
|
|
174
|
+
if (observation) observation.body = signal.aborted ? 'timeout' : 'network-error';
|
|
175
|
+
else observations.push({ endpoint: target.name, status: signal.aborted ? 'timeout' : 'network-error', ...timing() });
|
|
176
|
+
if (!transient) return failed('infrastructure-unavailable', 'Deployed readiness transport failed; verify endpoint and certificate configuration before retrying.');
|
|
177
|
+
edgePending = false;
|
|
178
|
+
consecutive = 0;
|
|
179
|
+
ready = false;
|
|
180
|
+
break;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
if (input.signal?.aborted) return failed('infrastructure-unavailable', 'Deployed readiness was interrupted before smoke setup.');
|
|
184
|
+
if (ready && now() < deadline()) {
|
|
185
|
+
edgePending = false;
|
|
186
|
+
consecutive += 1;
|
|
187
|
+
if (consecutive === 1) {
|
|
188
|
+
firstReadyAt = now();
|
|
189
|
+
firstReadyMs = elapsed();
|
|
190
|
+
confirmationDeadline = firstReadyAt + confirmationLimitMs;
|
|
191
|
+
}
|
|
192
|
+
if (consecutive > 1 && now() - firstReadyAt >= confirmationWindowMs) {
|
|
193
|
+
return {
|
|
194
|
+
outcome: 'ready', elapsedMs: elapsed(), observations,
|
|
195
|
+
confirmation: { windowMs: confirmationWindowMs, rounds: consecutive, firstReadyMs },
|
|
196
|
+
edgeRouting: { unavailableObservations: edgeObservations, limitMs: edgeRouteLimitMs },
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
const remaining = deadline() - now();
|
|
201
|
+
if (remaining <= 0) break;
|
|
202
|
+
try { await sleep(Math.min(consecutive > 0 ? confirmationDelayMs : retryDelayMs, remaining), input.signal); }
|
|
203
|
+
catch { return failed('infrastructure-unavailable', 'Deployed readiness was interrupted before smoke setup.'); }
|
|
204
|
+
}
|
|
205
|
+
if (now() < deadline()) {
|
|
206
|
+
return failed('infrastructure-unavailable', 'Deployed readiness reached its bounded attempt count before its time bound; inspect the readiness clock and native diagnostics before another governed attempt.');
|
|
207
|
+
}
|
|
208
|
+
if (edgePending) {
|
|
209
|
+
return failed('infrastructure-unavailable', 'The deployed web route was not served by the Router within 300 seconds: CloudFront answered with its own error page because routing fell through to the placeholder origin. Inspect Router KeyValueStore propagation before another governed attempt.');
|
|
210
|
+
}
|
|
211
|
+
return failed('infrastructure-unavailable', 'The expected deployed API and web build did not become ready within the 30-second bound for unavailability other than Router edge propagation; inspect native diagnostics before another governed attempt.');
|
|
212
|
+
}
|
|
213
|
+
`;
|
|
214
|
+
//# sourceMappingURL=deployed-smoke-readiness.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/** Local checks may run before the first commit; deployment evidence may not. */
|
|
2
|
+
export declare const localSourceCommitFunction = "function localSourceCommit() {\n const supplied = process.env.EBK_SOURCE_COMMIT;\n if (supplied !== undefined) {\n if (!/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/.test(supplied)) {\n throw new Error('EBK_SOURCE_COMMIT must be a full commit SHA.');\n }\n return supplied;\n }\n const git = (args) => spawnSync('git', args, {\n cwd: workspaceRoot,\n encoding: 'utf8',\n shell: false,\n windowsHide: true,\n });\n const head = git(['rev-parse', '--verify', 'HEAD^{commit}']);\n if (!head.error && head.status === 0) return head.stdout.trim();\n const worktree = git(['rev-parse', '--is-inside-work-tree']);\n const symbolic = git(['symbolic-ref', '--quiet', 'HEAD']);\n if (!worktree.error && worktree.status === 0 &&\n worktree.stdout.trim() === 'true' && !symbolic.error &&\n symbolic.status === 0 && symbolic.stdout.trim().startsWith('refs/heads/')) {\n const branch = git(['show-ref', '--verify', '--quiet', symbolic.stdout.trim()]);\n if (!branch.error && branch.status === 1) return null;\n }\n throw new Error('Local source identity requires a readable Git worktree or a full EBK_SOURCE_COMMIT.');\n}";
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.localSourceCommitFunction = void 0;
|
|
4
|
+
/** Local checks may run before the first commit; deployment evidence may not. */
|
|
5
|
+
exports.localSourceCommitFunction = `function localSourceCommit() {
|
|
6
|
+
const supplied = process.env.EBK_SOURCE_COMMIT;
|
|
7
|
+
if (supplied !== undefined) {
|
|
8
|
+
if (!/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/.test(supplied)) {
|
|
9
|
+
throw new Error('EBK_SOURCE_COMMIT must be a full commit SHA.');
|
|
10
|
+
}
|
|
11
|
+
return supplied;
|
|
12
|
+
}
|
|
13
|
+
const git = (args) => spawnSync('git', args, {
|
|
14
|
+
cwd: workspaceRoot,
|
|
15
|
+
encoding: 'utf8',
|
|
16
|
+
shell: false,
|
|
17
|
+
windowsHide: true,
|
|
18
|
+
});
|
|
19
|
+
const head = git(['rev-parse', '--verify', 'HEAD^{commit}']);
|
|
20
|
+
if (!head.error && head.status === 0) return head.stdout.trim();
|
|
21
|
+
const worktree = git(['rev-parse', '--is-inside-work-tree']);
|
|
22
|
+
const symbolic = git(['symbolic-ref', '--quiet', 'HEAD']);
|
|
23
|
+
if (!worktree.error && worktree.status === 0 &&
|
|
24
|
+
worktree.stdout.trim() === 'true' && !symbolic.error &&
|
|
25
|
+
symbolic.status === 0 && symbolic.stdout.trim().startsWith('refs/heads/')) {
|
|
26
|
+
const branch = git(['show-ref', '--verify', '--quiet', symbolic.stdout.trim()]);
|
|
27
|
+
if (!branch.error && branch.status === 1) return null;
|
|
28
|
+
}
|
|
29
|
+
throw new Error('Local source identity requires a readable Git worktree or a full EBK_SOURCE_COMMIT.');
|
|
30
|
+
}`;
|
|
31
|
+
//# sourceMappingURL=local-source-identity.js.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const STANDARD_PERSISTENCE_PATH = "data/persistence.json";
|
|
2
|
+
export interface StandardPersistenceContract {
|
|
3
|
+
kind: 'ebk-standard-persistence';
|
|
4
|
+
schemaVersion: 1;
|
|
5
|
+
defaultStore: 'dynamodb';
|
|
6
|
+
}
|
|
7
|
+
/** The framework core is DynamoDB. SQL is additive, never an alternate core. */
|
|
8
|
+
export declare function standardPersistenceContract(options: {
|
|
9
|
+
inputs: Record<string, unknown>;
|
|
10
|
+
current?: unknown;
|
|
11
|
+
existingStandardRequirement?: {
|
|
12
|
+
capabilities: readonly string[];
|
|
13
|
+
};
|
|
14
|
+
}): StandardPersistenceContract;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.STANDARD_PERSISTENCE_PATH = void 0;
|
|
4
|
+
exports.standardPersistenceContract = standardPersistenceContract;
|
|
5
|
+
const validation_js_1 = require("../../validation.js");
|
|
6
|
+
const capability_plan_js_1 = require("../../foundation/capability-plan.js");
|
|
7
|
+
exports.STANDARD_PERSISTENCE_PATH = 'data/persistence.json';
|
|
8
|
+
/** The framework core is DynamoDB. SQL is additive, never an alternate core. */
|
|
9
|
+
function standardPersistenceContract(options) {
|
|
10
|
+
(0, capability_plan_js_1.readStandardSqlDeclaration)(options.inputs);
|
|
11
|
+
if (options.current !== undefined) {
|
|
12
|
+
const current = options.current;
|
|
13
|
+
if (!(0, validation_js_1.isRecord)(current) ||
|
|
14
|
+
current.kind !== 'ebk-standard-persistence' ||
|
|
15
|
+
current.schemaVersion !== 1 ||
|
|
16
|
+
(current.defaultStore !== 'dynamodb' &&
|
|
17
|
+
current.defaultStore !== 'postgres') ||
|
|
18
|
+
Object.keys(current).some((key) => !['kind', 'schemaVersion', 'defaultStore'].includes(key)))
|
|
19
|
+
throw new Error('Standard persistence declaration is invalid; no store may be inferred or reassigned.');
|
|
20
|
+
if (current.defaultStore === 'postgres')
|
|
21
|
+
throw new Error('This prerelease Standard Slice uses a PostgreSQL-backed framework core. Automatic upgrade is unsupported. Preserve its data and infrastructure, then complete an explicit repository-owned migration or rebuild before adopting the DynamoDB core. No files have been changed.');
|
|
22
|
+
}
|
|
23
|
+
else if (options.existingStandardRequirement) {
|
|
24
|
+
throw new Error('Existing Standard Slice is missing its persisted storage declaration. Automatic prerelease conversion is unsupported; preserve its data and infrastructure and complete an explicit repository-owned migration or rebuild. No files have been changed.');
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
kind: 'ebk-standard-persistence',
|
|
28
|
+
schemaVersion: 1,
|
|
29
|
+
defaultStore: 'dynamodb',
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=persistence-contract.js.map
|