@empire-builder-kit/nx 1.0.0-rc.37 → 1.0.0-rc.39
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 +5 -0
- package/generators.json +10 -0
- package/package.json +20 -3
- package/src/aws-authority/index.d.ts +1 -0
- package/src/aws-authority/index.js +1 -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 +11 -3
- package/src/aws-authority/stage-authority.js +615 -29
- 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 +7 -1
- package/src/cli/main.js +128 -20
- package/src/cli/output.d.ts +1 -1
- package/src/developer-agent/context.js +41 -9
- package/src/developer-agent/generator-planning.js +16 -2
- 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 +4 -2
- package/src/developer-agent/operation-registry.d.ts +5 -0
- package/src/developer-agent/operation-registry.js +179 -23
- 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 +20 -8
- package/src/developer-agent/workspace-inspection.js +37 -3
- package/src/executors/deployment-plan/deployment-plan.d.ts +2 -0
- package/src/executors/deployment-plan/deployment-plan.js +51 -4
- 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-remove-preflight/foundation-remove-preflight.js +28 -1
- package/src/executors/local-deploy/local-deploy.d.ts +8 -1
- package/src/executors/local-deploy/local-deploy.js +97 -24
- package/src/executors/local-deploy/schema.json +8 -0
- package/src/executors/router-waf-rehearsal/router-waf-rehearsal.js +30 -18
- package/src/executors/sst-lifecycle/governed-native-operation.d.ts +2 -0
- package/src/executors/sst-lifecycle/governed-native-operation.js +9 -0
- package/src/executors/sst-lifecycle/run-sst-command.d.ts +5 -0
- package/src/executors/sst-lifecycle/run-sst-command.js +220 -32
- package/src/executors/sst-lifecycle/sst-environment-source.d.ts +8 -0
- package/src/executors/sst-lifecycle/sst-environment-source.js +54 -0
- package/src/executors/sst-lifecycle/task-unlock.d.ts +15 -0
- package/src/executors/sst-lifecycle/task-unlock.js +126 -0
- 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 +1 -0
- package/src/foundation/index.js +1 -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/preflight.js +37 -18
- package/src/foundation/private-smoke-access.js +10 -2
- package/src/foundation/private-smoke-admission.d.ts +3 -1
- package/src/foundation/private-smoke-admission.js +29 -8
- package/src/foundation/private-smoke-control-plane.js +17 -6
- 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 +13 -8
- package/src/foundation/requirements.d.ts +3 -3
- package/src/foundation/requirements.js +24 -12
- package/src/foundation/router-waf.d.ts +1 -0
- package/src/foundation/router-waf.js +14 -1
- 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.js +24 -1
- package/src/generators/logging-registry.d.ts +2 -0
- package/src/generators/logging-registry.js +22 -0
- package/src/generators/preset/workspace-files-adopter-skills.d.ts +7 -0
- package/src/generators/preset/workspace-files-adopter-skills.js +301 -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.js +40 -13
- package/src/generators/preset/workspace-files-performance-load.js +8 -0
- package/src/generators/preset/workspace-files-stage-authority.js +40 -1
- package/src/generators/preset/workspace-files-thin-deploy.js +66 -34
- package/src/generators/preset/workspace-files-thin-docs.js +64 -18
- package/src/generators/preset/workspace-files.d.ts +4 -0
- package/src/generators/preset/workspace-files.js +159 -91
- package/src/generators/repository-policy/repository-policy.js +37 -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 +47 -389
- package/src/generators/slice/built-in-plan-async-work-files.js +19 -1912
- package/src/generators/slice/built-in-plan-authorization-files.js +92 -329
- package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js +36 -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 +1 -1
- package/src/generators/slice/built-in-plan-background-work-files.js +15 -5
- package/src/generators/slice/built-in-plan-data-deletion-files.js +2 -830
- package/src/generators/slice/built-in-plan-data-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-data-files.js +61 -1164
- 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 +18 -2
- package/src/generators/slice/built-in-plan-data-retention-job-files.js +7 -2446
- package/src/generators/slice/built-in-plan-data-retention-launcher-files.js +30 -6
- package/src/generators/slice/built-in-plan-data-rights-files.js +6 -4482
- package/src/generators/slice/built-in-plan-database-lifecycle-files.js +4 -15
- package/src/generators/slice/built-in-plan-foundation-files.d.ts +2 -1
- package/src/generators/slice/built-in-plan-foundation-files.js +34 -10
- package/src/generators/slice/built-in-plan-frontend-files.js +2 -2
- package/src/generators/slice/built-in-plan-infrastructure-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-infrastructure-files.js +180 -522
- 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 +120 -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 +140 -28
- package/src/generators/slice/built-in-plan-native-runtime-authority-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-native-runtime-authority-files.js +36 -19
- package/src/generators/slice/built-in-plan-operations-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-operations-files.js +89 -50
- package/src/generators/slice/built-in-plan-performance-files.js +84 -1010
- package/src/generators/slice/built-in-plan-project-files.js +116 -67
- package/src/generators/slice/built-in-plan-release-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-release-files.js +64 -15
- package/src/generators/slice/built-in-plan-reliability-files.js +54 -28
- 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 +257 -0
- package/src/generators/slice/built-in-plan-testing-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-testing-files.js +184 -132
- 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 +1 -1
- package/src/generators/slice/built-in-plan-thin-release-files.js +35 -2
- package/src/generators/slice/built-in-plan-verification-files.js +70 -0
- package/src/generators/slice/built-in-plan-web-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-web-files.js +206 -14
- 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 +113 -274
- package/src/generators/slice/built-in-plan.d.ts +9 -1
- package/src/generators/slice/built-in-plan.js +49 -21
- 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 +29 -24
- 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 +2 -0
- package/src/generators/upgrade/upgrade.js +136 -9
- package/src/generators/workload/workload.js +51 -2
- 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 +6 -0
- package/src/local-dev/private-state.js +126 -34
- 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 +3 -1
- 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/scenario.d.ts +22 -0
- package/src/performance/scenario.js +100 -92
- package/src/repository-policy/deployment-plan.d.ts +2 -2
- package/src/repository-policy/deployment-plan.js +2 -1
- package/src/repository-policy/policy.js +38 -3
- package/src/schemas/blueprint-v1.json +5 -4
- package/src/schemas/foundation-requirement-v1.json +5 -4
- package/src/schemas/testing-evidence-result-v1.json +1 -1
- package/src/secrets/operator.d.ts +3 -1
- package/src/secrets/operator.js +22 -3
- package/src/sst-environment-source-format.d.ts +3 -0
- package/src/sst-environment-source-format.js +20 -0
- package/src/supply-chain/blueprint-trust-git.js +13 -3
- package/src/supply-chain/build-output.js +15 -0
- package/src/supply-chain/generated-blueprint-trust-command.js +18 -1
- 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/standard-slice.js +2 -3
- 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/aws/child-environment.js.map +0 -1
- package/src/aws/identity.js.map +0 -1
- package/src/aws-authority/index.js.map +0 -1
- package/src/aws-authority/stage-authority.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-profile-preflight/production-database-safeguard.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/local-deploy/federated-credential-transport.js.map +0 -1
- package/src/executors/local-deploy/fixtures/local-deploy-state-machine.mjs +0 -53
- package/src/executors/local-deploy/local-approval.js.map +0 -1
- package/src/executors/local-deploy/local-deploy.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/router-waf-rehearsal/router-waf-rehearsal.js.map +0 -1
- package/src/executors/secret-guardrails/secret-guardrails.js.map +0 -1
- package/src/executors/secret-initialize/secret-initialize.js.map +0 -1
- package/src/executors/secret-metadata/secret-metadata.js.map +0 -1
- package/src/executors/sst-lifecycle/generated-secret-retirement.js.map +0 -1
- package/src/executors/sst-lifecycle/governed-native-operation.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/sst-lifecycle/sst-environment-source.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/partial-state.js.map +0 -1
- package/src/foundation/preflight.js.map +0 -1
- package/src/foundation/private-smoke-access.js.map +0 -1
- package/src/foundation/private-smoke-admission.js.map +0 -1
- package/src/foundation/private-smoke-control-plane.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/router-waf-rate-rehearsal.js.map +0 -1
- package/src/foundation/router-waf.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/formatting.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/dependency-overrides.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-ci-acceptance.js.map +0 -1
- package/src/generators/preset/workspace-files-developer-agent.js.map +0 -1
- package/src/generators/preset/workspace-files-ecr-inspector.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-stage-authority.js.map +0 -1
- package/src/generators/preset/workspace-files-thin-deploy.js.map +0 -1
- package/src/generators/preset/workspace-files-thin-docs.js.map +0 -1
- package/src/generators/preset/workspace-files-thin-release.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/repository-policy/tree-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-background-work-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-native-runtime-authority-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-thin-release-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/local-capability.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 -167
- 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/capacity-migration.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/generated-aws-control-plane.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/sst-environment-source-format.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-bounds.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/src/workspace-deployment/affected-lifecycle.js.map +0 -1
- package/src/workspace-deployment/identity.js.map +0 -1
- package/src/workspace-deployment/index.js.map +0 -1
- package/src/workspace-deployment/migration-evidence.js.map +0 -1
- package/src/workspace-deployment/migration.js.map +0 -1
- package/src/workspace-deployment/ownership.js.map +0 -1
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runCurrentTaskUnlock = runCurrentTaskUnlock;
|
|
4
|
+
const devkit_1 = require("@nx/devkit");
|
|
5
|
+
const node_fs_1 = require("node:fs");
|
|
6
|
+
const node_path_1 = require("node:path");
|
|
7
|
+
const index_js_1 = require("../../aws-authority/index.js");
|
|
8
|
+
const fleet_launcher_js_1 = require("../../local-dev/fleet-launcher.js");
|
|
9
|
+
const local_context_js_1 = require("../../local-dev/local-context.js");
|
|
10
|
+
const task_authority_js_1 = require("../../local-dev/task-authority.js");
|
|
11
|
+
const task_identity_js_1 = require("../../local-dev/task-identity.js");
|
|
12
|
+
const task_native_writer_js_1 = require("../../local-dev/task-native-writer.js");
|
|
13
|
+
const task_stack_absence_js_1 = require("../dev-task-cleanup/task-stack-absence.js");
|
|
14
|
+
const federated_credential_transport_js_1 = require("../local-deploy/federated-credential-transport.js");
|
|
15
|
+
const local_deploy_js_1 = require("../local-deploy/local-deploy.js");
|
|
16
|
+
const run_sst_command_js_1 = require("./run-sst-command.js");
|
|
17
|
+
async function runCurrentTaskUnlock(options, context, dependencies = {}) {
|
|
18
|
+
let transport, success = false;
|
|
19
|
+
try {
|
|
20
|
+
const environment = dependencies.environment ?? process.env;
|
|
21
|
+
if (Object.keys(options).some((key) => ![
|
|
22
|
+
'args',
|
|
23
|
+
'cwd',
|
|
24
|
+
'expectedRoleArn',
|
|
25
|
+
'foundationStage',
|
|
26
|
+
'profile',
|
|
27
|
+
'region',
|
|
28
|
+
'stage',
|
|
29
|
+
'stageMode',
|
|
30
|
+
'target',
|
|
31
|
+
].includes(key)))
|
|
32
|
+
throw new Error('Task unlock received an unsupported option.');
|
|
33
|
+
if (environment.GITHUB_ACTIONS === 'true')
|
|
34
|
+
throw new Error('Task unlock is local to the current owning worktree.');
|
|
35
|
+
const task = (0, task_identity_js_1.resolveTaskIdentity)(context.root), stage = (0, task_identity_js_1.taskStage)(task.taskId);
|
|
36
|
+
const project = context.projectName
|
|
37
|
+
? context.projectsConfigurations?.projects[context.projectName]
|
|
38
|
+
: undefined;
|
|
39
|
+
if (options.stage !== stage ||
|
|
40
|
+
options.stageMode !== 'consumer' ||
|
|
41
|
+
!project?.tags?.includes('type:slice') ||
|
|
42
|
+
project.tags.includes('scope:foundation'))
|
|
43
|
+
throw new Error('Task unlock requires the exact current task and one Product Slice.');
|
|
44
|
+
if (options.profile !== undefined ||
|
|
45
|
+
options.region !== undefined ||
|
|
46
|
+
options.expectedRoleArn !== undefined ||
|
|
47
|
+
options.target !== undefined ||
|
|
48
|
+
(options.args !== undefined &&
|
|
49
|
+
(!Array.isArray(options.args) || options.args.length !== 0)) ||
|
|
50
|
+
(options.foundationStage !== undefined &&
|
|
51
|
+
options.foundationStage !== 'development'))
|
|
52
|
+
throw new Error('Task unlock does not accept AWS, target, argument, or Foundation overrides.');
|
|
53
|
+
const projectRoot = (0, node_fs_1.realpathSync)((0, node_path_1.join)(context.root, project.root));
|
|
54
|
+
if (options.cwd !== undefined &&
|
|
55
|
+
(0, node_fs_1.realpathSync)((0, node_path_1.isAbsolute)(options.cwd) ? options.cwd : (0, node_path_1.join)(context.root, options.cwd)) !== projectRoot)
|
|
56
|
+
throw new Error('Task unlock cwd must equal its generated Slice project root.');
|
|
57
|
+
(0, task_stack_absence_js_1.resolveStaticTaskApp)({
|
|
58
|
+
workspaceRoot: context.root,
|
|
59
|
+
projectRoot,
|
|
60
|
+
projectName: context.projectName,
|
|
61
|
+
});
|
|
62
|
+
const saved = (0, local_context_js_1.readSavedLocalDevContext)((0, fleet_launcher_js_1.resolveGitCommonDirectory)(context.root));
|
|
63
|
+
if (saved.kind !== 'ready')
|
|
64
|
+
throw new Error('Task unlock requires the saved development AWS context. Run ebk dev configure.');
|
|
65
|
+
const verified = await (0, task_authority_js_1.verifyTaskEnvironment)(context.root, saved.resolution.context, dependencies.authority);
|
|
66
|
+
(0, task_identity_js_1.assertCurrentTaskEnvironment)(context.root, verified);
|
|
67
|
+
const source = (0, local_deploy_js_1.localWorkingTreeDigest)(context.root);
|
|
68
|
+
(0, task_native_writer_js_1.assertTaskNativeWritersAbsent)(context, dependencies.writers);
|
|
69
|
+
const region = verified.region;
|
|
70
|
+
const expectedRoleArn = (0, index_js_1.createStageAuthorityIdentity)({
|
|
71
|
+
accountId: verified.accountId,
|
|
72
|
+
region,
|
|
73
|
+
stage: 'development',
|
|
74
|
+
partition: region.startsWith('cn-')
|
|
75
|
+
? 'aws-cn'
|
|
76
|
+
: region.startsWith('us-gov-')
|
|
77
|
+
? 'aws-us-gov'
|
|
78
|
+
: 'aws',
|
|
79
|
+
}).deploymentRoleArn;
|
|
80
|
+
transport = await (dependencies.createTransport ?? federated_credential_transport_js_1.createLocalFederatedCredentialTransport)({
|
|
81
|
+
account: verified.accountId,
|
|
82
|
+
expectedRoleArn,
|
|
83
|
+
profile: saved.resolution.context.profile,
|
|
84
|
+
region,
|
|
85
|
+
});
|
|
86
|
+
await transport.refresh();
|
|
87
|
+
if ((0, task_identity_js_1.assertCurrentTaskEnvironment)(context.root, verified).taskId !==
|
|
88
|
+
task.taskId ||
|
|
89
|
+
JSON.stringify((0, local_deploy_js_1.localWorkingTreeDigest)(context.root)) !==
|
|
90
|
+
JSON.stringify(source))
|
|
91
|
+
throw new Error('Task unlock source or ownership changed during authorization.');
|
|
92
|
+
(0, task_native_writer_js_1.assertTaskNativeWritersAbsent)(context, dependencies.writers);
|
|
93
|
+
success = (await (dependencies.run ?? run_sst_command_js_1.runSstCommand)('unlock', {
|
|
94
|
+
stage,
|
|
95
|
+
stageMode: 'consumer',
|
|
96
|
+
foundationStage: 'development',
|
|
97
|
+
profile: transport.profile,
|
|
98
|
+
region,
|
|
99
|
+
expectedRoleArn,
|
|
100
|
+
}, context, {
|
|
101
|
+
environment: {
|
|
102
|
+
...transport.childEnvironment(environment),
|
|
103
|
+
AWS_EXPECTED_ACCOUNT_ID: verified.accountId,
|
|
104
|
+
AWS_REGION: region,
|
|
105
|
+
EBK_NX_TASK_UNLOCK: task.taskId,
|
|
106
|
+
EBK_SOURCE_COMMIT: source.commit,
|
|
107
|
+
EBK_LOCAL_SOURCE_TREE: source.digest,
|
|
108
|
+
},
|
|
109
|
+
taskNativeWriterEffects: dependencies.writers,
|
|
110
|
+
})).success;
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
devkit_1.logger.error(`Task unlock failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
114
|
+
}
|
|
115
|
+
finally {
|
|
116
|
+
try {
|
|
117
|
+
transport?.cleanup();
|
|
118
|
+
}
|
|
119
|
+
catch {
|
|
120
|
+
success = false;
|
|
121
|
+
devkit_1.logger.error('Task unlock credential cleanup failed; acceptance is blocked.');
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return { success };
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=task-unlock.js.map
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/** Resource capability version, independent of the requirement-document schema. */
|
|
2
|
+
export declare const FOUNDATION_CAPABILITY_CONTRACT_VERSION: "2.0.0";
|
|
3
|
+
/** Known generated-source migration only; never accepted as a live v2 contract. */
|
|
4
|
+
export declare const LEGACY_STANDARD_FOUNDATION_CAPABILITIES: readonly ["network", "routing", "container-compute", "postgres", "identity", "events", "observability", "configuration", "deployment"];
|
|
5
|
+
export declare const FOUNDATION_BASE_CAPABILITIES: readonly ["key-value", "routing", "identity", "events", "observability", "configuration", "deployment"];
|
|
6
|
+
export declare const FOUNDATION_CAPABILITY_VOCABULARY: readonly ["key-value", "routing", "identity", "events", "observability", "configuration", "deployment", "network", "container-compute", "postgres"];
|
|
7
|
+
export type FoundationCapability = (typeof FOUNDATION_CAPABILITY_VOCABULARY)[number];
|
|
8
|
+
export interface FoundationCapabilityDescriptor {
|
|
9
|
+
contractVersion: typeof FOUNDATION_CAPABILITY_CONTRACT_VERSION;
|
|
10
|
+
capabilities: FoundationCapability[];
|
|
11
|
+
}
|
|
12
|
+
export interface FoundationCapabilityRequirement {
|
|
13
|
+
contract: string;
|
|
14
|
+
capabilities: FoundationCapability[];
|
|
15
|
+
}
|
|
16
|
+
export interface StandardSqlDeclaration {
|
|
17
|
+
reason: string;
|
|
18
|
+
}
|
|
19
|
+
export interface FoundationCapabilityPlan {
|
|
20
|
+
descriptor: FoundationCapabilityDescriptor;
|
|
21
|
+
added: FoundationCapability[];
|
|
22
|
+
retained: FoundationCapability[];
|
|
23
|
+
migratedFromContract: '1.0.0' | null;
|
|
24
|
+
resources: {
|
|
25
|
+
containerCompute: boolean;
|
|
26
|
+
network: boolean;
|
|
27
|
+
postgres: boolean;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/** Absence means DynamoDB-first; false/null is never a database retirement instruction. */
|
|
31
|
+
export declare function readStandardSqlDeclaration(inputs: unknown): StandardSqlDeclaration | null;
|
|
32
|
+
export declare function standardPersistenceRequirement(inputs: unknown, compositions?: readonly {
|
|
33
|
+
kind: string;
|
|
34
|
+
}[]): FoundationCapabilityRequirement;
|
|
35
|
+
/**
|
|
36
|
+
* Pure generation plan. Existing declarations are monotonic: removing a Slice
|
|
37
|
+
* cannot remove a database, network, or cluster. Retirement is a separate operation.
|
|
38
|
+
* This function never reads AWS and does not attest that resources are deployed.
|
|
39
|
+
*/
|
|
40
|
+
export declare function planFoundationCapabilities(options: {
|
|
41
|
+
current?: unknown;
|
|
42
|
+
requirements: readonly unknown[];
|
|
43
|
+
}): FoundationCapabilityPlan;
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FOUNDATION_CAPABILITY_VOCABULARY = exports.FOUNDATION_BASE_CAPABILITIES = exports.LEGACY_STANDARD_FOUNDATION_CAPABILITIES = exports.FOUNDATION_CAPABILITY_CONTRACT_VERSION = void 0;
|
|
4
|
+
exports.readStandardSqlDeclaration = readStandardSqlDeclaration;
|
|
5
|
+
exports.standardPersistenceRequirement = standardPersistenceRequirement;
|
|
6
|
+
exports.planFoundationCapabilities = planFoundationCapabilities;
|
|
7
|
+
const semver_1 = require("semver");
|
|
8
|
+
const validation_js_1 = require("../validation.js");
|
|
9
|
+
/** Resource capability version, independent of the requirement-document schema. */
|
|
10
|
+
exports.FOUNDATION_CAPABILITY_CONTRACT_VERSION = '2.0.0';
|
|
11
|
+
/** Known generated-source migration only; never accepted as a live v2 contract. */
|
|
12
|
+
exports.LEGACY_STANDARD_FOUNDATION_CAPABILITIES = [
|
|
13
|
+
'network',
|
|
14
|
+
'routing',
|
|
15
|
+
'container-compute',
|
|
16
|
+
'postgres',
|
|
17
|
+
'identity',
|
|
18
|
+
'events',
|
|
19
|
+
'observability',
|
|
20
|
+
'configuration',
|
|
21
|
+
'deployment',
|
|
22
|
+
];
|
|
23
|
+
exports.FOUNDATION_BASE_CAPABILITIES = [
|
|
24
|
+
'key-value',
|
|
25
|
+
'routing',
|
|
26
|
+
'identity',
|
|
27
|
+
'events',
|
|
28
|
+
'observability',
|
|
29
|
+
'configuration',
|
|
30
|
+
'deployment',
|
|
31
|
+
];
|
|
32
|
+
exports.FOUNDATION_CAPABILITY_VOCABULARY = [
|
|
33
|
+
...exports.FOUNDATION_BASE_CAPABILITIES,
|
|
34
|
+
'network',
|
|
35
|
+
'container-compute',
|
|
36
|
+
'postgres',
|
|
37
|
+
];
|
|
38
|
+
function requireCapabilities(value, label) {
|
|
39
|
+
if (!Array.isArray(value))
|
|
40
|
+
throw new Error(`${label} must be an array.`);
|
|
41
|
+
const seen = new Set();
|
|
42
|
+
for (const capability of value) {
|
|
43
|
+
if (typeof capability !== 'string' ||
|
|
44
|
+
!exports.FOUNDATION_CAPABILITY_VOCABULARY.some((known) => known === capability) ||
|
|
45
|
+
seen.has(capability)) {
|
|
46
|
+
throw new Error(`${label} contains an unknown or duplicate capability.`);
|
|
47
|
+
}
|
|
48
|
+
seen.add(capability);
|
|
49
|
+
}
|
|
50
|
+
return [...value];
|
|
51
|
+
}
|
|
52
|
+
function requireExactKeys(value, keys, label) {
|
|
53
|
+
if (Object.keys(value).some((key) => !keys.includes(key))) {
|
|
54
|
+
throw new Error(`${label} contains unsupported properties.`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/** Absence means DynamoDB-first; false/null is never a database retirement instruction. */
|
|
58
|
+
function readStandardSqlDeclaration(inputs) {
|
|
59
|
+
if (!(0, validation_js_1.isRecord)(inputs))
|
|
60
|
+
throw new Error('Standard Blueprint inputs must be an object.');
|
|
61
|
+
if (!Object.prototype.hasOwnProperty.call(inputs, 'sql'))
|
|
62
|
+
return null;
|
|
63
|
+
const sql = inputs.sql;
|
|
64
|
+
if (!(0, validation_js_1.isRecord)(sql))
|
|
65
|
+
throw new Error('Standard Blueprint inputs.sql must declare a relational reason.');
|
|
66
|
+
requireExactKeys(sql, ['reason'], 'Standard Blueprint inputs.sql');
|
|
67
|
+
if (typeof sql.reason !== 'string' ||
|
|
68
|
+
sql.reason.trim().length === 0 ||
|
|
69
|
+
sql.reason.length > 512 ||
|
|
70
|
+
[...sql.reason].some((character) => {
|
|
71
|
+
const code = character.charCodeAt(0);
|
|
72
|
+
return code < 0x20 || code === 0x7f;
|
|
73
|
+
})) {
|
|
74
|
+
throw new Error('Standard Blueprint inputs.sql.reason must be a non-empty single-line rationale of at most 512 characters.');
|
|
75
|
+
}
|
|
76
|
+
return { reason: sql.reason.trim() };
|
|
77
|
+
}
|
|
78
|
+
function standardPersistenceRequirement(inputs, compositions = []) {
|
|
79
|
+
const sql = readStandardSqlDeclaration(inputs);
|
|
80
|
+
const containers = sql !== null ||
|
|
81
|
+
compositions.some(({ kind }) => kind === 'service' || kind === 'job');
|
|
82
|
+
return {
|
|
83
|
+
contract: '^2.0.0',
|
|
84
|
+
capabilities: [
|
|
85
|
+
...exports.FOUNDATION_BASE_CAPABILITIES,
|
|
86
|
+
...(containers ? ['network', 'container-compute'] : []),
|
|
87
|
+
...(sql ? ['postgres'] : []),
|
|
88
|
+
],
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
function readCurrentDescriptor(value) {
|
|
92
|
+
if (!(0, validation_js_1.isRecord)(value))
|
|
93
|
+
throw new Error('Existing Foundation descriptor must be an object.');
|
|
94
|
+
requireExactKeys(value, ['contractVersion', 'capabilities'], 'Existing Foundation descriptor');
|
|
95
|
+
const capabilities = requireCapabilities(value.capabilities, 'Existing Foundation capabilities');
|
|
96
|
+
const available = new Set(capabilities);
|
|
97
|
+
if (value.contractVersion === '1.0.0') {
|
|
98
|
+
// This is an explicit generated-source upgrade, not a live discovery fallback.
|
|
99
|
+
// The old Standard Foundation always provisioned all nine capabilities.
|
|
100
|
+
if (capabilities.length !== exports.LEGACY_STANDARD_FOUNDATION_CAPABILITIES.length ||
|
|
101
|
+
exports.LEGACY_STANDARD_FOUNDATION_CAPABILITIES.some((capability) => !available.has(capability))) {
|
|
102
|
+
throw new Error('Existing v1 Standard Foundation must retain its complete capability declaration before upgrade.');
|
|
103
|
+
}
|
|
104
|
+
return { capabilities, migratedFromContract: '1.0.0' };
|
|
105
|
+
}
|
|
106
|
+
if (value.contractVersion !== exports.FOUNDATION_CAPABILITY_CONTRACT_VERSION ||
|
|
107
|
+
exports.FOUNDATION_BASE_CAPABILITIES.some((capability) => !available.has(capability)) ||
|
|
108
|
+
(available.has('postgres') &&
|
|
109
|
+
(!available.has('network') || !available.has('container-compute'))) ||
|
|
110
|
+
(available.has('container-compute') && !available.has('network'))) {
|
|
111
|
+
throw new Error('Existing Foundation descriptor must use contract 2.0.0 with complete capability dependencies.');
|
|
112
|
+
}
|
|
113
|
+
return { capabilities, migratedFromContract: null };
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Pure generation plan. Existing declarations are monotonic: removing a Slice
|
|
117
|
+
* cannot remove a database, network, or cluster. Retirement is a separate operation.
|
|
118
|
+
* This function never reads AWS and does not attest that resources are deployed.
|
|
119
|
+
*/
|
|
120
|
+
function planFoundationCapabilities(options) {
|
|
121
|
+
const current = options.current === undefined
|
|
122
|
+
? {
|
|
123
|
+
capabilities: [],
|
|
124
|
+
migratedFromContract: null,
|
|
125
|
+
}
|
|
126
|
+
: readCurrentDescriptor(options.current);
|
|
127
|
+
const selected = new Set([
|
|
128
|
+
...exports.FOUNDATION_BASE_CAPABILITIES,
|
|
129
|
+
...current.capabilities,
|
|
130
|
+
]);
|
|
131
|
+
for (const requirement of options.requirements) {
|
|
132
|
+
if (!(0, validation_js_1.isRecord)(requirement))
|
|
133
|
+
throw new Error('Foundation requirement must be an object.');
|
|
134
|
+
requireExactKeys(requirement, ['contract', 'capabilities'], 'Foundation requirement');
|
|
135
|
+
if (typeof requirement.contract !== 'string' ||
|
|
136
|
+
!requirement.contract.trim() ||
|
|
137
|
+
(0, semver_1.validRange)(requirement.contract) === null ||
|
|
138
|
+
!(0, semver_1.satisfies)(exports.FOUNDATION_CAPABILITY_CONTRACT_VERSION, requirement.contract)) {
|
|
139
|
+
throw new Error('Foundation requirement must admit contract 2.0.0; regenerate older Blueprint requirements explicitly.');
|
|
140
|
+
}
|
|
141
|
+
for (const capability of requireCapabilities(requirement.capabilities, 'Foundation requirement capabilities')) {
|
|
142
|
+
selected.add(capability);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
// The current SQL migration implementation uses private container compute.
|
|
146
|
+
// Keep its resource dependency explicit rather than allocating NAT for every Slice.
|
|
147
|
+
if (selected.has('postgres'))
|
|
148
|
+
selected.add('container-compute');
|
|
149
|
+
if (selected.has('container-compute'))
|
|
150
|
+
selected.add('network');
|
|
151
|
+
const capabilities = exports.FOUNDATION_CAPABILITY_VOCABULARY.filter((capability) => selected.has(capability));
|
|
152
|
+
const retained = new Set(current.capabilities);
|
|
153
|
+
return {
|
|
154
|
+
descriptor: {
|
|
155
|
+
contractVersion: exports.FOUNDATION_CAPABILITY_CONTRACT_VERSION,
|
|
156
|
+
capabilities,
|
|
157
|
+
},
|
|
158
|
+
added: capabilities.filter((capability) => !retained.has(capability)),
|
|
159
|
+
retained: capabilities.filter((capability) => retained.has(capability)),
|
|
160
|
+
migratedFromContract: current.migratedFromContract,
|
|
161
|
+
resources: {
|
|
162
|
+
containerCompute: selected.has('container-compute'),
|
|
163
|
+
network: selected.has('network'),
|
|
164
|
+
postgres: selected.has('postgres'),
|
|
165
|
+
},
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=capability-plan.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type FoundationRequirement, type StandardFoundationCapability } from './requirements.js';
|
|
2
2
|
export declare const FOUNDATION_SSM_NAMESPACE: "/ebk";
|
|
3
|
-
export declare const FOUNDATION_SSM_SCHEMA_VERSION:
|
|
3
|
+
export declare const FOUNDATION_SSM_SCHEMA_VERSION: 7;
|
|
4
4
|
export declare const FOUNDATION_SSM_KEYS: {
|
|
5
5
|
readonly accountCostPolicyDigest: "accountCostPolicyDigest";
|
|
6
6
|
readonly accountMonthlyMaximumUsd: "accountMonthlyMaximumUsd";
|
|
@@ -28,22 +28,25 @@ export declare const FOUNDATION_SSM_KEYS: {
|
|
|
28
28
|
readonly vpcId: "vpcId";
|
|
29
29
|
};
|
|
30
30
|
export type FoundationSsmKey = keyof typeof FOUNDATION_SSM_KEYS;
|
|
31
|
-
export declare const
|
|
31
|
+
export declare const FOUNDATION_POSTGRES_SSM_KEYS: readonly ["databaseClusterArn", "databaseClusterEndpoint", "databaseClusterId", "databaseClusterResourceId", "databaseHost", "databaseMasterSecretArn", "databasePort"];
|
|
32
|
+
/** Required for every Foundation; optional resource capabilities add their own keys. */
|
|
33
|
+
export declare const FOUNDATION_REQUIRED_SSM_KEYS: ("contractVersion" | "capabilities" | "accountCostPolicyDigest" | "accountMonthlyMaximumUsd" | "alertTopicArn" | "clusterId" | "databaseClusterArn" | "databaseClusterEndpoint" | "databaseClusterId" | "databaseClusterResourceId" | "databaseHost" | "databaseMasterSecretArn" | "databasePort" | "eventBusArn" | "eventBusName" | "hasPublicDomain" | "identityUserPoolArn" | "identityUserPoolId" | "identityTokenEndpoint" | "rootDomain" | "routerDistributionId" | "routerUrl" | "schemaVersion" | "vpcId")[];
|
|
34
|
+
export declare function foundationSsmKeysForCapabilities(capabilities: readonly StandardFoundationCapability[]): FoundationSsmKey[];
|
|
32
35
|
export declare const STANDARD_FOUNDATION_REQUIREMENT: FoundationRequirement;
|
|
33
36
|
export interface FoundationDiscovery {
|
|
34
37
|
accountCostPolicyDigest: `sha256:${string}`;
|
|
35
38
|
accountMonthlyMaximumUsd: number;
|
|
36
39
|
alertTopicArn: string;
|
|
37
40
|
capabilities: StandardFoundationCapability[];
|
|
38
|
-
clusterId
|
|
41
|
+
clusterId?: string;
|
|
39
42
|
contractVersion: string;
|
|
40
|
-
databaseClusterArn
|
|
41
|
-
databaseClusterEndpoint
|
|
42
|
-
databaseClusterId
|
|
43
|
-
databaseClusterResourceId
|
|
44
|
-
databaseHost
|
|
45
|
-
databaseMasterSecretArn
|
|
46
|
-
databasePort
|
|
43
|
+
databaseClusterArn?: string;
|
|
44
|
+
databaseClusterEndpoint?: string;
|
|
45
|
+
databaseClusterId?: string;
|
|
46
|
+
databaseClusterResourceId?: string;
|
|
47
|
+
databaseHost?: string;
|
|
48
|
+
databaseMasterSecretArn?: string;
|
|
49
|
+
databasePort?: number;
|
|
47
50
|
eventBusArn: string;
|
|
48
51
|
eventBusName: string;
|
|
49
52
|
hasPublicDomain: boolean;
|
|
@@ -54,7 +57,7 @@ export interface FoundationDiscovery {
|
|
|
54
57
|
routerDistributionId: string;
|
|
55
58
|
routerUrl: string;
|
|
56
59
|
schemaVersion: typeof FOUNDATION_SSM_SCHEMA_VERSION;
|
|
57
|
-
vpcId
|
|
60
|
+
vpcId?: string;
|
|
58
61
|
}
|
|
59
62
|
export interface ProductSliceRegistration {
|
|
60
63
|
consumerStage: string;
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.STANDARD_FOUNDATION_REQUIREMENT = exports.FOUNDATION_REQUIRED_SSM_KEYS = exports.FOUNDATION_SSM_KEYS = exports.FOUNDATION_SSM_SCHEMA_VERSION = exports.FOUNDATION_SSM_NAMESPACE = void 0;
|
|
3
|
+
exports.STANDARD_FOUNDATION_REQUIREMENT = exports.FOUNDATION_REQUIRED_SSM_KEYS = exports.FOUNDATION_POSTGRES_SSM_KEYS = exports.FOUNDATION_SSM_KEYS = exports.FOUNDATION_SSM_SCHEMA_VERSION = exports.FOUNDATION_SSM_NAMESPACE = void 0;
|
|
4
|
+
exports.foundationSsmKeysForCapabilities = foundationSsmKeysForCapabilities;
|
|
4
5
|
exports.foundationSsmStageRoot = foundationSsmStageRoot;
|
|
5
6
|
exports.foundationSsmPath = foundationSsmPath;
|
|
6
7
|
exports.productSliceRegistrationRoot = productSliceRegistrationRoot;
|
|
7
8
|
exports.productSliceRegistrationPath = productSliceRegistrationPath;
|
|
8
9
|
exports.productSliceMigrationPath = productSliceMigrationPath;
|
|
9
10
|
exports.productSliceRetentionPath = productSliceRetentionPath;
|
|
10
|
-
const
|
|
11
|
+
const capability_plan_js_1 = require("./capability-plan.js");
|
|
11
12
|
const stages_js_1 = require("./stages.js");
|
|
12
13
|
exports.FOUNDATION_SSM_NAMESPACE = '/ebk';
|
|
13
|
-
exports.FOUNDATION_SSM_SCHEMA_VERSION =
|
|
14
|
+
exports.FOUNDATION_SSM_SCHEMA_VERSION = 7;
|
|
14
15
|
exports.FOUNDATION_SSM_KEYS = {
|
|
15
16
|
accountCostPolicyDigest: 'accountCostPolicyDigest',
|
|
16
17
|
accountMonthlyMaximumUsd: 'accountMonthlyMaximumUsd',
|
|
@@ -37,10 +38,35 @@ exports.FOUNDATION_SSM_KEYS = {
|
|
|
37
38
|
schemaVersion: 'schemaVersion',
|
|
38
39
|
vpcId: 'vpcId',
|
|
39
40
|
};
|
|
40
|
-
exports.
|
|
41
|
+
exports.FOUNDATION_POSTGRES_SSM_KEYS = [
|
|
42
|
+
'databaseClusterArn',
|
|
43
|
+
'databaseClusterEndpoint',
|
|
44
|
+
'databaseClusterId',
|
|
45
|
+
'databaseClusterResourceId',
|
|
46
|
+
'databaseHost',
|
|
47
|
+
'databaseMasterSecretArn',
|
|
48
|
+
'databasePort',
|
|
49
|
+
];
|
|
50
|
+
const conditionalKeys = new Set([
|
|
51
|
+
...exports.FOUNDATION_POSTGRES_SSM_KEYS,
|
|
52
|
+
'vpcId',
|
|
53
|
+
'clusterId',
|
|
54
|
+
]);
|
|
55
|
+
/** Required for every Foundation; optional resource capabilities add their own keys. */
|
|
56
|
+
exports.FOUNDATION_REQUIRED_SSM_KEYS = Object.keys(exports.FOUNDATION_SSM_KEYS).filter((key) => !conditionalKeys.has(key));
|
|
57
|
+
function foundationSsmKeysForCapabilities(capabilities) {
|
|
58
|
+
return [
|
|
59
|
+
...exports.FOUNDATION_REQUIRED_SSM_KEYS,
|
|
60
|
+
...(capabilities.includes('network') ? ['vpcId'] : []),
|
|
61
|
+
...(capabilities.includes('container-compute')
|
|
62
|
+
? ['clusterId']
|
|
63
|
+
: []),
|
|
64
|
+
...(capabilities.includes('postgres') ? exports.FOUNDATION_POSTGRES_SSM_KEYS : []),
|
|
65
|
+
];
|
|
66
|
+
}
|
|
41
67
|
exports.STANDARD_FOUNDATION_REQUIREMENT = {
|
|
42
|
-
capabilities: [...
|
|
43
|
-
contract: '^
|
|
68
|
+
capabilities: [...capability_plan_js_1.FOUNDATION_BASE_CAPABILITIES],
|
|
69
|
+
contract: '^2.0.0',
|
|
44
70
|
};
|
|
45
71
|
function requirePathSegment(value, label) {
|
|
46
72
|
const normalized = value.trim();
|
package/src/foundation/index.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.cleanupGithubPrivateSmoke = cleanupGithubPrivateSmoke;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
tslib_1.__exportStar(require("./discovery.js"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./capability-plan.js"), exports);
|
|
6
7
|
tslib_1.__exportStar(require("./local-database-contract.js"), exports);
|
|
7
8
|
tslib_1.__exportStar(require("./logging.js"), exports);
|
|
8
9
|
tslib_1.__exportStar(require("./logging-preflight.js"), exports);
|
|
@@ -3,6 +3,8 @@ export interface LocalDatabaseContractOptions {
|
|
|
3
3
|
password?: string;
|
|
4
4
|
port?: number;
|
|
5
5
|
slice: string;
|
|
6
|
+
stage?: string;
|
|
7
|
+
workspaceRoot?: string;
|
|
6
8
|
}
|
|
7
9
|
export interface LocalDatabaseContract {
|
|
8
10
|
database: string;
|
|
@@ -28,4 +30,22 @@ export declare function resolveLogicalDatabaseIdentifiers(options: {
|
|
|
28
30
|
slice: string;
|
|
29
31
|
stage: string;
|
|
30
32
|
}): LogicalDatabaseIdentifiers;
|
|
33
|
+
/** Read the same private allocation used by Docker, Drizzle, and SST links. */
|
|
31
34
|
export declare function resolveLocalDatabaseContract(options: LocalDatabaseContractOptions): LocalDatabaseContract;
|
|
35
|
+
/** Prepare coordinates only; Docker's bind remains authoritative against races. */
|
|
36
|
+
export declare function prepareLocalDatabaseContract(options: LocalDatabaseContractOptions, isAvailable?: (port: number) => Promise<boolean>): Promise<LocalDatabaseContract>;
|
|
37
|
+
export type LocalDatabaseDockerCommand = (args: string[], env: NodeJS.ProcessEnv) => {
|
|
38
|
+
status: number | null;
|
|
39
|
+
stdout: string;
|
|
40
|
+
stderr: string;
|
|
41
|
+
error?: Error;
|
|
42
|
+
};
|
|
43
|
+
/** Exact-owned local Docker lifecycle. Volumes and allocation survive down. */
|
|
44
|
+
export declare function runLocalDatabaseLifecycle(options: LocalDatabaseContractOptions & {
|
|
45
|
+
action: 'up' | 'down';
|
|
46
|
+
composeFile: string;
|
|
47
|
+
}, dependencies?: {
|
|
48
|
+
docker?: LocalDatabaseDockerCommand;
|
|
49
|
+
environment?: NodeJS.ProcessEnv;
|
|
50
|
+
isAvailable?: (port: number) => Promise<boolean>;
|
|
51
|
+
}): Promise<void>;
|