@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,578 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReleaseRolloutError = exports.RELEASE_ROLLOUT_PHASES = exports.RELEASE_ROLLOUT_PLAN_ID_PATTERN_SOURCE = exports.RELEASE_ROLLOUT_SCHEMA_VERSION = void 0;
4
+ exports.computeReleaseRolloutEvidenceDigest = computeReleaseRolloutEvidenceDigest;
5
+ exports.createReleaseRolloutEvidence = createReleaseRolloutEvidence;
6
+ exports.createRollout = createRollout;
7
+ exports.deriveRolloutStableKey = deriveRolloutStableKey;
8
+ exports.evaluateRolloutAssignment = evaluateRolloutAssignment;
9
+ exports.planReleaseRolloutControl = planReleaseRolloutControl;
10
+ exports.advanceRollout = advanceRollout;
11
+ const node_crypto_1 = require("node:crypto");
12
+ const canonical_json_1 = require("@empire-builder-kit/runtime/canonical-json");
13
+ const configuration_rollout_key_1 = require("@empire-builder-kit/runtime/configuration-rollout-key");
14
+ const configuration_rollout_evaluator_1 = require("@empire-builder-kit/runtime/configuration-rollout-evaluator");
15
+ const sensitive_patterns_1 = require("@empire-builder-kit/runtime/sensitive-patterns");
16
+ const safe_reference_1 = require("@empire-builder-kit/runtime/safe-reference");
17
+ exports.RELEASE_ROLLOUT_SCHEMA_VERSION = 1;
18
+ exports.RELEASE_ROLLOUT_PLAN_ID_PATTERN_SOURCE = '^[a-z][a-z0-9-]{0,127}$';
19
+ const RELEASE_ROLLOUT_PLAN_ID = new RegExp(exports.RELEASE_ROLLOUT_PLAN_ID_PATTERN_SOURCE, 'u');
20
+ exports.RELEASE_ROLLOUT_PHASES = [
21
+ 'expand',
22
+ 'verify-dark',
23
+ 'enable-bounded',
24
+ 'observe',
25
+ 'expand-audience',
26
+ 'make-default',
27
+ 'migrate',
28
+ 'contract',
29
+ 'remove-flag',
30
+ 'completed',
31
+ 'stopped',
32
+ 'recovering',
33
+ 'recovered',
34
+ ];
35
+ class ReleaseRolloutError extends Error {
36
+ classification;
37
+ constructor(classification, message) {
38
+ super(message);
39
+ this.classification = classification;
40
+ this.name = 'ReleaseRolloutError';
41
+ }
42
+ }
43
+ exports.ReleaseRolloutError = ReleaseRolloutError;
44
+ const FLAG_KEY = /^[a-z][a-z0-9-]{0,62}\.[a-z][a-z0-9.-]{0,126}$/;
45
+ const SHA256 = /^[a-f0-9]{64}$/;
46
+ const SOURCE_COMMIT = /^(?:[a-f0-9]{40}|[a-f0-9]{64})$/;
47
+ const ZERO_DIGEST = '0'.repeat(64);
48
+ const PLAN_INPUT_KEYS = [
49
+ 'bakeMs',
50
+ 'candidateDigest',
51
+ 'compatibility',
52
+ 'control',
53
+ 'createdAt',
54
+ 'expiresAt',
55
+ 'flagKey',
56
+ 'id',
57
+ 'minimumSamples',
58
+ 'owner',
59
+ 'percentages',
60
+ 'releaseId',
61
+ 'releaseMaterialDigest',
62
+ 'removalPlan',
63
+ 'rollbackConfigDigest',
64
+ 'rollbackConfigVersion',
65
+ 'runbook',
66
+ 'safeDefault',
67
+ 'sourceCommit',
68
+ 'stage',
69
+ 'version',
70
+ ];
71
+ function canonicalize(value) {
72
+ return (0, canonical_json_1.canonicalJson)(value);
73
+ }
74
+ function computeReleaseRolloutEvidenceDigest(evidence) {
75
+ return (0, node_crypto_1.createHash)('sha256')
76
+ .update(canonicalize(evidence), 'utf8')
77
+ .digest('hex');
78
+ }
79
+ function createReleaseRolloutEvidence(evidence) {
80
+ return {
81
+ ...evidence,
82
+ evidenceDigest: computeReleaseRolloutEvidenceDigest(evidence),
83
+ };
84
+ }
85
+ function isIsoInstant(value) {
86
+ return (/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{3})?Z$/.test(value) &&
87
+ !Number.isNaN(Date.parse(value)));
88
+ }
89
+ function hasControlCharacters(value) {
90
+ return [...value].some((character) => {
91
+ const codePoint = character.codePointAt(0);
92
+ return codePoint !== undefined && (codePoint <= 0x1f || codePoint === 0x7f);
93
+ });
94
+ }
95
+ function isSafeEvidenceReason(value) {
96
+ return (value === value.trim() &&
97
+ value.length >= 10 &&
98
+ value.length <= 500 &&
99
+ !hasControlCharacters(value) &&
100
+ !(0, sensitive_patterns_1.hasCredentialShape)(value));
101
+ }
102
+ function validateEvidence(plan, evidence) {
103
+ const { evidenceDigest, ...payload } = evidence;
104
+ const compatibilityMatches = canonicalize(evidence.compatibility) === canonicalize(plan.compatibility);
105
+ if (Object.keys(evidence).some((key) => ![
106
+ 'activeConfigVersion',
107
+ 'activeDocumentDigest',
108
+ 'activePercentage',
109
+ 'alarms',
110
+ 'api',
111
+ 'candidateDigest',
112
+ 'compatibility',
113
+ 'compatibilityRemoved',
114
+ 'contractComplete',
115
+ 'cost',
116
+ 'darkJourneyPassed',
117
+ 'data',
118
+ 'event',
119
+ 'evidenceDigest',
120
+ 'journeysPassed',
121
+ 'migrationComplete',
122
+ 'oldConsumersAbsent',
123
+ 'providerEntryRemoved',
124
+ 'releaseId',
125
+ 'releaseMaterialDigest',
126
+ 'sampleCount',
127
+ 'slo',
128
+ 'sourceCommit',
129
+ 'stage',
130
+ 'syntheticsPassed',
131
+ 'transitionProof',
132
+ ].includes(key)) ||
133
+ !SHA256.test(evidenceDigest) ||
134
+ computeReleaseRolloutEvidenceDigest(payload) !== evidenceDigest ||
135
+ !(0, safe_reference_1.isBoundedSafeReference)(evidence.activeConfigVersion) ||
136
+ !SHA256.test(evidence.activeDocumentDigest) ||
137
+ !Number.isInteger(evidence.activePercentage) ||
138
+ evidence.activePercentage < 0 ||
139
+ evidence.activePercentage > 100 ||
140
+ evidence.candidateDigest !== plan.candidateDigest ||
141
+ evidence.releaseId !== plan.releaseId ||
142
+ evidence.releaseMaterialDigest !== plan.releaseMaterialDigest ||
143
+ evidence.sourceCommit !== plan.sourceCommit ||
144
+ evidence.stage !== plan.stage ||
145
+ !compatibilityMatches ||
146
+ !Number.isInteger(evidence.sampleCount) ||
147
+ evidence.sampleCount < 0 ||
148
+ evidence.alarms.length !== plan.control.monitorAlarmIds.length ||
149
+ new Set(evidence.alarms.map(({ id }) => id)).size !==
150
+ evidence.alarms.length ||
151
+ evidence.alarms.some((alarm) => Object.keys(alarm).some((key) => !['id', 'status'].includes(key)) ||
152
+ !plan.control.monitorAlarmIds.includes(alarm.id) ||
153
+ !['pass', 'fail', 'unknown'].includes(alarm.status)) ||
154
+ (evidence.transitionProof !== undefined &&
155
+ (Object.keys(evidence.transitionProof).some((key) => !['pendingDigest', 'proofDigest', 'signals'].includes(key)) ||
156
+ !SHA256.test(evidence.transitionProof.pendingDigest) ||
157
+ !SHA256.test(evidence.transitionProof.proofDigest) ||
158
+ Object.keys(evidence.transitionProof.signals).sort().join(',') !==
159
+ 'api,cost,data,event,slo' ||
160
+ Object.values(evidence.transitionProof.signals).some((signalDigest) => !SHA256.test(signalDigest)))) ||
161
+ ![
162
+ evidence.api,
163
+ evidence.cost,
164
+ evidence.data,
165
+ evidence.event,
166
+ evidence.slo,
167
+ ].every((status) => ['pass', 'fail', 'unknown'].includes(status))) {
168
+ throw new ReleaseRolloutError('release-rollout-evidence-insufficient', 'Rollout evidence must be canonically digested and exactly bound to the candidate, release, stage, compatibility proofs, controls, and active configuration.');
169
+ }
170
+ }
171
+ function validateRolloutRecord(plan, rollout) {
172
+ if (Object.keys(rollout).some((key) => ![
173
+ 'events',
174
+ 'kind',
175
+ 'percentage',
176
+ 'percentageIndex',
177
+ 'phase',
178
+ 'phaseStartedAt',
179
+ 'planId',
180
+ 'schemaVersion',
181
+ ].includes(key)) ||
182
+ rollout.kind !== 'release-rollout' ||
183
+ rollout.schemaVersion !== exports.RELEASE_ROLLOUT_SCHEMA_VERSION ||
184
+ rollout.planId !== plan.id ||
185
+ !exports.RELEASE_ROLLOUT_PHASES.includes(rollout.phase) ||
186
+ !Number.isInteger(rollout.percentage) ||
187
+ rollout.percentage < 0 ||
188
+ rollout.percentage > 100 ||
189
+ !Number.isInteger(rollout.percentageIndex) ||
190
+ rollout.percentageIndex < -1 ||
191
+ rollout.events.length === 0 ||
192
+ rollout.events.at(-1)?.phase !== rollout.phase ||
193
+ rollout.events.at(-1)?.at !== rollout.phaseStartedAt) {
194
+ throw new ReleaseRolloutError('release-rollout-transition-invalid', 'Rollout record identity, phase, percentage, or event history is invalid.');
195
+ }
196
+ rollout.events.forEach((rolloutEvent, index) => {
197
+ const previousEvent = index > 0 ? rollout.events[index - 1] : undefined;
198
+ if (Object.keys(rolloutEvent).some((key) => !['at', 'evidenceDigest', 'percentage', 'phase', 'reason'].includes(key)) ||
199
+ !isIsoInstant(rolloutEvent.at) ||
200
+ !SHA256.test(rolloutEvent.evidenceDigest) ||
201
+ !exports.RELEASE_ROLLOUT_PHASES.includes(rolloutEvent.phase) ||
202
+ !Number.isInteger(rolloutEvent.percentage) ||
203
+ rolloutEvent.percentage < 0 ||
204
+ rolloutEvent.percentage > 100 ||
205
+ !isSafeEvidenceReason(rolloutEvent.reason) ||
206
+ (index > 0 &&
207
+ (previousEvent === undefined ||
208
+ Date.parse(rolloutEvent.at) <= Date.parse(previousEvent.at)))) {
209
+ throw new ReleaseRolloutError('release-rollout-transition-invalid', 'Rollout event history is malformed or non-monotonic.');
210
+ }
211
+ });
212
+ }
213
+ function compatibilityProven(plan) {
214
+ return Object.values(plan.compatibility).every(({ classification }) => classification === 'compatible');
215
+ }
216
+ function anyFailed(evidence) {
217
+ return [
218
+ ...evidence.alarms.map(({ status }) => status),
219
+ evidence.api,
220
+ evidence.cost,
221
+ evidence.data,
222
+ evidence.event,
223
+ evidence.slo,
224
+ ].some((status) => status === 'fail');
225
+ }
226
+ function allSignalsPass(evidence) {
227
+ return [
228
+ ...evidence.alarms.map(({ status }) => status),
229
+ evidence.api,
230
+ evidence.cost,
231
+ evidence.data,
232
+ evidence.event,
233
+ evidence.slo,
234
+ ].every((status) => status === 'pass');
235
+ }
236
+ function event(input, phase, percentage) {
237
+ return {
238
+ at: input.at,
239
+ evidenceDigest: input.evidence.evidenceDigest,
240
+ percentage,
241
+ phase,
242
+ reason: input.reason,
243
+ };
244
+ }
245
+ function transition(plan, rollout, input, phase, percentage = rollout.percentage, percentageIndex = rollout.percentageIndex) {
246
+ const expectedControl = planReleaseRolloutControl(plan, rollout, input.action);
247
+ if (input.evidence.activePercentage !== expectedControl.percentage ||
248
+ (expectedControl.configuration === 'rollback' &&
249
+ (input.evidence.activeConfigVersion !== plan.rollbackConfigVersion ||
250
+ input.evidence.activeDocumentDigest !== plan.rollbackConfigDigest))) {
251
+ throw new ReleaseRolloutError('release-rollout-evidence-insufficient', 'The polled active AppConfig document must match the transition percentage and exact rollback or cleanup version before the transition is recorded.');
252
+ }
253
+ return {
254
+ ...rollout,
255
+ events: [...rollout.events, event(input, phase, percentage)],
256
+ percentage,
257
+ percentageIndex,
258
+ phase,
259
+ phaseStartedAt: input.at,
260
+ };
261
+ }
262
+ function createRollout(input, at, evidence) {
263
+ const percentages = [...input.percentages];
264
+ const compatibilityEntries = Object.values(input.compatibility);
265
+ if (Object.keys(input).some((key) => !PLAN_INPUT_KEYS.includes(key)) ||
266
+ Object.keys(input.compatibility).some((key) => !['api', 'database', 'events'].includes(key)) ||
267
+ Object.keys(input.control).some((key) => ![
268
+ 'applicationId',
269
+ 'configurationProfileId',
270
+ 'deploymentStrategyId',
271
+ 'environmentId',
272
+ 'monitorAlarmIds',
273
+ 'rollbackDeploymentStrategyId',
274
+ ].includes(key)) ||
275
+ compatibilityEntries.some((compatibility) => Object.keys(compatibility).some((key) => ![
276
+ 'classification',
277
+ 'evidenceDigest',
278
+ 'kind',
279
+ 'sourceCommit',
280
+ ].includes(key)) ||
281
+ !['compatible', 'incompatible', 'unknown'].includes(compatibility.classification) ||
282
+ !SHA256.test(compatibility.evidenceDigest) ||
283
+ !(0, safe_reference_1.isBoundedSafeReference)(compatibility.kind) ||
284
+ !SOURCE_COMMIT.test(compatibility.sourceCommit) ||
285
+ compatibility.sourceCommit !== input.sourceCommit) ||
286
+ typeof input.safeDefault === 'object' ||
287
+ (typeof input.safeDefault === 'number' &&
288
+ !Number.isFinite(input.safeDefault)) ||
289
+ (typeof input.safeDefault === 'string' &&
290
+ (input.safeDefault.length === 0 ||
291
+ input.safeDefault !== input.safeDefault.trim())) ||
292
+ !isIsoInstant(input.createdAt) ||
293
+ !isIsoInstant(input.expiresAt) ||
294
+ Date.parse(input.expiresAt) <= Date.parse(input.createdAt) ||
295
+ !isIsoInstant(at) ||
296
+ !SHA256.test(input.candidateDigest) ||
297
+ !SHA256.test(input.releaseMaterialDigest) ||
298
+ !SHA256.test(input.rollbackConfigDigest) ||
299
+ !SOURCE_COMMIT.test(input.sourceCommit) ||
300
+ typeof input.id !== 'string' ||
301
+ !RELEASE_ROLLOUT_PLAN_ID.test(input.id) ||
302
+ !(0, safe_reference_1.isBoundedSafeReference)(input.releaseId) ||
303
+ !(0, safe_reference_1.isBoundedSafeReference)(input.owner) ||
304
+ !(0, safe_reference_1.isBoundedSafeReference)(input.version) ||
305
+ !(0, safe_reference_1.isBoundedSafeReference)(input.rollbackConfigVersion) ||
306
+ !FLAG_KEY.test(input.flagKey) ||
307
+ input.runbook.trim().length === 0 ||
308
+ input.removalPlan.trim().length === 0 ||
309
+ !Number.isInteger(input.bakeMs) ||
310
+ input.bakeMs <= 0 ||
311
+ !Number.isInteger(input.minimumSamples) ||
312
+ input.minimumSamples < 0 ||
313
+ !['staging', 'production'].includes(input.stage) ||
314
+ ![
315
+ input.control.applicationId,
316
+ input.control.configurationProfileId,
317
+ input.control.deploymentStrategyId,
318
+ input.control.environmentId,
319
+ input.control.rollbackDeploymentStrategyId,
320
+ ].every((reference) => (0, safe_reference_1.isBoundedSafeReference)(reference)) ||
321
+ input.control.monitorAlarmIds.length === 0 ||
322
+ new Set(input.control.monitorAlarmIds).size !==
323
+ input.control.monitorAlarmIds.length ||
324
+ input.control.monitorAlarmIds.some((alarm) => !(0, safe_reference_1.isBoundedSafeReference)(alarm)) ||
325
+ percentages.length === 0 ||
326
+ percentages.at(-1) !== 100 ||
327
+ percentages.some((percentage, index) => {
328
+ const previous = index > 0 ? percentages[index - 1] : undefined;
329
+ return (!Number.isInteger(percentage) ||
330
+ percentage <= 0 ||
331
+ percentage > 100 ||
332
+ (index > 0 && (previous === undefined || percentage <= previous)));
333
+ })) {
334
+ throw new ReleaseRolloutError('release-rollout-plan-invalid', 'A rollout requires bounded ownership, expiry, alarm, bake, recovery, and strictly increasing percentage steps ending at 100.');
335
+ }
336
+ if (Date.parse(at) < Date.parse(input.createdAt) ||
337
+ Date.parse(at) > Date.parse(input.expiresAt)) {
338
+ throw new ReleaseRolloutError('release-rollout-plan-invalid', 'A rollout may start only within its declared lifecycle window.');
339
+ }
340
+ const plan = {
341
+ ...input,
342
+ percentages,
343
+ kind: 'release-rollout-plan',
344
+ schemaVersion: exports.RELEASE_ROLLOUT_SCHEMA_VERSION,
345
+ };
346
+ validateEvidence(plan, evidence);
347
+ const initialEvent = {
348
+ at,
349
+ evidenceDigest: evidence.evidenceDigest,
350
+ percentage: 0,
351
+ phase: 'expand',
352
+ reason: 'Compatible expansion started.',
353
+ };
354
+ return {
355
+ plan,
356
+ rollout: {
357
+ events: [initialEvent],
358
+ kind: 'release-rollout',
359
+ percentage: 0,
360
+ percentageIndex: -1,
361
+ phase: 'expand',
362
+ phaseStartedAt: at,
363
+ planId: plan.id,
364
+ schemaVersion: exports.RELEASE_ROLLOUT_SCHEMA_VERSION,
365
+ },
366
+ };
367
+ }
368
+ /**
369
+ * Establishes the release-controller boundary for deriving a stable
370
+ * pseudonym. Raw identifiers never enter assignment evaluation.
371
+ */
372
+ function deriveRolloutStableKey(input) {
373
+ try {
374
+ return (0, configuration_rollout_key_1.derivePseudonymousStableKeyValue)(input);
375
+ }
376
+ catch {
377
+ throw new ReleaseRolloutError('release-rollout-targeting-invalid', 'Rollout targeting requires server-side HMAC derivation with a deployment-held secret.');
378
+ }
379
+ }
380
+ /**
381
+ * Produces a stable bounded assignment without retaining the targeting key.
382
+ * The branded key must originate at the explicit derivation boundary.
383
+ */
384
+ function evaluateRolloutAssignment(input) {
385
+ try {
386
+ return (0, configuration_rollout_evaluator_1.evaluatePseudonymousPercentageRolloutValue)({
387
+ enabled: true,
388
+ ...input,
389
+ });
390
+ }
391
+ catch {
392
+ throw new ReleaseRolloutError('release-rollout-targeting-invalid', 'Rollout assignment requires a percentage and a bounded pseudonymous stable key.');
393
+ }
394
+ }
395
+ /**
396
+ * Returns the configuration state a protected controller must make active
397
+ * before it can commit the requested transition. This does not authorize the
398
+ * transition; callers must still gather post-deployment evidence and pass it
399
+ * to advanceRollout.
400
+ */
401
+ function planReleaseRolloutControl(plan, rollout, action) {
402
+ validateRolloutRecord(plan, rollout);
403
+ if (['stop', 'begin-recovery', 'complete-recovery'].includes(action)) {
404
+ return {
405
+ configuration: 'rollback',
406
+ enabled: false,
407
+ percentage: 0,
408
+ };
409
+ }
410
+ switch (rollout.phase) {
411
+ case 'expand':
412
+ return { configuration: 'rollout', enabled: false, percentage: 0 };
413
+ case 'verify-dark':
414
+ return { configuration: 'rollout', enabled: false, percentage: 0 };
415
+ case 'enable-bounded':
416
+ case 'expand-audience':
417
+ return {
418
+ configuration: 'rollout',
419
+ enabled: true,
420
+ percentage: rollout.percentage,
421
+ };
422
+ case 'observe': {
423
+ return {
424
+ configuration: 'rollout',
425
+ enabled: true,
426
+ percentage: rollout.percentage,
427
+ };
428
+ }
429
+ case 'make-default':
430
+ case 'migrate':
431
+ case 'contract':
432
+ return { configuration: 'rollout', enabled: true, percentage: 100 };
433
+ case 'remove-flag':
434
+ return { configuration: 'cleanup', enabled: false, percentage: 100 };
435
+ case 'stopped':
436
+ case 'recovering':
437
+ throw new ReleaseRolloutError('release-rollout-transition-invalid', 'Stopped rollout control requires an explicit recovery action.');
438
+ case 'completed':
439
+ case 'recovered':
440
+ throw new ReleaseRolloutError('release-rollout-transition-invalid', 'Terminal rollout control cannot be changed.');
441
+ }
442
+ }
443
+ function advanceRollout(plan, rollout, input) {
444
+ if (plan.kind !== 'release-rollout-plan' ||
445
+ plan.schemaVersion !== exports.RELEASE_ROLLOUT_SCHEMA_VERSION) {
446
+ throw new ReleaseRolloutError('release-rollout-plan-invalid', 'Rollout plan must use the v1 release-rollout-plan contract.');
447
+ }
448
+ const planInput = Object.fromEntries(PLAN_INPUT_KEYS.map((key) => [key, plan[key]]));
449
+ const zeroEvidence = createReleaseRolloutEvidence({
450
+ activeConfigVersion: plan.rollbackConfigVersion,
451
+ activeDocumentDigest: ZERO_DIGEST,
452
+ activePercentage: 0,
453
+ alarms: plan.control.monitorAlarmIds.map((id) => ({
454
+ id,
455
+ status: 'unknown',
456
+ })),
457
+ api: 'unknown',
458
+ candidateDigest: plan.candidateDigest,
459
+ compatibility: plan.compatibility,
460
+ cost: 'unknown',
461
+ data: 'unknown',
462
+ event: 'unknown',
463
+ releaseId: plan.releaseId,
464
+ releaseMaterialDigest: plan.releaseMaterialDigest,
465
+ sampleCount: 0,
466
+ slo: 'unknown',
467
+ sourceCommit: plan.sourceCommit,
468
+ stage: plan.stage,
469
+ syntheticsPassed: false,
470
+ });
471
+ createRollout(planInput, plan.createdAt, zeroEvidence);
472
+ validateRolloutRecord(plan, rollout);
473
+ validateEvidence(plan, input.evidence);
474
+ const lastEvent = rollout.events.at(-1);
475
+ if (lastEvent?.phase !== rollout.phase ||
476
+ !isIsoInstant(input.at) ||
477
+ Date.parse(input.at) <= Date.parse(rollout.phaseStartedAt) ||
478
+ Date.parse(input.at) > Date.parse(plan.expiresAt) ||
479
+ !isSafeEvidenceReason(input.reason) ||
480
+ ['completed', 'recovered'].includes(rollout.phase)) {
481
+ throw new ReleaseRolloutError('release-rollout-transition-invalid', 'Rollout transition does not match the active plan, phase, or evidence timeline.');
482
+ }
483
+ if (anyFailed(input.evidence) &&
484
+ !['stopped', 'recovering'].includes(rollout.phase)) {
485
+ return transition(plan, rollout, input, 'stopped', 0);
486
+ }
487
+ if (input.action === 'stop') {
488
+ if (['stopped', 'recovering'].includes(rollout.phase)) {
489
+ throw new ReleaseRolloutError('release-rollout-transition-invalid', 'A stopped rollout cannot be stopped again.');
490
+ }
491
+ return transition(plan, rollout, input, 'stopped', 0);
492
+ }
493
+ if (input.action === 'begin-recovery') {
494
+ if (rollout.phase !== 'stopped' ||
495
+ input.evidence.activeConfigVersion !== plan.rollbackConfigVersion) {
496
+ throw new ReleaseRolloutError('release-rollout-transition-invalid', 'Recovery starts only after stop and after the rollback configuration is active.');
497
+ }
498
+ return transition(plan, rollout, input, 'recovering', 0);
499
+ }
500
+ if (input.action === 'complete-recovery') {
501
+ if (rollout.phase !== 'recovering' ||
502
+ input.evidence.activeConfigVersion !== plan.rollbackConfigVersion ||
503
+ !allSignalsPass(input.evidence) ||
504
+ !input.evidence.journeysPassed) {
505
+ throw new ReleaseRolloutError('release-rollout-evidence-insufficient', 'Recovery completes only after the prior configuration, signals, and journeys converge.');
506
+ }
507
+ return transition(plan, rollout, input, 'recovered', 0);
508
+ }
509
+ if (['stopped', 'recovering'].includes(rollout.phase)) {
510
+ throw new ReleaseRolloutError('release-rollout-transition-invalid', 'Stopped rollout must use the explicit recovery path.');
511
+ }
512
+ if (!compatibilityProven(plan)) {
513
+ throw new ReleaseRolloutError('release-rollout-compatibility-blocked', 'API, database, and event compatibility must be proven before rollout advances.');
514
+ }
515
+ if (!allSignalsPass(input.evidence)) {
516
+ throw new ReleaseRolloutError('release-rollout-evidence-insufficient', 'Rollout advancement requires passing signals and the exact active rollout configuration.');
517
+ }
518
+ switch (rollout.phase) {
519
+ case 'expand':
520
+ return transition(plan, rollout, input, 'verify-dark');
521
+ case 'verify-dark':
522
+ if (!input.evidence.darkJourneyPassed) {
523
+ throw new ReleaseRolloutError('release-rollout-evidence-insufficient', 'Dark verification must pass before bounded enablement.');
524
+ }
525
+ if (plan.percentages[0] === undefined) {
526
+ throw new ReleaseRolloutError('release-rollout-plan-invalid', 'Rollout plan must declare an initial audience percentage.');
527
+ }
528
+ return transition(plan, rollout, input, 'enable-bounded', plan.percentages[0], 0);
529
+ case 'enable-bounded':
530
+ case 'expand-audience':
531
+ return transition(plan, rollout, input, 'observe');
532
+ case 'observe': {
533
+ const elapsed = Date.parse(input.at) - Date.parse(rollout.phaseStartedAt);
534
+ const enoughTraffic = input.evidence.sampleCount >= plan.minimumSamples ||
535
+ input.evidence.syntheticsPassed;
536
+ if (elapsed < plan.bakeMs ||
537
+ !enoughTraffic ||
538
+ !input.evidence.journeysPassed) {
539
+ throw new ReleaseRolloutError('release-rollout-evidence-insufficient', 'Audience expansion requires the full bake, samples or synthetics, and passing journeys.');
540
+ }
541
+ const nextIndex = rollout.percentageIndex + 1;
542
+ if (nextIndex < plan.percentages.length) {
543
+ const nextPercentage = plan.percentages[nextIndex];
544
+ if (nextPercentage === undefined) {
545
+ throw new ReleaseRolloutError('release-rollout-plan-invalid', 'Rollout plan audience percentages are incomplete.');
546
+ }
547
+ return transition(plan, rollout, input, 'expand-audience', nextPercentage, nextIndex);
548
+ }
549
+ return transition(plan, rollout, input, 'make-default', 100);
550
+ }
551
+ case 'make-default':
552
+ return transition(plan, rollout, input, 'migrate', 100);
553
+ case 'migrate':
554
+ if (!input.evidence.migrationComplete) {
555
+ throw new ReleaseRolloutError('release-rollout-evidence-insufficient', 'Migration must complete before contract.');
556
+ }
557
+ return transition(plan, rollout, input, 'contract', 100);
558
+ case 'contract':
559
+ if (!input.evidence.contractComplete ||
560
+ !input.evidence.oldConsumersAbsent) {
561
+ throw new ReleaseRolloutError('release-rollout-evidence-insufficient', 'Contract requires completed compatibility removal and absence of old consumers.');
562
+ }
563
+ return transition(plan, rollout, input, 'remove-flag', 100);
564
+ case 'remove-flag':
565
+ if (!input.evidence.compatibilityRemoved ||
566
+ !input.evidence.providerEntryRemoved ||
567
+ !input.evidence.journeysPassed) {
568
+ throw new ReleaseRolloutError('release-rollout-cleanup-incomplete', 'Completion requires old compatibility, provider entry, and evaluation code cleanup with passing journeys.');
569
+ }
570
+ return transition(plan, rollout, input, 'completed', 100);
571
+ case 'completed':
572
+ case 'recovered':
573
+ case 'recovering':
574
+ case 'stopped':
575
+ throw new ReleaseRolloutError('release-rollout-transition-invalid', 'Terminal or recovery phases do not support ordinary advancement.');
576
+ }
577
+ }
578
+ //# sourceMappingURL=rollout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rollout.js","sourceRoot":"","sources":["../../../../../packages/nx/src/release/rollout.ts"],"names":[],"mappings":";;;AA4OA,kFAMC;AAED,oEAOC;AA+PD,sCA0IC;AAMD,wDAWC;AAMD,8DAiBC;AAQD,8DAmDC;AAED,wCA6NC;AAt8BD,6CAAyC;AACzC,+EAA2E;AAC3E,qGAAyG;AACzG,iHAAyH;AAKzH,uFAAoF;AACpF,+EAAoF;AAMvE,QAAA,8BAA8B,GAAG,CAAU,CAAC;AAC5C,QAAA,sCAAsC,GACjD,yBAAkC,CAAC;AACrC,MAAM,uBAAuB,GAAG,IAAI,MAAM,CACxC,8CAAsC,EACtC,GAAG,CACJ,CAAC;AACW,QAAA,sBAAsB,GAAG;IACpC,QAAQ;IACR,aAAa;IACb,gBAAgB;IAChB,SAAS;IACT,iBAAiB;IACjB,cAAc;IACd,SAAS;IACT,UAAU;IACV,aAAa;IACb,WAAW;IACX,SAAS;IACT,YAAY;IACZ,WAAW;CACH,CAAC;AA8JX,MAAa,mBAAoB,SAAQ,KAAK;IAEjC;IADX,YACW,cAAmD,EAC5D,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHN,mBAAc,GAAd,cAAc,CAAqC;QAI5D,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AARD,kDAQC;AAED,MAAM,QAAQ,GAAG,gDAAgD,CAAC;AAClE,MAAM,MAAM,GAAG,gBAAgB,CAAC;AAChC,MAAM,aAAa,GAAG,iCAAiC,CAAC;AACxD,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACnC,MAAM,eAAe,GAAG;IACtB,QAAQ;IACR,iBAAiB;IACjB,eAAe;IACf,SAAS;IACT,WAAW;IACX,WAAW;IACX,SAAS;IACT,IAAI;IACJ,gBAAgB;IAChB,OAAO;IACP,aAAa;IACb,WAAW;IACX,uBAAuB;IACvB,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,SAAS;IACT,aAAa;IACb,cAAc;IACd,OAAO;IACP,SAAS;CACD,CAAC;AAEX,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,IAAA,8BAAa,EAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,SAAgB,mCAAmC,CACjD,QAAuC;IAEvC,OAAO,IAAA,wBAAU,EAAC,QAAQ,CAAC;SACxB,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;SACtC,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED,SAAgB,4BAA4B,CAC1C,QAAuC;IAEvC,OAAO;QACL,GAAG,QAAQ;QACX,cAAc,EAAE,mCAAmC,CAAC,QAAQ,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,CACL,oDAAoD,CAAC,IAAI,CAAC,KAAK,CAAC;QAChE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CACjC,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;QACnC,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC3C,OAAO,SAAS,KAAK,SAAS,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,SAAS,KAAK,IAAI,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,OAAO,CACL,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE;QACtB,KAAK,CAAC,MAAM,IAAI,EAAE;QAClB,KAAK,CAAC,MAAM,IAAI,GAAG;QACnB,CAAC,oBAAoB,CAAC,KAAK,CAAC;QAC5B,CAAC,IAAA,uCAAkB,EAAC,KAAK,CAAC,CAC3B,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAwB,EACxB,QAAgC;IAEhC,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,CAAC;IAChD,MAAM,oBAAoB,GACxB,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC5E,IACE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CACxB,CAAC,GAAG,EAAE,EAAE,CACN,CAAC;QACC,qBAAqB;QACrB,sBAAsB;QACtB,kBAAkB;QAClB,QAAQ;QACR,KAAK;QACL,iBAAiB;QACjB,eAAe;QACf,sBAAsB;QACtB,kBAAkB;QAClB,MAAM;QACN,mBAAmB;QACnB,MAAM;QACN,OAAO;QACP,gBAAgB;QAChB,gBAAgB;QAChB,mBAAmB;QACnB,oBAAoB;QACpB,sBAAsB;QACtB,WAAW;QACX,uBAAuB;QACvB,aAAa;QACb,KAAK;QACL,cAAc;QACd,OAAO;QACP,kBAAkB;QAClB,iBAAiB;KAClB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAClB;QACD,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;QAC5B,mCAAmC,CAAC,OAAO,CAAC,KAAK,cAAc;QAC/D,CAAC,IAAA,uCAAsB,EAAC,QAAQ,CAAC,mBAAmB,CAAC;QACrD,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAC3C,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAC5C,QAAQ,CAAC,gBAAgB,GAAG,CAAC;QAC7B,QAAQ,CAAC,gBAAgB,GAAG,GAAG;QAC/B,QAAQ,CAAC,eAAe,KAAK,IAAI,CAAC,eAAe;QACjD,QAAQ,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS;QACrC,QAAQ,CAAC,qBAAqB,KAAK,IAAI,CAAC,qBAAqB;QAC7D,QAAQ,CAAC,YAAY,KAAK,IAAI,CAAC,YAAY;QAC3C,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;QAC7B,CAAC,oBAAoB;QACrB,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;QACvC,QAAQ,CAAC,WAAW,GAAG,CAAC;QACxB,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM;QAC9D,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;YAC/C,QAAQ,CAAC,MAAM,CAAC,MAAM;QACxB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAClB,CAAC,KAAK,EAAE,EAAE,CACR,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACjE,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CACtD;QACD,CAAC,QAAQ,CAAC,eAAe,KAAK,SAAS;YACrC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,CACzC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CACpE;gBACC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,aAAa,CAAC;gBACpD,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC;gBAClD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;oBAC5D,yBAAyB;gBAC3B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,CAClD,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAC7C,CAAC,CAAC;QACP,CAAC;YACC,QAAQ,CAAC,GAAG;YACZ,QAAQ,CAAC,IAAI;YACb,QAAQ,CAAC,IAAI;YACb,QAAQ,CAAC,KAAK;YACd,QAAQ,CAAC,GAAG;SACb,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EACjE,CAAC;QACD,MAAM,IAAI,mBAAmB,CAC3B,uCAAuC,EACvC,6JAA6J,CAC9J,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAAwB,EACxB,OAAuB;IAEvB,IACE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CACvB,CAAC,GAAG,EAAE,EAAE,CACN,CAAC;QACC,QAAQ;QACR,MAAM;QACN,YAAY;QACZ,iBAAiB;QACjB,OAAO;QACP,gBAAgB;QAChB,QAAQ;QACR,eAAe;KAChB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAClB;QACD,OAAO,CAAC,IAAI,KAAK,iBAAiB;QAClC,OAAO,CAAC,aAAa,KAAK,sCAA8B;QACxD,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE;QAC1B,CAAC,8BAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;QAC/C,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC;QACrC,OAAO,CAAC,UAAU,GAAG,CAAC;QACtB,OAAO,CAAC,UAAU,GAAG,GAAG;QACxB,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC;QAC1C,OAAO,CAAC,eAAe,GAAG,CAAC,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAC3B,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,OAAO,CAAC,KAAK;QAC9C,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,OAAO,CAAC,cAAc,EACpD,CAAC;QACD,MAAM,IAAI,mBAAmB,CAC3B,oCAAoC,EACpC,0EAA0E,CAC3E,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE;QAC7C,MAAM,aAAa,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxE,IACE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAC5B,CAAC,GAAG,EAAE,EAAE,CACN,CAAC,CAAC,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CACjE,GAAG,CACJ,CACJ;YACD,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC;YACzC,CAAC,8BAAsB,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC;YACpD,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC;YAC1C,YAAY,CAAC,UAAU,GAAG,CAAC;YAC3B,YAAY,CAAC,UAAU,GAAG,GAAG;YAC7B,CAAC,oBAAoB,CAAC,YAAY,CAAC,MAAM,CAAC;YAC1C,CAAC,KAAK,GAAG,CAAC;gBACR,CAAC,aAAa,KAAK,SAAS;oBAC1B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,EACjE,CAAC;YACD,MAAM,IAAI,mBAAmB,CAC3B,oCAAoC,EACpC,sDAAsD,CACvD,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAwB;IACnD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAC5C,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,cAAc,KAAK,YAAY,CACxD,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,QAAgC;IACjD,OAAO;QACL,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC;QAC9C,QAAQ,CAAC,GAAG;QACZ,QAAQ,CAAC,IAAI;QACb,QAAQ,CAAC,IAAI;QACb,QAAQ,CAAC,KAAK;QACd,QAAQ,CAAC,GAAG;KACb,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,cAAc,CAAC,QAAgC;IACtD,OAAO;QACL,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC;QAC9C,QAAQ,CAAC,GAAG;QACZ,QAAQ,CAAC,IAAI;QACb,QAAQ,CAAC,IAAI;QACb,QAAQ,CAAC,KAAK;QACd,QAAQ,CAAC,GAAG;KACb,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,KAAK,CACZ,KAAiC,EACjC,KAA0B,EAC1B,UAAkB;IAElB,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,cAAc;QAC7C,UAAU;QACV,KAAK;QACL,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CACjB,IAAwB,EACxB,OAAuB,EACvB,KAAiC,EACjC,KAA0B,EAC1B,UAAU,GAAG,OAAO,CAAC,UAAU,EAC/B,eAAe,GAAG,OAAO,CAAC,eAAe;IAEzC,MAAM,eAAe,GAAG,yBAAyB,CAC/C,IAAI,EACJ,OAAO,EACP,KAAK,CAAC,MAAM,CACb,CAAC;IACF,IACE,KAAK,CAAC,QAAQ,CAAC,gBAAgB,KAAK,eAAe,CAAC,UAAU;QAC9D,CAAC,eAAe,CAAC,aAAa,KAAK,UAAU;YAC3C,CAAC,KAAK,CAAC,QAAQ,CAAC,mBAAmB,KAAK,IAAI,CAAC,qBAAqB;gBAChE,KAAK,CAAC,QAAQ,CAAC,oBAAoB,KAAK,IAAI,CAAC,oBAAoB,CAAC,CAAC,EACvE,CAAC;QACD,MAAM,IAAI,mBAAmB,CAC3B,uCAAuC,EACvC,oJAAoJ,CACrJ,CAAC;IACJ,CAAC;IACD,OAAO;QACL,GAAG,OAAO;QACV,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC5D,UAAU;QACV,eAAe;QACf,KAAK;QACL,cAAc,EAAE,KAAK,CAAC,EAAE;KACzB,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAC3B,KAA8B,EAC9B,EAAU,EACV,QAAgC;IAEhC,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAChE,IACE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CACrB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAE,eAAqC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAC/D;QACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CACnC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CACtD;QACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAC7B,CAAC,GAAG,EAAE,EAAE,CACN,CAAC;YACC,eAAe;YACf,wBAAwB;YACxB,sBAAsB;YACtB,eAAe;YACf,iBAAiB;YACjB,8BAA8B;SAC/B,CAAC,QAAQ,CAAC,GAAG,CAAC,CAClB;QACD,oBAAoB,CAAC,IAAI,CACvB,CAAC,aAAa,EAAE,EAAE,CAChB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAC7B,CAAC,GAAG,EAAE,EAAE,CACN,CAAC;YACC,gBAAgB;YAChB,gBAAgB;YAChB,MAAM;YACN,cAAc;SACf,CAAC,QAAQ,CAAC,GAAG,CAAC,CAClB;YACD,CAAC,CAAC,YAAY,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,QAAQ,CACjD,aAAa,CAAC,cAAc,CAC7B;YACD,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YAC1C,CAAC,IAAA,uCAAsB,EAAC,aAAa,CAAC,IAAI,CAAC;YAC3C,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;YAC/C,aAAa,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,CACpD;QACD,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QACrC,CAAC,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;YACpC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACtC,CAAC,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;YACpC,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;gBAC7B,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC;QAC9B,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;QAC1D,CAAC,YAAY,CAAC,EAAE,CAAC;QACjB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;QACnC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC;QACzC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC;QACxC,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;QACvC,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAC5B,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACvC,CAAC,IAAA,uCAAsB,EAAC,KAAK,CAAC,SAAS,CAAC;QACxC,CAAC,IAAA,uCAAsB,EAAC,KAAK,CAAC,KAAK,CAAC;QACpC,CAAC,IAAA,uCAAsB,EAAC,KAAK,CAAC,OAAO,CAAC;QACtC,CAAC,IAAA,uCAAsB,EAAC,KAAK,CAAC,qBAAqB,CAAC;QACpD,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC7B,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QACjC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QACrC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;QAC/B,KAAK,CAAC,MAAM,IAAI,CAAC;QACjB,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC;QACvC,KAAK,CAAC,cAAc,GAAG,CAAC;QACxB,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;QAChD,CAAC;YACC,KAAK,CAAC,OAAO,CAAC,aAAa;YAC3B,KAAK,CAAC,OAAO,CAAC,sBAAsB;YACpC,KAAK,CAAC,OAAO,CAAC,oBAAoB;YAClC,KAAK,CAAC,OAAO,CAAC,aAAa;YAC3B,KAAK,CAAC,OAAO,CAAC,4BAA4B;SAC3C,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAA,uCAAsB,EAAC,SAAS,CAAC,CAAC;QACzD,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;QAC1C,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI;YACzC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM;QACtC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAChC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAA,uCAAsB,EAAC,KAAK,CAAC,CAC1C;QACD,WAAW,CAAC,MAAM,KAAK,CAAC;QACxB,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;QAC1B,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;YACrC,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAChE,OAAO,CACL,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC;gBAC7B,UAAU,IAAI,CAAC;gBACf,UAAU,GAAG,GAAG;gBAChB,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,UAAU,IAAI,QAAQ,CAAC,CAAC,CAClE,CAAC;QACJ,CAAC,CAAC,EACF,CAAC;QACD,MAAM,IAAI,mBAAmB,CAC3B,8BAA8B,EAC9B,8HAA8H,CAC/H,CAAC;IACJ,CAAC;IACD,IACE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAC5C,CAAC;QACD,MAAM,IAAI,mBAAmB,CAC3B,8BAA8B,EAC9B,gEAAgE,CACjE,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAuB;QAC/B,GAAG,KAAK;QACR,WAAW;QACX,IAAI,EAAE,sBAAsB;QAC5B,aAAa,EAAE,sCAA8B;KAC9C,CAAC;IACF,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACjC,MAAM,YAAY,GAAwB;QACxC,EAAE;QACF,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,UAAU,EAAE,CAAC;QACb,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,+BAA+B;KACxC,CAAC;IACF,OAAO;QACL,IAAI;QACJ,OAAO,EAAE;YACP,MAAM,EAAE,CAAC,YAAY,CAAC;YACtB,IAAI,EAAE,iBAAiB;YACvB,UAAU,EAAE,CAAC;YACb,eAAe,EAAE,CAAC,CAAC;YACnB,KAAK,EAAE,QAAQ;YACf,cAAc,EAAE,EAAE;YAClB,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,aAAa,EAAE,sCAA8B;SAC9C;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,sBAAsB,CACpC,KAA6C;IAE7C,IAAI,CAAC;QACH,OAAO,IAAA,4DAAgC,EAAC,KAAK,CAA4B,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,mBAAmB,CAC3B,mCAAmC,EACnC,uFAAuF,CACxF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,yBAAyB,CAAC,KAKzC;IACC,IAAI,CAAC;QACH,OAAO,IAAA,4EAA0C,EAAC;YAChD,OAAO,EAAE,IAAI;YACb,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,mBAAmB,CAC3B,mCAAmC,EACnC,iFAAiF,CAClF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,yBAAyB,CACvC,IAAwB,EACxB,OAAuB,EACvB,MAA4C;IAE5C,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrE,OAAO;YACL,aAAa,EAAE,UAAU;YACzB,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,CAAC;SACd,CAAC;IACJ,CAAC;IACD,QAAQ,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,KAAK,QAAQ;YACX,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QACrE,KAAK,aAAa;YAChB,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QACrE,KAAK,gBAAgB,CAAC;QACtB,KAAK,iBAAiB;YACpB,OAAO;gBACL,aAAa,EAAE,SAAS;gBACxB,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC;QACJ,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,OAAO;gBACL,aAAa,EAAE,SAAS;gBACxB,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC;QACJ,CAAC;QACD,KAAK,cAAc,CAAC;QACpB,KAAK,SAAS,CAAC;QACf,KAAK,UAAU;YACb,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;QACtE,KAAK,aAAa;YAChB,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;QACvE,KAAK,SAAS,CAAC;QACf,KAAK,YAAY;YACf,MAAM,IAAI,mBAAmB,CAC3B,oCAAoC,EACpC,+DAA+D,CAChE,CAAC;QACJ,KAAK,WAAW,CAAC;QACjB,KAAK,WAAW;YACd,MAAM,IAAI,mBAAmB,CAC3B,oCAAoC,EACpC,6CAA6C,CAC9C,CAAC;IACN,CAAC;AACH,CAAC;AAED,SAAgB,cAAc,CAC5B,IAAwB,EACxB,OAAuB,EACvB,KAAiC;IAEjC,IACE,IAAI,CAAC,IAAI,KAAK,sBAAsB;QACpC,IAAI,CAAC,aAAa,KAAK,sCAA8B,EACrD,CAAC;QACD,MAAM,IAAI,mBAAmB,CAC3B,8BAA8B,EAC9B,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAClC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CACT,CAAC;IACxC,MAAM,YAAY,GAAG,4BAA4B,CAAC;QAChD,mBAAmB,EAAE,IAAI,CAAC,qBAAqB;QAC/C,oBAAoB,EAAE,WAAW;QACjC,gBAAgB,EAAE,CAAC;QACnB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAChD,EAAE;YACF,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;QACH,GAAG,EAAE,SAAS;QACd,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;QACjD,WAAW,EAAE,CAAC;QACd,GAAG,EAAE,SAAS;QACd,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,gBAAgB,EAAE,KAAK;KACxB,CAAC,CAAC;IACH,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACvD,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,IACE,SAAS,EAAE,KAAK,KAAK,OAAO,CAAC,KAAK;QAClC,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;QAC1D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;QACjD,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC;QACnC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAClD,CAAC;QACD,MAAM,IAAI,mBAAmB,CAC3B,oCAAoC,EACpC,iFAAiF,CAClF,CAAC;IACJ,CAAC;IAED,IACE,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;QACzB,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAClD,CAAC;QACD,OAAO,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,mBAAmB,CAC3B,oCAAoC,EACpC,4CAA4C,CAC7C,CAAC;QACJ,CAAC;QACD,OAAO,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;QACtC,IACE,OAAO,CAAC,KAAK,KAAK,SAAS;YAC3B,KAAK,CAAC,QAAQ,CAAC,mBAAmB,KAAK,IAAI,CAAC,qBAAqB,EACjE,CAAC;YACD,MAAM,IAAI,mBAAmB,CAC3B,oCAAoC,EACpC,iFAAiF,CAClF,CAAC;QACJ,CAAC;QACD,OAAO,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;QACzC,IACE,OAAO,CAAC,KAAK,KAAK,YAAY;YAC9B,KAAK,CAAC,QAAQ,CAAC,mBAAmB,KAAK,IAAI,CAAC,qBAAqB;YACjE,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC;YAC/B,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAC9B,CAAC;YACD,MAAM,IAAI,mBAAmB,CAC3B,uCAAuC,EACvC,wFAAwF,CACzF,CAAC;QACJ,CAAC;QACD,OAAO,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,mBAAmB,CAC3B,oCAAoC,EACpC,sDAAsD,CACvD,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,mBAAmB,CAC3B,uCAAuC,EACvC,gFAAgF,CACjF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,mBAAmB,CAC3B,uCAAuC,EACvC,0FAA0F,CAC3F,CAAC;IACJ,CAAC;IAED,QAAQ,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,KAAK,QAAQ;YACX,OAAO,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;QACzD,KAAK,aAAa;YAChB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;gBACtC,MAAM,IAAI,mBAAmB,CAC3B,uCAAuC,EACvC,wDAAwD,CACzD,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBACtC,MAAM,IAAI,mBAAmB,CAC3B,8BAA8B,EAC9B,2DAA2D,CAC5D,CAAC;YACJ,CAAC;YACD,OAAO,UAAU,CACf,IAAI,EACJ,OAAO,EACP,KAAK,EACL,gBAAgB,EAChB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EACnB,CAAC,CACF,CAAC;QACJ,KAAK,gBAAgB,CAAC;QACtB,KAAK,iBAAiB;YACpB,OAAO,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACrD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAC1E,MAAM,aAAa,GACjB,KAAK,CAAC,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC,cAAc;gBACjD,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAClC,IACE,OAAO,GAAG,IAAI,CAAC,MAAM;gBACrB,CAAC,aAAa;gBACd,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAC9B,CAAC;gBACD,MAAM,IAAI,mBAAmB,CAC3B,uCAAuC,EACvC,yFAAyF,CAC1F,CAAC;YACJ,CAAC;YACD,MAAM,SAAS,GAAG,OAAO,CAAC,eAAe,GAAG,CAAC,CAAC;YAC9C,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;gBACxC,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBACnD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;oBACjC,MAAM,IAAI,mBAAmB,CAC3B,8BAA8B,EAC9B,mDAAmD,CACpD,CAAC;gBACJ,CAAC;gBACD,OAAO,UAAU,CACf,IAAI,EACJ,OAAO,EACP,KAAK,EACL,iBAAiB,EACjB,cAAc,EACd,SAAS,CACV,CAAC;YACJ,CAAC;YACD,OAAO,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;QAC/D,CAAC;QACD,KAAK,cAAc;YACjB,OAAO,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QAC1D,KAAK,SAAS;YACZ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;gBACtC,MAAM,IAAI,mBAAmB,CAC3B,uCAAuC,EACvC,0CAA0C,CAC3C,CAAC;YACJ,CAAC;YACD,OAAO,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QAC3D,KAAK,UAAU;YACb,IACE,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB;gBAChC,CAAC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,EAClC,CAAC;gBACD,MAAM,IAAI,mBAAmB,CAC3B,uCAAuC,EACvC,iFAAiF,CAClF,CAAC;YACJ,CAAC;YACD,OAAO,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAC9D,KAAK,aAAa;YAChB,IACE,CAAC,KAAK,CAAC,QAAQ,CAAC,oBAAoB;gBACpC,CAAC,KAAK,CAAC,QAAQ,CAAC,oBAAoB;gBACpC,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAC9B,CAAC;gBACD,MAAM,IAAI,mBAAmB,CAC3B,oCAAoC,EACpC,2GAA2G,CAC5G,CAAC;YACJ,CAAC;YACD,OAAO,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;QAC5D,KAAK,WAAW,CAAC;QACjB,KAAK,WAAW,CAAC;QACjB,KAAK,YAAY,CAAC;QAClB,KAAK,SAAS;YACZ,MAAM,IAAI,mBAAmB,CAC3B,oCAAoC,EACpC,kEAAkE,CACnE,CAAC;IACN,CAAC;AACH,CAAC"}
@@ -0,0 +1,19 @@
1
+ export interface ReviewedReleaseCheckoutInput {
2
+ deploymentSourceCommit: string | undefined;
3
+ releaseSourceCommit: string | undefined;
4
+ repositoryRoot?: string;
5
+ reviewedSourceCommit?: string;
6
+ }
7
+ export interface ReviewedReleaseCheckout {
8
+ deploymentSourceCommit: string;
9
+ mode: 'exact-tree' | 'infrastructure-approval-only';
10
+ releaseSourceCommit: string;
11
+ }
12
+ /**
13
+ * Proves that protected release evidence can be consumed from the checked-out
14
+ * deployment commit. A different tree is accepted only for the framework's
15
+ * committed infrastructure-approval resume, and only when that exact Git delta
16
+ * contains the approval batch which binds every project back to the immutable
17
+ * release source.
18
+ */
19
+ export declare function validateReviewedReleaseCheckout(input: ReviewedReleaseCheckoutInput): ReviewedReleaseCheckout;