@empire-builder-kit/nx 1.0.0-beta.9 → 1.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (824) hide show
  1. package/NOTICE +6 -0
  2. package/README.md +113 -3
  3. package/executors.json +30 -0
  4. package/package.json +84 -6
  5. package/src/api-contract/baseline-update.d.ts +82 -0
  6. package/src/api-contract/baseline-update.js +225 -0
  7. package/src/api-contract/baseline-update.js.map +1 -0
  8. package/src/api-contract/compatibility.d.ts +30 -0
  9. package/src/api-contract/compatibility.js +643 -0
  10. package/src/api-contract/compatibility.js.map +1 -0
  11. package/src/api-contract/contract-graph.d.ts +35 -0
  12. package/src/api-contract/contract-graph.js +141 -0
  13. package/src/api-contract/contract-graph.js.map +1 -0
  14. package/src/api-contract/evidence.d.ts +23 -0
  15. package/src/api-contract/evidence.js +87 -0
  16. package/src/api-contract/evidence.js.map +1 -0
  17. package/src/api-contract/index.d.ts +6 -0
  18. package/src/api-contract/index.js +10 -0
  19. package/src/api-contract/index.js.map +1 -0
  20. package/src/api-contract/model.d.ts +144 -0
  21. package/src/api-contract/model.fixtures.d.ts +2 -0
  22. package/src/api-contract/model.fixtures.js +81 -0
  23. package/src/api-contract/model.fixtures.js.map +1 -0
  24. package/src/api-contract/model.js +993 -0
  25. package/src/api-contract/model.js.map +1 -0
  26. package/src/api-contract/rollout.d.ts +32 -0
  27. package/src/api-contract/rollout.js +88 -0
  28. package/src/api-contract/rollout.js.map +1 -0
  29. package/src/authorization/compatibility.d.ts +62 -0
  30. package/src/authorization/compatibility.js +175 -0
  31. package/src/authorization/compatibility.js.map +1 -0
  32. package/src/authorization/index.d.ts +1 -0
  33. package/src/authorization/index.js +5 -0
  34. package/src/authorization/index.js.map +1 -0
  35. package/src/blueprints/execution.d.ts +25 -1
  36. package/src/blueprints/execution.js +246 -83
  37. package/src/blueprints/execution.js.map +1 -1
  38. package/src/blueprints/external-sandbox.d.ts +53 -0
  39. package/src/blueprints/external-sandbox.js +1182 -0
  40. package/src/blueprints/external-sandbox.js.map +1 -0
  41. package/src/blueprints/manifest.d.ts +42 -2
  42. package/src/blueprints/manifest.js +82 -27
  43. package/src/blueprints/manifest.js.map +1 -1
  44. package/src/blueprints/resolver.d.ts +14 -5
  45. package/src/blueprints/resolver.js +228 -68
  46. package/src/blueprints/resolver.js.map +1 -1
  47. package/src/cli/agent-command.d.ts +30 -0
  48. package/src/cli/agent-command.js +204 -0
  49. package/src/cli/agent-command.js.map +1 -0
  50. package/src/cli/agent-runtime.d.ts +25 -0
  51. package/src/cli/agent-runtime.js +488 -0
  52. package/src/cli/agent-runtime.js.map +1 -0
  53. package/src/cli/blueprint-authority.d.ts +9 -0
  54. package/src/cli/blueprint-authority.js +43 -0
  55. package/src/cli/blueprint-authority.js.map +1 -0
  56. package/src/cli/blueprint-command.d.ts +24 -0
  57. package/src/cli/blueprint-command.js +63 -0
  58. package/src/cli/blueprint-command.js.map +1 -0
  59. package/src/cli/bootstrap.d.ts +31 -0
  60. package/src/cli/bootstrap.js +165 -0
  61. package/src/cli/bootstrap.js.map +1 -0
  62. package/src/cli/dev-command.d.ts +92 -0
  63. package/src/cli/dev-command.js +561 -0
  64. package/src/cli/dev-command.js.map +1 -0
  65. package/src/cli/main.d.ts +131 -0
  66. package/src/cli/main.js +1199 -0
  67. package/src/cli/main.js.map +1 -0
  68. package/src/cli/output.d.ts +19 -0
  69. package/src/cli/output.js +51 -0
  70. package/src/cli/output.js.map +1 -0
  71. package/src/cli/personal-secret-runtime.d.ts +81 -0
  72. package/src/cli/personal-secret-runtime.js +567 -0
  73. package/src/cli/personal-secret-runtime.js.map +1 -0
  74. package/src/cli/secret-terminal.d.ts +12 -0
  75. package/src/cli/secret-terminal.js +128 -0
  76. package/src/cli/secret-terminal.js.map +1 -0
  77. package/src/container-images.d.ts +1 -0
  78. package/src/container-images.js +5 -0
  79. package/src/container-images.js.map +1 -0
  80. package/src/data-lifecycle/index.d.ts +3 -0
  81. package/src/data-lifecycle/index.js +7 -0
  82. package/src/data-lifecycle/index.js.map +1 -0
  83. package/src/data-lifecycle/model.d.ts +172 -0
  84. package/src/data-lifecycle/model.fixtures.d.ts +2 -0
  85. package/src/data-lifecycle/model.fixtures.js +244 -0
  86. package/src/data-lifecycle/model.fixtures.js.map +1 -0
  87. package/src/data-lifecycle/model.js +95 -0
  88. package/src/data-lifecycle/model.js.map +1 -0
  89. package/src/data-lifecycle/sensitive-artifacts.d.ts +28 -0
  90. package/src/data-lifecycle/sensitive-artifacts.js +146 -0
  91. package/src/data-lifecycle/sensitive-artifacts.js.map +1 -0
  92. package/src/data-lifecycle/validation.d.ts +32 -0
  93. package/src/data-lifecycle/validation.js +837 -0
  94. package/src/data-lifecycle/validation.js.map +1 -0
  95. package/src/database-retirement/contract.d.ts +68 -0
  96. package/src/database-retirement/contract.js +166 -0
  97. package/src/database-retirement/contract.js.map +1 -0
  98. package/src/database-retirement/index.d.ts +1 -0
  99. package/src/database-retirement/index.js +5 -0
  100. package/src/database-retirement/index.js.map +1 -0
  101. package/src/deterministic-order.d.ts +2 -0
  102. package/src/deterministic-order.js +7 -0
  103. package/src/deterministic-order.js.map +1 -0
  104. package/src/developer-agent/context.d.ts +27 -0
  105. package/src/developer-agent/context.js +497 -0
  106. package/src/developer-agent/context.js.map +1 -0
  107. package/src/developer-agent/generator-planning.d.ts +34 -0
  108. package/src/developer-agent/generator-planning.js +645 -0
  109. package/src/developer-agent/generator-planning.js.map +1 -0
  110. package/src/developer-agent/generator-preview.d.ts +8 -0
  111. package/src/developer-agent/generator-preview.js +650 -0
  112. package/src/developer-agent/generator-preview.js.map +1 -0
  113. package/src/developer-agent/git-inspection.d.ts +108 -0
  114. package/src/developer-agent/git-inspection.js +815 -0
  115. package/src/developer-agent/git-inspection.js.map +1 -0
  116. package/src/developer-agent/handoff.d.ts +43 -0
  117. package/src/developer-agent/handoff.js +698 -0
  118. package/src/developer-agent/handoff.js.map +1 -0
  119. package/src/developer-agent/index.d.ts +10 -0
  120. package/src/developer-agent/index.js +14 -0
  121. package/src/developer-agent/index.js.map +1 -0
  122. package/src/developer-agent/model.d.ts +481 -0
  123. package/src/developer-agent/model.js +143 -0
  124. package/src/developer-agent/model.js.map +1 -0
  125. package/src/developer-agent/operation-registry.d.ts +45 -0
  126. package/src/developer-agent/operation-registry.js +1255 -0
  127. package/src/developer-agent/operation-registry.js.map +1 -0
  128. package/src/developer-agent/ordering.d.ts +9 -0
  129. package/src/developer-agent/ordering.js +15 -0
  130. package/src/developer-agent/ordering.js.map +1 -0
  131. package/src/developer-agent/planning.d.ts +18 -0
  132. package/src/developer-agent/planning.js +447 -0
  133. package/src/developer-agent/planning.js.map +1 -0
  134. package/src/developer-agent/preview-changes.d.ts +26 -0
  135. package/src/developer-agent/preview-changes.js +203 -0
  136. package/src/developer-agent/preview-changes.js.map +1 -0
  137. package/src/developer-agent/preview-source.d.ts +2 -0
  138. package/src/developer-agent/preview-source.js +16 -0
  139. package/src/developer-agent/preview-source.js.map +1 -0
  140. package/src/developer-agent/validation.d.ts +18 -0
  141. package/src/developer-agent/validation.js +2617 -0
  142. package/src/developer-agent/validation.js.map +1 -0
  143. package/src/developer-agent/workspace-inspection.d.ts +20 -0
  144. package/src/developer-agent/workspace-inspection.js +1134 -0
  145. package/src/developer-agent/workspace-inspection.js.map +1 -0
  146. package/src/developer-agent/workspace-path.d.ts +6 -0
  147. package/src/developer-agent/workspace-path.js +22 -0
  148. package/src/developer-agent/workspace-path.js.map +1 -0
  149. package/src/executors/blueprint-trust/blueprint-trust.d.ts +29 -0
  150. package/src/executors/blueprint-trust/blueprint-trust.js +115 -0
  151. package/src/executors/blueprint-trust/blueprint-trust.js.map +1 -0
  152. package/src/executors/blueprint-trust/schema.json +27 -0
  153. package/src/executors/blueprint-verification/blueprint-verification.d.ts +13 -0
  154. package/src/executors/blueprint-verification/blueprint-verification.js +110 -0
  155. package/src/executors/blueprint-verification/blueprint-verification.js.map +1 -0
  156. package/src/executors/blueprint-verification/schema.json +44 -0
  157. package/src/executors/deployment-plan/deployment-plan.js +1 -0
  158. package/src/executors/deployment-plan/deployment-plan.js.map +1 -1
  159. package/src/executors/dev-doctor/dev-doctor.d.ts +19 -5
  160. package/src/executors/dev-doctor/dev-doctor.js +186 -32
  161. package/src/executors/dev-doctor/dev-doctor.js.map +1 -1
  162. package/src/executors/dev-doctor/schema.json +1 -6
  163. package/src/executors/dev-setup/dev-setup.d.ts +7 -1
  164. package/src/executors/dev-setup/dev-setup.js +14 -3
  165. package/src/executors/dev-setup/dev-setup.js.map +1 -1
  166. package/src/executors/developer-context/developer-context.d.ts +38 -0
  167. package/src/executors/developer-context/developer-context.js +78 -0
  168. package/src/executors/developer-context/developer-context.js.map +1 -0
  169. package/src/executors/developer-context/schema.json +87 -0
  170. package/src/executors/fleet/fleet.d.ts +12 -43
  171. package/src/executors/fleet/fleet.js +120 -500
  172. package/src/executors/fleet/fleet.js.map +1 -1
  173. package/src/executors/fleet/schema.json +64 -14
  174. package/src/executors/github-bootstrap/github-bootstrap.d.ts +1 -0
  175. package/src/executors/github-bootstrap/github-bootstrap.js +1 -0
  176. package/src/executors/github-bootstrap/github-bootstrap.js.map +1 -1
  177. package/src/executors/github-bootstrap/schema.json +5 -0
  178. package/src/executors/infrastructure-plan/infrastructure-plan.d.ts +144 -0
  179. package/src/executors/infrastructure-plan/infrastructure-plan.js +3320 -0
  180. package/src/executors/infrastructure-plan/infrastructure-plan.js.map +1 -0
  181. package/src/executors/infrastructure-plan/schema.json +78 -0
  182. package/src/executors/secret-guardrails/schema.json +6 -0
  183. package/src/executors/secret-guardrails/secret-guardrails.d.ts +3 -0
  184. package/src/executors/secret-guardrails/secret-guardrails.js +44 -0
  185. package/src/executors/secret-guardrails/secret-guardrails.js.map +1 -0
  186. package/src/executors/secret-metadata/schema.json +31 -0
  187. package/src/executors/secret-metadata/secret-metadata.d.ts +32 -0
  188. package/src/executors/secret-metadata/secret-metadata.js +131 -0
  189. package/src/executors/secret-metadata/secret-metadata.js.map +1 -0
  190. package/src/executors/sst-lifecycle/logging-preflight.d.ts +17 -0
  191. package/src/executors/sst-lifecycle/logging-preflight.js +196 -0
  192. package/src/executors/sst-lifecycle/logging-preflight.js.map +1 -0
  193. package/src/executors/sst-lifecycle/run-sst-command.d.ts +23 -3
  194. package/src/executors/sst-lifecycle/run-sst-command.js +113 -10
  195. package/src/executors/sst-lifecycle/run-sst-command.js.map +1 -1
  196. package/src/executors/sst-lifecycle/schema.json +9 -5
  197. package/src/executors/sst-lifecycle/secret-preflight.d.ts +25 -0
  198. package/src/executors/sst-lifecycle/secret-preflight.js +119 -0
  199. package/src/executors/sst-lifecycle/secret-preflight.js.map +1 -0
  200. package/src/foundation/discovery.d.ts +17 -1
  201. package/src/foundation/discovery.js +16 -1
  202. package/src/foundation/discovery.js.map +1 -1
  203. package/src/foundation/index.d.ts +3 -0
  204. package/src/foundation/index.js +3 -0
  205. package/src/foundation/index.js.map +1 -1
  206. package/src/foundation/local-database-contract.d.ts +1 -0
  207. package/src/foundation/local-database-contract.js +3 -0
  208. package/src/foundation/local-database-contract.js.map +1 -1
  209. package/src/foundation/logging-preflight.d.ts +30 -0
  210. package/src/foundation/logging-preflight.js +138 -0
  211. package/src/foundation/logging-preflight.js.map +1 -0
  212. package/src/foundation/logging.d.ts +70 -0
  213. package/src/foundation/logging.js +133 -0
  214. package/src/foundation/logging.js.map +1 -0
  215. package/src/foundation/preflight.d.ts +9 -0
  216. package/src/foundation/preflight.js +58 -2
  217. package/src/foundation/preflight.js.map +1 -1
  218. package/src/foundation/provision-database-bindings.d.ts +9 -1
  219. package/src/foundation/provision-database-bindings.js +25 -5
  220. package/src/foundation/provision-database-bindings.js.map +1 -1
  221. package/src/foundation/provision-logical-database.d.ts +10 -2
  222. package/src/foundation/provision-logical-database.js +68 -113
  223. package/src/foundation/provision-logical-database.js.map +1 -1
  224. package/src/foundation/router-origin-proof.d.ts +2 -0
  225. package/src/foundation/router-origin-proof.js +25 -0
  226. package/src/foundation/router-origin-proof.js.map +1 -0
  227. package/src/foundation/stages.d.ts +1 -0
  228. package/src/foundation/stages.js +9 -1
  229. package/src/foundation/stages.js.map +1 -1
  230. package/src/frontend-security/index.d.ts +1 -0
  231. package/src/frontend-security/index.js +5 -0
  232. package/src/frontend-security/index.js.map +1 -0
  233. package/src/frontend-security/security-headers.d.ts +50 -0
  234. package/src/frontend-security/security-headers.js +418 -0
  235. package/src/frontend-security/security-headers.js.map +1 -0
  236. package/src/generators/feature-registry.d.ts +13 -0
  237. package/src/generators/feature-registry.js +73 -0
  238. package/src/generators/feature-registry.js.map +1 -0
  239. package/src/generators/function/function.d.ts +1 -1
  240. package/src/generators/function/function.js +51 -6
  241. package/src/generators/function/function.js.map +1 -1
  242. package/src/generators/function/schema.d.ts +1 -0
  243. package/src/generators/function/schema.json +6 -1
  244. package/src/generators/logging-registry.d.ts +13 -0
  245. package/src/generators/logging-registry.js +62 -0
  246. package/src/generators/logging-registry.js.map +1 -0
  247. package/src/generators/post-generation-install.d.ts +67 -0
  248. package/src/generators/post-generation-install.js +3308 -0
  249. package/src/generators/post-generation-install.js.map +1 -0
  250. package/src/generators/preset/generator.js +3 -0
  251. package/src/generators/preset/generator.js.map +1 -1
  252. package/src/generators/preset/tool-versions.d.ts +18 -0
  253. package/src/generators/preset/tool-versions.js +22 -0
  254. package/src/generators/preset/tool-versions.js.map +1 -0
  255. package/src/generators/preset/workspace-files-developer-agent.d.ts +14 -0
  256. package/src/generators/preset/workspace-files-developer-agent.js +511 -0
  257. package/src/generators/preset/workspace-files-developer-agent.js.map +1 -0
  258. package/src/generators/preset/workspace-files-foundation-workload-roles.d.ts +6 -0
  259. package/src/generators/preset/workspace-files-foundation-workload-roles.js +406 -0
  260. package/src/generators/preset/workspace-files-foundation-workload-roles.js.map +1 -0
  261. package/src/generators/preset/workspace-files-performance-cost.d.ts +66 -0
  262. package/src/generators/preset/workspace-files-performance-cost.js +866 -0
  263. package/src/generators/preset/workspace-files-performance-cost.js.map +1 -0
  264. package/src/generators/preset/workspace-files-performance-load.d.ts +73 -0
  265. package/src/generators/preset/workspace-files-performance-load.js +801 -0
  266. package/src/generators/preset/workspace-files-performance-load.js.map +1 -0
  267. package/src/generators/preset/workspace-files-workload-role-baseline.d.ts +9 -0
  268. package/src/generators/preset/workspace-files-workload-role-baseline.js +1102 -0
  269. package/src/generators/preset/workspace-files-workload-role-baseline.js.map +1 -0
  270. package/src/generators/preset/workspace-files.d.ts +14 -1
  271. package/src/generators/preset/workspace-files.js +8189 -245
  272. package/src/generators/preset/workspace-files.js.map +1 -1
  273. package/src/generators/repository-policy/repository-policy.js +3 -47
  274. package/src/generators/repository-policy/repository-policy.js.map +1 -1
  275. package/src/generators/slice/built-in-plan-api-contract-files.d.ts +2 -0
  276. package/src/generators/slice/built-in-plan-api-contract-files.js +2656 -0
  277. package/src/generators/slice/built-in-plan-api-contract-files.js.map +1 -0
  278. package/src/generators/slice/built-in-plan-api-files.d.ts +2 -0
  279. package/src/generators/slice/built-in-plan-api-files.js +1186 -0
  280. package/src/generators/slice/built-in-plan-api-files.js.map +1 -0
  281. package/src/generators/slice/built-in-plan-async-work-files.d.ts +2 -0
  282. package/src/generators/slice/built-in-plan-async-work-files.js +7903 -0
  283. package/src/generators/slice/built-in-plan-async-work-files.js.map +1 -0
  284. package/src/generators/slice/built-in-plan-authorization-files.d.ts +2 -0
  285. package/src/generators/slice/built-in-plan-authorization-files.js +2314 -0
  286. package/src/generators/slice/built-in-plan-authorization-files.js.map +1 -0
  287. package/src/generators/slice/built-in-plan-authorization-infrastructure-files.d.ts +2 -0
  288. package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js +559 -0
  289. package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js.map +1 -0
  290. package/src/generators/slice/built-in-plan-data-deletion-files.d.ts +2 -0
  291. package/src/generators/slice/built-in-plan-data-deletion-files.js +1101 -0
  292. package/src/generators/slice/built-in-plan-data-deletion-files.js.map +1 -0
  293. package/src/generators/slice/built-in-plan-data-export-infrastructure-files.d.ts +2 -0
  294. package/src/generators/slice/built-in-plan-data-export-infrastructure-files.js +249 -0
  295. package/src/generators/slice/built-in-plan-data-export-infrastructure-files.js.map +1 -0
  296. package/src/generators/slice/built-in-plan-data-files.d.ts +2 -0
  297. package/src/generators/slice/built-in-plan-data-files.js +1530 -0
  298. package/src/generators/slice/built-in-plan-data-files.js.map +1 -0
  299. package/src/generators/slice/built-in-plan-data-lifecycle-files.d.ts +2 -0
  300. package/src/generators/slice/built-in-plan-data-lifecycle-files.js +750 -0
  301. package/src/generators/slice/built-in-plan-data-lifecycle-files.js.map +1 -0
  302. package/src/generators/slice/built-in-plan-data-lifecycle-runtime-files.d.ts +2 -0
  303. package/src/generators/slice/built-in-plan-data-lifecycle-runtime-files.js +828 -0
  304. package/src/generators/slice/built-in-plan-data-lifecycle-runtime-files.js.map +1 -0
  305. package/src/generators/slice/built-in-plan-data-retention-job-files.d.ts +2 -0
  306. package/src/generators/slice/built-in-plan-data-retention-job-files.js +2604 -0
  307. package/src/generators/slice/built-in-plan-data-retention-job-files.js.map +1 -0
  308. package/src/generators/slice/built-in-plan-data-retention-launcher-files.d.ts +2 -0
  309. package/src/generators/slice/built-in-plan-data-retention-launcher-files.js +144 -0
  310. package/src/generators/slice/built-in-plan-data-retention-launcher-files.js.map +1 -0
  311. package/src/generators/slice/built-in-plan-data-rights-files.d.ts +2 -0
  312. package/src/generators/slice/built-in-plan-data-rights-files.js +4628 -0
  313. package/src/generators/slice/built-in-plan-data-rights-files.js.map +1 -0
  314. package/src/generators/slice/built-in-plan-database-lifecycle-files.d.ts +2 -0
  315. package/src/generators/slice/built-in-plan-database-lifecycle-files.js +1901 -0
  316. package/src/generators/slice/built-in-plan-database-lifecycle-files.js.map +1 -0
  317. package/src/generators/slice/built-in-plan-database-retirement-rehearsal-files.d.ts +2 -0
  318. package/src/generators/slice/built-in-plan-database-retirement-rehearsal-files.js +485 -0
  319. package/src/generators/slice/built-in-plan-database-retirement-rehearsal-files.js.map +1 -0
  320. package/src/generators/slice/built-in-plan-foundation-files.d.ts +2 -0
  321. package/src/generators/slice/built-in-plan-foundation-files.js +184 -0
  322. package/src/generators/slice/built-in-plan-foundation-files.js.map +1 -0
  323. package/src/generators/slice/built-in-plan-frontend-files.d.ts +2 -0
  324. package/src/generators/slice/built-in-plan-frontend-files.js +2233 -0
  325. package/src/generators/slice/built-in-plan-frontend-files.js.map +1 -0
  326. package/src/generators/slice/built-in-plan-infrastructure-files.d.ts +2 -0
  327. package/src/generators/slice/built-in-plan-infrastructure-files.js +3038 -0
  328. package/src/generators/slice/built-in-plan-infrastructure-files.js.map +1 -0
  329. package/src/generators/slice/built-in-plan-infrastructure-safety-files.d.ts +2 -0
  330. package/src/generators/slice/built-in-plan-infrastructure-safety-files.js +312 -0
  331. package/src/generators/slice/built-in-plan-infrastructure-safety-files.js.map +1 -0
  332. package/src/generators/slice/built-in-plan-metadata-files.d.ts +3 -0
  333. package/src/generators/slice/built-in-plan-metadata-files.js +219 -0
  334. package/src/generators/slice/built-in-plan-metadata-files.js.map +1 -0
  335. package/src/generators/slice/built-in-plan-operations-files.d.ts +2 -0
  336. package/src/generators/slice/built-in-plan-operations-files.js +630 -0
  337. package/src/generators/slice/built-in-plan-operations-files.js.map +1 -0
  338. package/src/generators/slice/built-in-plan-performance-files.d.ts +3 -0
  339. package/src/generators/slice/built-in-plan-performance-files.js +3293 -0
  340. package/src/generators/slice/built-in-plan-performance-files.js.map +1 -0
  341. package/src/generators/slice/built-in-plan-project-files.d.ts +3 -0
  342. package/src/generators/slice/built-in-plan-project-files.js +979 -0
  343. package/src/generators/slice/built-in-plan-project-files.js.map +1 -0
  344. package/src/generators/slice/built-in-plan-release-files.d.ts +2 -0
  345. package/src/generators/slice/built-in-plan-release-files.js +6387 -0
  346. package/src/generators/slice/built-in-plan-release-files.js.map +1 -0
  347. package/src/generators/slice/built-in-plan-reliability-files.d.ts +2 -0
  348. package/src/generators/slice/built-in-plan-reliability-files.js +4499 -0
  349. package/src/generators/slice/built-in-plan-reliability-files.js.map +1 -0
  350. package/src/generators/slice/built-in-plan-secret-runtime-files.d.ts +2 -0
  351. package/src/generators/slice/built-in-plan-secret-runtime-files.js +1004 -0
  352. package/src/generators/slice/built-in-plan-secret-runtime-files.js.map +1 -0
  353. package/src/generators/slice/built-in-plan-shared.d.ts +53 -0
  354. package/src/generators/slice/built-in-plan-shared.js +113 -0
  355. package/src/generators/slice/built-in-plan-shared.js.map +1 -0
  356. package/src/generators/slice/built-in-plan-testing-files.d.ts +2 -0
  357. package/src/generators/slice/built-in-plan-testing-files.js +2356 -0
  358. package/src/generators/slice/built-in-plan-testing-files.js.map +1 -0
  359. package/src/generators/slice/built-in-plan-verification-files.d.ts +2 -0
  360. package/src/generators/slice/built-in-plan-verification-files.js +358 -0
  361. package/src/generators/slice/built-in-plan-verification-files.js.map +1 -0
  362. package/src/generators/slice/built-in-plan-web-files.d.ts +2 -0
  363. package/src/generators/slice/built-in-plan-web-files.js +430 -0
  364. package/src/generators/slice/built-in-plan-web-files.js.map +1 -0
  365. package/src/generators/slice/built-in-plan-workload-role-files.d.ts +2 -0
  366. package/src/generators/slice/built-in-plan-workload-role-files.js +2356 -0
  367. package/src/generators/slice/built-in-plan-workload-role-files.js.map +1 -0
  368. package/src/generators/slice/built-in-plan.d.ts +8 -0
  369. package/src/generators/slice/built-in-plan.js +264 -0
  370. package/src/generators/slice/built-in-plan.js.map +1 -0
  371. package/src/generators/slice/schema.json +1 -1
  372. package/src/generators/slice/slice.d.ts +1 -22
  373. package/src/generators/slice/slice.js +185 -1510
  374. package/src/generators/slice/slice.js.map +1 -1
  375. package/src/generators/upgrade/schema.d.ts +2 -0
  376. package/src/generators/upgrade/schema.json +11 -1
  377. package/src/generators/upgrade/upgrade.d.ts +51 -1
  378. package/src/generators/upgrade/upgrade.js +820 -82
  379. package/src/generators/upgrade/upgrade.js.map +1 -1
  380. package/src/generators/workload/frozen-container.d.ts +8 -0
  381. package/src/generators/workload/frozen-container.js +36 -0
  382. package/src/generators/workload/frozen-container.js.map +1 -0
  383. package/src/generators/workload/performance-registration.d.ts +32 -0
  384. package/src/generators/workload/performance-registration.js +226 -0
  385. package/src/generators/workload/performance-registration.js.map +1 -0
  386. package/src/generators/workload/reliability-registration.d.ts +16 -0
  387. package/src/generators/workload/reliability-registration.js +150 -0
  388. package/src/generators/workload/reliability-registration.js.map +1 -0
  389. package/src/generators/workload/schema.d.ts +1 -0
  390. package/src/generators/workload/schema.json +6 -1
  391. package/src/generators/workload/service-performance-files.d.ts +4 -0
  392. package/src/generators/workload/service-performance-files.js +1846 -0
  393. package/src/generators/workload/service-performance-files.js.map +1 -0
  394. package/src/generators/workload/workload.d.ts +3 -2
  395. package/src/generators/workload/workload.js +1083 -18
  396. package/src/generators/workload/workload.js.map +1 -1
  397. package/src/git-policy/action-pins.d.ts +10 -0
  398. package/src/git-policy/action-pins.js +10 -0
  399. package/src/git-policy/action-pins.js.map +1 -1
  400. package/src/git-policy/github-bootstrap.d.ts +14 -1
  401. package/src/git-policy/github-bootstrap.js +274 -46
  402. package/src/git-policy/github-bootstrap.js.map +1 -1
  403. package/src/index.d.ts +2 -0
  404. package/src/index.js +2 -0
  405. package/src/index.js.map +1 -1
  406. package/src/infrastructure-change/convergence.d.ts +13 -0
  407. package/src/infrastructure-change/convergence.js +85 -0
  408. package/src/infrastructure-change/convergence.js.map +1 -0
  409. package/src/infrastructure-change/drift.d.ts +13 -0
  410. package/src/infrastructure-change/drift.js +112 -0
  411. package/src/infrastructure-change/drift.js.map +1 -0
  412. package/src/infrastructure-change/index.d.ts +7 -0
  413. package/src/infrastructure-change/index.js +11 -0
  414. package/src/infrastructure-change/index.js.map +1 -0
  415. package/src/infrastructure-change/model.d.ts +253 -0
  416. package/src/infrastructure-change/model.js +28 -0
  417. package/src/infrastructure-change/model.js.map +1 -0
  418. package/src/infrastructure-change/normalize.d.ts +12 -0
  419. package/src/infrastructure-change/normalize.js +245 -0
  420. package/src/infrastructure-change/normalize.js.map +1 -0
  421. package/src/infrastructure-change/plan.d.ts +40 -0
  422. package/src/infrastructure-change/plan.js +361 -0
  423. package/src/infrastructure-change/plan.js.map +1 -0
  424. package/src/infrastructure-change/risk.d.ts +7 -0
  425. package/src/infrastructure-change/risk.js +269 -0
  426. package/src/infrastructure-change/risk.js.map +1 -0
  427. package/src/infrastructure-change/summary.d.ts +20 -0
  428. package/src/infrastructure-change/summary.js +130 -0
  429. package/src/infrastructure-change/summary.js.map +1 -0
  430. package/src/local-dev/context-discovery.d.ts +2 -0
  431. package/src/local-dev/context-discovery.js +59 -0
  432. package/src/local-dev/context-discovery.js.map +1 -0
  433. package/src/local-dev/contract-validation.d.ts +15 -0
  434. package/src/local-dev/contract-validation.js +84 -0
  435. package/src/local-dev/contract-validation.js.map +1 -0
  436. package/src/local-dev/contracts.d.ts +10 -1
  437. package/src/local-dev/contracts.js +57 -5
  438. package/src/local-dev/contracts.js.map +1 -1
  439. package/src/local-dev/control-contract.d.ts +67 -0
  440. package/src/local-dev/control-contract.js +180 -0
  441. package/src/local-dev/control-contract.js.map +1 -0
  442. package/src/local-dev/dev-command-core.d.ts +60 -0
  443. package/src/local-dev/dev-command-core.js +89 -0
  444. package/src/local-dev/dev-command-core.js.map +1 -0
  445. package/src/local-dev/effects.d.ts +16 -0
  446. package/src/local-dev/effects.js +63 -0
  447. package/src/local-dev/effects.js.map +1 -0
  448. package/src/local-dev/environment-inspector.d.ts +125 -0
  449. package/src/local-dev/environment-inspector.js +687 -0
  450. package/src/local-dev/environment-inspector.js.map +1 -0
  451. package/src/local-dev/environment-state.d.ts +113 -0
  452. package/src/local-dev/environment-state.js +463 -0
  453. package/src/local-dev/environment-state.js.map +1 -0
  454. package/src/local-dev/errors.d.ts +6 -0
  455. package/src/local-dev/errors.js +41 -0
  456. package/src/local-dev/errors.js.map +1 -0
  457. package/src/local-dev/fleet-client.d.ts +33 -0
  458. package/src/local-dev/fleet-client.js +156 -0
  459. package/src/local-dev/fleet-client.js.map +1 -0
  460. package/src/local-dev/fleet-configuration.d.ts +13 -0
  461. package/src/local-dev/fleet-configuration.js +71 -0
  462. package/src/local-dev/fleet-configuration.js.map +1 -0
  463. package/src/local-dev/fleet-inventory.d.ts +56 -0
  464. package/src/local-dev/fleet-inventory.js +469 -0
  465. package/src/local-dev/fleet-inventory.js.map +1 -0
  466. package/src/local-dev/fleet-ipc.d.ts +28 -0
  467. package/src/local-dev/fleet-ipc.js +267 -0
  468. package/src/local-dev/fleet-ipc.js.map +1 -0
  469. package/src/local-dev/fleet-launcher.d.ts +53 -0
  470. package/src/local-dev/fleet-launcher.js +379 -0
  471. package/src/local-dev/fleet-launcher.js.map +1 -0
  472. package/src/local-dev/fleet-lock.d.ts +41 -0
  473. package/src/local-dev/fleet-lock.js +135 -0
  474. package/src/local-dev/fleet-lock.js.map +1 -0
  475. package/src/local-dev/fleet-logs.d.ts +66 -0
  476. package/src/local-dev/fleet-logs.js +542 -0
  477. package/src/local-dev/fleet-logs.js.map +1 -0
  478. package/src/local-dev/fleet-process.d.ts +50 -0
  479. package/src/local-dev/fleet-process.js +289 -0
  480. package/src/local-dev/fleet-process.js.map +1 -0
  481. package/src/local-dev/fleet-runtime.d.ts +22 -0
  482. package/src/local-dev/fleet-runtime.js +368 -0
  483. package/src/local-dev/fleet-runtime.js.map +1 -0
  484. package/src/local-dev/fleet-session.d.ts +70 -0
  485. package/src/local-dev/fleet-session.js +301 -0
  486. package/src/local-dev/fleet-session.js.map +1 -0
  487. package/src/local-dev/fleet-slice-runner-daemon.d.ts +1 -0
  488. package/src/local-dev/fleet-slice-runner-daemon.js +21 -0
  489. package/src/local-dev/fleet-slice-runner-daemon.js.map +1 -0
  490. package/src/local-dev/fleet-startup.d.ts +22 -0
  491. package/src/local-dev/fleet-startup.js +114 -0
  492. package/src/local-dev/fleet-startup.js.map +1 -0
  493. package/src/local-dev/fleet-state.d.ts +62 -0
  494. package/src/local-dev/fleet-state.js +297 -0
  495. package/src/local-dev/fleet-state.js.map +1 -0
  496. package/src/local-dev/fleet-supervisor-daemon.d.ts +1 -0
  497. package/src/local-dev/fleet-supervisor-daemon.js +41 -0
  498. package/src/local-dev/fleet-supervisor-daemon.js.map +1 -0
  499. package/src/local-dev/fleet-supervisor.d.ts +52 -0
  500. package/src/local-dev/fleet-supervisor.js +384 -0
  501. package/src/local-dev/fleet-supervisor.js.map +1 -0
  502. package/src/local-dev/gateway.js +1 -1
  503. package/src/local-dev/gateway.js.map +1 -1
  504. package/src/local-dev/identity.js +4 -6
  505. package/src/local-dev/identity.js.map +1 -1
  506. package/src/local-dev/index.d.ts +1 -0
  507. package/src/local-dev/index.js +1 -0
  508. package/src/local-dev/index.js.map +1 -1
  509. package/src/local-dev/local-context.d.ts +62 -0
  510. package/src/local-dev/local-context.js +299 -0
  511. package/src/local-dev/local-context.js.map +1 -0
  512. package/src/local-dev/nx-workspace.d.ts +45 -0
  513. package/src/local-dev/nx-workspace.js +228 -0
  514. package/src/local-dev/nx-workspace.js.map +1 -0
  515. package/src/local-dev/personal-secret-ledger.d.ts +75 -0
  516. package/src/local-dev/personal-secret-ledger.js +391 -0
  517. package/src/local-dev/personal-secret-ledger.js.map +1 -0
  518. package/src/local-dev/personal-stage.d.ts +18 -0
  519. package/src/local-dev/personal-stage.js +129 -0
  520. package/src/local-dev/personal-stage.js.map +1 -0
  521. package/src/local-dev/private-state.d.ts +17 -0
  522. package/src/local-dev/private-state.js +254 -0
  523. package/src/local-dev/private-state.js.map +1 -0
  524. package/src/local-dev/process-identity.d.ts +9 -0
  525. package/src/local-dev/process-identity.js +79 -0
  526. package/src/local-dev/process-identity.js.map +1 -0
  527. package/src/local-dev/runtime-paths.d.ts +17 -0
  528. package/src/local-dev/runtime-paths.js +33 -0
  529. package/src/local-dev/runtime-paths.js.map +1 -0
  530. package/src/local-dev/secret-slice-claim.d.ts +17 -0
  531. package/src/local-dev/secret-slice-claim.js +75 -0
  532. package/src/local-dev/secret-slice-claim.js.map +1 -0
  533. package/src/local-dev/slice-claim.d.ts +36 -0
  534. package/src/local-dev/slice-claim.js +199 -0
  535. package/src/local-dev/slice-claim.js.map +1 -0
  536. package/src/local-dev/slice-runner.d.ts +121 -0
  537. package/src/local-dev/slice-runner.js +715 -0
  538. package/src/local-dev/slice-runner.js.map +1 -0
  539. package/src/local-dev/tls.js +51 -17
  540. package/src/local-dev/tls.js.map +1 -1
  541. package/src/ownership/composition.d.ts +5 -2
  542. package/src/ownership/composition.js +26 -3
  543. package/src/ownership/composition.js.map +1 -1
  544. package/src/ownership/hash.d.ts +1 -1
  545. package/src/ownership/hash.js +3 -1
  546. package/src/ownership/hash.js.map +1 -1
  547. package/src/ownership/record.d.ts +32 -1
  548. package/src/ownership/record.js +139 -2
  549. package/src/ownership/record.js.map +1 -1
  550. package/src/performance/cost-collection.d.ts +225 -0
  551. package/src/performance/cost-collection.js +825 -0
  552. package/src/performance/cost-collection.js.map +1 -0
  553. package/src/performance/cost-controls.d.ts +131 -0
  554. package/src/performance/cost-controls.js +336 -0
  555. package/src/performance/cost-controls.js.map +1 -0
  556. package/src/performance/evidence.d.ts +140 -0
  557. package/src/performance/evidence.js +599 -0
  558. package/src/performance/evidence.js.map +1 -0
  559. package/src/performance/index.d.ts +10 -0
  560. package/src/performance/index.js +14 -0
  561. package/src/performance/index.js.map +1 -0
  562. package/src/performance/load-safety.d.ts +84 -0
  563. package/src/performance/load-safety.js +346 -0
  564. package/src/performance/load-safety.js.map +1 -0
  565. package/src/performance/model.d.ts +129 -0
  566. package/src/performance/model.js +452 -0
  567. package/src/performance/model.js.map +1 -0
  568. package/src/performance/pr-artifact-budget.d.ts +42 -0
  569. package/src/performance/pr-artifact-budget.js +151 -0
  570. package/src/performance/pr-artifact-budget.js.map +1 -0
  571. package/src/performance/runner.d.ts +75 -0
  572. package/src/performance/runner.js +227 -0
  573. package/src/performance/runner.js.map +1 -0
  574. package/src/performance/scenario-endpoint.d.ts +1 -0
  575. package/src/performance/scenario-endpoint.js +5 -0
  576. package/src/performance/scenario-endpoint.js.map +1 -0
  577. package/src/performance/scenario.d.ts +193 -0
  578. package/src/performance/scenario.js +736 -0
  579. package/src/performance/scenario.js.map +1 -0
  580. package/src/performance/test-fixtures.d.ts +7 -0
  581. package/src/performance/test-fixtures.js +169 -0
  582. package/src/performance/test-fixtures.js.map +1 -0
  583. package/src/performance/unit-cost.d.ts +105 -0
  584. package/src/performance/unit-cost.js +364 -0
  585. package/src/performance/unit-cost.js.map +1 -0
  586. package/src/release/index.d.ts +4 -0
  587. package/src/release/index.js +8 -0
  588. package/src/release/index.js.map +1 -0
  589. package/src/release/lifecycle.d.ts +132 -0
  590. package/src/release/lifecycle.js +411 -0
  591. package/src/release/lifecycle.js.map +1 -0
  592. package/src/release/manifest.d.ts +148 -0
  593. package/src/release/manifest.js +503 -0
  594. package/src/release/manifest.js.map +1 -0
  595. package/src/release/rollout.d.ts +170 -0
  596. package/src/release/rollout.js +578 -0
  597. package/src/release/rollout.js.map +1 -0
  598. package/src/release/source-authority.d.ts +19 -0
  599. package/src/release/source-authority.js +195 -0
  600. package/src/release/source-authority.js.map +1 -0
  601. package/src/repository-policy/deployment-plan.d.ts +2 -1
  602. package/src/repository-policy/deployment-plan.js +2 -0
  603. package/src/repository-policy/deployment-plan.js.map +1 -1
  604. package/src/repository-policy/policy.d.ts +1 -1
  605. package/src/repository-policy/policy.js +29 -25
  606. package/src/repository-policy/policy.js.map +1 -1
  607. package/src/schemas/aggregate-count-evidence-v1.json +135 -0
  608. package/src/schemas/api-contract-baseline-v1.json +674 -0
  609. package/src/schemas/api-contract-compatibility-report-v1.json +126 -0
  610. package/src/schemas/aws-billing-actual-evidence-v1.json +407 -0
  611. package/src/schemas/blueprint-v1.json +18 -1
  612. package/src/schemas/data-lifecycle-policy-v1.json +517 -0
  613. package/src/schemas/generated-ownership-v2.json +22 -0
  614. package/src/schemas/performance-policy-v1.json +335 -0
  615. package/src/schemas/repository-policy-v1.json +1 -0
  616. package/src/schemas/testing-evidence-quarantine-v1.json +168 -0
  617. package/src/schemas/testing-evidence-result-v1.json +319 -0
  618. package/src/secrets/adapters.d.ts +49 -0
  619. package/src/secrets/adapters.js +184 -0
  620. package/src/secrets/adapters.js.map +1 -0
  621. package/src/secrets/aws-control-plane.d.ts +20 -0
  622. package/src/secrets/aws-control-plane.js +255 -0
  623. package/src/secrets/aws-control-plane.js.map +1 -0
  624. package/src/secrets/declaration-verification.d.ts +11 -0
  625. package/src/secrets/declaration-verification.js +68 -0
  626. package/src/secrets/declaration-verification.js.map +1 -0
  627. package/src/secrets/guardrails.d.ts +26 -0
  628. package/src/secrets/guardrails.js +328 -0
  629. package/src/secrets/guardrails.js.map +1 -0
  630. package/src/secrets/index.d.ts +12 -0
  631. package/src/secrets/index.js +16 -0
  632. package/src/secrets/index.js.map +1 -0
  633. package/src/secrets/metadata.d.ts +48 -0
  634. package/src/secrets/metadata.js +171 -0
  635. package/src/secrets/metadata.js.map +1 -0
  636. package/src/secrets/model.d.ts +49 -0
  637. package/src/secrets/model.js +125 -0
  638. package/src/secrets/model.js.map +1 -0
  639. package/src/secrets/operator.d.ts +101 -0
  640. package/src/secrets/operator.js +229 -0
  641. package/src/secrets/operator.js.map +1 -0
  642. package/src/secrets/permissions.d.ts +34 -0
  643. package/src/secrets/permissions.js +86 -0
  644. package/src/secrets/permissions.js.map +1 -0
  645. package/src/secrets/personal-command.d.ts +83 -0
  646. package/src/secrets/personal-command.js +197 -0
  647. package/src/secrets/personal-command.js.map +1 -0
  648. package/src/secrets/personal-ledger.d.ts +21 -0
  649. package/src/secrets/personal-ledger.js +135 -0
  650. package/src/secrets/personal-ledger.js.map +1 -0
  651. package/src/secrets/registry.d.ts +9 -0
  652. package/src/secrets/registry.js +86 -0
  653. package/src/secrets/registry.js.map +1 -0
  654. package/src/secrets/verification.d.ts +18 -0
  655. package/src/secrets/verification.js +139 -0
  656. package/src/secrets/verification.js.map +1 -0
  657. package/src/secrets/workload-access.d.ts +46 -0
  658. package/src/secrets/workload-access.js +163 -0
  659. package/src/secrets/workload-access.js.map +1 -0
  660. package/src/supply-chain/action-pins.d.ts +26 -0
  661. package/src/supply-chain/action-pins.js +208 -0
  662. package/src/supply-chain/action-pins.js.map +1 -0
  663. package/src/supply-chain/blueprint-trust-git.d.ts +130 -0
  664. package/src/supply-chain/blueprint-trust-git.js +1581 -0
  665. package/src/supply-chain/blueprint-trust-git.js.map +1 -0
  666. package/src/supply-chain/blueprint-trust-process.d.ts +4 -0
  667. package/src/supply-chain/blueprint-trust-process.js +88 -0
  668. package/src/supply-chain/blueprint-trust-process.js.map +1 -0
  669. package/src/supply-chain/blueprint-trust.d.ts +354 -0
  670. package/src/supply-chain/blueprint-trust.js +1558 -0
  671. package/src/supply-chain/blueprint-trust.js.map +1 -0
  672. package/src/supply-chain/blueprint-verification-authority.d.ts +62 -0
  673. package/src/supply-chain/blueprint-verification-authority.js +588 -0
  674. package/src/supply-chain/blueprint-verification-authority.js.map +1 -0
  675. package/src/supply-chain/blueprint-verification-execution.d.ts +68 -0
  676. package/src/supply-chain/blueprint-verification-execution.js +624 -0
  677. package/src/supply-chain/blueprint-verification-execution.js.map +1 -0
  678. package/src/supply-chain/build-output.d.ts +35 -0
  679. package/src/supply-chain/build-output.js +398 -0
  680. package/src/supply-chain/build-output.js.map +1 -0
  681. package/src/supply-chain/common.d.ts +21 -0
  682. package/src/supply-chain/common.js +107 -0
  683. package/src/supply-chain/common.js.map +1 -0
  684. package/src/supply-chain/container-artifact-contract.d.ts +23 -0
  685. package/src/supply-chain/container-artifact-contract.js +208 -0
  686. package/src/supply-chain/container-artifact-contract.js.map +1 -0
  687. package/src/supply-chain/container-release.d.ts +119 -0
  688. package/src/supply-chain/container-release.js +496 -0
  689. package/src/supply-chain/container-release.js.map +1 -0
  690. package/src/supply-chain/ecr-applicability.d.ts +19 -0
  691. package/src/supply-chain/ecr-applicability.js +103 -0
  692. package/src/supply-chain/ecr-applicability.js.map +1 -0
  693. package/src/supply-chain/ecr-scanning.d.ts +83 -0
  694. package/src/supply-chain/ecr-scanning.js +321 -0
  695. package/src/supply-chain/ecr-scanning.js.map +1 -0
  696. package/src/supply-chain/ecs-deployed-image.d.ts +85 -0
  697. package/src/supply-chain/ecs-deployed-image.js +300 -0
  698. package/src/supply-chain/ecs-deployed-image.js.map +1 -0
  699. package/src/supply-chain/errors.d.ts +6 -0
  700. package/src/supply-chain/errors.js +15 -0
  701. package/src/supply-chain/errors.js.map +1 -0
  702. package/src/supply-chain/generated-blueprint-trust-command.d.ts +4 -0
  703. package/src/supply-chain/generated-blueprint-trust-command.js +1362 -0
  704. package/src/supply-chain/generated-blueprint-trust-command.js.map +1 -0
  705. package/src/supply-chain/generated-command.d.ts +1 -0
  706. package/src/supply-chain/generated-command.js +687 -0
  707. package/src/supply-chain/generated-command.js.map +1 -0
  708. package/src/supply-chain/generated-container-release-command.d.ts +16 -0
  709. package/src/supply-chain/generated-container-release-command.js +2087 -0
  710. package/src/supply-chain/generated-container-release-command.js.map +1 -0
  711. package/src/supply-chain/generated-ecr-collector-command.d.ts +21 -0
  712. package/src/supply-chain/generated-ecr-collector-command.js +1338 -0
  713. package/src/supply-chain/generated-ecr-collector-command.js.map +1 -0
  714. package/src/supply-chain/generated-files.d.ts +13 -0
  715. package/src/supply-chain/generated-files.js +401 -0
  716. package/src/supply-chain/generated-files.js.map +1 -0
  717. package/src/supply-chain/generated-scanner-command.d.ts +1 -0
  718. package/src/supply-chain/generated-scanner-command.js +718 -0
  719. package/src/supply-chain/generated-scanner-command.js.map +1 -0
  720. package/src/supply-chain/index.d.ts +28 -0
  721. package/src/supply-chain/index.js +35 -0
  722. package/src/supply-chain/index.js.map +1 -0
  723. package/src/supply-chain/inventory.d.ts +79 -0
  724. package/src/supply-chain/inventory.js +717 -0
  725. package/src/supply-chain/inventory.js.map +1 -0
  726. package/src/supply-chain/license-expression.d.ts +7 -0
  727. package/src/supply-chain/license-expression.js +128 -0
  728. package/src/supply-chain/license-expression.js.map +1 -0
  729. package/src/supply-chain/pnpm-toolchain-authority.d.ts +31 -0
  730. package/src/supply-chain/pnpm-toolchain-authority.js +316 -0
  731. package/src/supply-chain/pnpm-toolchain-authority.js.map +1 -0
  732. package/src/supply-chain/policy.d.ts +105 -0
  733. package/src/supply-chain/policy.js +301 -0
  734. package/src/supply-chain/policy.js.map +1 -0
  735. package/src/supply-chain/publication.d.ts +48 -0
  736. package/src/supply-chain/publication.js +85 -0
  737. package/src/supply-chain/publication.js.map +1 -0
  738. package/src/supply-chain/sbom.d.ts +228 -0
  739. package/src/supply-chain/sbom.js +826 -0
  740. package/src/supply-chain/sbom.js.map +1 -0
  741. package/src/supply-chain/scanner.d.ts +77 -0
  742. package/src/supply-chain/scanner.js +502 -0
  743. package/src/supply-chain/scanner.js.map +1 -0
  744. package/src/supply-chain/vendored-source.d.ts +95 -0
  745. package/src/supply-chain/vendored-source.js +315 -0
  746. package/src/supply-chain/vendored-source.js.map +1 -0
  747. package/src/testing-evidence/fixture-scope.d.ts +52 -0
  748. package/src/testing-evidence/fixture-scope.js +140 -0
  749. package/src/testing-evidence/fixture-scope.js.map +1 -0
  750. package/src/testing-evidence/index.d.ts +5 -0
  751. package/src/testing-evidence/index.js +9 -0
  752. package/src/testing-evidence/index.js.map +1 -0
  753. package/src/testing-evidence/quarantine.d.ts +48 -0
  754. package/src/testing-evidence/quarantine.js +253 -0
  755. package/src/testing-evidence/quarantine.js.map +1 -0
  756. package/src/testing-evidence/result.d.ts +108 -0
  757. package/src/testing-evidence/result.js +571 -0
  758. package/src/testing-evidence/result.js.map +1 -0
  759. package/src/testing-evidence/runner-adapter.d.ts +51 -0
  760. package/src/testing-evidence/runner-adapter.js +288 -0
  761. package/src/testing-evidence/runner-adapter.js.map +1 -0
  762. package/src/testing-evidence/sensitive-artifacts.d.ts +13 -0
  763. package/src/testing-evidence/sensitive-artifacts.js +93 -0
  764. package/src/testing-evidence/sensitive-artifacts.js.map +1 -0
  765. package/src/work-markers/work-markers.js +4 -3
  766. package/src/work-markers/work-markers.js.map +1 -1
  767. package/src/workload-roles/account-baseline.d.ts +132 -0
  768. package/src/workload-roles/account-baseline.js +743 -0
  769. package/src/workload-roles/account-baseline.js.map +1 -0
  770. package/src/workload-roles/authority.d.ts +38 -0
  771. package/src/workload-roles/authority.js +156 -0
  772. package/src/workload-roles/authority.js.map +1 -0
  773. package/src/workload-roles/aws-adapter.d.ts +99 -0
  774. package/src/workload-roles/aws-adapter.js +416 -0
  775. package/src/workload-roles/aws-adapter.js.map +1 -0
  776. package/src/workload-roles/aws-internal-handler.d.ts +27 -0
  777. package/src/workload-roles/aws-internal-handler.js +58 -0
  778. package/src/workload-roles/aws-internal-handler.js.map +1 -0
  779. package/src/workload-roles/aws-s3-state.d.ts +52 -0
  780. package/src/workload-roles/aws-s3-state.js +164 -0
  781. package/src/workload-roles/aws-s3-state.js.map +1 -0
  782. package/src/workload-roles/aws-sdk-control-plane.d.ts +12 -0
  783. package/src/workload-roles/aws-sdk-control-plane.js +291 -0
  784. package/src/workload-roles/aws-sdk-control-plane.js.map +1 -0
  785. package/src/workload-roles/boundary.d.ts +33 -0
  786. package/src/workload-roles/boundary.js +130 -0
  787. package/src/workload-roles/boundary.js.map +1 -0
  788. package/src/workload-roles/convergence.d.ts +66 -0
  789. package/src/workload-roles/convergence.js +186 -0
  790. package/src/workload-roles/convergence.js.map +1 -0
  791. package/src/workload-roles/effective-policy.d.ts +51 -0
  792. package/src/workload-roles/effective-policy.js +183 -0
  793. package/src/workload-roles/effective-policy.js.map +1 -0
  794. package/src/workload-roles/handler.d.ts +43 -0
  795. package/src/workload-roles/handler.js +130 -0
  796. package/src/workload-roles/handler.js.map +1 -0
  797. package/src/workload-roles/history.d.ts +47 -0
  798. package/src/workload-roles/history.js +324 -0
  799. package/src/workload-roles/history.js.map +1 -0
  800. package/src/workload-roles/index.d.ts +17 -0
  801. package/src/workload-roles/index.js +21 -0
  802. package/src/workload-roles/index.js.map +1 -0
  803. package/src/workload-roles/injection.d.ts +119 -0
  804. package/src/workload-roles/injection.js +495 -0
  805. package/src/workload-roles/injection.js.map +1 -0
  806. package/src/workload-roles/manifest.d.ts +54 -0
  807. package/src/workload-roles/manifest.js +343 -0
  808. package/src/workload-roles/manifest.js.map +1 -0
  809. package/src/workload-roles/provisioner.d.ts +70 -0
  810. package/src/workload-roles/provisioner.js +231 -0
  811. package/src/workload-roles/provisioner.js.map +1 -0
  812. package/src/workload-roles/registration.d.ts +101 -0
  813. package/src/workload-roles/registration.js +457 -0
  814. package/src/workload-roles/registration.js.map +1 -0
  815. package/src/workload-roles/stage-boundary.d.ts +31 -0
  816. package/src/workload-roles/stage-boundary.js +208 -0
  817. package/src/workload-roles/stage-boundary.js.map +1 -0
  818. package/src/workload-roles/standard-slice.d.ts +54 -0
  819. package/src/workload-roles/standard-slice.js +252 -0
  820. package/src/workload-roles/standard-slice.js.map +1 -0
  821. package/migrations/standard-pre-v1-to-v1.md +0 -11
  822. package/src/foundation/aurora-logical-database.d.ts +0 -76
  823. package/src/foundation/aurora-logical-database.js +0 -419
  824. package/src/foundation/aurora-logical-database.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"built-in-plan-database-lifecycle-files.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/generators/slice/built-in-plan-database-lifecycle-files.ts"],"names":[],"mappings":";;AA8QA,oEAkmDC;AAh3DD,uEAAiD;AACjD,yEAGyC;AAEzC,SAAS,oCAAoC;IAC3C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmQR,CAAC;AACF,CAAC;AAED,gBAAgB;AAChB,SAAgB,4BAA4B,CAC1C,IAAY;IAEZ,OAAO;QACL,eAAe,EAAE;;;;;;;;CAQpB;QACG,wBAAwB,EAAE,IAAA,8BAAI,EAAC;YAC7B,OAAO,EAAE;gBACP,MAAM,EAAE,SAAS;gBACjB,WAAW,EAAE,CAAC,SAAS,CAAC;aACzB;SACF,CAAC;QACF,sBAAsB,EAAE,QAAQ,mDAA6B;;;;;;;0CAOvB,wDAAkC;;;gBAG5D,IAAI,oCAAoC,IAAI;mCACzB,IAAI;8IACuG,IAAI;;OAE3I,mDAA6B;;;;kCAIF,IAAI;kCACJ,IAAI;kCACJ,IAAI;kCACJ,IAAI;kCACJ,IAAI;;;CAGrC;QACG,wBAAwB,EAAE,IAAA,8BAAI,EAAC;YAC7B,IAAI,EAAE,kBAAkB,IAAI,EAAE;YAC9B,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE;gBACZ,iCAAiC,EAAE,UAAU;gBAC7C,qBAAqB,EAAE,UAAU;gBACjC,qBAAqB,EAAE,UAAU;gBACjC,EAAE,EAAE,QAAQ;aACb;SACF,CAAC;QACF,qCAAqC,EACnC,oCAAoC,EAAE;QACxC,6BAA6B,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoRrB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8NjB;QACG,0BAA0B,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2DA+a2B,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA2H/C,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqNnB;QACG,2BAA2B,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyInB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyKjB;KACE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ /** @internal */
2
+ export declare function renderDatabaseRetirementRehearsalFiles(name: string): Readonly<Record<string, string>>;
@@ -0,0 +1,485 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.renderDatabaseRetirementRehearsalFiles = renderDatabaseRetirementRehearsalFiles;
4
+ const built_in_plan_shared_js_1 = require("./built-in-plan-shared.js");
5
+ function renderDatabaseRetirementRehearsalCore(name) {
6
+ return `import {
7
+ DescribeExecutionCommand,
8
+ StartExecutionCommand,
9
+ } from '@aws-sdk/client-sfn';
10
+ import {
11
+ DatabaseRetirementContractError,
12
+ createProtectedDatabaseRetirementPlan,
13
+ proveDatabaseRetirementAbsence,
14
+ } from '@empire-builder-kit/nx/database-retirement';
15
+ import { createDatabaseBindingPlan } from '@empire-builder-kit/nx/foundation';
16
+
17
+ const SLICE = '${name}';
18
+ const STAGE = 'development';
19
+ const TERMINAL_STATUSES = new Set([
20
+ 'ABORTED',
21
+ 'FAILED',
22
+ 'PENDING_REDRIVE',
23
+ 'SUCCEEDED',
24
+ 'TIMED_OUT',
25
+ ]);
26
+ const FINGERPRINT_PATTERN = /^[a-f0-9]{64}$/;
27
+ const OBSERVATION_KEYS = new Set([
28
+ 'databaseExists',
29
+ 'migratorRoleExists',
30
+ 'readonlyRoleExists',
31
+ 'readonlySecretExists',
32
+ 'readwriteRoleExists',
33
+ 'readwriteSecretExists',
34
+ 'siblingFingerprints',
35
+ ]);
36
+ const EVIDENCE_KEYS = new Set([
37
+ 'after',
38
+ 'beforeSiblingFingerprints',
39
+ 'candidateIdentity',
40
+ 'database',
41
+ 'databaseLifecycleCorrelationId',
42
+ 'evidenceVersion',
43
+ 'registrationDigest',
44
+ 'sourceCommit',
45
+ 'stage',
46
+ 'slice',
47
+ ]);
48
+
49
+ const invalidEvidence = (message) =>
50
+ new DatabaseRetirementContractError(
51
+ 'retirement-target-substitution',
52
+ message,
53
+ );
54
+
55
+ const requireExactObject = (value, allowedKeys, label) => {
56
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
57
+ throw invalidEvidence(label + ' must be an object.');
58
+ }
59
+ const record = value;
60
+ const unsupported = Object.keys(record).filter(
61
+ (key) => !allowedKeys.has(key),
62
+ );
63
+ if (unsupported.length > 0) {
64
+ throw invalidEvidence(
65
+ label + ' contains unsupported members: ' + unsupported.join(', ') + '.',
66
+ );
67
+ }
68
+ return record;
69
+ };
70
+
71
+ const requireRegistrationDocument = (value) => {
72
+ const document = requireExactObject(
73
+ value,
74
+ new Set(['registrations', 'schemaVersion']),
75
+ 'Database retirement rehearsal registration',
76
+ );
77
+ if (
78
+ document.schemaVersion !== 1 ||
79
+ !Array.isArray(document.registrations)
80
+ ) {
81
+ throw new DatabaseRetirementContractError(
82
+ 'retirement-registration-invalid',
83
+ 'Database retirement rehearsal registration must use schemaVersion 1 and a registrations array.',
84
+ );
85
+ }
86
+ return document.registrations;
87
+ };
88
+
89
+ const requireFingerprintMap = (value, siblings, label) => {
90
+ const record = requireExactObject(value, new Set(siblings), label);
91
+ const keys = Object.keys(record).sort();
92
+ const expected = [...siblings].sort();
93
+ if (
94
+ keys.length !== expected.length ||
95
+ keys.some((key, index) => key !== expected[index])
96
+ ) {
97
+ throw invalidEvidence(
98
+ label + ' must cover the exact retained sibling set.',
99
+ );
100
+ }
101
+ for (const sibling of expected) {
102
+ if (
103
+ typeof record[sibling] !== 'string' ||
104
+ !FINGERPRINT_PATTERN.test(record[sibling])
105
+ ) {
106
+ throw invalidEvidence(
107
+ label + ' must contain a SHA-256 fingerprint for ' + sibling + '.',
108
+ );
109
+ }
110
+ }
111
+ return record;
112
+ };
113
+
114
+ const requireExecutionEvidence = (value, plan, correlationId) => {
115
+ const evidence = requireExactObject(
116
+ value,
117
+ EVIDENCE_KEYS,
118
+ 'Database retirement execution evidence',
119
+ );
120
+ if (
121
+ evidence.evidenceVersion !== 1 ||
122
+ evidence.candidateIdentity !== plan.executionInput.candidateIdentity ||
123
+ evidence.database !== plan.database ||
124
+ evidence.databaseLifecycleCorrelationId !== correlationId ||
125
+ evidence.registrationDigest !== plan.registrationDigest ||
126
+ evidence.sourceCommit !== plan.executionInput.sourceCommit ||
127
+ evidence.stage !== plan.stage ||
128
+ evidence.slice !== plan.slice
129
+ ) {
130
+ throw invalidEvidence(
131
+ 'Database retirement execution evidence differs from the reviewed registration.',
132
+ );
133
+ }
134
+
135
+ const beforeSiblingFingerprints = requireFingerprintMap(
136
+ evidence.beforeSiblingFingerprints,
137
+ plan.retainedSiblings,
138
+ 'Pre-retirement sibling fingerprints',
139
+ );
140
+ const after = requireExactObject(
141
+ evidence.after,
142
+ OBSERVATION_KEYS,
143
+ 'Post-retirement absence observation',
144
+ );
145
+ for (const key of [
146
+ 'databaseExists',
147
+ 'migratorRoleExists',
148
+ 'readonlyRoleExists',
149
+ 'readonlySecretExists',
150
+ 'readwriteRoleExists',
151
+ 'readwriteSecretExists',
152
+ ]) {
153
+ if (typeof after[key] !== 'boolean') {
154
+ throw invalidEvidence(
155
+ 'Post-retirement absence observation ' + key + ' must be boolean.',
156
+ );
157
+ }
158
+ }
159
+ return {
160
+ after: {
161
+ databaseExists: after.databaseExists,
162
+ migratorRoleExists: after.migratorRoleExists,
163
+ readonlyRoleExists: after.readonlyRoleExists,
164
+ readonlySecretExists: after.readonlySecretExists,
165
+ readwriteRoleExists: after.readwriteRoleExists,
166
+ readwriteSecretExists: after.readwriteSecretExists,
167
+ siblingFingerprints: requireFingerprintMap(
168
+ after.siblingFingerprints,
169
+ plan.retainedSiblings,
170
+ 'Post-retirement sibling fingerprints',
171
+ ),
172
+ },
173
+ beforeSiblingFingerprints,
174
+ };
175
+ };
176
+
177
+ const executionArnFor = (stateMachineArn, executionName) =>
178
+ stateMachineArn.replace(':stateMachine:', ':execution:') +
179
+ ':' +
180
+ executionName;
181
+
182
+ const executionDoesNotExist = (error) =>
183
+ error &&
184
+ typeof error === 'object' &&
185
+ error.name === 'ExecutionDoesNotExist';
186
+
187
+ const executionAlreadyExists = (error) =>
188
+ error &&
189
+ typeof error === 'object' &&
190
+ error.name === 'ExecutionAlreadyExists';
191
+
192
+ export async function runProtectedDatabaseRetirementRehearsal({
193
+ arguments: workflowArguments = [],
194
+ bindings,
195
+ now = () => Date.now(),
196
+ pollIntervalMs = 5_000,
197
+ registrationDocument,
198
+ sfn,
199
+ sleep = (duration) =>
200
+ new Promise((resolve) => setTimeout(resolve, duration)),
201
+ timeoutMs = 50 * 60 * 1_000,
202
+ }) {
203
+ if (!Array.isArray(workflowArguments)) {
204
+ throw new DatabaseRetirementContractError(
205
+ 'retirement-workflow-selection-forbidden',
206
+ 'Protected database retirement accepts no command arguments.',
207
+ );
208
+ }
209
+ if (workflowArguments.length > 0) {
210
+ throw new DatabaseRetirementContractError(
211
+ 'retirement-workflow-selection-forbidden',
212
+ 'Protected database retirement accepts no target or workflow arguments.',
213
+ );
214
+ }
215
+ if (!sfn || typeof sfn.send !== 'function') {
216
+ throw new TypeError('An SFN client is required.');
217
+ }
218
+ if (
219
+ !Number.isSafeInteger(pollIntervalMs) ||
220
+ pollIntervalMs < 0 ||
221
+ !Number.isSafeInteger(timeoutMs) ||
222
+ timeoutMs < 1
223
+ ) {
224
+ throw new TypeError(
225
+ 'Database retirement polling and timeout values must be bounded integers.',
226
+ );
227
+ }
228
+
229
+ const bindingPlan = createDatabaseBindingPlan(bindings, {
230
+ slice: SLICE,
231
+ stage: STAGE,
232
+ });
233
+ const plan = createProtectedDatabaseRetirementPlan({
234
+ bindings: {
235
+ active: bindingPlan.active.primary,
236
+ provisioned: bindingPlan.provisioned,
237
+ },
238
+ registrations: requireRegistrationDocument(registrationDocument),
239
+ workflowArguments,
240
+ });
241
+ if (plan.slice !== SLICE || plan.stage !== STAGE) {
242
+ throw invalidEvidence(
243
+ 'Database retirement registration differs from the generated Slice or development stage.',
244
+ );
245
+ }
246
+
247
+ const databaseLifecycleCorrelationId =
248
+ 'dbr-' + plan.registrationDigest.slice(0, 32);
249
+ const executionArn = executionArnFor(
250
+ plan.stateMachineArn,
251
+ plan.executionName,
252
+ );
253
+ let execution;
254
+ try {
255
+ execution = await sfn.send(
256
+ new DescribeExecutionCommand({ executionArn }),
257
+ );
258
+ } catch (error) {
259
+ if (!executionDoesNotExist(error)) throw error;
260
+ }
261
+ if (!execution) {
262
+ try {
263
+ await sfn.send(
264
+ new StartExecutionCommand({
265
+ input: JSON.stringify({
266
+ ...plan.executionInput,
267
+ databaseLifecycleCorrelationId,
268
+ }),
269
+ name: plan.executionName,
270
+ stateMachineArn: plan.stateMachineArn,
271
+ }),
272
+ );
273
+ } catch (error) {
274
+ if (!executionAlreadyExists(error)) throw error;
275
+ }
276
+ }
277
+
278
+ const deadline = now() + timeoutMs;
279
+ let status = execution?.status ?? 'RUNNING';
280
+ while (!TERMINAL_STATUSES.has(status)) {
281
+ if (now() >= deadline) {
282
+ throw new Error(
283
+ 'Timed out waiting for protected database retirement execution ' +
284
+ executionArn +
285
+ '.',
286
+ );
287
+ }
288
+ if (pollIntervalMs > 0) await sleep(pollIntervalMs);
289
+ execution = await sfn.send(
290
+ new DescribeExecutionCommand({ executionArn }),
291
+ );
292
+ status = execution.status ?? 'UNKNOWN';
293
+ }
294
+ if (status !== 'SUCCEEDED') {
295
+ throw new Error(
296
+ 'Protected database retirement execution ' +
297
+ executionArn +
298
+ ' ended with status ' +
299
+ status +
300
+ '.',
301
+ );
302
+ }
303
+ if (!execution || typeof execution.output !== 'string') {
304
+ throw invalidEvidence(
305
+ 'Successful database retirement execution is missing exact absence evidence.',
306
+ );
307
+ }
308
+
309
+ let evidence;
310
+ try {
311
+ evidence = JSON.parse(execution.output);
312
+ } catch {
313
+ throw invalidEvidence(
314
+ 'Successful database retirement execution returned invalid absence evidence.',
315
+ );
316
+ }
317
+ const observation = requireExecutionEvidence(
318
+ evidence,
319
+ plan,
320
+ databaseLifecycleCorrelationId,
321
+ );
322
+ const proof = proveDatabaseRetirementAbsence({
323
+ ...observation,
324
+ plan,
325
+ });
326
+
327
+ return {
328
+ candidateIdentity: plan.executionInput.candidateIdentity,
329
+ database: plan.database,
330
+ databaseLifecycleCorrelationId,
331
+ evidenceVersion: 1,
332
+ executionArn,
333
+ executionName: plan.executionName,
334
+ proof,
335
+ registrationDigest: plan.registrationDigest,
336
+ sourceCommit: plan.executionInput.sourceCommit,
337
+ stage: plan.stage,
338
+ slice: plan.slice,
339
+ stateMachineArn: plan.stateMachineArn,
340
+ status: 'SUCCEEDED',
341
+ };
342
+ }
343
+ `;
344
+ }
345
+ function renderDatabaseRetirementRehearsalEntry() {
346
+ return `import { SFNClient } from '@aws-sdk/client-sfn';
347
+ import databaseBindings from '../database/bindings.json' with { type: 'json' };
348
+ import registrationDocument from '../operations/database-retirement-rehearsal.json' with { type: 'json' };
349
+ import { runProtectedDatabaseRetirementRehearsal } from './database-retirement-rehearsal.mjs';
350
+
351
+ const result = await runProtectedDatabaseRetirementRehearsal({
352
+ arguments: process.argv.slice(2),
353
+ bindings: databaseBindings,
354
+ registrationDocument,
355
+ sfn: new SFNClient({}),
356
+ });
357
+ process.stdout.write(JSON.stringify(result) + '\\n');
358
+ `;
359
+ }
360
+ function renderDatabaseRetirementRehearsalRunbook(name) {
361
+ return `# ${name} database retirement rehearsal
362
+
363
+ This is a protected live-evidence control for exactly one reviewed, disposable
364
+ logical database in the \`development\` stage. It is independent of ordinary
365
+ Slice removal. The \`remove\` target must not depend on this rehearsal, and
366
+ canonical retained databases remain non-destructive. Stable v1 has no generic
367
+ or personal database-retirement target.
368
+
369
+ ## Prepare the reviewed registration
370
+
371
+ 1. Add \`retirement_rehearsal\` to one \`provisioned\` array in
372
+ \`database/bindings.json\` without making it an active database.
373
+ 2. From the exact reviewed staging candidate, retain its complete container
374
+ binding, a distinct release-bound copy of that binding, and every referenced
375
+ native-run and platform-SBOM file. In the independently protected
376
+ development account, run both native platform targets and then assemble the
377
+ index. Each platform target copies the exact staging child manifest into the
378
+ development repository before re-running the native retirement refusal and
379
+ closure proof; it never rebuilds the image. Assembly copies the exact staging
380
+ OCI index rather than synthesizing a new one:
381
+
382
+ \`EBK_STAGE=development pnpm nx run ${name}:container-release-amd64\`
383
+
384
+ \`EBK_STAGE=development pnpm nx run ${name}:container-release-arm64\`
385
+
386
+ \`EBK_STAGE=development pnpm nx run ${name}:container-release-assemble\`
387
+
388
+ Set \`EBK_SOURCE_COMMIT\`, \`EBK_RELEASE_SOURCE_COMMIT\`,
389
+ \`AWS_EXPECTED_ACCOUNT_ID\`, \`AWS_REGION\`, the protected \`GITHUB_*\` run
390
+ identity, \`EBK_STAGING_PROMOTION_EXPECTED_ACCOUNT_ID\`,
391
+ \`EBK_STAGING_PROMOTION_REGION\`, and
392
+ \`EBK_CONTAINER_PROMOTION_SOURCE_BINDING_PATH\` plus the distinct
393
+ \`EBK_CONTAINER_PROMOTION_SOURCE_SIDECAR_PATH\`. The two promoted development
394
+ child manifest digests and promoted index digest must equal staging exactly.
395
+ The result is one binding at
396
+ \`.ebk/evidence/container-release/development/packages/${name}/binding.json\`
397
+ containing only \`${name}.job.database-retirement\`.
398
+ 3. Deploy the fixed retirement-and-verification workflow for that identifier.
399
+ Synthesis fails before SST can mutate AWS if the exact development binding,
400
+ candidate, Dockerfile, AWS target, or source commit is missing or stale.
401
+ 4. Replace the empty provenance and state-machine fields in
402
+ \`operations/database-retirement-rehearsal.json\` with the exact reviewed
403
+ candidate identity, 40-character source commit, and state-machine ARN.
404
+ 5. Review the registration and binding change together. The registration must
405
+ contain exactly one entry and its Slice and both stages must remain fixed.
406
+
407
+ The empty generated fields intentionally fail before the first AWS request.
408
+ The command accepts no arguments, so an operator cannot supply a stage, Slice,
409
+ database, state machine, task, role, network, image, or command override.
410
+
411
+ Run the generated \`db-retirement-rehearsal\` target only through the protected
412
+ workflow. The deployment role needs
413
+ \`states:StartExecution\` on the exact registered state machine and
414
+ \`states:DescribeExecution\` on its exact execution namespace. It receives no
415
+ database credential, secret-value, SQL, \`rds-db:connect\`, or arbitrary ECS
416
+ authority.
417
+
418
+ Ordinary development and personal stages remain SST context-built. Exact image
419
+ evidence is required only when the literal \`development\` stage provisions the
420
+ fixed \`retirement_rehearsal\` database.
421
+
422
+ ## Exact workflow evidence
423
+
424
+ The fixed AWS-internal workflow must return one JSON object with
425
+ \`evidenceVersion: 1\`; the registered candidate, database, source commit,
426
+ stage, Slice, registration digest, and
427
+ \`databaseLifecycleCorrelationId\`; pre-retirement sibling fingerprints; and a
428
+ post-retirement observation. The observation reports whether the exact
429
+ database, migrator role, read-only role, read/write role, read-only secret, and
430
+ read/write secret still exist, plus the post-retirement sibling fingerprints.
431
+
432
+ The state machine injects its task token and reviewed execution provenance into
433
+ the fixed container environment. The task accepts no command or target
434
+ override, emits at most 64 KiB of evidence through \`SendTaskSuccess\`, and
435
+ emits only a bounded error name, phase, and safe code through
436
+ \`SendTaskFailure\`. The state-machine task has a fixed 45-minute timeout and
437
+ bounded retry policy; neither the task token nor secret values appear in logs
438
+ or callback evidence.
439
+
440
+ Sibling fingerprints are lowercase SHA-256 digests of stable, non-secret
441
+ identity and version metadata. They never contain secret values. The task that
442
+ uses the Foundation master-secret reference and the exact runtime-secret
443
+ references remains inside the fixed AWS workflow. The invocation process sees
444
+ only the registered state-machine ARN and the non-secret evidence result.
445
+
446
+ The runner rejects malformed or substituted evidence, any residual target
447
+ resource, or a missing or changed sibling. Preserve its successful JSON result,
448
+ the Step Functions execution history, canonical database-lifecycle logs, source
449
+ commit, candidate identity, and reviewed registration as the retirement
450
+ evidence bundle.
451
+
452
+ ## Recovery
453
+
454
+ If the bounded workflow retry fails terminally, inspect the execution and
455
+ canonical logs, repair the generated AWS-internal control, and create a newly
456
+ reviewed candidate registration so its digest produces a new execution
457
+ identity. Never select a sibling as a substitute and never make ordinary Slice
458
+ removal destructive to bypass this proof.
459
+ `;
460
+ }
461
+ /** @internal */
462
+ function renderDatabaseRetirementRehearsalFiles(name) {
463
+ return {
464
+ 'docs/database-retirement-rehearsal.md': renderDatabaseRetirementRehearsalRunbook(name),
465
+ 'operations/database-retirement-rehearsal.json': (0, built_in_plan_shared_js_1.json)({
466
+ registrations: [
467
+ {
468
+ candidateIdentity: '',
469
+ database: 'retirement_rehearsal',
470
+ disposition: 'disposable',
471
+ foundationStage: 'development',
472
+ registrationVersion: 1,
473
+ slice: name,
474
+ sourceCommit: '',
475
+ stage: 'development',
476
+ stateMachineArn: '',
477
+ },
478
+ ],
479
+ schemaVersion: 1,
480
+ }),
481
+ 'scripts/database-retirement-rehearsal.mjs': renderDatabaseRetirementRehearsalCore(name),
482
+ 'scripts/rehearse-database-retirement.mjs': renderDatabaseRetirementRehearsalEntry(),
483
+ };
484
+ }
485
+ //# sourceMappingURL=built-in-plan-database-retirement-rehearsal-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"built-in-plan-database-retirement-rehearsal-files.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/generators/slice/built-in-plan-database-retirement-rehearsal-files.ts"],"names":[],"mappings":";;AA8cA,wFA2BC;AAzeD,uEAAiD;AAEjD,SAAS,qCAAqC,CAAC,IAAY;IACzD,OAAO;;;;;;;;;;;iBAWQ,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsUpB,CAAC;AACF,CAAC;AAED,SAAS,sCAAsC;IAC7C,OAAO;;;;;;;;;;;;CAYR,CAAC;AACF,CAAC;AAED,SAAS,wCAAwC,CAAC,IAAY;IAC5D,OAAO,KAAK,IAAI;;;;;;;;;;;;;;;;;;;;;yCAqBuB,IAAI;;yCAEJ,IAAI;;yCAEJ,IAAI;;;;;;;;;;4DAUe,IAAI;uBACzC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8D1B,CAAC;AACF,CAAC;AAED,gBAAgB;AAChB,SAAgB,sCAAsC,CACpD,IAAY;IAEZ,OAAO;QACL,uCAAuC,EACrC,wCAAwC,CAAC,IAAI,CAAC;QAChD,+CAA+C,EAAE,IAAA,8BAAI,EAAC;YACpD,aAAa,EAAE;gBACb;oBACE,iBAAiB,EAAE,EAAE;oBACrB,QAAQ,EAAE,sBAAsB;oBAChC,WAAW,EAAE,YAAY;oBACzB,eAAe,EAAE,aAAa;oBAC9B,mBAAmB,EAAE,CAAC;oBACtB,KAAK,EAAE,IAAI;oBACX,YAAY,EAAE,EAAE;oBAChB,KAAK,EAAE,aAAa;oBACpB,eAAe,EAAE,EAAE;iBACpB;aACF;YACD,aAAa,EAAE,CAAC;SACjB,CAAC;QACF,2CAA2C,EACzC,qCAAqC,CAAC,IAAI,CAAC;QAC7C,0CAA0C,EACxC,sCAAsC,EAAE;KAC3C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ /** @internal */
2
+ export declare function renderSliceFoundationFiles(name: string, pascalName: string): Readonly<Record<string, string>>;
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.renderSliceFoundationFiles = renderSliceFoundationFiles;
4
+ /** @internal */
5
+ function renderSliceFoundationFiles(name, pascalName) {
6
+ return {
7
+ 'infra/foundation.ts': `import {
8
+ foundationSsmPath,
9
+ productSliceMigrationPath,
10
+ productSliceRegistrationPath,
11
+ productSliceRetentionPath,
12
+ resolveFoundationStages,
13
+ type FoundationDiscovery,
14
+ } from '@empire-builder-kit/nx/foundation';
15
+
16
+ const stages = resolveFoundationStages({
17
+ consumerStage: $app.stage,
18
+ foundationStage: process.env.EBK_FOUNDATION_STAGE,
19
+ });
20
+
21
+ function foundationParameter(name: Parameters<typeof foundationSsmPath>[1]) {
22
+ return aws.ssm.getParameterOutput({
23
+ name: foundationSsmPath(stages.foundationStage, name),
24
+ }).value;
25
+ }
26
+
27
+ export function getFoundation(): FoundationDiscovery {
28
+ return {
29
+ accountCostPolicyDigest: foundationParameter('accountCostPolicyDigest'),
30
+ accountMonthlyMaximumUsd: foundationParameter(
31
+ 'accountMonthlyMaximumUsd',
32
+ ).apply(Number),
33
+ alertTopicArn: foundationParameter('alertTopicArn'),
34
+ capabilities: foundationParameter('capabilities').apply((value: string) =>
35
+ value.split(',').map((capability) => capability.trim()),
36
+ ),
37
+ clusterId: foundationParameter('clusterId'),
38
+ contractVersion: foundationParameter('contractVersion'),
39
+ databaseClusterArn: foundationParameter('databaseClusterArn'),
40
+ databaseClusterEndpoint: foundationParameter('databaseClusterEndpoint'),
41
+ databaseClusterId: foundationParameter('databaseClusterId'),
42
+ databaseClusterResourceId: foundationParameter(
43
+ 'databaseClusterResourceId',
44
+ ),
45
+ databaseHost: foundationParameter('databaseHost'),
46
+ databaseMasterSecretArn: foundationParameter('databaseMasterSecretArn'),
47
+ databasePort: foundationParameter('databasePort').apply(Number),
48
+ eventBusArn: foundationParameter('eventBusArn'),
49
+ eventBusName: foundationParameter('eventBusName'),
50
+ hasPublicDomain: foundationParameter('hasPublicDomain').apply(
51
+ (value: string) => value === 'true',
52
+ ),
53
+ identityUserPoolArn: foundationParameter('identityUserPoolArn'),
54
+ identityUserPoolId: foundationParameter('identityUserPoolId'),
55
+ identityTokenEndpoint: foundationParameter('identityTokenEndpoint'),
56
+ rootDomain: foundationParameter('rootDomain').apply((value: string) =>
57
+ value === 'none' ? undefined : value,
58
+ ),
59
+ routerDistributionId: foundationParameter('routerDistributionId'),
60
+ routerUrl: foundationParameter('routerUrl'),
61
+ schemaVersion: foundationParameter('schemaVersion').apply(Number),
62
+ vpcId: foundationParameter('vpcId'),
63
+ } as FoundationDiscovery;
64
+ }
65
+
66
+ export function getFoundationInfrastructure() {
67
+ const discovery = getFoundation();
68
+ const vpc = sst.aws.Vpc.get('FoundationVpc', discovery.vpcId);
69
+ const cluster = sst.aws.Cluster.get('FoundationCluster', {
70
+ id: discovery.clusterId,
71
+ vpc,
72
+ });
73
+ const router = sst.aws.Router.get(
74
+ 'FoundationRouter',
75
+ discovery.routerDistributionId,
76
+ );
77
+ const userPool = sst.aws.CognitoUserPool.get(
78
+ 'FoundationIdentity',
79
+ discovery.identityUserPoolId,
80
+ );
81
+ const eventBus = sst.aws.Bus.get(
82
+ 'FoundationEventBus',
83
+ discovery.eventBusName,
84
+ );
85
+ return {
86
+ cluster,
87
+ database: {
88
+ clusterArn: discovery.databaseClusterArn,
89
+ clusterEndpoint: discovery.databaseClusterEndpoint,
90
+ clusterResourceId: discovery.databaseClusterResourceId,
91
+ host: discovery.databaseHost,
92
+ masterSecretArn: discovery.databaseMasterSecretArn,
93
+ port: discovery.databasePort,
94
+ },
95
+ discovery,
96
+ eventBus,
97
+ router,
98
+ userPool,
99
+ vpc,
100
+ };
101
+ }
102
+
103
+ export function registerProductSlice() {
104
+ return new aws.ssm.Parameter('${pascalName}ProductSliceRegistration', {
105
+ name: productSliceRegistrationPath(
106
+ stages.foundationStage,
107
+ stages.consumerStage,
108
+ '${name}',
109
+ ),
110
+ type: 'String',
111
+ value: JSON.stringify({
112
+ consumerStage: stages.consumerStage,
113
+ foundationContract: '^1.0.0',
114
+ foundationStage: stages.foundationStage,
115
+ name: '${name}',
116
+ registrationVersion: 1,
117
+ }),
118
+ });
119
+ }
120
+
121
+ export function registerProductMigration(
122
+ resourceName: string,
123
+ database: string,
124
+ stateMachineArn: any,
125
+ ) {
126
+ return new aws.ssm.Parameter(resourceName, {
127
+ name: productSliceMigrationPath(
128
+ stages.foundationStage,
129
+ stages.consumerStage,
130
+ '${name}',
131
+ database,
132
+ ),
133
+ type: 'String',
134
+ value: stateMachineArn,
135
+ });
136
+ }
137
+
138
+ export function registerProductRetention(stateMachineArn: any) {
139
+ return new aws.ssm.Parameter('${pascalName}DataRetentionRegistration', {
140
+ name: productSliceRetentionPath(
141
+ stages.foundationStage,
142
+ stages.consumerStage,
143
+ '${name}',
144
+ ),
145
+ type: 'String',
146
+ value: stateMachineArn,
147
+ });
148
+ }
149
+
150
+ `,
151
+ 'infra/index.ts': `import { getFoundation, registerProductSlice } from './foundation.js';
152
+ import { product } from './product.js';
153
+ import type { StandardSliceWorkloadRolePreflight } from './workload-roles/preflight.js';
154
+
155
+ export function app(workloadRoles?: StandardSliceWorkloadRolePreflight) {
156
+ const foundation = getFoundation();
157
+ const registration = registerProductSlice();
158
+ const resources = product(workloadRoles);
159
+ return {
160
+ apiUrl: resources.api.url,
161
+ authClientId: resources.authClient.id,
162
+ configurationApplicationId:
163
+ resources.configurationApplication?.id ?? 'local-only',
164
+ configurationEnvironmentId:
165
+ resources.configurationEnvironment?.environmentId ?? 'local-only',
166
+ configurationProfileId:
167
+ resources.configurationProfile?.configurationProfileId ?? 'local-only',
168
+ foundationContractVersion: foundation.contractVersion,
169
+ machineAuthClientId: resources.machineAuthorization.clientId,
170
+ machineAuthScopes: resources.machineAuthorization.scopes,
171
+ machineTokenEndpoint: resources.machineAuthorization.tokenEndpoint,
172
+ name: '${name}',
173
+ performanceEndpoint: resources.performanceEndpoint ?? 'disabled',
174
+ registration: registration.name,
175
+ stage: $app.stage,
176
+ workloadRoleManifestDigest:
177
+ workloadRoles?.registry.manifestDigest ?? 'local-dev-ephemeral',
178
+ webUrl: resources.web.url,
179
+ };
180
+ }
181
+ `,
182
+ };
183
+ }
184
+ //# sourceMappingURL=built-in-plan-foundation-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"built-in-plan-foundation-files.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/generators/slice/built-in-plan-foundation-files.ts"],"names":[],"mappings":";;AACA,gEAqLC;AAtLD,gBAAgB;AAChB,SAAgB,0BAA0B,CACxC,IAAY,EACZ,UAAkB;IAElB,OAAO;QACL,qBAAqB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAiGO,UAAU;;;;SAInC,IAAI;;;;;;;eAOE,IAAI;;;;;;;;;;;;;;;SAeV,IAAI;;;;;;;;;kCASqB,UAAU;;;;SAInC,IAAI;;;;;;;CAOZ;QACG,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;;;;aAqBT,IAAI;;;;;;;;;CAShB;KACE,CAAC;AACJ,CAAC"}