@empire-builder-kit/nx 1.0.0-beta.9 → 1.0.0-rc.2
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/NOTICE +6 -0
- package/README.md +113 -3
- package/executors.json +30 -0
- package/package.json +84 -6
- package/src/api-contract/baseline-update.d.ts +82 -0
- package/src/api-contract/baseline-update.js +225 -0
- package/src/api-contract/baseline-update.js.map +1 -0
- package/src/api-contract/compatibility.d.ts +30 -0
- package/src/api-contract/compatibility.js +643 -0
- package/src/api-contract/compatibility.js.map +1 -0
- package/src/api-contract/contract-graph.d.ts +35 -0
- package/src/api-contract/contract-graph.js +141 -0
- package/src/api-contract/contract-graph.js.map +1 -0
- package/src/api-contract/evidence.d.ts +23 -0
- package/src/api-contract/evidence.js +87 -0
- package/src/api-contract/evidence.js.map +1 -0
- package/src/api-contract/index.d.ts +6 -0
- package/src/api-contract/index.js +10 -0
- package/src/api-contract/index.js.map +1 -0
- package/src/api-contract/model.d.ts +144 -0
- package/src/api-contract/model.fixtures.d.ts +2 -0
- package/src/api-contract/model.fixtures.js +81 -0
- package/src/api-contract/model.fixtures.js.map +1 -0
- package/src/api-contract/model.js +993 -0
- package/src/api-contract/model.js.map +1 -0
- package/src/api-contract/rollout.d.ts +32 -0
- package/src/api-contract/rollout.js +88 -0
- package/src/api-contract/rollout.js.map +1 -0
- package/src/authorization/compatibility.d.ts +62 -0
- package/src/authorization/compatibility.js +175 -0
- package/src/authorization/compatibility.js.map +1 -0
- package/src/authorization/index.d.ts +1 -0
- package/src/authorization/index.js +5 -0
- package/src/authorization/index.js.map +1 -0
- package/src/blueprints/execution.d.ts +25 -1
- package/src/blueprints/execution.js +246 -83
- package/src/blueprints/execution.js.map +1 -1
- package/src/blueprints/external-sandbox.d.ts +53 -0
- package/src/blueprints/external-sandbox.js +1182 -0
- package/src/blueprints/external-sandbox.js.map +1 -0
- package/src/blueprints/manifest.d.ts +42 -2
- package/src/blueprints/manifest.js +82 -27
- package/src/blueprints/manifest.js.map +1 -1
- package/src/blueprints/resolver.d.ts +14 -5
- package/src/blueprints/resolver.js +228 -68
- package/src/blueprints/resolver.js.map +1 -1
- package/src/cli/agent-command.d.ts +30 -0
- package/src/cli/agent-command.js +204 -0
- package/src/cli/agent-command.js.map +1 -0
- package/src/cli/agent-runtime.d.ts +25 -0
- package/src/cli/agent-runtime.js +488 -0
- package/src/cli/agent-runtime.js.map +1 -0
- package/src/cli/blueprint-authority.d.ts +9 -0
- package/src/cli/blueprint-authority.js +43 -0
- package/src/cli/blueprint-authority.js.map +1 -0
- package/src/cli/blueprint-command.d.ts +24 -0
- package/src/cli/blueprint-command.js +63 -0
- package/src/cli/blueprint-command.js.map +1 -0
- package/src/cli/bootstrap.d.ts +31 -0
- package/src/cli/bootstrap.js +165 -0
- package/src/cli/bootstrap.js.map +1 -0
- package/src/cli/dev-command.d.ts +92 -0
- package/src/cli/dev-command.js +561 -0
- package/src/cli/dev-command.js.map +1 -0
- package/src/cli/main.d.ts +131 -0
- package/src/cli/main.js +1199 -0
- package/src/cli/main.js.map +1 -0
- package/src/cli/output.d.ts +19 -0
- package/src/cli/output.js +51 -0
- package/src/cli/output.js.map +1 -0
- package/src/cli/personal-secret-runtime.d.ts +81 -0
- package/src/cli/personal-secret-runtime.js +567 -0
- package/src/cli/personal-secret-runtime.js.map +1 -0
- package/src/cli/secret-terminal.d.ts +12 -0
- package/src/cli/secret-terminal.js +128 -0
- package/src/cli/secret-terminal.js.map +1 -0
- package/src/container-images.d.ts +1 -0
- package/src/container-images.js +5 -0
- package/src/container-images.js.map +1 -0
- package/src/data-lifecycle/index.d.ts +3 -0
- package/src/data-lifecycle/index.js +7 -0
- package/src/data-lifecycle/index.js.map +1 -0
- package/src/data-lifecycle/model.d.ts +172 -0
- package/src/data-lifecycle/model.fixtures.d.ts +2 -0
- package/src/data-lifecycle/model.fixtures.js +244 -0
- package/src/data-lifecycle/model.fixtures.js.map +1 -0
- package/src/data-lifecycle/model.js +95 -0
- package/src/data-lifecycle/model.js.map +1 -0
- package/src/data-lifecycle/sensitive-artifacts.d.ts +28 -0
- package/src/data-lifecycle/sensitive-artifacts.js +146 -0
- package/src/data-lifecycle/sensitive-artifacts.js.map +1 -0
- package/src/data-lifecycle/validation.d.ts +32 -0
- package/src/data-lifecycle/validation.js +837 -0
- package/src/data-lifecycle/validation.js.map +1 -0
- package/src/database-retirement/contract.d.ts +68 -0
- package/src/database-retirement/contract.js +166 -0
- package/src/database-retirement/contract.js.map +1 -0
- package/src/database-retirement/index.d.ts +1 -0
- package/src/database-retirement/index.js +5 -0
- package/src/database-retirement/index.js.map +1 -0
- package/src/deterministic-order.d.ts +2 -0
- package/src/deterministic-order.js +7 -0
- package/src/deterministic-order.js.map +1 -0
- package/src/developer-agent/context.d.ts +27 -0
- package/src/developer-agent/context.js +497 -0
- package/src/developer-agent/context.js.map +1 -0
- package/src/developer-agent/generator-planning.d.ts +34 -0
- package/src/developer-agent/generator-planning.js +645 -0
- package/src/developer-agent/generator-planning.js.map +1 -0
- package/src/developer-agent/generator-preview.d.ts +8 -0
- package/src/developer-agent/generator-preview.js +650 -0
- package/src/developer-agent/generator-preview.js.map +1 -0
- package/src/developer-agent/git-inspection.d.ts +108 -0
- package/src/developer-agent/git-inspection.js +815 -0
- package/src/developer-agent/git-inspection.js.map +1 -0
- package/src/developer-agent/handoff.d.ts +43 -0
- package/src/developer-agent/handoff.js +698 -0
- package/src/developer-agent/handoff.js.map +1 -0
- package/src/developer-agent/index.d.ts +10 -0
- package/src/developer-agent/index.js +14 -0
- package/src/developer-agent/index.js.map +1 -0
- package/src/developer-agent/model.d.ts +481 -0
- package/src/developer-agent/model.js +143 -0
- package/src/developer-agent/model.js.map +1 -0
- package/src/developer-agent/operation-registry.d.ts +45 -0
- package/src/developer-agent/operation-registry.js +1255 -0
- package/src/developer-agent/operation-registry.js.map +1 -0
- package/src/developer-agent/ordering.d.ts +9 -0
- package/src/developer-agent/ordering.js +15 -0
- package/src/developer-agent/ordering.js.map +1 -0
- package/src/developer-agent/planning.d.ts +18 -0
- package/src/developer-agent/planning.js +447 -0
- package/src/developer-agent/planning.js.map +1 -0
- package/src/developer-agent/preview-changes.d.ts +26 -0
- package/src/developer-agent/preview-changes.js +203 -0
- package/src/developer-agent/preview-changes.js.map +1 -0
- package/src/developer-agent/preview-source.d.ts +2 -0
- package/src/developer-agent/preview-source.js +16 -0
- package/src/developer-agent/preview-source.js.map +1 -0
- package/src/developer-agent/validation.d.ts +18 -0
- package/src/developer-agent/validation.js +2617 -0
- package/src/developer-agent/validation.js.map +1 -0
- package/src/developer-agent/workspace-inspection.d.ts +20 -0
- package/src/developer-agent/workspace-inspection.js +1134 -0
- package/src/developer-agent/workspace-inspection.js.map +1 -0
- package/src/developer-agent/workspace-path.d.ts +6 -0
- package/src/developer-agent/workspace-path.js +22 -0
- package/src/developer-agent/workspace-path.js.map +1 -0
- package/src/executors/blueprint-trust/blueprint-trust.d.ts +29 -0
- package/src/executors/blueprint-trust/blueprint-trust.js +115 -0
- package/src/executors/blueprint-trust/blueprint-trust.js.map +1 -0
- package/src/executors/blueprint-trust/schema.json +27 -0
- package/src/executors/blueprint-verification/blueprint-verification.d.ts +13 -0
- package/src/executors/blueprint-verification/blueprint-verification.js +110 -0
- package/src/executors/blueprint-verification/blueprint-verification.js.map +1 -0
- package/src/executors/blueprint-verification/schema.json +44 -0
- package/src/executors/deployment-plan/deployment-plan.js +1 -0
- package/src/executors/deployment-plan/deployment-plan.js.map +1 -1
- package/src/executors/dev-doctor/dev-doctor.d.ts +19 -5
- package/src/executors/dev-doctor/dev-doctor.js +186 -32
- package/src/executors/dev-doctor/dev-doctor.js.map +1 -1
- package/src/executors/dev-doctor/schema.json +1 -6
- package/src/executors/dev-setup/dev-setup.d.ts +7 -1
- package/src/executors/dev-setup/dev-setup.js +14 -3
- package/src/executors/dev-setup/dev-setup.js.map +1 -1
- package/src/executors/developer-context/developer-context.d.ts +38 -0
- package/src/executors/developer-context/developer-context.js +78 -0
- package/src/executors/developer-context/developer-context.js.map +1 -0
- package/src/executors/developer-context/schema.json +87 -0
- package/src/executors/fleet/fleet.d.ts +12 -43
- package/src/executors/fleet/fleet.js +120 -500
- package/src/executors/fleet/fleet.js.map +1 -1
- package/src/executors/fleet/schema.json +64 -14
- package/src/executors/github-bootstrap/github-bootstrap.d.ts +1 -0
- package/src/executors/github-bootstrap/github-bootstrap.js +1 -0
- package/src/executors/github-bootstrap/github-bootstrap.js.map +1 -1
- package/src/executors/github-bootstrap/schema.json +5 -0
- package/src/executors/infrastructure-plan/infrastructure-plan.d.ts +144 -0
- package/src/executors/infrastructure-plan/infrastructure-plan.js +3320 -0
- package/src/executors/infrastructure-plan/infrastructure-plan.js.map +1 -0
- package/src/executors/infrastructure-plan/schema.json +78 -0
- package/src/executors/secret-guardrails/schema.json +6 -0
- package/src/executors/secret-guardrails/secret-guardrails.d.ts +3 -0
- package/src/executors/secret-guardrails/secret-guardrails.js +44 -0
- package/src/executors/secret-guardrails/secret-guardrails.js.map +1 -0
- package/src/executors/secret-metadata/schema.json +31 -0
- package/src/executors/secret-metadata/secret-metadata.d.ts +32 -0
- package/src/executors/secret-metadata/secret-metadata.js +131 -0
- package/src/executors/secret-metadata/secret-metadata.js.map +1 -0
- package/src/executors/sst-lifecycle/logging-preflight.d.ts +17 -0
- package/src/executors/sst-lifecycle/logging-preflight.js +196 -0
- package/src/executors/sst-lifecycle/logging-preflight.js.map +1 -0
- package/src/executors/sst-lifecycle/run-sst-command.d.ts +23 -3
- package/src/executors/sst-lifecycle/run-sst-command.js +113 -10
- package/src/executors/sst-lifecycle/run-sst-command.js.map +1 -1
- package/src/executors/sst-lifecycle/schema.json +9 -5
- package/src/executors/sst-lifecycle/secret-preflight.d.ts +25 -0
- package/src/executors/sst-lifecycle/secret-preflight.js +119 -0
- package/src/executors/sst-lifecycle/secret-preflight.js.map +1 -0
- package/src/foundation/discovery.d.ts +17 -1
- package/src/foundation/discovery.js +16 -1
- package/src/foundation/discovery.js.map +1 -1
- package/src/foundation/index.d.ts +3 -0
- package/src/foundation/index.js +3 -0
- package/src/foundation/index.js.map +1 -1
- package/src/foundation/local-database-contract.d.ts +1 -0
- package/src/foundation/local-database-contract.js +3 -0
- package/src/foundation/local-database-contract.js.map +1 -1
- package/src/foundation/logging-preflight.d.ts +30 -0
- package/src/foundation/logging-preflight.js +138 -0
- package/src/foundation/logging-preflight.js.map +1 -0
- package/src/foundation/logging.d.ts +70 -0
- package/src/foundation/logging.js +133 -0
- package/src/foundation/logging.js.map +1 -0
- package/src/foundation/preflight.d.ts +9 -0
- package/src/foundation/preflight.js +58 -2
- package/src/foundation/preflight.js.map +1 -1
- package/src/foundation/provision-database-bindings.d.ts +9 -1
- package/src/foundation/provision-database-bindings.js +25 -5
- package/src/foundation/provision-database-bindings.js.map +1 -1
- package/src/foundation/provision-logical-database.d.ts +10 -2
- package/src/foundation/provision-logical-database.js +68 -113
- package/src/foundation/provision-logical-database.js.map +1 -1
- package/src/foundation/router-origin-proof.d.ts +2 -0
- package/src/foundation/router-origin-proof.js +25 -0
- package/src/foundation/router-origin-proof.js.map +1 -0
- package/src/foundation/stages.d.ts +1 -0
- package/src/foundation/stages.js +9 -1
- package/src/foundation/stages.js.map +1 -1
- package/src/frontend-security/index.d.ts +1 -0
- package/src/frontend-security/index.js +5 -0
- package/src/frontend-security/index.js.map +1 -0
- package/src/frontend-security/security-headers.d.ts +50 -0
- package/src/frontend-security/security-headers.js +418 -0
- package/src/frontend-security/security-headers.js.map +1 -0
- package/src/generators/feature-registry.d.ts +13 -0
- package/src/generators/feature-registry.js +73 -0
- package/src/generators/feature-registry.js.map +1 -0
- package/src/generators/function/function.d.ts +1 -1
- package/src/generators/function/function.js +51 -6
- package/src/generators/function/function.js.map +1 -1
- package/src/generators/function/schema.d.ts +1 -0
- package/src/generators/function/schema.json +6 -1
- package/src/generators/logging-registry.d.ts +13 -0
- package/src/generators/logging-registry.js +62 -0
- package/src/generators/logging-registry.js.map +1 -0
- package/src/generators/post-generation-install.d.ts +67 -0
- package/src/generators/post-generation-install.js +3308 -0
- package/src/generators/post-generation-install.js.map +1 -0
- package/src/generators/preset/generator.js +3 -0
- package/src/generators/preset/generator.js.map +1 -1
- package/src/generators/preset/tool-versions.d.ts +18 -0
- package/src/generators/preset/tool-versions.js +22 -0
- package/src/generators/preset/tool-versions.js.map +1 -0
- package/src/generators/preset/workspace-files-developer-agent.d.ts +14 -0
- package/src/generators/preset/workspace-files-developer-agent.js +511 -0
- package/src/generators/preset/workspace-files-developer-agent.js.map +1 -0
- package/src/generators/preset/workspace-files-foundation-workload-roles.d.ts +6 -0
- package/src/generators/preset/workspace-files-foundation-workload-roles.js +406 -0
- package/src/generators/preset/workspace-files-foundation-workload-roles.js.map +1 -0
- package/src/generators/preset/workspace-files-performance-cost.d.ts +66 -0
- package/src/generators/preset/workspace-files-performance-cost.js +866 -0
- package/src/generators/preset/workspace-files-performance-cost.js.map +1 -0
- package/src/generators/preset/workspace-files-performance-load.d.ts +73 -0
- package/src/generators/preset/workspace-files-performance-load.js +801 -0
- package/src/generators/preset/workspace-files-performance-load.js.map +1 -0
- package/src/generators/preset/workspace-files-workload-role-baseline.d.ts +9 -0
- package/src/generators/preset/workspace-files-workload-role-baseline.js +1102 -0
- package/src/generators/preset/workspace-files-workload-role-baseline.js.map +1 -0
- package/src/generators/preset/workspace-files.d.ts +14 -1
- package/src/generators/preset/workspace-files.js +8189 -245
- package/src/generators/preset/workspace-files.js.map +1 -1
- package/src/generators/repository-policy/repository-policy.js +3 -47
- package/src/generators/repository-policy/repository-policy.js.map +1 -1
- package/src/generators/slice/built-in-plan-api-contract-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-api-contract-files.js +2656 -0
- package/src/generators/slice/built-in-plan-api-contract-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-api-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-api-files.js +1186 -0
- package/src/generators/slice/built-in-plan-api-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-async-work-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-async-work-files.js +7903 -0
- package/src/generators/slice/built-in-plan-async-work-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-authorization-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-authorization-files.js +2314 -0
- package/src/generators/slice/built-in-plan-authorization-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-authorization-infrastructure-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js +559 -0
- package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-data-deletion-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-data-deletion-files.js +1101 -0
- package/src/generators/slice/built-in-plan-data-deletion-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-data-export-infrastructure-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-data-export-infrastructure-files.js +249 -0
- package/src/generators/slice/built-in-plan-data-export-infrastructure-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-data-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-data-files.js +1530 -0
- package/src/generators/slice/built-in-plan-data-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-data-lifecycle-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-data-lifecycle-files.js +750 -0
- package/src/generators/slice/built-in-plan-data-lifecycle-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-data-lifecycle-runtime-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-data-lifecycle-runtime-files.js +828 -0
- package/src/generators/slice/built-in-plan-data-lifecycle-runtime-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-data-retention-job-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-data-retention-job-files.js +2604 -0
- package/src/generators/slice/built-in-plan-data-retention-job-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-data-retention-launcher-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-data-retention-launcher-files.js +144 -0
- package/src/generators/slice/built-in-plan-data-retention-launcher-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-data-rights-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-data-rights-files.js +4628 -0
- package/src/generators/slice/built-in-plan-data-rights-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-database-lifecycle-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-database-lifecycle-files.js +1901 -0
- package/src/generators/slice/built-in-plan-database-lifecycle-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-database-retirement-rehearsal-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-database-retirement-rehearsal-files.js +485 -0
- package/src/generators/slice/built-in-plan-database-retirement-rehearsal-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-foundation-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-foundation-files.js +184 -0
- package/src/generators/slice/built-in-plan-foundation-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-frontend-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-frontend-files.js +2233 -0
- package/src/generators/slice/built-in-plan-frontend-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-infrastructure-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-infrastructure-files.js +3038 -0
- package/src/generators/slice/built-in-plan-infrastructure-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-infrastructure-safety-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-infrastructure-safety-files.js +312 -0
- package/src/generators/slice/built-in-plan-infrastructure-safety-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-metadata-files.d.ts +3 -0
- package/src/generators/slice/built-in-plan-metadata-files.js +219 -0
- package/src/generators/slice/built-in-plan-metadata-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-operations-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-operations-files.js +630 -0
- package/src/generators/slice/built-in-plan-operations-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-performance-files.d.ts +3 -0
- package/src/generators/slice/built-in-plan-performance-files.js +3293 -0
- package/src/generators/slice/built-in-plan-performance-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-project-files.d.ts +3 -0
- package/src/generators/slice/built-in-plan-project-files.js +979 -0
- package/src/generators/slice/built-in-plan-project-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-release-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-release-files.js +6387 -0
- package/src/generators/slice/built-in-plan-release-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-reliability-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-reliability-files.js +4499 -0
- package/src/generators/slice/built-in-plan-reliability-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-secret-runtime-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-secret-runtime-files.js +1004 -0
- package/src/generators/slice/built-in-plan-secret-runtime-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-shared.d.ts +53 -0
- package/src/generators/slice/built-in-plan-shared.js +113 -0
- package/src/generators/slice/built-in-plan-shared.js.map +1 -0
- package/src/generators/slice/built-in-plan-testing-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-testing-files.js +2356 -0
- package/src/generators/slice/built-in-plan-testing-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-verification-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-verification-files.js +358 -0
- package/src/generators/slice/built-in-plan-verification-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-web-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-web-files.js +430 -0
- package/src/generators/slice/built-in-plan-web-files.js.map +1 -0
- package/src/generators/slice/built-in-plan-workload-role-files.d.ts +2 -0
- package/src/generators/slice/built-in-plan-workload-role-files.js +2356 -0
- package/src/generators/slice/built-in-plan-workload-role-files.js.map +1 -0
- package/src/generators/slice/built-in-plan.d.ts +8 -0
- package/src/generators/slice/built-in-plan.js +264 -0
- package/src/generators/slice/built-in-plan.js.map +1 -0
- package/src/generators/slice/schema.json +1 -1
- package/src/generators/slice/slice.d.ts +1 -22
- package/src/generators/slice/slice.js +185 -1510
- package/src/generators/slice/slice.js.map +1 -1
- package/src/generators/upgrade/schema.d.ts +2 -0
- package/src/generators/upgrade/schema.json +11 -1
- package/src/generators/upgrade/upgrade.d.ts +51 -1
- package/src/generators/upgrade/upgrade.js +820 -82
- package/src/generators/upgrade/upgrade.js.map +1 -1
- package/src/generators/workload/frozen-container.d.ts +8 -0
- package/src/generators/workload/frozen-container.js +36 -0
- package/src/generators/workload/frozen-container.js.map +1 -0
- package/src/generators/workload/performance-registration.d.ts +32 -0
- package/src/generators/workload/performance-registration.js +226 -0
- package/src/generators/workload/performance-registration.js.map +1 -0
- package/src/generators/workload/reliability-registration.d.ts +16 -0
- package/src/generators/workload/reliability-registration.js +150 -0
- package/src/generators/workload/reliability-registration.js.map +1 -0
- package/src/generators/workload/schema.d.ts +1 -0
- package/src/generators/workload/schema.json +6 -1
- package/src/generators/workload/service-performance-files.d.ts +4 -0
- package/src/generators/workload/service-performance-files.js +1846 -0
- package/src/generators/workload/service-performance-files.js.map +1 -0
- package/src/generators/workload/workload.d.ts +3 -2
- package/src/generators/workload/workload.js +1083 -18
- package/src/generators/workload/workload.js.map +1 -1
- package/src/git-policy/action-pins.d.ts +10 -0
- package/src/git-policy/action-pins.js +10 -0
- package/src/git-policy/action-pins.js.map +1 -1
- package/src/git-policy/github-bootstrap.d.ts +14 -1
- package/src/git-policy/github-bootstrap.js +274 -46
- package/src/git-policy/github-bootstrap.js.map +1 -1
- package/src/index.d.ts +2 -0
- package/src/index.js +2 -0
- package/src/index.js.map +1 -1
- package/src/infrastructure-change/convergence.d.ts +13 -0
- package/src/infrastructure-change/convergence.js +85 -0
- package/src/infrastructure-change/convergence.js.map +1 -0
- package/src/infrastructure-change/drift.d.ts +13 -0
- package/src/infrastructure-change/drift.js +112 -0
- package/src/infrastructure-change/drift.js.map +1 -0
- package/src/infrastructure-change/index.d.ts +7 -0
- package/src/infrastructure-change/index.js +11 -0
- package/src/infrastructure-change/index.js.map +1 -0
- package/src/infrastructure-change/model.d.ts +253 -0
- package/src/infrastructure-change/model.js +28 -0
- package/src/infrastructure-change/model.js.map +1 -0
- package/src/infrastructure-change/normalize.d.ts +12 -0
- package/src/infrastructure-change/normalize.js +245 -0
- package/src/infrastructure-change/normalize.js.map +1 -0
- package/src/infrastructure-change/plan.d.ts +40 -0
- package/src/infrastructure-change/plan.js +361 -0
- package/src/infrastructure-change/plan.js.map +1 -0
- package/src/infrastructure-change/risk.d.ts +7 -0
- package/src/infrastructure-change/risk.js +269 -0
- package/src/infrastructure-change/risk.js.map +1 -0
- package/src/infrastructure-change/summary.d.ts +20 -0
- package/src/infrastructure-change/summary.js +130 -0
- package/src/infrastructure-change/summary.js.map +1 -0
- package/src/local-dev/context-discovery.d.ts +2 -0
- package/src/local-dev/context-discovery.js +59 -0
- package/src/local-dev/context-discovery.js.map +1 -0
- package/src/local-dev/contract-validation.d.ts +15 -0
- package/src/local-dev/contract-validation.js +84 -0
- package/src/local-dev/contract-validation.js.map +1 -0
- package/src/local-dev/contracts.d.ts +10 -1
- package/src/local-dev/contracts.js +57 -5
- package/src/local-dev/contracts.js.map +1 -1
- package/src/local-dev/control-contract.d.ts +67 -0
- package/src/local-dev/control-contract.js +180 -0
- package/src/local-dev/control-contract.js.map +1 -0
- package/src/local-dev/dev-command-core.d.ts +60 -0
- package/src/local-dev/dev-command-core.js +89 -0
- package/src/local-dev/dev-command-core.js.map +1 -0
- package/src/local-dev/effects.d.ts +16 -0
- package/src/local-dev/effects.js +63 -0
- package/src/local-dev/effects.js.map +1 -0
- package/src/local-dev/environment-inspector.d.ts +125 -0
- package/src/local-dev/environment-inspector.js +687 -0
- package/src/local-dev/environment-inspector.js.map +1 -0
- package/src/local-dev/environment-state.d.ts +113 -0
- package/src/local-dev/environment-state.js +463 -0
- package/src/local-dev/environment-state.js.map +1 -0
- package/src/local-dev/errors.d.ts +6 -0
- package/src/local-dev/errors.js +41 -0
- package/src/local-dev/errors.js.map +1 -0
- package/src/local-dev/fleet-client.d.ts +33 -0
- package/src/local-dev/fleet-client.js +156 -0
- package/src/local-dev/fleet-client.js.map +1 -0
- package/src/local-dev/fleet-configuration.d.ts +13 -0
- package/src/local-dev/fleet-configuration.js +71 -0
- package/src/local-dev/fleet-configuration.js.map +1 -0
- package/src/local-dev/fleet-inventory.d.ts +56 -0
- package/src/local-dev/fleet-inventory.js +469 -0
- package/src/local-dev/fleet-inventory.js.map +1 -0
- package/src/local-dev/fleet-ipc.d.ts +28 -0
- package/src/local-dev/fleet-ipc.js +267 -0
- package/src/local-dev/fleet-ipc.js.map +1 -0
- package/src/local-dev/fleet-launcher.d.ts +53 -0
- package/src/local-dev/fleet-launcher.js +379 -0
- package/src/local-dev/fleet-launcher.js.map +1 -0
- package/src/local-dev/fleet-lock.d.ts +41 -0
- package/src/local-dev/fleet-lock.js +135 -0
- package/src/local-dev/fleet-lock.js.map +1 -0
- package/src/local-dev/fleet-logs.d.ts +66 -0
- package/src/local-dev/fleet-logs.js +542 -0
- package/src/local-dev/fleet-logs.js.map +1 -0
- package/src/local-dev/fleet-process.d.ts +50 -0
- package/src/local-dev/fleet-process.js +289 -0
- package/src/local-dev/fleet-process.js.map +1 -0
- package/src/local-dev/fleet-runtime.d.ts +22 -0
- package/src/local-dev/fleet-runtime.js +368 -0
- package/src/local-dev/fleet-runtime.js.map +1 -0
- package/src/local-dev/fleet-session.d.ts +70 -0
- package/src/local-dev/fleet-session.js +301 -0
- package/src/local-dev/fleet-session.js.map +1 -0
- package/src/local-dev/fleet-slice-runner-daemon.d.ts +1 -0
- package/src/local-dev/fleet-slice-runner-daemon.js +21 -0
- package/src/local-dev/fleet-slice-runner-daemon.js.map +1 -0
- package/src/local-dev/fleet-startup.d.ts +22 -0
- package/src/local-dev/fleet-startup.js +114 -0
- package/src/local-dev/fleet-startup.js.map +1 -0
- package/src/local-dev/fleet-state.d.ts +62 -0
- package/src/local-dev/fleet-state.js +297 -0
- package/src/local-dev/fleet-state.js.map +1 -0
- package/src/local-dev/fleet-supervisor-daemon.d.ts +1 -0
- package/src/local-dev/fleet-supervisor-daemon.js +41 -0
- package/src/local-dev/fleet-supervisor-daemon.js.map +1 -0
- package/src/local-dev/fleet-supervisor.d.ts +52 -0
- package/src/local-dev/fleet-supervisor.js +384 -0
- package/src/local-dev/fleet-supervisor.js.map +1 -0
- package/src/local-dev/gateway.js +1 -1
- package/src/local-dev/gateway.js.map +1 -1
- package/src/local-dev/identity.js +4 -6
- package/src/local-dev/identity.js.map +1 -1
- package/src/local-dev/index.d.ts +1 -0
- package/src/local-dev/index.js +1 -0
- package/src/local-dev/index.js.map +1 -1
- package/src/local-dev/local-context.d.ts +62 -0
- package/src/local-dev/local-context.js +299 -0
- package/src/local-dev/local-context.js.map +1 -0
- package/src/local-dev/nx-workspace.d.ts +45 -0
- package/src/local-dev/nx-workspace.js +228 -0
- package/src/local-dev/nx-workspace.js.map +1 -0
- package/src/local-dev/personal-secret-ledger.d.ts +75 -0
- package/src/local-dev/personal-secret-ledger.js +391 -0
- package/src/local-dev/personal-secret-ledger.js.map +1 -0
- package/src/local-dev/personal-stage.d.ts +18 -0
- package/src/local-dev/personal-stage.js +129 -0
- package/src/local-dev/personal-stage.js.map +1 -0
- package/src/local-dev/private-state.d.ts +17 -0
- package/src/local-dev/private-state.js +254 -0
- package/src/local-dev/private-state.js.map +1 -0
- package/src/local-dev/process-identity.d.ts +9 -0
- package/src/local-dev/process-identity.js +79 -0
- package/src/local-dev/process-identity.js.map +1 -0
- package/src/local-dev/runtime-paths.d.ts +17 -0
- package/src/local-dev/runtime-paths.js +33 -0
- package/src/local-dev/runtime-paths.js.map +1 -0
- package/src/local-dev/secret-slice-claim.d.ts +17 -0
- package/src/local-dev/secret-slice-claim.js +75 -0
- package/src/local-dev/secret-slice-claim.js.map +1 -0
- package/src/local-dev/slice-claim.d.ts +36 -0
- package/src/local-dev/slice-claim.js +199 -0
- package/src/local-dev/slice-claim.js.map +1 -0
- package/src/local-dev/slice-runner.d.ts +121 -0
- package/src/local-dev/slice-runner.js +715 -0
- package/src/local-dev/slice-runner.js.map +1 -0
- package/src/local-dev/tls.js +51 -17
- package/src/local-dev/tls.js.map +1 -1
- package/src/ownership/composition.d.ts +5 -2
- package/src/ownership/composition.js +26 -3
- package/src/ownership/composition.js.map +1 -1
- package/src/ownership/hash.d.ts +1 -1
- package/src/ownership/hash.js +3 -1
- package/src/ownership/hash.js.map +1 -1
- package/src/ownership/record.d.ts +32 -1
- package/src/ownership/record.js +139 -2
- package/src/ownership/record.js.map +1 -1
- package/src/performance/cost-collection.d.ts +225 -0
- package/src/performance/cost-collection.js +825 -0
- package/src/performance/cost-collection.js.map +1 -0
- package/src/performance/cost-controls.d.ts +131 -0
- package/src/performance/cost-controls.js +336 -0
- package/src/performance/cost-controls.js.map +1 -0
- package/src/performance/evidence.d.ts +140 -0
- package/src/performance/evidence.js +599 -0
- package/src/performance/evidence.js.map +1 -0
- package/src/performance/index.d.ts +10 -0
- package/src/performance/index.js +14 -0
- package/src/performance/index.js.map +1 -0
- package/src/performance/load-safety.d.ts +84 -0
- package/src/performance/load-safety.js +346 -0
- package/src/performance/load-safety.js.map +1 -0
- package/src/performance/model.d.ts +129 -0
- package/src/performance/model.js +452 -0
- package/src/performance/model.js.map +1 -0
- package/src/performance/pr-artifact-budget.d.ts +42 -0
- package/src/performance/pr-artifact-budget.js +151 -0
- package/src/performance/pr-artifact-budget.js.map +1 -0
- package/src/performance/runner.d.ts +75 -0
- package/src/performance/runner.js +227 -0
- package/src/performance/runner.js.map +1 -0
- package/src/performance/scenario-endpoint.d.ts +1 -0
- package/src/performance/scenario-endpoint.js +5 -0
- package/src/performance/scenario-endpoint.js.map +1 -0
- package/src/performance/scenario.d.ts +193 -0
- package/src/performance/scenario.js +736 -0
- package/src/performance/scenario.js.map +1 -0
- package/src/performance/test-fixtures.d.ts +7 -0
- package/src/performance/test-fixtures.js +169 -0
- package/src/performance/test-fixtures.js.map +1 -0
- package/src/performance/unit-cost.d.ts +105 -0
- package/src/performance/unit-cost.js +364 -0
- package/src/performance/unit-cost.js.map +1 -0
- package/src/release/index.d.ts +4 -0
- package/src/release/index.js +8 -0
- package/src/release/index.js.map +1 -0
- package/src/release/lifecycle.d.ts +132 -0
- package/src/release/lifecycle.js +411 -0
- package/src/release/lifecycle.js.map +1 -0
- package/src/release/manifest.d.ts +148 -0
- package/src/release/manifest.js +503 -0
- package/src/release/manifest.js.map +1 -0
- package/src/release/rollout.d.ts +170 -0
- package/src/release/rollout.js +578 -0
- package/src/release/rollout.js.map +1 -0
- package/src/release/source-authority.d.ts +19 -0
- package/src/release/source-authority.js +195 -0
- package/src/release/source-authority.js.map +1 -0
- package/src/repository-policy/deployment-plan.d.ts +2 -1
- package/src/repository-policy/deployment-plan.js +2 -0
- package/src/repository-policy/deployment-plan.js.map +1 -1
- package/src/repository-policy/policy.d.ts +1 -1
- package/src/repository-policy/policy.js +29 -25
- package/src/repository-policy/policy.js.map +1 -1
- package/src/schemas/aggregate-count-evidence-v1.json +135 -0
- package/src/schemas/api-contract-baseline-v1.json +674 -0
- package/src/schemas/api-contract-compatibility-report-v1.json +126 -0
- package/src/schemas/aws-billing-actual-evidence-v1.json +407 -0
- package/src/schemas/blueprint-v1.json +18 -1
- package/src/schemas/data-lifecycle-policy-v1.json +517 -0
- package/src/schemas/generated-ownership-v2.json +22 -0
- package/src/schemas/performance-policy-v1.json +335 -0
- package/src/schemas/repository-policy-v1.json +1 -0
- package/src/schemas/testing-evidence-quarantine-v1.json +168 -0
- package/src/schemas/testing-evidence-result-v1.json +319 -0
- package/src/secrets/adapters.d.ts +49 -0
- package/src/secrets/adapters.js +184 -0
- package/src/secrets/adapters.js.map +1 -0
- package/src/secrets/aws-control-plane.d.ts +20 -0
- package/src/secrets/aws-control-plane.js +255 -0
- package/src/secrets/aws-control-plane.js.map +1 -0
- package/src/secrets/declaration-verification.d.ts +11 -0
- package/src/secrets/declaration-verification.js +68 -0
- package/src/secrets/declaration-verification.js.map +1 -0
- package/src/secrets/guardrails.d.ts +26 -0
- package/src/secrets/guardrails.js +328 -0
- package/src/secrets/guardrails.js.map +1 -0
- package/src/secrets/index.d.ts +12 -0
- package/src/secrets/index.js +16 -0
- package/src/secrets/index.js.map +1 -0
- package/src/secrets/metadata.d.ts +48 -0
- package/src/secrets/metadata.js +171 -0
- package/src/secrets/metadata.js.map +1 -0
- package/src/secrets/model.d.ts +49 -0
- package/src/secrets/model.js +125 -0
- package/src/secrets/model.js.map +1 -0
- package/src/secrets/operator.d.ts +101 -0
- package/src/secrets/operator.js +229 -0
- package/src/secrets/operator.js.map +1 -0
- package/src/secrets/permissions.d.ts +34 -0
- package/src/secrets/permissions.js +86 -0
- package/src/secrets/permissions.js.map +1 -0
- package/src/secrets/personal-command.d.ts +83 -0
- package/src/secrets/personal-command.js +197 -0
- package/src/secrets/personal-command.js.map +1 -0
- package/src/secrets/personal-ledger.d.ts +21 -0
- package/src/secrets/personal-ledger.js +135 -0
- package/src/secrets/personal-ledger.js.map +1 -0
- package/src/secrets/registry.d.ts +9 -0
- package/src/secrets/registry.js +86 -0
- package/src/secrets/registry.js.map +1 -0
- package/src/secrets/verification.d.ts +18 -0
- package/src/secrets/verification.js +139 -0
- package/src/secrets/verification.js.map +1 -0
- package/src/secrets/workload-access.d.ts +46 -0
- package/src/secrets/workload-access.js +163 -0
- package/src/secrets/workload-access.js.map +1 -0
- package/src/supply-chain/action-pins.d.ts +26 -0
- package/src/supply-chain/action-pins.js +208 -0
- package/src/supply-chain/action-pins.js.map +1 -0
- package/src/supply-chain/blueprint-trust-git.d.ts +130 -0
- package/src/supply-chain/blueprint-trust-git.js +1581 -0
- package/src/supply-chain/blueprint-trust-git.js.map +1 -0
- package/src/supply-chain/blueprint-trust-process.d.ts +4 -0
- package/src/supply-chain/blueprint-trust-process.js +88 -0
- package/src/supply-chain/blueprint-trust-process.js.map +1 -0
- package/src/supply-chain/blueprint-trust.d.ts +354 -0
- package/src/supply-chain/blueprint-trust.js +1558 -0
- package/src/supply-chain/blueprint-trust.js.map +1 -0
- package/src/supply-chain/blueprint-verification-authority.d.ts +62 -0
- package/src/supply-chain/blueprint-verification-authority.js +588 -0
- package/src/supply-chain/blueprint-verification-authority.js.map +1 -0
- package/src/supply-chain/blueprint-verification-execution.d.ts +68 -0
- package/src/supply-chain/blueprint-verification-execution.js +624 -0
- package/src/supply-chain/blueprint-verification-execution.js.map +1 -0
- package/src/supply-chain/build-output.d.ts +35 -0
- package/src/supply-chain/build-output.js +398 -0
- package/src/supply-chain/build-output.js.map +1 -0
- package/src/supply-chain/common.d.ts +21 -0
- package/src/supply-chain/common.js +107 -0
- package/src/supply-chain/common.js.map +1 -0
- package/src/supply-chain/container-artifact-contract.d.ts +23 -0
- package/src/supply-chain/container-artifact-contract.js +208 -0
- package/src/supply-chain/container-artifact-contract.js.map +1 -0
- package/src/supply-chain/container-release.d.ts +119 -0
- package/src/supply-chain/container-release.js +496 -0
- package/src/supply-chain/container-release.js.map +1 -0
- package/src/supply-chain/ecr-applicability.d.ts +19 -0
- package/src/supply-chain/ecr-applicability.js +103 -0
- package/src/supply-chain/ecr-applicability.js.map +1 -0
- package/src/supply-chain/ecr-scanning.d.ts +83 -0
- package/src/supply-chain/ecr-scanning.js +321 -0
- package/src/supply-chain/ecr-scanning.js.map +1 -0
- package/src/supply-chain/ecs-deployed-image.d.ts +85 -0
- package/src/supply-chain/ecs-deployed-image.js +300 -0
- package/src/supply-chain/ecs-deployed-image.js.map +1 -0
- package/src/supply-chain/errors.d.ts +6 -0
- package/src/supply-chain/errors.js +15 -0
- package/src/supply-chain/errors.js.map +1 -0
- package/src/supply-chain/generated-blueprint-trust-command.d.ts +4 -0
- package/src/supply-chain/generated-blueprint-trust-command.js +1362 -0
- package/src/supply-chain/generated-blueprint-trust-command.js.map +1 -0
- package/src/supply-chain/generated-command.d.ts +1 -0
- package/src/supply-chain/generated-command.js +687 -0
- package/src/supply-chain/generated-command.js.map +1 -0
- package/src/supply-chain/generated-container-release-command.d.ts +16 -0
- package/src/supply-chain/generated-container-release-command.js +2087 -0
- package/src/supply-chain/generated-container-release-command.js.map +1 -0
- package/src/supply-chain/generated-ecr-collector-command.d.ts +21 -0
- package/src/supply-chain/generated-ecr-collector-command.js +1338 -0
- package/src/supply-chain/generated-ecr-collector-command.js.map +1 -0
- package/src/supply-chain/generated-files.d.ts +13 -0
- package/src/supply-chain/generated-files.js +401 -0
- package/src/supply-chain/generated-files.js.map +1 -0
- package/src/supply-chain/generated-scanner-command.d.ts +1 -0
- package/src/supply-chain/generated-scanner-command.js +718 -0
- package/src/supply-chain/generated-scanner-command.js.map +1 -0
- package/src/supply-chain/index.d.ts +28 -0
- package/src/supply-chain/index.js +35 -0
- package/src/supply-chain/index.js.map +1 -0
- package/src/supply-chain/inventory.d.ts +79 -0
- package/src/supply-chain/inventory.js +717 -0
- package/src/supply-chain/inventory.js.map +1 -0
- package/src/supply-chain/license-expression.d.ts +7 -0
- package/src/supply-chain/license-expression.js +128 -0
- package/src/supply-chain/license-expression.js.map +1 -0
- package/src/supply-chain/pnpm-toolchain-authority.d.ts +31 -0
- package/src/supply-chain/pnpm-toolchain-authority.js +316 -0
- package/src/supply-chain/pnpm-toolchain-authority.js.map +1 -0
- package/src/supply-chain/policy.d.ts +105 -0
- package/src/supply-chain/policy.js +301 -0
- package/src/supply-chain/policy.js.map +1 -0
- package/src/supply-chain/publication.d.ts +48 -0
- package/src/supply-chain/publication.js +85 -0
- package/src/supply-chain/publication.js.map +1 -0
- package/src/supply-chain/sbom.d.ts +228 -0
- package/src/supply-chain/sbom.js +826 -0
- package/src/supply-chain/sbom.js.map +1 -0
- package/src/supply-chain/scanner.d.ts +77 -0
- package/src/supply-chain/scanner.js +502 -0
- package/src/supply-chain/scanner.js.map +1 -0
- package/src/supply-chain/vendored-source.d.ts +95 -0
- package/src/supply-chain/vendored-source.js +315 -0
- package/src/supply-chain/vendored-source.js.map +1 -0
- package/src/testing-evidence/fixture-scope.d.ts +52 -0
- package/src/testing-evidence/fixture-scope.js +140 -0
- package/src/testing-evidence/fixture-scope.js.map +1 -0
- package/src/testing-evidence/index.d.ts +5 -0
- package/src/testing-evidence/index.js +9 -0
- package/src/testing-evidence/index.js.map +1 -0
- package/src/testing-evidence/quarantine.d.ts +48 -0
- package/src/testing-evidence/quarantine.js +253 -0
- package/src/testing-evidence/quarantine.js.map +1 -0
- package/src/testing-evidence/result.d.ts +108 -0
- package/src/testing-evidence/result.js +571 -0
- package/src/testing-evidence/result.js.map +1 -0
- package/src/testing-evidence/runner-adapter.d.ts +51 -0
- package/src/testing-evidence/runner-adapter.js +288 -0
- package/src/testing-evidence/runner-adapter.js.map +1 -0
- package/src/testing-evidence/sensitive-artifacts.d.ts +13 -0
- package/src/testing-evidence/sensitive-artifacts.js +93 -0
- package/src/testing-evidence/sensitive-artifacts.js.map +1 -0
- package/src/work-markers/work-markers.js +4 -3
- package/src/work-markers/work-markers.js.map +1 -1
- package/src/workload-roles/account-baseline.d.ts +132 -0
- package/src/workload-roles/account-baseline.js +743 -0
- package/src/workload-roles/account-baseline.js.map +1 -0
- package/src/workload-roles/authority.d.ts +38 -0
- package/src/workload-roles/authority.js +156 -0
- package/src/workload-roles/authority.js.map +1 -0
- package/src/workload-roles/aws-adapter.d.ts +99 -0
- package/src/workload-roles/aws-adapter.js +416 -0
- package/src/workload-roles/aws-adapter.js.map +1 -0
- package/src/workload-roles/aws-internal-handler.d.ts +27 -0
- package/src/workload-roles/aws-internal-handler.js +58 -0
- package/src/workload-roles/aws-internal-handler.js.map +1 -0
- package/src/workload-roles/aws-s3-state.d.ts +52 -0
- package/src/workload-roles/aws-s3-state.js +164 -0
- package/src/workload-roles/aws-s3-state.js.map +1 -0
- package/src/workload-roles/aws-sdk-control-plane.d.ts +12 -0
- package/src/workload-roles/aws-sdk-control-plane.js +291 -0
- package/src/workload-roles/aws-sdk-control-plane.js.map +1 -0
- package/src/workload-roles/boundary.d.ts +33 -0
- package/src/workload-roles/boundary.js +130 -0
- package/src/workload-roles/boundary.js.map +1 -0
- package/src/workload-roles/convergence.d.ts +66 -0
- package/src/workload-roles/convergence.js +186 -0
- package/src/workload-roles/convergence.js.map +1 -0
- package/src/workload-roles/effective-policy.d.ts +51 -0
- package/src/workload-roles/effective-policy.js +183 -0
- package/src/workload-roles/effective-policy.js.map +1 -0
- package/src/workload-roles/handler.d.ts +43 -0
- package/src/workload-roles/handler.js +130 -0
- package/src/workload-roles/handler.js.map +1 -0
- package/src/workload-roles/history.d.ts +47 -0
- package/src/workload-roles/history.js +324 -0
- package/src/workload-roles/history.js.map +1 -0
- package/src/workload-roles/index.d.ts +17 -0
- package/src/workload-roles/index.js +21 -0
- package/src/workload-roles/index.js.map +1 -0
- package/src/workload-roles/injection.d.ts +119 -0
- package/src/workload-roles/injection.js +495 -0
- package/src/workload-roles/injection.js.map +1 -0
- package/src/workload-roles/manifest.d.ts +54 -0
- package/src/workload-roles/manifest.js +343 -0
- package/src/workload-roles/manifest.js.map +1 -0
- package/src/workload-roles/provisioner.d.ts +70 -0
- package/src/workload-roles/provisioner.js +231 -0
- package/src/workload-roles/provisioner.js.map +1 -0
- package/src/workload-roles/registration.d.ts +101 -0
- package/src/workload-roles/registration.js +457 -0
- package/src/workload-roles/registration.js.map +1 -0
- package/src/workload-roles/stage-boundary.d.ts +31 -0
- package/src/workload-roles/stage-boundary.js +208 -0
- package/src/workload-roles/stage-boundary.js.map +1 -0
- package/src/workload-roles/standard-slice.d.ts +54 -0
- package/src/workload-roles/standard-slice.js +252 -0
- package/src/workload-roles/standard-slice.js.map +1 -0
- package/migrations/standard-pre-v1-to-v1.md +0 -11
- package/src/foundation/aurora-logical-database.d.ts +0 -76
- package/src/foundation/aurora-logical-database.js +0 -419
- package/src/foundation/aurora-logical-database.js.map +0 -1
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FleetControlUnauthorizedError = exports.FIXED_UNAUTHORIZED_CONTROL_RESPONSE = exports.FLEET_MUTATION_COMMANDS = exports.FLEET_CONTROL_ACTIONS = exports.FLEET_CONTROL_CAPABILITY_BYTES = exports.FLEET_CONTROL_REQUEST_MAX_BYTES = exports.FLEET_CONTROL_PROTOCOL_VERSION = void 0;
|
|
4
|
+
exports.negotiateFleetControlProtocol = negotiateFleetControlProtocol;
|
|
5
|
+
exports.validateFleetControlRequest = validateFleetControlRequest;
|
|
6
|
+
exports.parseFleetControlLine = parseFleetControlLine;
|
|
7
|
+
exports.createFleetControlCapability = createFleetControlCapability;
|
|
8
|
+
exports.digestFleetControlCapability = digestFleetControlCapability;
|
|
9
|
+
exports.authorizeFleetControlCapability = authorizeFleetControlCapability;
|
|
10
|
+
const node_crypto_1 = require("node:crypto");
|
|
11
|
+
const contract_validation_js_1 = require("./contract-validation.js");
|
|
12
|
+
const errors_js_1 = require("./errors.js");
|
|
13
|
+
const fleet_lock_js_1 = require("./fleet-lock.js");
|
|
14
|
+
exports.FLEET_CONTROL_PROTOCOL_VERSION = 1;
|
|
15
|
+
exports.FLEET_CONTROL_REQUEST_MAX_BYTES = 64 * 1024;
|
|
16
|
+
exports.FLEET_CONTROL_CAPABILITY_BYTES = 32;
|
|
17
|
+
exports.FLEET_CONTROL_ACTIONS = [
|
|
18
|
+
'ping',
|
|
19
|
+
'status',
|
|
20
|
+
'submit',
|
|
21
|
+
'operation-status',
|
|
22
|
+
'shutdown',
|
|
23
|
+
];
|
|
24
|
+
exports.FLEET_MUTATION_COMMANDS = ['up', 'down', 'restart'];
|
|
25
|
+
exports.FIXED_UNAUTHORIZED_CONTROL_RESPONSE = Object.freeze({
|
|
26
|
+
error: 'unauthorized',
|
|
27
|
+
ok: false,
|
|
28
|
+
protocolVersion: exports.FLEET_CONTROL_PROTOCOL_VERSION,
|
|
29
|
+
});
|
|
30
|
+
class FleetControlUnauthorizedError extends Error {
|
|
31
|
+
response = exports.FIXED_UNAUTHORIZED_CONTROL_RESPONSE;
|
|
32
|
+
constructor() {
|
|
33
|
+
super('Fleet control capability was rejected.');
|
|
34
|
+
this.name = 'FleetControlUnauthorizedError';
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.FleetControlUnauthorizedError = FleetControlUnauthorizedError;
|
|
38
|
+
function requireProtocolRange(value) {
|
|
39
|
+
(0, contract_validation_js_1.assertRecord)(value, 'Fleet control protocol');
|
|
40
|
+
(0, contract_validation_js_1.assertExactProperties)(value, ['maximum', 'minimum'], [], 'Fleet control protocol');
|
|
41
|
+
const minimum = (0, contract_validation_js_1.requireInteger)(value.minimum, 'Fleet control protocol minimum', 1, 1024);
|
|
42
|
+
const maximum = (0, contract_validation_js_1.requireInteger)(value.maximum, 'Fleet control protocol maximum', 1, 1024);
|
|
43
|
+
if (minimum > maximum) {
|
|
44
|
+
throw new errors_js_1.LocalDevContractError('protocol-mismatch', 'Fleet control protocol minimum exceeds maximum.');
|
|
45
|
+
}
|
|
46
|
+
return { maximum, minimum };
|
|
47
|
+
}
|
|
48
|
+
function negotiateFleetControlProtocol(range) {
|
|
49
|
+
const validated = requireProtocolRange(range);
|
|
50
|
+
if (exports.FLEET_CONTROL_PROTOCOL_VERSION < validated.minimum ||
|
|
51
|
+
exports.FLEET_CONTROL_PROTOCOL_VERSION > validated.maximum) {
|
|
52
|
+
throw new errors_js_1.LocalDevContractError('protocol-mismatch', `Fleet control protocol range ${validated.minimum}-${validated.maximum} is incompatible with ${exports.FLEET_CONTROL_PROTOCOL_VERSION}.`);
|
|
53
|
+
}
|
|
54
|
+
return exports.FLEET_CONTROL_PROTOCOL_VERSION;
|
|
55
|
+
}
|
|
56
|
+
function requireCapability(value) {
|
|
57
|
+
return (0, contract_validation_js_1.requireBoundedString)(value, 'Fleet control capability', {
|
|
58
|
+
maximumLength: 128,
|
|
59
|
+
pattern: /^[A-Za-z0-9_-]{43}$/,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
function requireControlToken(value, label) {
|
|
63
|
+
return (0, contract_validation_js_1.requireBoundedString)(value, label, {
|
|
64
|
+
maximumLength: 128,
|
|
65
|
+
pattern: contract_validation_js_1.LOCAL_DEV_TOKEN_PATTERN,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
function validateSelector(value) {
|
|
69
|
+
(0, contract_validation_js_1.assertRecord)(value, 'Fleet control selector');
|
|
70
|
+
(0, contract_validation_js_1.assertExactProperties)(value, ['all', 'slices'], [], 'Fleet control selector');
|
|
71
|
+
if (typeof value.all !== 'boolean' || !Array.isArray(value.slices)) {
|
|
72
|
+
throw new errors_js_1.LocalDevContractError('invalid-input', 'Fleet control selector is invalid.');
|
|
73
|
+
}
|
|
74
|
+
const slices = value.slices.map((slice) => (0, fleet_lock_js_1.validateFleetIdentitySlug)(slice, 'Fleet control Slice'));
|
|
75
|
+
if ((value.all && slices.length > 0) ||
|
|
76
|
+
(!value.all && slices.length === 0) ||
|
|
77
|
+
new Set(slices).size !== slices.length) {
|
|
78
|
+
throw new errors_js_1.LocalDevContractError('invalid-input', 'Fleet control selector must choose unique Slices or explicit all, never both or neither.');
|
|
79
|
+
}
|
|
80
|
+
return { all: value.all, slices };
|
|
81
|
+
}
|
|
82
|
+
function validateBase(value) {
|
|
83
|
+
if (!exports.FLEET_CONTROL_ACTIONS.includes(value.action)) {
|
|
84
|
+
throw new errors_js_1.LocalDevContractError('invalid-input', 'Fleet control action is unsupported.');
|
|
85
|
+
}
|
|
86
|
+
const protocol = requireProtocolRange(value.protocol);
|
|
87
|
+
negotiateFleetControlProtocol(protocol);
|
|
88
|
+
return {
|
|
89
|
+
action: value.action,
|
|
90
|
+
capability: requireCapability(value.capability),
|
|
91
|
+
protocol,
|
|
92
|
+
requestId: requireControlToken(value.requestId, 'Fleet control requestId'),
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
function validateFleetControlRequest(value) {
|
|
96
|
+
(0, contract_validation_js_1.assertRecord)(value, 'Fleet control request');
|
|
97
|
+
const action = value.action;
|
|
98
|
+
const hasPayload = action === 'submit' ||
|
|
99
|
+
action === 'operation-status' ||
|
|
100
|
+
action === 'shutdown';
|
|
101
|
+
(0, contract_validation_js_1.assertExactProperties)(value, ['action', 'capability', 'protocol', 'requestId'], hasPayload ? ['payload'] : [], 'Fleet control request');
|
|
102
|
+
const base = validateBase(value);
|
|
103
|
+
if (base.action === 'ping' || base.action === 'status') {
|
|
104
|
+
return base;
|
|
105
|
+
}
|
|
106
|
+
(0, contract_validation_js_1.assertRecord)(value.payload, `Fleet control ${base.action} payload`);
|
|
107
|
+
if (base.action === 'submit') {
|
|
108
|
+
(0, contract_validation_js_1.assertExactProperties)(value.payload, ['command', 'idempotencyKey', 'selector'], [], 'Fleet control submit payload');
|
|
109
|
+
if (!exports.FLEET_MUTATION_COMMANDS.includes(value.payload.command)) {
|
|
110
|
+
throw new errors_js_1.LocalDevContractError('invalid-input', 'Fleet control mutation command is unsupported.');
|
|
111
|
+
}
|
|
112
|
+
return {
|
|
113
|
+
...base,
|
|
114
|
+
action: 'submit',
|
|
115
|
+
payload: {
|
|
116
|
+
command: value.payload.command,
|
|
117
|
+
idempotencyKey: requireControlToken(value.payload.idempotencyKey, 'Fleet control idempotencyKey'),
|
|
118
|
+
selector: validateSelector(value.payload.selector),
|
|
119
|
+
},
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
if (base.action === 'operation-status') {
|
|
123
|
+
(0, contract_validation_js_1.assertExactProperties)(value.payload, ['operationId'], [], 'Fleet control operation-status payload');
|
|
124
|
+
return {
|
|
125
|
+
...base,
|
|
126
|
+
action: 'operation-status',
|
|
127
|
+
payload: {
|
|
128
|
+
operationId: requireControlToken(value.payload.operationId, 'Fleet control operationId'),
|
|
129
|
+
},
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
(0, contract_validation_js_1.assertExactProperties)(value.payload, ['idempotencyKey'], [], 'Fleet control shutdown payload');
|
|
133
|
+
return {
|
|
134
|
+
...base,
|
|
135
|
+
action: 'shutdown',
|
|
136
|
+
payload: {
|
|
137
|
+
idempotencyKey: requireControlToken(value.payload.idempotencyKey, 'Fleet control idempotencyKey'),
|
|
138
|
+
},
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
function parseFleetControlLine(line) {
|
|
142
|
+
const bytes = Buffer.byteLength(line);
|
|
143
|
+
if (bytes === 0 || bytes > exports.FLEET_CONTROL_REQUEST_MAX_BYTES) {
|
|
144
|
+
throw new errors_js_1.LocalDevContractError('invalid-input', `Fleet control request must contain 1-${exports.FLEET_CONTROL_REQUEST_MAX_BYTES} bytes.`);
|
|
145
|
+
}
|
|
146
|
+
let parsed;
|
|
147
|
+
try {
|
|
148
|
+
parsed = JSON.parse(line.toString());
|
|
149
|
+
}
|
|
150
|
+
catch {
|
|
151
|
+
throw new errors_js_1.LocalDevContractError('invalid-input', 'Fleet control request must be one valid JSON object.');
|
|
152
|
+
}
|
|
153
|
+
return validateFleetControlRequest(parsed);
|
|
154
|
+
}
|
|
155
|
+
function createFleetControlCapability() {
|
|
156
|
+
return (0, node_crypto_1.randomBytes)(exports.FLEET_CONTROL_CAPABILITY_BYTES).toString('base64url');
|
|
157
|
+
}
|
|
158
|
+
function digestFleetControlCapability(capability) {
|
|
159
|
+
return (0, node_crypto_1.createHash)('sha256')
|
|
160
|
+
.update(requireCapability(capability), 'utf8')
|
|
161
|
+
.digest('hex');
|
|
162
|
+
}
|
|
163
|
+
function authorizeFleetControlCapability(suppliedCapability, expectedDigest) {
|
|
164
|
+
let suppliedDigest;
|
|
165
|
+
let expected;
|
|
166
|
+
try {
|
|
167
|
+
suppliedDigest = Buffer.from(digestFleetControlCapability(suppliedCapability), 'hex');
|
|
168
|
+
expected = Buffer.from((0, contract_validation_js_1.requireBoundedString)(expectedDigest, 'Fleet control capability digest', {
|
|
169
|
+
pattern: /^[a-f0-9]{64}$/,
|
|
170
|
+
}), 'hex');
|
|
171
|
+
}
|
|
172
|
+
catch {
|
|
173
|
+
throw new FleetControlUnauthorizedError();
|
|
174
|
+
}
|
|
175
|
+
if (suppliedDigest.length !== expected.length ||
|
|
176
|
+
!(0, node_crypto_1.timingSafeEqual)(suppliedDigest, expected)) {
|
|
177
|
+
throw new FleetControlUnauthorizedError();
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
//# sourceMappingURL=control-contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-contract.js","sourceRoot":"","sources":["../../../../../packages/nx/src/local-dev/control-contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { inspectDevelopmentEnvironment } from './environment-inspector.js';
|
|
2
|
+
import type { FleetOperationStateRecord, FleetStateRecord } from './fleet-state.js';
|
|
3
|
+
import { type FleetLaunchInput } from './fleet-launcher.js';
|
|
4
|
+
import type { LocalDevContext } from './local-context.js';
|
|
5
|
+
import { type WorkspaceFleetPlan } from './nx-workspace.js';
|
|
6
|
+
import type { PersonalStageResolution } from './personal-stage.js';
|
|
7
|
+
import type { RunningFleetRuntime } from './fleet-runtime.js';
|
|
8
|
+
export interface FleetUpCoreCommand {
|
|
9
|
+
foreground: boolean;
|
|
10
|
+
noWait: boolean;
|
|
11
|
+
selector: {
|
|
12
|
+
all: boolean;
|
|
13
|
+
slices: string[];
|
|
14
|
+
};
|
|
15
|
+
sstMode: 'mono' | 'multiplexer';
|
|
16
|
+
timeoutMs?: number;
|
|
17
|
+
}
|
|
18
|
+
export interface FleetUpCoreClient {
|
|
19
|
+
shutdown(idempotencyKey?: string): Promise<void>;
|
|
20
|
+
status(): Promise<FleetStateRecord>;
|
|
21
|
+
submit(command: 'down' | 'restart' | 'up', selector: FleetUpCoreCommand['selector'], idempotencyKey?: string): Promise<{
|
|
22
|
+
operationId: string;
|
|
23
|
+
state: 'accepted';
|
|
24
|
+
}>;
|
|
25
|
+
waitForOperation(operationId: string, options?: {
|
|
26
|
+
timeoutMs?: number;
|
|
27
|
+
}): Promise<FleetOperationStateRecord>;
|
|
28
|
+
}
|
|
29
|
+
export interface FleetUpCoreLaunchResult {
|
|
30
|
+
attached: boolean;
|
|
31
|
+
client: FleetUpCoreClient;
|
|
32
|
+
fleetId: string;
|
|
33
|
+
runtime?: RunningFleetRuntime;
|
|
34
|
+
}
|
|
35
|
+
export interface FleetUpCoreResult {
|
|
36
|
+
afterWrite?: Promise<void>;
|
|
37
|
+
attached: boolean;
|
|
38
|
+
fleetId: string;
|
|
39
|
+
operation: FleetOperationStateRecord | {
|
|
40
|
+
operationId: string;
|
|
41
|
+
state: 'accepted';
|
|
42
|
+
};
|
|
43
|
+
operationId: string;
|
|
44
|
+
slices?: FleetStateRecord['slices'];
|
|
45
|
+
}
|
|
46
|
+
export interface FleetUpCoreEffects {
|
|
47
|
+
idempotencyKey?: () => string;
|
|
48
|
+
inspectEnvironment?: typeof inspectDevelopmentEnvironment;
|
|
49
|
+
launchFleet?: (input: FleetLaunchInput) => Promise<FleetUpCoreLaunchResult>;
|
|
50
|
+
reportCleanupFailure?: (message: string) => void;
|
|
51
|
+
}
|
|
52
|
+
export declare function executeFleetUpCore(command: FleetUpCoreCommand, input: {
|
|
53
|
+
appData: string;
|
|
54
|
+
context: LocalDevContext;
|
|
55
|
+
frameworkVersion: string;
|
|
56
|
+
identity: PersonalStageResolution;
|
|
57
|
+
plan: WorkspaceFleetPlan;
|
|
58
|
+
signal: AbortSignal;
|
|
59
|
+
workspaceRoot: string;
|
|
60
|
+
}, effects?: FleetUpCoreEffects): Promise<FleetUpCoreResult>;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.executeFleetUpCore = executeFleetUpCore;
|
|
4
|
+
const node_crypto_1 = require("node:crypto");
|
|
5
|
+
const environment_inspector_js_1 = require("./environment-inspector.js");
|
|
6
|
+
const errors_js_1 = require("./errors.js");
|
|
7
|
+
const fleet_launcher_js_1 = require("./fleet-launcher.js");
|
|
8
|
+
const nx_workspace_js_1 = require("./nx-workspace.js");
|
|
9
|
+
function foregroundWait(launch, command, signal, idempotencyKey, reportCleanupFailure) {
|
|
10
|
+
if (!command.foreground || !launch.runtime)
|
|
11
|
+
return undefined;
|
|
12
|
+
const stop = async () => {
|
|
13
|
+
try {
|
|
14
|
+
const down = await launch.client.submit('down', { all: true, slices: [] }, idempotencyKey());
|
|
15
|
+
await launch.client.waitForOperation(down.operationId, {
|
|
16
|
+
timeoutMs: command.timeoutMs ?? 120_000,
|
|
17
|
+
});
|
|
18
|
+
await launch.client.shutdown(idempotencyKey());
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
reportCleanupFailure(`Foreground Fleet cleanup failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
const onAbort = () => void stop();
|
|
25
|
+
signal.addEventListener('abort', onAbort, { once: true });
|
|
26
|
+
return launch.runtime.supervisor.waitUntilStopped().finally(() => {
|
|
27
|
+
signal.removeEventListener('abort', onAbort);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
async function executeFleetUpCore(command, input, effects = {}) {
|
|
31
|
+
const slices = (0, nx_workspace_js_1.selectWorkspaceSlices)(input.plan, command.selector);
|
|
32
|
+
const inspect = effects.inspectEnvironment ?? environment_inspector_js_1.inspectDevelopmentEnvironment;
|
|
33
|
+
const assessment = await inspect({
|
|
34
|
+
adapters: slices.map((name) => input.plan.adapters.get(name)),
|
|
35
|
+
appData: input.appData,
|
|
36
|
+
command: 'up',
|
|
37
|
+
context: input.context,
|
|
38
|
+
frameworkVersion: input.frameworkVersion,
|
|
39
|
+
identity: input.identity,
|
|
40
|
+
workspaceRoot: input.workspaceRoot,
|
|
41
|
+
});
|
|
42
|
+
(0, environment_inspector_js_1.assertEnvironmentReady)(assessment);
|
|
43
|
+
const idempotencyKey = effects.idempotencyKey ?? node_crypto_1.randomUUID;
|
|
44
|
+
const launch = await (effects.launchFleet ?? fleet_launcher_js_1.launchOrAttachFleet)({
|
|
45
|
+
appData: input.appData,
|
|
46
|
+
context: input.context,
|
|
47
|
+
foreground: command.foreground,
|
|
48
|
+
frameworkVersion: input.frameworkVersion,
|
|
49
|
+
sstMode: command.sstMode,
|
|
50
|
+
workspaceRoot: input.workspaceRoot,
|
|
51
|
+
});
|
|
52
|
+
let submission;
|
|
53
|
+
try {
|
|
54
|
+
submission = await launch.client.submit('up', command.selector, idempotencyKey());
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
if (!launch.attached) {
|
|
58
|
+
await launch.client.shutdown(idempotencyKey()).catch(() => undefined);
|
|
59
|
+
}
|
|
60
|
+
throw error;
|
|
61
|
+
}
|
|
62
|
+
const afterWrite = foregroundWait(launch, command, input.signal, idempotencyKey, effects.reportCleanupFailure ?? (() => undefined));
|
|
63
|
+
if (command.noWait) {
|
|
64
|
+
return {
|
|
65
|
+
...(afterWrite ? { afterWrite } : {}),
|
|
66
|
+
attached: launch.attached,
|
|
67
|
+
fleetId: launch.fleetId,
|
|
68
|
+
operation: submission,
|
|
69
|
+
operationId: submission.operationId,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
const operation = await launch.client.waitForOperation(submission.operationId, command.timeoutMs === undefined ? {} : { timeoutMs: command.timeoutMs });
|
|
73
|
+
if (operation.state === 'failed') {
|
|
74
|
+
if (!launch.attached) {
|
|
75
|
+
await launch.client.shutdown(idempotencyKey()).catch(() => undefined);
|
|
76
|
+
}
|
|
77
|
+
throw new errors_js_1.LocalDevContractError(operation.failureClassification ?? 'internal-error', `Fleet up failed after transactional rollback (${operation.failureClassification ?? 'internal-error'}).`);
|
|
78
|
+
}
|
|
79
|
+
const state = await launch.client.status();
|
|
80
|
+
return {
|
|
81
|
+
...(afterWrite ? { afterWrite } : {}),
|
|
82
|
+
attached: launch.attached,
|
|
83
|
+
fleetId: launch.fleetId,
|
|
84
|
+
operation,
|
|
85
|
+
operationId: submission.operationId,
|
|
86
|
+
slices: state.slices,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=dev-command-core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-command-core.js","sourceRoot":"","sources":["../../../../../packages/nx/src/local-dev/dev-command-core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type SecureContextOptions } from 'node:tls';
|
|
2
|
+
export interface TlsEndpointProbeOptions {
|
|
3
|
+
ca: SecureContextOptions['ca'];
|
|
4
|
+
host?: string;
|
|
5
|
+
hostname: string;
|
|
6
|
+
port: number;
|
|
7
|
+
timeoutMs?: number;
|
|
8
|
+
}
|
|
9
|
+
export declare function probeTlsEndpoint(options: TlsEndpointProbeOptions): Promise<void>;
|
|
10
|
+
export declare function probeEphemeralTlsEndpoint(options: {
|
|
11
|
+
ca: SecureContextOptions['ca'];
|
|
12
|
+
certificate: string | Buffer;
|
|
13
|
+
hostname: string;
|
|
14
|
+
key: string | Buffer;
|
|
15
|
+
timeoutMs?: number;
|
|
16
|
+
}): Promise<void>;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.probeTlsEndpoint = probeTlsEndpoint;
|
|
4
|
+
exports.probeEphemeralTlsEndpoint = probeEphemeralTlsEndpoint;
|
|
5
|
+
const node_tls_1 = require("node:tls");
|
|
6
|
+
async function probeTlsEndpoint(options) {
|
|
7
|
+
await new Promise((resolve, reject) => {
|
|
8
|
+
const socket = (0, node_tls_1.connect)({
|
|
9
|
+
ca: options.ca,
|
|
10
|
+
host: options.host ?? '127.0.0.1',
|
|
11
|
+
port: options.port,
|
|
12
|
+
rejectUnauthorized: true,
|
|
13
|
+
servername: options.hostname,
|
|
14
|
+
});
|
|
15
|
+
let settled = false;
|
|
16
|
+
const finish = (error) => {
|
|
17
|
+
if (settled)
|
|
18
|
+
return;
|
|
19
|
+
settled = true;
|
|
20
|
+
socket.destroy();
|
|
21
|
+
if (error)
|
|
22
|
+
reject(error);
|
|
23
|
+
else
|
|
24
|
+
resolve();
|
|
25
|
+
};
|
|
26
|
+
socket.setTimeout(options.timeoutMs ?? 2_000, () => finish(new Error('TLS endpoint probe timed out.')));
|
|
27
|
+
socket.once('secureConnect', () => finish());
|
|
28
|
+
socket.once('error', (error) => finish(error));
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
async function probeEphemeralTlsEndpoint(options) {
|
|
32
|
+
const sockets = new Set();
|
|
33
|
+
const server = (0, node_tls_1.createServer)({ cert: options.certificate, key: options.key }, (socket) => {
|
|
34
|
+
sockets.add(socket);
|
|
35
|
+
socket.once('close', () => sockets.delete(socket));
|
|
36
|
+
socket.end();
|
|
37
|
+
});
|
|
38
|
+
try {
|
|
39
|
+
await new Promise((resolve, reject) => {
|
|
40
|
+
server.once('error', reject);
|
|
41
|
+
server.listen(0, '127.0.0.1', resolve);
|
|
42
|
+
});
|
|
43
|
+
const address = server.address();
|
|
44
|
+
await probeTlsEndpoint({
|
|
45
|
+
ca: options.ca,
|
|
46
|
+
hostname: options.hostname,
|
|
47
|
+
port: address.port,
|
|
48
|
+
timeoutMs: options.timeoutMs,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
finally {
|
|
52
|
+
for (const socket of sockets)
|
|
53
|
+
socket.destroy();
|
|
54
|
+
await new Promise((resolve) => {
|
|
55
|
+
if (!server.listening) {
|
|
56
|
+
resolve();
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
server.close(() => resolve());
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=effects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effects.js","sourceRoot":"","sources":["../../../../../packages/nx/src/local-dev/effects.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import type { LocalDevAdapter } from './contracts.js';
|
|
2
|
+
import { type DevelopmentEnvironmentAssessment, type EnvironmentCheckResult } from './environment-state.js';
|
|
3
|
+
import { LocalDevContractError } from './errors.js';
|
|
4
|
+
import type { LocalDevContext } from './local-context.js';
|
|
5
|
+
import { type PersonalStageResolution } from './personal-stage.js';
|
|
6
|
+
import type { PrivateStateSecurity } from './private-state.js';
|
|
7
|
+
export declare const AWS_ENVIRONMENT_PROBE_TIMEOUT_MS: 15000;
|
|
8
|
+
export declare const ENVIRONMENT_INSPECTOR_CHECKS: readonly [{
|
|
9
|
+
readonly capabilities: readonly ["framework-bootstrap"];
|
|
10
|
+
readonly id: "platform";
|
|
11
|
+
readonly volatile: false;
|
|
12
|
+
}, {
|
|
13
|
+
readonly capabilities: readonly ["framework-bootstrap"];
|
|
14
|
+
readonly id: "node-runtime";
|
|
15
|
+
readonly volatile: false;
|
|
16
|
+
}, {
|
|
17
|
+
readonly capabilities: readonly ["framework-bootstrap"];
|
|
18
|
+
readonly id: "git";
|
|
19
|
+
readonly volatile: false;
|
|
20
|
+
}, {
|
|
21
|
+
readonly capabilities: readonly ["framework-bootstrap"];
|
|
22
|
+
readonly id: "corepack";
|
|
23
|
+
readonly volatile: false;
|
|
24
|
+
}, {
|
|
25
|
+
readonly capabilities: readonly ["framework-bootstrap"];
|
|
26
|
+
readonly id: "pnpm";
|
|
27
|
+
readonly volatile: false;
|
|
28
|
+
}, {
|
|
29
|
+
readonly capabilities: readonly ["workspace"];
|
|
30
|
+
readonly id: "workspace-write";
|
|
31
|
+
readonly volatile: true;
|
|
32
|
+
}, {
|
|
33
|
+
readonly capabilities: readonly ["workspace"];
|
|
34
|
+
readonly id: "workspace-nx";
|
|
35
|
+
readonly volatile: false;
|
|
36
|
+
}, {
|
|
37
|
+
readonly capabilities: readonly ["fleet-identity"];
|
|
38
|
+
readonly id: "personal-stage";
|
|
39
|
+
readonly volatile: false;
|
|
40
|
+
}, {
|
|
41
|
+
readonly capabilities: readonly ["fleet-control"];
|
|
42
|
+
readonly id: "private-state-location";
|
|
43
|
+
readonly volatile: true;
|
|
44
|
+
}, {
|
|
45
|
+
readonly capabilities: readonly ["fleet-https"];
|
|
46
|
+
readonly id: "openssl";
|
|
47
|
+
readonly volatile: false;
|
|
48
|
+
}, {
|
|
49
|
+
readonly capabilities: readonly ["fleet-https"];
|
|
50
|
+
readonly id: "tls-state";
|
|
51
|
+
readonly volatile: true;
|
|
52
|
+
}, {
|
|
53
|
+
readonly capabilities: readonly ["containers"];
|
|
54
|
+
readonly id: "docker-cli";
|
|
55
|
+
readonly volatile: false;
|
|
56
|
+
}, {
|
|
57
|
+
readonly capabilities: readonly ["containers"];
|
|
58
|
+
readonly id: "docker-engine";
|
|
59
|
+
readonly volatile: true;
|
|
60
|
+
}, {
|
|
61
|
+
readonly capabilities: readonly ["containers"];
|
|
62
|
+
readonly id: "docker-compose-v2";
|
|
63
|
+
readonly volatile: true;
|
|
64
|
+
}, {
|
|
65
|
+
readonly capabilities: readonly ["aws-foundation"];
|
|
66
|
+
readonly id: "aws-sdk-credentials";
|
|
67
|
+
readonly volatile: true;
|
|
68
|
+
}, {
|
|
69
|
+
readonly capabilities: readonly ["aws-foundation"];
|
|
70
|
+
readonly id: "aws-foundation-access";
|
|
71
|
+
readonly volatile: true;
|
|
72
|
+
}, {
|
|
73
|
+
readonly capabilities: readonly ["aws-remediation"];
|
|
74
|
+
readonly id: "aws-cli-remediation";
|
|
75
|
+
readonly volatile: false;
|
|
76
|
+
}];
|
|
77
|
+
export type EnvironmentInspectorCheckId = (typeof ENVIRONMENT_INSPECTOR_CHECKS)[number]['id'];
|
|
78
|
+
export type EnvironmentCommand = 'configure' | 'doctor' | 'down' | 'logs' | 'prune' | 'ps' | 'restart' | 'secret' | 'setup' | 'status' | 'tail' | 'up';
|
|
79
|
+
export interface EnvironmentProbeObservation {
|
|
80
|
+
detectedVersion?: string;
|
|
81
|
+
evidence?: string;
|
|
82
|
+
minimumVersion?: string;
|
|
83
|
+
remediation?: string;
|
|
84
|
+
status: 'incompatible' | 'missing' | 'ready' | 'unavailable';
|
|
85
|
+
}
|
|
86
|
+
export interface EnvironmentProbeContext {
|
|
87
|
+
accountId?: string;
|
|
88
|
+
accountResolutionFailure?: string;
|
|
89
|
+
appData: string;
|
|
90
|
+
context: LocalDevContext;
|
|
91
|
+
identity: PersonalStageResolution;
|
|
92
|
+
workspaceRoot: string;
|
|
93
|
+
}
|
|
94
|
+
export type EnvironmentProbe = (context: EnvironmentProbeContext, abortSignal: AbortSignal) => Promise<EnvironmentProbeObservation>;
|
|
95
|
+
export interface EnvironmentInspectorDependencies {
|
|
96
|
+
awsProbeTimeoutMs?: number;
|
|
97
|
+
probes?: Partial<Record<EnvironmentInspectorCheckId, EnvironmentProbe>>;
|
|
98
|
+
resolveAccountId?: (context: LocalDevContext, abortSignal: AbortSignal) => Promise<string>;
|
|
99
|
+
security?: PrivateStateSecurity;
|
|
100
|
+
}
|
|
101
|
+
export interface InspectEnvironmentInput {
|
|
102
|
+
adapters?: readonly LocalDevAdapter[];
|
|
103
|
+
appData?: string;
|
|
104
|
+
command: EnvironmentCommand;
|
|
105
|
+
context: LocalDevContext;
|
|
106
|
+
force?: boolean;
|
|
107
|
+
frameworkVersion: string;
|
|
108
|
+
identity: PersonalStageResolution;
|
|
109
|
+
workspaceRoot: string;
|
|
110
|
+
}
|
|
111
|
+
export interface EnvironmentDeficiencyAssessment {
|
|
112
|
+
checks: Array<Pick<EnvironmentCheckResult, 'id' | 'requiredFor' | 'severity' | 'status'> & {
|
|
113
|
+
detectedVersion?: string;
|
|
114
|
+
minimumVersion?: string;
|
|
115
|
+
remediation?: string;
|
|
116
|
+
}>;
|
|
117
|
+
state: 'deficient';
|
|
118
|
+
}
|
|
119
|
+
export declare class EnvironmentDeficientError extends LocalDevContractError {
|
|
120
|
+
readonly environmentAssessment: EnvironmentDeficiencyAssessment;
|
|
121
|
+
constructor(environmentAssessment: EnvironmentDeficiencyAssessment);
|
|
122
|
+
}
|
|
123
|
+
export declare function evaluateDevelopmentFoundationAccount(accountId: string, eventBusArn: string): EnvironmentProbeObservation;
|
|
124
|
+
export declare function inspectDevelopmentEnvironment(input: InspectEnvironmentInput, dependencies?: EnvironmentInspectorDependencies): Promise<DevelopmentEnvironmentAssessment>;
|
|
125
|
+
export declare function assertEnvironmentReady(assessment: DevelopmentEnvironmentAssessment): void;
|