@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,361 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.computeMaterialPlanDigest = computeMaterialPlanDigest;
|
|
4
|
+
exports.createInfrastructurePlan = createInfrastructurePlan;
|
|
5
|
+
exports.validateInfrastructurePlanForApply = validateInfrastructurePlanForApply;
|
|
6
|
+
const deterministic_order_js_1 = require("../deterministic-order.js");
|
|
7
|
+
const canonical_json_1 = require("@empire-builder-kit/runtime/canonical-json");
|
|
8
|
+
const model_js_1 = require("./model.js");
|
|
9
|
+
const SOURCE_COMMIT = /^(?:[a-f0-9]{40}|[a-f0-9]{64})$/;
|
|
10
|
+
function requireNonEmpty(label, value) {
|
|
11
|
+
if (typeof value !== 'string' || value.trim().length === 0) {
|
|
12
|
+
throw new TypeError(`${label} must be a non-empty string.`);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function validateCreationInput(input) {
|
|
16
|
+
const generatedAt = Date.parse(input.generatedAt);
|
|
17
|
+
const expiresAt = Date.parse(input.expiresAt);
|
|
18
|
+
const driftGeneratedAt = Date.parse(input.driftEvidenceGeneratedAt);
|
|
19
|
+
const driftExpiresAt = Date.parse(input.driftEvidenceExpiresAt);
|
|
20
|
+
const stateObservedAt = Date.parse(input.state.observedAt);
|
|
21
|
+
const stateExpiresAt = Date.parse(input.state.expiresAt);
|
|
22
|
+
if (!Number.isFinite(generatedAt) ||
|
|
23
|
+
!Number.isFinite(expiresAt) ||
|
|
24
|
+
expiresAt <= generatedAt) {
|
|
25
|
+
throw new TypeError('Infrastructure plan expiry must be after its generated time.');
|
|
26
|
+
}
|
|
27
|
+
if (!Number.isFinite(driftGeneratedAt) ||
|
|
28
|
+
!Number.isFinite(driftExpiresAt) ||
|
|
29
|
+
driftGeneratedAt > generatedAt ||
|
|
30
|
+
driftExpiresAt <= generatedAt ||
|
|
31
|
+
expiresAt > driftExpiresAt) {
|
|
32
|
+
throw new TypeError('Drift evidence must be current for the complete infrastructure plan lifetime.');
|
|
33
|
+
}
|
|
34
|
+
if (!Number.isFinite(stateObservedAt) ||
|
|
35
|
+
!Number.isFinite(stateExpiresAt) ||
|
|
36
|
+
stateObservedAt > generatedAt ||
|
|
37
|
+
stateExpiresAt <= generatedAt ||
|
|
38
|
+
expiresAt > stateExpiresAt) {
|
|
39
|
+
throw new TypeError('State identity must be current for the complete infrastructure plan lifetime.');
|
|
40
|
+
}
|
|
41
|
+
if (!/^[a-f0-9]{64}$/.test(input.driftEvidenceDigest)) {
|
|
42
|
+
throw new TypeError('driftEvidenceDigest must be a lowercase SHA-256 digest.');
|
|
43
|
+
}
|
|
44
|
+
if (!SOURCE_COMMIT.test(input.sourceCommit)) {
|
|
45
|
+
throw new TypeError('sourceCommit must be a full lowercase Git object identifier.');
|
|
46
|
+
}
|
|
47
|
+
if (input.diff.kind !== 'ebk-sst-diff' ||
|
|
48
|
+
input.diff.schemaVersion !== model_js_1.INFRASTRUCTURE_CHANGE_SCHEMA_VERSION ||
|
|
49
|
+
input.diff.tool.name !== model_js_1.SST_DIFF_TOOL_NAME ||
|
|
50
|
+
input.diff.tool.version !== model_js_1.SST_DIFF_TOOL_VERSION ||
|
|
51
|
+
input.diff.sourceBoundary !== 'desired-source-vs-recorded-state') {
|
|
52
|
+
throw new TypeError(`Infrastructure plan diff must be the SST ${model_js_1.SST_DIFF_TOOL_VERSION} v1 contract.`);
|
|
53
|
+
}
|
|
54
|
+
for (const [label, value] of [
|
|
55
|
+
['configurationMetadataDigest', input.configurationMetadataDigest],
|
|
56
|
+
['driftEvidenceDigest', input.driftEvidenceDigest],
|
|
57
|
+
['frameworkVersion', input.frameworkVersion],
|
|
58
|
+
['policyProfileDigest', input.policyProfileDigest],
|
|
59
|
+
['repository', input.repository],
|
|
60
|
+
['sourceCommit', input.sourceCommit],
|
|
61
|
+
['state.backend', input.state.backend],
|
|
62
|
+
['state.digest', input.state.digest],
|
|
63
|
+
['state.expiresAt', input.state.expiresAt],
|
|
64
|
+
['state.observedAt', input.state.observedAt],
|
|
65
|
+
['state.stack', input.state.stack],
|
|
66
|
+
['state.version', input.state.version],
|
|
67
|
+
['target.accountFingerprint', input.target.accountFingerprint],
|
|
68
|
+
['target.region', input.target.region],
|
|
69
|
+
['target.stage', input.target.stage],
|
|
70
|
+
]) {
|
|
71
|
+
requireNonEmpty(label, value);
|
|
72
|
+
}
|
|
73
|
+
if (input.projects.length === 0 ||
|
|
74
|
+
new Set(input.projects).size !== input.projects.length ||
|
|
75
|
+
input.projects.some((project) => project.trim().length === 0)) {
|
|
76
|
+
throw new TypeError('projects must contain unique non-empty project names.');
|
|
77
|
+
}
|
|
78
|
+
if (!input.diff.complete && input.risk.aggregate !== 'unknown') {
|
|
79
|
+
throw new TypeError('An incomplete diff must have aggregate unknown risk.');
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
function sortedFindings(findings) {
|
|
83
|
+
return [...findings].sort((left, right) => (0, deterministic_order_js_1.compareUtf16)(left.resourceId ?? '', right.resourceId ?? '') ||
|
|
84
|
+
(0, deterministic_order_js_1.compareUtf16)(left.propertyPath ?? '', right.propertyPath ?? '') ||
|
|
85
|
+
(0, deterministic_order_js_1.compareUtf16)(left.code, right.code) ||
|
|
86
|
+
(0, deterministic_order_js_1.compareUtf16)(left.class, right.class));
|
|
87
|
+
}
|
|
88
|
+
function planMaterial(plan) {
|
|
89
|
+
return {
|
|
90
|
+
action: plan.action,
|
|
91
|
+
aggregateRisk: plan.aggregateRisk,
|
|
92
|
+
configurationMetadataDigest: plan.configurationMetadataDigest,
|
|
93
|
+
diff: plan.diff,
|
|
94
|
+
driftEvidenceDigest: plan.driftEvidenceDigest,
|
|
95
|
+
driftEvidenceExpiresAt: plan.driftEvidenceExpiresAt,
|
|
96
|
+
driftEvidenceGeneratedAt: plan.driftEvidenceGeneratedAt,
|
|
97
|
+
driftStatus: plan.driftStatus,
|
|
98
|
+
frameworkVersion: plan.frameworkVersion,
|
|
99
|
+
kind: plan.kind,
|
|
100
|
+
policyProfileDigest: plan.policyProfileDigest,
|
|
101
|
+
projects: plan.projects,
|
|
102
|
+
requiredApprovals: plan.requiredApprovals,
|
|
103
|
+
resourceFindings: plan.resourceFindings,
|
|
104
|
+
schemaVersion: plan.schemaVersion,
|
|
105
|
+
state: plan.state,
|
|
106
|
+
target: plan.target,
|
|
107
|
+
tool: plan.tool,
|
|
108
|
+
versions: plan.versions,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Hashes the material plan contract. generatedAt, expiresAt, repository,
|
|
113
|
+
* sourceCommit, and approval-record contents are intentionally excluded and
|
|
114
|
+
* validated independently immediately before apply.
|
|
115
|
+
*/
|
|
116
|
+
function computeMaterialPlanDigest(plan) {
|
|
117
|
+
return (0, canonical_json_1.canonicalJsonSha256)(planMaterial(plan), {
|
|
118
|
+
omitUndefinedObjectValues: true,
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
function createInfrastructurePlan(input) {
|
|
122
|
+
validateCreationInput(input);
|
|
123
|
+
const withoutDigest = {
|
|
124
|
+
action: input.action ?? 'deploy',
|
|
125
|
+
aggregateRisk: input.risk.aggregate,
|
|
126
|
+
configurationMetadataDigest: input.configurationMetadataDigest,
|
|
127
|
+
diff: input.diff,
|
|
128
|
+
driftEvidenceDigest: input.driftEvidenceDigest,
|
|
129
|
+
driftEvidenceExpiresAt: input.driftEvidenceExpiresAt,
|
|
130
|
+
driftEvidenceGeneratedAt: input.driftEvidenceGeneratedAt,
|
|
131
|
+
driftStatus: input.driftStatus,
|
|
132
|
+
expiresAt: input.expiresAt,
|
|
133
|
+
frameworkVersion: input.frameworkVersion,
|
|
134
|
+
generatedAt: input.generatedAt,
|
|
135
|
+
kind: model_js_1.INFRASTRUCTURE_PLAN_KIND,
|
|
136
|
+
policyProfileDigest: input.policyProfileDigest,
|
|
137
|
+
projects: [...input.projects],
|
|
138
|
+
repository: input.repository,
|
|
139
|
+
requiredApprovals: [...input.risk.requiredApprovals].sort(),
|
|
140
|
+
resourceFindings: sortedFindings(input.risk.findings),
|
|
141
|
+
schemaVersion: model_js_1.INFRASTRUCTURE_CHANGE_SCHEMA_VERSION,
|
|
142
|
+
sourceCommit: input.sourceCommit,
|
|
143
|
+
state: { ...input.state },
|
|
144
|
+
target: { ...input.target },
|
|
145
|
+
tool: {
|
|
146
|
+
name: model_js_1.SST_DIFF_TOOL_NAME,
|
|
147
|
+
version: model_js_1.SST_DIFF_TOOL_VERSION,
|
|
148
|
+
},
|
|
149
|
+
versions: Object.fromEntries(Object.entries(input.versions).sort(([left], [right]) => (0, deterministic_order_js_1.compareUtf16)(left, right))),
|
|
150
|
+
};
|
|
151
|
+
return {
|
|
152
|
+
...withoutDigest,
|
|
153
|
+
materialDigest: computeMaterialPlanDigest(withoutDigest),
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
function validDate(value) {
|
|
157
|
+
const timestamp = Date.parse(value);
|
|
158
|
+
return Number.isFinite(timestamp) ? timestamp : undefined;
|
|
159
|
+
}
|
|
160
|
+
function approvalFindings(plan, approval, now, plannedGeneratedAt) {
|
|
161
|
+
if (approval === undefined) {
|
|
162
|
+
return [
|
|
163
|
+
{
|
|
164
|
+
code: 'approval-missing',
|
|
165
|
+
detail: 'The material plan requires a digest-bound decision record.',
|
|
166
|
+
},
|
|
167
|
+
];
|
|
168
|
+
}
|
|
169
|
+
const findings = [];
|
|
170
|
+
const approvedAt = validDate(approval.approvedAt);
|
|
171
|
+
const approvalExpiry = validDate(approval.expiresAt);
|
|
172
|
+
const generatedAt = validDate(plannedGeneratedAt);
|
|
173
|
+
if (approval.materialDigest !== plan.materialDigest ||
|
|
174
|
+
approval.stage !== plan.target.stage ||
|
|
175
|
+
approvedAt === undefined ||
|
|
176
|
+
approvedAt > now ||
|
|
177
|
+
generatedAt === undefined ||
|
|
178
|
+
approvedAt < generatedAt ||
|
|
179
|
+
approvalExpiry === undefined ||
|
|
180
|
+
approvalExpiry <= now) {
|
|
181
|
+
findings.push({
|
|
182
|
+
code: 'approval-invalid',
|
|
183
|
+
detail: 'Approval identity, stage, time, or expiry is invalid.',
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
if (plan.requiredApprovals.length === 0) {
|
|
187
|
+
if (approval.mode !== 'standing-policy') {
|
|
188
|
+
findings.push({
|
|
189
|
+
code: 'approval-invalid',
|
|
190
|
+
detail: 'No-change and additive plans require a standing-policy decision.',
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
else if (approval.mode === 'standing-policy' ||
|
|
195
|
+
approval.author === approval.approver ||
|
|
196
|
+
!approval.codeownerReviewed) {
|
|
197
|
+
findings.push({
|
|
198
|
+
code: 'approval-invalid',
|
|
199
|
+
detail: 'Additional approval requires a non-author CODEOWNER-reviewed decision.',
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
for (const requirement of plan.requiredApprovals) {
|
|
203
|
+
if (!approval.evidenceRefs[requirement]?.trim()) {
|
|
204
|
+
findings.push({
|
|
205
|
+
code: 'approval-invalid',
|
|
206
|
+
detail: `Approval is missing evidence for ${requirement}.`,
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
if (plan.requiredApprovals.includes('point-of-no-return') &&
|
|
211
|
+
!approval.acknowledgement?.trim()) {
|
|
212
|
+
findings.push({
|
|
213
|
+
code: 'approval-invalid',
|
|
214
|
+
detail: 'The destructive point of no return was not acknowledged.',
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
return findings;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Validates a freshly recomputed plan. The saved plan is evidence only: apply
|
|
221
|
+
* consumes the recomputed plan after material, source, expiry, state, and
|
|
222
|
+
* approval checks all pass.
|
|
223
|
+
*/
|
|
224
|
+
function validateInfrastructurePlanForApply(input) {
|
|
225
|
+
const findings = [];
|
|
226
|
+
const now = validDate(input.now);
|
|
227
|
+
if (now === undefined) {
|
|
228
|
+
throw new TypeError('now must be an ISO date-time.');
|
|
229
|
+
}
|
|
230
|
+
for (const [label, plan] of [
|
|
231
|
+
['planned', input.planned],
|
|
232
|
+
['recomputed', input.recomputed],
|
|
233
|
+
]) {
|
|
234
|
+
if (plan.kind !== model_js_1.INFRASTRUCTURE_PLAN_KIND ||
|
|
235
|
+
plan.schemaVersion !== model_js_1.INFRASTRUCTURE_CHANGE_SCHEMA_VERSION) {
|
|
236
|
+
findings.push({
|
|
237
|
+
code: 'plan-schema-invalid',
|
|
238
|
+
detail: `${label} plan is not an infrastructure plan v1.`,
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
if (!SOURCE_COMMIT.test(plan.sourceCommit)) {
|
|
242
|
+
findings.push({
|
|
243
|
+
code: 'source-change-invalid',
|
|
244
|
+
detail: `${label} plan source commit is not a full Git object identifier.`,
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
if (plan.tool.name !== model_js_1.SST_DIFF_TOOL_NAME ||
|
|
248
|
+
plan.tool.version !== model_js_1.SST_DIFF_TOOL_VERSION) {
|
|
249
|
+
findings.push({
|
|
250
|
+
code: 'plan-tool-version-invalid',
|
|
251
|
+
detail: `${label} plan was not produced by SST ${model_js_1.SST_DIFF_TOOL_VERSION}.`,
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
if (computeMaterialPlanDigest(plan) !== plan.materialDigest) {
|
|
255
|
+
findings.push({
|
|
256
|
+
code: 'material-plan-changed',
|
|
257
|
+
detail: `${label} plan digest does not match its material contents.`,
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
if (!plan.diff.complete) {
|
|
261
|
+
findings.push({
|
|
262
|
+
code: 'diff-incomplete',
|
|
263
|
+
detail: `${label} plan contains an incomplete cloud-backed diff.`,
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
if (input.planned.materialDigest !== input.recomputed.materialDigest) {
|
|
268
|
+
findings.push({
|
|
269
|
+
code: 'material-plan-changed',
|
|
270
|
+
detail: 'The recomputed material plan differs from the reviewed plan.',
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
if (input.planned.repository !== input.recomputed.repository) {
|
|
274
|
+
findings.push({
|
|
275
|
+
code: 'source-change-invalid',
|
|
276
|
+
detail: 'The recomputed plan targets a different repository.',
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
const planExpiry = validDate(input.planned.expiresAt);
|
|
280
|
+
if (planExpiry === undefined || planExpiry <= now) {
|
|
281
|
+
findings.push({
|
|
282
|
+
code: 'plan-expired',
|
|
283
|
+
detail: 'The reviewed plan has expired.',
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
if (input.recomputed.state.locked === true) {
|
|
287
|
+
findings.push({
|
|
288
|
+
code: 'state-locked',
|
|
289
|
+
detail: 'The target state is locked.',
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
else if (input.recomputed.state.locked === 'unknown') {
|
|
293
|
+
findings.push({
|
|
294
|
+
code: 'state-lock-unverified',
|
|
295
|
+
detail: 'The read-only observer could not prove that the target state is unlocked.',
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
if (input.recomputed.aggregateRisk === 'unknown') {
|
|
299
|
+
findings.push({
|
|
300
|
+
code: 'unknown-risk',
|
|
301
|
+
detail: 'Unknown infrastructure risk blocks apply.',
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
const driftPermitted = input.recomputed.action === 'refresh'
|
|
305
|
+
? input.recomputed.driftStatus === 'no-drift' ||
|
|
306
|
+
input.recomputed.driftStatus === 'drift-detected'
|
|
307
|
+
: input.recomputed.driftStatus === 'no-drift';
|
|
308
|
+
if (!driftPermitted) {
|
|
309
|
+
findings.push({
|
|
310
|
+
code: 'drift-unresolved',
|
|
311
|
+
detail: input.recomputed.action === 'refresh'
|
|
312
|
+
? 'Protected refresh requires bounded no-drift or exact drift-detected evidence plus its approval record.'
|
|
313
|
+
: 'Protected apply requires a bounded read-only no-drift result.',
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
const recordPath = input.approval?.recordPath;
|
|
317
|
+
const allowedSourceChanges = input.approval !== undefined &&
|
|
318
|
+
input.approval.mode === 'human-record' &&
|
|
319
|
+
recordPath !== undefined &&
|
|
320
|
+
input.planned.sourceCommit !== input.recomputed.sourceCommit
|
|
321
|
+
? [recordPath]
|
|
322
|
+
: [];
|
|
323
|
+
const actualSourceChanges = [...new Set(input.sourceChangesSincePlan)].sort();
|
|
324
|
+
if (input.planned.sourceCommit !== input.recomputed.sourceCommit &&
|
|
325
|
+
actualSourceChanges.length === 0) {
|
|
326
|
+
findings.push({
|
|
327
|
+
code: 'source-change-invalid',
|
|
328
|
+
detail: 'Source commit changed without a declared path delta.',
|
|
329
|
+
});
|
|
330
|
+
}
|
|
331
|
+
if (actualSourceChanges.length !== allowedSourceChanges.length ||
|
|
332
|
+
actualSourceChanges.some((path, index) => path !== [...allowedSourceChanges].sort()[index])) {
|
|
333
|
+
findings.push({
|
|
334
|
+
code: 'source-change-invalid',
|
|
335
|
+
detail: 'Source changed beyond the exact approval-record file after planning.',
|
|
336
|
+
});
|
|
337
|
+
}
|
|
338
|
+
findings.push(...approvalFindings(input.recomputed, input.approval, now, input.planned.generatedAt));
|
|
339
|
+
const codes = new Set(findings.map(({ code }) => code));
|
|
340
|
+
const outcome = codes.has('state-locked')
|
|
341
|
+
? 'state-locked'
|
|
342
|
+
: codes.has('state-lock-unverified')
|
|
343
|
+
? 'state-lock-unverified'
|
|
344
|
+
: [...codes].some((code) => [
|
|
345
|
+
'material-plan-changed',
|
|
346
|
+
'plan-expired',
|
|
347
|
+
'plan-schema-invalid',
|
|
348
|
+
'plan-tool-version-invalid',
|
|
349
|
+
'source-change-invalid',
|
|
350
|
+
].includes(code))
|
|
351
|
+
? 'plan-stale'
|
|
352
|
+
: findings.length > 0
|
|
353
|
+
? 'plan-risk-blocked'
|
|
354
|
+
: 'plan-clean';
|
|
355
|
+
return {
|
|
356
|
+
allowed: findings.length === 0,
|
|
357
|
+
findings,
|
|
358
|
+
outcome,
|
|
359
|
+
};
|
|
360
|
+
}
|
|
361
|
+
//# sourceMappingURL=plan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../../../packages/nx/src/infrastructure-change/plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { IamAccessAnalyzerValidationV1, InfrastructurePolicySignalV1, InfrastructureRiskAssessmentV1, InfrastructureRiskPolicyV1, NormalizedSstDiffV1 } from './model.js';
|
|
2
|
+
export declare function classifyInfrastructureRisk(input: {
|
|
3
|
+
diff: NormalizedSstDiffV1;
|
|
4
|
+
iamValidations?: readonly IamAccessAnalyzerValidationV1[];
|
|
5
|
+
policy: InfrastructureRiskPolicyV1;
|
|
6
|
+
policySignals?: readonly InfrastructurePolicySignalV1[];
|
|
7
|
+
}): InfrastructureRiskAssessmentV1;
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.classifyInfrastructureRisk = classifyInfrastructureRisk;
|
|
4
|
+
const deterministic_order_js_1 = require("../deterministic-order.js");
|
|
5
|
+
const RISK_PRECEDENCE = {
|
|
6
|
+
'no-change': 0,
|
|
7
|
+
'additive-low-risk': 1,
|
|
8
|
+
'in-place-reviewed': 2,
|
|
9
|
+
'stateless-replacement': 3,
|
|
10
|
+
'material-cost-or-quota': 4,
|
|
11
|
+
'stateful-or-destructive': 5,
|
|
12
|
+
'security-expansion': 6,
|
|
13
|
+
'protection-reduction': 7,
|
|
14
|
+
unknown: 8,
|
|
15
|
+
};
|
|
16
|
+
const DISPOSITIONS = {
|
|
17
|
+
'no-change': 'allow-standing-policy',
|
|
18
|
+
'additive-low-risk': 'allow-standing-policy',
|
|
19
|
+
'in-place-reviewed': 'review',
|
|
20
|
+
'stateless-replacement': 'review',
|
|
21
|
+
'stateful-or-destructive': 'block',
|
|
22
|
+
'security-expansion': 'review',
|
|
23
|
+
'protection-reduction': 'block',
|
|
24
|
+
'material-cost-or-quota': 'review',
|
|
25
|
+
unknown: 'block',
|
|
26
|
+
};
|
|
27
|
+
const SENSITIVE_POLICY_PATH = /(?:iam|policy|principal|trust|assumeRole|public|ingress|egress|cidr|deletionProtection|retain|retention|backup|encrypt|kms|keyPolicy|objectLock|versioning|waf)/i;
|
|
28
|
+
const COST_POLICY_PATH = /(?:desiredCount|instance|natGateway|provisionedConcurrency|retentionInDays|schedule|capacity|throughput|quota)/i;
|
|
29
|
+
function finding(riskClass, code, message, resource, propertyPath) {
|
|
30
|
+
return {
|
|
31
|
+
class: riskClass,
|
|
32
|
+
code,
|
|
33
|
+
disposition: DISPOSITIONS[riskClass],
|
|
34
|
+
message,
|
|
35
|
+
...(propertyPath === undefined ? {} : { propertyPath }),
|
|
36
|
+
...(resource === undefined ? {} : { resourceId: resource.logicalId }),
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function policySignalMessage(riskClass) {
|
|
40
|
+
switch (riskClass) {
|
|
41
|
+
case 'security-expansion':
|
|
42
|
+
return 'Synthesized source reports a security expansion.';
|
|
43
|
+
case 'protection-reduction':
|
|
44
|
+
return 'Synthesized source reports a protection reduction.';
|
|
45
|
+
case 'material-cost-or-quota':
|
|
46
|
+
return 'Synthesized source reports a material cost or quota change.';
|
|
47
|
+
case 'unknown':
|
|
48
|
+
return 'Synthesized source reports an unclassified material change.';
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
function riskForResource(resource, policy) {
|
|
52
|
+
if (resource.operation === 'unknown') {
|
|
53
|
+
return [
|
|
54
|
+
finding('unknown', 'provider-operation-unknown', 'The provider action cannot be classified safely.', resource),
|
|
55
|
+
];
|
|
56
|
+
}
|
|
57
|
+
if (resource.changedProperties.some(({ kind }) => kind === 'unknown')) {
|
|
58
|
+
return [
|
|
59
|
+
finding('unknown', 'property-diff-unknown', 'At least one changed property has an unsupported diff kind.', resource),
|
|
60
|
+
];
|
|
61
|
+
}
|
|
62
|
+
if ((resource.operation === 'replace' || resource.operation === 'delete') &&
|
|
63
|
+
policy.statefulTypes.includes(resource.resourceType)) {
|
|
64
|
+
return [
|
|
65
|
+
finding('stateful-or-destructive', 'stateful-delete-or-replacement', 'A durable resource is deleted or replaced.', resource),
|
|
66
|
+
];
|
|
67
|
+
}
|
|
68
|
+
if (resource.operation === 'delete' || resource.operation === 'import') {
|
|
69
|
+
return [
|
|
70
|
+
finding('stateful-or-destructive', resource.operation === 'delete' ? 'resource-delete' : 'resource-import', 'Deletion and import require an explicit ownership and recovery path.', resource),
|
|
71
|
+
];
|
|
72
|
+
}
|
|
73
|
+
if (resource.resourceType.startsWith('aws:iam/')) {
|
|
74
|
+
const policyBearing = [
|
|
75
|
+
'aws:iam/policy:Policy',
|
|
76
|
+
'aws:iam/role:Role',
|
|
77
|
+
'aws:iam/rolePolicy:RolePolicy',
|
|
78
|
+
].includes(resource.resourceType);
|
|
79
|
+
return [
|
|
80
|
+
finding('security-expansion', policyBearing
|
|
81
|
+
? 'iam-policy-document-change'
|
|
82
|
+
: 'iam-non-policy-resource-change', policyBearing
|
|
83
|
+
? 'A proposed IAM policy or trust document requires explicit security review.'
|
|
84
|
+
: 'A non-policy IAM resource change is not applicable to Access Analyzer but still requires explicit security review.', resource),
|
|
85
|
+
...(resource.operation === 'replace'
|
|
86
|
+
? [
|
|
87
|
+
finding('stateless-replacement', 'iam-resource-replacement', 'IAM replacement requires exact recovery and cutover review.', resource),
|
|
88
|
+
]
|
|
89
|
+
: []),
|
|
90
|
+
];
|
|
91
|
+
}
|
|
92
|
+
if (resource.operation === 'replace') {
|
|
93
|
+
if (resource.replacementStrategy === 'unknown') {
|
|
94
|
+
return [
|
|
95
|
+
finding('unknown', 'replacement-strategy-unknown', 'Replacement ordering is unknown; cutover and rollback cannot be reviewed safely.', resource),
|
|
96
|
+
];
|
|
97
|
+
}
|
|
98
|
+
return [
|
|
99
|
+
finding('stateless-replacement', 'stateless-replacement', 'A resource replacement requires rollout and recovery review.', resource),
|
|
100
|
+
];
|
|
101
|
+
}
|
|
102
|
+
const propertyFindings = resource.changedProperties.flatMap((property) => {
|
|
103
|
+
if (property.sensitive) {
|
|
104
|
+
return [
|
|
105
|
+
finding('unknown', 'sensitive-property-change', 'A sensitive property changed; its value remains redacted.', resource, property.path),
|
|
106
|
+
];
|
|
107
|
+
}
|
|
108
|
+
if (SENSITIVE_POLICY_PATH.test(property.path)) {
|
|
109
|
+
return [
|
|
110
|
+
finding('unknown', 'policy-direction-unproven', 'A security or protection property changed, but the value-free diff cannot prove its direction.', resource, property.path),
|
|
111
|
+
];
|
|
112
|
+
}
|
|
113
|
+
if (COST_POLICY_PATH.test(property.path)) {
|
|
114
|
+
return [
|
|
115
|
+
finding('material-cost-or-quota', 'cost-or-quota-shape-change', 'A property that can affect cost or quota changed.', resource, property.path),
|
|
116
|
+
];
|
|
117
|
+
}
|
|
118
|
+
return [];
|
|
119
|
+
});
|
|
120
|
+
if (propertyFindings.length > 0) {
|
|
121
|
+
return propertyFindings;
|
|
122
|
+
}
|
|
123
|
+
if (resource.operation === 'create' &&
|
|
124
|
+
policy.additiveLowRiskTypes.includes(resource.resourceType)) {
|
|
125
|
+
return [
|
|
126
|
+
finding('additive-low-risk', 'reviewed-low-risk-addition', 'A policy-declared private, stateless resource is added.', resource),
|
|
127
|
+
];
|
|
128
|
+
}
|
|
129
|
+
if (policy.costOrQuotaTypes.includes(resource.resourceType) &&
|
|
130
|
+
(resource.operation === 'create' || resource.operation === 'update')) {
|
|
131
|
+
return [
|
|
132
|
+
finding('material-cost-or-quota', 'cost-or-quota-resource-change', 'The resource type can materially affect cost or quota.', resource),
|
|
133
|
+
];
|
|
134
|
+
}
|
|
135
|
+
if (resource.operation === 'update') {
|
|
136
|
+
return [
|
|
137
|
+
finding('in-place-reviewed', 'in-place-update', 'An in-place resource update requires review and post-apply proof.', resource),
|
|
138
|
+
];
|
|
139
|
+
}
|
|
140
|
+
if (resource.operation === 'read') {
|
|
141
|
+
return [
|
|
142
|
+
finding('in-place-reviewed', 'provider-read', 'A provider read must be verified as intentional and non-mutating.', resource),
|
|
143
|
+
];
|
|
144
|
+
}
|
|
145
|
+
return [
|
|
146
|
+
finding('unknown', 'addition-not-policy-classified', 'The added resource type is not in the reviewed low-risk policy.', resource),
|
|
147
|
+
];
|
|
148
|
+
}
|
|
149
|
+
function iamFindings(validation) {
|
|
150
|
+
if (validation.status !== 'complete') {
|
|
151
|
+
return [
|
|
152
|
+
{
|
|
153
|
+
class: 'unknown',
|
|
154
|
+
code: 'iam-validation-incomplete',
|
|
155
|
+
disposition: 'block',
|
|
156
|
+
message: 'IAM Access Analyzer validation did not complete.',
|
|
157
|
+
resourceId: validation.policyResourceId,
|
|
158
|
+
},
|
|
159
|
+
];
|
|
160
|
+
}
|
|
161
|
+
const findings = validation.findings
|
|
162
|
+
.filter(({ findingType }) => findingType === 'error' || findingType === 'security-warning')
|
|
163
|
+
.map(({ findingType, issueCode, location }) => ({
|
|
164
|
+
class: findingType === 'security-warning' ? 'security-expansion' : 'unknown',
|
|
165
|
+
code: `iam-access-analyzer:${issueCode}`,
|
|
166
|
+
disposition: 'block',
|
|
167
|
+
message: findingType === 'security-warning'
|
|
168
|
+
? 'IAM Access Analyzer reported a security warning.'
|
|
169
|
+
: 'IAM Access Analyzer reported an invalid or unproven policy.',
|
|
170
|
+
...(location === undefined ? {} : { propertyPath: location }),
|
|
171
|
+
resourceId: validation.policyResourceId,
|
|
172
|
+
}));
|
|
173
|
+
if (validation.accessChange === 'expanded') {
|
|
174
|
+
findings.push({
|
|
175
|
+
class: 'security-expansion',
|
|
176
|
+
code: 'iam-access-expanded',
|
|
177
|
+
disposition: 'review',
|
|
178
|
+
message: 'IAM actions, resources, conditions, principals, or trust expanded.',
|
|
179
|
+
resourceId: validation.policyResourceId,
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
else if (validation.accessChange !== 'narrow-or-equal') {
|
|
183
|
+
findings.push({
|
|
184
|
+
class: 'unknown',
|
|
185
|
+
code: 'iam-access-change-unproven',
|
|
186
|
+
disposition: 'block',
|
|
187
|
+
message: 'IAM Access Analyzer validation did not prove access direction.',
|
|
188
|
+
resourceId: validation.policyResourceId,
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
return findings;
|
|
192
|
+
}
|
|
193
|
+
function classifyInfrastructureRisk(input) {
|
|
194
|
+
const findings = [];
|
|
195
|
+
if (!input.diff.complete) {
|
|
196
|
+
findings.push(finding('unknown', 'diff-incomplete', 'The cloud-backed diff is incomplete and cannot authorize apply.'));
|
|
197
|
+
}
|
|
198
|
+
for (const resource of input.diff.resources) {
|
|
199
|
+
findings.push(...riskForResource(resource, input.policy));
|
|
200
|
+
}
|
|
201
|
+
for (const signal of input.policySignals ?? []) {
|
|
202
|
+
findings.push({
|
|
203
|
+
class: signal.class,
|
|
204
|
+
code: signal.code,
|
|
205
|
+
disposition: DISPOSITIONS[signal.class],
|
|
206
|
+
message: policySignalMessage(signal.class),
|
|
207
|
+
...(signal.propertyPath === undefined
|
|
208
|
+
? {}
|
|
209
|
+
: { propertyPath: signal.propertyPath }),
|
|
210
|
+
resourceId: signal.resourceId,
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
for (const validation of input.iamValidations ?? []) {
|
|
214
|
+
findings.push(...iamFindings(validation));
|
|
215
|
+
}
|
|
216
|
+
const validations = input.iamValidations ?? [];
|
|
217
|
+
for (const resource of input.diff.resources.filter(({ operation, resourceType }) => operation !== 'delete' &&
|
|
218
|
+
[
|
|
219
|
+
'aws:iam/policy:Policy',
|
|
220
|
+
'aws:iam/role:Role',
|
|
221
|
+
'aws:iam/rolePolicy:RolePolicy',
|
|
222
|
+
].includes(resourceType))) {
|
|
223
|
+
if (!validations.some(({ policyResourceId }) => policyResourceId === resource.logicalId)) {
|
|
224
|
+
findings.push(finding('unknown', 'iam-access-analyzer-evidence-missing', 'An IAM change lacks resource-bound Access Analyzer evidence.', resource));
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
const deduplicated = [
|
|
228
|
+
...new Map(findings.map((item) => [
|
|
229
|
+
[
|
|
230
|
+
item.class,
|
|
231
|
+
item.code,
|
|
232
|
+
item.resourceId ?? '',
|
|
233
|
+
item.propertyPath ?? '',
|
|
234
|
+
].join('\u0000'),
|
|
235
|
+
item,
|
|
236
|
+
])).values(),
|
|
237
|
+
].sort((left, right) => (0, deterministic_order_js_1.compareUtf16)(right.resourceId ?? '', left.resourceId ?? '') ||
|
|
238
|
+
(0, deterministic_order_js_1.compareUtf16)(right.code, left.code));
|
|
239
|
+
const aggregate = deduplicated.reduce((highest, item) => RISK_PRECEDENCE[item.class] > RISK_PRECEDENCE[highest]
|
|
240
|
+
? item.class
|
|
241
|
+
: highest, 'no-change');
|
|
242
|
+
const requiredApprovals = new Set();
|
|
243
|
+
for (const item of deduplicated) {
|
|
244
|
+
if (item.disposition === 'review') {
|
|
245
|
+
requiredApprovals.add('deployment-review');
|
|
246
|
+
}
|
|
247
|
+
if (item.class === 'security-expansion') {
|
|
248
|
+
requiredApprovals.add('security-review');
|
|
249
|
+
}
|
|
250
|
+
if (item.class === 'stateful-or-destructive') {
|
|
251
|
+
requiredApprovals.add('data-owner-and-recovery');
|
|
252
|
+
requiredApprovals.add('point-of-no-return');
|
|
253
|
+
}
|
|
254
|
+
if (item.class === 'protection-reduction') {
|
|
255
|
+
requiredApprovals.add('protection-exception');
|
|
256
|
+
}
|
|
257
|
+
if (item.class === 'material-cost-or-quota') {
|
|
258
|
+
requiredApprovals.add('cost-and-quota-review');
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
return {
|
|
262
|
+
aggregate,
|
|
263
|
+
applyAllowed: input.diff.complete &&
|
|
264
|
+
deduplicated.every(({ disposition }) => disposition !== 'block'),
|
|
265
|
+
findings: deduplicated,
|
|
266
|
+
requiredApprovals: [...requiredApprovals].sort(),
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
//# sourceMappingURL=risk.js.map
|