@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,650 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeveloperAgentGeneratorPreviewError = void 0;
4
+ exports.classifyDeveloperAgentUpgradePreviewFailure = classifyDeveloperAgentUpgradePreviewFailure;
5
+ exports.createDeveloperAgentUpgradePreview = createDeveloperAgentUpgradePreview;
6
+ exports.persistDeveloperAgentUpgradePreview = persistDeveloperAgentUpgradePreview;
7
+ const node_buffer_1 = require("node:buffer");
8
+ const node_crypto_1 = require("node:crypto");
9
+ const node_fs_1 = require("node:fs");
10
+ const node_path_1 = require("node:path");
11
+ const upgrade_js_1 = require("../generators/upgrade/upgrade.js");
12
+ const model_js_1 = require("./model.js");
13
+ const validation_js_1 = require("./validation.js");
14
+ const generator_planning_js_1 = require("./generator-planning.js");
15
+ const preview_changes_js_1 = require("./preview-changes.js");
16
+ const preview_source_js_1 = require("./preview-source.js");
17
+ const ordering_js_1 = require("./ordering.js");
18
+ const PREVIEW_REFERENCE = /^\.ebk\/agent\/previews\/[a-z][a-z0-9-]{0,62}\.json$/;
19
+ const MAX_PREVIEW_SURFACES = 512;
20
+ const MAX_RECORDING_SOURCE_FILE_BYTES = 5 * 1024 * 1024;
21
+ const MAX_RECORDING_SOURCE_TOTAL_BYTES = 32 * 1024 * 1024;
22
+ class DeveloperAgentGeneratorPreviewError extends Error {
23
+ classification;
24
+ constructor(classification, message) {
25
+ super(message);
26
+ this.classification = classification;
27
+ this.name = 'DeveloperAgentGeneratorPreviewError';
28
+ }
29
+ }
30
+ exports.DeveloperAgentGeneratorPreviewError = DeveloperAgentGeneratorPreviewError;
31
+ function classifyDeveloperAgentUpgradePreviewFailure(error) {
32
+ const message = error instanceof Error ? error.message : String(error);
33
+ if (message.includes('repository trust denies') ||
34
+ message.includes('is not authorized for authoring')) {
35
+ throw new DeveloperAgentGeneratorPreviewError('policy-conflict', 'Repository Blueprint trust policy denies the exact installed publisher.');
36
+ }
37
+ if (message.includes('is not installed in the workspace') ||
38
+ message.includes('Blueprint trust policy does not exist') ||
39
+ message.includes('Blueprint trust snapshot does not exist') ||
40
+ message.includes('pnpm-lock.yaml does not exist')) {
41
+ throw new DeveloperAgentGeneratorPreviewError('prerequisite-missing', 'The exact installed Blueprint package or its offline trust prerequisites are missing.');
42
+ }
43
+ if (message.includes('Blueprint destination validation failed: the publisher plan')) {
44
+ throw new DeveloperAgentGeneratorPreviewError('unsupported-operation', 'The external Blueprint publisher returned an unsafe or conflicting destination plan.');
45
+ }
46
+ if (message.includes('Blueprint destination validation failed: the existing filesystem')) {
47
+ throw new DeveloperAgentGeneratorPreviewError('prerequisite-missing', 'External Blueprint destination prerequisites are unavailable or unsafe.');
48
+ }
49
+ if (message.includes('Resolved Blueprint package identity') ||
50
+ message.includes('Blueprint manifest identity') ||
51
+ message.includes('Installed external Blueprint') ||
52
+ message.includes('Local external Blueprint packages') ||
53
+ message.includes('Resolved installed Blueprint has no lockfile')) {
54
+ throw new DeveloperAgentGeneratorPreviewError('ownership-conflict', 'Installed Blueprint package identity does not match the ownership-bound exact package version.');
55
+ }
56
+ if (message.includes('optional dependency ambiguity') ||
57
+ message.includes('optional peer ambiguity') ||
58
+ message.includes('unsupported platform or native field') ||
59
+ message.includes('unsupported install/build') ||
60
+ message.includes('unsupported native build') ||
61
+ message.includes('unsupported bundled dependency') ||
62
+ message.includes('unsupported native build or binary surface') ||
63
+ message.includes('External Blueprint execution is unsupported on Windows') ||
64
+ message.includes('refuses rootless or userns-remapped Docker')) {
65
+ throw new DeveloperAgentGeneratorPreviewError('unsupported-operation', 'The external Blueprint dependency closure is incompatible with the pinned private Linux container boundary.');
66
+ }
67
+ if (message.includes('Blueprint package metadata is malformed') ||
68
+ message.includes('Invalid Blueprint manifest') ||
69
+ message.includes('Invalid Blueprint input schema') ||
70
+ message.includes('Blueprint inputs are invalid') ||
71
+ message.includes('Blueprint generator result') ||
72
+ message.includes('External Blueprint publisher') ||
73
+ message.includes('Resolved external Blueprint has no generator entry point') ||
74
+ (message.includes('requires EBK engine') &&
75
+ message.includes('this workspace provides')) ||
76
+ message.includes('Standard Foundation is incompatible with the target Blueprint')) {
77
+ throw new DeveloperAgentGeneratorPreviewError('unsupported-operation', 'The exact external Blueprint publisher contract is malformed, incompatible, or failed bounded execution.');
78
+ }
79
+ if (message.includes('blocked breaking Blueprint transition') ||
80
+ (message.includes('Breaking Blueprint migration') &&
81
+ message.includes('report-only in v1'))) {
82
+ throw new DeveloperAgentGeneratorPreviewError('unsupported-operation', 'The selected Blueprint transition requires reviewed manual succession and is not supported by typed v1 Upgrade apply.');
83
+ }
84
+ if (message.includes('user-modified managed files') ||
85
+ message.includes('cannot rewrite an existing seeded database migration') ||
86
+ message.includes('sst-version-drift') ||
87
+ message.includes('Recording Tree')) {
88
+ throw new DeveloperAgentGeneratorPreviewError('generated-drift', 'Upgrade preview encountered managed, seeded, version, or workspace-tree drift.');
89
+ }
90
+ if (message.includes('Report and apply the workspace upgrade before') ||
91
+ message.includes('Report and apply the Foundation upgrade before upgrading a Product Slice') ||
92
+ message.includes('Ownership metadata belongs to')) {
93
+ throw new DeveloperAgentGeneratorPreviewError('ownership-conflict', 'Upgrade preview ownership state conflicts with the required upgrade order or selected target.');
94
+ }
95
+ if (message.includes('does not exist at') ||
96
+ message.includes('must depend on @empire-builder-kit/runtime') ||
97
+ message.includes('require exact Nx and Runtime framework dependencies')) {
98
+ throw new DeveloperAgentGeneratorPreviewError('prerequisite-missing', 'Upgrade preview prerequisites for the selected workspace, Foundation, or Product Slice are missing.');
99
+ }
100
+ throw error;
101
+ }
102
+ function safePath(path) {
103
+ const normalized = path.normalize('NFC');
104
+ if (path !== normalized ||
105
+ path.includes('\\') ||
106
+ normalized.length === 0 ||
107
+ normalized.startsWith('/') ||
108
+ /^[A-Za-z]:\//.test(normalized) ||
109
+ node_path_1.posix.normalize(normalized) !== normalized ||
110
+ [...normalized].some((character) => {
111
+ const codePoint = character.codePointAt(0) ?? 0;
112
+ return codePoint <= 0x1f || (codePoint >= 0x7f && codePoint <= 0x9f);
113
+ }) ||
114
+ normalized
115
+ .split('/')
116
+ .some((segment) => segment === '' || segment === '.' || segment === '..')) {
117
+ throw new Error(`Recording Tree path is unsafe: ${path}.`);
118
+ }
119
+ return normalized;
120
+ }
121
+ class RecordingWorkspaceTree {
122
+ root;
123
+ changes = new Map();
124
+ aliases = new Map();
125
+ originals = new Map();
126
+ sourceBytesRead = 0;
127
+ constructor(workspaceRoot) {
128
+ this.root = (0, node_fs_1.realpathSync)(workspaceRoot);
129
+ }
130
+ absolute(path) {
131
+ const normalized = safePath(path);
132
+ const alias = normalized.toLocaleLowerCase('en-US');
133
+ const prior = this.aliases.get(alias);
134
+ if (prior !== undefined && prior !== normalized) {
135
+ throw new Error(`Recording Tree refuses canonical path aliases ${prior} and ${normalized}.`);
136
+ }
137
+ this.aliases.set(alias, normalized);
138
+ const absolute = (0, node_path_1.resolve)(this.root, ...normalized.split('/'));
139
+ const fromRoot = (0, node_path_1.relative)(this.root, absolute);
140
+ if (fromRoot === '..' ||
141
+ fromRoot.startsWith(`..${node_path_1.sep}`) ||
142
+ (0, node_path_1.isAbsolute)(fromRoot)) {
143
+ throw new Error(`Recording Tree path escapes its workspace: ${path}.`);
144
+ }
145
+ return absolute;
146
+ }
147
+ entry(path) {
148
+ const normalized = safePath(path);
149
+ this.absolute(normalized);
150
+ const segments = normalized.split('/');
151
+ let current = this.root;
152
+ for (let index = 0; index < segments.length; index += 1) {
153
+ current = (0, node_path_1.resolve)(current, segments[index]);
154
+ try {
155
+ const entry = (0, node_fs_1.lstatSync)(current);
156
+ if (entry.isSymbolicLink()) {
157
+ throw new Error(`Recording Tree refuses symbolic-link input ${segments
158
+ .slice(0, index + 1)
159
+ .join('/')}.`);
160
+ }
161
+ const real = (0, node_fs_1.realpathSync)(current);
162
+ const fromRoot = (0, node_path_1.relative)(this.root, real);
163
+ if (fromRoot === '..' ||
164
+ fromRoot.startsWith(`..${node_path_1.sep}`) ||
165
+ (0, node_path_1.isAbsolute)(fromRoot) ||
166
+ fromRoot.split(node_path_1.sep).join('/') !==
167
+ segments.slice(0, index + 1).join('/')) {
168
+ throw new Error(`Recording Tree refuses non-canonical or escaping path ${normalized}.`);
169
+ }
170
+ if (index < segments.length - 1 && !entry.isDirectory()) {
171
+ throw new Error(`Recording Tree found a non-directory ancestor for ${normalized}.`);
172
+ }
173
+ if (index === segments.length - 1)
174
+ return entry;
175
+ }
176
+ catch (error) {
177
+ if (error &&
178
+ typeof error === 'object' &&
179
+ 'code' in error &&
180
+ error.code === 'ENOENT') {
181
+ return null;
182
+ }
183
+ throw error;
184
+ }
185
+ }
186
+ return null;
187
+ }
188
+ readOriginal(path) {
189
+ const normalized = safePath(path);
190
+ const cached = this.originals.get(normalized);
191
+ if (cached !== undefined || this.originals.has(normalized)) {
192
+ return cached ?? null;
193
+ }
194
+ const inspected = this.entry(normalized);
195
+ if (inspected === null || !inspected.isFile()) {
196
+ this.originals.set(normalized, null);
197
+ return null;
198
+ }
199
+ const absolute = this.absolute(normalized);
200
+ let descriptor;
201
+ try {
202
+ descriptor = (0, node_fs_1.openSync)(absolute, node_fs_1.constants.O_RDONLY | (node_fs_1.constants.O_NOFOLLOW ?? 0));
203
+ const before = (0, node_fs_1.fstatSync)(descriptor);
204
+ if (!before.isFile()) {
205
+ this.originals.set(normalized, null);
206
+ return null;
207
+ }
208
+ if (before.size > MAX_RECORDING_SOURCE_FILE_BYTES ||
209
+ this.sourceBytesRead + before.size > MAX_RECORDING_SOURCE_TOTAL_BYTES) {
210
+ throw new Error(`Recording Tree source exceeds its bounded read budget at ${normalized}.`);
211
+ }
212
+ const bytes = node_buffer_1.Buffer.alloc(before.size);
213
+ let offset = 0;
214
+ while (offset < bytes.length) {
215
+ const count = (0, node_fs_1.readSync)(descriptor, bytes, offset, bytes.length - offset, offset);
216
+ if (count === 0)
217
+ break;
218
+ offset += count;
219
+ }
220
+ const after = (0, node_fs_1.fstatSync)(descriptor);
221
+ if (offset !== bytes.length ||
222
+ after.dev !== before.dev ||
223
+ after.ino !== before.ino ||
224
+ after.size !== before.size ||
225
+ after.mtimeMs !== before.mtimeMs ||
226
+ after.ctimeMs !== before.ctimeMs) {
227
+ throw new Error(`Recording Tree source changed while it was read: ${normalized}.`);
228
+ }
229
+ const real = (0, node_fs_1.realpathSync)(absolute);
230
+ const fromRoot = (0, node_path_1.relative)(this.root, real);
231
+ const canonicalRelative = fromRoot.split(node_path_1.sep).join('/');
232
+ if (fromRoot === '..' ||
233
+ fromRoot.startsWith(`..${node_path_1.sep}`) ||
234
+ (0, node_path_1.isAbsolute)(fromRoot) ||
235
+ canonicalRelative !== normalized) {
236
+ throw new Error(`Recording Tree refuses non-canonical or escaping source ${normalized}.`);
237
+ }
238
+ this.sourceBytesRead += bytes.length;
239
+ this.originals.set(normalized, bytes);
240
+ return bytes;
241
+ }
242
+ catch (error) {
243
+ if (error &&
244
+ typeof error === 'object' &&
245
+ 'code' in error &&
246
+ error.code === 'ENOENT') {
247
+ this.originals.set(normalized, null);
248
+ return null;
249
+ }
250
+ if (error &&
251
+ typeof error === 'object' &&
252
+ 'code' in error &&
253
+ error.code === 'ELOOP') {
254
+ throw new Error(`Recording Tree refuses symbolic-link input ${normalized}.`);
255
+ }
256
+ throw error;
257
+ }
258
+ finally {
259
+ if (descriptor !== undefined)
260
+ (0, node_fs_1.closeSync)(descriptor);
261
+ }
262
+ }
263
+ source(path) {
264
+ const normalized = safePath(path);
265
+ const recorded = this.changes.get(normalized);
266
+ if (recorded) {
267
+ return recorded.content === null ? null : node_buffer_1.Buffer.from(recorded.content);
268
+ }
269
+ const original = this.readOriginal(normalized);
270
+ return original === null ? null : node_buffer_1.Buffer.from(original);
271
+ }
272
+ original(path) {
273
+ const original = this.readOriginal(path);
274
+ return original === null ? null : node_buffer_1.Buffer.from(original);
275
+ }
276
+ read(path, encoding) {
277
+ const source = this.source(path);
278
+ return source === null || encoding === undefined
279
+ ? source
280
+ : source.toString(encoding);
281
+ }
282
+ write(path, content, options) {
283
+ const normalized = safePath(path);
284
+ const bytes = node_buffer_1.Buffer.from(content);
285
+ const original = this.original(normalized);
286
+ if (original?.equals(bytes) && options === undefined) {
287
+ this.changes.delete(normalized);
288
+ return;
289
+ }
290
+ this.changes.set(normalized, {
291
+ content: bytes,
292
+ ...(options ? { options } : {}),
293
+ });
294
+ }
295
+ exists(path) {
296
+ const normalized = safePath(path);
297
+ const recorded = this.changes.get(normalized);
298
+ if (recorded)
299
+ return recorded.content !== null;
300
+ const entry = this.entry(normalized);
301
+ return entry?.isFile() === true || entry?.isDirectory() === true;
302
+ }
303
+ delete(path) {
304
+ const normalized = safePath(path);
305
+ if (this.original(normalized) === null) {
306
+ this.changes.delete(normalized);
307
+ return;
308
+ }
309
+ this.changes.set(normalized, { content: null });
310
+ }
311
+ rename(from, to) {
312
+ const source = this.source(from);
313
+ if (source === null) {
314
+ throw new Error(`Recording Tree cannot rename missing path ${from}.`);
315
+ }
316
+ this.write(to, source);
317
+ this.delete(from);
318
+ }
319
+ isFile(path) {
320
+ const normalized = safePath(path);
321
+ const recorded = this.changes.get(normalized);
322
+ if (recorded)
323
+ return recorded.content !== null;
324
+ return this.entry(normalized)?.isFile() === true;
325
+ }
326
+ children(path) {
327
+ const normalized = path === '' ? '' : safePath(path).replace(/\/+$/, '');
328
+ const children = new Set();
329
+ try {
330
+ const absolute = normalized === '' ? this.root : this.absolute(normalized);
331
+ const before = normalized === '' ? (0, node_fs_1.lstatSync)(this.root) : this.entry(normalized);
332
+ if (!before?.isDirectory())
333
+ return [];
334
+ for (const child of (0, node_fs_1.readdirSync)(absolute)) {
335
+ safePath(normalized === '' ? child : `${normalized}/${child}`);
336
+ children.add(child);
337
+ }
338
+ const after = normalized === '' ? (0, node_fs_1.lstatSync)(this.root) : this.entry(normalized);
339
+ if (!after?.isDirectory() ||
340
+ after.dev !== before.dev ||
341
+ after.ino !== before.ino ||
342
+ after.mtimeMs !== before.mtimeMs ||
343
+ after.ctimeMs !== before.ctimeMs) {
344
+ throw new Error(`Recording Tree directory changed while it was inspected: ${normalized || '.'}.`);
345
+ }
346
+ }
347
+ catch (error) {
348
+ if (!error ||
349
+ typeof error !== 'object' ||
350
+ !('code' in error) ||
351
+ error.code !== 'ENOENT') {
352
+ throw error;
353
+ }
354
+ }
355
+ const prefix = normalized === '' ? '' : `${normalized}/`;
356
+ for (const [changedPath, change] of this.changes) {
357
+ if (!changedPath.startsWith(prefix))
358
+ continue;
359
+ const remainder = changedPath.slice(prefix.length);
360
+ const child = remainder.split('/')[0];
361
+ if (change.content === null && !remainder.includes('/')) {
362
+ children.delete(child);
363
+ }
364
+ else {
365
+ children.add(child);
366
+ }
367
+ }
368
+ return [...children].sort();
369
+ }
370
+ listChanges() {
371
+ return [...this.changes.entries()]
372
+ .map(([path, change]) => ({
373
+ content: change.content,
374
+ path,
375
+ type: change.content === null
376
+ ? 'DELETE'
377
+ : this.original(path) !== null
378
+ ? 'UPDATE'
379
+ : 'CREATE',
380
+ ...(change.options ? { options: change.options } : {}),
381
+ }))
382
+ .sort((left, right) => (0, ordering_js_1.compareDeveloperAgentStrings)(left.path, right.path));
383
+ }
384
+ changePermissions(path, mode) {
385
+ const source = this.source(path);
386
+ if (source === null) {
387
+ throw new Error(`Recording Tree cannot change permissions for missing path ${path}.`);
388
+ }
389
+ this.write(path, source, { mode });
390
+ }
391
+ }
392
+ async function createDeveloperAgentUpgradePreview(workspaceRoot, context, input) {
393
+ const root = (0, node_fs_1.realpathSync)(workspaceRoot);
394
+ if ((0, node_fs_1.realpathSync)(context.workspace.repositoryRoot) !== root ||
395
+ (0, node_fs_1.realpathSync)(context.git.worktreeRoot) !== root) {
396
+ throw new Error('Upgrade preview context repository and Git worktree roots must match the invoked workspace.');
397
+ }
398
+ if (context.git.dirty ||
399
+ context.warnings.some(({ classification }) => classification === 'stale-base')) {
400
+ throw new Error('Upgrade preview authorization requires clean, non-stale source.');
401
+ }
402
+ if (input.preview) {
403
+ throw new Error('Upgrade preview creation does not accept a prior preview.');
404
+ }
405
+ const tree = new RecordingWorkspaceTree(workspaceRoot);
406
+ const beforeModes = (0, preview_changes_js_1.developerAgentPreviewOwnershipModes)(tree, input.name);
407
+ const upgradeOptions = (0, generator_planning_js_1.developerAgentUpgradeGeneratorOptions)(context, input.name);
408
+ try {
409
+ await (0, upgrade_js_1.upgradeGenerator)(tree, {
410
+ apply: true,
411
+ ...upgradeOptions,
412
+ name: input.name,
413
+ skipFormat: true,
414
+ skipInstall: true,
415
+ }, {
416
+ info: () => undefined,
417
+ warn: () => undefined,
418
+ }, { externalBlueprintDiagnostics: 'suppress' });
419
+ }
420
+ catch (error) {
421
+ classifyDeveloperAgentUpgradePreviewFailure(error);
422
+ }
423
+ const modes = new Map([
424
+ ...beforeModes,
425
+ ...(0, preview_changes_js_1.developerAgentPreviewOwnershipModes)(tree, input.name),
426
+ ]);
427
+ const changes = (0, preview_changes_js_1.createDeveloperAgentPreviewChanges)(tree.listChanges(), modes);
428
+ if (changes.length > MAX_PREVIEW_SURFACES) {
429
+ throw new Error(`Upgrade preview exceeds ${MAX_PREVIEW_SURFACES} generated surfaces.`);
430
+ }
431
+ const generatedSurfaces = changes.map(({ ownershipMode, path }) => ({
432
+ ownershipMode,
433
+ path,
434
+ }));
435
+ const preview = {
436
+ changes,
437
+ generatedSurfaces,
438
+ generator: 'upgrade',
439
+ input: { generator: 'upgrade', name: input.name },
440
+ kind: model_js_1.DEVELOPER_AGENT_GENERATOR_PREVIEW_KIND,
441
+ operationId: 'generator:upgrade:preview',
442
+ schemaVersion: model_js_1.DEVELOPER_AGENT_CONTRACT_SCHEMA_VERSION,
443
+ source: (0, preview_source_js_1.developerAgentGeneratorPreviewSource)(context),
444
+ };
445
+ (0, validation_js_1.serializeDeveloperAgentGeneratorPreview)(preview);
446
+ return preview;
447
+ }
448
+ function inspectPreviewDirectory(path, privateDirectory) {
449
+ const entry = (0, node_fs_1.lstatSync)(path);
450
+ if (entry.isSymbolicLink() ||
451
+ !entry.isDirectory() ||
452
+ (0, node_fs_1.realpathSync)(path) !== path) {
453
+ throw new Error(`Preview directory is not a regular directory: ${path}.`);
454
+ }
455
+ if (privateDirectory &&
456
+ process.platform !== 'win32' &&
457
+ ((typeof process.getuid === 'function' && entry.uid !== process.getuid()) ||
458
+ (entry.mode & 0o077) !== 0)) {
459
+ throw new Error(`Preview directory must be owned by the current user without group or world access: ${path}.`);
460
+ }
461
+ return entry;
462
+ }
463
+ function requirePrivateDirectory(path) {
464
+ try {
465
+ return inspectPreviewDirectory(path, true);
466
+ }
467
+ catch (error) {
468
+ if (error &&
469
+ typeof error === 'object' &&
470
+ 'code' in error &&
471
+ error.code === 'ENOENT') {
472
+ try {
473
+ (0, node_fs_1.mkdirSync)(path, { mode: 0o700 });
474
+ }
475
+ catch (mkdirError) {
476
+ if (!mkdirError ||
477
+ typeof mkdirError !== 'object' ||
478
+ !('code' in mkdirError) ||
479
+ mkdirError.code !== 'EEXIST') {
480
+ throw mkdirError;
481
+ }
482
+ }
483
+ return inspectPreviewDirectory(path, true);
484
+ }
485
+ throw error;
486
+ }
487
+ }
488
+ function sameIdentity(left, right) {
489
+ return left.dev === right.dev && left.ino === right.ino;
490
+ }
491
+ function assertDirectoryIdentity(path, expected, privateDirectory) {
492
+ const current = inspectPreviewDirectory(path, privateDirectory);
493
+ if (!sameIdentity(current, expected)) {
494
+ throw new Error(`Preview directory identity changed during publication: ${path}.`);
495
+ }
496
+ }
497
+ function unlinkOwnedFile(path, expected) {
498
+ if (!expected)
499
+ return 'absent';
500
+ try {
501
+ const current = (0, node_fs_1.lstatSync)(path);
502
+ if (current.isSymbolicLink() ||
503
+ !current.isFile() ||
504
+ !sameIdentity(current, expected)) {
505
+ return 'not-owned';
506
+ }
507
+ (0, node_fs_1.unlinkSync)(path);
508
+ return 'removed';
509
+ }
510
+ catch (error) {
511
+ return error &&
512
+ typeof error === 'object' &&
513
+ 'code' in error &&
514
+ error.code === 'ENOENT'
515
+ ? 'absent'
516
+ : 'failed';
517
+ }
518
+ }
519
+ function persistDeveloperAgentUpgradePreview(workspaceRoot, preview, reference) {
520
+ if (!PREVIEW_REFERENCE.test(reference)) {
521
+ throw new Error('Upgrade preview output must equal .ebk/agent/previews/<safe-slug>.json.');
522
+ }
523
+ const root = (0, node_fs_1.realpathSync)(workspaceRoot);
524
+ const ebk = (0, node_path_1.resolve)(root, '.ebk');
525
+ const agent = (0, node_path_1.resolve)(ebk, 'agent');
526
+ const directory = (0, node_path_1.resolve)(agent, 'previews');
527
+ const ebkEntry = inspectPreviewDirectory(ebk, false);
528
+ const agentEntry = requirePrivateDirectory(agent);
529
+ const directoryEntry = requirePrivateDirectory(directory);
530
+ const finalPath = (0, node_path_1.resolve)(root, ...reference.split('/'));
531
+ const serialized = (0, validation_js_1.serializeDeveloperAgentGeneratorPreview)(preview);
532
+ const temporary = (0, node_path_1.resolve)(directory, `.${preview.input.name}.${(0, node_crypto_1.randomUUID)()}.tmp`);
533
+ let descriptor;
534
+ let temporaryIdentity;
535
+ let publishedIdentity;
536
+ let publicationComplete = false;
537
+ let publicationFailure;
538
+ const cleanupFailures = [];
539
+ try {
540
+ assertDirectoryIdentity(ebk, ebkEntry, false);
541
+ assertDirectoryIdentity(agent, agentEntry, true);
542
+ assertDirectoryIdentity(directory, directoryEntry, true);
543
+ descriptor = (0, node_fs_1.openSync)(temporary, node_fs_1.constants.O_CREAT |
544
+ node_fs_1.constants.O_EXCL |
545
+ node_fs_1.constants.O_WRONLY |
546
+ (node_fs_1.constants.O_NOFOLLOW ?? 0), 0o600);
547
+ const serializedBytes = node_buffer_1.Buffer.from(serialized, 'utf8');
548
+ let writeOffset = 0;
549
+ while (writeOffset < serializedBytes.length) {
550
+ const count = (0, node_fs_1.writeSync)(descriptor, serializedBytes, writeOffset, serializedBytes.length - writeOffset, writeOffset);
551
+ if (count === 0) {
552
+ throw new Error('Upgrade preview temporary output write stalled.');
553
+ }
554
+ writeOffset += count;
555
+ }
556
+ (0, node_fs_1.fsyncSync)(descriptor);
557
+ const written = (0, node_fs_1.fstatSync)(descriptor);
558
+ if (!written.isFile() || written.size !== serializedBytes.length) {
559
+ throw new Error('Upgrade preview temporary output is not regular.');
560
+ }
561
+ temporaryIdentity = written;
562
+ (0, node_fs_1.closeSync)(descriptor);
563
+ descriptor = undefined;
564
+ assertDirectoryIdentity(ebk, ebkEntry, false);
565
+ assertDirectoryIdentity(agent, agentEntry, true);
566
+ assertDirectoryIdentity(directory, directoryEntry, true);
567
+ // A hard-link publish is atomic and no-clobber on supported filesystems.
568
+ // Concurrent publishers need no persistent coordination artifact: the
569
+ // filesystem selects one winner for a shared final path. If the filesystem
570
+ // does not support hard links, publication fails closed.
571
+ (0, node_fs_1.linkSync)(temporary, finalPath);
572
+ publishedIdentity = temporaryIdentity;
573
+ descriptor = (0, node_fs_1.openSync)(finalPath, node_fs_1.constants.O_RDONLY | (node_fs_1.constants.O_NOFOLLOW ?? 0));
574
+ const publishedBefore = (0, node_fs_1.fstatSync)(descriptor);
575
+ const publishedBytes = node_buffer_1.Buffer.alloc(publishedBefore.size);
576
+ let readOffset = 0;
577
+ while (readOffset < publishedBytes.length) {
578
+ const count = (0, node_fs_1.readSync)(descriptor, publishedBytes, readOffset, publishedBytes.length - readOffset, readOffset);
579
+ if (count === 0)
580
+ break;
581
+ readOffset += count;
582
+ }
583
+ const publishedAfter = (0, node_fs_1.fstatSync)(descriptor);
584
+ if (!publishedBefore.isFile() ||
585
+ !sameIdentity(publishedBefore, written) ||
586
+ publishedBefore.size !== serializedBytes.length ||
587
+ readOffset !== publishedBytes.length ||
588
+ !publishedBytes.equals(serializedBytes) ||
589
+ publishedAfter.dev !== publishedBefore.dev ||
590
+ publishedAfter.ino !== publishedBefore.ino ||
591
+ publishedAfter.size !== publishedBefore.size ||
592
+ publishedAfter.mtimeMs !== publishedBefore.mtimeMs ||
593
+ publishedAfter.ctimeMs !== publishedBefore.ctimeMs ||
594
+ (process.platform !== 'win32' &&
595
+ ((typeof process.getuid === 'function' &&
596
+ publishedBefore.uid !== process.getuid()) ||
597
+ (publishedBefore.mode & 0o077) !== 0))) {
598
+ throw new Error('Published upgrade preview must be exact regular bytes and, on POSIX, current-user private.');
599
+ }
600
+ (0, node_fs_1.closeSync)(descriptor);
601
+ descriptor = undefined;
602
+ assertDirectoryIdentity(ebk, ebkEntry, false);
603
+ assertDirectoryIdentity(agent, agentEntry, true);
604
+ assertDirectoryIdentity(directory, directoryEntry, true);
605
+ publicationComplete = true;
606
+ }
607
+ catch (error) {
608
+ publicationFailure = error;
609
+ }
610
+ finally {
611
+ if (descriptor !== undefined)
612
+ (0, node_fs_1.closeSync)(descriptor);
613
+ if (!publicationComplete) {
614
+ const finalCleanup = unlinkOwnedFile(finalPath, publishedIdentity);
615
+ if (publishedIdentity &&
616
+ finalCleanup !== 'removed' &&
617
+ finalCleanup !== 'absent') {
618
+ cleanupFailures.push(`final output (${finalCleanup})`);
619
+ }
620
+ }
621
+ const temporaryCleanup = unlinkOwnedFile(temporary, temporaryIdentity);
622
+ if (temporaryIdentity &&
623
+ temporaryCleanup !== 'removed' &&
624
+ temporaryCleanup !== 'absent') {
625
+ cleanupFailures.push(`temporary output (${temporaryCleanup})`);
626
+ }
627
+ }
628
+ if (cleanupFailures.length > 0) {
629
+ const original = publicationFailure instanceof Error
630
+ ? ` Original failure: ${publicationFailure.message}`
631
+ : publicationFailure === undefined
632
+ ? ''
633
+ : ' Original publication also failed.';
634
+ throw new DeveloperAgentGeneratorPreviewError('cleanup-incomplete', `Upgrade preview publication could not clean its generation-owned ${cleanupFailures.join(', ')}.${original}`);
635
+ }
636
+ if (publicationFailure !== undefined)
637
+ throw publicationFailure;
638
+ const receipt = {
639
+ digest: `sha256:${(0, node_crypto_1.createHash)('sha256')
640
+ .update(serialized, 'utf8')
641
+ .digest('hex')}`,
642
+ kind: model_js_1.DEVELOPER_AGENT_GENERATOR_PREVIEW_RECEIPT_KIND,
643
+ preview,
644
+ reference,
645
+ schemaVersion: model_js_1.DEVELOPER_AGENT_CONTRACT_SCHEMA_VERSION,
646
+ };
647
+ (0, validation_js_1.serializeDeveloperAgentGeneratorPreviewReceipt)(receipt);
648
+ return receipt;
649
+ }
650
+ //# sourceMappingURL=generator-preview.js.map