@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,698 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeveloperAgentHandoffError = exports.DEVELOPER_AGENT_RESUME_BINDINGS = exports.DEVELOPER_AGENT_RESUME_ASSESSMENT_MAX_BYTES = exports.DEVELOPER_AGENT_RESUME_ASSESSMENT_KIND = void 0;
4
+ exports.parseDeveloperAgentHandoff = parseDeveloperAgentHandoff;
5
+ exports.assessDeveloperAgentHandoffResume = assessDeveloperAgentHandoffResume;
6
+ exports.inspectDeveloperAgentHandoffResume = inspectDeveloperAgentHandoffResume;
7
+ exports.formatDeveloperAgentResumeAssessment = formatDeveloperAgentResumeAssessment;
8
+ const node_buffer_1 = require("node:buffer");
9
+ const node_crypto_1 = require("node:crypto");
10
+ const node_fs_1 = require("node:fs");
11
+ const node_path_1 = require("node:path");
12
+ const node_util_1 = require("node:util");
13
+ const context_js_1 = require("./context.js");
14
+ const generator_planning_js_1 = require("./generator-planning.js");
15
+ const index_js_1 = require("../testing-evidence/index.js");
16
+ const model_js_1 = require("./model.js");
17
+ const ordering_js_1 = require("./ordering.js");
18
+ const validation_js_1 = require("./validation.js");
19
+ exports.DEVELOPER_AGENT_RESUME_ASSESSMENT_KIND = 'developer-agent-resume-assessment';
20
+ exports.DEVELOPER_AGENT_RESUME_ASSESSMENT_MAX_BYTES = 60 * 1024;
21
+ exports.DEVELOPER_AGENT_RESUME_BINDINGS = [
22
+ 'repository',
23
+ 'framework',
24
+ 'blueprints',
25
+ 'git',
26
+ 'policy',
27
+ 'markers',
28
+ 'candidate-provenance',
29
+ 'ownership',
30
+ 'selection',
31
+ 'operation',
32
+ 'verification',
33
+ 'evidence',
34
+ 'external-state',
35
+ ];
36
+ class DeveloperAgentHandoffError extends Error {
37
+ classification;
38
+ constructor(classification, message) {
39
+ super(message);
40
+ this.classification = classification;
41
+ this.name = 'DeveloperAgentHandoffError';
42
+ }
43
+ }
44
+ exports.DeveloperAgentHandoffError = DeveloperAgentHandoffError;
45
+ const MAX_RETAINED_EVIDENCE_BYTES = 1024 * 1024;
46
+ const FAILURE_ORDER = new Map(model_js_1.DEVELOPER_AGENT_FAILURE_CLASSIFICATIONS.map((classification, index) => [
47
+ classification,
48
+ index,
49
+ ]));
50
+ const BLOCKING_CONTEXT_WARNINGS = new Set(model_js_1.DEVELOPER_AGENT_FAILURE_CLASSIFICATIONS.filter((classification) => classification !== 'unsupported-operation'));
51
+ const CONTEXT_WARNING_SUMMARIES = {
52
+ 'authority-required': 'The current context requires authority that the retained handoff does not grant.',
53
+ 'cleanup-incomplete': 'The current context reports incomplete cleanup and cannot be resumed automatically.',
54
+ 'dirty-worktree': 'The current worktree is dirty and must be reconciled before resumption.',
55
+ 'external-proof-pending': 'The current context reports separately retained external proof as pending.',
56
+ 'generated-drift': 'The current context reports generated-source drift.',
57
+ 'invalid-input': 'The current context reports an invalid retained input.',
58
+ 'marker-blocked': 'The current context reports a blocking work marker.',
59
+ 'ownership-conflict': 'The current context reports an ownership conflict.',
60
+ 'policy-conflict': 'The current context reports a repository-policy conflict.',
61
+ 'prerequisite-missing': 'The current context is missing a required framework prerequisite.',
62
+ 'stale-base': 'The current Git base or branch is stale.',
63
+ 'tool-internal-error': 'The current context could not be established safely.',
64
+ 'unsupported-operation': 'The current context contains an unsupported operation.',
65
+ 'verification-failed': 'The current context reports failed required verification.',
66
+ };
67
+ function isContainedPath(root, candidate) {
68
+ const fromRoot = (0, node_path_1.relative)(root, candidate);
69
+ return (fromRoot === '' ||
70
+ (fromRoot !== '..' &&
71
+ !fromRoot.startsWith(`..${node_path_1.sep}`) &&
72
+ !(0, node_path_1.isAbsolute)(fromRoot)));
73
+ }
74
+ function readRetainedEvidenceFile(workspaceRoot, reference, maximumBytes, requirePrivate = false) {
75
+ const root = (0, node_fs_1.realpathSync)(workspaceRoot);
76
+ if ((0, node_path_1.isAbsolute)(reference) ||
77
+ reference.includes('\\') ||
78
+ reference
79
+ .split('/')
80
+ .some((segment) => segment.length === 0 || segment === '.' || segment === '..')) {
81
+ throw new Error('non-canonical retained evidence reference');
82
+ }
83
+ const absolute = (0, node_path_1.resolve)(root, ...reference.split('/'));
84
+ if (!isContainedPath(root, absolute)) {
85
+ throw new Error('retained evidence escapes workspace');
86
+ }
87
+ const entry = (0, node_fs_1.lstatSync)(absolute);
88
+ if (!entry.isFile() || entry.isSymbolicLink()) {
89
+ throw new Error('retained evidence is not a regular file');
90
+ }
91
+ const real = (0, node_fs_1.realpathSync)(absolute);
92
+ if (!isContainedPath(root, real)) {
93
+ throw new Error('retained evidence resolves outside workspace');
94
+ }
95
+ const descriptor = (0, node_fs_1.openSync)(real, node_fs_1.constants.O_RDONLY | (node_fs_1.constants.O_NOFOLLOW ?? 0));
96
+ try {
97
+ const before = (0, node_fs_1.fstatSync)(descriptor);
98
+ const currentUser = typeof process.getuid === 'function' ? process.getuid() : undefined;
99
+ if (!before.isFile() ||
100
+ before.size < 0 ||
101
+ before.size > maximumBytes ||
102
+ (requirePrivate &&
103
+ process.platform !== 'win32' &&
104
+ ((currentUser !== undefined && before.uid !== currentUser) ||
105
+ (before.mode & 0o077) !== 0))) {
106
+ throw new Error('retained evidence exceeds its fixed bound');
107
+ }
108
+ const bytes = node_buffer_1.Buffer.alloc(before.size);
109
+ let offset = 0;
110
+ while (offset < bytes.length) {
111
+ const count = (0, node_fs_1.readSync)(descriptor, bytes, offset, bytes.length - offset, offset);
112
+ if (count === 0)
113
+ break;
114
+ offset += count;
115
+ }
116
+ const after = (0, node_fs_1.fstatSync)(descriptor);
117
+ if (offset !== bytes.length ||
118
+ after.dev !== before.dev ||
119
+ after.ino !== before.ino ||
120
+ after.size !== before.size ||
121
+ after.mtimeMs !== before.mtimeMs ||
122
+ after.ctimeMs !== before.ctimeMs) {
123
+ throw new Error('retained evidence changed during inspection');
124
+ }
125
+ return {
126
+ bytes,
127
+ digest: `sha256:${(0, node_crypto_1.createHash)('sha256').update(bytes).digest('hex')}`,
128
+ realpath: real,
129
+ };
130
+ }
131
+ finally {
132
+ (0, node_fs_1.closeSync)(descriptor);
133
+ }
134
+ }
135
+ function inspectRetainedEvidence(workspaceRoot, handoff) {
136
+ const cache = new Map();
137
+ const identities = new Set();
138
+ const inspect = (reference, expectedDigest, maximumBytes = MAX_RETAINED_EVIDENCE_BYTES) => {
139
+ const retained = cache.get(reference) ??
140
+ readRetainedEvidenceFile(workspaceRoot, reference, maximumBytes);
141
+ cache.set(reference, retained);
142
+ if (retained.bytes.length > maximumBytes ||
143
+ retained.digest !== expectedDigest) {
144
+ throw new Error('retained evidence identity mismatch');
145
+ }
146
+ identities.add(`${reference}\u0000${retained.realpath}\u0000${retained.digest}`);
147
+ return retained;
148
+ };
149
+ try {
150
+ for (const result of handoff.results) {
151
+ for (const artifact of result.artifacts) {
152
+ inspect(artifact.reference, artifact.digest);
153
+ }
154
+ if (!result.testingEvidence)
155
+ continue;
156
+ const retained = inspect(result.testingEvidence.reference, result.testingEvidence.digest, index_js_1.TESTING_EVIDENCE_RESULT_MAX_BYTES);
157
+ let parsed;
158
+ try {
159
+ parsed = JSON.parse(retained.bytes.toString('utf8'));
160
+ }
161
+ catch {
162
+ throw new Error('retained Testing/Evidence is not JSON');
163
+ }
164
+ const validation = (0, index_js_1.validateTestingEvidenceResult)(parsed);
165
+ if (!validation.valid ||
166
+ !(0, node_util_1.isDeepStrictEqual)(validation.value, result.testingEvidence.result)) {
167
+ throw new Error('retained Testing/Evidence result mismatch');
168
+ }
169
+ }
170
+ for (const operation of handoff.operations) {
171
+ const input = operation.generatorInput;
172
+ if (input?.generator !== 'upgrade' || input.preview === undefined) {
173
+ continue;
174
+ }
175
+ const retained = readRetainedEvidenceFile(workspaceRoot, input.preview.reference, model_js_1.DEVELOPER_AGENT_GENERATOR_PREVIEW_RECEIPT_MAX_BYTES, true);
176
+ cache.set(input.preview.reference, retained);
177
+ identities.add(`${input.preview.reference}\u0000${retained.realpath}\u0000${retained.digest}`);
178
+ let parsed;
179
+ try {
180
+ parsed = JSON.parse(retained.bytes.toString('utf8'));
181
+ }
182
+ catch {
183
+ throw new Error('retained Upgrade preview is not JSON');
184
+ }
185
+ const validation = (0, validation_js_1.validateDeveloperAgentGeneratorPreview)(parsed);
186
+ if (!validation.valid ||
187
+ retained.digest !== input.preview.digest ||
188
+ validation.value.input.name !== input.name) {
189
+ throw new Error('retained Upgrade preview identity mismatch');
190
+ }
191
+ }
192
+ return { findings: [], identities: [...identities].sort() };
193
+ }
194
+ catch {
195
+ return {
196
+ findings: [
197
+ {
198
+ binding: 'evidence',
199
+ classification: 'verification-failed',
200
+ sanitizedSummary: 'A retained evidence reference is missing, changed, invalid, or does not match its nested result.',
201
+ },
202
+ ],
203
+ identities: [],
204
+ };
205
+ }
206
+ }
207
+ function invalidInput(message) {
208
+ throw new DeveloperAgentHandoffError('invalid-input', message);
209
+ }
210
+ function compareStrings(left, right) {
211
+ if (left.length !== right.length)
212
+ return false;
213
+ const sortedLeft = [...left].sort();
214
+ const sortedRight = [...right].sort();
215
+ return sortedLeft.every((value, index) => value === sortedRight[index]);
216
+ }
217
+ function compareVersions(retained, current) {
218
+ const normalize = (records) => records.map(({ name, version }) => `${name}\u0000${version}`).sort();
219
+ return compareStrings(normalize(retained), normalize(current));
220
+ }
221
+ function compareCandidateReference(retained, current) {
222
+ if (!retained || !current)
223
+ return retained === current;
224
+ return (retained.reference === current.reference &&
225
+ retained.digest === current.digest);
226
+ }
227
+ function copyNextSafeAction(value, command) {
228
+ return {
229
+ approvalRequired: value.approvalRequired,
230
+ authority: value.authority,
231
+ ...(command
232
+ ? {
233
+ command: {
234
+ args: [...command.args],
235
+ ...(command.cwd ? { cwd: command.cwd } : {}),
236
+ executable: command.executable,
237
+ },
238
+ }
239
+ : {}),
240
+ description: value.description,
241
+ ...(value.operationId ? { operationId: value.operationId } : {}),
242
+ ...(value.owner ? { owner: value.owner } : {}),
243
+ };
244
+ }
245
+ function blockedNextSafeAction(classification) {
246
+ const description = {
247
+ 'dirty-worktree': 'Review and reconcile the current worktree without discarding changes, then inspect the handoff again.',
248
+ 'generated-drift': 'Reconcile generated ownership and version drift, then create or inspect a new retained handoff.',
249
+ 'marker-blocked': 'Resolve or explicitly retain the blocking work marker before continuing.',
250
+ 'ownership-conflict': 'Return to the retained repository worktree or reconcile its ownership records before continuing.',
251
+ 'policy-conflict': 'Reconcile the Repository Operating Policy and inspect the retained handoff again.',
252
+ 'prerequisite-missing': 'Restore the required local framework prerequisites, then inspect the retained handoff again.',
253
+ 'stale-base': 'Restore the exact retained branch, base, and head relationship or create a new reviewed handoff.',
254
+ };
255
+ return {
256
+ approvalRequired: false,
257
+ authority: 'read-only',
258
+ description: description[classification] ??
259
+ 'Inspect and reconcile the reported conflict before continuing.',
260
+ };
261
+ }
262
+ function uniqueSortedFindings(values) {
263
+ const seen = new Set();
264
+ return values
265
+ .filter(({ binding, classification, sanitizedSummary, status }) => {
266
+ const key = `${binding ?? ''}\u0000${classification}\u0000${status ?? 'conflict'}\u0000${sanitizedSummary}`;
267
+ if (seen.has(key))
268
+ return false;
269
+ seen.add(key);
270
+ return true;
271
+ })
272
+ .sort((left, right) => (FAILURE_ORDER.get(left.classification) ?? Number.MAX_SAFE_INTEGER) -
273
+ (FAILURE_ORDER.get(right.classification) ??
274
+ Number.MAX_SAFE_INTEGER) ||
275
+ (0, ordering_js_1.compareDeveloperAgentStrings)(left.binding ?? '', right.binding ?? '') ||
276
+ (0, ordering_js_1.compareDeveloperAgentStrings)(left.sanitizedSummary, right.sanitizedSummary));
277
+ }
278
+ function allBindings(findings, statusWhenUnmentioned) {
279
+ return exports.DEVELOPER_AGENT_RESUME_BINDINGS.map((name) => {
280
+ const finding = findings.find(({ binding }) => binding === name);
281
+ return finding
282
+ ? {
283
+ classification: finding.classification,
284
+ name,
285
+ status: finding.status ?? 'conflict',
286
+ }
287
+ : { name, status: statusWhenUnmentioned };
288
+ });
289
+ }
290
+ function createAssessment(handoff, findingsInput, statusWhenUnmentioned, readyNextSafeAction) {
291
+ const findings = uniqueSortedFindings(findingsInput);
292
+ const failureClassification = findings[0]?.classification;
293
+ const assessment = {
294
+ bindings: allBindings(findings, statusWhenUnmentioned),
295
+ ...(failureClassification ? { failureClassification } : {}),
296
+ findings: findings.map(({ classification, sanitizedSummary }) => ({
297
+ classification,
298
+ sanitizedSummary,
299
+ })),
300
+ handoffState: handoff.state,
301
+ kind: exports.DEVELOPER_AGENT_RESUME_ASSESSMENT_KIND,
302
+ nextSafeAction: failureClassification
303
+ ? blockedNextSafeAction(failureClassification)
304
+ : (readyNextSafeAction ?? copyNextSafeAction(handoff.nextSafeAction)),
305
+ resumeAllowed: failureClassification === undefined,
306
+ schemaVersion: model_js_1.DEVELOPER_AGENT_CONTRACT_SCHEMA_VERSION,
307
+ status: failureClassification ? 'blocked' : 'ready',
308
+ workReference: handoff.work.reference,
309
+ };
310
+ if (node_buffer_1.Buffer.byteLength(JSON.stringify(assessment), 'utf8') >
311
+ exports.DEVELOPER_AGENT_RESUME_ASSESSMENT_MAX_BYTES) {
312
+ throw new DeveloperAgentHandoffError('tool-internal-error', 'Developer-Agent resume assessment exceeded its fixed output bound.');
313
+ }
314
+ return assessment;
315
+ }
316
+ /**
317
+ * Parses a retained handoff without retaining logs, transcripts, environment
318
+ * values, or unknown fields. Validation issues are reported by path only so an
319
+ * invalid value is never reflected into diagnostic output.
320
+ */
321
+ function parseDeveloperAgentHandoff(serialized) {
322
+ if (node_buffer_1.Buffer.byteLength(serialized, 'utf8') > model_js_1.DEVELOPER_AGENT_HANDOFF_MAX_BYTES) {
323
+ return invalidInput(`Retained Developer-Agent handoff exceeds ${model_js_1.DEVELOPER_AGENT_HANDOFF_MAX_BYTES} bytes.`);
324
+ }
325
+ let value;
326
+ try {
327
+ value = JSON.parse(serialized);
328
+ }
329
+ catch {
330
+ return invalidInput('Retained Developer-Agent handoff is not valid JSON.');
331
+ }
332
+ const validation = (0, validation_js_1.validateDeveloperAgentHandoff)(value);
333
+ if (!validation.valid) {
334
+ const firstPath = validation.issues[0]?.path ?? '$';
335
+ return invalidInput(`Retained Developer-Agent handoff is invalid at ${firstPath}.`);
336
+ }
337
+ const handoff = validation.value;
338
+ const sentinelPath = /^(?:0{40}|0{64})$/.test(handoff.repository.baseCommit)
339
+ ? '$.repository.baseCommit'
340
+ : /^(?:0{40}|0{64})$/.test(handoff.repository.headCommit)
341
+ ? '$.repository.headCommit'
342
+ : handoff.repository.branch.includes('REPLACE_WITH_')
343
+ ? '$.repository.branch'
344
+ : handoff.repository.worktree.includes('REPLACE_WITH_')
345
+ ? '$.repository.worktree'
346
+ : handoff.work.acceptanceCriteriaRevision.includes('REPLACE_WITH_')
347
+ ? '$.work.acceptanceCriteriaRevision'
348
+ : handoff.work.reference.includes('REPLACE_WITH_')
349
+ ? '$.work.reference'
350
+ : handoff.versions.effectivePolicyDigest ===
351
+ `sha256:${'0'.repeat(64)}`
352
+ ? '$.versions.effectivePolicyDigest'
353
+ : handoff.versions.candidateEvidenceReference?.digest ===
354
+ `sha256:${'0'.repeat(64)}`
355
+ ? '$.versions.candidateEvidenceReference.digest'
356
+ : undefined;
357
+ if (sentinelPath) {
358
+ return invalidInput(`Retained Developer-Agent handoff contains an unresolved template sentinel at ${sentinelPath}.`);
359
+ }
360
+ return handoff;
361
+ }
362
+ /**
363
+ * Compares a validated handoff to a newly inspected repository context. The
364
+ * function is pure: it neither changes Git nor executes the retained next
365
+ * action. A different process or agent session receives the same assessment
366
+ * from the same retained document and repository facts.
367
+ */
368
+ function assessDeveloperAgentHandoffResumeInternal(handoff, current, evidenceInspection) {
369
+ const validation = (0, validation_js_1.validateDeveloperAgentHandoff)(handoff);
370
+ if (!validation.valid) {
371
+ const firstPath = validation.issues[0]?.path ?? '$';
372
+ return invalidInput(`Retained Developer-Agent handoff is invalid at ${firstPath}.`);
373
+ }
374
+ const contextValidation = (0, validation_js_1.validateDeveloperAgentContext)(current);
375
+ if (!contextValidation.valid) {
376
+ return createAssessment(validation.value, [
377
+ {
378
+ classification: 'tool-internal-error',
379
+ sanitizedSummary: 'The newly inspected Developer-Agent context is not a valid bounded contract document.',
380
+ },
381
+ ], 'unchecked');
382
+ }
383
+ current = contextValidation.value;
384
+ const findings = [];
385
+ const add = (binding, classification, sanitizedSummary) => findings.push({ binding, classification, sanitizedSummary });
386
+ const hasRetainedEvidence = handoff.results.some((result) => result.artifacts.length > 0 || result.testingEvidence);
387
+ if (hasRetainedEvidence && evidenceInspection === undefined) {
388
+ findings.push({
389
+ binding: 'evidence',
390
+ classification: 'verification-failed',
391
+ sanitizedSummary: 'Retained evidence has not been reopened and digest-verified for this resume assessment.',
392
+ status: 'unchecked',
393
+ });
394
+ }
395
+ else if (evidenceInspection) {
396
+ findings.push(...evidenceInspection.findings);
397
+ }
398
+ if (handoff.externalState.length > 0) {
399
+ findings.push({
400
+ binding: 'external-state',
401
+ classification: 'cleanup-incomplete',
402
+ sanitizedSummary: 'Retained external state cannot be resumed without an owning status inspector.',
403
+ status: 'unchecked',
404
+ });
405
+ }
406
+ const nestedWorktreesMatch = handoff.results.every(({ source }) => source.worktree === handoff.repository.worktree);
407
+ if (current.workspace.identity !== handoff.repository.identity ||
408
+ current.workspace.repositoryRoot !== handoff.repository.worktree ||
409
+ current.git.worktreeRoot !== handoff.repository.worktree ||
410
+ !nestedWorktreesMatch) {
411
+ add('repository', 'ownership-conflict', 'The retained repository/worktree identity does not match the current context.');
412
+ }
413
+ const currentProjects = current.projects.map(({ name }) => name);
414
+ const currentAffectedTargets = current.affected?.targets ?? [];
415
+ const currentAffectedFiles = current.affected?.files ?? [];
416
+ if (current.affected === undefined ||
417
+ !compareStrings(handoff.selection.projects, currentProjects) ||
418
+ handoff.selection.slice !== current.selection.slice ||
419
+ handoff.selection.feature !== current.selection.feature ||
420
+ !compareStrings(handoff.selection.affectedTargets, currentAffectedTargets) ||
421
+ !compareStrings(handoff.changedFiles, currentAffectedFiles)) {
422
+ add('selection', 'ownership-conflict', 'The retained project, Slice, feature, affected-file, or affected-target selection differs from current Nx context.');
423
+ }
424
+ if (current.workspace.frameworkVersion !== handoff.versions.frameworkVersion) {
425
+ add('framework', 'generated-drift', 'The installed framework version differs from the retained handoff.');
426
+ }
427
+ if (!compareVersions(handoff.versions.blueprintVersions, current.workspace.blueprintVersions)) {
428
+ add('blueprints', 'generated-drift', 'The installed Blueprint versions differ from the retained handoff.');
429
+ }
430
+ const nestedCommitsMatch = handoff.results.every(({ source, testingEvidence }) => source.commit === handoff.repository.headCommit &&
431
+ (!testingEvidence ||
432
+ testingEvidence.result.source.commit === source.commit));
433
+ const staleGit = current.git.branch !== handoff.repository.branch ||
434
+ current.git.baseCommit !== handoff.repository.baseCommit ||
435
+ current.git.defaultBaseCommit !== handoff.repository.baseCommit ||
436
+ current.git.defaultBaseRef !== handoff.repository.baseRef ||
437
+ current.git.headCommit !== handoff.repository.headCommit ||
438
+ current.git.commit !== handoff.repository.headCommit ||
439
+ current.affected?.baseCommit !== handoff.repository.baseCommit ||
440
+ current.affected?.headCommit !== handoff.repository.headCommit ||
441
+ current.git.behind > 0 ||
442
+ !nestedCommitsMatch;
443
+ if (staleGit) {
444
+ add('git', 'stale-base', 'The retained branch/default-base/head binding does not match the current Git and affected context.');
445
+ }
446
+ if (current.git.dirty) {
447
+ add('git', 'dirty-worktree', 'The current worktree is dirty and cannot be adopted by a resumed session.');
448
+ }
449
+ if (current.policy.canonicalStage !== handoff.versions.canonicalStage ||
450
+ current.policy.effectivePolicyDigest !==
451
+ handoff.versions.effectivePolicyDigest ||
452
+ !compareStrings(handoff.versions.policyReferences, current.policy.effectivePolicyReferences)) {
453
+ add('policy', 'policy-conflict', 'The effective policy references differ from the retained handoff.');
454
+ }
455
+ const retainedMarkers = handoff.markerSnapshot.map(({ blocking, reference }) => `${blocking ? 'blocking' : 'nonblocking'}\0${reference}`);
456
+ const currentMarkers = current.markers.map(({ blocking, reference }) => `${blocking ? 'blocking' : 'nonblocking'}\0${reference}`);
457
+ if (!compareStrings(retainedMarkers, currentMarkers) ||
458
+ current.markers.some(({ blocking }) => blocking)) {
459
+ add('markers', 'marker-blocked', 'Current work markers do not match the retained non-blocking marker set.');
460
+ }
461
+ if (!compareCandidateReference(handoff.versions.candidateEvidenceReference, current.workspace.candidateProvenance)) {
462
+ add('candidate-provenance', 'generated-drift', 'The candidate provenance reference differs from the retained handoff.');
463
+ }
464
+ if (current.workspace.ownershipAgreement !== 'agrees') {
465
+ add('ownership', 'ownership-conflict', 'The current ownership and installed-package records do not agree.');
466
+ }
467
+ const reboundOperations = handoff.operations.flatMap((retained) => {
468
+ const operation = current.supportedOperations.find(({ id }) => id === retained.id);
469
+ if (!operation) {
470
+ add('operation', 'unsupported-operation', 'One retained performed operation is not supported by the current context.');
471
+ return [];
472
+ }
473
+ let reboundAuthority = operation.authority;
474
+ let currentContracts = operation.contracts;
475
+ let currentProjectsForOperation = operation.projects;
476
+ let currentVerification = operation.requiredVerification;
477
+ if (operation.owner === 'nx-generator') {
478
+ if (!retained.generatorInput) {
479
+ add('operation', 'ownership-conflict', 'One retained typed generator operation lacks its closed generator identity.');
480
+ return [];
481
+ }
482
+ try {
483
+ const rebound = (0, generator_planning_js_1.rebindDeveloperAgentGeneratorPlan)(current, operation, retained.generatorInput);
484
+ reboundAuthority = rebound.authority ?? operation.authority;
485
+ currentContracts = rebound.contracts;
486
+ currentProjectsForOperation = rebound.projects;
487
+ currentVerification = rebound.verification;
488
+ if (currentVerification.some((target) => !current.authenticatedTargets.includes(target))) {
489
+ add('operation', 'unsupported-operation', 'One retained typed generator verification target is not authenticated by the current registry.');
490
+ return [];
491
+ }
492
+ }
493
+ catch (error) {
494
+ add('operation', error instanceof generator_planning_js_1.DeveloperAgentGeneratorPlanError
495
+ ? error.classification
496
+ : 'ownership-conflict', 'One retained typed generator operation cannot be rebound to current repository facts.');
497
+ return [];
498
+ }
499
+ }
500
+ if (reboundAuthority !== retained.authority ||
501
+ operation.owner !== retained.owner) {
502
+ add('operation', 'authority-required', 'One retained performed operation differs from current owning-tool authority.');
503
+ return [];
504
+ }
505
+ const currentScope = {
506
+ contracts: currentContracts
507
+ .map(({ class: contractClass, reference }) => `${contractClass}\u0000${reference}`)
508
+ .sort(),
509
+ evidenceClasses: [...operation.evidenceClasses].sort(),
510
+ projects: [...currentProjectsForOperation].sort(),
511
+ requiredVerification: [...currentVerification].sort(),
512
+ };
513
+ const retainedScope = {
514
+ contracts: retained.scope.contracts
515
+ .map(({ class: contractClass, reference }) => `${contractClass}\u0000${reference}`)
516
+ .sort(),
517
+ evidenceClasses: [...retained.scope.evidenceClasses].sort(),
518
+ projects: [...retained.scope.projects].sort(),
519
+ requiredVerification: [...retained.scope.requiredVerification].sort(),
520
+ };
521
+ if (!(0, node_util_1.isDeepStrictEqual)(currentScope, retainedScope)) {
522
+ add('operation', 'ownership-conflict', 'One retained performed operation scope differs from the current registry scope.');
523
+ return [];
524
+ }
525
+ if (retained.scope.projects.some((project) => !currentProjects.includes(project))) {
526
+ add('selection', 'ownership-conflict', 'One retained effective operation names a project outside the current Nx graph.');
527
+ return [];
528
+ }
529
+ if (!operation.applicableStages.includes(current.policy.canonicalStage)) {
530
+ add('policy', 'policy-conflict', 'One retained performed operation is not applicable to the current canonical stage.');
531
+ return [];
532
+ }
533
+ if (operation.policyLifecycleAction) {
534
+ const decision = current.policy.effectiveDecisions.find(({ action, projects, stage }) => action === operation.policyLifecycleAction &&
535
+ stage === current.policy.canonicalStage &&
536
+ operation.projects.every((project) => projects.includes(project)));
537
+ if (!decision?.allowed) {
538
+ add('policy', 'policy-conflict', 'One retained performed operation is denied by the current effective lifecycle policy.');
539
+ return [];
540
+ }
541
+ }
542
+ const matchingResults = handoff.results.filter(({ operation: resultOperation }) => resultOperation.name === retained.id);
543
+ const operationContracts = retained.scope.contracts.map((contract) => `${contract.class}\u0000${contract.reference}`);
544
+ if (matchingResults.length === 0 ||
545
+ matchingResults.some((result) => result.outcome !== 'blocked' &&
546
+ (!compareStrings(retained.scope.projects, result.affected.projects) ||
547
+ !compareStrings(operationContracts, result.affected.contracts.map((retainedContract) => `${retainedContract.class}\u0000${retainedContract.reference}`))))) {
548
+ add('selection', 'ownership-conflict', 'One retained result does not include its rebound operation project and contract scope.');
549
+ return [];
550
+ }
551
+ return [{ ...operation, authority: reboundAuthority }];
552
+ });
553
+ if (reboundOperations.length === handoff.operations.length) {
554
+ const expectedVerification = handoff.state === 'proposal-or-research-only'
555
+ ? []
556
+ : [
557
+ ...new Set(handoff.operations.flatMap(({ scope }) => scope.requiredVerification)),
558
+ ];
559
+ if (!compareStrings(handoff.requiredVerification, expectedVerification)) {
560
+ add('verification', 'verification-failed', 'Retained required verification differs from current performed-operation requirements.');
561
+ }
562
+ const expectedEvidence = handoff.state === 'proposal-or-research-only'
563
+ ? []
564
+ : [
565
+ ...new Set(handoff.operations.flatMap(({ scope }) => scope.evidenceClasses)),
566
+ ];
567
+ if (!compareStrings(handoff.requiredEvidence, expectedEvidence)) {
568
+ add('evidence', 'verification-failed', 'Retained required evidence differs from current performed-operation requirements.');
569
+ }
570
+ }
571
+ for (const warning of current.warnings) {
572
+ if (!BLOCKING_CONTEXT_WARNINGS.has(warning.classification))
573
+ continue;
574
+ const binding = warning.classification === 'dirty-worktree' ||
575
+ warning.classification === 'stale-base'
576
+ ? 'git'
577
+ : warning.classification === 'generated-drift'
578
+ ? 'framework'
579
+ : warning.classification === 'policy-conflict'
580
+ ? 'policy'
581
+ : warning.classification === 'marker-blocked'
582
+ ? 'markers'
583
+ : 'ownership';
584
+ add(binding, warning.classification, CONTEXT_WARNING_SUMMARIES[warning.classification]);
585
+ }
586
+ let reboundNextSafeAction = copyNextSafeAction(handoff.nextSafeAction);
587
+ if (handoff.nextSafeAction.operationId) {
588
+ const operation = current.supportedOperations.find(({ id }) => id === handoff.nextSafeAction.operationId);
589
+ if (!operation) {
590
+ add('operation', 'unsupported-operation', 'The retained next operation is not supported by the current context.');
591
+ }
592
+ else if (operation.owner === 'nx-generator') {
593
+ add('operation', 'unsupported-operation', 'Typed generator operations require fresh typed inputs and cannot be resumed from a handoff.');
594
+ }
595
+ else if (operation.authority !== handoff.nextSafeAction.authority ||
596
+ operation.approvalRequired !== handoff.nextSafeAction.approvalRequired ||
597
+ operation.owner !== handoff.nextSafeAction.owner) {
598
+ add('operation', 'authority-required', 'The retained next operation authority differs from the current owning tool.');
599
+ }
600
+ else if (!operation.applicableStages.includes(current.policy.canonicalStage)) {
601
+ add('policy', 'policy-conflict', 'The retained next operation is not applicable to the current canonical stage.');
602
+ }
603
+ else if (operation.policyLifecycleAction &&
604
+ !current.policy.effectiveDecisions.some(({ action, allowed, projects, stage }) => action === operation.policyLifecycleAction &&
605
+ allowed &&
606
+ stage === current.policy.canonicalStage &&
607
+ operation.projects.every((project) => projects.includes(project)))) {
608
+ add('policy', 'policy-conflict', 'The retained next operation is denied by the current effective lifecycle policy.');
609
+ }
610
+ else {
611
+ reboundNextSafeAction = copyNextSafeAction(handoff.nextSafeAction, operation.authority === 'protected-mutate' ||
612
+ operation.authority === 'destructive'
613
+ ? undefined
614
+ : operation.command);
615
+ }
616
+ }
617
+ return createAssessment(validation.value, findings, 'match', reboundNextSafeAction);
618
+ }
619
+ function assessDeveloperAgentHandoffResume(handoff, current) {
620
+ return assessDeveloperAgentHandoffResumeInternal(handoff, current);
621
+ }
622
+ /**
623
+ * Re-inspects context for the exact retained base/head and candidate reference
624
+ * before producing an advisory resume assessment. No retained command is run.
625
+ */
626
+ async function inspectDeveloperAgentHandoffResume(cwd, serializedHandoff, dependencyOverrides = {}) {
627
+ const handoff = parseDeveloperAgentHandoff(serializedHandoff);
628
+ const evidenceBefore = inspectRetainedEvidence(cwd, handoff);
629
+ const inspectContext = dependencyOverrides.inspectContext ??
630
+ ((root, contextQuery) => (0, context_js_1.inspectDeveloperAgentContext)(root, contextQuery));
631
+ let context;
632
+ try {
633
+ context = await inspectContext(cwd, {
634
+ ...(handoff.selection.affectedTargets.length > 0
635
+ ? { affectedTargets: handoff.selection.affectedTargets }
636
+ : {}),
637
+ base: handoff.repository.baseCommit,
638
+ ...(handoff.versions.candidateEvidenceReference
639
+ ? {
640
+ candidateProvenancePath: handoff.versions.candidateEvidenceReference.reference,
641
+ }
642
+ : {}),
643
+ canonicalStage: handoff.versions.canonicalStage,
644
+ head: handoff.repository.headCommit,
645
+ ...(handoff.selection.feature
646
+ ? { selectedFeature: handoff.selection.feature }
647
+ : {}),
648
+ selectedProjects: handoff.selection.projects,
649
+ ...(handoff.selection.slice
650
+ ? { selectedSlice: handoff.selection.slice }
651
+ : {}),
652
+ });
653
+ }
654
+ catch (error) {
655
+ const classification = error instanceof context_js_1.DeveloperAgentContextError
656
+ ? error.classification
657
+ : error instanceof DeveloperAgentHandoffError
658
+ ? error.classification
659
+ : 'tool-internal-error';
660
+ return createAssessment(handoff, [
661
+ {
662
+ classification,
663
+ sanitizedSummary: CONTEXT_WARNING_SUMMARIES[classification],
664
+ },
665
+ ], 'unchecked');
666
+ }
667
+ const evidenceAfter = inspectRetainedEvidence(cwd, handoff);
668
+ const evidenceInspection = evidenceBefore.findings.length > 0
669
+ ? evidenceBefore
670
+ : evidenceAfter.findings.length > 0
671
+ ? evidenceAfter
672
+ : compareStrings(evidenceBefore.identities, evidenceAfter.identities)
673
+ ? evidenceAfter
674
+ : {
675
+ findings: [
676
+ {
677
+ binding: 'evidence',
678
+ classification: 'verification-failed',
679
+ sanitizedSummary: 'A retained evidence reference changed identity during context inspection.',
680
+ },
681
+ ],
682
+ identities: [],
683
+ };
684
+ return assessDeveloperAgentHandoffResumeInternal(handoff, context, evidenceInspection);
685
+ }
686
+ function formatDeveloperAgentResumeAssessment(assessment) {
687
+ const lines = [
688
+ `Handoff: ${assessment.workReference}`,
689
+ `State: ${assessment.handoffState}`,
690
+ `Resume: ${assessment.resumeAllowed ? 'allowed' : 'blocked'}`,
691
+ ];
692
+ for (const finding of assessment.findings) {
693
+ lines.push(`- [${finding.classification}] ${finding.sanitizedSummary}`);
694
+ }
695
+ lines.push(`Next: ${assessment.nextSafeAction.description}`);
696
+ return lines.join('\n');
697
+ }
698
+ //# sourceMappingURL=handoff.js.map