@empire-builder-kit/nx 1.0.0-rc.4 → 1.0.0-rc.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (805) hide show
  1. package/README.md +44 -10
  2. package/executors.json +21 -1
  3. package/generators.json +10 -0
  4. package/package.json +31 -7
  5. package/src/aws/child-environment.d.ts +10 -0
  6. package/src/aws/child-environment.js +77 -0
  7. package/src/aws/identity.d.ts +13 -0
  8. package/src/aws/identity.js +41 -0
  9. package/src/aws-authority/index.d.ts +2 -0
  10. package/src/aws-authority/index.js +6 -0
  11. package/src/aws-authority/lambda-policy-ordering.d.ts +38 -0
  12. package/src/aws-authority/lambda-policy-ordering.js +56 -0
  13. package/src/aws-authority/stage-authority.d.ts +248 -0
  14. package/src/aws-authority/stage-authority.js +3558 -0
  15. package/src/blueprints/external-sandbox.d.ts +1 -1
  16. package/src/blueprints/external-sandbox.js +21 -9
  17. package/src/blueprints/manifest.d.ts +1 -1
  18. package/src/blueprints/resolver.js +28 -15
  19. package/src/cli/bootstrap.d.ts +1 -1
  20. package/src/cli/deploy-runtime.d.ts +30 -0
  21. package/src/cli/deploy-runtime.js +174 -0
  22. package/src/cli/dev-command.d.ts +18 -4
  23. package/src/cli/dev-command.js +71 -0
  24. package/src/cli/main.d.ts +9 -1
  25. package/src/cli/main.js +157 -24
  26. package/src/cli/output.d.ts +1 -1
  27. package/src/cli/output.js +1 -1
  28. package/src/cli/personal-secret-runtime.d.ts +12 -0
  29. package/src/cli/personal-secret-runtime.js +18 -3
  30. package/src/cli/secret-terminal.js +1 -1
  31. package/src/container-images.d.ts +1 -1
  32. package/src/container-images.js +1 -1
  33. package/src/developer-agent/context.js +41 -9
  34. package/src/developer-agent/generator-planning.js +20 -6
  35. package/src/developer-agent/git-inspection.d.ts +6 -2
  36. package/src/developer-agent/git-inspection.js +78 -6
  37. package/src/developer-agent/model.d.ts +5 -3
  38. package/src/developer-agent/model.js +4 -4
  39. package/src/developer-agent/operation-registry.d.ts +15 -0
  40. package/src/developer-agent/operation-registry.js +342 -49
  41. package/src/developer-agent/planning.d.ts +8 -1
  42. package/src/developer-agent/planning.js +39 -16
  43. package/src/developer-agent/preview-changes.d.ts +2 -0
  44. package/src/developer-agent/preview-changes.js +14 -2
  45. package/src/developer-agent/preview-source.js +3 -0
  46. package/src/developer-agent/validation.js +25 -9
  47. package/src/developer-agent/workspace-inspection.js +60 -5
  48. package/src/executors/blueprint-trust/blueprint-trust.js +6 -0
  49. package/src/executors/deployment-plan/deployment-plan.d.ts +2 -0
  50. package/src/executors/deployment-plan/deployment-plan.js +57 -2
  51. package/src/executors/dev-doctor/dev-doctor.js +13 -6
  52. package/src/executors/dev-task-cleanup/dev-task-cleanup.d.ts +23 -0
  53. package/src/executors/dev-task-cleanup/dev-task-cleanup.js +145 -0
  54. package/src/executors/dev-task-cleanup/schema.json +9 -0
  55. package/src/executors/dev-task-cleanup/task-stack-absence.d.ts +27 -0
  56. package/src/executors/dev-task-cleanup/task-stack-absence.js +281 -0
  57. package/src/executors/dev-task-cleanup/task-stack-checkpoint.d.ts +12 -0
  58. package/src/executors/dev-task-cleanup/task-stack-checkpoint.js +92 -0
  59. package/src/executors/fleet/fleet.js +1 -1
  60. package/src/executors/foundation-preflight/foundation-preflight.d.ts +1 -0
  61. package/src/executors/foundation-preflight/foundation-preflight.js +6 -2
  62. package/src/executors/foundation-preflight/schema.json +5 -0
  63. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.d.ts +13 -2
  64. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js +95 -31
  65. package/src/executors/foundation-profile-preflight/production-database-safeguard.d.ts +65 -0
  66. package/src/executors/foundation-profile-preflight/production-database-safeguard.js +223 -0
  67. package/src/executors/foundation-profile-preflight/schema.json +15 -4
  68. package/src/executors/foundation-remove-preflight/foundation-remove-preflight.d.ts +11 -1
  69. package/src/executors/foundation-remove-preflight/foundation-remove-preflight.js +70 -20
  70. package/src/executors/foundation-remove-preflight/schema.json +6 -1
  71. package/src/executors/github-bootstrap/github-bootstrap.d.ts +1 -0
  72. package/src/executors/github-bootstrap/github-bootstrap.js +3 -0
  73. package/src/executors/github-bootstrap/schema.json +7 -1
  74. package/src/executors/infrastructure-plan/infrastructure-plan.d.ts +29 -136
  75. package/src/executors/infrastructure-plan/infrastructure-plan.js +230 -3282
  76. package/src/executors/infrastructure-plan/schema.json +12 -52
  77. package/src/executors/local-deploy/federated-credential-transport.d.ts +48 -0
  78. package/src/executors/local-deploy/federated-credential-transport.js +252 -0
  79. package/src/executors/local-deploy/local-approval.d.ts +18 -0
  80. package/src/executors/local-deploy/local-approval.js +39 -0
  81. package/src/executors/local-deploy/local-deploy.d.ts +112 -0
  82. package/src/executors/local-deploy/local-deploy.js +1404 -0
  83. package/src/executors/local-deploy/schema.json +70 -0
  84. package/src/executors/refresh/refresh.js +2 -2
  85. package/src/executors/remove/remove.js +2 -2
  86. package/src/executors/router-waf-rehearsal/router-waf-rehearsal.d.ts +42 -0
  87. package/src/executors/router-waf-rehearsal/router-waf-rehearsal.js +1229 -0
  88. package/src/executors/router-waf-rehearsal/schema.json +29 -0
  89. package/src/executors/secret-initialize/schema.json +42 -0
  90. package/src/executors/secret-initialize/secret-initialize.d.ts +34 -0
  91. package/src/executors/secret-initialize/secret-initialize.js +297 -0
  92. package/src/executors/secret-metadata/schema.json +5 -0
  93. package/src/executors/secret-metadata/secret-metadata.d.ts +16 -2
  94. package/src/executors/secret-metadata/secret-metadata.js +129 -30
  95. package/src/executors/sst-lifecycle/generated-secret-retirement.d.ts +53 -0
  96. package/src/executors/sst-lifecycle/generated-secret-retirement.js +192 -0
  97. package/src/executors/sst-lifecycle/governed-native-operation.d.ts +48 -0
  98. package/src/executors/sst-lifecycle/governed-native-operation.js +163 -0
  99. package/src/executors/sst-lifecycle/logging-preflight.d.ts +5 -0
  100. package/src/executors/sst-lifecycle/logging-preflight.js +23 -13
  101. package/src/executors/sst-lifecycle/run-sst-command.d.ts +46 -6
  102. package/src/executors/sst-lifecycle/run-sst-command.js +750 -71
  103. package/src/executors/sst-lifecycle/schema.json +8 -1
  104. package/src/executors/sst-lifecycle/secret-preflight.d.ts +2 -0
  105. package/src/executors/sst-lifecycle/secret-preflight.js +13 -7
  106. package/src/executors/sst-lifecycle/sst-environment-source.d.ts +33 -0
  107. package/src/executors/sst-lifecycle/sst-environment-source.js +267 -0
  108. package/src/executors/sst-lifecycle/task-unlock.d.ts +15 -0
  109. package/src/executors/sst-lifecycle/task-unlock.js +126 -0
  110. package/src/executors/unlock/unlock.js +2 -2
  111. package/src/foundation/capability-plan.d.ts +43 -0
  112. package/src/foundation/capability-plan.js +168 -0
  113. package/src/foundation/cost-estimate.d.ts +170 -0
  114. package/src/foundation/cost-estimate.js +683 -0
  115. package/src/foundation/discovery.d.ts +14 -11
  116. package/src/foundation/discovery.js +32 -6
  117. package/src/foundation/index.d.ts +4 -0
  118. package/src/foundation/index.js +11 -0
  119. package/src/foundation/local-database-contract.d.ts +20 -0
  120. package/src/foundation/local-database-contract.js +262 -13
  121. package/src/foundation/local-private-smoke-access.d.ts +20 -0
  122. package/src/foundation/local-private-smoke-access.js +197 -0
  123. package/src/foundation/logging-preflight.js +1 -1
  124. package/src/foundation/logging.d.ts +3 -1
  125. package/src/foundation/logging.js +1 -1
  126. package/src/foundation/partial-state.d.ts +10 -0
  127. package/src/foundation/partial-state.js +21 -0
  128. package/src/foundation/preflight.js +37 -18
  129. package/src/foundation/private-smoke-access.d.ts +25 -0
  130. package/src/foundation/private-smoke-access.js +135 -0
  131. package/src/foundation/private-smoke-admission.d.ts +45 -0
  132. package/src/foundation/private-smoke-admission.js +180 -0
  133. package/src/foundation/private-smoke-control-plane.d.ts +18 -0
  134. package/src/foundation/private-smoke-control-plane.js +184 -0
  135. package/src/foundation/provision-database-bindings.d.ts +5 -0
  136. package/src/foundation/provision-database-bindings.js +41 -8
  137. package/src/foundation/provision-logical-database.js +15 -8
  138. package/src/foundation/requirements.d.ts +3 -3
  139. package/src/foundation/requirements.js +24 -12
  140. package/src/foundation/router-waf-rate-rehearsal.d.ts +97 -0
  141. package/src/foundation/router-waf-rate-rehearsal.js +210 -0
  142. package/src/foundation/router-waf.d.ts +149 -0
  143. package/src/foundation/router-waf.js +809 -0
  144. package/src/foundation/stages.d.ts +1 -0
  145. package/src/foundation/stages.js +11 -0
  146. package/src/generators/blueprint/blueprint.d.ts +5 -0
  147. package/src/generators/blueprint/blueprint.js +102 -0
  148. package/src/generators/blueprint/files.d.ts +6 -0
  149. package/src/generators/blueprint/files.js +217 -0
  150. package/src/generators/blueprint/schema.d.ts +4 -0
  151. package/src/generators/blueprint/schema.json +18 -0
  152. package/src/generators/formatting.d.ts +8 -0
  153. package/src/generators/formatting.js +141 -0
  154. package/src/generators/function/function.js +38 -17
  155. package/src/generators/logging-registry.d.ts +2 -0
  156. package/src/generators/logging-registry.js +22 -0
  157. package/src/generators/post-generation-install.js +2 -2
  158. package/src/generators/preset/dependency-overrides.d.ts +8 -0
  159. package/src/generators/preset/dependency-overrides.js +55 -0
  160. package/src/generators/preset/generator.js +43 -3
  161. package/src/generators/preset/schema.d.ts +10 -0
  162. package/src/generators/preset/schema.json +47 -0
  163. package/src/generators/preset/workspace-files-adopter-skills.d.ts +7 -0
  164. package/src/generators/preset/workspace-files-adopter-skills.js +324 -0
  165. package/src/generators/preset/workspace-files-ci-acceptance.d.ts +1 -0
  166. package/src/generators/preset/workspace-files-ci-acceptance.js +791 -0
  167. package/src/generators/preset/workspace-files-ci-install.d.ts +2 -0
  168. package/src/generators/preset/workspace-files-ci-install.js +196 -0
  169. package/src/generators/preset/workspace-files-developer-agent.d.ts +2 -0
  170. package/src/generators/preset/workspace-files-developer-agent.js +162 -44
  171. package/src/generators/preset/workspace-files-ecr-inspector.d.ts +18 -0
  172. package/src/generators/preset/workspace-files-ecr-inspector.js +298 -0
  173. package/src/generators/preset/workspace-files-foundation-workload-roles.js +5 -2
  174. package/src/generators/preset/workspace-files-performance-cost.d.ts +2 -2
  175. package/src/generators/preset/workspace-files-performance-cost.js +8 -8
  176. package/src/generators/preset/workspace-files-performance-load.d.ts +1 -1
  177. package/src/generators/preset/workspace-files-performance-load.js +39 -25
  178. package/src/generators/preset/workspace-files-shared-operation-claims.d.ts +10 -0
  179. package/src/generators/preset/workspace-files-shared-operation-claims.js +59 -0
  180. package/src/generators/preset/workspace-files-stage-authority.d.ts +6 -0
  181. package/src/generators/preset/workspace-files-stage-authority.js +529 -0
  182. package/src/generators/preset/workspace-files-thin-deploy.d.ts +65 -0
  183. package/src/generators/preset/workspace-files-thin-deploy.js +2507 -0
  184. package/src/generators/preset/workspace-files-thin-docs.d.ts +7 -0
  185. package/src/generators/preset/workspace-files-thin-docs.js +370 -0
  186. package/src/generators/preset/workspace-files-thin-release.d.ts +14 -0
  187. package/src/generators/preset/workspace-files-thin-release.js +26 -0
  188. package/src/generators/preset/workspace-files-workload-role-baseline.js +254 -42
  189. package/src/generators/preset/workspace-files.d.ts +18 -2
  190. package/src/generators/preset/workspace-files.js +1525 -609
  191. package/src/generators/repository-policy/repository-policy.js +235 -5
  192. package/src/generators/repository-policy/schema.d.ts +10 -0
  193. package/src/generators/repository-policy/schema.json +80 -4
  194. package/src/generators/repository-policy/tree-policy.d.ts +3 -0
  195. package/src/generators/repository-policy/tree-policy.js +25 -0
  196. package/src/generators/slice/built-in-plan-api-contract-files.js +49 -11
  197. package/src/generators/slice/built-in-plan-api-files.d.ts +1 -1
  198. package/src/generators/slice/built-in-plan-api-files.js +130 -414
  199. package/src/generators/slice/built-in-plan-async-work-files.js +166 -1969
  200. package/src/generators/slice/built-in-plan-authorization-files.js +102 -334
  201. package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js +975 -233
  202. package/src/generators/slice/built-in-plan-authorization-storage.d.ts +3 -0
  203. package/src/generators/slice/built-in-plan-authorization-storage.js +119 -0
  204. package/src/generators/slice/built-in-plan-background-work-files.d.ts +2 -0
  205. package/src/generators/slice/built-in-plan-background-work-files.js +99 -0
  206. package/src/generators/slice/built-in-plan-data-deletion-files.js +2 -830
  207. package/src/generators/slice/built-in-plan-data-export-infrastructure-files.js +5 -31
  208. package/src/generators/slice/built-in-plan-data-files.d.ts +1 -1
  209. package/src/generators/slice/built-in-plan-data-files.js +176 -1200
  210. package/src/generators/slice/built-in-plan-data-lifecycle-files.js +53 -28
  211. package/src/generators/slice/built-in-plan-data-lifecycle-runtime-files.js +37 -2
  212. package/src/generators/slice/built-in-plan-data-retention-job-files.js +7 -2443
  213. package/src/generators/slice/built-in-plan-data-retention-launcher-files.js +50 -8
  214. package/src/generators/slice/built-in-plan-data-rights-files.js +6 -4482
  215. package/src/generators/slice/built-in-plan-database-lifecycle-files.js +44 -25
  216. package/src/generators/slice/built-in-plan-database-retirement-rehearsal-files.js +25 -2
  217. package/src/generators/slice/built-in-plan-foundation-files.d.ts +2 -1
  218. package/src/generators/slice/built-in-plan-foundation-files.js +39 -18
  219. package/src/generators/slice/built-in-plan-frontend-files.js +14 -3
  220. package/src/generators/slice/built-in-plan-infrastructure-files.d.ts +1 -1
  221. package/src/generators/slice/built-in-plan-infrastructure-files.js +933 -730
  222. package/src/generators/slice/built-in-plan-infrastructure-safety-files.js +75 -14
  223. package/src/generators/slice/built-in-plan-key-value-cleanup.d.ts +4 -0
  224. package/src/generators/slice/built-in-plan-key-value-cleanup.js +100 -0
  225. package/src/generators/slice/built-in-plan-key-value-consumer.d.ts +4 -0
  226. package/src/generators/slice/built-in-plan-key-value-consumer.js +151 -0
  227. package/src/generators/slice/built-in-plan-key-value-deletion.d.ts +2 -0
  228. package/src/generators/slice/built-in-plan-key-value-deletion.js +377 -0
  229. package/src/generators/slice/built-in-plan-key-value-delivery.d.ts +2 -0
  230. package/src/generators/slice/built-in-plan-key-value-delivery.js +137 -0
  231. package/src/generators/slice/built-in-plan-key-value-export.d.ts +2 -0
  232. package/src/generators/slice/built-in-plan-key-value-export.js +595 -0
  233. package/src/generators/slice/built-in-plan-key-value-files.d.ts +2 -0
  234. package/src/generators/slice/built-in-plan-key-value-files.js +31 -0
  235. package/src/generators/slice/built-in-plan-key-value-holds.d.ts +2 -0
  236. package/src/generators/slice/built-in-plan-key-value-holds.js +189 -0
  237. package/src/generators/slice/built-in-plan-key-value-infrastructure.d.ts +2 -0
  238. package/src/generators/slice/built-in-plan-key-value-infrastructure.js +102 -0
  239. package/src/generators/slice/built-in-plan-key-value-performance.d.ts +5 -0
  240. package/src/generators/slice/built-in-plan-key-value-performance.js +530 -0
  241. package/src/generators/slice/built-in-plan-key-value-provider.d.ts +4 -0
  242. package/src/generators/slice/built-in-plan-key-value-provider.js +366 -0
  243. package/src/generators/slice/built-in-plan-key-value-records.d.ts +3 -0
  244. package/src/generators/slice/built-in-plan-key-value-records.js +232 -0
  245. package/src/generators/slice/built-in-plan-key-value-retention-infrastructure.d.ts +2 -0
  246. package/src/generators/slice/built-in-plan-key-value-retention-infrastructure.js +103 -0
  247. package/src/generators/slice/built-in-plan-key-value-retention-job-files.d.ts +2 -0
  248. package/src/generators/slice/built-in-plan-key-value-retention-job-files.js +160 -0
  249. package/src/generators/slice/built-in-plan-key-value-retention-maintenance.d.ts +2 -0
  250. package/src/generators/slice/built-in-plan-key-value-retention-maintenance.js +329 -0
  251. package/src/generators/slice/built-in-plan-key-value-retention-worker.d.ts +2 -0
  252. package/src/generators/slice/built-in-plan-key-value-retention-worker.js +477 -0
  253. package/src/generators/slice/built-in-plan-key-value-retention.d.ts +2 -0
  254. package/src/generators/slice/built-in-plan-key-value-retention.js +184 -0
  255. package/src/generators/slice/built-in-plan-metadata-files.d.ts +1 -1
  256. package/src/generators/slice/built-in-plan-metadata-files.js +159 -29
  257. package/src/generators/slice/built-in-plan-native-runtime-authority-files.d.ts +2 -0
  258. package/src/generators/slice/built-in-plan-native-runtime-authority-files.js +324 -0
  259. package/src/generators/slice/built-in-plan-operations-files.d.ts +1 -1
  260. package/src/generators/slice/built-in-plan-operations-files.js +585 -97
  261. package/src/generators/slice/built-in-plan-performance-files.d.ts +2 -1
  262. package/src/generators/slice/built-in-plan-performance-files.js +220 -1074
  263. package/src/generators/slice/built-in-plan-project-files.js +141 -135
  264. package/src/generators/slice/built-in-plan-release-files.d.ts +1 -1
  265. package/src/generators/slice/built-in-plan-release-files.js +310 -70
  266. package/src/generators/slice/built-in-plan-reliability-files.d.ts +1 -1
  267. package/src/generators/slice/built-in-plan-reliability-files.js +283 -44
  268. package/src/generators/slice/built-in-plan-secret-runtime-files.d.ts +1 -1
  269. package/src/generators/slice/built-in-plan-secret-runtime-files.js +87 -76
  270. package/src/generators/slice/built-in-plan-shared.d.ts +4 -2
  271. package/src/generators/slice/built-in-plan-shared.js +41 -19
  272. package/src/generators/slice/built-in-plan-sql-events.d.ts +2 -0
  273. package/src/generators/slice/built-in-plan-sql-events.js +276 -0
  274. package/src/generators/slice/built-in-plan-testing-files.d.ts +1 -1
  275. package/src/generators/slice/built-in-plan-testing-files.js +304 -172
  276. package/src/generators/slice/built-in-plan-testing-persistence-event-files.d.ts +7 -0
  277. package/src/generators/slice/built-in-plan-testing-persistence-event-files.js +487 -0
  278. package/src/generators/slice/built-in-plan-testing-persistence-files.d.ts +2 -0
  279. package/src/generators/slice/built-in-plan-testing-persistence-files.js +180 -0
  280. package/src/generators/slice/built-in-plan-thin-release-files.d.ts +11 -0
  281. package/src/generators/slice/built-in-plan-thin-release-files.js +162 -0
  282. package/src/generators/slice/built-in-plan-verification-files.js +76 -2
  283. package/src/generators/slice/built-in-plan-web-files.d.ts +1 -1
  284. package/src/generators/slice/built-in-plan-web-files.js +223 -16
  285. package/src/generators/slice/built-in-plan-workload-role-files.d.ts +1 -1
  286. package/src/generators/slice/built-in-plan-workload-role-files.js +143 -279
  287. package/src/generators/slice/built-in-plan.d.ts +11 -1
  288. package/src/generators/slice/built-in-plan.js +83 -30
  289. package/src/generators/slice/data-policy-review-seed.d.ts +2 -0
  290. package/src/generators/slice/data-policy-review-seed.js +22 -0
  291. package/src/generators/slice/deployed-smoke-readiness.d.ts +2 -0
  292. package/src/generators/slice/deployed-smoke-readiness.js +214 -0
  293. package/src/generators/slice/local-source-identity.d.ts +2 -0
  294. package/src/generators/slice/local-source-identity.js +31 -0
  295. package/src/generators/slice/persistence-contract.d.ts +14 -0
  296. package/src/generators/slice/persistence-contract.js +32 -0
  297. package/src/generators/slice/slice.js +61 -50
  298. package/src/generators/sql/schema.d.ts +7 -0
  299. package/src/generators/sql/schema.json +38 -0
  300. package/src/generators/sql/sql.d.ts +6 -0
  301. package/src/generators/sql/sql.js +53 -0
  302. package/src/generators/upgrade/sql-seeded-reconciliation.d.ts +2 -0
  303. package/src/generators/upgrade/sql-seeded-reconciliation.js +170 -0
  304. package/src/generators/upgrade/upgrade.d.ts +15 -1
  305. package/src/generators/upgrade/upgrade.js +435 -44
  306. package/src/generators/workload/frozen-container.d.ts +1 -1
  307. package/src/generators/workload/performance-registration.d.ts +1 -0
  308. package/src/generators/workload/performance-registration.js +9 -11
  309. package/src/generators/workload/service-performance-files.d.ts +1 -0
  310. package/src/generators/workload/service-performance-files.js +27 -7
  311. package/src/generators/workload/workload.d.ts +1 -1
  312. package/src/generators/workload/workload.js +105 -29
  313. package/src/git-policy/action-pins.d.ts +5 -0
  314. package/src/git-policy/action-pins.js +5 -0
  315. package/src/git-policy/github-bootstrap.d.ts +48 -8
  316. package/src/git-policy/github-bootstrap.js +344 -176
  317. package/src/git-policy/routing.d.ts +7 -1
  318. package/src/git-policy/routing.js +62 -1
  319. package/src/index.d.ts +1 -0
  320. package/src/index.js +1 -0
  321. package/src/infrastructure-change/local-capability.d.ts +73 -0
  322. package/src/infrastructure-change/local-capability.js +114 -0
  323. package/src/infrastructure-change/model.d.ts +25 -4
  324. package/src/infrastructure-change/model.js +1 -0
  325. package/src/infrastructure-change/normalize.d.ts +4 -0
  326. package/src/infrastructure-change/normalize.js +47 -7
  327. package/src/infrastructure-change/plan.d.ts +30 -3
  328. package/src/infrastructure-change/plan.js +323 -13
  329. package/src/infrastructure-change/risk.d.ts +3 -1
  330. package/src/infrastructure-change/risk.js +96 -16
  331. package/src/local-dev/browser-verification.d.ts +37 -0
  332. package/src/local-dev/browser-verification.js +281 -0
  333. package/src/local-dev/contracts.d.ts +10 -1
  334. package/src/local-dev/contracts.js +114 -13
  335. package/src/local-dev/dev-command-core.js +24 -5
  336. package/src/local-dev/docker-credential-health.d.ts +14 -0
  337. package/src/local-dev/docker-credential-health.js +94 -0
  338. package/src/local-dev/environment-inspector.d.ts +7 -0
  339. package/src/local-dev/environment-inspector.js +42 -15
  340. package/src/local-dev/environment-state.js +2 -2
  341. package/src/local-dev/errors.d.ts +1 -1
  342. package/src/local-dev/errors.js +2 -0
  343. package/src/local-dev/fleet-client.js +2 -2
  344. package/src/local-dev/fleet-configuration.js +57 -25
  345. package/src/local-dev/fleet-inventory.js +58 -22
  346. package/src/local-dev/fleet-ipc.d.ts +7 -0
  347. package/src/local-dev/fleet-ipc.js +14 -2
  348. package/src/local-dev/fleet-launcher.d.ts +6 -0
  349. package/src/local-dev/fleet-launcher.js +16 -4
  350. package/src/local-dev/fleet-logs.js +50 -22
  351. package/src/local-dev/fleet-process.d.ts +20 -1
  352. package/src/local-dev/fleet-process.js +197 -41
  353. package/src/local-dev/fleet-runner-evidence.d.ts +5 -0
  354. package/src/local-dev/fleet-runner-evidence.js +56 -0
  355. package/src/local-dev/fleet-runtime.js +268 -229
  356. package/src/local-dev/fleet-session.d.ts +2 -0
  357. package/src/local-dev/fleet-session.js +28 -11
  358. package/src/local-dev/fleet-slice-runner-daemon.js +4 -0
  359. package/src/local-dev/fleet-state.d.ts +5 -2
  360. package/src/local-dev/fleet-state.js +25 -4
  361. package/src/local-dev/fleet-supervisor.d.ts +3 -0
  362. package/src/local-dev/fleet-supervisor.js +66 -11
  363. package/src/local-dev/fleet-web-start.d.ts +12 -0
  364. package/src/local-dev/fleet-web-start.js +48 -0
  365. package/src/local-dev/identity.js +3 -14
  366. package/src/local-dev/index.d.ts +1 -0
  367. package/src/local-dev/index.js +1 -0
  368. package/src/local-dev/native-completion.d.ts +9 -0
  369. package/src/local-dev/native-completion.js +130 -0
  370. package/src/local-dev/nx-workspace.d.ts +4 -2
  371. package/src/local-dev/nx-workspace.js +11 -6
  372. package/src/local-dev/personal-stage.d.ts +4 -5
  373. package/src/local-dev/personal-stage.js +6 -54
  374. package/src/local-dev/port-claims.d.ts +13 -0
  375. package/src/local-dev/port-claims.js +46 -0
  376. package/src/local-dev/ports.d.ts +14 -2
  377. package/src/local-dev/ports.js +78 -3
  378. package/src/local-dev/private-state.d.ts +11 -0
  379. package/src/local-dev/private-state.js +146 -40
  380. package/src/local-dev/process-group.d.ts +4 -0
  381. package/src/local-dev/process-group.js +29 -0
  382. package/src/local-dev/process-identity.d.ts +8 -0
  383. package/src/local-dev/process-identity.js +31 -1
  384. package/src/local-dev/proxy.js +11 -12
  385. package/src/local-dev/runtime-paths.js +1 -1
  386. package/src/local-dev/slice-claim.js +1 -1
  387. package/src/local-dev/slice-runner.d.ts +15 -6
  388. package/src/local-dev/slice-runner.js +189 -54
  389. package/src/local-dev/task-attachment.d.ts +17 -0
  390. package/src/local-dev/task-attachment.js +73 -0
  391. package/src/local-dev/task-authority.d.ts +10 -0
  392. package/src/local-dev/task-authority.js +27 -0
  393. package/src/local-dev/task-identity.d.ts +33 -0
  394. package/src/local-dev/task-identity.js +418 -0
  395. package/src/local-dev/task-native-writer.d.ts +18 -0
  396. package/src/local-dev/task-native-writer.js +329 -0
  397. package/src/local-dev/tls.js +8 -2
  398. package/src/local-dev/web-launch.d.ts +9 -0
  399. package/src/local-dev/web-launch.js +130 -0
  400. package/src/ownership/composition.d.ts +2 -1
  401. package/src/ownership/composition.js +1 -0
  402. package/src/performance/cost-collection.d.ts +1 -1
  403. package/src/performance/cost-collection.js +4 -2
  404. package/src/performance/cost-controls.d.ts +8 -4
  405. package/src/performance/cost-controls.js +39 -28
  406. package/src/performance/evidence.d.ts +1 -1
  407. package/src/performance/evidence.js +5 -3
  408. package/src/performance/load-safety.js +5 -3
  409. package/src/performance/model.d.ts +4 -4
  410. package/src/performance/model.js +4 -5
  411. package/src/performance/scenario.d.ts +22 -0
  412. package/src/performance/scenario.js +100 -92
  413. package/src/release/index.d.ts +0 -2
  414. package/src/release/index.js +0 -2
  415. package/src/release/source-authority.d.ts +5 -5
  416. package/src/release/source-authority.js +141 -124
  417. package/src/repository-policy/aurora-preflight.d.ts +1 -1
  418. package/src/repository-policy/aurora-preflight.js +4 -1
  419. package/src/repository-policy/capacity-migration.d.ts +3 -0
  420. package/src/repository-policy/capacity-migration.js +21 -0
  421. package/src/repository-policy/deployment-plan.d.ts +4 -1
  422. package/src/repository-policy/deployment-plan.js +9 -0
  423. package/src/repository-policy/foundation-profile.js +10 -1
  424. package/src/repository-policy/policy.d.ts +57 -3
  425. package/src/repository-policy/policy.js +497 -11
  426. package/src/schemas/blueprint-v1.json +5 -4
  427. package/src/schemas/foundation-requirement-v1.json +5 -4
  428. package/src/schemas/performance-policy-v1.json +3 -3
  429. package/src/schemas/repository-policy-v1.json +130 -6
  430. package/src/schemas/testing-evidence-result-v1.json +1 -1
  431. package/src/secrets/adapters.d.ts +7 -2
  432. package/src/secrets/adapters.js +34 -3
  433. package/src/secrets/aws-control-plane.d.ts +10 -1
  434. package/src/secrets/aws-control-plane.js +67 -0
  435. package/src/secrets/generated-aws-control-plane.d.ts +23 -0
  436. package/src/secrets/generated-aws-control-plane.js +259 -0
  437. package/src/secrets/metadata.js +38 -10
  438. package/src/secrets/model.d.ts +8 -1
  439. package/src/secrets/model.js +24 -3
  440. package/src/secrets/operator.d.ts +91 -3
  441. package/src/secrets/operator.js +463 -13
  442. package/src/secrets/personal-command.d.ts +18 -2
  443. package/src/secrets/personal-command.js +66 -12
  444. package/src/secrets/registry.d.ts +2 -1
  445. package/src/secrets/registry.js +18 -1
  446. package/src/secrets/verification.js +15 -2
  447. package/src/secrets/workload-access.js +10 -2
  448. package/src/sst-environment-source-format.d.ts +6 -0
  449. package/src/sst-environment-source-format.js +199 -0
  450. package/src/supply-chain/action-pins.js +61 -7
  451. package/src/supply-chain/blueprint-trust-git.js +85 -24
  452. package/src/supply-chain/blueprint-verification-authority.js +55 -3
  453. package/src/supply-chain/build-output-bounds.d.ts +2 -0
  454. package/src/supply-chain/build-output-bounds.js +12 -0
  455. package/src/supply-chain/build-output.d.ts +7 -1
  456. package/src/supply-chain/build-output.js +177 -24
  457. package/src/supply-chain/ecr-scanning.d.ts +5 -3
  458. package/src/supply-chain/ecr-scanning.js +11 -7
  459. package/src/supply-chain/ecs-deployed-image.d.ts +5 -3
  460. package/src/supply-chain/ecs-deployed-image.js +6 -4
  461. package/src/supply-chain/generated-blueprint-trust-command.js +18 -1
  462. package/src/supply-chain/generated-command.js +1 -0
  463. package/src/supply-chain/generated-container-release-command.js +1285 -124
  464. package/src/supply-chain/generated-ecr-collector-command.d.ts +0 -1
  465. package/src/supply-chain/generated-ecr-collector-command.js +200 -93
  466. package/src/supply-chain/generated-files.js +25 -14
  467. package/src/supply-chain/generated-scanner-command.js +2 -1
  468. package/src/supply-chain/index.d.ts +1 -1
  469. package/src/supply-chain/index.js +2 -1
  470. package/src/supply-chain/sbom.d.ts +1 -1
  471. package/src/supply-chain/sbom.js +30 -5
  472. package/src/supply-chain/scanner.js +3 -0
  473. package/src/testing-evidence/fixture-scope.d.ts +2 -1
  474. package/src/testing-evidence/fixture-scope.js +4 -2
  475. package/src/testing-evidence/result.d.ts +2 -1
  476. package/src/testing-evidence/result.js +18 -4
  477. package/src/workload-roles/account-baseline.d.ts +11 -0
  478. package/src/workload-roles/account-baseline.js +253 -16
  479. package/src/workload-roles/authority.d.ts +3 -1
  480. package/src/workload-roles/authority.js +48 -2
  481. package/src/workload-roles/aws-s3-state.js +27 -0
  482. package/src/workload-roles/boundary.d.ts +2 -1
  483. package/src/workload-roles/boundary.js +9 -2
  484. package/src/workload-roles/handler.js +52 -24
  485. package/src/workload-roles/index.d.ts +10 -17
  486. package/src/workload-roles/index.js +5 -18
  487. package/src/workload-roles/injection.js +1 -1
  488. package/src/workload-roles/provisioner.js +12 -4
  489. package/src/workload-roles/registration.d.ts +1 -0
  490. package/src/workload-roles/registration.js +5 -0
  491. package/src/workload-roles/stage-boundary.js +1 -1
  492. package/src/workload-roles/standard-slice.js +3 -3
  493. package/src/workspace-deployment/affected-lifecycle.d.ts +53 -0
  494. package/src/workspace-deployment/affected-lifecycle.js +84 -0
  495. package/src/workspace-deployment/identity.d.ts +3 -0
  496. package/src/workspace-deployment/identity.js +22 -0
  497. package/src/workspace-deployment/index.d.ts +4 -0
  498. package/src/workspace-deployment/index.js +8 -0
  499. package/src/workspace-deployment/migration-evidence.d.ts +29 -0
  500. package/src/workspace-deployment/migration-evidence.js +83 -0
  501. package/src/workspace-deployment/migration.d.ts +27 -0
  502. package/src/workspace-deployment/migration.js +109 -0
  503. package/src/workspace-deployment/ownership.d.ts +81 -0
  504. package/src/workspace-deployment/ownership.js +381 -0
  505. package/src/api-contract/baseline-update.js.map +0 -1
  506. package/src/api-contract/compatibility.js.map +0 -1
  507. package/src/api-contract/contract-graph.js.map +0 -1
  508. package/src/api-contract/evidence.js.map +0 -1
  509. package/src/api-contract/index.js.map +0 -1
  510. package/src/api-contract/model.fixtures.d.ts +0 -2
  511. package/src/api-contract/model.fixtures.js +0 -81
  512. package/src/api-contract/model.fixtures.js.map +0 -1
  513. package/src/api-contract/model.js.map +0 -1
  514. package/src/api-contract/rollout.js.map +0 -1
  515. package/src/authorization/compatibility.js.map +0 -1
  516. package/src/authorization/index.js.map +0 -1
  517. package/src/blueprints/execution.js.map +0 -1
  518. package/src/blueprints/external-sandbox.js.map +0 -1
  519. package/src/blueprints/index.js.map +0 -1
  520. package/src/blueprints/inputs.js.map +0 -1
  521. package/src/blueprints/manifest.js.map +0 -1
  522. package/src/blueprints/resolver.js.map +0 -1
  523. package/src/blueprints/transitions.js.map +0 -1
  524. package/src/cli/agent-command.js.map +0 -1
  525. package/src/cli/agent-runtime.js.map +0 -1
  526. package/src/cli/blueprint-authority.js.map +0 -1
  527. package/src/cli/blueprint-command.js.map +0 -1
  528. package/src/cli/bootstrap.js.map +0 -1
  529. package/src/cli/dev-command.js.map +0 -1
  530. package/src/cli/main.js.map +0 -1
  531. package/src/cli/output.js.map +0 -1
  532. package/src/cli/personal-secret-runtime.js.map +0 -1
  533. package/src/cli/secret-terminal.js.map +0 -1
  534. package/src/container-images.js.map +0 -1
  535. package/src/data-lifecycle/index.js.map +0 -1
  536. package/src/data-lifecycle/model.fixtures.d.ts +0 -2
  537. package/src/data-lifecycle/model.fixtures.js +0 -244
  538. package/src/data-lifecycle/model.fixtures.js.map +0 -1
  539. package/src/data-lifecycle/model.js.map +0 -1
  540. package/src/data-lifecycle/sensitive-artifacts.js.map +0 -1
  541. package/src/data-lifecycle/validation.js.map +0 -1
  542. package/src/database-retirement/contract.js.map +0 -1
  543. package/src/database-retirement/index.js.map +0 -1
  544. package/src/deterministic-order.js.map +0 -1
  545. package/src/developer-agent/context.js.map +0 -1
  546. package/src/developer-agent/generator-planning.js.map +0 -1
  547. package/src/developer-agent/generator-preview.js.map +0 -1
  548. package/src/developer-agent/git-inspection.js.map +0 -1
  549. package/src/developer-agent/handoff.js.map +0 -1
  550. package/src/developer-agent/index.js.map +0 -1
  551. package/src/developer-agent/model.js.map +0 -1
  552. package/src/developer-agent/operation-registry.js.map +0 -1
  553. package/src/developer-agent/ordering.js.map +0 -1
  554. package/src/developer-agent/planning.js.map +0 -1
  555. package/src/developer-agent/preview-changes.js.map +0 -1
  556. package/src/developer-agent/preview-source.js.map +0 -1
  557. package/src/developer-agent/validation.js.map +0 -1
  558. package/src/developer-agent/workspace-inspection.js.map +0 -1
  559. package/src/developer-agent/workspace-path.js.map +0 -1
  560. package/src/executors/blueprint-trust/blueprint-trust.js.map +0 -1
  561. package/src/executors/blueprint-verification/blueprint-verification.js.map +0 -1
  562. package/src/executors/deploy/deploy.js.map +0 -1
  563. package/src/executors/deployment-plan/deployment-plan.js.map +0 -1
  564. package/src/executors/dev/dev.js.map +0 -1
  565. package/src/executors/dev-doctor/dev-doctor.js.map +0 -1
  566. package/src/executors/dev-setup/dev-setup.js.map +0 -1
  567. package/src/executors/developer-context/developer-context.js.map +0 -1
  568. package/src/executors/fleet/fleet.js.map +0 -1
  569. package/src/executors/foundation-preflight/foundation-preflight.js.map +0 -1
  570. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js.map +0 -1
  571. package/src/executors/foundation-remove-preflight/foundation-remove-preflight.js.map +0 -1
  572. package/src/executors/github-bootstrap/github-bootstrap.js.map +0 -1
  573. package/src/executors/infrastructure-plan/infrastructure-plan.js.map +0 -1
  574. package/src/executors/refresh/refresh.js.map +0 -1
  575. package/src/executors/remove/remove.js.map +0 -1
  576. package/src/executors/secret-guardrails/secret-guardrails.js.map +0 -1
  577. package/src/executors/secret-metadata/secret-metadata.js.map +0 -1
  578. package/src/executors/sst-lifecycle/logging-preflight.js.map +0 -1
  579. package/src/executors/sst-lifecycle/run-sst-command.js.map +0 -1
  580. package/src/executors/sst-lifecycle/secret-preflight.js.map +0 -1
  581. package/src/executors/unlock/unlock.js.map +0 -1
  582. package/src/executors/work-markers/work-markers.js.map +0 -1
  583. package/src/foundation/discovery.js.map +0 -1
  584. package/src/foundation/index.js.map +0 -1
  585. package/src/foundation/local-database-contract.js.map +0 -1
  586. package/src/foundation/logging-preflight.js.map +0 -1
  587. package/src/foundation/logging.js.map +0 -1
  588. package/src/foundation/preflight.js.map +0 -1
  589. package/src/foundation/provision-database-bindings.js.map +0 -1
  590. package/src/foundation/provision-logical-database.js.map +0 -1
  591. package/src/foundation/requirements.js.map +0 -1
  592. package/src/foundation/router-origin-proof.js.map +0 -1
  593. package/src/foundation/stages.js.map +0 -1
  594. package/src/frontend-security/index.js.map +0 -1
  595. package/src/frontend-security/security-headers.js.map +0 -1
  596. package/src/generators/feature-registry.js.map +0 -1
  597. package/src/generators/function/function.js.map +0 -1
  598. package/src/generators/job/job.js.map +0 -1
  599. package/src/generators/logging-registry.js.map +0 -1
  600. package/src/generators/post-generation-install.js.map +0 -1
  601. package/src/generators/preset/generator.js.map +0 -1
  602. package/src/generators/preset/tool-versions.js.map +0 -1
  603. package/src/generators/preset/workspace-files-developer-agent.js.map +0 -1
  604. package/src/generators/preset/workspace-files-foundation-workload-roles.js.map +0 -1
  605. package/src/generators/preset/workspace-files-performance-cost.js.map +0 -1
  606. package/src/generators/preset/workspace-files-performance-load.js.map +0 -1
  607. package/src/generators/preset/workspace-files-workload-role-baseline.js.map +0 -1
  608. package/src/generators/preset/workspace-files.js.map +0 -1
  609. package/src/generators/repository-policy/repository-policy.js.map +0 -1
  610. package/src/generators/service/service.js.map +0 -1
  611. package/src/generators/slice/built-in-plan-api-contract-files.js.map +0 -1
  612. package/src/generators/slice/built-in-plan-api-files.js.map +0 -1
  613. package/src/generators/slice/built-in-plan-async-work-files.js.map +0 -1
  614. package/src/generators/slice/built-in-plan-authorization-files.js.map +0 -1
  615. package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js.map +0 -1
  616. package/src/generators/slice/built-in-plan-data-deletion-files.js.map +0 -1
  617. package/src/generators/slice/built-in-plan-data-export-infrastructure-files.js.map +0 -1
  618. package/src/generators/slice/built-in-plan-data-files.js.map +0 -1
  619. package/src/generators/slice/built-in-plan-data-lifecycle-files.js.map +0 -1
  620. package/src/generators/slice/built-in-plan-data-lifecycle-runtime-files.js.map +0 -1
  621. package/src/generators/slice/built-in-plan-data-retention-job-files.js.map +0 -1
  622. package/src/generators/slice/built-in-plan-data-retention-launcher-files.js.map +0 -1
  623. package/src/generators/slice/built-in-plan-data-rights-files.js.map +0 -1
  624. package/src/generators/slice/built-in-plan-database-lifecycle-files.js.map +0 -1
  625. package/src/generators/slice/built-in-plan-database-retirement-rehearsal-files.js.map +0 -1
  626. package/src/generators/slice/built-in-plan-foundation-files.js.map +0 -1
  627. package/src/generators/slice/built-in-plan-frontend-files.js.map +0 -1
  628. package/src/generators/slice/built-in-plan-infrastructure-files.js.map +0 -1
  629. package/src/generators/slice/built-in-plan-infrastructure-safety-files.js.map +0 -1
  630. package/src/generators/slice/built-in-plan-metadata-files.js.map +0 -1
  631. package/src/generators/slice/built-in-plan-operations-files.js.map +0 -1
  632. package/src/generators/slice/built-in-plan-performance-files.js.map +0 -1
  633. package/src/generators/slice/built-in-plan-project-files.js.map +0 -1
  634. package/src/generators/slice/built-in-plan-release-files.js.map +0 -1
  635. package/src/generators/slice/built-in-plan-reliability-files.js.map +0 -1
  636. package/src/generators/slice/built-in-plan-secret-runtime-files.js.map +0 -1
  637. package/src/generators/slice/built-in-plan-shared.js.map +0 -1
  638. package/src/generators/slice/built-in-plan-testing-files.js.map +0 -1
  639. package/src/generators/slice/built-in-plan-verification-files.js.map +0 -1
  640. package/src/generators/slice/built-in-plan-web-files.js.map +0 -1
  641. package/src/generators/slice/built-in-plan-workload-role-files.js.map +0 -1
  642. package/src/generators/slice/built-in-plan.js.map +0 -1
  643. package/src/generators/slice/slice.js.map +0 -1
  644. package/src/generators/upgrade/upgrade.js.map +0 -1
  645. package/src/generators/workload/frozen-container.js.map +0 -1
  646. package/src/generators/workload/performance-registration.js.map +0 -1
  647. package/src/generators/workload/reliability-registration.js.map +0 -1
  648. package/src/generators/workload/service-performance-files.js.map +0 -1
  649. package/src/generators/workload/workload.js.map +0 -1
  650. package/src/git-policy/action-pins.js.map +0 -1
  651. package/src/git-policy/github-bootstrap.js.map +0 -1
  652. package/src/git-policy/index.js.map +0 -1
  653. package/src/git-policy/routing.js.map +0 -1
  654. package/src/index.js.map +0 -1
  655. package/src/infrastructure-change/convergence.js.map +0 -1
  656. package/src/infrastructure-change/drift.js.map +0 -1
  657. package/src/infrastructure-change/index.js.map +0 -1
  658. package/src/infrastructure-change/model.js.map +0 -1
  659. package/src/infrastructure-change/normalize.js.map +0 -1
  660. package/src/infrastructure-change/plan.js.map +0 -1
  661. package/src/infrastructure-change/risk.js.map +0 -1
  662. package/src/infrastructure-change/summary.js.map +0 -1
  663. package/src/local-dev/context-discovery.js.map +0 -1
  664. package/src/local-dev/contract-validation.js.map +0 -1
  665. package/src/local-dev/contracts.js.map +0 -1
  666. package/src/local-dev/control-contract.js.map +0 -1
  667. package/src/local-dev/dev-command-core.js.map +0 -1
  668. package/src/local-dev/effects.js.map +0 -1
  669. package/src/local-dev/environment-inspector.js.map +0 -1
  670. package/src/local-dev/environment-state.js.map +0 -1
  671. package/src/local-dev/errors.js.map +0 -1
  672. package/src/local-dev/fleet-client.js.map +0 -1
  673. package/src/local-dev/fleet-configuration.js.map +0 -1
  674. package/src/local-dev/fleet-inventory.js.map +0 -1
  675. package/src/local-dev/fleet-ipc.js.map +0 -1
  676. package/src/local-dev/fleet-launcher.js.map +0 -1
  677. package/src/local-dev/fleet-lock.js.map +0 -1
  678. package/src/local-dev/fleet-logs.js.map +0 -1
  679. package/src/local-dev/fleet-process.js.map +0 -1
  680. package/src/local-dev/fleet-runtime.js.map +0 -1
  681. package/src/local-dev/fleet-session.js.map +0 -1
  682. package/src/local-dev/fleet-slice-runner-daemon.js.map +0 -1
  683. package/src/local-dev/fleet-startup.js.map +0 -1
  684. package/src/local-dev/fleet-state.js.map +0 -1
  685. package/src/local-dev/fleet-supervisor-daemon.js.map +0 -1
  686. package/src/local-dev/fleet-supervisor.js.map +0 -1
  687. package/src/local-dev/gateway-daemon.js.map +0 -1
  688. package/src/local-dev/gateway.js.map +0 -1
  689. package/src/local-dev/identity.js.map +0 -1
  690. package/src/local-dev/index.js.map +0 -1
  691. package/src/local-dev/local-context.js.map +0 -1
  692. package/src/local-dev/nx-workspace.js.map +0 -1
  693. package/src/local-dev/personal-secret-ledger.js.map +0 -1
  694. package/src/local-dev/personal-stage.js.map +0 -1
  695. package/src/local-dev/portless.js.map +0 -1
  696. package/src/local-dev/ports.js.map +0 -1
  697. package/src/local-dev/private-state.js.map +0 -1
  698. package/src/local-dev/process-identity.js.map +0 -1
  699. package/src/local-dev/proxy.js.map +0 -1
  700. package/src/local-dev/runtime-paths.js.map +0 -1
  701. package/src/local-dev/secret-slice-claim.js.map +0 -1
  702. package/src/local-dev/slice-claim.js.map +0 -1
  703. package/src/local-dev/slice-runner.js.map +0 -1
  704. package/src/local-dev/tls.js.map +0 -1
  705. package/src/ownership/composition.js.map +0 -1
  706. package/src/ownership/foundation-record.js.map +0 -1
  707. package/src/ownership/hash.js.map +0 -1
  708. package/src/ownership/index.js.map +0 -1
  709. package/src/ownership/json-ownership.js.map +0 -1
  710. package/src/ownership/record.js.map +0 -1
  711. package/src/ownership/workspace-record.js.map +0 -1
  712. package/src/performance/cost-collection.js.map +0 -1
  713. package/src/performance/cost-controls.js.map +0 -1
  714. package/src/performance/evidence.js.map +0 -1
  715. package/src/performance/index.js.map +0 -1
  716. package/src/performance/load-safety.js.map +0 -1
  717. package/src/performance/model.js.map +0 -1
  718. package/src/performance/pr-artifact-budget.js.map +0 -1
  719. package/src/performance/runner.js.map +0 -1
  720. package/src/performance/scenario-endpoint.js.map +0 -1
  721. package/src/performance/scenario.js.map +0 -1
  722. package/src/performance/test-fixtures.d.ts +0 -7
  723. package/src/performance/test-fixtures.js +0 -169
  724. package/src/performance/test-fixtures.js.map +0 -1
  725. package/src/performance/unit-cost.js.map +0 -1
  726. package/src/release/index.js.map +0 -1
  727. package/src/release/lifecycle.js.map +0 -1
  728. package/src/release/manifest.js.map +0 -1
  729. package/src/release/rollout.js.map +0 -1
  730. package/src/release/source-authority.js.map +0 -1
  731. package/src/repository-policy/aurora-preflight.js.map +0 -1
  732. package/src/repository-policy/deployment-plan.js.map +0 -1
  733. package/src/repository-policy/foundation-profile.js.map +0 -1
  734. package/src/repository-policy/index.js.map +0 -1
  735. package/src/repository-policy/policy.js.map +0 -1
  736. package/src/secrets/adapters.js.map +0 -1
  737. package/src/secrets/aws-control-plane.js.map +0 -1
  738. package/src/secrets/declaration-verification.js.map +0 -1
  739. package/src/secrets/guardrails.js.map +0 -1
  740. package/src/secrets/index.js.map +0 -1
  741. package/src/secrets/metadata.js.map +0 -1
  742. package/src/secrets/model.js.map +0 -1
  743. package/src/secrets/operator.js.map +0 -1
  744. package/src/secrets/permissions.js.map +0 -1
  745. package/src/secrets/personal-command.js.map +0 -1
  746. package/src/secrets/personal-ledger.js.map +0 -1
  747. package/src/secrets/registry.js.map +0 -1
  748. package/src/secrets/verification.js.map +0 -1
  749. package/src/secrets/workload-access.js.map +0 -1
  750. package/src/supply-chain/action-pins.js.map +0 -1
  751. package/src/supply-chain/blueprint-trust-git.js.map +0 -1
  752. package/src/supply-chain/blueprint-trust-process.js.map +0 -1
  753. package/src/supply-chain/blueprint-trust.js.map +0 -1
  754. package/src/supply-chain/blueprint-verification-authority.js.map +0 -1
  755. package/src/supply-chain/blueprint-verification-execution.js.map +0 -1
  756. package/src/supply-chain/build-output.js.map +0 -1
  757. package/src/supply-chain/common.js.map +0 -1
  758. package/src/supply-chain/container-artifact-contract.js.map +0 -1
  759. package/src/supply-chain/container-release.js.map +0 -1
  760. package/src/supply-chain/ecr-applicability.js.map +0 -1
  761. package/src/supply-chain/ecr-scanning.js.map +0 -1
  762. package/src/supply-chain/ecs-deployed-image.js.map +0 -1
  763. package/src/supply-chain/errors.js.map +0 -1
  764. package/src/supply-chain/generated-blueprint-trust-command.js.map +0 -1
  765. package/src/supply-chain/generated-command.js.map +0 -1
  766. package/src/supply-chain/generated-container-release-command.js.map +0 -1
  767. package/src/supply-chain/generated-ecr-collector-command.js.map +0 -1
  768. package/src/supply-chain/generated-files.js.map +0 -1
  769. package/src/supply-chain/generated-scanner-command.js.map +0 -1
  770. package/src/supply-chain/index.js.map +0 -1
  771. package/src/supply-chain/inventory.js.map +0 -1
  772. package/src/supply-chain/license-expression.js.map +0 -1
  773. package/src/supply-chain/pnpm-toolchain-authority.js.map +0 -1
  774. package/src/supply-chain/policy.js.map +0 -1
  775. package/src/supply-chain/publication.js.map +0 -1
  776. package/src/supply-chain/sbom.js.map +0 -1
  777. package/src/supply-chain/scanner.js.map +0 -1
  778. package/src/supply-chain/vendored-source.js.map +0 -1
  779. package/src/testing-evidence/fixture-scope.js.map +0 -1
  780. package/src/testing-evidence/index.js.map +0 -1
  781. package/src/testing-evidence/quarantine.js.map +0 -1
  782. package/src/testing-evidence/result.js.map +0 -1
  783. package/src/testing-evidence/runner-adapter.js.map +0 -1
  784. package/src/testing-evidence/sensitive-artifacts.js.map +0 -1
  785. package/src/validation.js.map +0 -1
  786. package/src/work-markers/index.js.map +0 -1
  787. package/src/work-markers/work-markers.js.map +0 -1
  788. package/src/workload-roles/account-baseline.js.map +0 -1
  789. package/src/workload-roles/authority.js.map +0 -1
  790. package/src/workload-roles/aws-adapter.js.map +0 -1
  791. package/src/workload-roles/aws-internal-handler.js.map +0 -1
  792. package/src/workload-roles/aws-s3-state.js.map +0 -1
  793. package/src/workload-roles/aws-sdk-control-plane.js.map +0 -1
  794. package/src/workload-roles/boundary.js.map +0 -1
  795. package/src/workload-roles/convergence.js.map +0 -1
  796. package/src/workload-roles/effective-policy.js.map +0 -1
  797. package/src/workload-roles/handler.js.map +0 -1
  798. package/src/workload-roles/history.js.map +0 -1
  799. package/src/workload-roles/index.js.map +0 -1
  800. package/src/workload-roles/injection.js.map +0 -1
  801. package/src/workload-roles/manifest.js.map +0 -1
  802. package/src/workload-roles/provisioner.js.map +0 -1
  803. package/src/workload-roles/registration.js.map +0 -1
  804. package/src/workload-roles/stage-boundary.js.map +0 -1
  805. package/src/workload-roles/standard-slice.js.map +0 -1
@@ -4,81 +4,149 @@ exports.validateReviewedReleaseCheckout = validateReviewedReleaseCheckout;
4
4
  const node_child_process_1 = require("node:child_process");
5
5
  const node_fs_1 = require("node:fs");
6
6
  const node_path_1 = require("node:path");
7
+ const sst_environment_source_format_js_1 = require("../sst-environment-source-format.js");
7
8
  const COMMIT = /^(?:[a-f0-9]{40}|[a-f0-9]{64})$/u;
8
- const INFRASTRUCTURE_APPROVAL_PATH = 'operations/infrastructure-approval.json';
9
+ const MAX_TRANSIENT_SST_ENV_FILES = 64;
10
+ const MAX_TRANSIENT_SST_ENV_FILE_BYTES = 1024 * 1024;
11
+ const MAX_TRANSIENT_SST_ENV_PATH_BYTES = 1024;
9
12
  function git(repositoryRoot, args) {
10
13
  return (0, node_child_process_1.execFileSync)('git', [...args], {
11
14
  ...(repositoryRoot === undefined ? {} : { cwd: repositoryRoot }),
12
15
  encoding: 'utf8',
13
16
  }).trim();
14
17
  }
15
- function gitBytes(repositoryRoot, args) {
16
- return (0, node_child_process_1.execFileSync)('git', [...args], {
17
- ...(repositoryRoot === undefined ? {} : { cwd: repositoryRoot }),
18
- encoding: 'utf8',
19
- maxBuffer: 2 * 1024 * 1024,
20
- });
21
- }
22
18
  function gitBuffer(repositoryRoot, args) {
23
19
  return (0, node_child_process_1.execFileSync)('git', [...args], {
24
20
  ...(repositoryRoot === undefined ? {} : { cwd: repositoryRoot }),
25
21
  maxBuffer: 2 * 1024 * 1024,
26
22
  });
27
23
  }
28
- function normalizeCheckoutLineEndings(bytes) {
29
- const normalized = Buffer.allocUnsafe(bytes.byteLength);
30
- let writeOffset = 0;
31
- for (let readOffset = 0; readOffset < bytes.byteLength; readOffset += 1) {
32
- if (bytes[readOffset] === 13 && bytes[readOffset + 1] === 10) {
33
- continue;
34
- }
35
- normalized[writeOffset] = bytes[readOffset] ?? 0;
36
- writeOffset += 1;
37
- }
38
- return normalized.subarray(0, writeOffset);
24
+ function normalizedRelativePath(root, absolutePath) {
25
+ const path = (0, node_path_1.relative)(root, absolutePath).split('\\').join('/');
26
+ if (!path ||
27
+ path === '..' ||
28
+ path.startsWith('../') ||
29
+ (0, node_path_1.isAbsolute)(path) ||
30
+ Buffer.byteLength(path, 'utf8') > MAX_TRANSIENT_SST_ENV_PATH_BYTES) {
31
+ throw new Error('Reviewed release SST environment source escapes its project boundary.');
32
+ }
33
+ return path;
39
34
  }
40
- function validApprovalBatch(value, releaseSourceCommit) {
41
- if (value === null || typeof value !== 'object' || Array.isArray(value)) {
35
+ function exactTransientSstEnvironmentSource(repositoryRoot, projectRoot, repositoryPath) {
36
+ const absolutePath = (0, node_path_1.resolve)(repositoryRoot, repositoryPath);
37
+ if (normalizedRelativePath(repositoryRoot, absolutePath) !== repositoryPath ||
38
+ normalizedRelativePath(projectRoot, absolutePath) === 'sst-env.d.ts') {
42
39
  return false;
43
40
  }
44
- const batch = value;
45
- if (batch.kind !== 'ebk-infrastructure-approval-batch' ||
46
- batch.schemaVersion !== 1 ||
47
- !['deploy', 'refresh', 'remove'].includes(String(batch.action)) ||
48
- !['staging', 'production'].includes(String(batch.stage)) ||
49
- !Array.isArray(batch.orderedProjects) ||
50
- batch.orderedProjects.length === 0 ||
51
- batch.orderedProjects.some((project) => typeof project !== 'string' ||
52
- project.length === 0 ||
53
- project !== project.trim()) ||
54
- new Set(batch.orderedProjects).size !== batch.orderedProjects.length ||
55
- batch.projects === null ||
56
- typeof batch.projects !== 'object' ||
57
- Array.isArray(batch.projects)) {
41
+ const projectPath = normalizedRelativePath(projectRoot, absolutePath);
42
+ if (!projectPath.endsWith('/sst-env.d.ts'))
43
+ return false;
44
+ const before = (0, node_fs_1.lstatSync)(absolutePath, { bigint: true });
45
+ if (!before.isFile() ||
46
+ before.nlink !== 1n ||
47
+ before.size > BigInt(MAX_TRANSIENT_SST_ENV_FILE_BYTES) ||
48
+ (0, node_fs_1.realpathSync)(absolutePath) !== absolutePath) {
58
49
  return false;
59
50
  }
60
- const projects = batch.projects;
61
- if (JSON.stringify(Object.keys(projects).sort()) !==
62
- JSON.stringify([...batch.orderedProjects].sort())) {
51
+ const bytes = (0, node_fs_1.readFileSync)(absolutePath);
52
+ const after = (0, node_fs_1.lstatSync)(absolutePath, { bigint: true });
53
+ if (before.birthtimeNs !== after.birthtimeNs ||
54
+ before.ctimeNs !== after.ctimeNs ||
55
+ before.dev !== after.dev ||
56
+ before.ino !== after.ino ||
57
+ before.mode !== after.mode ||
58
+ before.mtimeNs !== after.mtimeNs ||
59
+ before.nlink !== after.nlink ||
60
+ before.size !== after.size ||
61
+ BigInt(bytes.byteLength) !== after.size) {
62
+ return false;
63
+ }
64
+ return (0, sst_environment_source_format_js_1.exactGeneratedNestedSstEnvironmentSourceBytes)(absolutePath, (0, node_path_1.join)(projectRoot, 'sst-env.d.ts')).some((expected) => expected.equals(bytes));
65
+ }
66
+ function exactTransientRootSstEnvironmentSource(rootSourcePath) {
67
+ const before = (0, node_fs_1.lstatSync)(rootSourcePath, { bigint: true });
68
+ if (!before.isFile() ||
69
+ before.nlink !== 1n ||
70
+ before.size > BigInt(MAX_TRANSIENT_SST_ENV_FILE_BYTES) ||
71
+ (0, node_fs_1.realpathSync)(rootSourcePath) !== rootSourcePath) {
63
72
  return false;
64
73
  }
65
- return Object.values(projects).every((entry) => entry !== null &&
66
- typeof entry === 'object' &&
67
- !Array.isArray(entry) &&
68
- entry.planned !== null &&
69
- typeof entry.planned === 'object' &&
70
- !Array.isArray(entry.planned) &&
71
- entry.planned.sourceCommit === releaseSourceCommit &&
72
- entry.approval !== null &&
73
- typeof entry.approval === 'object' &&
74
- !Array.isArray(entry.approval));
74
+ const bytes = (0, node_fs_1.readFileSync)(rootSourcePath);
75
+ const after = (0, node_fs_1.lstatSync)(rootSourcePath, { bigint: true });
76
+ return (before.birthtimeNs === after.birthtimeNs &&
77
+ before.ctimeNs === after.ctimeNs &&
78
+ before.dev === after.dev &&
79
+ before.ino === after.ino &&
80
+ before.mode === after.mode &&
81
+ before.mtimeNs === after.mtimeNs &&
82
+ before.nlink === after.nlink &&
83
+ before.size === after.size &&
84
+ BigInt(bytes.byteLength) === after.size &&
85
+ (0, sst_environment_source_format_js_1.isExactGeneratedRootSstEnvironmentSourceBytes)(bytes));
86
+ }
87
+ function exactTransientRootSstPythonSource(rootPythonSourcePath) {
88
+ const before = (0, node_fs_1.lstatSync)(rootPythonSourcePath, { bigint: true });
89
+ if (!before.isFile() ||
90
+ before.nlink !== 1n ||
91
+ before.size > BigInt(MAX_TRANSIENT_SST_ENV_FILE_BYTES) ||
92
+ (0, node_fs_1.realpathSync)(rootPythonSourcePath) !== rootPythonSourcePath) {
93
+ return false;
94
+ }
95
+ const bytes = (0, node_fs_1.readFileSync)(rootPythonSourcePath);
96
+ const after = (0, node_fs_1.lstatSync)(rootPythonSourcePath, { bigint: true });
97
+ return (before.birthtimeNs === after.birthtimeNs &&
98
+ before.ctimeNs === after.ctimeNs &&
99
+ before.dev === after.dev &&
100
+ before.ino === after.ino &&
101
+ before.mode === after.mode &&
102
+ before.mtimeNs === after.mtimeNs &&
103
+ before.nlink === after.nlink &&
104
+ before.size === after.size &&
105
+ BigInt(bytes.byteLength) === after.size &&
106
+ (0, sst_environment_source_format_js_1.isExactGeneratedRootSstPythonSourceBytes)(bytes));
107
+ }
108
+ function exactTransientSstEnvironmentCheckout(input) {
109
+ const repositoryRoot = (0, node_fs_1.realpathSync)(input.repositoryRoot);
110
+ const projectRoot = (0, node_fs_1.realpathSync)(input.projectRoot);
111
+ normalizedRelativePath(repositoryRoot, projectRoot);
112
+ const rootSourcePath = (0, node_path_1.join)(projectRoot, 'sst-env.d.ts');
113
+ const rootPythonSourcePath = (0, node_path_1.join)(projectRoot, 'sst.pyi');
114
+ const rootSource = (0, node_fs_1.lstatSync)(rootSourcePath, { bigint: true });
115
+ if (!rootSource.isFile() ||
116
+ rootSource.nlink !== 1n ||
117
+ (0, node_fs_1.realpathSync)(rootSourcePath) !== rootSourcePath) {
118
+ return false;
119
+ }
120
+ const rootRepositoryPath = normalizedRelativePath(repositoryRoot, rootSourcePath);
121
+ const rootPythonRepositoryPath = normalizedRelativePath(repositoryRoot, rootPythonSourcePath);
122
+ try {
123
+ git(repositoryRoot, [
124
+ 'ls-files',
125
+ '--error-unmatch',
126
+ '--',
127
+ rootRepositoryPath,
128
+ ]);
129
+ }
130
+ catch {
131
+ return false;
132
+ }
133
+ const fields = input.status.toString('utf8').split('\0');
134
+ if (fields.pop() !== '' || fields.length > MAX_TRANSIENT_SST_ENV_FILES) {
135
+ return false;
136
+ }
137
+ return (fields.length > 0 &&
138
+ fields.every((field) => (field === ` M ${rootRepositoryPath}` &&
139
+ exactTransientRootSstEnvironmentSource(rootSourcePath)) ||
140
+ (field === `?? ${rootPythonRepositoryPath}` &&
141
+ exactTransientRootSstPythonSource(rootPythonSourcePath)) ||
142
+ (field.startsWith('?? ') &&
143
+ exactTransientSstEnvironmentSource(repositoryRoot, projectRoot, field.slice(3)))));
75
144
  }
76
145
  /**
77
146
  * Proves that protected release evidence can be consumed from the checked-out
78
- * deployment commit. A different tree is accepted only for the framework's
79
- * committed infrastructure-approval resume, and only when that exact Git delta
80
- * contains the approval batch which binds every project back to the immutable
81
- * release source.
147
+ * deployment commit. Merge commits are supported through reviewedSourceCommit,
148
+ * but all three commits must resolve to the same exact source tree. Committed
149
+ * approval descendants and other source mutations are never release authority.
82
150
  */
83
151
  function validateReviewedReleaseCheckout(input) {
84
152
  const deploymentSourceCommit = input.deploymentSourceCommit?.trim() ?? '';
@@ -93,13 +161,29 @@ function validateReviewedReleaseCheckout(input) {
93
161
  if (currentCommit !== deploymentSourceCommit) {
94
162
  throw new Error('Reviewed release checkout differs from the deployment source commit.');
95
163
  }
96
- if (gitBytes(input.repositoryRoot, [
164
+ const status = gitBuffer(input.repositoryRoot, [
97
165
  'status',
98
166
  '--porcelain=v1',
167
+ '-z',
99
168
  '--untracked-files=all',
100
- ]).length !== 0) {
169
+ ]);
170
+ if (status.length !== 0 &&
171
+ (input.sstEnvironmentProjectRoot === undefined ||
172
+ !exactTransientSstEnvironmentCheckout({
173
+ projectRoot: input.sstEnvironmentProjectRoot,
174
+ repositoryRoot: input.repositoryRoot ??
175
+ git(undefined, ['rev-parse', '--show-toplevel']),
176
+ status,
177
+ }))) {
101
178
  throw new Error('Reviewed release checkout must be completely clean.');
102
179
  }
180
+ const tracked = gitBuffer(input.repositoryRoot, ['ls-files', '-v', '-z'])
181
+ .toString('utf8')
182
+ .split('\0');
183
+ if (tracked.pop() !== '' ||
184
+ tracked.some((entry) => !entry.startsWith('H '))) {
185
+ throw new Error('Reviewed release checkout contains hidden or skipped tracked state.');
186
+ }
103
187
  const deploymentTree = git(input.repositoryRoot, [
104
188
  'rev-parse',
105
189
  `${deploymentSourceCommit}^{tree}`,
@@ -116,79 +200,12 @@ function validateReviewedReleaseCheckout(input) {
116
200
  if (deploymentTree !== reviewedTree) {
117
201
  throw new Error('Reviewed release source tree differs from the deployment checkout.');
118
202
  }
119
- if (reviewedTree === releaseTree) {
120
- return {
121
- deploymentSourceCommit,
122
- mode: 'exact-tree',
123
- releaseSourceCommit,
124
- };
125
- }
126
- const ancestry = (0, node_child_process_1.spawnSync)('git', ['merge-base', '--is-ancestor', releaseSourceCommit, reviewedCommit], {
127
- ...(input.repositoryRoot === undefined
128
- ? {}
129
- : { cwd: input.repositoryRoot }),
130
- encoding: 'utf8',
131
- });
132
- if (ancestry.status !== 0) {
133
- throw new Error('Reviewed deployment commit does not descend from its release source.');
134
- }
135
- const changes = git(input.repositoryRoot, [
136
- 'diff',
137
- '--name-status',
138
- '--no-renames',
139
- releaseSourceCommit,
140
- reviewedCommit,
141
- '--',
142
- ])
143
- .split('\n')
144
- .filter(Boolean);
145
- if (changes.length !== 1 ||
146
- !/^[AM]\toperations\/infrastructure-approval\.json$/u.test(changes[0] ?? '')) {
147
- throw new Error('Reviewed deployment differs from its release source beyond the infrastructure approval batch.');
148
- }
149
- const approvalEntry = git(input.repositoryRoot, [
150
- 'ls-tree',
151
- reviewedCommit,
152
- '--',
153
- INFRASTRUCTURE_APPROVAL_PATH,
154
- ]);
155
- if (!/^100(?:644|755) blob [a-f0-9]+\toperations\/infrastructure-approval\.json$/u.test(approvalEntry)) {
156
- throw new Error('Infrastructure approval batch must be one regular Git blob.');
157
- }
158
- const repositoryRoot = (0, node_fs_1.realpathSync)((0, node_path_1.resolve)(input.repositoryRoot ?? git(undefined, ['rev-parse', '--show-toplevel'])));
159
- const approvalPath = (0, node_path_1.resolve)(repositoryRoot, INFRASTRUCTURE_APPROVAL_PATH);
160
- const approvalMetadata = (0, node_fs_1.lstatSync)(approvalPath);
161
- if (!approvalMetadata.isFile() ||
162
- approvalMetadata.isSymbolicLink() ||
163
- (0, node_fs_1.realpathSync)(approvalPath) !== approvalPath) {
164
- throw new Error('Infrastructure approval batch must be one canonical regular checkout file.');
165
- }
166
- const approvalBytes = gitBuffer(input.repositoryRoot, [
167
- 'show',
168
- `${reviewedCommit}:${INFRASTRUCTURE_APPROVAL_PATH}`,
169
- ]);
170
- if (approvalMetadata.size > 1024 * 1024 ||
171
- approvalBytes.byteLength > 1024 * 1024) {
172
- throw new Error('Infrastructure approval batch exceeds its size bound.');
173
- }
174
- const approvalCheckoutBytes = (0, node_fs_1.readFileSync)(approvalPath);
175
- if (!approvalCheckoutBytes.equals(approvalBytes) &&
176
- !normalizeCheckoutLineEndings(approvalCheckoutBytes).equals(approvalBytes)) {
177
- throw new Error('Infrastructure approval checkout bytes differ from the reviewed Git blob.');
178
- }
179
- let approval;
180
- try {
181
- approval = JSON.parse(approvalBytes.toString('utf8'));
182
- }
183
- catch {
184
- throw new Error('Infrastructure approval batch is not valid JSON.');
185
- }
186
- if (!validApprovalBatch(approval, releaseSourceCommit)) {
187
- throw new Error('Infrastructure approval batch does not bind the immutable release source.');
203
+ if (reviewedTree !== releaseTree) {
204
+ throw new Error('Reviewed release source tree differs from the immutable release source.');
188
205
  }
189
206
  return {
190
207
  deploymentSourceCommit,
191
- mode: 'infrastructure-approval-only',
208
+ mode: 'exact-tree',
192
209
  releaseSourceCommit,
193
210
  };
194
211
  }
@@ -7,7 +7,7 @@ export interface AuroraProfileCapabilityReport {
7
7
  }
8
8
  export declare function createAuroraProfileCapabilityReader(options: {
9
9
  profile?: string;
10
- region?: string;
10
+ region: string;
11
11
  }): {
12
12
  read: () => Promise<string[]>;
13
13
  resolveRegion: () => Promise<string>;
@@ -4,12 +4,15 @@ exports.createAuroraProfileCapabilityReader = createAuroraProfileCapabilityReade
4
4
  exports.evaluateAuroraProfileCapability = evaluateAuroraProfileCapability;
5
5
  const client_rds_1 = require("@aws-sdk/client-rds");
6
6
  const credential_providers_1 = require("@aws-sdk/credential-providers");
7
+ const identity_js_1 = require("../aws/identity.js");
7
8
  const foundation_profile_js_1 = require("./foundation-profile.js");
8
9
  function createAuroraProfileCapabilityReader(options) {
9
10
  const profile = options.profile?.trim();
11
+ const region = options.region.trim();
10
12
  const client = new client_rds_1.RDSClient({
11
13
  ...(profile ? { credentials: (0, credential_providers_1.fromIni)({ profile }) } : {}),
12
- ...(options.region?.trim() ? { region: options.region.trim() } : {}),
14
+ endpoint: (0, identity_js_1.canonicalAwsRegionalEndpoint)('rds', region),
15
+ region,
13
16
  });
14
17
  return {
15
18
  read: async () => {
@@ -0,0 +1,3 @@
1
+ export declare const CAPACITY_MIGRATION_GUIDANCE = "The existing cost-optimized policy means 0.5\u20134 warm ACUs. Before upgrading or deploying, explicitly preserve that behavior with: pnpm nx g @empire-builder-kit/nx:repository-policy --profile=balanced --apply. After the managed upgrade, select --profile=cost-optimized separately only to opt into 0\u20132 ACUs and five-minute auto-pause. Policy changes do not deploy AWS resources.";
2
+ export declare function assertCapacityMigrationChoice(profile: string, costs: unknown): void;
3
+ export declare function assertWorkspaceCapacityMigrationChoice(root: string, profile: string): void;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CAPACITY_MIGRATION_GUIDANCE = void 0;
4
+ exports.assertCapacityMigrationChoice = assertCapacityMigrationChoice;
5
+ exports.assertWorkspaceCapacityMigrationChoice = assertWorkspaceCapacityMigrationChoice;
6
+ const node_fs_1 = require("node:fs");
7
+ const node_path_1 = require("node:path");
8
+ exports.CAPACITY_MIGRATION_GUIDANCE = 'The existing cost-optimized policy means 0.5–4 warm ACUs. Before upgrading or deploying, explicitly preserve that behavior with: pnpm nx g @empire-builder-kit/nx:repository-policy --profile=balanced --apply. After the managed upgrade, select --profile=cost-optimized separately only to opt into 0–2 ACUs and five-minute auto-pause. Policy changes do not deploy AWS resources.';
9
+ function assertCapacityMigrationChoice(profile, costs) {
10
+ const previous = costs?.productionProfiles?.['cost-optimized']?.aurora;
11
+ if (profile === 'cost-optimized' && previous?.min === '0.5 ACU') {
12
+ throw new Error(exports.CAPACITY_MIGRATION_GUIDANCE);
13
+ }
14
+ }
15
+ function assertWorkspaceCapacityMigrationChoice(root, profile) {
16
+ const path = (0, node_path_1.join)(root, 'packages/foundation/contracts/costs.json');
17
+ if ((0, node_fs_1.existsSync)(path)) {
18
+ assertCapacityMigrationChoice(profile, JSON.parse((0, node_fs_1.readFileSync)(path, 'utf8')));
19
+ }
20
+ }
21
+ //# sourceMappingURL=capacity-migration.js.map
@@ -1,4 +1,4 @@
1
- import type { ProductionApprovalMode, ProductionFoundationProfile, RepositoryOperatingPolicy } from './policy.js';
1
+ import type { ConfiguredDeploymentAccounts, DeploymentProfile, ProductionApprovalMode, ProductionFoundationProfile, RepositoryOperatingPolicy } from './policy.js';
2
2
  export declare const PROTECTED_DEPLOYMENT_ACTIONS: readonly ["deploy", "refresh", "remove", "unlock"];
3
3
  export declare const PROTECTED_DEPLOYMENT_STAGES: readonly ["staging", "production"];
4
4
  export type ProtectedDeploymentAction = (typeof PROTECTED_DEPLOYMENT_ACTIONS)[number];
@@ -10,6 +10,9 @@ export interface DeploymentPlanProject {
10
10
  }
11
11
  export interface ProtectedDeploymentPlan {
12
12
  action: ProtectedDeploymentAction;
13
+ deploymentAccounts: ConfiguredDeploymentAccounts;
14
+ deploymentProfile: DeploymentProfile;
15
+ deploymentRegion: string;
13
16
  effectiveProductionProfile?: ProductionFoundationProfile;
14
17
  foundationProject?: string;
15
18
  orderedProjects: string[];
@@ -20,6 +20,9 @@ function compareCodePoints(left, right) {
20
20
  return left.name < right.name ? -1 : left.name > right.name ? 1 : 0;
21
21
  }
22
22
  function createProtectedDeploymentPlan(policy, options) {
23
+ (0, policy_js_1.configuredDeploymentAccountForStage)(policy.deploymentProfile, policy.deploymentAccounts, options.stage);
24
+ const deploymentAccounts = { ...policy.deploymentAccounts };
25
+ const deploymentRegion = (0, policy_js_1.configuredDeploymentRegion)(policy.deploymentRegion);
23
26
  const foundations = options.projects.filter((project) => hasTag(project, 'scope:foundation') &&
24
27
  supportsAction(project, options.action));
25
28
  if (foundations.length !== 1) {
@@ -56,6 +59,9 @@ function createProtectedDeploymentPlan(policy, options) {
56
59
  }
57
60
  return {
58
61
  action: options.action,
62
+ deploymentAccounts,
63
+ deploymentProfile: policy.deploymentProfile,
64
+ deploymentRegion,
59
65
  ...(decision.effectiveProductionProfile
60
66
  ? {
61
67
  effectiveProductionProfile: decision.effectiveProductionProfile,
@@ -108,6 +114,9 @@ function createProtectedDeploymentPlan(policy, options) {
108
114
  }
109
115
  return {
110
116
  action: options.action,
117
+ deploymentAccounts,
118
+ deploymentProfile: policy.deploymentProfile,
119
+ deploymentRegion,
111
120
  ...(decision.effectiveProductionProfile
112
121
  ? {
113
122
  effectiveProductionProfile: decision.effectiveProductionProfile,
@@ -10,7 +10,7 @@ exports.FOUNDATION_AURORA_ENGINE_VERSION = '17.4';
10
10
  exports.PRODUCTION_FOUNDATION_PROFILE_CONTRACTS = {
11
11
  'cost-optimized': {
12
12
  aurora: {
13
- max: '4 ACU',
13
+ max: '2 ACU',
14
14
  min: '0 ACU',
15
15
  pauseAfter: '5 minutes',
16
16
  },
@@ -18,6 +18,15 @@ exports.PRODUCTION_FOUNDATION_PROFILE_CONTRACTS = {
18
18
  deletionProtection: true,
19
19
  nat: 'managed',
20
20
  },
21
+ balanced: {
22
+ aurora: {
23
+ max: '4 ACU',
24
+ min: '0.5 ACU',
25
+ },
26
+ backupRetentionDays: 30,
27
+ deletionProtection: true,
28
+ nat: 'managed',
29
+ },
21
30
  standard: {
22
31
  aurora: {
23
32
  max: '16 ACU',
@@ -3,18 +3,53 @@ export declare const REPOSITORY_POLICY_FILE: "ebk.repository-policy.json";
3
3
  export declare const REPOSITORY_POLICY_SCHEMA_VERSION: 1;
4
4
  export declare const REPOSITORY_POLICY_SCHEMA_URL: "./node_modules/@empire-builder-kit/nx/schemas/repository-policy-v1.json";
5
5
  export declare const PRODUCTION_ACCESS_VALUES: readonly ["disabled", "controlled"];
6
- export declare const PRODUCTION_APPROVAL_MODES: readonly ["promotion-pr", "environment-reviewer"];
7
- export declare const PRODUCTION_FOUNDATION_PROFILES: readonly ["cost-optimized", "standard"];
6
+ export declare const PRODUCTION_APPROVAL_MODES: readonly ["promotion-pr", "environment-reviewer", "trunk-promotion"];
7
+ export declare const PRODUCTION_FOUNDATION_PROFILES: readonly ["cost-optimized", "balanced", "standard"];
8
8
  export declare const DEFAULT_RECOVERY_PRODUCTION_FOUNDATION_PROFILE: "standard";
9
9
  export declare const SLICE_PRODUCTION_STATUSES: readonly ["blocked", "pilot", "ready"];
10
10
  export declare const REPOSITORY_MODE_PRESETS: readonly ["incubation", "controlled-production", "operational"];
11
+ export declare const DEPLOYMENT_PROFILES: readonly ["starter", "production-isolated", "fully-isolated"];
12
+ /** How work reaches production. protected-pair keeps develop and main with a
13
+ * promotion pull request and sync-back; trunk protects main alone and deploys
14
+ * production from every merged main push (starter fast lane). */
15
+ export declare const DELIVERY_LANES: readonly ["protected-pair", "trunk"];
16
+ export type DeliveryLane = (typeof DELIVERY_LANES)[number];
17
+ export declare const DEFAULT_DELIVERY_LANE: DeliveryLane;
18
+ export declare function deliveryLaneOf(policy: {
19
+ deliveryLane?: DeliveryLane;
20
+ }): DeliveryLane;
11
21
  export type ProductionAccess = (typeof PRODUCTION_ACCESS_VALUES)[number];
12
22
  export type ProductionApprovalMode = (typeof PRODUCTION_APPROVAL_MODES)[number];
13
23
  export type ProductionFoundationProfile = (typeof PRODUCTION_FOUNDATION_PROFILES)[number];
14
24
  export type SliceProductionStatus = (typeof SLICE_PRODUCTION_STATUSES)[number];
15
25
  export type RepositoryModePreset = (typeof REPOSITORY_MODE_PRESETS)[number];
26
+ export type DeploymentProfile = (typeof DEPLOYMENT_PROFILES)[number];
27
+ export type CanonicalDeploymentStage = 'development' | 'staging' | 'production';
28
+ export interface DeploymentAccountTopology {
29
+ development: string;
30
+ production: string;
31
+ staging: string | null;
32
+ }
33
+ export interface ConfiguredDeploymentAccounts {
34
+ development: string | null;
35
+ production: string | null;
36
+ staging: string | null;
37
+ }
38
+ export declare function normalizeDeploymentAccountId(value: string | number, label: string): string;
39
+ export declare function requiresGithubDeployment(profile: DeploymentProfile, stage: CanonicalDeploymentStage): boolean;
40
+ export declare function activeDeploymentStages(profile: DeploymentProfile): readonly CanonicalDeploymentStage[];
41
+ export declare function isActiveDeploymentStage(profile: DeploymentProfile, stage: string): stage is CanonicalDeploymentStage;
42
+ export declare function productionRehearsalStage(profile: DeploymentProfile): 'development' | 'staging';
43
+ export declare function validateDeploymentAccountTopology(profile: DeploymentProfile, accounts: DeploymentAccountTopology): DeploymentAccountTopology;
44
+ export declare function configuredDeploymentAccountTopology(profile: DeploymentProfile, accounts: ConfiguredDeploymentAccounts): DeploymentAccountTopology;
45
+ export declare function configuredDeploymentAccountForStage(profile: DeploymentProfile, accounts: ConfiguredDeploymentAccounts, stage: CanonicalDeploymentStage): string;
46
+ export declare function configuredDeploymentRegion(region: string | null): string;
16
47
  export interface RepositoryOperatingPolicy {
17
48
  $schema?: string;
49
+ deliveryLane?: DeliveryLane;
50
+ deploymentAccounts: ConfiguredDeploymentAccounts;
51
+ deploymentProfile: DeploymentProfile;
52
+ deploymentRegion: string | null;
18
53
  productionAccess: ProductionAccess;
19
54
  productionApproval: {
20
55
  mode: ProductionApprovalMode;
@@ -26,6 +61,16 @@ export interface RepositoryOperatingPolicy {
26
61
  slices: Record<string, {
27
62
  productionStatus: SliceProductionStatus;
28
63
  }>;
64
+ workspaceDeploymentId: string;
65
+ workspaceDeploymentProvenance: {
66
+ kind: 'fresh';
67
+ schemaVersion: 1;
68
+ } | {
69
+ evidencePath: string;
70
+ evidenceSha256: string;
71
+ kind: 'migrated';
72
+ schemaVersion: 1;
73
+ };
29
74
  }
30
75
  export type RepositoryPolicyLifecycleAction = 'deploy' | 'dev' | 'migrate' | 'refresh' | 'remove' | 'unlock';
31
76
  export interface RepositoryPolicyProject {
@@ -43,6 +88,10 @@ export interface RepositoryPolicyDecision {
43
88
  reasons: string[];
44
89
  }
45
90
  export interface RepositoryPolicyChange {
91
+ deliveryLane?: DeliveryLane;
92
+ deploymentAccounts?: Partial<DeploymentAccountTopology>;
93
+ deploymentProfile?: DeploymentProfile;
94
+ deploymentRegion?: string;
46
95
  preset?: RepositoryModePreset;
47
96
  productionAccess?: ProductionAccess;
48
97
  productionApprovalMode?: ProductionApprovalMode;
@@ -52,8 +101,13 @@ export interface RepositoryPolicyChange {
52
101
  export declare function validateRepositoryOperatingPolicy(value: unknown): ValidationResult<RepositoryOperatingPolicy>;
53
102
  export declare function formatRepositoryPolicyIssues(issues: ReadonlyArray<ValidationIssue>): string;
54
103
  export declare function parseRepositoryOperatingPolicy(contents: string, source?: string): RepositoryOperatingPolicy;
104
+ export declare function validateRepositoryOperatingPolicyMigrationProvenance(input: {
105
+ evidenceBytes: string;
106
+ evidenceSource: string;
107
+ policy: RepositoryOperatingPolicy;
108
+ }): void;
55
109
  export declare function readRepositoryOperatingPolicy(workspaceRoot: string): RepositoryOperatingPolicy;
56
- export declare function createIncubationRepositoryPolicy(): RepositoryOperatingPolicy;
110
+ export declare function createIncubationRepositoryPolicy(deploymentProfile?: DeploymentProfile, workspaceDeploymentId?: string): RepositoryOperatingPolicy;
57
111
  export declare function applyRepositoryPolicyChange(current: RepositoryOperatingPolicy, change: RepositoryPolicyChange): RepositoryOperatingPolicy;
58
112
  export declare function evaluateRepositoryPolicyRequest(policy: RepositoryOperatingPolicy, request: RepositoryPolicyRequest): RepositoryPolicyDecision;
59
113
  export declare function assertRepositoryPolicyRequest(workspaceRoot: string, request: RepositoryPolicyRequest): RepositoryPolicyDecision;