@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
@@ -2,7 +2,39 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.repositoryPolicyGenerator = repositoryPolicyGenerator;
4
4
  const devkit_1 = require("@nx/devkit");
5
+ const node_buffer_1 = require("node:buffer");
6
+ const node_crypto_1 = require("node:crypto");
7
+ const node_path_1 = require("node:path");
5
8
  const index_js_1 = require("../../repository-policy/index.js");
9
+ const index_js_2 = require("../../workspace-deployment/index.js");
10
+ const SEEDED_ROUTER_WAF_POLICY_PATH = 'packages/foundation/security/router-waf.json';
11
+ const SEEDED_PROFILE_GUIDANCE = 'Review adopter-owned README.md, AGENTS.md, docs/architecture.md, docs/developer-agent.md, docs/repository-operating-policy.md, Foundation README/runbooks/security/costs guidance, and packages/foundation/performance/account-cost-policy.json after changing profile.';
12
+ function staleSeededRouterWafDiagnostic(tree, profile) {
13
+ const source = tree.read(SEEDED_ROUTER_WAF_POLICY_PATH, 'utf8');
14
+ if (source === null)
15
+ return null;
16
+ let value;
17
+ try {
18
+ value = JSON.parse(source);
19
+ }
20
+ catch {
21
+ value = null;
22
+ }
23
+ const policy = value !== null && typeof value === 'object' && !Array.isArray(value)
24
+ ? value
25
+ : null;
26
+ const stages = policy?.stages !== null &&
27
+ typeof policy?.stages === 'object' &&
28
+ !Array.isArray(policy.stages)
29
+ ? Object.keys(policy.stages).sort()
30
+ : null;
31
+ const expectedStages = [...(0, index_js_1.activeDeploymentStages)(profile)].sort();
32
+ if (policy?.deploymentProfile === profile &&
33
+ JSON.stringify(stages) === JSON.stringify(expectedStages)) {
34
+ return null;
35
+ }
36
+ return `The seeded ${SEEDED_ROUTER_WAF_POLICY_PATH} still has a different deployment profile or stage set. Before applying this topology change, update that adopter-owned policy to ${profile} with exactly ${expectedStages.join(', ')} stages, preserving reviewed CIDRs and WAF settings. Then rerun repository-policy --apply, managed workspace/Foundation upgrades, and foundation:verify. Review profile-dependent seeded guidance before protected deployment; EBK will not overwrite it.`;
37
+ }
6
38
  function sliceStatusFor(options) {
7
39
  if (options.status)
8
40
  return options.status;
@@ -18,6 +50,37 @@ function createChange(options) {
18
50
  throw new Error('--status requires at least one Product Slice in --slices.');
19
51
  }
20
52
  const change = {
53
+ ...([
54
+ options.developmentAccountId,
55
+ options.stagingAccountId,
56
+ options.productionAccountId,
57
+ ].some((value) => value !== undefined)
58
+ ? {
59
+ deploymentAccounts: {
60
+ ...(options.developmentAccountId !== undefined
61
+ ? {
62
+ development: (0, index_js_1.normalizeDeploymentAccountId)(options.developmentAccountId, 'Development deployment account'),
63
+ }
64
+ : {}),
65
+ ...(options.stagingAccountId !== undefined
66
+ ? {
67
+ staging: (0, index_js_1.normalizeDeploymentAccountId)(options.stagingAccountId, 'Staging deployment account'),
68
+ }
69
+ : {}),
70
+ ...(options.productionAccountId !== undefined
71
+ ? {
72
+ production: (0, index_js_1.normalizeDeploymentAccountId)(options.productionAccountId, 'Production deployment account'),
73
+ }
74
+ : {}),
75
+ },
76
+ }
77
+ : {}),
78
+ ...(options.deploymentProfile
79
+ ? { deploymentProfile: options.deploymentProfile }
80
+ : {}),
81
+ ...(options.deploymentRegion
82
+ ? { deploymentRegion: options.deploymentRegion }
83
+ : {}),
21
84
  ...(options.preset ? { preset: options.preset } : {}),
22
85
  ...(options.productionAccess
23
86
  ? { productionAccess: options.productionAccess }
@@ -25,6 +88,7 @@ function createChange(options) {
25
88
  ...(options.productionApprovalMode
26
89
  ? { productionApprovalMode: options.productionApprovalMode }
27
90
  : {}),
91
+ ...(options.deliveryLane ? { deliveryLane: options.deliveryLane } : {}),
28
92
  ...(options.profile
29
93
  ? { productionFoundationProfile: options.profile }
30
94
  : {}),
@@ -34,25 +98,191 @@ function createChange(options) {
34
98
  }
35
99
  : {}),
36
100
  };
37
- if (Object.keys(change).length === 0) {
38
- throw new Error('Repository policy command requires --preset, --productionAccess, --productionApprovalMode, --profile, or --slices.');
101
+ if (Object.keys(change).length === 0 &&
102
+ options.workspaceDeploymentId === undefined &&
103
+ options.workspaceDeploymentMigrationEvidence === undefined) {
104
+ throw new Error('Repository policy command requires --deploymentProfile, --deploymentRegion, an exact stage account ID, --preset, --productionAccess, --productionApprovalMode, --profile, or --slices.');
39
105
  }
40
106
  return change;
41
107
  }
108
+ function deploymentTopologyChanged(current, next) {
109
+ return (current.deploymentProfile !== next.deploymentProfile ||
110
+ current.deploymentRegion !== next.deploymentRegion ||
111
+ JSON.stringify(current.deploymentAccounts) !==
112
+ JSON.stringify(next.deploymentAccounts));
113
+ }
114
+ function migrationEvidenceInput(tree, requestedPath) {
115
+ const evidencePath = node_path_1.posix.normalize(requestedPath);
116
+ if ((0, node_path_1.isAbsolute)(evidencePath) ||
117
+ evidencePath.includes('\0') ||
118
+ evidencePath === '..' ||
119
+ evidencePath.startsWith('../') ||
120
+ !evidencePath.startsWith('docs/adoption/')) {
121
+ throw new Error('Workspace deployment migration evidence must remain under docs/adoption in the workspace.');
122
+ }
123
+ const evidenceBytes = tree.read(evidencePath, 'utf8');
124
+ const packageBytes = tree.read('package.json', 'utf8');
125
+ if (evidenceBytes === null || packageBytes === null) {
126
+ throw new Error('Workspace deployment migration requires committed evidence and the generated root package manifest.');
127
+ }
128
+ if (node_buffer_1.Buffer.byteLength(evidenceBytes, 'utf8') > 131_072) {
129
+ throw new Error('Workspace deployment migration evidence exceeds the 128 KiB retention bound.');
130
+ }
131
+ let evidence;
132
+ let workspaceName;
133
+ try {
134
+ evidence = JSON.parse(evidenceBytes);
135
+ workspaceName = JSON.parse(packageBytes).name;
136
+ }
137
+ catch {
138
+ throw new Error('Workspace deployment migration evidence and root package manifest must be valid JSON.');
139
+ }
140
+ if (typeof workspaceName !== 'string') {
141
+ throw new Error('Workspace deployment migration requires one exact generated root package name.');
142
+ }
143
+ return { evidence, evidenceBytes, evidencePath, workspaceName };
144
+ }
145
+ function validateCurrentMigrationBinding(tree, policy) {
146
+ if (policy.workspaceDeploymentProvenance.kind !== 'migrated')
147
+ return;
148
+ const input = migrationEvidenceInput(tree, policy.workspaceDeploymentProvenance.evidencePath);
149
+ const actualDigest = (0, node_crypto_1.createHash)('sha256')
150
+ .update(input.evidenceBytes, 'utf8')
151
+ .digest('hex');
152
+ if (actualDigest !== policy.workspaceDeploymentProvenance.evidenceSha256) {
153
+ throw new Error('Workspace deployment migration evidence does not match the committed SHA-256 binding.');
154
+ }
155
+ (0, index_js_1.validateRepositoryOperatingPolicyMigrationProvenance)({
156
+ evidenceBytes: input.evidenceBytes,
157
+ evidenceSource: input.evidencePath,
158
+ policy,
159
+ });
160
+ }
161
+ function applyMigrationTopology(legacy, change) {
162
+ const existingAccounts = legacy.deploymentAccounts !== null &&
163
+ typeof legacy.deploymentAccounts === 'object' &&
164
+ !Array.isArray(legacy.deploymentAccounts)
165
+ ? legacy.deploymentAccounts
166
+ : {};
167
+ const deploymentProfile = change.deploymentProfile ?? legacy.deploymentProfile;
168
+ const deploymentAccounts = {
169
+ ...existingAccounts,
170
+ ...(deploymentProfile === 'starter' ? { staging: null } : {}),
171
+ ...change.deploymentAccounts,
172
+ };
173
+ return {
174
+ ...legacy,
175
+ deploymentAccounts,
176
+ ...(change.deploymentProfile !== undefined
177
+ ? { deploymentProfile: change.deploymentProfile }
178
+ : {}),
179
+ ...(change.deploymentRegion !== undefined
180
+ ? { deploymentRegion: change.deploymentRegion }
181
+ : {}),
182
+ };
183
+ }
42
184
  async function repositoryPolicyGenerator(tree, options) {
43
185
  const contents = tree.read(index_js_1.REPOSITORY_POLICY_FILE, 'utf8');
44
186
  if (contents === null) {
45
187
  throw new Error(`Repository Operating Policy is missing at ${index_js_1.REPOSITORY_POLICY_FILE}. Apply the workspace upgrade before changing policy decisions.`);
46
188
  }
47
189
  const change = createChange(options);
48
- const current = (0, index_js_1.parseRepositoryOperatingPolicy)(contents, index_js_1.REPOSITORY_POLICY_FILE);
49
- const next = (0, index_js_1.applyRepositoryPolicyChange)(current, change);
50
- const changed = JSON.stringify(current) !== JSON.stringify(next);
190
+ let migratedLegacyDeploymentProfile = false;
191
+ let migratedWorkspaceDeploymentIdentity = false;
192
+ let current;
193
+ try {
194
+ current = (0, index_js_1.parseRepositoryOperatingPolicy)(contents, index_js_1.REPOSITORY_POLICY_FILE);
195
+ }
196
+ catch (error) {
197
+ let legacy;
198
+ try {
199
+ legacy = JSON.parse(contents);
200
+ }
201
+ catch {
202
+ throw error;
203
+ }
204
+ const explicitProfileMigration = options.deploymentProfile;
205
+ if (!Object.prototype.hasOwnProperty.call(legacy, 'deploymentProfile')) {
206
+ if (explicitProfileMigration !== 'fully-isolated' ||
207
+ !index_js_1.DEPLOYMENT_PROFILES.includes(explicitProfileMigration)) {
208
+ throw error;
209
+ }
210
+ legacy = {
211
+ ...legacy,
212
+ deploymentAccounts: {
213
+ development: null,
214
+ production: null,
215
+ staging: null,
216
+ },
217
+ deploymentProfile: explicitProfileMigration,
218
+ deploymentRegion: null,
219
+ };
220
+ migratedLegacyDeploymentProfile = true;
221
+ }
222
+ if (!options.workspaceDeploymentId ||
223
+ !options.workspaceDeploymentMigrationEvidence) {
224
+ throw new Error(`${error instanceof Error ? error.message : String(error)} Existing prerelease workspaces must explicitly migrate a stable workspace deployment identity with bounded occupancy evidence.`);
225
+ }
226
+ const input = migrationEvidenceInput(tree, options.workspaceDeploymentMigrationEvidence);
227
+ current = (0, index_js_2.migrateRepositoryPolicyWorkspaceDeploymentIdentity)({
228
+ evidence: input.evidence,
229
+ evidenceBytes: input.evidenceBytes,
230
+ evidencePath: input.evidencePath,
231
+ legacyPolicy: applyMigrationTopology(legacy, change),
232
+ previousPolicyBytes: contents,
233
+ sourceLabel: index_js_1.REPOSITORY_POLICY_FILE,
234
+ workspaceDeploymentId: options.workspaceDeploymentId,
235
+ workspaceName: input.workspaceName,
236
+ });
237
+ migratedWorkspaceDeploymentIdentity = true;
238
+ }
239
+ if (!migratedWorkspaceDeploymentIdentity) {
240
+ validateCurrentMigrationBinding(tree, current);
241
+ }
242
+ if (!migratedWorkspaceDeploymentIdentity &&
243
+ options.workspaceDeploymentId !== undefined) {
244
+ throw new Error('Workspace deployment identity is already committed and cannot be replaced or re-migrated.');
245
+ }
246
+ let next = (0, index_js_1.applyRepositoryPolicyChange)(current, change);
247
+ if (!migratedWorkspaceDeploymentIdentity &&
248
+ current.workspaceDeploymentProvenance.kind === 'migrated' &&
249
+ deploymentTopologyChanged(current, next)) {
250
+ if (!options.workspaceDeploymentMigrationEvidence) {
251
+ throw new Error('A migrated workspace topology change requires new versioned workspace-deployment evidence.');
252
+ }
253
+ const input = migrationEvidenceInput(tree, options.workspaceDeploymentMigrationEvidence);
254
+ next = (0, index_js_2.renewRepositoryPolicyWorkspaceDeploymentMigration)({
255
+ evidence: input.evidence,
256
+ evidenceBytes: input.evidenceBytes,
257
+ evidencePath: input.evidencePath,
258
+ previousEvidencePath: current.workspaceDeploymentProvenance.evidencePath,
259
+ previousPolicyBytes: contents,
260
+ proposedPolicy: next,
261
+ sourceLabel: index_js_1.REPOSITORY_POLICY_FILE,
262
+ workspaceName: input.workspaceName,
263
+ });
264
+ }
265
+ else if (!migratedWorkspaceDeploymentIdentity &&
266
+ options.workspaceDeploymentMigrationEvidence !== undefined) {
267
+ throw new Error('--workspaceDeploymentMigrationEvidence is accepted only for an explicit prerelease migration or a migrated workspace topology change.');
268
+ }
269
+ const changed = migratedLegacyDeploymentProfile ||
270
+ migratedWorkspaceDeploymentIdentity ||
271
+ JSON.stringify(current) !== JSON.stringify(next);
51
272
  devkit_1.logger.info(`[ebk-repository-policy] ${options.apply ? 'apply requested' : 'report only'}\n${JSON.stringify({
52
273
  changed,
53
274
  current,
54
275
  next,
55
276
  }, null, 2)}\nPolicy source changes do not deploy, remove, or alter AWS resources.`);
277
+ if (current.deploymentProfile !== next.deploymentProfile) {
278
+ devkit_1.logger.warn(`[ebk-repository-policy] ${SEEDED_PROFILE_GUIDANCE}`);
279
+ const diagnostic = staleSeededRouterWafDiagnostic(tree, next.deploymentProfile);
280
+ if (diagnostic !== null) {
281
+ if (options.apply)
282
+ throw new Error(diagnostic);
283
+ devkit_1.logger.warn(`[ebk-repository-policy] ${diagnostic}`);
284
+ }
285
+ }
56
286
  if (!options.apply || !changed)
57
287
  return;
58
288
  tree.write(index_js_1.REPOSITORY_POLICY_FILE, `${JSON.stringify(next, null, 2)}\n`);
@@ -1,4 +1,6 @@
1
1
  import type {
2
+ DeliveryLane,
3
+ DeploymentProfile,
2
4
  ProductionAccess,
3
5
  ProductionApprovalMode,
4
6
  ProductionFoundationProfile,
@@ -8,11 +10,19 @@ import type {
8
10
 
9
11
  export interface RepositoryPolicyGeneratorSchema {
10
12
  apply?: boolean;
13
+ developmentAccountId?: string | number;
14
+ deploymentProfile?: DeploymentProfile;
15
+ deploymentRegion?: string;
11
16
  preset?: RepositoryModePreset;
12
17
  productionAccess?: ProductionAccess;
18
+ deliveryLane?: DeliveryLane;
13
19
  productionApprovalMode?: ProductionApprovalMode;
14
20
  profile?: ProductionFoundationProfile;
21
+ productionAccountId?: string | number;
15
22
  skipFormat?: boolean;
16
23
  slices?: string[];
17
24
  status?: SliceProductionStatus;
25
+ stagingAccountId?: string | number;
26
+ workspaceDeploymentId?: string;
27
+ workspaceDeploymentMigrationEvidence?: string;
18
28
  }
@@ -5,6 +5,71 @@
5
5
  "type": "object",
6
6
  "additionalProperties": false,
7
7
  "properties": {
8
+ "deploymentProfile": {
9
+ "type": "string",
10
+ "enum": ["starter", "production-isolated", "fully-isolated"],
11
+ "description": "AWS account and deployment-authority topology. Existing prerelease repositories must explicitly select fully-isolated before upgrading."
12
+ },
13
+ "deploymentRegion": {
14
+ "type": "string",
15
+ "pattern": "^(?!(us-iso-|us-isob-|eu-isoe-|us-isof-))[a-z]{2}(-gov)?-[a-z]+(-[a-z]+)*-[0-9]$",
16
+ "description": "Exact shared AWS Region for all canonical stages."
17
+ },
18
+ "developmentAccountId": {
19
+ "anyOf": [
20
+ {
21
+ "type": "string",
22
+ "pattern": "^[0-9]{12}$"
23
+ },
24
+ {
25
+ "type": "number",
26
+ "minimum": 100000000000,
27
+ "maximum": 999999999999,
28
+ "multipleOf": 1
29
+ }
30
+ ],
31
+ "description": "Exact development AWS account ID committed as non-secret deployment topology."
32
+ },
33
+ "stagingAccountId": {
34
+ "anyOf": [
35
+ {
36
+ "type": "string",
37
+ "pattern": "^[0-9]{12}$"
38
+ },
39
+ {
40
+ "type": "number",
41
+ "minimum": 100000000000,
42
+ "maximum": 999999999999,
43
+ "multipleOf": 1
44
+ }
45
+ ],
46
+ "description": "Exact staging AWS account ID committed as non-secret deployment topology."
47
+ },
48
+ "workspaceDeploymentId": {
49
+ "type": "string",
50
+ "pattern": "^ebkws-[a-f0-9]{32}$",
51
+ "description": "Exact stable generated workspace deployment identity. Accepted only with explicit migration evidence when upgrading an existing prerelease policy."
52
+ },
53
+ "workspaceDeploymentMigrationEvidence": {
54
+ "type": "string",
55
+ "pattern": "^docs/adoption/[A-Za-z0-9._/-]+[.]json$",
56
+ "description": "Version-controlled bounded occupancy evidence for explicitly adopting existing AWS tuples."
57
+ },
58
+ "productionAccountId": {
59
+ "anyOf": [
60
+ {
61
+ "type": "string",
62
+ "pattern": "^[0-9]{12}$"
63
+ },
64
+ {
65
+ "type": "number",
66
+ "minimum": 100000000000,
67
+ "maximum": 999999999999,
68
+ "multipleOf": 1
69
+ }
70
+ ],
71
+ "description": "Exact production AWS account ID committed as non-secret deployment topology."
72
+ },
8
73
  "preset": {
9
74
  "type": "string",
10
75
  "enum": ["incubation", "controlled-production", "operational"],
@@ -17,17 +82,25 @@
17
82
  },
18
83
  "productionApprovalMode": {
19
84
  "type": "string",
20
- "enum": ["promotion-pr", "environment-reviewer"],
85
+ "enum": ["promotion-pr", "environment-reviewer", "trunk-promotion"],
21
86
  "description": "Explicit production authorization mechanism. promotion-pr is compatible with private repositories on GitHub Team; environment-reviewer requires plan support for private environment reviewers."
22
87
  },
88
+ "deliveryLane": {
89
+ "type": "string",
90
+ "enum": ["protected-pair", "trunk"],
91
+ "description": "How work reaches production. protected-pair (default) keeps develop and main with a promotion pull request and sync-back; trunk protects main alone and deploys production from every merged main push (starter profile only)."
92
+ },
23
93
  "profile": {
24
94
  "type": "string",
25
- "enum": ["cost-optimized", "standard"],
95
+ "enum": ["cost-optimized", "balanced", "standard"],
26
96
  "description": "Explicit shared production Foundation profile."
27
97
  },
28
98
  "slices": {
29
99
  "type": "array",
30
- "items": { "type": "string", "pattern": "^[a-z0-9][a-z0-9-]*$" },
100
+ "items": {
101
+ "type": "string",
102
+ "pattern": "^[a-z0-9][a-z0-9-]*$"
103
+ },
31
104
  "uniqueItems": true,
32
105
  "description": "Product Slices whose explicit production status should be added or changed."
33
106
  },
@@ -41,6 +114,9 @@
41
114
  "description": "Write the reported source change. The default is report-only and never touches AWS or GitHub.",
42
115
  "default": false
43
116
  },
44
- "skipFormat": { "type": "boolean", "default": false }
117
+ "skipFormat": {
118
+ "type": "boolean",
119
+ "default": false
120
+ }
45
121
  }
46
122
  }
@@ -0,0 +1,3 @@
1
+ import type { Tree } from '@nx/devkit';
2
+ import { type RepositoryOperatingPolicy } from '../../repository-policy/index.js';
3
+ export declare function readRepositoryOperatingPolicyFromTree(tree: Tree): RepositoryOperatingPolicy;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readRepositoryOperatingPolicyFromTree = readRepositoryOperatingPolicyFromTree;
4
+ const index_js_1 = require("../../repository-policy/index.js");
5
+ function readRepositoryOperatingPolicyFromTree(tree) {
6
+ const contents = tree.read(index_js_1.REPOSITORY_POLICY_FILE, 'utf8');
7
+ if (contents === null) {
8
+ throw new Error(`${index_js_1.REPOSITORY_POLICY_FILE} is required before profile-dependent generation or upgrade work.`);
9
+ }
10
+ const policy = (0, index_js_1.parseRepositoryOperatingPolicy)(contents, index_js_1.REPOSITORY_POLICY_FILE);
11
+ if (policy.workspaceDeploymentProvenance.kind === 'migrated') {
12
+ const evidencePath = policy.workspaceDeploymentProvenance.evidencePath;
13
+ const evidenceBytes = tree.read(evidencePath, 'utf8');
14
+ if (evidenceBytes === null) {
15
+ throw new Error(`Workspace deployment migration evidence is required at ${evidencePath}.`);
16
+ }
17
+ (0, index_js_1.validateRepositoryOperatingPolicyMigrationProvenance)({
18
+ evidenceBytes,
19
+ evidenceSource: evidencePath,
20
+ policy,
21
+ });
22
+ }
23
+ return policy;
24
+ }
25
+ //# sourceMappingURL=tree-policy.js.map
@@ -4,6 +4,38 @@ exports.renderProductApiContractFiles = renderProductApiContractFiles;
4
4
  const api_contract_1 = require("@empire-builder-kit/runtime/api-contract");
5
5
  const index_js_1 = require("../../api-contract/index.js");
6
6
  const built_in_plan_shared_js_1 = require("./built-in-plan-shared.js");
7
+ const local_source_identity_js_1 = require("./local-source-identity.js");
8
+ // Shared by the machine-readable contract and the generated operation source.
9
+ const KEY_VALUE_RECORD_PROBLEMS = [
10
+ {
11
+ code: 'record_input_invalid',
12
+ message: 'Record input is invalid.',
13
+ retryable: false,
14
+ status: 400,
15
+ type: 'https://empirebuilderkit.dev/problems/records/input-invalid',
16
+ },
17
+ {
18
+ code: 'record_idempotency_conflict',
19
+ message: 'The mutation receipt does not match this exact request.',
20
+ retryable: false,
21
+ status: 409,
22
+ type: 'https://empirebuilderkit.dev/problems/records/idempotency-conflict',
23
+ },
24
+ {
25
+ code: 'record_write_conflict',
26
+ message: 'The record changed concurrently; retry the request.',
27
+ retryable: true,
28
+ status: 409,
29
+ type: 'https://empirebuilderkit.dev/problems/records/write-conflict',
30
+ },
31
+ {
32
+ code: 'record_not_found',
33
+ message: 'The record was not found.',
34
+ retryable: false,
35
+ status: 404,
36
+ type: 'https://empirebuilderkit.dev/problems/records/not-found',
37
+ },
38
+ ];
7
39
  function createStandardApiContract(name, pascalName) {
8
40
  const authenticationProblems = [
9
41
  {
@@ -68,6 +100,7 @@ function createStandardApiContract(name, pascalName) {
68
100
  ];
69
101
  const recordConflictProblems = [
70
102
  ...authorizationProblems,
103
+ ...KEY_VALUE_RECORD_PROBLEMS,
71
104
  {
72
105
  code: 'record_conflict',
73
106
  message: 'The record identifier is owned by another principal.',
@@ -232,6 +265,7 @@ function createStandardApiContract(name, pascalName) {
232
265
  },
233
266
  ];
234
267
  const retentionProblems = [
268
+ ...authorizationProblems,
235
269
  {
236
270
  code: 'data_retention_approval_invalid',
237
271
  message: 'The retention approval is invalid for this report.',
@@ -782,6 +816,7 @@ function createStandardApiContract(name, pascalName) {
782
816
  body: (0, api_contract_1.apiObject)({
783
817
  deleted: (0, api_contract_1.apiBoolean)(),
784
818
  id: (0, api_contract_1.apiString)({ format: 'uuid' }),
819
+ deliveryPending: (0, api_contract_1.apiOptional)((0, api_contract_1.apiBoolean)()),
785
820
  }),
786
821
  status: 200,
787
822
  },
@@ -995,6 +1030,7 @@ const authorizationProblems = [
995
1030
 
996
1031
  const recordConflictProblems = [
997
1032
  ...authorizationProblems,
1033
+ ...${JSON.stringify(KEY_VALUE_RECORD_PROBLEMS, null, 2)},
998
1034
  {
999
1035
  code: 'record_conflict',
1000
1036
  message: 'The record identifier is owned by another principal.',
@@ -1166,6 +1202,7 @@ const dataRightsProblems = [
1166
1202
  ] as const;
1167
1203
 
1168
1204
  const retentionProblems = [
1205
+ ...authorizationProblems,
1169
1206
  {
1170
1207
  code: 'data_retention_approval_invalid',
1171
1208
  message: 'The retention approval is invalid for this report.',
@@ -1766,6 +1803,7 @@ export const ${identifierPrefix}DeleteRecord = defineApiOperation({
1766
1803
  body: apiObject({
1767
1804
  deleted: apiBoolean(),
1768
1805
  id: apiString({ format: 'uuid' }),
1806
+ deliveryPending: apiOptional(apiBoolean()),
1769
1807
  }),
1770
1808
  status: 200,
1771
1809
  },
@@ -1979,10 +2017,13 @@ An intentional baseline update requires a reviewed JSON approval:
1979
2017
  pnpm nx run ${name}:api-contract-baseline -- --approval=path/to/approval.json
1980
2018
  \`\`\`
1981
2019
 
1982
- Compatible approvals pin the exact candidate digest and reason. Conditional
1983
- approvals also require semantic-review evidence. Breaking approvals require
1984
- consumer evidence, rollout evidence, and an exact rollout-plan identity and
1985
- digest. Baseline updates never occur during generation or verification.
2020
+ An agent may author the approval file. Compatible approvals pin the exact
2021
+ candidate digest and reason, and the agent may apply them directly during
2022
+ development. Conditional approvals also require semantic-review evidence, and
2023
+ breaking approvals require consumer evidence, rollout evidence, and an exact
2024
+ rollout-plan identity and digest; a human reviews those two classes before the
2025
+ baseline command runs. Baseline updates never occur during generation or
2026
+ verification.
1986
2027
 
1987
2028
  Other Slices may import only \`@<workspace>/${name}/api-contract\`,
1988
2029
  \`@<workspace>/${name}/api-client\`, or the transport-neutral
@@ -2349,7 +2390,7 @@ if (action === 'check') {
2349
2390
  }
2350
2391
  `,
2351
2392
  'scripts/api-contract.mjs': `import { createHash } from 'node:crypto';
2352
- import { execFileSync } from 'node:child_process';
2393
+ import { spawnSync } from 'node:child_process';
2353
2394
  import {
2354
2395
  mkdirSync,
2355
2396
  readFileSync,
@@ -2395,13 +2436,10 @@ const action = process.argv[2] ?? 'check';
2395
2436
  const digest = (contents) =>
2396
2437
  'sha256:' + createHash('sha256').update(contents).digest('hex');
2397
2438
 
2439
+ ${local_source_identity_js_1.localSourceCommitFunction}
2440
+
2398
2441
  function sourceIdentity() {
2399
- const commit =
2400
- process.env.EBK_SOURCE_COMMIT ??
2401
- execFileSync('git', ['rev-parse', 'HEAD'], {
2402
- cwd: workspaceRoot,
2403
- encoding: 'utf8',
2404
- }).trim();
2442
+ const commit = localSourceCommit();
2405
2443
  const frameworkCandidate =
2406
2444
  workspacePackage.dependencies?.['@empire-builder-kit/runtime'];
2407
2445
  if (typeof frameworkCandidate !== 'string' || !frameworkCandidate) {
@@ -1,2 +1,2 @@
1
1
  /** @internal */
2
- export declare function renderProductApiFiles(name: string, pascalName: string, workspace: string): Readonly<Record<string, string>>;
2
+ export declare function renderProductApiFiles(name: string, pascalName: string, workspace: string, sql?: boolean): Readonly<Record<string, string>>;