@empire-builder-kit/nx 1.0.0-rc.4 → 1.0.0-rc.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -10
- package/executors.json +21 -1
- package/generators.json +10 -0
- package/package.json +31 -7
- package/src/aws/child-environment.d.ts +10 -0
- package/src/aws/child-environment.js +77 -0
- package/src/aws/identity.d.ts +13 -0
- package/src/aws/identity.js +41 -0
- package/src/aws-authority/index.d.ts +2 -0
- package/src/aws-authority/index.js +6 -0
- package/src/aws-authority/lambda-policy-ordering.d.ts +38 -0
- package/src/aws-authority/lambda-policy-ordering.js +56 -0
- package/src/aws-authority/stage-authority.d.ts +248 -0
- package/src/aws-authority/stage-authority.js +3558 -0
- package/src/blueprints/external-sandbox.d.ts +1 -1
- package/src/blueprints/external-sandbox.js +21 -9
- package/src/blueprints/manifest.d.ts +1 -1
- package/src/blueprints/resolver.js +28 -15
- package/src/cli/bootstrap.d.ts +1 -1
- package/src/cli/deploy-runtime.d.ts +30 -0
- package/src/cli/deploy-runtime.js +174 -0
- package/src/cli/dev-command.d.ts +18 -4
- package/src/cli/dev-command.js +71 -0
- package/src/cli/main.d.ts +9 -1
- package/src/cli/main.js +157 -24
- package/src/cli/output.d.ts +1 -1
- package/src/cli/output.js +1 -1
- package/src/cli/personal-secret-runtime.d.ts +12 -0
- package/src/cli/personal-secret-runtime.js +18 -3
- package/src/cli/secret-terminal.js +1 -1
- package/src/container-images.d.ts +1 -1
- package/src/container-images.js +1 -1
- package/src/developer-agent/context.js +41 -9
- package/src/developer-agent/generator-planning.js +20 -6
- package/src/developer-agent/git-inspection.d.ts +6 -2
- package/src/developer-agent/git-inspection.js +78 -6
- package/src/developer-agent/model.d.ts +5 -3
- package/src/developer-agent/model.js +4 -4
- package/src/developer-agent/operation-registry.d.ts +15 -0
- package/src/developer-agent/operation-registry.js +342 -49
- package/src/developer-agent/planning.d.ts +8 -1
- package/src/developer-agent/planning.js +39 -16
- package/src/developer-agent/preview-changes.d.ts +2 -0
- package/src/developer-agent/preview-changes.js +14 -2
- package/src/developer-agent/preview-source.js +3 -0
- package/src/developer-agent/validation.js +25 -9
- package/src/developer-agent/workspace-inspection.js +60 -5
- package/src/executors/blueprint-trust/blueprint-trust.js +6 -0
- package/src/executors/deployment-plan/deployment-plan.d.ts +2 -0
- package/src/executors/deployment-plan/deployment-plan.js +57 -2
- package/src/executors/dev-doctor/dev-doctor.js +13 -6
- package/src/executors/dev-task-cleanup/dev-task-cleanup.d.ts +23 -0
- package/src/executors/dev-task-cleanup/dev-task-cleanup.js +145 -0
- package/src/executors/dev-task-cleanup/schema.json +9 -0
- package/src/executors/dev-task-cleanup/task-stack-absence.d.ts +27 -0
- package/src/executors/dev-task-cleanup/task-stack-absence.js +281 -0
- package/src/executors/dev-task-cleanup/task-stack-checkpoint.d.ts +12 -0
- package/src/executors/dev-task-cleanup/task-stack-checkpoint.js +92 -0
- package/src/executors/fleet/fleet.js +1 -1
- package/src/executors/foundation-preflight/foundation-preflight.d.ts +1 -0
- package/src/executors/foundation-preflight/foundation-preflight.js +6 -2
- package/src/executors/foundation-preflight/schema.json +5 -0
- package/src/executors/foundation-profile-preflight/foundation-profile-preflight.d.ts +13 -2
- package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js +95 -31
- package/src/executors/foundation-profile-preflight/production-database-safeguard.d.ts +65 -0
- package/src/executors/foundation-profile-preflight/production-database-safeguard.js +223 -0
- package/src/executors/foundation-profile-preflight/schema.json +15 -4
- package/src/executors/foundation-remove-preflight/foundation-remove-preflight.d.ts +11 -1
- package/src/executors/foundation-remove-preflight/foundation-remove-preflight.js +70 -20
- package/src/executors/foundation-remove-preflight/schema.json +6 -1
- package/src/executors/github-bootstrap/github-bootstrap.d.ts +1 -0
- package/src/executors/github-bootstrap/github-bootstrap.js +3 -0
- package/src/executors/github-bootstrap/schema.json +7 -1
- package/src/executors/infrastructure-plan/infrastructure-plan.d.ts +29 -136
- package/src/executors/infrastructure-plan/infrastructure-plan.js +230 -3282
- package/src/executors/infrastructure-plan/schema.json +12 -52
- package/src/executors/local-deploy/federated-credential-transport.d.ts +48 -0
- package/src/executors/local-deploy/federated-credential-transport.js +252 -0
- package/src/executors/local-deploy/local-approval.d.ts +18 -0
- package/src/executors/local-deploy/local-approval.js +39 -0
- package/src/executors/local-deploy/local-deploy.d.ts +112 -0
- package/src/executors/local-deploy/local-deploy.js +1404 -0
- package/src/executors/local-deploy/schema.json +70 -0
- package/src/executors/refresh/refresh.js +2 -2
- package/src/executors/remove/remove.js +2 -2
- package/src/executors/router-waf-rehearsal/router-waf-rehearsal.d.ts +42 -0
- package/src/executors/router-waf-rehearsal/router-waf-rehearsal.js +1229 -0
- package/src/executors/router-waf-rehearsal/schema.json +29 -0
- package/src/executors/secret-initialize/schema.json +42 -0
- package/src/executors/secret-initialize/secret-initialize.d.ts +34 -0
- package/src/executors/secret-initialize/secret-initialize.js +297 -0
- package/src/executors/secret-metadata/schema.json +5 -0
- package/src/executors/secret-metadata/secret-metadata.d.ts +16 -2
- package/src/executors/secret-metadata/secret-metadata.js +129 -30
- package/src/executors/sst-lifecycle/generated-secret-retirement.d.ts +53 -0
- package/src/executors/sst-lifecycle/generated-secret-retirement.js +192 -0
- package/src/executors/sst-lifecycle/governed-native-operation.d.ts +48 -0
- package/src/executors/sst-lifecycle/governed-native-operation.js +163 -0
- package/src/executors/sst-lifecycle/logging-preflight.d.ts +5 -0
- package/src/executors/sst-lifecycle/logging-preflight.js +23 -13
- package/src/executors/sst-lifecycle/run-sst-command.d.ts +46 -6
- package/src/executors/sst-lifecycle/run-sst-command.js +750 -71
- package/src/executors/sst-lifecycle/schema.json +8 -1
- package/src/executors/sst-lifecycle/secret-preflight.d.ts +2 -0
- package/src/executors/sst-lifecycle/secret-preflight.js +13 -7
- package/src/executors/sst-lifecycle/sst-environment-source.d.ts +33 -0
- package/src/executors/sst-lifecycle/sst-environment-source.js +267 -0
- package/src/executors/sst-lifecycle/task-unlock.d.ts +15 -0
- package/src/executors/sst-lifecycle/task-unlock.js +126 -0
- package/src/executors/unlock/unlock.js +2 -2
- package/src/foundation/capability-plan.d.ts +43 -0
- package/src/foundation/capability-plan.js +168 -0
- package/src/foundation/cost-estimate.d.ts +170 -0
- package/src/foundation/cost-estimate.js +683 -0
- package/src/foundation/discovery.d.ts +14 -11
- package/src/foundation/discovery.js +32 -6
- package/src/foundation/index.d.ts +4 -0
- package/src/foundation/index.js +11 -0
- package/src/foundation/local-database-contract.d.ts +20 -0
- package/src/foundation/local-database-contract.js +262 -13
- package/src/foundation/local-private-smoke-access.d.ts +20 -0
- package/src/foundation/local-private-smoke-access.js +197 -0
- package/src/foundation/logging-preflight.js +1 -1
- package/src/foundation/logging.d.ts +3 -1
- package/src/foundation/logging.js +1 -1
- package/src/foundation/partial-state.d.ts +10 -0
- package/src/foundation/partial-state.js +21 -0
- package/src/foundation/preflight.js +37 -18
- package/src/foundation/private-smoke-access.d.ts +25 -0
- package/src/foundation/private-smoke-access.js +135 -0
- package/src/foundation/private-smoke-admission.d.ts +45 -0
- package/src/foundation/private-smoke-admission.js +180 -0
- package/src/foundation/private-smoke-control-plane.d.ts +18 -0
- package/src/foundation/private-smoke-control-plane.js +184 -0
- package/src/foundation/provision-database-bindings.d.ts +5 -0
- package/src/foundation/provision-database-bindings.js +41 -8
- package/src/foundation/provision-logical-database.js +15 -8
- package/src/foundation/requirements.d.ts +3 -3
- package/src/foundation/requirements.js +24 -12
- package/src/foundation/router-waf-rate-rehearsal.d.ts +97 -0
- package/src/foundation/router-waf-rate-rehearsal.js +210 -0
- package/src/foundation/router-waf.d.ts +149 -0
- package/src/foundation/router-waf.js +809 -0
- package/src/foundation/stages.d.ts +1 -0
- package/src/foundation/stages.js +11 -0
- package/src/generators/blueprint/blueprint.d.ts +5 -0
- package/src/generators/blueprint/blueprint.js +102 -0
- package/src/generators/blueprint/files.d.ts +6 -0
- package/src/generators/blueprint/files.js +217 -0
- package/src/generators/blueprint/schema.d.ts +4 -0
- package/src/generators/blueprint/schema.json +18 -0
- package/src/generators/formatting.d.ts +8 -0
- package/src/generators/formatting.js +141 -0
- package/src/generators/function/function.js +38 -17
- package/src/generators/logging-registry.d.ts +2 -0
- package/src/generators/logging-registry.js +22 -0
- package/src/generators/post-generation-install.js +2 -2
- package/src/generators/preset/dependency-overrides.d.ts +8 -0
- package/src/generators/preset/dependency-overrides.js +55 -0
- package/src/generators/preset/generator.js +43 -3
- package/src/generators/preset/schema.d.ts +10 -0
- package/src/generators/preset/schema.json +47 -0
- package/src/generators/preset/workspace-files-adopter-skills.d.ts +7 -0
- package/src/generators/preset/workspace-files-adopter-skills.js +324 -0
- package/src/generators/preset/workspace-files-ci-acceptance.d.ts +1 -0
- package/src/generators/preset/workspace-files-ci-acceptance.js +791 -0
- package/src/generators/preset/workspace-files-ci-install.d.ts +2 -0
- package/src/generators/preset/workspace-files-ci-install.js +196 -0
- package/src/generators/preset/workspace-files-developer-agent.d.ts +2 -0
- package/src/generators/preset/workspace-files-developer-agent.js +162 -44
- package/src/generators/preset/workspace-files-ecr-inspector.d.ts +18 -0
- package/src/generators/preset/workspace-files-ecr-inspector.js +298 -0
- package/src/generators/preset/workspace-files-foundation-workload-roles.js +5 -2
- package/src/generators/preset/workspace-files-performance-cost.d.ts +2 -2
- package/src/generators/preset/workspace-files-performance-cost.js +8 -8
- package/src/generators/preset/workspace-files-performance-load.d.ts +1 -1
- package/src/generators/preset/workspace-files-performance-load.js +39 -25
- package/src/generators/preset/workspace-files-shared-operation-claims.d.ts +10 -0
- package/src/generators/preset/workspace-files-shared-operation-claims.js +59 -0
- package/src/generators/preset/workspace-files-stage-authority.d.ts +6 -0
- package/src/generators/preset/workspace-files-stage-authority.js +529 -0
- package/src/generators/preset/workspace-files-thin-deploy.d.ts +65 -0
- package/src/generators/preset/workspace-files-thin-deploy.js +2507 -0
- package/src/generators/preset/workspace-files-thin-docs.d.ts +7 -0
- package/src/generators/preset/workspace-files-thin-docs.js +370 -0
- package/src/generators/preset/workspace-files-thin-release.d.ts +14 -0
- package/src/generators/preset/workspace-files-thin-release.js +26 -0
- package/src/generators/preset/workspace-files-workload-role-baseline.js +254 -42
- package/src/generators/preset/workspace-files.d.ts +18 -2
- package/src/generators/preset/workspace-files.js +1525 -609
- package/src/generators/repository-policy/repository-policy.js +235 -5
- package/src/generators/repository-policy/schema.d.ts +10 -0
- package/src/generators/repository-policy/schema.json +80 -4
- package/src/generators/repository-policy/tree-policy.d.ts +3 -0
- package/src/generators/repository-policy/tree-policy.js +25 -0
- package/src/generators/slice/built-in-plan-api-contract-files.js +49 -11
- package/src/generators/slice/built-in-plan-api-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-api-files.js +130 -414
- package/src/generators/slice/built-in-plan-async-work-files.js +166 -1969
- package/src/generators/slice/built-in-plan-authorization-files.js +102 -334
- package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js +975 -233
- package/src/generators/slice/built-in-plan-authorization-storage.d.ts +3 -0
- package/src/generators/slice/built-in-plan-authorization-storage.js +119 -0
- package/src/generators/slice/built-in-plan-background-work-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-background-work-files.js +99 -0
- package/src/generators/slice/built-in-plan-data-deletion-files.js +2 -830
- package/src/generators/slice/built-in-plan-data-export-infrastructure-files.js +5 -31
- package/src/generators/slice/built-in-plan-data-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-data-files.js +176 -1200
- package/src/generators/slice/built-in-plan-data-lifecycle-files.js +53 -28
- package/src/generators/slice/built-in-plan-data-lifecycle-runtime-files.js +37 -2
- package/src/generators/slice/built-in-plan-data-retention-job-files.js +7 -2443
- package/src/generators/slice/built-in-plan-data-retention-launcher-files.js +50 -8
- package/src/generators/slice/built-in-plan-data-rights-files.js +6 -4482
- package/src/generators/slice/built-in-plan-database-lifecycle-files.js +44 -25
- package/src/generators/slice/built-in-plan-database-retirement-rehearsal-files.js +25 -2
- package/src/generators/slice/built-in-plan-foundation-files.d.ts +2 -1
- package/src/generators/slice/built-in-plan-foundation-files.js +39 -18
- package/src/generators/slice/built-in-plan-frontend-files.js +14 -3
- package/src/generators/slice/built-in-plan-infrastructure-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-infrastructure-files.js +933 -730
- package/src/generators/slice/built-in-plan-infrastructure-safety-files.js +75 -14
- package/src/generators/slice/built-in-plan-key-value-cleanup.d.ts +4 -0
- package/src/generators/slice/built-in-plan-key-value-cleanup.js +100 -0
- package/src/generators/slice/built-in-plan-key-value-consumer.d.ts +4 -0
- package/src/generators/slice/built-in-plan-key-value-consumer.js +151 -0
- package/src/generators/slice/built-in-plan-key-value-deletion.d.ts +2 -0
- package/src/generators/slice/built-in-plan-key-value-deletion.js +377 -0
- package/src/generators/slice/built-in-plan-key-value-delivery.d.ts +2 -0
- package/src/generators/slice/built-in-plan-key-value-delivery.js +137 -0
- package/src/generators/slice/built-in-plan-key-value-export.d.ts +2 -0
- package/src/generators/slice/built-in-plan-key-value-export.js +595 -0
- package/src/generators/slice/built-in-plan-key-value-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-key-value-files.js +31 -0
- package/src/generators/slice/built-in-plan-key-value-holds.d.ts +2 -0
- package/src/generators/slice/built-in-plan-key-value-holds.js +189 -0
- package/src/generators/slice/built-in-plan-key-value-infrastructure.d.ts +2 -0
- package/src/generators/slice/built-in-plan-key-value-infrastructure.js +102 -0
- package/src/generators/slice/built-in-plan-key-value-performance.d.ts +5 -0
- package/src/generators/slice/built-in-plan-key-value-performance.js +530 -0
- package/src/generators/slice/built-in-plan-key-value-provider.d.ts +4 -0
- package/src/generators/slice/built-in-plan-key-value-provider.js +366 -0
- package/src/generators/slice/built-in-plan-key-value-records.d.ts +3 -0
- package/src/generators/slice/built-in-plan-key-value-records.js +232 -0
- package/src/generators/slice/built-in-plan-key-value-retention-infrastructure.d.ts +2 -0
- package/src/generators/slice/built-in-plan-key-value-retention-infrastructure.js +103 -0
- package/src/generators/slice/built-in-plan-key-value-retention-job-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-key-value-retention-job-files.js +160 -0
- package/src/generators/slice/built-in-plan-key-value-retention-maintenance.d.ts +2 -0
- package/src/generators/slice/built-in-plan-key-value-retention-maintenance.js +329 -0
- package/src/generators/slice/built-in-plan-key-value-retention-worker.d.ts +2 -0
- package/src/generators/slice/built-in-plan-key-value-retention-worker.js +477 -0
- package/src/generators/slice/built-in-plan-key-value-retention.d.ts +2 -0
- package/src/generators/slice/built-in-plan-key-value-retention.js +184 -0
- package/src/generators/slice/built-in-plan-metadata-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-metadata-files.js +159 -29
- package/src/generators/slice/built-in-plan-native-runtime-authority-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-native-runtime-authority-files.js +324 -0
- package/src/generators/slice/built-in-plan-operations-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-operations-files.js +585 -97
- package/src/generators/slice/built-in-plan-performance-files.d.ts +2 -1
- package/src/generators/slice/built-in-plan-performance-files.js +220 -1074
- package/src/generators/slice/built-in-plan-project-files.js +141 -135
- package/src/generators/slice/built-in-plan-release-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-release-files.js +310 -70
- package/src/generators/slice/built-in-plan-reliability-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-reliability-files.js +283 -44
- package/src/generators/slice/built-in-plan-secret-runtime-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-secret-runtime-files.js +87 -76
- package/src/generators/slice/built-in-plan-shared.d.ts +4 -2
- package/src/generators/slice/built-in-plan-shared.js +41 -19
- package/src/generators/slice/built-in-plan-sql-events.d.ts +2 -0
- package/src/generators/slice/built-in-plan-sql-events.js +276 -0
- package/src/generators/slice/built-in-plan-testing-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-testing-files.js +304 -172
- package/src/generators/slice/built-in-plan-testing-persistence-event-files.d.ts +7 -0
- package/src/generators/slice/built-in-plan-testing-persistence-event-files.js +487 -0
- package/src/generators/slice/built-in-plan-testing-persistence-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-testing-persistence-files.js +180 -0
- package/src/generators/slice/built-in-plan-thin-release-files.d.ts +11 -0
- package/src/generators/slice/built-in-plan-thin-release-files.js +162 -0
- package/src/generators/slice/built-in-plan-verification-files.js +76 -2
- package/src/generators/slice/built-in-plan-web-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-web-files.js +223 -16
- package/src/generators/slice/built-in-plan-workload-role-files.d.ts +1 -1
- package/src/generators/slice/built-in-plan-workload-role-files.js +143 -279
- package/src/generators/slice/built-in-plan.d.ts +11 -1
- package/src/generators/slice/built-in-plan.js +83 -30
- package/src/generators/slice/data-policy-review-seed.d.ts +2 -0
- package/src/generators/slice/data-policy-review-seed.js +22 -0
- package/src/generators/slice/deployed-smoke-readiness.d.ts +2 -0
- package/src/generators/slice/deployed-smoke-readiness.js +214 -0
- package/src/generators/slice/local-source-identity.d.ts +2 -0
- package/src/generators/slice/local-source-identity.js +31 -0
- package/src/generators/slice/persistence-contract.d.ts +14 -0
- package/src/generators/slice/persistence-contract.js +32 -0
- package/src/generators/slice/slice.js +61 -50
- package/src/generators/sql/schema.d.ts +7 -0
- package/src/generators/sql/schema.json +38 -0
- package/src/generators/sql/sql.d.ts +6 -0
- package/src/generators/sql/sql.js +53 -0
- package/src/generators/upgrade/sql-seeded-reconciliation.d.ts +2 -0
- package/src/generators/upgrade/sql-seeded-reconciliation.js +170 -0
- package/src/generators/upgrade/upgrade.d.ts +15 -1
- package/src/generators/upgrade/upgrade.js +435 -44
- package/src/generators/workload/frozen-container.d.ts +1 -1
- package/src/generators/workload/performance-registration.d.ts +1 -0
- package/src/generators/workload/performance-registration.js +9 -11
- package/src/generators/workload/service-performance-files.d.ts +1 -0
- package/src/generators/workload/service-performance-files.js +27 -7
- package/src/generators/workload/workload.d.ts +1 -1
- package/src/generators/workload/workload.js +105 -29
- package/src/git-policy/action-pins.d.ts +5 -0
- package/src/git-policy/action-pins.js +5 -0
- package/src/git-policy/github-bootstrap.d.ts +48 -8
- package/src/git-policy/github-bootstrap.js +344 -176
- package/src/git-policy/routing.d.ts +7 -1
- package/src/git-policy/routing.js +62 -1
- package/src/index.d.ts +1 -0
- package/src/index.js +1 -0
- package/src/infrastructure-change/local-capability.d.ts +73 -0
- package/src/infrastructure-change/local-capability.js +114 -0
- package/src/infrastructure-change/model.d.ts +25 -4
- package/src/infrastructure-change/model.js +1 -0
- package/src/infrastructure-change/normalize.d.ts +4 -0
- package/src/infrastructure-change/normalize.js +47 -7
- package/src/infrastructure-change/plan.d.ts +30 -3
- package/src/infrastructure-change/plan.js +323 -13
- package/src/infrastructure-change/risk.d.ts +3 -1
- package/src/infrastructure-change/risk.js +96 -16
- package/src/local-dev/browser-verification.d.ts +37 -0
- package/src/local-dev/browser-verification.js +281 -0
- package/src/local-dev/contracts.d.ts +10 -1
- package/src/local-dev/contracts.js +114 -13
- package/src/local-dev/dev-command-core.js +24 -5
- package/src/local-dev/docker-credential-health.d.ts +14 -0
- package/src/local-dev/docker-credential-health.js +94 -0
- package/src/local-dev/environment-inspector.d.ts +7 -0
- package/src/local-dev/environment-inspector.js +42 -15
- package/src/local-dev/environment-state.js +2 -2
- package/src/local-dev/errors.d.ts +1 -1
- package/src/local-dev/errors.js +2 -0
- package/src/local-dev/fleet-client.js +2 -2
- package/src/local-dev/fleet-configuration.js +57 -25
- package/src/local-dev/fleet-inventory.js +58 -22
- package/src/local-dev/fleet-ipc.d.ts +7 -0
- package/src/local-dev/fleet-ipc.js +14 -2
- package/src/local-dev/fleet-launcher.d.ts +6 -0
- package/src/local-dev/fleet-launcher.js +16 -4
- package/src/local-dev/fleet-logs.js +50 -22
- package/src/local-dev/fleet-process.d.ts +20 -1
- package/src/local-dev/fleet-process.js +197 -41
- package/src/local-dev/fleet-runner-evidence.d.ts +5 -0
- package/src/local-dev/fleet-runner-evidence.js +56 -0
- package/src/local-dev/fleet-runtime.js +268 -229
- package/src/local-dev/fleet-session.d.ts +2 -0
- package/src/local-dev/fleet-session.js +28 -11
- package/src/local-dev/fleet-slice-runner-daemon.js +4 -0
- package/src/local-dev/fleet-state.d.ts +5 -2
- package/src/local-dev/fleet-state.js +25 -4
- package/src/local-dev/fleet-supervisor.d.ts +3 -0
- package/src/local-dev/fleet-supervisor.js +66 -11
- package/src/local-dev/fleet-web-start.d.ts +12 -0
- package/src/local-dev/fleet-web-start.js +48 -0
- package/src/local-dev/identity.js +3 -14
- package/src/local-dev/index.d.ts +1 -0
- package/src/local-dev/index.js +1 -0
- package/src/local-dev/native-completion.d.ts +9 -0
- package/src/local-dev/native-completion.js +130 -0
- package/src/local-dev/nx-workspace.d.ts +4 -2
- package/src/local-dev/nx-workspace.js +11 -6
- package/src/local-dev/personal-stage.d.ts +4 -5
- package/src/local-dev/personal-stage.js +6 -54
- package/src/local-dev/port-claims.d.ts +13 -0
- package/src/local-dev/port-claims.js +46 -0
- package/src/local-dev/ports.d.ts +14 -2
- package/src/local-dev/ports.js +78 -3
- package/src/local-dev/private-state.d.ts +11 -0
- package/src/local-dev/private-state.js +146 -40
- package/src/local-dev/process-group.d.ts +4 -0
- package/src/local-dev/process-group.js +29 -0
- package/src/local-dev/process-identity.d.ts +8 -0
- package/src/local-dev/process-identity.js +31 -1
- package/src/local-dev/proxy.js +11 -12
- package/src/local-dev/runtime-paths.js +1 -1
- package/src/local-dev/slice-claim.js +1 -1
- package/src/local-dev/slice-runner.d.ts +15 -6
- package/src/local-dev/slice-runner.js +189 -54
- package/src/local-dev/task-attachment.d.ts +17 -0
- package/src/local-dev/task-attachment.js +73 -0
- package/src/local-dev/task-authority.d.ts +10 -0
- package/src/local-dev/task-authority.js +27 -0
- package/src/local-dev/task-identity.d.ts +33 -0
- package/src/local-dev/task-identity.js +418 -0
- package/src/local-dev/task-native-writer.d.ts +18 -0
- package/src/local-dev/task-native-writer.js +329 -0
- package/src/local-dev/tls.js +8 -2
- package/src/local-dev/web-launch.d.ts +9 -0
- package/src/local-dev/web-launch.js +130 -0
- package/src/ownership/composition.d.ts +2 -1
- package/src/ownership/composition.js +1 -0
- package/src/performance/cost-collection.d.ts +1 -1
- package/src/performance/cost-collection.js +4 -2
- package/src/performance/cost-controls.d.ts +8 -4
- package/src/performance/cost-controls.js +39 -28
- package/src/performance/evidence.d.ts +1 -1
- package/src/performance/evidence.js +5 -3
- package/src/performance/load-safety.js +5 -3
- package/src/performance/model.d.ts +4 -4
- package/src/performance/model.js +4 -5
- package/src/performance/scenario.d.ts +22 -0
- package/src/performance/scenario.js +100 -92
- package/src/release/index.d.ts +0 -2
- package/src/release/index.js +0 -2
- package/src/release/source-authority.d.ts +5 -5
- package/src/release/source-authority.js +141 -124
- package/src/repository-policy/aurora-preflight.d.ts +1 -1
- package/src/repository-policy/aurora-preflight.js +4 -1
- package/src/repository-policy/capacity-migration.d.ts +3 -0
- package/src/repository-policy/capacity-migration.js +21 -0
- package/src/repository-policy/deployment-plan.d.ts +4 -1
- package/src/repository-policy/deployment-plan.js +9 -0
- package/src/repository-policy/foundation-profile.js +10 -1
- package/src/repository-policy/policy.d.ts +57 -3
- package/src/repository-policy/policy.js +497 -11
- package/src/schemas/blueprint-v1.json +5 -4
- package/src/schemas/foundation-requirement-v1.json +5 -4
- package/src/schemas/performance-policy-v1.json +3 -3
- package/src/schemas/repository-policy-v1.json +130 -6
- package/src/schemas/testing-evidence-result-v1.json +1 -1
- package/src/secrets/adapters.d.ts +7 -2
- package/src/secrets/adapters.js +34 -3
- package/src/secrets/aws-control-plane.d.ts +10 -1
- package/src/secrets/aws-control-plane.js +67 -0
- package/src/secrets/generated-aws-control-plane.d.ts +23 -0
- package/src/secrets/generated-aws-control-plane.js +259 -0
- package/src/secrets/metadata.js +38 -10
- package/src/secrets/model.d.ts +8 -1
- package/src/secrets/model.js +24 -3
- package/src/secrets/operator.d.ts +91 -3
- package/src/secrets/operator.js +463 -13
- package/src/secrets/personal-command.d.ts +18 -2
- package/src/secrets/personal-command.js +66 -12
- package/src/secrets/registry.d.ts +2 -1
- package/src/secrets/registry.js +18 -1
- package/src/secrets/verification.js +15 -2
- package/src/secrets/workload-access.js +10 -2
- package/src/sst-environment-source-format.d.ts +6 -0
- package/src/sst-environment-source-format.js +199 -0
- package/src/supply-chain/action-pins.js +61 -7
- package/src/supply-chain/blueprint-trust-git.js +85 -24
- package/src/supply-chain/blueprint-verification-authority.js +55 -3
- package/src/supply-chain/build-output-bounds.d.ts +2 -0
- package/src/supply-chain/build-output-bounds.js +12 -0
- package/src/supply-chain/build-output.d.ts +7 -1
- package/src/supply-chain/build-output.js +177 -24
- package/src/supply-chain/ecr-scanning.d.ts +5 -3
- package/src/supply-chain/ecr-scanning.js +11 -7
- package/src/supply-chain/ecs-deployed-image.d.ts +5 -3
- package/src/supply-chain/ecs-deployed-image.js +6 -4
- package/src/supply-chain/generated-blueprint-trust-command.js +18 -1
- package/src/supply-chain/generated-command.js +1 -0
- package/src/supply-chain/generated-container-release-command.js +1285 -124
- package/src/supply-chain/generated-ecr-collector-command.d.ts +0 -1
- package/src/supply-chain/generated-ecr-collector-command.js +200 -93
- package/src/supply-chain/generated-files.js +25 -14
- package/src/supply-chain/generated-scanner-command.js +2 -1
- package/src/supply-chain/index.d.ts +1 -1
- package/src/supply-chain/index.js +2 -1
- package/src/supply-chain/sbom.d.ts +1 -1
- package/src/supply-chain/sbom.js +30 -5
- package/src/supply-chain/scanner.js +3 -0
- package/src/testing-evidence/fixture-scope.d.ts +2 -1
- package/src/testing-evidence/fixture-scope.js +4 -2
- package/src/testing-evidence/result.d.ts +2 -1
- package/src/testing-evidence/result.js +18 -4
- package/src/workload-roles/account-baseline.d.ts +11 -0
- package/src/workload-roles/account-baseline.js +253 -16
- package/src/workload-roles/authority.d.ts +3 -1
- package/src/workload-roles/authority.js +48 -2
- package/src/workload-roles/aws-s3-state.js +27 -0
- package/src/workload-roles/boundary.d.ts +2 -1
- package/src/workload-roles/boundary.js +9 -2
- package/src/workload-roles/handler.js +52 -24
- package/src/workload-roles/index.d.ts +10 -17
- package/src/workload-roles/index.js +5 -18
- package/src/workload-roles/injection.js +1 -1
- package/src/workload-roles/provisioner.js +12 -4
- package/src/workload-roles/registration.d.ts +1 -0
- package/src/workload-roles/registration.js +5 -0
- package/src/workload-roles/stage-boundary.js +1 -1
- package/src/workload-roles/standard-slice.js +3 -3
- package/src/workspace-deployment/affected-lifecycle.d.ts +53 -0
- package/src/workspace-deployment/affected-lifecycle.js +84 -0
- package/src/workspace-deployment/identity.d.ts +3 -0
- package/src/workspace-deployment/identity.js +22 -0
- package/src/workspace-deployment/index.d.ts +4 -0
- package/src/workspace-deployment/index.js +8 -0
- package/src/workspace-deployment/migration-evidence.d.ts +29 -0
- package/src/workspace-deployment/migration-evidence.js +83 -0
- package/src/workspace-deployment/migration.d.ts +27 -0
- package/src/workspace-deployment/migration.js +109 -0
- package/src/workspace-deployment/ownership.d.ts +81 -0
- package/src/workspace-deployment/ownership.js +381 -0
- package/src/api-contract/baseline-update.js.map +0 -1
- package/src/api-contract/compatibility.js.map +0 -1
- package/src/api-contract/contract-graph.js.map +0 -1
- package/src/api-contract/evidence.js.map +0 -1
- package/src/api-contract/index.js.map +0 -1
- package/src/api-contract/model.fixtures.d.ts +0 -2
- package/src/api-contract/model.fixtures.js +0 -81
- package/src/api-contract/model.fixtures.js.map +0 -1
- package/src/api-contract/model.js.map +0 -1
- package/src/api-contract/rollout.js.map +0 -1
- package/src/authorization/compatibility.js.map +0 -1
- package/src/authorization/index.js.map +0 -1
- package/src/blueprints/execution.js.map +0 -1
- package/src/blueprints/external-sandbox.js.map +0 -1
- package/src/blueprints/index.js.map +0 -1
- package/src/blueprints/inputs.js.map +0 -1
- package/src/blueprints/manifest.js.map +0 -1
- package/src/blueprints/resolver.js.map +0 -1
- package/src/blueprints/transitions.js.map +0 -1
- package/src/cli/agent-command.js.map +0 -1
- package/src/cli/agent-runtime.js.map +0 -1
- package/src/cli/blueprint-authority.js.map +0 -1
- package/src/cli/blueprint-command.js.map +0 -1
- package/src/cli/bootstrap.js.map +0 -1
- package/src/cli/dev-command.js.map +0 -1
- package/src/cli/main.js.map +0 -1
- package/src/cli/output.js.map +0 -1
- package/src/cli/personal-secret-runtime.js.map +0 -1
- package/src/cli/secret-terminal.js.map +0 -1
- package/src/container-images.js.map +0 -1
- package/src/data-lifecycle/index.js.map +0 -1
- package/src/data-lifecycle/model.fixtures.d.ts +0 -2
- package/src/data-lifecycle/model.fixtures.js +0 -244
- package/src/data-lifecycle/model.fixtures.js.map +0 -1
- package/src/data-lifecycle/model.js.map +0 -1
- package/src/data-lifecycle/sensitive-artifacts.js.map +0 -1
- package/src/data-lifecycle/validation.js.map +0 -1
- package/src/database-retirement/contract.js.map +0 -1
- package/src/database-retirement/index.js.map +0 -1
- package/src/deterministic-order.js.map +0 -1
- package/src/developer-agent/context.js.map +0 -1
- package/src/developer-agent/generator-planning.js.map +0 -1
- package/src/developer-agent/generator-preview.js.map +0 -1
- package/src/developer-agent/git-inspection.js.map +0 -1
- package/src/developer-agent/handoff.js.map +0 -1
- package/src/developer-agent/index.js.map +0 -1
- package/src/developer-agent/model.js.map +0 -1
- package/src/developer-agent/operation-registry.js.map +0 -1
- package/src/developer-agent/ordering.js.map +0 -1
- package/src/developer-agent/planning.js.map +0 -1
- package/src/developer-agent/preview-changes.js.map +0 -1
- package/src/developer-agent/preview-source.js.map +0 -1
- package/src/developer-agent/validation.js.map +0 -1
- package/src/developer-agent/workspace-inspection.js.map +0 -1
- package/src/developer-agent/workspace-path.js.map +0 -1
- package/src/executors/blueprint-trust/blueprint-trust.js.map +0 -1
- package/src/executors/blueprint-verification/blueprint-verification.js.map +0 -1
- package/src/executors/deploy/deploy.js.map +0 -1
- package/src/executors/deployment-plan/deployment-plan.js.map +0 -1
- package/src/executors/dev/dev.js.map +0 -1
- package/src/executors/dev-doctor/dev-doctor.js.map +0 -1
- package/src/executors/dev-setup/dev-setup.js.map +0 -1
- package/src/executors/developer-context/developer-context.js.map +0 -1
- package/src/executors/fleet/fleet.js.map +0 -1
- package/src/executors/foundation-preflight/foundation-preflight.js.map +0 -1
- package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js.map +0 -1
- package/src/executors/foundation-remove-preflight/foundation-remove-preflight.js.map +0 -1
- package/src/executors/github-bootstrap/github-bootstrap.js.map +0 -1
- package/src/executors/infrastructure-plan/infrastructure-plan.js.map +0 -1
- package/src/executors/refresh/refresh.js.map +0 -1
- package/src/executors/remove/remove.js.map +0 -1
- package/src/executors/secret-guardrails/secret-guardrails.js.map +0 -1
- package/src/executors/secret-metadata/secret-metadata.js.map +0 -1
- package/src/executors/sst-lifecycle/logging-preflight.js.map +0 -1
- package/src/executors/sst-lifecycle/run-sst-command.js.map +0 -1
- package/src/executors/sst-lifecycle/secret-preflight.js.map +0 -1
- package/src/executors/unlock/unlock.js.map +0 -1
- package/src/executors/work-markers/work-markers.js.map +0 -1
- package/src/foundation/discovery.js.map +0 -1
- package/src/foundation/index.js.map +0 -1
- package/src/foundation/local-database-contract.js.map +0 -1
- package/src/foundation/logging-preflight.js.map +0 -1
- package/src/foundation/logging.js.map +0 -1
- package/src/foundation/preflight.js.map +0 -1
- package/src/foundation/provision-database-bindings.js.map +0 -1
- package/src/foundation/provision-logical-database.js.map +0 -1
- package/src/foundation/requirements.js.map +0 -1
- package/src/foundation/router-origin-proof.js.map +0 -1
- package/src/foundation/stages.js.map +0 -1
- package/src/frontend-security/index.js.map +0 -1
- package/src/frontend-security/security-headers.js.map +0 -1
- package/src/generators/feature-registry.js.map +0 -1
- package/src/generators/function/function.js.map +0 -1
- package/src/generators/job/job.js.map +0 -1
- package/src/generators/logging-registry.js.map +0 -1
- package/src/generators/post-generation-install.js.map +0 -1
- package/src/generators/preset/generator.js.map +0 -1
- package/src/generators/preset/tool-versions.js.map +0 -1
- package/src/generators/preset/workspace-files-developer-agent.js.map +0 -1
- package/src/generators/preset/workspace-files-foundation-workload-roles.js.map +0 -1
- package/src/generators/preset/workspace-files-performance-cost.js.map +0 -1
- package/src/generators/preset/workspace-files-performance-load.js.map +0 -1
- package/src/generators/preset/workspace-files-workload-role-baseline.js.map +0 -1
- package/src/generators/preset/workspace-files.js.map +0 -1
- package/src/generators/repository-policy/repository-policy.js.map +0 -1
- package/src/generators/service/service.js.map +0 -1
- package/src/generators/slice/built-in-plan-api-contract-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-api-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-async-work-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-authorization-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-data-deletion-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-data-export-infrastructure-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-data-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-data-lifecycle-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-data-lifecycle-runtime-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-data-retention-job-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-data-retention-launcher-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-data-rights-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-database-lifecycle-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-database-retirement-rehearsal-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-foundation-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-frontend-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-infrastructure-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-infrastructure-safety-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-metadata-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-operations-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-performance-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-project-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-release-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-reliability-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-secret-runtime-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-shared.js.map +0 -1
- package/src/generators/slice/built-in-plan-testing-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-verification-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-web-files.js.map +0 -1
- package/src/generators/slice/built-in-plan-workload-role-files.js.map +0 -1
- package/src/generators/slice/built-in-plan.js.map +0 -1
- package/src/generators/slice/slice.js.map +0 -1
- package/src/generators/upgrade/upgrade.js.map +0 -1
- package/src/generators/workload/frozen-container.js.map +0 -1
- package/src/generators/workload/performance-registration.js.map +0 -1
- package/src/generators/workload/reliability-registration.js.map +0 -1
- package/src/generators/workload/service-performance-files.js.map +0 -1
- package/src/generators/workload/workload.js.map +0 -1
- package/src/git-policy/action-pins.js.map +0 -1
- package/src/git-policy/github-bootstrap.js.map +0 -1
- package/src/git-policy/index.js.map +0 -1
- package/src/git-policy/routing.js.map +0 -1
- package/src/index.js.map +0 -1
- package/src/infrastructure-change/convergence.js.map +0 -1
- package/src/infrastructure-change/drift.js.map +0 -1
- package/src/infrastructure-change/index.js.map +0 -1
- package/src/infrastructure-change/model.js.map +0 -1
- package/src/infrastructure-change/normalize.js.map +0 -1
- package/src/infrastructure-change/plan.js.map +0 -1
- package/src/infrastructure-change/risk.js.map +0 -1
- package/src/infrastructure-change/summary.js.map +0 -1
- package/src/local-dev/context-discovery.js.map +0 -1
- package/src/local-dev/contract-validation.js.map +0 -1
- package/src/local-dev/contracts.js.map +0 -1
- package/src/local-dev/control-contract.js.map +0 -1
- package/src/local-dev/dev-command-core.js.map +0 -1
- package/src/local-dev/effects.js.map +0 -1
- package/src/local-dev/environment-inspector.js.map +0 -1
- package/src/local-dev/environment-state.js.map +0 -1
- package/src/local-dev/errors.js.map +0 -1
- package/src/local-dev/fleet-client.js.map +0 -1
- package/src/local-dev/fleet-configuration.js.map +0 -1
- package/src/local-dev/fleet-inventory.js.map +0 -1
- package/src/local-dev/fleet-ipc.js.map +0 -1
- package/src/local-dev/fleet-launcher.js.map +0 -1
- package/src/local-dev/fleet-lock.js.map +0 -1
- package/src/local-dev/fleet-logs.js.map +0 -1
- package/src/local-dev/fleet-process.js.map +0 -1
- package/src/local-dev/fleet-runtime.js.map +0 -1
- package/src/local-dev/fleet-session.js.map +0 -1
- package/src/local-dev/fleet-slice-runner-daemon.js.map +0 -1
- package/src/local-dev/fleet-startup.js.map +0 -1
- package/src/local-dev/fleet-state.js.map +0 -1
- package/src/local-dev/fleet-supervisor-daemon.js.map +0 -1
- package/src/local-dev/fleet-supervisor.js.map +0 -1
- package/src/local-dev/gateway-daemon.js.map +0 -1
- package/src/local-dev/gateway.js.map +0 -1
- package/src/local-dev/identity.js.map +0 -1
- package/src/local-dev/index.js.map +0 -1
- package/src/local-dev/local-context.js.map +0 -1
- package/src/local-dev/nx-workspace.js.map +0 -1
- package/src/local-dev/personal-secret-ledger.js.map +0 -1
- package/src/local-dev/personal-stage.js.map +0 -1
- package/src/local-dev/portless.js.map +0 -1
- package/src/local-dev/ports.js.map +0 -1
- package/src/local-dev/private-state.js.map +0 -1
- package/src/local-dev/process-identity.js.map +0 -1
- package/src/local-dev/proxy.js.map +0 -1
- package/src/local-dev/runtime-paths.js.map +0 -1
- package/src/local-dev/secret-slice-claim.js.map +0 -1
- package/src/local-dev/slice-claim.js.map +0 -1
- package/src/local-dev/slice-runner.js.map +0 -1
- package/src/local-dev/tls.js.map +0 -1
- package/src/ownership/composition.js.map +0 -1
- package/src/ownership/foundation-record.js.map +0 -1
- package/src/ownership/hash.js.map +0 -1
- package/src/ownership/index.js.map +0 -1
- package/src/ownership/json-ownership.js.map +0 -1
- package/src/ownership/record.js.map +0 -1
- package/src/ownership/workspace-record.js.map +0 -1
- package/src/performance/cost-collection.js.map +0 -1
- package/src/performance/cost-controls.js.map +0 -1
- package/src/performance/evidence.js.map +0 -1
- package/src/performance/index.js.map +0 -1
- package/src/performance/load-safety.js.map +0 -1
- package/src/performance/model.js.map +0 -1
- package/src/performance/pr-artifact-budget.js.map +0 -1
- package/src/performance/runner.js.map +0 -1
- package/src/performance/scenario-endpoint.js.map +0 -1
- package/src/performance/scenario.js.map +0 -1
- package/src/performance/test-fixtures.d.ts +0 -7
- package/src/performance/test-fixtures.js +0 -169
- package/src/performance/test-fixtures.js.map +0 -1
- package/src/performance/unit-cost.js.map +0 -1
- package/src/release/index.js.map +0 -1
- package/src/release/lifecycle.js.map +0 -1
- package/src/release/manifest.js.map +0 -1
- package/src/release/rollout.js.map +0 -1
- package/src/release/source-authority.js.map +0 -1
- package/src/repository-policy/aurora-preflight.js.map +0 -1
- package/src/repository-policy/deployment-plan.js.map +0 -1
- package/src/repository-policy/foundation-profile.js.map +0 -1
- package/src/repository-policy/index.js.map +0 -1
- package/src/repository-policy/policy.js.map +0 -1
- package/src/secrets/adapters.js.map +0 -1
- package/src/secrets/aws-control-plane.js.map +0 -1
- package/src/secrets/declaration-verification.js.map +0 -1
- package/src/secrets/guardrails.js.map +0 -1
- package/src/secrets/index.js.map +0 -1
- package/src/secrets/metadata.js.map +0 -1
- package/src/secrets/model.js.map +0 -1
- package/src/secrets/operator.js.map +0 -1
- package/src/secrets/permissions.js.map +0 -1
- package/src/secrets/personal-command.js.map +0 -1
- package/src/secrets/personal-ledger.js.map +0 -1
- package/src/secrets/registry.js.map +0 -1
- package/src/secrets/verification.js.map +0 -1
- package/src/secrets/workload-access.js.map +0 -1
- package/src/supply-chain/action-pins.js.map +0 -1
- package/src/supply-chain/blueprint-trust-git.js.map +0 -1
- package/src/supply-chain/blueprint-trust-process.js.map +0 -1
- package/src/supply-chain/blueprint-trust.js.map +0 -1
- package/src/supply-chain/blueprint-verification-authority.js.map +0 -1
- package/src/supply-chain/blueprint-verification-execution.js.map +0 -1
- package/src/supply-chain/build-output.js.map +0 -1
- package/src/supply-chain/common.js.map +0 -1
- package/src/supply-chain/container-artifact-contract.js.map +0 -1
- package/src/supply-chain/container-release.js.map +0 -1
- package/src/supply-chain/ecr-applicability.js.map +0 -1
- package/src/supply-chain/ecr-scanning.js.map +0 -1
- package/src/supply-chain/ecs-deployed-image.js.map +0 -1
- package/src/supply-chain/errors.js.map +0 -1
- package/src/supply-chain/generated-blueprint-trust-command.js.map +0 -1
- package/src/supply-chain/generated-command.js.map +0 -1
- package/src/supply-chain/generated-container-release-command.js.map +0 -1
- package/src/supply-chain/generated-ecr-collector-command.js.map +0 -1
- package/src/supply-chain/generated-files.js.map +0 -1
- package/src/supply-chain/generated-scanner-command.js.map +0 -1
- package/src/supply-chain/index.js.map +0 -1
- package/src/supply-chain/inventory.js.map +0 -1
- package/src/supply-chain/license-expression.js.map +0 -1
- package/src/supply-chain/pnpm-toolchain-authority.js.map +0 -1
- package/src/supply-chain/policy.js.map +0 -1
- package/src/supply-chain/publication.js.map +0 -1
- package/src/supply-chain/sbom.js.map +0 -1
- package/src/supply-chain/scanner.js.map +0 -1
- package/src/supply-chain/vendored-source.js.map +0 -1
- package/src/testing-evidence/fixture-scope.js.map +0 -1
- package/src/testing-evidence/index.js.map +0 -1
- package/src/testing-evidence/quarantine.js.map +0 -1
- package/src/testing-evidence/result.js.map +0 -1
- package/src/testing-evidence/runner-adapter.js.map +0 -1
- package/src/testing-evidence/sensitive-artifacts.js.map +0 -1
- package/src/validation.js.map +0 -1
- package/src/work-markers/index.js.map +0 -1
- package/src/work-markers/work-markers.js.map +0 -1
- package/src/workload-roles/account-baseline.js.map +0 -1
- package/src/workload-roles/authority.js.map +0 -1
- package/src/workload-roles/aws-adapter.js.map +0 -1
- package/src/workload-roles/aws-internal-handler.js.map +0 -1
- package/src/workload-roles/aws-s3-state.js.map +0 -1
- package/src/workload-roles/aws-sdk-control-plane.js.map +0 -1
- package/src/workload-roles/boundary.js.map +0 -1
- package/src/workload-roles/convergence.js.map +0 -1
- package/src/workload-roles/effective-policy.js.map +0 -1
- package/src/workload-roles/handler.js.map +0 -1
- package/src/workload-roles/history.js.map +0 -1
- package/src/workload-roles/index.js.map +0 -1
- package/src/workload-roles/injection.js.map +0 -1
- package/src/workload-roles/manifest.js.map +0 -1
- package/src/workload-roles/provisioner.js.map +0 -1
- package/src/workload-roles/registration.js.map +0 -1
- package/src/workload-roles/stage-boundary.js.map +0 -1
- package/src/workload-roles/standard-slice.js.map +0 -1
package/src/cli/main.js
CHANGED
|
@@ -33,7 +33,11 @@ const runtime_paths_js_1 = require("../local-dev/runtime-paths.js");
|
|
|
33
33
|
const secret_slice_claim_js_1 = require("../local-dev/secret-slice-claim.js");
|
|
34
34
|
const tls_js_1 = require("../local-dev/tls.js");
|
|
35
35
|
const personal_command_js_1 = require("../secrets/personal-command.js");
|
|
36
|
+
const index_js_1 = require("../workspace-deployment/index.js");
|
|
37
|
+
const task_attachment_js_1 = require("../local-dev/task-attachment.js");
|
|
38
|
+
const task_identity_js_1 = require("../local-dev/task-identity.js");
|
|
36
39
|
const dev_command_js_1 = require("./dev-command.js");
|
|
40
|
+
const deploy_runtime_js_1 = require("./deploy-runtime.js");
|
|
37
41
|
const agent_runtime_js_1 = require("./agent-runtime.js");
|
|
38
42
|
const output_js_1 = require("./output.js");
|
|
39
43
|
const personal_secret_runtime_js_1 = require("./personal-secret-runtime.js");
|
|
@@ -43,11 +47,39 @@ const ROOT_HELP = `Empire Builder Kit
|
|
|
43
47
|
Usage:
|
|
44
48
|
ebk agent <command> [options]
|
|
45
49
|
ebk blueprint verification-review
|
|
50
|
+
ebk deploy [stage] [slice...] [options]
|
|
46
51
|
ebk dev <command> [options]
|
|
47
52
|
ebk secret <command> <slice> <logical-name>
|
|
48
53
|
|
|
49
|
-
Run "ebk agent --help", "ebk blueprint --help", "ebk dev --help", or
|
|
54
|
+
Run "ebk agent --help", "ebk blueprint --help", "ebk deploy --help", "ebk dev --help", or
|
|
50
55
|
"ebk secret --help" for namespace help.`;
|
|
56
|
+
const DEPLOY_HELP = `Empire Builder Kit local deployment
|
|
57
|
+
|
|
58
|
+
Usage:
|
|
59
|
+
ebk deploy [development|staging|production] [slice...] --expectedRoleArn=<role-arn> [--profile=<aws-profile>]
|
|
60
|
+
ebk deploy development [slice...] --expectedRoleArn=<role-arn> [--profile=<aws-profile>] --json
|
|
61
|
+
|
|
62
|
+
The stage defaults to development; --stage=<stage> is also supported instead
|
|
63
|
+
of a positional stage. Account and Region come from committed repository policy.
|
|
64
|
+
Uses the workspace-pinned Nx deploy-local target: Foundation, then eligible
|
|
65
|
+
Slices, declared migrations and deployed smoke. Supply billing to deploy only
|
|
66
|
+
that Slice after Foundation; omit Slice names for the complete stage. Other
|
|
67
|
+
Slices are not redeployed and must already exist if the feature needs them.
|
|
68
|
+
Native output and terminal
|
|
69
|
+
interaction are inherited; arbitrary Nx/SST options are not accepted.
|
|
70
|
+
The existing deployment receipt is the structured result, not a CLI success seal.
|
|
71
|
+
|
|
72
|
+
--json is accepted for development only. Native output then moves to stderr,
|
|
73
|
+
and stdout carries one bounded, secret-free result after the run: the
|
|
74
|
+
deployment receipt this run wrote and each project's target outcome (receipt
|
|
75
|
+
null when none was written). The exit code is the lifecycle's own. --json is
|
|
76
|
+
refused for staging and production and never replaces their acknowledgement.
|
|
77
|
+
|
|
78
|
+
Development allows dirty source without a prompt. Local staging requires a
|
|
79
|
+
clean commit and its TTY acknowledgement. Starter production requires a clean
|
|
80
|
+
commit and the exact deploy:production:<account>:<region>:<source-commit> TTY
|
|
81
|
+
confirmation. Isolated protected stages remain GitHub-only. No authority or
|
|
82
|
+
confirmation is inferred from a hot task; ebk dev up remains the hot edit loop.`;
|
|
51
83
|
const AGENT_HELP = `Empire Builder Kit Developer-Agent contract
|
|
52
84
|
|
|
53
85
|
Usage:
|
|
@@ -75,6 +107,7 @@ Usage:
|
|
|
75
107
|
ebk dev configure [<context options>] [--clear-development-router-url] [--json]
|
|
76
108
|
ebk dev setup [--trust] [--portless] [--upgrade] [--remove] [--json]
|
|
77
109
|
ebk dev up <slice...>|--all [--foreground] [--sst-mode=mono|multiplexer]
|
|
110
|
+
ebk dev attach <task-id> [--json]
|
|
78
111
|
[--no-wait] [--timeout=<duration>] [<context options>] [--json]
|
|
79
112
|
ebk dev status [--json]
|
|
80
113
|
ebk dev restart <slice...>|--all [--no-wait] [--timeout=<duration>] [--json]
|
|
@@ -98,16 +131,20 @@ Configure mutation requires at least one context option or
|
|
|
98
131
|
non-router context changes.
|
|
99
132
|
|
|
100
133
|
Use "ebk dev <command> --help" to return this bounded command reference.
|
|
101
|
-
Fleet stage
|
|
134
|
+
Fleet stage uses a persisted random task ID per worktree. Use attach explicitly
|
|
135
|
+
to resume a verified inactive task; --stage overrides are not supported.`;
|
|
102
136
|
const SECRET_HELP = `Empire Builder Kit personal secrets
|
|
103
137
|
|
|
104
138
|
Usage:
|
|
105
139
|
ebk secret set <slice> <logical-name>
|
|
106
140
|
ebk secret remove <slice> <logical-name>
|
|
107
141
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
142
|
+
Both commands derive the personal stage and read the saved development
|
|
143
|
+
profile and Region. set accepts the value only through a hidden local TTY,
|
|
144
|
+
never through argv, environment, or files, and refuses agent and CI
|
|
145
|
+
environments: a human runs it in a terminal no agent spawned. remove carries
|
|
146
|
+
no value; an agent may start it, and the human types the hidden
|
|
147
|
+
REMOVE <logical-name> confirmation in that interactive terminal.`;
|
|
111
148
|
function inspectWorkspaceFilesystemIdentity(path) {
|
|
112
149
|
const status = (0, node_fs_1.statSync)(path, { bigint: true });
|
|
113
150
|
return {
|
|
@@ -142,13 +179,12 @@ function packageVersion() {
|
|
|
142
179
|
}
|
|
143
180
|
function workspaceRoot(cwd) {
|
|
144
181
|
try {
|
|
145
|
-
const
|
|
182
|
+
const git = (args) => (0, node_child_process_1.execFileSync)('git', [
|
|
146
183
|
'--no-optional-locks',
|
|
147
184
|
'-c',
|
|
148
185
|
'core.fsmonitor=false',
|
|
149
186
|
'rev-parse',
|
|
150
|
-
|
|
151
|
-
'--show-toplevel',
|
|
187
|
+
...args,
|
|
152
188
|
], {
|
|
153
189
|
cwd,
|
|
154
190
|
encoding: 'utf8',
|
|
@@ -157,9 +193,22 @@ function workspaceRoot(cwd) {
|
|
|
157
193
|
timeout: 5_000,
|
|
158
194
|
windowsHide: true,
|
|
159
195
|
}).trim();
|
|
160
|
-
|
|
196
|
+
const toplevel = git(['--path-format=absolute', '--show-toplevel']);
|
|
197
|
+
if (!(0, node_path_1.isAbsolute)(toplevel))
|
|
161
198
|
throw new Error('Git returned a relative path.');
|
|
162
|
-
|
|
199
|
+
// Spell the root the way this process's working directory spells it. Git
|
|
200
|
+
// canonicalizes Windows 8.3 aliases to long names while every in-process
|
|
201
|
+
// resolver, the fleet runtime and the retained task pointer use realpathSync,
|
|
202
|
+
// so a checkout under an aliased directory (a hosted runner's TEMP) would
|
|
203
|
+
// otherwise be seen under two spellings and refused as another checkout.
|
|
204
|
+
let root = (0, node_fs_1.realpathSync)(cwd);
|
|
205
|
+
for (const segment of git(['--show-prefix']).split('/')) {
|
|
206
|
+
if (segment)
|
|
207
|
+
root = (0, node_path_1.dirname)(root);
|
|
208
|
+
}
|
|
209
|
+
if (node_fs_1.realpathSync.native(root) !== node_fs_1.realpathSync.native(toplevel))
|
|
210
|
+
throw new Error('Git toplevel does not match the working directory.');
|
|
211
|
+
return root;
|
|
163
212
|
}
|
|
164
213
|
catch {
|
|
165
214
|
throw new errors_js_1.LocalDevContractError('prerequisite-unavailable', 'Run ebk from a Git workspace with a readable repository root.');
|
|
@@ -167,13 +216,17 @@ function workspaceRoot(cwd) {
|
|
|
167
216
|
}
|
|
168
217
|
function defaultDependencies(overrides) {
|
|
169
218
|
return {
|
|
219
|
+
attachTask: task_attachment_js_1.attachStoppedTask,
|
|
220
|
+
bindTask: task_identity_js_1.bindTaskEnvironment,
|
|
170
221
|
acquireSecretLedgerLock: personal_secret_ledger_js_1.acquirePersonalSecretLedgerLock,
|
|
171
222
|
appData: tls_js_1.defaultLocalDevAppData,
|
|
172
223
|
assertSecretSliceClaim: secret_slice_claim_js_1.assertSecretSliceClaimAuthority,
|
|
224
|
+
assertWorkspaceOwnership: index_js_1.assertWorkspaceStageOwnershipForWorkspace,
|
|
173
225
|
changeDirectory: (root) => process.chdir(root),
|
|
174
226
|
client: (paths) => new fleet_client_js_1.FleetClient(paths),
|
|
175
227
|
discoverContext: context_discovery_js_1.discoverLocalDevContext,
|
|
176
228
|
executeAgent: agent_runtime_js_1.executeDeveloperAgentCommand,
|
|
229
|
+
executeDeploy: deploy_runtime_js_1.executeDeployCommand,
|
|
177
230
|
followLogs: fleet_logs_js_1.followFleetLogs,
|
|
178
231
|
frameworkVersion: packageVersion,
|
|
179
232
|
gitCommonDirectory: fleet_launcher_js_1.resolveGitCommonDirectory,
|
|
@@ -224,7 +277,7 @@ function planWorkspaceName(plan) {
|
|
|
224
277
|
}
|
|
225
278
|
async function resolveCurrentFleetCoordinates(workspaceRoot, appData, dependencies) {
|
|
226
279
|
const plan = await dependencies.loadPlan();
|
|
227
|
-
const identity = dependencies.personalStageResolver.resolve();
|
|
280
|
+
const identity = dependencies.personalStageResolver.resolve(workspaceRoot);
|
|
228
281
|
const workspaceName = planWorkspaceName(plan);
|
|
229
282
|
const fleetId = (0, identity_js_1.createFleetId)({
|
|
230
283
|
checkoutPath: workspaceRoot,
|
|
@@ -240,7 +293,7 @@ async function resolveCurrentFleetCoordinates(workspaceRoot, appData, dependenci
|
|
|
240
293
|
};
|
|
241
294
|
}
|
|
242
295
|
async function resolveRecoveryFleetCoordinates(workspaceRoot, appData, dependencies, currentPlatform = process.platform) {
|
|
243
|
-
const identity = dependencies.personalStageResolver.resolve();
|
|
296
|
+
const identity = dependencies.personalStageResolver.resolve(workspaceRoot);
|
|
244
297
|
const inventory = await dependencies.inventory({ appData });
|
|
245
298
|
const matches = inventory.filter(({ checkout, stage }) => checkout !== undefined &&
|
|
246
299
|
sameWorkspaceRealpath(checkout, workspaceRoot, currentPlatform) &&
|
|
@@ -407,7 +460,7 @@ function secretCommandFailure(error) {
|
|
|
407
460
|
async function executeSecretCommand(command, dispatch) {
|
|
408
461
|
try {
|
|
409
462
|
const ceremony = dispatch.dependencies.secretCeremony(dispatch.environment);
|
|
410
|
-
(0, personal_command_js_1.assertHumanSecretCeremony)(ceremony);
|
|
463
|
+
(0, personal_command_js_1.assertHumanSecretCeremony)(ceremony, command.command);
|
|
411
464
|
const common = dispatch.dependencies.gitCommonDirectory(dispatch.workspaceRoot);
|
|
412
465
|
const saved = dispatch.dependencies.readContext(common);
|
|
413
466
|
if (saved.kind !== 'ready') {
|
|
@@ -418,7 +471,7 @@ async function executeSecretCommand(command, dispatch) {
|
|
|
418
471
|
: 'Personal secret commands require saved local-development profile and Region context. Run ebk dev configure first.');
|
|
419
472
|
}
|
|
420
473
|
const context = saved.resolution.context;
|
|
421
|
-
const identity = dispatch.dependencies.personalStageResolver.resolve();
|
|
474
|
+
const identity = dispatch.dependencies.personalStageResolver.resolve(dispatch.workspaceRoot);
|
|
422
475
|
const environmentAssessment = await dispatch.dependencies.inspectEnvironment({
|
|
423
476
|
appData: dispatch.appData,
|
|
424
477
|
command: 'secret',
|
|
@@ -459,6 +512,20 @@ async function executeSecretCommand(command, dispatch) {
|
|
|
459
512
|
accountId !== developmentAccountId) {
|
|
460
513
|
throw new personal_command_js_1.PersonalSecretCommandError('personal-secret-account-invalid');
|
|
461
514
|
}
|
|
515
|
+
try {
|
|
516
|
+
const ownership = await dispatch.dependencies.assertWorkspaceOwnership(dispatch.workspaceRoot, 'development', { profile: context.profile });
|
|
517
|
+
if (ownership.region !== context.region) {
|
|
518
|
+
throw new Error('Personal secret Region differs from workspace owner.');
|
|
519
|
+
}
|
|
520
|
+
dispatch.dependencies.bindTask(dispatch.workspaceRoot, {
|
|
521
|
+
accountId,
|
|
522
|
+
region: ownership.region,
|
|
523
|
+
workspaceDeploymentId: ownership.expectedOwner.workspaceDeploymentId,
|
|
524
|
+
});
|
|
525
|
+
}
|
|
526
|
+
catch {
|
|
527
|
+
throw new errors_js_1.LocalDevContractError('prerequisite-unavailable', 'The development AWS tuple is not owned by this workspace. Run the generated workspace ownership doctor before personal secret mutation.');
|
|
528
|
+
}
|
|
462
529
|
const store = dispatch.dependencies.secretStore({
|
|
463
530
|
aws,
|
|
464
531
|
environment: dispatch.environment,
|
|
@@ -563,7 +630,7 @@ async function recordDiagnosticAssessment(command, dispatch) {
|
|
|
563
630
|
command,
|
|
564
631
|
context,
|
|
565
632
|
frameworkVersion: dispatch.dependencies.frameworkVersion(),
|
|
566
|
-
identity: dispatch.dependencies.personalStageResolver.resolve(),
|
|
633
|
+
identity: dispatch.dependencies.personalStageResolver.resolve(dispatch.workspaceRoot),
|
|
567
634
|
workspaceRoot: dispatch.workspaceRoot,
|
|
568
635
|
});
|
|
569
636
|
}
|
|
@@ -749,7 +816,26 @@ async function executeDown(command, coordinates, dispatch) {
|
|
|
749
816
|
throw new errors_js_1.LocalDevContractError('unknown-slice', `Product Slice ${unknown} is absent from the live Fleet state.`);
|
|
750
817
|
}
|
|
751
818
|
}
|
|
752
|
-
|
|
819
|
+
let submission;
|
|
820
|
+
try {
|
|
821
|
+
submission = await client.submit('down', command.selector, dispatch.dependencies.idempotencyKey());
|
|
822
|
+
}
|
|
823
|
+
catch (error) {
|
|
824
|
+
if (!command.selector.all ||
|
|
825
|
+
!(error instanceof errors_js_1.LocalDevContractError) ||
|
|
826
|
+
error.classification !== 'not-running')
|
|
827
|
+
throw error;
|
|
828
|
+
// This remains an authenticated shutdown request. The supervisor checks
|
|
829
|
+
// in-flight work, active selections, and owned cleanup independently.
|
|
830
|
+
await client.shutdown(dispatch.dependencies.idempotencyKey());
|
|
831
|
+
return {
|
|
832
|
+
result: success(command.command, {
|
|
833
|
+
fleetId: coordinates.fleetId,
|
|
834
|
+
alreadyEmpty: true,
|
|
835
|
+
shutdown: 'accepted',
|
|
836
|
+
}),
|
|
837
|
+
};
|
|
838
|
+
}
|
|
753
839
|
if (command.noWait) {
|
|
754
840
|
return {
|
|
755
841
|
result: success(command.command, { fleetId: coordinates.fleetId, operation: submission }, submission.operationId),
|
|
@@ -874,12 +960,27 @@ async function executeDoctor(command, identity, dispatch) {
|
|
|
874
960
|
dispatch.dependencies.inventoryClaims({ appData: dispatch.appData }),
|
|
875
961
|
]);
|
|
876
962
|
const outcome = doctorOutcome(environment, local);
|
|
963
|
+
const diagnostics = [
|
|
964
|
+
...environment.checks
|
|
965
|
+
.filter(({ status }) => !['ready', 'unverified', 'not-required'].includes(status))
|
|
966
|
+
.map(({ id, status, remediation }) => `${id}=${status}${remediation ? `: ${remediation}` : ''}`),
|
|
967
|
+
...(local?.issues ?? []),
|
|
968
|
+
]
|
|
969
|
+
.slice(0, 8)
|
|
970
|
+
.map((message) => message.slice(0, 512));
|
|
877
971
|
const payload = {
|
|
878
972
|
context: contextPayload(saved),
|
|
879
973
|
environmentAssessment: environment,
|
|
880
974
|
fleetInventory,
|
|
881
975
|
...(local ? { localDevelopment: local } : {}),
|
|
882
976
|
sliceClaims,
|
|
977
|
+
...(outcome.outcome === 'failed'
|
|
978
|
+
? {
|
|
979
|
+
message: diagnostics.length > 0
|
|
980
|
+
? diagnostics.join(' ')
|
|
981
|
+
: 'Development readiness is incomplete. Run ebk dev doctor --refresh --json to inspect the exact prerequisite.',
|
|
982
|
+
}
|
|
983
|
+
: {}),
|
|
883
984
|
};
|
|
884
985
|
return {
|
|
885
986
|
result: outcome.outcome === 'succeeded'
|
|
@@ -985,6 +1086,26 @@ async function executeSetup(command, identity, dispatch) {
|
|
|
985
1086
|
};
|
|
986
1087
|
}
|
|
987
1088
|
async function dispatchDevCommand(command, dispatch) {
|
|
1089
|
+
if (command.command === 'attach') {
|
|
1090
|
+
const saved = dispatch.dependencies.readContext(dispatch.dependencies.gitCommonDirectory(dispatch.workspaceRoot));
|
|
1091
|
+
if (saved.kind !== 'ready')
|
|
1092
|
+
throw new errors_js_1.LocalDevContractError('local-context-missing', 'Task attachment requires saved AWS context. Run ebk dev configure first.');
|
|
1093
|
+
const plan = await dispatch.dependencies.loadPlan();
|
|
1094
|
+
const task = await dispatch.dependencies.attachTask({
|
|
1095
|
+
appData: dispatch.appData,
|
|
1096
|
+
context: saved.resolution.context,
|
|
1097
|
+
taskId: command.taskId,
|
|
1098
|
+
workspaceName: planWorkspaceName(plan),
|
|
1099
|
+
workspaceRoot: dispatch.workspaceRoot,
|
|
1100
|
+
});
|
|
1101
|
+
return {
|
|
1102
|
+
result: success('attach', {
|
|
1103
|
+
taskId: task.taskId,
|
|
1104
|
+
stage: `personal-${task.taskId}`,
|
|
1105
|
+
nextAction: 'ebk dev up <slice...>',
|
|
1106
|
+
}),
|
|
1107
|
+
};
|
|
1108
|
+
}
|
|
988
1109
|
if (command.command === 'ps') {
|
|
989
1110
|
await recordDiagnosticAssessment('ps', dispatch);
|
|
990
1111
|
const [fleets, sliceClaims] = await Promise.all([
|
|
@@ -1008,13 +1129,13 @@ async function dispatchDevCommand(command, dispatch) {
|
|
|
1008
1129
|
await recordDiagnosticAssessment(command.command, dispatch);
|
|
1009
1130
|
}
|
|
1010
1131
|
if (command.command === 'configure') {
|
|
1011
|
-
return executeConfigure(command, dispatch.dependencies.personalStageResolver.resolve(), dispatch);
|
|
1132
|
+
return executeConfigure(command, dispatch.dependencies.personalStageResolver.resolve(dispatch.workspaceRoot), dispatch);
|
|
1012
1133
|
}
|
|
1013
1134
|
if (command.command === 'setup') {
|
|
1014
|
-
return executeSetup(command, dispatch.dependencies.personalStageResolver.resolve(), dispatch);
|
|
1135
|
+
return executeSetup(command, dispatch.dependencies.personalStageResolver.resolve(dispatch.workspaceRoot), dispatch);
|
|
1015
1136
|
}
|
|
1016
1137
|
if (command.command === 'doctor') {
|
|
1017
|
-
return executeDoctor(command, dispatch.dependencies.personalStageResolver.resolve(), dispatch);
|
|
1138
|
+
return executeDoctor(command, dispatch.dependencies.personalStageResolver.resolve(dispatch.workspaceRoot), dispatch);
|
|
1018
1139
|
}
|
|
1019
1140
|
if (command.command === 'up' || command.command === 'restart') {
|
|
1020
1141
|
const coordinates = await resolveCurrentFleetCoordinates(dispatch.workspaceRoot, dispatch.appData, dispatch.dependencies);
|
|
@@ -1048,16 +1169,21 @@ function processAbortSignal() {
|
|
|
1048
1169
|
};
|
|
1049
1170
|
}
|
|
1050
1171
|
function commandJson(command) {
|
|
1172
|
+
if (command?.kind === 'deploy')
|
|
1173
|
+
return command.json === true;
|
|
1051
1174
|
return (command?.kind === 'agent' || command?.kind === 'dev') && command.json;
|
|
1052
1175
|
}
|
|
1053
1176
|
function commandName(command) {
|
|
1054
1177
|
return command?.kind === 'agent' ||
|
|
1178
|
+
command?.kind === 'deploy' ||
|
|
1055
1179
|
command?.kind === 'dev' ||
|
|
1056
1180
|
command?.kind === 'secret'
|
|
1057
1181
|
? command.command
|
|
1058
1182
|
: 'parse';
|
|
1059
1183
|
}
|
|
1060
1184
|
function commandNamespace(command, arguments_) {
|
|
1185
|
+
if (command?.kind === 'deploy' || arguments_[0] === 'deploy')
|
|
1186
|
+
return 'deploy';
|
|
1061
1187
|
if (command?.kind === 'agent' || arguments_[0] === 'agent')
|
|
1062
1188
|
return 'agent';
|
|
1063
1189
|
return command?.kind === 'secret' || arguments_[0] === 'secret'
|
|
@@ -1144,11 +1270,13 @@ async function runEbkCli(arguments_, io = {}, overrides = {}) {
|
|
|
1144
1270
|
if (parsed.kind === 'help') {
|
|
1145
1271
|
output.stdout(`${parsed.namespace === 'agent'
|
|
1146
1272
|
? AGENT_HELP
|
|
1147
|
-
: parsed.namespace === '
|
|
1148
|
-
?
|
|
1149
|
-
: parsed.namespace === '
|
|
1150
|
-
?
|
|
1151
|
-
:
|
|
1273
|
+
: parsed.namespace === 'deploy'
|
|
1274
|
+
? DEPLOY_HELP
|
|
1275
|
+
: parsed.namespace === 'dev'
|
|
1276
|
+
? DEV_HELP
|
|
1277
|
+
: parsed.namespace === 'secret'
|
|
1278
|
+
? SECRET_HELP
|
|
1279
|
+
: ROOT_HELP}\n`);
|
|
1152
1280
|
return 0;
|
|
1153
1281
|
}
|
|
1154
1282
|
if (parsed.kind === 'version') {
|
|
@@ -1163,6 +1291,11 @@ async function runEbkCli(arguments_, io = {}, overrides = {}) {
|
|
|
1163
1291
|
}
|
|
1164
1292
|
const dependencies = defaultDependencies(overrides);
|
|
1165
1293
|
const root = dependencies.resolveWorkspaceRoot(io.cwd ?? process.cwd());
|
|
1294
|
+
if (parsed.kind === 'deploy') {
|
|
1295
|
+
return parsed.json
|
|
1296
|
+
? await dependencies.executeDeploy(parsed, root, io.environment ?? process.env, undefined, { stdout: output.stdout })
|
|
1297
|
+
: await dependencies.executeDeploy(parsed, root, io.environment ?? process.env);
|
|
1298
|
+
}
|
|
1166
1299
|
dependencies.changeDirectory(root);
|
|
1167
1300
|
if (!io.abortSignal)
|
|
1168
1301
|
ownedSignal = processAbortSignal();
|
package/src/cli/output.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export type CliFailureClassification = DeveloperAgentFailureClassification | Loc
|
|
|
9
9
|
export interface CliResultEnvelope<TPayload = unknown> {
|
|
10
10
|
command: string;
|
|
11
11
|
failureClassification?: CliFailureClassification;
|
|
12
|
-
namespace: 'agent' | 'dev' | 'secret';
|
|
12
|
+
namespace: 'agent' | 'deploy' | 'dev' | 'secret';
|
|
13
13
|
operationId?: string;
|
|
14
14
|
outcome: CliResultOutcome;
|
|
15
15
|
payload?: TPayload;
|
package/src/cli/output.js
CHANGED
|
@@ -8,7 +8,7 @@ const errors_js_1 = require("../local-dev/errors.js");
|
|
|
8
8
|
const model_js_1 = require("../developer-agent/model.js");
|
|
9
9
|
exports.CLI_RESULT_SCHEMA_VERSION = 1;
|
|
10
10
|
exports.CLI_RESULT_MAX_BYTES = 64 * 1024;
|
|
11
|
-
exports.AGENT_CLI_RESULT_MAX_BYTES =
|
|
11
|
+
exports.AGENT_CLI_RESULT_MAX_BYTES = 160 * 1024;
|
|
12
12
|
exports.CLI_RESULT_OUTCOMES = ['succeeded', 'failed', 'partial'];
|
|
13
13
|
const CLI_FAILURE_CLASSIFICATIONS = new Set([
|
|
14
14
|
...errors_js_1.LOCAL_DEV_FAILURE_CLASSIFICATIONS,
|
|
@@ -29,6 +29,15 @@ export interface WorkspaceSstSecretInvocation {
|
|
|
29
29
|
operation: 'remove' | 'set';
|
|
30
30
|
}
|
|
31
31
|
export type PersonalSecretProcessSpawner = typeof spawn;
|
|
32
|
+
/**
|
|
33
|
+
* Markers that identify an agent- or CI-owned process. `ebk secret set`
|
|
34
|
+
* refuses them because a hidden TTY prompt does not hide the value from the
|
|
35
|
+
* process that owns the terminal; the human runs set in a terminal no agent
|
|
36
|
+
* spawned. `ebk secret remove` carries no value and is not gated by this
|
|
37
|
+
* list; it still requires an interactive terminal and the hidden typed
|
|
38
|
+
* confirmation. Only the variable name is ever reported, never its value.
|
|
39
|
+
*/
|
|
40
|
+
declare const agentEnvironmentNames: readonly ["BUILDKITE", "CI", "CLAUDECODE", "CLAUDE_CODE_ENTRYPOINT", "CODEBUILD_BUILD_ID", "CODEX_SANDBOX", "CODEX_THREAD_ID", "CURSOR_AGENT", "EBK_AGENT_DELEGATED", "GITHUB_ACTIONS", "JENKINS_URL", "TF_BUILD"];
|
|
32
41
|
/**
|
|
33
42
|
* Binds the stored SST value to one personal stage, declaration, and value
|
|
34
43
|
* shape. Raw SST values and values inherited from another stage cannot satisfy
|
|
@@ -40,6 +49,8 @@ export declare function encodePersonalSstSecretEnvelope(input: {
|
|
|
40
49
|
stage: string;
|
|
41
50
|
valueKind: SecretMetadataDeclaration['valueKind'];
|
|
42
51
|
}): Uint8Array;
|
|
52
|
+
/** Returns the first detected marker variable name, never its value. */
|
|
53
|
+
export declare function detectedAgentOrCiMarker(environment: NodeJS.ProcessEnv): (typeof agentEnvironmentNames)[number] | undefined;
|
|
43
54
|
export declare function detectDelegatedAgentOrCi(environment: NodeJS.ProcessEnv): boolean;
|
|
44
55
|
export declare function createHumanSecretCeremony(environment: NodeJS.ProcessEnv, stdinIsTty: boolean, outputIsTty: boolean): HumanSecretCeremony;
|
|
45
56
|
export declare function loadPersonalOperatorSecret(input: {
|
|
@@ -79,3 +90,4 @@ export declare function createWorkspacePinnedSstSecretStore(input: {
|
|
|
79
90
|
signal?: AbortSignal;
|
|
80
91
|
spawnProcess?: PersonalSecretProcessSpawner;
|
|
81
92
|
}): PersonalSstSecretStore;
|
|
93
|
+
export {};
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PersonalSecretRuntimeError = void 0;
|
|
4
4
|
exports.encodePersonalSstSecretEnvelope = encodePersonalSstSecretEnvelope;
|
|
5
|
+
exports.detectedAgentOrCiMarker = detectedAgentOrCiMarker;
|
|
5
6
|
exports.detectDelegatedAgentOrCi = detectDelegatedAgentOrCi;
|
|
6
7
|
exports.createHumanSecretCeremony = createHumanSecretCeremony;
|
|
7
8
|
exports.loadPersonalOperatorSecret = loadPersonalOperatorSecret;
|
|
@@ -44,6 +45,14 @@ class PersonalSecretRuntimeError extends Error {
|
|
|
44
45
|
}
|
|
45
46
|
}
|
|
46
47
|
exports.PersonalSecretRuntimeError = PersonalSecretRuntimeError;
|
|
48
|
+
/**
|
|
49
|
+
* Markers that identify an agent- or CI-owned process. `ebk secret set`
|
|
50
|
+
* refuses them because a hidden TTY prompt does not hide the value from the
|
|
51
|
+
* process that owns the terminal; the human runs set in a terminal no agent
|
|
52
|
+
* spawned. `ebk secret remove` carries no value and is not gated by this
|
|
53
|
+
* list; it still requires an interactive terminal and the hidden typed
|
|
54
|
+
* confirmation. Only the variable name is ever reported, never its value.
|
|
55
|
+
*/
|
|
47
56
|
const agentEnvironmentNames = [
|
|
48
57
|
'BUILDKITE',
|
|
49
58
|
'CI',
|
|
@@ -124,13 +133,19 @@ function encodePersonalSstSecretEnvelope(input) {
|
|
|
124
133
|
envelope.fill(0);
|
|
125
134
|
}
|
|
126
135
|
}
|
|
127
|
-
|
|
128
|
-
|
|
136
|
+
/** Returns the first detected marker variable name, never its value. */
|
|
137
|
+
function detectedAgentOrCiMarker(environment) {
|
|
138
|
+
return agentEnvironmentNames.find((name) => environment[name] !== undefined &&
|
|
129
139
|
(name !== 'CI' || enabledEnvironmentFlag(environment[name])));
|
|
130
140
|
}
|
|
141
|
+
function detectDelegatedAgentOrCi(environment) {
|
|
142
|
+
return detectedAgentOrCiMarker(environment) !== undefined;
|
|
143
|
+
}
|
|
131
144
|
function createHumanSecretCeremony(environment, stdinIsTty, outputIsTty) {
|
|
145
|
+
const detectedMarker = detectedAgentOrCiMarker(environment);
|
|
132
146
|
return (0, personal_command_js_1.issueHumanSecretCeremony)({
|
|
133
|
-
agentDelegated:
|
|
147
|
+
agentDelegated: detectedMarker !== undefined,
|
|
148
|
+
...(detectedMarker === undefined ? {} : { detectedMarker }),
|
|
134
149
|
interactive: stdinIsTty && outputIsTty,
|
|
135
150
|
stdinIsTty,
|
|
136
151
|
});
|
|
@@ -6,7 +6,7 @@ exports.createTtySecretConfirmation = createTtySecretConfirmation;
|
|
|
6
6
|
const MAX_HIDDEN_INPUT_BYTES = 256 * 1024;
|
|
7
7
|
class SecretTerminalError extends Error {
|
|
8
8
|
constructor() {
|
|
9
|
-
super('The personal secret
|
|
9
|
+
super('The personal secret prompt needs a local interactive TTY that a human types into, and stops on Ctrl-C or end of input. Run ebk secret set in a terminal no agent spawned; an agent may start ebk secret remove only where the human can type the hidden confirmation.');
|
|
10
10
|
this.name = 'SecretTerminalError';
|
|
11
11
|
}
|
|
12
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const EBK_NODE_22_ALPINE_IMAGE: "node:22-alpine@sha256:
|
|
1
|
+
export declare const EBK_NODE_22_ALPINE_IMAGE: "node:22-alpine@sha256:0a7108bf6c7bf5de370ffb1a3ed6be93d405b43ff159f681a8d18c0e2bc2e402";
|
package/src/container-images.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.EBK_NODE_22_ALPINE_IMAGE = void 0;
|
|
4
|
-
exports.EBK_NODE_22_ALPINE_IMAGE = 'node:22-alpine@sha256:
|
|
4
|
+
exports.EBK_NODE_22_ALPINE_IMAGE = 'node:22-alpine@sha256:0a7108bf6c7bf5de370ffb1a3ed6be93d405b43ff159f681a8d18c0e2bc2e402';
|
|
5
5
|
//# sourceMappingURL=container-images.js.map
|
|
@@ -213,6 +213,13 @@ function gitContext(inspection) {
|
|
|
213
213
|
}
|
|
214
214
|
function gitWarnings(inspection) {
|
|
215
215
|
const warnings = [];
|
|
216
|
+
if (inspection.worktree.commit === null ||
|
|
217
|
+
inspection.defaultBase?.commit === null) {
|
|
218
|
+
warnings.push({
|
|
219
|
+
classification: 'stale-base',
|
|
220
|
+
sanitizedSummary: 'Local source is available, but commit-bound planning, handoff, and protected authority require real Git commits and protected refs. No commit or remote ref was created by orientation.',
|
|
221
|
+
});
|
|
222
|
+
}
|
|
216
223
|
if (inspection.worktree.dirtyPaths.length > 0) {
|
|
217
224
|
warnings.push({
|
|
218
225
|
classification: 'dirty-worktree',
|
|
@@ -335,6 +342,8 @@ async function inspectDeveloperAgentContext(cwd, query = {}, dependencyOverrides
|
|
|
335
342
|
const workspaceRoot = (0, node_fs_1.realpathSync)(cwd);
|
|
336
343
|
const nxConfiguration = workspaceNxExecutionConfiguration(workspaceRoot);
|
|
337
344
|
const gitOptions = {
|
|
345
|
+
allowMissingDefaultBase: true,
|
|
346
|
+
allowUnborn: true,
|
|
338
347
|
...(query.base ? { base: query.base } : {}),
|
|
339
348
|
cwd: workspaceRoot,
|
|
340
349
|
defaultBase: nxConfiguration.defaultBaseRef,
|
|
@@ -355,11 +364,21 @@ async function inspectDeveloperAgentContext(cwd, query = {}, dependencyOverrides
|
|
|
355
364
|
try {
|
|
356
365
|
const currentExternalRoots = (0, blueprint_verification_authority_js_1.externalBlueprintOwnershipRoots)(workspaceRoot);
|
|
357
366
|
(0, blueprint_verification_authority_js_1.assertDeveloperAgentNxProjectConfinement)(workspaceRoot);
|
|
367
|
+
// Orientation can describe an unborn worktree, but it cannot establish
|
|
368
|
+
// protected history. Keep package target authority strict; this is not an
|
|
369
|
+
// alternate path to a protected review or execution receipt.
|
|
358
370
|
externalOwnershipHistory =
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
371
|
+
gitInspection.worktree.commit === null
|
|
372
|
+
? {
|
|
373
|
+
complete: false,
|
|
374
|
+
externalProjectNames: [],
|
|
375
|
+
externalSliceRoots: [],
|
|
376
|
+
requiresStrictNxAuthority: true,
|
|
377
|
+
}
|
|
378
|
+
: (0, blueprint_trust_git_js_1.inspectProtectedWorkspaceExternalBlueprintHistory)({
|
|
379
|
+
builtInName: resolver_js_1.BUILTIN_BLUEPRINT_NAME,
|
|
380
|
+
workspaceRoot,
|
|
381
|
+
});
|
|
363
382
|
if (currentExternalRoots.length > 0 ||
|
|
364
383
|
externalOwnershipHistory.requiresStrictNxAuthority) {
|
|
365
384
|
(0, blueprint_verification_authority_js_1.assertNoMutableBlueprintVerificationConfiguration)(workspaceRoot);
|
|
@@ -443,7 +462,7 @@ function formatDeveloperAgentContext(context) {
|
|
|
443
462
|
].sort(ordering_js_1.compareDeveloperAgentStrings);
|
|
444
463
|
const lines = [
|
|
445
464
|
`Workspace: ${context.workspace.identity} (${context.workspace.frameworkVersion})`,
|
|
446
|
-
`Git: ${branch} @ ${context.git.commit
|
|
465
|
+
`Git: ${branch} @ ${context.git.commit?.slice(0, 12) ?? '(uncommitted)'}${context.git.dirty ? ' (dirty)' : ''}`,
|
|
447
466
|
`Selection: ${selection}`,
|
|
448
467
|
`Nx graph projects: ${context.projectNames.length}`,
|
|
449
468
|
`Policy stage: ${context.policy.canonicalStage}`,
|
|
@@ -458,6 +477,15 @@ function formatDeveloperAgentContext(context) {
|
|
|
458
477
|
: ''}`,
|
|
459
478
|
];
|
|
460
479
|
const details = [
|
|
480
|
+
...context.supportedOperations
|
|
481
|
+
.filter((operation) => operation.command &&
|
|
482
|
+
(operation.id.startsWith('ebk-dev:') ||
|
|
483
|
+
operation.id.endsWith(':verify-local-browser') ||
|
|
484
|
+
operation.id.endsWith(':dev')))
|
|
485
|
+
.map((operation) => ({
|
|
486
|
+
kind: 'operation',
|
|
487
|
+
line: `- [operation] ${operation.id}: ${operation.command.executable} ${operation.command.args.map((argument) => (/^[A-Za-z0-9_./:@=-]+$/.test(argument) ? argument : JSON.stringify(argument))).join(' ')}`,
|
|
488
|
+
})),
|
|
461
489
|
...context.warnings.map((finding) => ({
|
|
462
490
|
kind: 'warning',
|
|
463
491
|
line: `- [${finding.classification}] ${finding.sanitizedSummary}`,
|
|
@@ -469,8 +497,9 @@ function formatDeveloperAgentContext(context) {
|
|
|
469
497
|
];
|
|
470
498
|
let omittedWarnings = 0;
|
|
471
499
|
let omittedNonPlannable = 0;
|
|
500
|
+
let omittedOperations = 0;
|
|
472
501
|
const route = 'Full structured context: ebk agent context --json';
|
|
473
|
-
const maximumOmission = `Omitted detail: ${context.warnings.length} warning(s), ${context.nonPlannableTargets.length} non-plannable target(s).`;
|
|
502
|
+
const maximumOmission = `Omitted detail: ${context.warnings.length} warning(s), ${context.nonPlannableTargets.length} non-plannable target(s), ${context.supportedOperations.length} operation(s).`;
|
|
474
503
|
for (const detail of details) {
|
|
475
504
|
const candidate = [...lines, detail.line, maximumOmission, route].join('\n');
|
|
476
505
|
if (Buffer.byteLength(candidate, 'utf8') <=
|
|
@@ -480,12 +509,15 @@ function formatDeveloperAgentContext(context) {
|
|
|
480
509
|
else if (detail.kind === 'warning') {
|
|
481
510
|
omittedWarnings += 1;
|
|
482
511
|
}
|
|
483
|
-
else {
|
|
512
|
+
else if (detail.kind === 'non-plannable') {
|
|
484
513
|
omittedNonPlannable += 1;
|
|
485
514
|
}
|
|
515
|
+
else {
|
|
516
|
+
omittedOperations += 1;
|
|
517
|
+
}
|
|
486
518
|
}
|
|
487
|
-
if (omittedWarnings > 0 || omittedNonPlannable > 0) {
|
|
488
|
-
lines.push(`Omitted detail: ${omittedWarnings} warning(s), ${omittedNonPlannable} non-plannable target(s).`);
|
|
519
|
+
if (omittedWarnings > 0 || omittedNonPlannable > 0 || omittedOperations > 0) {
|
|
520
|
+
lines.push(`Omitted detail: ${omittedWarnings} warning(s), ${omittedNonPlannable} non-plannable target(s), ${omittedOperations} operation(s).`);
|
|
489
521
|
}
|
|
490
522
|
lines.push(route);
|
|
491
523
|
const output = lines.join('\n');
|
|
@@ -185,7 +185,9 @@ function generatorContextSelection(input) {
|
|
|
185
185
|
input.generator === 'job') {
|
|
186
186
|
return {
|
|
187
187
|
selectedFeature: input.feature,
|
|
188
|
-
selectedProjects:
|
|
188
|
+
selectedProjects: input.generator === 'function'
|
|
189
|
+
? [input.slice]
|
|
190
|
+
: [input.slice, 'foundation'].sort(),
|
|
189
191
|
selectedSlice: input.slice,
|
|
190
192
|
};
|
|
191
193
|
}
|
|
@@ -383,8 +385,8 @@ function functionPlan(context, input, mode, rebindCompleted = false) {
|
|
|
383
385
|
...prefixedSurfaces(input.slice, plan.paths),
|
|
384
386
|
...prefixedSurfaces(input.slice, [
|
|
385
387
|
{ path: 'infra/product.ts' },
|
|
386
|
-
{ path: 'infra/
|
|
387
|
-
{ path: 'infra/
|
|
388
|
+
{ path: 'infra/native-runtime-authority/effective-intent.ts' },
|
|
389
|
+
{ path: 'infra/native-runtime-authority/topology.ts' },
|
|
388
390
|
{ path: logging_registry_js_1.SLICE_LOGGING_REGISTRY_PATH },
|
|
389
391
|
{ path: PRODUCT_OWNERSHIP_PATH },
|
|
390
392
|
]),
|
|
@@ -425,9 +427,10 @@ function workloadPlan(context, input, mode, rebindCompleted = false) {
|
|
|
425
427
|
const generatedSurfaces = sortedSurfaces([
|
|
426
428
|
...prefixedSurfaces(input.slice, plan.paths),
|
|
427
429
|
...prefixedSurfaces(input.slice, [
|
|
430
|
+
{ path: 'infra/foundation.ts' },
|
|
428
431
|
{ path: 'infra/product.ts' },
|
|
429
|
-
{ path: 'infra/
|
|
430
|
-
{ path: 'infra/
|
|
432
|
+
{ path: 'infra/native-runtime-authority/effective-intent.ts' },
|
|
433
|
+
{ path: 'infra/native-runtime-authority/topology.ts' },
|
|
431
434
|
{ path: logging_registry_js_1.SLICE_LOGGING_REGISTRY_PATH },
|
|
432
435
|
{ mode: 'seeded', path: performance_registration_js_1.WORKLOAD_PERFORMANCE_POLICY_PATH },
|
|
433
436
|
...(ownsProtectedLoadAdapter
|
|
@@ -447,6 +450,16 @@ function workloadPlan(context, input, mode, rebindCompleted = false) {
|
|
|
447
450
|
{ mode: 'seeded', path: RELEASE_REGISTRY_PATH },
|
|
448
451
|
{ path: PRODUCT_OWNERSHIP_PATH },
|
|
449
452
|
]),
|
|
453
|
+
// The workload generator grows network/container-compute capabilities in
|
|
454
|
+
// the same source operation. These are its paired Foundation surfaces,
|
|
455
|
+
// even when an existing container makes the capability update a no-op.
|
|
456
|
+
...prefixedSurfaces('foundation', [
|
|
457
|
+
{ path: PRODUCT_OWNERSHIP_PATH },
|
|
458
|
+
{ path: 'contracts/costs.json' },
|
|
459
|
+
{ path: 'contracts/foundation.json' },
|
|
460
|
+
{ path: 'infra/foundation.ts' },
|
|
461
|
+
{ path: 'scripts/verify-foundation.mjs' },
|
|
462
|
+
]),
|
|
450
463
|
surface('pnpm-lock.yaml', 'adopter-owned'),
|
|
451
464
|
]);
|
|
452
465
|
const prospectiveVerification = mode === 'apply' ? [`${plan.project}:verify`] : [];
|
|
@@ -469,11 +482,12 @@ function workloadPlan(context, input, mode, rebindCompleted = false) {
|
|
|
469
482
|
'supply-chain',
|
|
470
483
|
], context.selection.contracts),
|
|
471
484
|
generatedSurfaces,
|
|
472
|
-
projects: [input.slice, plan.project].sort(),
|
|
485
|
+
projects: [input.slice, plan.project, 'foundation'].sort(),
|
|
473
486
|
prospectiveVerification,
|
|
474
487
|
verification: [
|
|
475
488
|
...new Set([
|
|
476
489
|
`${input.slice}:verify`,
|
|
490
|
+
'foundation:verify',
|
|
477
491
|
...prospectiveVerification,
|
|
478
492
|
developerAgentWorkspaceVerificationTarget(context),
|
|
479
493
|
]),
|