@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
package/README.md CHANGED
@@ -6,12 +6,30 @@ Generators:
6
6
 
7
7
  - `preset` (composed by `@empire-builder-kit/create`)
8
8
  - `slice`
9
+ - `sql` (report-first additive Standard SQL requirement)
9
10
  - `function`
10
11
  - `service`
11
12
  - `job`
12
13
  - `repository-policy`
13
14
  - `upgrade`
14
15
 
16
+ Standard starts with DynamoDB. When a feature needs relational integrity or
17
+ joins, add SQL to its existing Slice without changing the default record store:
18
+
19
+ ```bash
20
+ pnpm nx g @empire-builder-kit/nx:sql billing --reason="Invoice ledger needs relational constraints and reporting joins."
21
+ pnpm nx g @empire-builder-kit/nx:sql billing --reason="Invoice ledger needs relational constraints and reporting joins." --apply
22
+ ```
23
+
24
+ The first command reports the paired Foundation/Slice managed upgrade. The
25
+ second applies source changes and the normal dependency installation; neither
26
+ command calls AWS, copies data, or deploys resources. Inspect the resource/cost
27
+ implications, then use the normal fleet and deployment lifecycle. Existing
28
+ capacity choices and seeded features are retained. SQL remains declared even
29
+ if its last consumer is removed; retirement is a separate explicit operation.
30
+ External Blueprints declare requirements through their own owner, not this
31
+ Standard-only generator. See the [database contract](../../docs/database-contract.md).
32
+
15
33
  The package also owns Repository Operating Policy validation and protected
16
34
  deployment planning, generated Git routing and report-first GitHub bootstrap,
17
35
  Foundation discovery/profile preflight, trusted external Blueprint execution,
@@ -21,7 +39,7 @@ Consumers should never invoke SST lifecycle commands directly.
21
39
 
22
40
  The workspace-pinned `ebk` binary is the single framework CLI. It owns local
23
41
  development, bounded Developer-Agent inspection/planning, external Blueprint
24
- receipt review, and the human-only personal secret ceremony. Nx remains the
42
+ receipt review, and the personal secret commands. Nx remains the
25
43
  workspace graph and owning-target authority behind generated work.
26
44
 
27
45
  `ebk agent context --json` is the sole full structured context transport. The
@@ -59,7 +77,10 @@ recurring target only after retention and after recomputing its portable
59
77
  package authority from the protected target, manifests, and lockfile. Exact
60
78
  Node declarations and the full lockfile digest are receipt-bound as well. A
61
79
  human may invoke the structured Nx target without a receipt. Neither path is
62
- cryptographic or hosted attestation.
80
+ cryptographic or hosted attestation. Until the receipt is retained, an agent
81
+ prepares the change, asks the human to run `ebk blueprint verification-review`
82
+ on the protected tip and land the retaining commit, and verifies its own edits
83
+ through built-in targets.
63
84
 
64
85
  The external manifest's sole recurring root is named exactly `verify`.
65
86
  Generated project configurations are whole-file managed, canonically rooted
@@ -68,8 +89,11 @@ result. Agent inspection classifies every graph project beneath a current or
68
89
  historically external Slice ownership root as external without trusting tags
69
90
  or that publisher-authored inventory; historical roots and identities remain
70
91
  external after deletion or relabeling. Only the protected-reviewed chain is
71
- exposed. Read-only fleet status and logs remain available, but agent planning
72
- withholds local lifecycle operations for external Slices in v1.
92
+ exposed. Read-only fleet status and logs remain available. In v1, agent
93
+ planning withholds `ebk dev up`, `restart`, and `down` for external Slices
94
+ because their code is not bound by a protected receipt; an agent asks the human
95
+ to run the lifecycle command directly, then continues with status, logs, and
96
+ the reviewed verification chain.
73
97
 
74
98
  Independently of Blueprint provenance, Developer-Agent inspection performs a
75
99
  bounded repository-wide Nx-configuration preflight before graph loading. Each
@@ -91,8 +115,11 @@ external ownership appears currently or anywhere in the bounded first-parent
91
115
  histories of HEAD, protected develop, or protected main; mutable
92
116
  `nx.json.defaultBase` cannot redirect the inventory. A missing protected ref
93
117
  makes the inventory incomplete and activates the same strict boundary; a
94
- shallow clone does likewise because hidden history cannot prove absence. While
95
- that inventory is incomplete, every graph project under `packages/` except the
118
+ shallow clone does likewise because hidden history cannot prove absence. This
119
+ is a recoverable state: complete the history with `git fetch --unshallow origin`
120
+ (or a full-depth `git fetch origin develop main`) so that
121
+ `refs/remotes/origin/develop` and `refs/remotes/origin/main` exist, then rerun
122
+ inspection. While that inventory is incomplete, every graph project under `packages/` except the
96
123
  sole canonical `foundation` project at `packages/foundation` is treated as
97
124
  externally owned. The Foundation tag cannot create that exception: its project
98
125
  name, declared root, and canonical directory are checked together. Read-only
@@ -106,16 +133,23 @@ outside the local-evidence claim. That includes mutation between the
106
133
  repository-wide configuration inventory and Nx graph loading; the preflight is
107
134
  not an immutable repository snapshot.
108
135
 
109
- The human-only personal secret commands are:
136
+ The personal secret commands are:
110
137
 
111
138
  ```bash
112
139
  ebk secret set <slice> <logical-name>
113
140
  ebk secret remove <slice> <logical-name>
114
141
  ```
115
142
 
116
- These commands derive the personal stage, use the profile and Region saved by
117
- `ebk dev configure`, verify the development Foundation account, and accept
118
- values only from a hidden local TTY. Agents and CI must never invoke them.
143
+ Both commands derive the personal stage, use the profile and Region saved by
144
+ `ebk dev configure`, verify the development Foundation account, and refuse
145
+ canonical stages. `set` accepts the value only from a hidden local TTY, never
146
+ from argv, environment, or files, and refuses agent and CI environments,
147
+ because a hidden prompt does not hide the value from the process that owns the
148
+ terminal: a human runs it in a terminal no agent spawned, and the agent
149
+ verifies afterwards with the value-blind `secret-metadata` and status targets.
150
+ `remove` carries no value. An agent may start it; it still needs a local
151
+ interactive terminal where the human types the hidden `REMOVE <logical-name>`
152
+ confirmation.
119
153
 
120
154
  Generated workspaces expose `work-markers` as both a direct target and part of
121
155
  workspace health. The generated `AGENTS.md`, `CLAUDE.md`, and runbook define how
package/executors.json CHANGED
@@ -38,7 +38,17 @@
38
38
  "infrastructure-plan": {
39
39
  "implementation": "./src/executors/infrastructure-plan/infrastructure-plan",
40
40
  "schema": "./src/executors/infrastructure-plan/schema.json",
41
- "description": "Run a pinned SST resource diff and fail closed on unapproved, stale, locked, drifted, or unknown protected plans."
41
+ "description": "Stream one advisory native SST diff through the exact committed stage authority without retaining mutation authority."
42
+ },
43
+ "local-deploy": {
44
+ "implementation": "./src/executors/local-deploy/local-deploy",
45
+ "schema": "./src/executors/local-deploy/schema.json",
46
+ "description": "Deploy one complete active stage through ordered native SST children, exact temporary AWS authority, migrations, smoke checks, and a bounded receipt."
47
+ },
48
+ "router-waf-rehearsal": {
49
+ "implementation": "./src/executors/router-waf-rehearsal/router-waf-rehearsal",
50
+ "schema": "./src/executors/router-waf-rehearsal/schema.json",
51
+ "description": "Run the bounded Router WAF rate probe, correlate its exact BLOCK sample and metric, and seal the committed blocking evidence."
42
52
  },
43
53
  "work-markers": {
44
54
  "implementation": "./src/executors/work-markers/work-markers",
@@ -70,6 +80,11 @@
70
80
  "schema": "./src/executors/secret-metadata/schema.json",
71
81
  "description": "Report or explicitly apply value-blind operator-secret container metadata for one Product Slice."
72
82
  },
83
+ "secret-initialize": {
84
+ "implementation": "./src/executors/secret-initialize/secret-initialize",
85
+ "schema": "./src/executors/secret-initialize/schema.json",
86
+ "description": "Report or explicitly initialize one declared machine-generated secret without accepting or returning its value."
87
+ },
73
88
  "secret-guardrails": {
74
89
  "implementation": "./src/executors/secret-guardrails/secret-guardrails",
75
90
  "schema": "./src/executors/secret-guardrails/schema.json",
@@ -85,6 +100,11 @@
85
100
  "schema": "./src/executors/sst-lifecycle/schema.json",
86
101
  "description": "Run SST development mode through the workspace-pinned binary."
87
102
  },
103
+ "dev-task-cleanup": {
104
+ "implementation": "./src/executors/dev-task-cleanup/dev-task-cleanup",
105
+ "schema": "./src/executors/dev-task-cleanup/schema.json",
106
+ "description": "Internal cleanup of the current worktree's exact task Slice stack using verified development authority."
107
+ },
88
108
  "refresh": {
89
109
  "implementation": "./src/executors/refresh/refresh",
90
110
  "schema": "./src/executors/sst-lifecycle/schema.json",
package/generators.json CHANGED
@@ -1,5 +1,10 @@
1
1
  {
2
2
  "generators": {
3
+ "blueprint": {
4
+ "factory": "./src/generators/blueprint/blueprint",
5
+ "schema": "./src/generators/blueprint/schema.json",
6
+ "description": "Scaffold an adopter-owned Blueprint package, templates and verification without executing publisher code or granting protected trust."
7
+ },
3
8
  "function": {
4
9
  "factory": "./src/generators/function/function",
5
10
  "schema": "./src/generators/function/schema.json",
@@ -20,6 +25,11 @@
20
25
  "schema": "./src/generators/slice/schema.json",
21
26
  "description": "Generate an EBK v1 product slice from the built-in or a trusted external Blueprint."
22
27
  },
28
+ "sql": {
29
+ "factory": "./src/generators/sql/sql",
30
+ "schema": "./src/generators/sql/schema.json",
31
+ "description": "Report or apply an additive SQL requirement to a Standard Slice and its Foundation; never deploy or move existing data."
32
+ },
23
33
  "repository-policy": {
24
34
  "factory": "./src/generators/repository-policy/repository-policy",
25
35
  "schema": "./src/generators/repository-policy/schema.json",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@empire-builder-kit/nx",
3
- "version": "1.0.0-rc.4",
3
+ "version": "1.0.0-rc.41",
4
4
  "description": "Nx generators, executors, and Blueprint contracts for Empire Builder Kit",
5
5
  "keywords": [
6
6
  "aws",
@@ -16,6 +16,21 @@
16
16
  "author": "Gupta-Leary Technology Consulting LLC",
17
17
  "license": "Apache-2.0",
18
18
  "type": "commonjs",
19
+ "files": [
20
+ "src/**/*.js",
21
+ "src/**/*.d.ts",
22
+ "src/schemas/*.json",
23
+ "src/generators/*/schema.json",
24
+ "src/executors/*/schema.json",
25
+ "generators.json",
26
+ "executors.json",
27
+ "README.md",
28
+ "LICENSE",
29
+ "NOTICE",
30
+ "!**/*.{spec,test,fixtures}.{js,d.ts}",
31
+ "!src/performance/test-fixtures.{js,d.ts}",
32
+ "!**/{fixtures,__fixtures__,tests,__tests__}/**"
33
+ ],
19
34
  "bin": {
20
35
  "ebk": "./src/cli/bootstrap.js"
21
36
  },
@@ -39,6 +54,10 @@
39
54
  "types": "./src/authorization/index.d.ts",
40
55
  "default": "./src/authorization/index.js"
41
56
  },
57
+ "./aws-authority": {
58
+ "types": "./src/aws-authority/index.d.ts",
59
+ "default": "./src/aws-authority/index.js"
60
+ },
42
61
  "./database-retirement": {
43
62
  "types": "./src/database-retirement/index.d.ts",
44
63
  "default": "./src/database-retirement/index.js"
@@ -59,10 +78,6 @@
59
78
  "types": "./src/git-policy/index.d.ts",
60
79
  "default": "./src/git-policy/index.js"
61
80
  },
62
- "./infrastructure-change": {
63
- "types": "./src/infrastructure-change/index.d.ts",
64
- "default": "./src/infrastructure-change/index.js"
65
- },
66
81
  "./local-dev": {
67
82
  "types": "./src/local-dev/index.d.ts",
68
83
  "default": "./src/local-dev/index.js"
@@ -103,6 +118,10 @@
103
118
  "types": "./src/workload-roles/index.d.ts",
104
119
  "default": "./src/workload-roles/index.js"
105
120
  },
121
+ "./workspace-deployment": {
122
+ "types": "./src/workspace-deployment/index.d.ts",
123
+ "default": "./src/workspace-deployment/index.js"
124
+ },
106
125
  "./schemas/blueprint-v1.json": "./src/schemas/blueprint-v1.json",
107
126
  "./schemas/aggregate-count-evidence-v1.json": "./src/schemas/aggregate-count-evidence-v1.json",
108
127
  "./schemas/blueprint-input-schema-v1.json": "./src/schemas/blueprint-input-schema-v1.json",
@@ -126,7 +145,9 @@
126
145
  "provenance": false
127
146
  },
128
147
  "dependencies": {
129
- "@empire-builder-kit/runtime": "1.0.0-rc.4",
148
+ "@empire-builder-kit/runtime": "1.0.0-rc.41",
149
+ "@aws-sdk/client-cloudfront": "^3.700.0",
150
+ "@aws-sdk/client-cloudwatch": "^3.700.0",
130
151
  "@aws-sdk/client-cloudwatch-logs": "^3.700.0",
131
152
  "@aws-sdk/client-iam": "^3.700.0",
132
153
  "@nx/devkit": "23.1.0",
@@ -135,11 +156,14 @@
135
156
  "@aws-sdk/client-secrets-manager": "^3.700.0",
136
157
  "@aws-sdk/client-ssm": "^3.700.0",
137
158
  "@aws-sdk/client-sts": "^3.700.0",
159
+ "@aws-sdk/client-wafv2": "^3.700.0",
138
160
  "@aws-sdk/credential-providers": "^3.700.0",
139
161
  "ajv": "8.20.0",
162
+ "nx": "23.1.0",
140
163
  "prettier": "^3.8.2",
141
164
  "semver": "7.7.4",
142
165
  "tslib": "^2.3.0",
166
+ "typescript": "~5.9.2",
143
167
  "yaml": "2.9.0"
144
168
  },
145
169
  "repository": {
@@ -154,5 +178,5 @@
154
178
  "engines": {
155
179
  "node": ">=22.13.0"
156
180
  },
157
- "gitHead": "c29757a0dc5efb67eb10c3c8aa1f09b967ec10ca"
181
+ "gitHead": "6c8e932ac3acf0a1e124f7687cd7b8582b864c49"
158
182
  }
@@ -0,0 +1,10 @@
1
+ export interface GovernedAwsChildEnvironmentOptions {
2
+ /** GitHub's configure-aws-credentials action replaces ambient AWS
3
+ * credentials with one exact temporary role session. That verified session
4
+ * is the only raw credential environment admitted to a protected child. */
5
+ preserveVerifiedGithubCredentials?: boolean;
6
+ }
7
+ /** Remove ambient authority inputs that could redirect AWS calls, replace
8
+ * trust roots, mint another OIDC credential, or select an unverified AWS
9
+ * principal. Normal non-secret GitHub provenance remains available. */
10
+ export declare function sanitizeGovernedAwsChildEnvironment(ambient: NodeJS.ProcessEnv, options?: GovernedAwsChildEnvironmentOptions): NodeJS.ProcessEnv;
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sanitizeGovernedAwsChildEnvironment = sanitizeGovernedAwsChildEnvironment;
4
+ const RAW_AWS_CREDENTIAL_VARIABLES = new Set([
5
+ 'AWS_ACCESS_KEY_ID',
6
+ 'AWS_CONTAINER_AUTHORIZATION_TOKEN',
7
+ 'AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE',
8
+ 'AWS_CONTAINER_CREDENTIALS_FULL_URI',
9
+ 'AWS_CONTAINER_CREDENTIALS_RELATIVE_URI',
10
+ 'AWS_CREDENTIAL_EXPIRATION',
11
+ 'AWS_ROLE_ARN',
12
+ 'AWS_ROLE_SESSION_NAME',
13
+ 'AWS_SECRET_ACCESS_KEY',
14
+ 'AWS_SECURITY_TOKEN',
15
+ 'AWS_SESSION_TOKEN',
16
+ 'AWS_WEB_IDENTITY_TOKEN_FILE',
17
+ ]);
18
+ const VERIFIED_GITHUB_CREDENTIAL_VARIABLES = new Set([
19
+ 'AWS_ACCESS_KEY_ID',
20
+ 'AWS_CREDENTIAL_EXPIRATION',
21
+ 'AWS_SECRET_ACCESS_KEY',
22
+ 'AWS_SESSION_TOKEN',
23
+ ]);
24
+ const AUTHORITY_OVERRIDE_VARIABLES = new Set([
25
+ 'ACTIONS_ID_TOKEN_REQUEST_TOKEN',
26
+ 'ACTIONS_ID_TOKEN_REQUEST_URL',
27
+ 'ACTIONS_RESULTS_URL',
28
+ 'ACTIONS_RUNTIME_TOKEN',
29
+ 'ACTIONS_RUNTIME_URL',
30
+ 'ALL_PROXY',
31
+ 'AWS_CA_BUNDLE',
32
+ 'AWS_EC2_METADATA_SERVICE_ENDPOINT',
33
+ 'AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE',
34
+ 'AWS_USE_DUALSTACK_ENDPOINT',
35
+ 'AWS_USE_FIPS_ENDPOINT',
36
+ 'CURL_CA_BUNDLE',
37
+ 'GH_TOKEN',
38
+ 'GITHUB_TOKEN',
39
+ 'GIT_SSL_CAINFO',
40
+ 'GIT_SSL_NO_VERIFY',
41
+ 'GLOBAL_AGENT_HTTP_PROXY',
42
+ 'GLOBAL_AGENT_HTTPS_PROXY',
43
+ 'HTTPS_PROXY',
44
+ 'HTTP_PROXY',
45
+ 'NODE_EXTRA_CA_CERTS',
46
+ 'NODE_TLS_REJECT_UNAUTHORIZED',
47
+ 'NO_PROXY',
48
+ 'NPM_CONFIG_CAFILE',
49
+ 'NPM_CONFIG_HTTPS_PROXY',
50
+ 'NPM_CONFIG_PROXY',
51
+ 'REQUESTS_CA_BUNDLE',
52
+ 'SSL_CERT_DIR',
53
+ 'SSL_CERT_FILE',
54
+ ]);
55
+ /** Remove ambient authority inputs that could redirect AWS calls, replace
56
+ * trust roots, mint another OIDC credential, or select an unverified AWS
57
+ * principal. Normal non-secret GitHub provenance remains available. */
58
+ function sanitizeGovernedAwsChildEnvironment(ambient, options = {}) {
59
+ const environment = { ...ambient };
60
+ for (const name of Object.keys(environment)) {
61
+ const canonical = name.toUpperCase();
62
+ const endpointOverride = canonical === 'AWS_ENDPOINT_URL' ||
63
+ canonical.startsWith('AWS_ENDPOINT_URL_');
64
+ const authorityOverride = AUTHORITY_OVERRIDE_VARIABLES.has(canonical);
65
+ const rawCredential = RAW_AWS_CREDENTIAL_VARIABLES.has(canonical);
66
+ const exactGithubCredential = options.preserveVerifiedGithubCredentials === true &&
67
+ name === canonical &&
68
+ VERIFIED_GITHUB_CREDENTIAL_VARIABLES.has(canonical);
69
+ if (endpointOverride ||
70
+ authorityOverride ||
71
+ (rawCredential && !exactGithubCredential)) {
72
+ delete environment[name];
73
+ }
74
+ }
75
+ return environment;
76
+ }
77
+ //# sourceMappingURL=child-environment.js.map
@@ -0,0 +1,13 @@
1
+ export type CanonicalAwsRegionalService = 'rds' | 'secretsmanager' | 'ssm' | 'sts';
2
+ /** Bind security-sensitive AWS SDK reads to the canonical regional service
3
+ * endpoint rather than an ambient or shared-config endpoint override. */
4
+ export declare function canonicalAwsRegionalEndpoint(service: CanonicalAwsRegionalService, region: string): string;
5
+ /** Bind identity verification to AWS's canonical regional STS service rather
6
+ * than an ambient or shared-config endpoint override. */
7
+ export declare function canonicalStsEndpoint(region: string): string;
8
+ /**
9
+ * AWS STS omits an IAM role path from an assumed-role ARN. Match the exact
10
+ * account, partition, and terminal role name while accepting that documented
11
+ * AWS representation difference.
12
+ */
13
+ export declare function matchesExpectedAssumedRoleArn(expectedAccount: string, callerArn: string, expectedRoleArn: string): boolean;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.canonicalAwsRegionalEndpoint = canonicalAwsRegionalEndpoint;
4
+ exports.canonicalStsEndpoint = canonicalStsEndpoint;
5
+ exports.matchesExpectedAssumedRoleArn = matchesExpectedAssumedRoleArn;
6
+ const IAM_ROLE_ARN = /^arn:([^:]+):iam::(\d{12}):role\/(.+)$/u;
7
+ const STS_ASSUMED_ROLE_ARN = /^arn:([^:]+):sts::(\d{12}):assumed-role\/(.+)\/([^/]+)$/u;
8
+ const AWS_REGION = /^[a-z]{2}(?:-gov)?-[a-z]+(?:-[a-z]+)*-\d$/u;
9
+ /** Bind security-sensitive AWS SDK reads to the canonical regional service
10
+ * endpoint rather than an ambient or shared-config endpoint override. */
11
+ function canonicalAwsRegionalEndpoint(service, region) {
12
+ if (!AWS_REGION.test(region)) {
13
+ throw new Error(`${service.toUpperCase()} verification requires an exact AWS Region.`);
14
+ }
15
+ return region.startsWith('cn-')
16
+ ? `https://${service}.${region}.amazonaws.com.cn`
17
+ : `https://${service}.${region}.amazonaws.com`;
18
+ }
19
+ /** Bind identity verification to AWS's canonical regional STS service rather
20
+ * than an ambient or shared-config endpoint override. */
21
+ function canonicalStsEndpoint(region) {
22
+ return canonicalAwsRegionalEndpoint('sts', region);
23
+ }
24
+ /**
25
+ * AWS STS omits an IAM role path from an assumed-role ARN. Match the exact
26
+ * account, partition, and terminal role name while accepting that documented
27
+ * AWS representation difference.
28
+ */
29
+ function matchesExpectedAssumedRoleArn(expectedAccount, callerArn, expectedRoleArn) {
30
+ const expected = IAM_ROLE_ARN.exec(expectedRoleArn);
31
+ const caller = STS_ASSUMED_ROLE_ARN.exec(callerArn);
32
+ if (!expected || !caller)
33
+ return false;
34
+ const expectedRoleName = expected[3]?.split('/').at(-1);
35
+ return (expected[1] === caller[1] &&
36
+ expected[2] === expectedAccount &&
37
+ caller[2] === expectedAccount &&
38
+ expectedRoleName !== undefined &&
39
+ expectedRoleName === caller[3]);
40
+ }
41
+ //# sourceMappingURL=identity.js.map
@@ -0,0 +1,2 @@
1
+ export * from './lambda-policy-ordering.js';
2
+ export * from './stage-authority.js';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./lambda-policy-ordering.js"), exports);
5
+ tslib_1.__exportStar(require("./stage-authority.js"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Orders Lambda resource-policy writes that the pinned providers otherwise race.
3
+ *
4
+ * Creating a Function URL with `NONE` authorization makes the pinned AWS
5
+ * provider add a public-access statement to the function policy without the
6
+ * per-function lock that serializes standalone `lambda.Permission` writes. The
7
+ * pinned SST Function and SSR site components create those permissions next
8
+ * to the URL with no ordering, so Lambda can reject the URL's write with a
9
+ * `ResourceConflictException` ("concurrent update operation"). Each Function
10
+ * URL and Permission registered under the same top-level component therefore
11
+ * depends on the previous one. `dependsOn` adds no property diff, so existing
12
+ * stacks are neither replaced nor updated by this ordering.
13
+ */
14
+ export declare const LAMBDA_POLICY_WRITE_TYPES: readonly ["aws:lambda/functionUrl:FunctionUrl", "aws:lambda/permission:Permission"];
15
+ export interface LambdaPolicyTransformationArgs {
16
+ resource: object;
17
+ type: string;
18
+ name: string;
19
+ props: Record<string, unknown>;
20
+ opts?: {
21
+ parent?: object;
22
+ };
23
+ }
24
+ export interface LambdaPolicyTransformationResult {
25
+ props: Record<string, unknown>;
26
+ opts: object;
27
+ }
28
+ export interface LambdaPolicyWriteOrderingInput {
29
+ /** Pulumi `runtime.registerStackTransformation` (SST: `$util.runtime`). */
30
+ registerStackTransformation: (transformation: (args: LambdaPolicyTransformationArgs) => LambdaPolicyTransformationResult | undefined) => void;
31
+ /** Pulumi `mergeOptions` (SST: `$util.mergeOptions`). */
32
+ mergeOptions: (first: object | undefined, second: object | undefined) => object;
33
+ }
34
+ export interface LambdaPolicyWriteOrderingContract {
35
+ orderedTypes: readonly string[];
36
+ scope: 'top-level-component';
37
+ }
38
+ export declare function installLambdaPolicyWriteOrdering(input: LambdaPolicyWriteOrderingInput): LambdaPolicyWriteOrderingContract;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ /**
3
+ * Orders Lambda resource-policy writes that the pinned providers otherwise race.
4
+ *
5
+ * Creating a Function URL with `NONE` authorization makes the pinned AWS
6
+ * provider add a public-access statement to the function policy without the
7
+ * per-function lock that serializes standalone `lambda.Permission` writes. The
8
+ * pinned SST Function and SSR site components create those permissions next
9
+ * to the URL with no ordering, so Lambda can reject the URL's write with a
10
+ * `ResourceConflictException` ("concurrent update operation"). Each Function
11
+ * URL and Permission registered under the same top-level component therefore
12
+ * depends on the previous one. `dependsOn` adds no property diff, so existing
13
+ * stacks are neither replaced nor updated by this ordering.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.LAMBDA_POLICY_WRITE_TYPES = void 0;
17
+ exports.installLambdaPolicyWriteOrdering = installLambdaPolicyWriteOrdering;
18
+ exports.LAMBDA_POLICY_WRITE_TYPES = [
19
+ 'aws:lambda/functionUrl:FunctionUrl',
20
+ 'aws:lambda/permission:Permission',
21
+ ];
22
+ const orderedTypes = new Set(exports.LAMBDA_POLICY_WRITE_TYPES);
23
+ function installLambdaPolicyWriteOrdering(input) {
24
+ if (typeof input?.registerStackTransformation !== 'function' ||
25
+ typeof input.mergeOptions !== 'function') {
26
+ throw new Error('Lambda policy write ordering requires the Pulumi stack transformation and option merge functions.');
27
+ }
28
+ const parents = new WeakMap();
29
+ const previousInScope = new Map();
30
+ // Parentless policy writes share one scope rather than racing each other.
31
+ const stackScope = {};
32
+ input.registerStackTransformation((args) => {
33
+ const parent = args.opts?.parent;
34
+ parents.set(args.resource, parent);
35
+ if (!orderedTypes.has(args.type))
36
+ return undefined;
37
+ let scope = stackScope;
38
+ for (let current = parent; current !== undefined;) {
39
+ scope = current;
40
+ current = parents.get(current);
41
+ }
42
+ const previous = previousInScope.get(scope);
43
+ previousInScope.set(scope, args.resource);
44
+ if (previous === undefined)
45
+ return undefined;
46
+ return {
47
+ props: args.props,
48
+ opts: input.mergeOptions(args.opts, { dependsOn: [previous] }),
49
+ };
50
+ });
51
+ return {
52
+ orderedTypes: exports.LAMBDA_POLICY_WRITE_TYPES,
53
+ scope: 'top-level-component',
54
+ };
55
+ }
56
+ //# sourceMappingURL=lambda-policy-ordering.js.map