@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
@@ -1,4 +1,4 @@
1
- export declare const WORKLOAD_CONTAINER_NODE_IMAGE: "node:22-alpine@sha256:16e22a550f3863206a3f701448c45f7912c6896a62de43add43bb9c86130c3e2";
1
+ export declare const WORKLOAD_CONTAINER_NODE_IMAGE: "node:22-alpine@sha256:0a7108bf6c7bf5de370ffb1a3ed6be93d405b43ff159f681a8d18c0e2bc2e402";
2
2
  export declare const WORKLOAD_CONTAINER_PNPM_VERSION: "11.20.0";
3
3
  export declare const WORKLOAD_CONTAINER_PNPM_DESCRIPTOR: "pnpm@11.20.0+sha512.9a6f330a95b66446ea088faf1521405a8a01f07fde7124cc9958dfed52d4bb436737e65b08f85f37b46fcba375092558ac51262b816844b22f63406ed166bfee";
4
4
  export declare const WORKLOAD_CONTAINER_PNPM_STORE = "/workspace/.ebk/cache/pnpm-store";
@@ -14,6 +14,7 @@ export interface WorkloadPerformancePlan {
14
14
  contents: string;
15
15
  ownsProtectedLoadAdapter: boolean;
16
16
  path: string;
17
+ protectedRuntimeStages: readonly ('development' | 'production' | 'staging')[];
17
18
  tagContext: {
18
19
  frameworkVersion: string;
19
20
  owner: string;
@@ -7,6 +7,7 @@ const node_path_1 = require("node:path");
7
7
  const index_js_1 = require("../../performance/index.js");
8
8
  const index_js_2 = require("../../repository-policy/index.js");
9
9
  const index_js_3 = require("../../ownership/index.js");
10
+ const tree_policy_js_1 = require("../repository-policy/tree-policy.js");
10
11
  exports.WORKLOAD_PERFORMANCE_POLICY_PATH = 'performance/policy.json';
11
12
  exports.WORKLOAD_PERFORMANCE_SCENARIO_PATH = 'performance/load-scenarios.json';
12
13
  exports.WORKLOAD_PERFORMANCE_OPERATIONS_PATH = 'operations/performance.json';
@@ -180,13 +181,12 @@ function planWorkloadPerformanceRegistration(tree, input) {
180
181
  }
181
182
  capacity.push(registration);
182
183
  capacity.sort((left, right) => (0, deterministic_order_js_1.compareUtf16)(left.id, right.id));
183
- const repositoryPolicyResult = (0, index_js_2.validateRepositoryOperatingPolicy)(readJson(tree, index_js_2.REPOSITORY_POLICY_FILE, 'Repository operating policy'));
184
- if (!repositoryPolicyResult.valid) {
185
- throw new Error(`Repository operating policy is invalid at ${index_js_2.REPOSITORY_POLICY_FILE}: ${repositoryPolicyResult.issues
186
- .map(({ message, path: issuePath }) => `${issuePath} ${message}`)
187
- .join('; ')}`);
188
- }
189
- const productionProfile = repositoryPolicyResult.value.productionFoundation.profile;
184
+ const repositoryPolicy = (0, tree_policy_js_1.readRepositoryOperatingPolicyFromTree)(tree);
185
+ const productionProfile = repositoryPolicy.productionFoundation.profile;
186
+ const protectedRuntimeStages = [
187
+ (0, index_js_2.productionRehearsalStage)(repositoryPolicy.deploymentProfile),
188
+ 'production',
189
+ ];
190
190
  (0, index_js_1.createStandardResourceTags)({
191
191
  frameworkVersion: input.runtimeVersion,
192
192
  owner: policy.owner,
@@ -197,10 +197,7 @@ function planWorkloadPerformanceRegistration(tree, input) {
197
197
  workspace: input.workspace,
198
198
  });
199
199
  const nextPolicy = (0, index_js_1.validatePerformancePolicy)({ ...policy, capacity });
200
- const logicalName = `${input.slice
201
- .split('-')
202
- .map((part) => `${part.charAt(0).toUpperCase()}${part.slice(1)}`)
203
- .join('')}PerformanceLoadHmacKeys`;
200
+ const logicalName = 'GeneratedPerformanceLoadHmacKeys';
204
201
  const servicePlan = input.kind === 'service'
205
202
  ? planManagedServicePerformanceFiles(tree, {
206
203
  logicalName,
@@ -215,6 +212,7 @@ function planWorkloadPerformanceRegistration(tree, input) {
215
212
  contents: `${JSON.stringify(nextPolicy, null, 2)}\n`,
216
213
  ownsProtectedLoadAdapter: servicePlan.ownsProtectedLoadAdapter,
217
214
  path,
215
+ protectedRuntimeStages,
218
216
  tagContext: {
219
217
  frameworkVersion: input.runtimeVersion,
220
218
  owner: policy.owner,
@@ -1,4 +1,5 @@
1
1
  export declare function renderServicePerformanceFiles(input: {
2
+ protectedRuntimeStages: readonly ('development' | 'production' | 'staging')[];
2
3
  slice: string;
3
4
  workload: string;
4
5
  }): Readonly<Record<string, string>>;
@@ -9,9 +9,18 @@ function pascal(value) {
9
9
  .join('');
10
10
  }
11
11
  function renderServicePerformanceFiles(input) {
12
+ if (input.protectedRuntimeStages.length === 0 ||
13
+ new Set(input.protectedRuntimeStages).size !==
14
+ input.protectedRuntimeStages.length) {
15
+ throw new Error('Service performance generation requires unique protected runtime stages.');
16
+ }
12
17
  const sliceClass = pascal(input.slice);
13
18
  const workloadClass = pascal(input.workload);
14
- const secretName = `${sliceClass}PerformanceLoadHmacKeys`;
19
+ const protectedRuntimeStages = `[${input.protectedRuntimeStages
20
+ .map((stage) => `'${stage}'`)
21
+ .join(', ')}]`;
22
+ const fixtureStage = input.protectedRuntimeStages[0];
23
+ const secretName = 'GeneratedPerformanceLoadHmacKeys';
15
24
  const reservationResourceName = `${sliceClass}${workloadClass}PerformanceReservations`;
16
25
  const workloadIdentity = `${input.slice}.${input.workload}-service-performance-task`;
17
26
  const executePath = `/${input.slice}/__ebk/performance/service`;
@@ -101,14 +110,15 @@ const performanceHmacKeys = secret.json<PerformanceHmacKeys>({
101
110
  const PerformanceSecrets = defineSecrets({
102
111
  ${secretName}: {
103
112
  cache: { freshTtlMs: 1_000, staleTtlMs: 0 },
113
+ generation: { kind: 'hmac-key-ring-v1' },
104
114
  owner: '${input.slice}',
105
- requiredStages: ['staging', 'production'],
115
+ requiredStages: ${protectedRuntimeStages},
106
116
  retention: { mode: 'retain' },
107
117
  rotation: {
108
118
  mode: 'manual',
109
119
  runbook: 'docs/runbooks/performance-capacity-cost.md',
110
120
  },
111
- source: 'operator',
121
+ source: 'generated',
112
122
  value: performanceHmacKeys,
113
123
  },
114
124
  });
@@ -650,7 +660,17 @@ export function createProtectedServicePerformanceExecutor(input: {
650
660
 
651
661
  const executeRequest = createProtectedServicePerformanceExecutor();
652
662
 
653
- let resolverStage: 'production' | 'staging' | undefined;
663
+ const PROTECTED_RUNTIME_STAGES = ${protectedRuntimeStages} as const;
664
+ type ProtectedRuntimeStage = (typeof PROTECTED_RUNTIME_STAGES)[number];
665
+
666
+ function isProtectedRuntimeStage(
667
+ value: string | undefined,
668
+ ): value is ProtectedRuntimeStage {
669
+ return typeof value === 'string' &&
670
+ (PROTECTED_RUNTIME_STAGES as readonly string[]).includes(value);
671
+ }
672
+
673
+ let resolverStage: ProtectedRuntimeStage | undefined;
654
674
  let resolver: ReturnType<typeof createServerSecretResolver> | undefined;
655
675
 
656
676
  async function withEndpointBinding<Result>(
@@ -660,7 +680,7 @@ async function withEndpointBinding<Result>(
660
680
  const stage = process.env.EBK_STAGE;
661
681
  if (
662
682
  process.env.EBK_PERFORMANCE_LOAD_ENABLED !== 'true' ||
663
- (stage !== 'staging' && stage !== 'production')
683
+ !isProtectedRuntimeStage(stage)
664
684
  ) {
665
685
  throw new Error('protected-performance-endpoint-disabled');
666
686
  }
@@ -926,7 +946,7 @@ const binding: ProtectedLoadEndpointBindingV1 = {
926
946
  deployedReleaseMaterialDigest: 'c'.repeat(64),
927
947
  deployedSourceCommit: 'd'.repeat(40),
928
948
  hmacKeys: { current: hmacKey },
929
- stage: 'staging',
949
+ stage: '${fixtureStage}',
930
950
  target: {
931
951
  accountFingerprint: 'sha256:' + 'a'.repeat(64),
932
952
  origin: 'https://service.example.test',
@@ -958,7 +978,7 @@ function authorization(operation: 'cleanup' | 'execute'):
958
978
  runId: 'service-run',
959
979
  saturationSignalRef: SERVICE_PER_TASK_SATURATION_SIGNAL_REF,
960
980
  scenarioId: 'service-extension',
961
- stage: 'staging',
981
+ stage: '${fixtureStage}',
962
982
  target: {
963
983
  ...binding.target,
964
984
  endpoint: 'https://service.example.test' +
@@ -13,5 +13,5 @@ export interface WorkloadFilePlan {
13
13
  }>;
14
14
  project: string;
15
15
  }
16
- export declare function createWorkloadFilePlan(workspace: string, slice: string, workload: string, kind: WorkloadKind, runtimeVersion: string, feature: string, ownsProtectedLoadAdapter: boolean): WorkloadFilePlan;
16
+ export declare function createWorkloadFilePlan(workspace: string, slice: string, workload: string, kind: WorkloadKind, runtimeVersion: string, feature: string, ownsProtectedLoadAdapter: boolean, protectedRuntimeStages?: readonly ('development' | 'production' | 'staging')[]): WorkloadFilePlan;
17
17
  export declare function workloadGenerator(tree: Tree, options: WorkloadGeneratorSchema, kind: WorkloadKind): Promise<GeneratorCallback | void>;
@@ -4,13 +4,19 @@ exports.SERVICE_WORKLOAD_PACKAGE_MANAGED_JSON_POINTERS = exports.WORKLOAD_PACKAG
4
4
  exports.createWorkloadFilePlan = createWorkloadFilePlan;
5
5
  exports.workloadGenerator = workloadGenerator;
6
6
  const deterministic_order_js_1 = require("../../deterministic-order.js");
7
- const devkit_1 = require("@nx/devkit");
8
7
  const node_path_1 = require("node:path");
9
8
  const index_js_1 = require("../../ownership/index.js");
9
+ const capability_plan_js_1 = require("../../foundation/capability-plan.js");
10
+ const preview_changes_js_1 = require("../../developer-agent/preview-changes.js");
11
+ const upgrade_js_1 = require("../upgrade/upgrade.js");
12
+ const built_in_plan_foundation_files_js_1 = require("../slice/built-in-plan-foundation-files.js");
10
13
  const feature_registry_js_1 = require("../feature-registry.js");
14
+ const formatting_js_1 = require("../formatting.js");
11
15
  const logging_registry_js_1 = require("../logging-registry.js");
12
16
  const post_generation_install_js_1 = require("../post-generation-install.js");
13
17
  const tool_versions_js_1 = require("../preset/tool-versions.js");
18
+ const workspace_files_js_1 = require("../preset/workspace-files.js");
19
+ const built_in_plan_js_1 = require("../slice/built-in-plan.js");
14
20
  const built_in_plan_shared_js_1 = require("../slice/built-in-plan-shared.js");
15
21
  const frozen_container_js_1 = require("./frozen-container.js");
16
22
  const performance_registration_js_1 = require("./performance-registration.js");
@@ -131,7 +137,7 @@ exports.SERVICE_WORKLOAD_PACKAGE_MANAGED_JSON_POINTERS = [
131
137
  '/dependencies/@aws-sdk~1client-dynamodb',
132
138
  '/dependencies/sst',
133
139
  ];
134
- function createWorkloadFilePlan(workspace, slice, workload, kind, runtimeVersion, feature, ownsProtectedLoadAdapter) {
140
+ function createWorkloadFilePlan(workspace, slice, workload, kind, runtimeVersion, feature, ownsProtectedLoadAdapter, protectedRuntimeStages = ['staging', 'production']) {
135
141
  const plural = kind === 'service' ? 'services' : 'jobs';
136
142
  const relativeRoot = node_path_1.posix.join(plural, workload);
137
143
  const className = `${pascal(slice)}${pascal(workload)}${pascal(kind)}`;
@@ -226,6 +232,20 @@ function createWorkloadFilePlan(workspace, slice, workload, kind, runtimeVersion
226
232
  .replace("health: { command: ['CMD-SHELL', 'wget -qO- http://localhost:3000/health || exit 1'] },", "health: { command: ['CMD-SHELL', 'wget -qO- http://localhost:' + DEFAULT_SERVICE_PORT + '/health || exit 1'] },")
227
233
  .replace('serviceRegistry: { port: 3000 },', 'serviceRegistry: { port: DEFAULT_SERVICE_PORT },');
228
234
  }
235
+ const nativeAuthorityInfrastructurePath = `${relativeRoot}/infra.ts`;
236
+ const nativeAuthorityInfrastructure = files[nativeAuthorityInfrastructurePath] ?? '';
237
+ const nativeAuthoritySeams = [
238
+ '../../infra/workload-roles/effective-intent.js',
239
+ ' roles?: { executionRole: string; taskRole: string },',
240
+ ' ...(roles ?? {}),',
241
+ ];
242
+ if (nativeAuthoritySeams.some((fragment) => !nativeAuthorityInfrastructure.includes(fragment))) {
243
+ throw new Error(`Built-in ${kind} infrastructure is missing its native permission integration point.`);
244
+ }
245
+ files[nativeAuthorityInfrastructurePath] = nativeAuthorityInfrastructure
246
+ .replace('../../infra/workload-roles/effective-intent.js', '../../infra/native-runtime-authority/effective-intent.js')
247
+ .replace(' roles?: { executionRole: string; taskRole: string },', ' permissions: any,')
248
+ .replace(' ...(roles ?? {}),', ' permissions,');
229
249
  if (kind === 'service' && ownsProtectedLoadAdapter) {
230
250
  const mainPath = `${relativeRoot}/src/main.ts`;
231
251
  let mainSource = files[mainPath] ?? '';
@@ -243,7 +263,11 @@ function createWorkloadFilePlan(workspace, slice, workload, kind, runtimeVersion
243
263
  'content-type': 'application/json',
244
264
  });`);
245
265
  files[mainPath] = mainSource;
246
- Object.assign(files, (0, service_performance_files_js_1.renderServicePerformanceFiles)({ slice, workload }));
266
+ Object.assign(files, (0, service_performance_files_js_1.renderServicePerformanceFiles)({
267
+ protectedRuntimeStages,
268
+ slice,
269
+ workload,
270
+ }));
247
271
  }
248
272
  const infrastructurePath = `${relativeRoot}/infra.ts`;
249
273
  const packageLocalImage = `image: { context: './${plural}/${workload}', dockerfile: 'Dockerfile' }`;
@@ -261,12 +285,12 @@ import { createStandardResourceTags } from '@empire-builder-kit/nx/performance';
261
285
  import { resolveStandardContainerImage } from '../../infra/container-images.js';
262
286
  `);
263
287
  replaceInfrastructureFragment(` alertTopicArn: any,
264
- roles?: { executionRole: string; taskRole: string },
288
+ permissions: any,
265
289
  `, ` alertTopicArn: any,
266
290
  performance: {
267
291
  frameworkVersion: string;
268
292
  owner: string;
269
- productionProfile: 'cost-optimized' | 'standard';
293
+ productionProfile: 'cost-optimized' | 'balanced' | 'standard';
270
294
  repository: string;
271
295
  },
272
296
  ${kind !== 'service' || ownsProtectedLoadAdapter
@@ -289,7 +313,7 @@ ${kind !== 'service' || ownsProtectedLoadAdapter
289
313
  router: any;
290
314
  } | undefined,
291
315
  `
292
- : ''} roles?: { executionRole: string; taskRole: string },
316
+ : ''} permissions: any,
293
317
  `);
294
318
  replaceInfrastructureFragment(` workspace: '${workspace}',
295
319
  });
@@ -423,10 +447,10 @@ ${kind !== 'service' || ownsProtectedLoadAdapter
423
447
  }
424
448
  infrastructureSource = infrastructureSource.replace(packageLocalImage, protectedReleaseImage);
425
449
  if (kind === 'service' && ownsProtectedLoadAdapter) {
426
- replaceInfrastructureFragment(`import { standardSliceExtensionTaskFamily } from '../../infra/workload-roles/effective-intent.js';`, `import {
450
+ replaceInfrastructureFragment(`import { standardSliceExtensionTaskFamily } from '../../infra/native-runtime-authority/effective-intent.js';`, `import {
427
451
  standardSliceExtensionTaskFamily,
428
452
  standardSliceServicePerformanceReservationTableName,
429
- } from '../../infra/workload-roles/effective-intent.js';`);
453
+ } from '../../infra/native-runtime-authority/effective-intent.js';`);
430
454
  replaceInfrastructureFragment(` const workload = new sst.aws.Service`, ` const performanceReservations = performanceDeploymentBinding
431
455
  ? new aws.dynamodb.Table(
432
456
  '${className}PerformanceReservationsTable',
@@ -1010,7 +1034,7 @@ describe('${workload} ${kind} outage behavior', () => {
1010
1034
  project: `@${slice}/${kind}-${workload}`,
1011
1035
  };
1012
1036
  }
1013
- async function workloadGenerator(tree, options, kind) {
1037
+ async function executeWorkloadGenerator(tree, options, kind) {
1014
1038
  const slice = name(options.slice, 'Product Slice name');
1015
1039
  const workload = name(options.name, kind === 'service' ? 'Service name' : 'Job name');
1016
1040
  const requestedFeature = name(options.feature, 'Feature');
@@ -1018,8 +1042,8 @@ async function workloadGenerator(tree, options, kind) {
1018
1042
  const sliceRoot = node_path_1.posix.join('packages', slice);
1019
1043
  const root = node_path_1.posix.join(sliceRoot, plural, workload);
1020
1044
  const productPath = node_path_1.posix.join(sliceRoot, 'infra/product.ts');
1021
- const candidatePath = node_path_1.posix.join(sliceRoot, 'infra/workload-roles/candidate.ts');
1022
- const intentPath = node_path_1.posix.join(sliceRoot, 'infra/workload-roles/effective-intent.ts');
1045
+ const topologyPath = node_path_1.posix.join(sliceRoot, 'infra/native-runtime-authority/topology.ts');
1046
+ const intentPath = node_path_1.posix.join(sliceRoot, 'infra/native-runtime-authority/effective-intent.ts');
1023
1047
  const installOperation = {
1024
1048
  generator: 'workload',
1025
1049
  id: `generator:workload:${slice}:${kind}:${workload}`,
@@ -1033,6 +1057,7 @@ async function workloadGenerator(tree, options, kind) {
1033
1057
  },
1034
1058
  resumeArguments: [
1035
1059
  'pnpm',
1060
+ '--config.verify-deps-before-run=warn',
1036
1061
  'nx',
1037
1062
  'generate',
1038
1063
  `@empire-builder-kit/nx:${kind}`,
@@ -1070,8 +1095,28 @@ async function workloadGenerator(tree, options, kind) {
1070
1095
  if (!tree.exists(productPath)) {
1071
1096
  throw new Error(`${slice} is not an EBK v1 Product Slice.`);
1072
1097
  }
1073
- requireCompositionMarker(tree, candidatePath, '// <ebk:workload-role-extensions:end>');
1074
- requireCompositionMarker(tree, intentPath, '// <ebk:workload-role-intent-contributions:end>');
1098
+ const ownership = (0, index_js_1.validateGeneratedOwnershipRecord)(JSON.parse(tree.read(node_path_1.posix.join(sliceRoot, '.ebk/ownership.json'), 'utf8') ?? 'null'));
1099
+ if (!ownership.valid)
1100
+ throw new Error('Product Slice ownership is invalid before workload composition.');
1101
+ const foundationPath = node_path_1.posix.join(sliceRoot, 'infra/foundation.ts');
1102
+ const foundationSource = tree.read(foundationPath, 'utf8');
1103
+ const foundationOwner = ownership.value.paths.find(({ path }) => path === 'infra/foundation.ts');
1104
+ if (foundationSource === null ||
1105
+ foundationOwner?.mode !== 'managed' ||
1106
+ (0, index_js_1.hashOwnedContent)(foundationSource, foundationOwner) !==
1107
+ foundationOwner.sha256)
1108
+ throw new Error('Product Slice Foundation bindings have managed drift; reconcile ownership before workload generation.');
1109
+ const foundationRequirement = {
1110
+ contract: ownership.value.foundation.contract,
1111
+ capabilities: (0, capability_plan_js_1.planFoundationCapabilities)({
1112
+ requirements: [
1113
+ ownership.value.foundation,
1114
+ { contract: '^2.0.0', capabilities: ['network', 'container-compute'] },
1115
+ ],
1116
+ }).descriptor.capabilities,
1117
+ };
1118
+ requireCompositionMarker(tree, topologyPath, '// <ebk:native-runtime-extensions:end>');
1119
+ requireCompositionMarker(tree, intentPath, '// <ebk:native-runtime-intent-contributions:end>');
1075
1120
  for (const marker of [
1076
1121
  '// <ebk:composition-imports:end>',
1077
1122
  '// <ebk:workload-registrations:end>',
@@ -1099,12 +1144,13 @@ async function workloadGenerator(tree, options, kind) {
1099
1144
  slice,
1100
1145
  sliceRoot,
1101
1146
  });
1102
- const plan = createWorkloadFilePlan(workspace, slice, workload, kind, runtimeVersion, feature, performanceRegistration.ownsProtectedLoadAdapter);
1147
+ const plan = createWorkloadFilePlan(workspace, slice, workload, kind, runtimeVersion, feature, performanceRegistration.ownsProtectedLoadAdapter, performanceRegistration.protectedRuntimeStages);
1103
1148
  const additionalPerformancePaths = performanceRegistration.additionalFiles.map(({ path }) => path);
1104
1149
  const installScope = {
1105
1150
  exactPaths: [
1151
+ foundationPath,
1106
1152
  productPath,
1107
- candidatePath,
1153
+ topologyPath,
1108
1154
  intentPath,
1109
1155
  node_path_1.posix.join(sliceRoot, logging_registry_js_1.SLICE_LOGGING_REGISTRY_PATH),
1110
1156
  node_path_1.posix.join(sliceRoot, performance_registration_js_1.WORKLOAD_PERFORMANCE_POLICY_PATH),
@@ -1116,7 +1162,7 @@ async function workloadGenerator(tree, options, kind) {
1116
1162
  requiredPaths: [
1117
1163
  node_path_1.posix.join(root, 'package.json'),
1118
1164
  productPath,
1119
- candidatePath,
1165
+ topologyPath,
1120
1166
  intentPath,
1121
1167
  node_path_1.posix.join(sliceRoot, logging_registry_js_1.SLICE_LOGGING_REGISTRY_PATH),
1122
1168
  node_path_1.posix.join(sliceRoot, performance_registration_js_1.WORKLOAD_PERFORMANCE_POLICY_PATH),
@@ -1125,12 +1171,28 @@ async function workloadGenerator(tree, options, kind) {
1125
1171
  node_path_1.posix.join(sliceRoot, RELEASE_REGISTRY_PATH),
1126
1172
  node_path_1.posix.join(sliceRoot, '.ebk/ownership.json'),
1127
1173
  ],
1128
- roots: [root],
1174
+ roots: [root, 'packages/foundation'],
1129
1175
  };
1130
1176
  const installState = options.skipInstall
1131
1177
  ? undefined
1132
1178
  : (0, post_generation_install_js_1.capturePostGenerationInstallState)(tree, installScope, installOperation);
1133
1179
  const { factoryName } = plan;
1180
+ // Capability growth and its consuming bindings are a single deferred source
1181
+ // operation. A container needs network/compute, never an implicit database.
1182
+ await (0, upgrade_js_1.upgradeFoundationForRequirements)(tree, [foundationRequirement], true);
1183
+ if (!ownership.value.foundation.capabilities.includes('network')) {
1184
+ // Capability growth must update the API's consuming network binding in
1185
+ // this same generation, before a Service registers private ingress.
1186
+ const source = tree.read(productPath, 'utf8');
1187
+ if (source === null)
1188
+ throw new Error('Product Slice API source is missing; no workload files changed.');
1189
+ const anchor = ` const api = new sst.aws.ApiGatewayV2('${pascal(slice)}Api', {`;
1190
+ if (source.split(anchor).length !== 2)
1191
+ throw new Error('Product Slice API composition is not recognized; no workload files changed.');
1192
+ tree.write(productPath, source.replace(anchor, anchor +
1193
+ '\n ...(performanceDeploymentAuthority ? { vpc: foundation.vpc } : {}),'));
1194
+ }
1195
+ tree.write(foundationPath, (0, built_in_plan_foundation_files_js_1.renderSliceFoundationFiles)(slice, pascal(slice), foundationRequirement.capabilities)['infra/foundation.ts']);
1134
1196
  const infraRelative = `../${plural}/${workload}/infra.js`;
1135
1197
  for (const [path, contents] of Object.entries(plan.files)) {
1136
1198
  tree.write(node_path_1.posix.join(sliceRoot, path), contents);
@@ -1159,13 +1221,13 @@ ${kind !== 'service' || performanceRegistration.ownsProtectedLoadAdapter
1159
1221
  ${kind === 'service' && performanceRegistration.ownsProtectedLoadAdapter
1160
1222
  ? ` performanceIngress,
1161
1223
  performanceDeploymentBinding
1162
- ? workloadRoleBindings?.extension.servicePerformance('${workload}')
1163
- : workloadRoleBindings?.extension.service('${workload}'),
1224
+ ? nativeAuthority.permissions('${workload}-service-performance-task')
1225
+ : nativeAuthority.permissions('${workload}-service-task'),
1164
1226
  `
1165
1227
  : kind === 'service'
1166
- ? ` workloadRoleBindings?.extension.service('${workload}'),
1228
+ ? ` nativeAuthority.permissions('${workload}-service-task'),
1167
1229
  `
1168
- : ` workloadRoleBindings?.extension.job('${workload}'),
1230
+ : ` nativeAuthority.permissions('${workload}-job-task'),
1169
1231
  `}
1170
1232
  ${kind === 'service' && performanceRegistration.ownsProtectedLoadAdapter
1171
1233
  ? ` performanceDeploymentBinding
@@ -1187,17 +1249,24 @@ ${kind === 'service' && performanceRegistration.ownsProtectedLoadAdapter
1187
1249
  : undefined,
1188
1250
  );`);
1189
1251
  replaceMarker(tree, productPath, '// <ebk:composition-outputs:end>', ` ${kind}${pascal(workload)},`);
1190
- replaceMarker(tree, candidatePath, '// <ebk:workload-role-extensions:end>', ` { id: '${workload}', kind: '${kind}' },`);
1191
- replaceMarker(tree, intentPath, '// <ebk:workload-role-intent-contributions:end>', ` ...extensionWorkloadRoleIntentContributions(context, topology, '${workload}', '${kind}'),`);
1192
- if (!options.skipFormat)
1193
- await (0, devkit_1.formatFiles)(tree);
1252
+ replaceMarker(tree, topologyPath, '// <ebk:native-runtime-extensions:end>', ` { id: '${workload}', kind: '${kind}' },`);
1253
+ replaceMarker(tree, intentPath, '// <ebk:native-runtime-intent-contributions:end>', ` ...extensionWorkloadRoleIntentContributions(context, topology, '${workload}', '${kind}'),`);
1254
+ if (!options.skipFormat) {
1255
+ const slicePrefix = `${sliceRoot}/`;
1256
+ const restoreProtectedFiles = (0, formatting_js_1.createTreeFileRestorer)(tree, (path) => (0, workspace_files_js_1.isRawWorkspaceAuthorityPath)(path) ||
1257
+ (path.startsWith(slicePrefix) &&
1258
+ (0, built_in_plan_js_1.isBuiltInSliceFormatSensitivePath)(path.slice(slicePrefix.length))));
1259
+ await (0, formatting_js_1.formatChangedTreeToFixedPoint)(tree, restoreProtectedFiles);
1260
+ }
1194
1261
  (0, index_js_1.recordCompositionOwnership)(tree, {
1195
1262
  compositions: [{ feature, kind, name: workload }],
1263
+ foundation: foundationRequirement,
1196
1264
  paths: [
1197
1265
  ...plan.paths,
1266
+ { path: 'infra/foundation.ts' },
1198
1267
  { path: 'infra/product.ts' },
1199
- { path: 'infra/workload-roles/candidate.ts' },
1200
- { path: 'infra/workload-roles/effective-intent.ts' },
1268
+ { path: 'infra/native-runtime-authority/topology.ts' },
1269
+ { path: 'infra/native-runtime-authority/effective-intent.ts' },
1201
1270
  { path: logging_registry_js_1.SLICE_LOGGING_REGISTRY_PATH },
1202
1271
  { mode: 'seeded', path: performance_registration_js_1.WORKLOAD_PERFORMANCE_POLICY_PATH },
1203
1272
  ...performanceRegistration.additionalFiles.map(({ mode, path }) => ({
@@ -1210,8 +1279,9 @@ ${kind === 'service' && performanceRegistration.ownsProtectedLoadAdapter
1210
1279
  projects: [plan.project],
1211
1280
  slice,
1212
1281
  });
1213
- if (!options.skipFormat)
1214
- await (0, devkit_1.formatFiles)(tree);
1282
+ if (!options.skipFormat) {
1283
+ await (0, formatting_js_1.formatTreeFileToFixedPoint)(tree, node_path_1.posix.join(sliceRoot, '.ebk/ownership.json'));
1284
+ }
1215
1285
  if (options.skipInstall)
1216
1286
  return undefined;
1217
1287
  if (!installState) {
@@ -1219,4 +1289,10 @@ ${kind === 'service' && performanceRegistration.ownsProtectedLoadAdapter
1219
1289
  }
1220
1290
  return (0, post_generation_install_js_1.createPostGenerationInstallCallback)(tree, installState, installScope, installOperation);
1221
1291
  }
1292
+ async function workloadGenerator(tree, options, kind) {
1293
+ const deferred = new preview_changes_js_1.DeferredDeveloperAgentTree(tree);
1294
+ const install = await executeWorkloadGenerator(deferred, options, kind);
1295
+ deferred.apply();
1296
+ return install;
1297
+ }
1222
1298
  //# sourceMappingURL=workload.js.map
@@ -1,4 +1,9 @@
1
1
  export declare const GITHUB_ACTION_PINS: {
2
+ readonly cache: {
3
+ readonly action: "actions/cache";
4
+ readonly sha: "0057852bfaa89a56745cba8c7296529d2fc39830";
5
+ readonly tag: "v4.3.0";
6
+ };
2
7
  readonly checkout: {
3
8
  readonly action: "actions/checkout";
4
9
  readonly sha: "df4cb1c069e1874edd31b4311f1884172cec0e10";
@@ -3,6 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GITHUB_ACTION_PINS = void 0;
4
4
  exports.pinnedAction = pinnedAction;
5
5
  exports.GITHUB_ACTION_PINS = {
6
+ cache: {
7
+ action: 'actions/cache',
8
+ sha: '0057852bfaa89a56745cba8c7296529d2fc39830',
9
+ tag: 'v4.3.0',
10
+ },
6
11
  checkout: {
7
12
  action: 'actions/checkout',
8
13
  sha: 'df4cb1c069e1874edd31b4311f1884172cec0e10',
@@ -1,24 +1,55 @@
1
- import { type ProductionApprovalMode } from '../repository-policy/index.js';
1
+ import { type DeliveryLane, type DeploymentProfile, type ProductionApprovalMode } from '../repository-policy/index.js';
2
2
  export declare const EBK_PROTECTED_BRANCH_RULESET_NAME = "Empire Builder Kit protected branches";
3
3
  export declare const EBK_REQUIRED_CHECKS: readonly ["policy", "verify"];
4
- export declare const EBK_DEPLOYMENT_ROLE_SECRET = "AWS_DEPLOY_ROLE_ARN";
4
+ export declare const EBK_RETIRED_DEPLOYMENT_ROLE_SECRET = "AWS_DEPLOY_ROLE_ARN";
5
5
  export declare const EBK_ECR_INSPECTOR_EVIDENCE_ROLE_SECRET = "AWS_ECR_INSPECTOR_EVIDENCE_ROLE_ARN";
6
6
  export declare const EBK_ASYNC_RECOVERY_ROLE_SECRET = "AWS_ASYNC_RECOVERY_ROLE_ARN";
7
7
  export declare const EBK_PERFORMANCE_AGGREGATE_ROLE_SECRET = "AWS_PERFORMANCE_AGGREGATE_ROLE_ARN";
8
8
  export declare const EBK_PERFORMANCE_COST_ROLE_SECRET = "AWS_PERFORMANCE_COST_ROLE_ARN";
9
9
  export declare const EBK_PERFORMANCE_LOAD_ROLE_SECRET = "AWS_PERFORMANCE_LOAD_ROLE_ARN";
10
10
  export declare const EBK_PERFORMANCE_ORIGINS_VARIABLE: "EBK_PERFORMANCE_ORIGINS_JSON";
11
- export declare const EBK_RELIABILITY_READ_ROLE_SECRET = "AWS_RELIABILITY_READ_ROLE_ARN";
12
- export declare const EBK_SMOKE_ROLE_SECRET = "AWS_SMOKE_ROLE_ARN";
11
+ /** Production environment secret that lets trunk promotion fast-forward main. */
12
+ export declare const EBK_RECORD_MAIN_TOKEN_SECRET: "EBK_RECORD_MAIN_TOKEN";
13
+ /** Trunk promotion keeps main behind status checks and fast-forward pushes only. */
14
+ export declare const EBK_PROTECTED_MAIN_RULESET_NAME: "EBK protected main (trunk promotion)";
13
15
  export declare const EBK_STAGING_PROMOTION_PULL_ROLE_SECRET = "AWS_STAGING_PROMOTION_PULL_ROLE_ARN";
14
- export declare const EBK_PROTECTED_ENVIRONMENT_SECRETS: readonly ["AWS_ASYNC_RECOVERY_ROLE_ARN", "AWS_DEPLOY_ROLE_ARN", "AWS_ECR_INSPECTOR_EVIDENCE_ROLE_ARN", "AWS_PERFORMANCE_AGGREGATE_ROLE_ARN", "AWS_PERFORMANCE_COST_ROLE_ARN", "AWS_PERFORMANCE_LOAD_ROLE_ARN", "AWS_RELIABILITY_READ_ROLE_ARN", "AWS_SMOKE_ROLE_ARN", "AWS_STAGING_PROMOTION_PULL_ROLE_ARN"];
15
- export declare const EBK_PROTECTED_ENVIRONMENT_VARIABLES: readonly ["AWS_EXPECTED_ACCOUNT_ID", "AWS_REGION", "AWS_STAGING_PROMOTION_EXPECTED_ACCOUNT_ID", "AWS_STAGING_PROMOTION_REGION", "EBK_ALLOW_PRODUCTION_REMOVE", "EBK_FLEET_ORIGIN", "EBK_PERFORMANCE_ORIGINS_JSON", "EBK_SMOKE_AUTHORITY_VERSION", "EBK_SMOKE_TARGETS"];
16
- export declare const EBK_PRODUCTION_PLAN_REPOSITORY_VARIABLES: readonly ["AWS_PRODUCTION_PLAN_EXPECTED_ACCOUNT_ID", "AWS_PRODUCTION_PLAN_GENERATED_OBJECT_ARNS_JSON", "AWS_PRODUCTION_PLAN_GENERATED_PARAMETER_ARNS_JSON", "AWS_PRODUCTION_PLAN_GENERATED_SECRET_ARNS_JSON", "AWS_PRODUCTION_PLAN_PROVIDER_REFRESH_POLICY_JSON", "AWS_PRODUCTION_PLAN_REGION", "AWS_PRODUCTION_PLAN_ROLE_ARN", "AWS_PRODUCTION_PLAN_SST_APPS_JSON", "AWS_PRODUCTION_PLAN_STATE_BUCKET_ARN", "AWS_PRODUCTION_PLAN_STATE_KMS_KEY_ARN", "EBK_PRODUCTION_FLEET_ORIGIN"];
17
- export declare const EBK_STAGING_PLAN_REPOSITORY_VARIABLES: readonly ["AWS_STAGING_PLAN_EXPECTED_ACCOUNT_ID", "AWS_STAGING_PLAN_GENERATED_OBJECT_ARNS_JSON", "AWS_STAGING_PLAN_GENERATED_PARAMETER_ARNS_JSON", "AWS_STAGING_PLAN_GENERATED_SECRET_ARNS_JSON", "AWS_STAGING_PLAN_PROVIDER_REFRESH_POLICY_JSON", "AWS_STAGING_PLAN_REGION", "AWS_STAGING_PLAN_ROLE_ARN", "AWS_STAGING_PLAN_SST_APPS_JSON", "AWS_STAGING_PLAN_STATE_BUCKET_ARN", "AWS_STAGING_PLAN_STATE_KMS_KEY_ARN", "EBK_STAGING_FLEET_ORIGIN"];
16
+ export declare const EBK_PROTECTED_ENVIRONMENT_SECRETS: readonly ["AWS_ASYNC_RECOVERY_ROLE_ARN", "AWS_ECR_INSPECTOR_EVIDENCE_ROLE_ARN", "AWS_DEPLOY_ROLE_ARN", "AWS_STAGING_PROMOTION_PULL_ROLE_ARN"];
17
+ export declare const EBK_PROTECTED_ENVIRONMENT_VARIABLES: readonly ["AWS_EXPECTED_ACCOUNT_ID", "AWS_REGION", "AWS_STAGING_PROMOTION_EXPECTED_ACCOUNT_ID", "AWS_STAGING_PROMOTION_REGION", "EBK_ALLOW_PRODUCTION_REMOVE", "EBK_FLEET_ORIGIN"];
18
+ /**
19
+ * Non-secret stage environment variables an operator may set to request a
20
+ * machine credential generation or its retirement on a workflow deploy. They
21
+ * are never required, and a repository- or organization-scoped copy would
22
+ * silently apply to every stage, so only the stage environment may hold them.
23
+ */
24
+ export declare const EBK_OPTIONAL_STAGE_ENVIRONMENT_VARIABLES: readonly ["EBK_MACHINE_CREDENTIAL_GENERATION", "EBK_MACHINE_RETIRE_PREVIOUS_GENERATION"];
18
25
  export declare const EBK_CODE_OWNER_PLACEHOLDER: "@REPLACE_WITH_GITHUB_CODE_OWNER";
26
+ type GitHubEnvironmentStage = 'development' | 'production' | 'staging';
27
+ type GitHubAuxiliaryEnvironment = 'async-recovery' | 'ecr-inspector';
28
+ export type GitHubEnvironmentName = `${GitHubAuxiliaryEnvironment}-${GitHubEnvironmentStage}` | GitHubEnvironmentStage | 'npm-prerelease';
29
+ export interface GitHubEnvironmentTopologyEntry {
30
+ /** Further branches admitted alongside branch (trunk promotion admits
31
+ * develop into production-stage environments). */
32
+ additionalBranches?: readonly ('develop' | 'main')[];
33
+ branch: 'develop' | 'main';
34
+ name: GitHubEnvironmentName;
35
+ /** Variables the environment may hold but never requires. */
36
+ optionalVariables?: readonly string[];
37
+ requiredSecrets: readonly string[];
38
+ requiredVariables: readonly string[];
39
+ stage: GitHubEnvironmentStage;
40
+ }
41
+ /**
42
+ * Exact generated GitHub environment contract for one deployment profile.
43
+ * Starter uses development as its rehearsal stage; isolated profiles use
44
+ * staging. Production and npm publication remain present for every profile.
45
+ */
46
+ export declare function githubEnvironmentTopology(deploymentProfile: DeploymentProfile, deliveryLane?: DeliveryLane, productionApprovalMode?: ProductionApprovalMode): readonly GitHubEnvironmentTopologyEntry[];
19
47
  export interface GitHubBootstrapOptions {
20
48
  apiBaseUrl?: string;
21
49
  apply?: boolean;
50
+ deliveryLane?: DeliveryLane;
51
+ deploymentProfile?: DeploymentProfile;
52
+ immutableOidcTrustAcknowledgement?: string;
22
53
  npmPrereleaseReviewerIds?: number[];
23
54
  productionApprovalMode: ProductionApprovalMode;
24
55
  productionReviewerIds?: number[];
@@ -28,9 +59,18 @@ export interface GitHubBootstrapOptions {
28
59
  export interface GitHubBootstrapReport {
29
60
  blockers: string[];
30
61
  changes: string[];
62
+ deploymentProfile: DeploymentProfile;
31
63
  ready: boolean;
32
64
  repository: string;
65
+ repositoryIdentity?: GitHubRepositoryIdentity;
33
66
  productionApprovalMode: ProductionApprovalMode;
34
67
  warnings: string[];
35
68
  }
69
+ export interface GitHubRepositoryIdentity {
70
+ fullName: string;
71
+ ownerId: string;
72
+ repositoryId: string;
73
+ subjectPrefix: string;
74
+ }
36
75
  export declare function runGitHubBootstrap(options: GitHubBootstrapOptions): Promise<GitHubBootstrapReport>;
76
+ export {};