@makaio/framework 1.0.0-dev-1788955549564 → 1.0.0-dev-1788966380232

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 (515) hide show
  1. package/dist/.makaio-build.json +2 -2
  2. package/dist/{2020-Bl3Yx3In.mjs → 2020-CpDjcHDh.mjs} +1 -1
  3. package/dist/{account-identity-B0NsOILM.mjs → account-identity-D00LLclm.mjs} +1 -1
  4. package/dist/{adapter-DYE_oWjj.mjs → adapter-D92pfm_b.mjs} +1 -1
  5. package/dist/{adapter-auth-runtime-BnPqQChk.mjs → adapter-auth-runtime-46Y9WKcB.mjs} +1 -1
  6. package/dist/adapter-subsystem/index.d.mts +1 -1
  7. package/dist/adapter-subsystem/index.mjs +1 -1
  8. package/dist/adapters/claude/index.d.mts +2 -2
  9. package/dist/adapters/claude/testing.mjs +1 -1
  10. package/dist/adapters/config/index.d.mts +2 -2
  11. package/dist/adapters/config/index.mjs +1 -1
  12. package/dist/adapters/index.d.mts +3 -3
  13. package/dist/adapters/index.mjs +6 -6
  14. package/dist/adapters/node.d.mts +1 -1
  15. package/dist/adapters/node.mjs +2 -2
  16. package/dist/adapters/stream-session/index.d.mts +1 -1
  17. package/dist/adapters/stream-session/index.mjs +1 -1
  18. package/dist/artifact-_pN73_7c.mjs +1 -0
  19. package/dist/{attempt-record-codec-6jpayBMY.mjs → attempt-record-codec-D2Gb_epJ.mjs} +1 -1
  20. package/dist/{auth-CeH3w2fi.mjs → auth-CB4an9bh.mjs} +1 -1
  21. package/dist/authority-state-bootstrap-DgoHPc9J.mjs +1 -0
  22. package/dist/{automation-trigger-CZfH94Fr.mjs → automation-trigger-xNDX0Am_.mjs} +1 -1
  23. package/dist/bootstrap-start-client-rW55mDI-.mjs +1 -0
  24. package/dist/bus/index.mjs +1 -1
  25. package/dist/{caller-owned-adapter-stub-B-Sq7ZvF.mjs → caller-owned-adapter-stub-oM1G1KvC.mjs} +1 -1
  26. package/dist/{canonical-model-oFNty7hj.mjs → canonical-model-D7Cg0l2R.mjs} +1 -1
  27. package/dist/{capabilities-BhJ3wzI8.mjs → capabilities-D2ggcMem.mjs} +1 -1
  28. package/dist/{capability-service-23Ot2J9A.d.mts → capability-service-Cpkonrc0.d.mts} +1 -1
  29. package/dist/{client-DJMzCHRm.mjs → client-CpUVfDxa.mjs} +1 -1
  30. package/dist/clients/index.d.mts +2 -2
  31. package/dist/clients/index.mjs +1 -1
  32. package/dist/clients/managed-install.d.mts +1 -1
  33. package/dist/clients/managed-install.mjs +1 -1
  34. package/dist/code-execution/worker-entry.d.mts +1 -1
  35. package/dist/code-execution/worker-entry.mjs +1 -1
  36. package/dist/{code-execution-B9wr0b972.mjs → code-execution-ByLSAlEg2.mjs} +1 -1
  37. package/dist/{code-execution-BMmUATcc.mjs → code-execution-CMqsHnGg.mjs} +1 -1
  38. package/dist/{code-execution-DRCzkGzO.mjs → code-execution-xn9-x3VO.mjs} +1 -1
  39. package/dist/common-CylczUIW.mjs +1 -0
  40. package/dist/{compression-nZhMDRTA.mjs → compression-Civ-rf-O.mjs} +1 -1
  41. package/dist/{config-namespace-MjFuIPyL.mjs → config-namespace-CQnsvr77.mjs} +1 -1
  42. package/dist/contracts/adapter/index.d.mts +2 -2
  43. package/dist/contracts/adapter/index.mjs +1 -1
  44. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  45. package/dist/contracts/artifact/index.d.mts +3 -3
  46. package/dist/contracts/artifact/index.mjs +1 -1
  47. package/dist/contracts/auth/index.d.mts +2 -2
  48. package/dist/contracts/auth/index.mjs +1 -1
  49. package/dist/contracts/automation-trigger/index.d.mts +3 -3
  50. package/dist/contracts/automation-trigger/index.mjs +1 -1
  51. package/dist/contracts/canonical-model/index.d.mts +1 -1
  52. package/dist/contracts/canonical-model/index.mjs +1 -1
  53. package/dist/contracts/capabilities/index.d.mts +1 -1
  54. package/dist/contracts/capabilities/index.mjs +1 -1
  55. package/dist/contracts/client/index.d.mts +2 -2
  56. package/dist/contracts/client/index.mjs +1 -1
  57. package/dist/contracts/code-execution/index.d.mts +1 -1
  58. package/dist/contracts/code-execution/index.mjs +1 -1
  59. package/dist/contracts/common/index.d.mts +2 -2
  60. package/dist/contracts/common/index.mjs +1 -1
  61. package/dist/contracts/config/index.d.mts +1 -1
  62. package/dist/contracts/config/index.mjs +1 -1
  63. package/dist/contracts/extension/index.d.mts +5 -5
  64. package/dist/contracts/extension/index.mjs +1 -1
  65. package/dist/contracts/facet/index.d.mts +1 -1
  66. package/dist/contracts/facet/index.mjs +1 -1
  67. package/dist/contracts/harness/index.d.mts +1 -1
  68. package/dist/contracts/harness/index.mjs +1 -1
  69. package/dist/contracts/host/index.d.mts +1 -1
  70. package/dist/contracts/host/index.mjs +1 -1
  71. package/dist/contracts/index.d.mts +73 -73
  72. package/dist/contracts/index.mjs +1 -1
  73. package/dist/contracts/materialization/index.d.mts +2 -2
  74. package/dist/contracts/materialization/index.mjs +1 -1
  75. package/dist/contracts/model-registry/index.d.mts +1 -1
  76. package/dist/contracts/model-registry/index.mjs +1 -1
  77. package/dist/contracts/native-session-supervisor/index.d.mts +1 -1
  78. package/dist/contracts/native-session-supervisor/index.mjs +1 -1
  79. package/dist/contracts/platform/index.d.mts +1 -1
  80. package/dist/contracts/platform/index.mjs +1 -1
  81. package/dist/contracts/provider/index.d.mts +2 -2
  82. package/dist/contracts/provider/index.mjs +1 -1
  83. package/dist/contracts/reaction/index.d.mts +1 -1
  84. package/dist/contracts/reaction/index.mjs +1 -1
  85. package/dist/contracts/session/index.d.mts +2 -2
  86. package/dist/contracts/session/index.mjs +1 -1
  87. package/dist/contracts/shared/index.d.mts +2 -2
  88. package/dist/contracts/shared/index.mjs +1 -1
  89. package/dist/contracts/skill/index.d.mts +1 -1
  90. package/dist/contracts/skill/index.mjs +1 -1
  91. package/dist/contracts/telemetry/index.d.mts +1 -1
  92. package/dist/contracts/telemetry/index.mjs +1 -1
  93. package/dist/contracts/timeout/index.d.mts +1 -1
  94. package/dist/contracts/timeout/index.mjs +1 -1
  95. package/dist/contracts/toast/index.mjs +1 -1
  96. package/dist/contracts/variant/index.d.mts +1 -1
  97. package/dist/contracts/variant/index.mjs +1 -1
  98. package/dist/contracts/worker/index.d.mts +2 -2
  99. package/dist/contracts/worker/index.mjs +1 -1
  100. package/dist/contracts/workflow/index.d.mts +2 -2
  101. package/dist/contracts/workflow/index.mjs +1 -1
  102. package/dist/{contribution-B4t0OXKs.d.mts → contribution-BfEEQ8YZ.d.mts} +2 -2
  103. package/dist/{definition-Bs5hzhsT.d.mts → definition-6d5JBi55.d.mts} +1 -1
  104. package/dist/{definition-YGj42UeO.mjs → definition-Dqw0YJdi.mjs} +1 -1
  105. package/dist/{detached-extension-handle-CgJiXaqv.mjs → detached-extension-handle-BJnk3WEh.mjs} +1 -1
  106. package/dist/{dist-CfANkKSb.mjs → dist-DeI9zYMP.mjs} +1 -1
  107. package/dist/evidence/git-file/index.d.mts +54 -0
  108. package/dist/evidence/git-file/index.mjs +4 -0
  109. package/dist/{execution-attempt-owner-recovery-CdH04iwP.mjs → execution-attempt-owner-recovery-D4APLAvt.mjs} +1 -1
  110. package/dist/{execution-attempt-repository-CJVlPFMM.d.mts → execution-attempt-repository--RVils5-.d.mts} +273 -189
  111. package/dist/execution-attempt-repository-CWbgCTwA.mjs +1 -0
  112. package/dist/{execution-target-B9jZgDQz.mjs → execution-target-_oVNW6Zm.mjs} +1 -1
  113. package/dist/{extension-B51JzHJu.mjs → extension-CAi7bbyv.mjs} +1 -1
  114. package/dist/{extension-C1CwxkCN.mjs → extension-CrghVa93.mjs} +1 -1
  115. package/dist/{filesystem-service-yB8KhUGz.mjs → filesystem-service-hdz3oYti.mjs} +1 -1
  116. package/dist/{framework-packages-25GUGzJ-.mjs → framework-packages-BOPhhtK7.mjs} +1 -1
  117. package/dist/git/index.mjs +1 -1
  118. package/dist/{globby-z2SR0jRo.mjs → globby-Begk3aIP.mjs} +1 -1
  119. package/dist/{handlers-CBbFzDHc.mjs → handlers-YPTyZDhF.mjs} +1 -1
  120. package/dist/{harness-GNtHsoh4.mjs → harness-Ds1I4smU.mjs} +1 -1
  121. package/dist/{hook-responses-chgDiS8D.d.mts → hook-responses-CpEfxEmG.d.mts} +1 -1
  122. package/dist/hooks/index.d.mts +1 -1
  123. package/dist/hooks/index.mjs +1 -1
  124. package/dist/{index-BtPZcp4M2.d.mts → index-09eal6WI2.d.mts} +11 -11
  125. package/dist/{index-GNRWZONO.d.mts → index-6kg8YFYt.d.mts} +1 -1
  126. package/dist/{index-B6aoVzdA.d.mts → index-B3G-Hzwn.d.mts} +1 -1
  127. package/dist/{index-SDXlgq07.d.mts → index-B7wjmaev.d.mts} +24 -14
  128. package/dist/{index-DzeUtJtE.d.mts → index-BKwYE1Qk.d.mts} +5 -5
  129. package/dist/{index-CKjFFP6W2.d.mts → index-BM-FPWjs2.d.mts} +1 -1
  130. package/dist/{index-Bak5iKWv2.d.mts → index-BT5qcsEf2.d.mts} +24 -15
  131. package/dist/{index-BjELPYLF2.d.mts → index-BfzuauBt2.d.mts} +1 -1
  132. package/dist/{index-D2sbGoGS.d.mts → index-Bj2JCo9V.d.mts} +2 -2
  133. package/dist/{index-OXuby-ee.d.mts → index-BkQlL0Pl.d.mts} +13 -13
  134. package/dist/{index-CuPq_ap8.d.mts → index-BlHq_Ksb.d.mts} +2 -2
  135. package/dist/{index-D3RZEEE3.d.mts → index-Bn6sN1op.d.mts} +2 -2
  136. package/dist/{index-ConotXyG.d.mts → index-Bnm0QvJ4.d.mts} +15 -15
  137. package/dist/{index-Bxs-oIo4.d.mts → index-BpsurXEW.d.mts} +1 -1
  138. package/dist/{index-C9J8wBLV.d.mts → index-BqR2xDu6.d.mts} +655 -111
  139. package/dist/{index-DX_2kGSg.d.mts → index-Bxq_zO2E.d.mts} +4 -4
  140. package/dist/{index-CcgI6r0K.d.mts → index-C742b1FV.d.mts} +2 -2
  141. package/dist/{index-B6Kq1BtL.d.mts → index-C8oBOTl_.d.mts} +1 -1
  142. package/dist/{index-CuLDybz3.d.mts → index-CDhbUjUH.d.mts} +2 -2
  143. package/dist/{index-CDeN0mdC.d.mts → index-CWeWBh-_.d.mts} +1 -1
  144. package/dist/{index-SIP-fI28.d.mts → index-D4XNkbM4.d.mts} +1 -1
  145. package/dist/{index-C6eJrtTA.d.mts → index-D7IZQNhD.d.mts} +2 -2
  146. package/dist/{index-CU_HMaeC.d.mts → index-DCfYa3cF.d.mts} +39 -1
  147. package/dist/{index-VbqrC9qf.d.mts → index-DO633_D-.d.mts} +40 -40
  148. package/dist/{index-CVx7li6B2.d.mts → index-DU9Y9tes2.d.mts} +12 -12
  149. package/dist/{index-99Gz8ezO.d.mts → index-DY_0TRvM.d.mts} +3 -3
  150. package/dist/{index-DfJNJYPV.d.mts → index-DzlGAEws.d.mts} +4 -4
  151. package/dist/{index-DOkenapA.d.mts → index-LjLUr3Dm.d.mts} +10 -10
  152. package/dist/{index-CwJaE0fT.d.mts → index-MtDz_goH.d.mts} +125 -77
  153. package/dist/{index-CyB6POkH.d.mts → index-nJvYTAbD.d.mts} +1 -1
  154. package/dist/{index-BrelUXBT.d.mts → index-ud9i9pue.d.mts} +16 -16
  155. package/dist/{index-OUtnmQ8t2.d.mts → index-v9TbeVee2.d.mts} +5 -5
  156. package/dist/kernel/cli/index.d.mts +2 -2
  157. package/dist/kernel/cli/index.mjs +1 -1
  158. package/dist/kernel/cli/register.d.mts +1 -1
  159. package/dist/kernel/cli/register.mjs +1 -1
  160. package/dist/kernel/cli/schemas.mjs +1 -1
  161. package/dist/kernel/extension/index.d.mts +1 -1
  162. package/dist/kernel/extension/index.mjs +1 -1
  163. package/dist/kernel/index.d.mts +5 -5
  164. package/dist/kernel/index.mjs +1 -1
  165. package/dist/kernel/namespace/index.d.mts +1 -1
  166. package/dist/kernel/namespace/index.mjs +1 -1
  167. package/dist/kernel/observability/index.d.mts +1 -1
  168. package/dist/kernel/observability/index.mjs +1 -1
  169. package/dist/kernel/providers/index.d.mts +1 -1
  170. package/dist/kernel/providers/index.mjs +1 -1
  171. package/dist/kernel/window/index.d.mts +1 -1
  172. package/dist/kernel/window/index.mjs +1 -1
  173. package/dist/{lib-0MqNtDuH.mjs → lib-BmXBuE-w.mjs} +1 -1
  174. package/dist/{lib-dlyJT26K.mjs → lib-R-c_q77C.mjs} +1 -1
  175. package/dist/{load-extensions-DM1PgW4a.d.mts → load-extensions-Bu10B5B1.d.mts} +1 -1
  176. package/dist/{load-extensions-BHTj3d_P.mjs → load-extensions-s4YmICgn.mjs} +1 -1
  177. package/dist/{materialization-BQuh_gaE.mjs → materialization-BwC7pVg2.mjs} +1 -1
  178. package/dist/mcp-http-server/index.d.mts +1 -1
  179. package/dist/mcp-http-server/index.mjs +1 -1
  180. package/dist/model-Cn1IFEP8.mjs +1 -0
  181. package/dist/{namespace-c5XPzbf3.d.mts → namespace-BYsKOw-g.d.mts} +2 -2
  182. package/dist/{namespace-ZAIFBrIy.mjs → namespace-CnRcpgJ8.mjs} +1 -1
  183. package/dist/namespace-DFc1nkal.mjs +1 -0
  184. package/dist/{namespace-Cb0XKb4v.d.mts → namespace-KTRWfIPy.d.mts} +2 -2
  185. package/dist/{namespace-DiTFR4Zt.d.mts → namespace-wuGMWlyz.d.mts} +2 -2
  186. package/dist/{native-session-supervisor-BlGzmZrH.mjs → native-session-supervisor-B0rziwHI.mjs} +1 -1
  187. package/dist/node/bus-server/index.d.mts +1 -1
  188. package/dist/node/bus-server/index.mjs +1 -1
  189. package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
  190. package/dist/node/bus-server/server-lifecycle.mjs +1 -1
  191. package/dist/{orchestrator-shared-5vhs4wvU.mjs → orchestrator-shared-CmS8iU9_.mjs} +1 -1
  192. package/dist/{orchestrator-shared-BRNZ6it3.d.mts → orchestrator-shared-Cwc6JKkV.d.mts} +1 -1
  193. package/dist/{ownership-memory-handler-BCu1EjFO.mjs → ownership-memory-handler-DMirNILL.mjs} +1 -1
  194. package/dist/package-B-xpYKe8.mjs +7 -0
  195. package/dist/{package-x2wRhcUt.d.mts → package-Bl0mcGb8.d.mts} +13 -3
  196. package/dist/{package-BiZ6ehWk.mjs → package-Co36_pRw.mjs} +1 -1
  197. package/dist/{package-BUSXHPOT.mjs → package-D2zvQO7X.mjs} +1 -1
  198. package/dist/package.json +1 -1
  199. package/dist/{packages-Dhgmy_LJ.mjs → packages-COqPg5TI.mjs} +1 -1
  200. package/dist/{packages-BSVxszLf.d.mts → packages-DTz_1dCa.d.mts} +1 -1
  201. package/dist/{profile-DBDvy9uc.mjs → profile-C9RV7ao-.mjs} +1 -1
  202. package/dist/{provider-context-CSb0qX1c.mjs → provider-context-BPITm0cn.mjs} +1 -1
  203. package/dist/{provider-context-CTOrOW54.mjs → provider-context-CyGvwXPz.mjs} +1 -1
  204. package/dist/providers/index.d.mts +1 -1
  205. package/dist/{reaction-6e4v007b.mjs → reaction-aQJGWUWl.mjs} +1 -1
  206. package/dist/repo-context-Dy6eE9cg.mjs +1 -0
  207. package/dist/{resolved-ONt3rOMh.mjs → resolved-M6PyrgFr.mjs} +1 -1
  208. package/dist/rules/index.d.mts +1 -1
  209. package/dist/rules/index.mjs +1 -1
  210. package/dist/rules/schemas.d.mts +1 -1
  211. package/dist/runtime-bun/index.mjs +1 -1
  212. package/dist/runtime-node/code-execution/index.d.mts +2 -2
  213. package/dist/runtime-node/code-execution/index.mjs +1 -1
  214. package/dist/runtime-node/extension-discovery.d.mts +1 -1
  215. package/dist/runtime-node/extension-validation.d.mts +1 -1
  216. package/dist/runtime-node/extension-validation.mjs +1 -1
  217. package/dist/runtime-node/index.d.mts +6 -6
  218. package/dist/runtime-node/index.mjs +4 -4
  219. package/dist/runtime-node/makaio-config.d.mts +1 -1
  220. package/dist/runtime-node/makaio-config.mjs +1 -1
  221. package/dist/runtime-node/workflow-worker/index.d.mts +1 -1
  222. package/dist/runtime-node/workflow-worker/index.mjs +1 -1
  223. package/dist/runtime-node/workflow-worker/worker-entry.mjs +1 -1
  224. package/dist/{schema-B8jinlbH.mjs → schema-DrHrto2J.mjs} +1 -1
  225. package/dist/{schemas-BFwNBMIj.d.mts → schemas-BYyT43gX.d.mts} +4 -4
  226. package/dist/{schemas-BIU9Org_.mjs → schemas-CQKfd2Xd.mjs} +1 -1
  227. package/dist/{schemas-Di_kpQ0C.d.mts → schemas-CvUe_yff.d.mts} +13 -4
  228. package/dist/{schemas-BZabEyEV.d.mts → schemas-D2HmGmCt.d.mts} +1 -1
  229. package/dist/schemas-DRho446W.mjs +1 -0
  230. package/dist/{schemas-I9dZtAkj.d.mts → schemas-DwqibWUL.d.mts} +2 -2
  231. package/dist/{schemas-abY5VbS4.mjs → schemas-DyZNwquY.mjs} +1 -1
  232. package/dist/{selection-7SkHsmWs.mjs → selection-BDs7K53w.mjs} +1 -1
  233. package/dist/{server-lifecycle-hNz8U-QJ.mjs → server-lifecycle-C5Vl58sN.mjs} +1 -1
  234. package/dist/services/adapter-runtime/index.d.mts +3 -3
  235. package/dist/services/adapter-runtime/index.mjs +1 -1
  236. package/dist/services/adapter-runtime/namespace.d.mts +1 -1
  237. package/dist/services/adapter-runtime/schemas.d.mts +1 -1
  238. package/dist/services/adapter-subsystem/index.d.mts +3 -3
  239. package/dist/services/adapter-subsystem/index.mjs +1 -1
  240. package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
  241. package/dist/services/adapter-subsystem/namespace.mjs +1 -1
  242. package/dist/services/agent-runtime/index.d.mts +2 -2
  243. package/dist/services/agent-runtime/namespace.d.mts +1 -1
  244. package/dist/services/agent-runtime/schemas.d.mts +1 -1
  245. package/dist/services/automation-trigger/index.d.mts +1 -1
  246. package/dist/services/automation-trigger/index.mjs +1 -1
  247. package/dist/services/capability/index.d.mts +2 -2
  248. package/dist/services/capability/index.mjs +1 -1
  249. package/dist/services/code-execution/index.d.mts +1 -1
  250. package/dist/services/code-execution/index.mjs +1 -1
  251. package/dist/services/codebase/index.d.mts +2 -2
  252. package/dist/services/codebase/namespace.d.mts +1 -1
  253. package/dist/services/codebase/schemas.d.mts +1 -1
  254. package/dist/services/compression/index.d.mts +2 -2
  255. package/dist/services/compression/namespace.d.mts +1 -1
  256. package/dist/services/compression/schemas.d.mts +1 -1
  257. package/dist/services/context-rules/index.d.mts +4 -4
  258. package/dist/services/context-rules/index.mjs +1 -1
  259. package/dist/services/execution-target/index.d.mts +3 -3
  260. package/dist/services/execution-target/index.mjs +1 -1
  261. package/dist/services/execution-target/namespace.d.mts +1 -1
  262. package/dist/services/execution-target/namespace.mjs +1 -1
  263. package/dist/services/execution-target/schemas.d.mts +1 -1
  264. package/dist/services/execution-target/schemas.mjs +1 -1
  265. package/dist/services/filesystem/index.d.mts +1 -1
  266. package/dist/services/filesystem/index.mjs +1 -1
  267. package/dist/services/filesystem/namespace.d.mts +6 -6
  268. package/dist/services/filesystem/schemas.d.mts +3 -3
  269. package/dist/services/git/namespace.d.mts +2 -2
  270. package/dist/services/git/namespace.mjs +1 -1
  271. package/dist/services/git/schemas.d.mts +1 -1
  272. package/dist/services/git/schemas.mjs +1 -1
  273. package/dist/services/harness/index.d.mts +4 -4
  274. package/dist/services/harness/index.mjs +1 -1
  275. package/dist/services/index.d.mts +49 -49
  276. package/dist/services/index.mjs +1 -1
  277. package/dist/services/log-import/browser.d.mts +2 -2
  278. package/dist/services/log-import/index.d.mts +3 -3
  279. package/dist/services/log-import/index.mjs +2 -2
  280. package/dist/services/log-import/log-import.d.mts +1 -1
  281. package/dist/services/log-import/log-import.mjs +1 -1
  282. package/dist/services/log-import/namespace.mjs +1 -1
  283. package/dist/services/log-import/schemas.mjs +1 -1
  284. package/dist/services/materialization/index.d.mts +1 -1
  285. package/dist/services/materialization/index.mjs +1 -1
  286. package/dist/services/model-registry/index.d.mts +1 -1
  287. package/dist/services/model-registry/index.mjs +1 -1
  288. package/dist/services/preferences/index.d.mts +2 -2
  289. package/dist/services/preferences/schemas.d.mts +1 -1
  290. package/dist/services/preferences/storage-namespace.d.mts +2 -2
  291. package/dist/services/provider-context/index.d.mts +1 -1
  292. package/dist/services/provider-context/index.mjs +1 -1
  293. package/dist/services/provider-runtime/index.mjs +1 -1
  294. package/dist/services/session/handlers/index.d.mts +1 -1
  295. package/dist/services/session/handlers/index.mjs +1 -1
  296. package/dist/services/session/index.d.mts +9 -9
  297. package/dist/services/session/index.mjs +1 -1
  298. package/dist/services/session/messages/namespace.d.mts +1 -1
  299. package/dist/services/session/messages/namespace.mjs +1 -1
  300. package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
  301. package/dist/services/session/orchestrator-testing/index.mjs +1 -1
  302. package/dist/services/session/session-events/namespace.d.mts +1 -1
  303. package/dist/services/session/session-events/namespace.mjs +1 -1
  304. package/dist/services/session/storage/namespace.d.mts +1 -1
  305. package/dist/services/session/storage/schema.d.mts +1 -1
  306. package/dist/services/session/testing/index.mjs +2 -2
  307. package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
  308. package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
  309. package/dist/services/session/turns/namespace.d.mts +1 -1
  310. package/dist/services/session/turns/namespace.mjs +1 -1
  311. package/dist/services/session-editor/index.d.mts +1 -1
  312. package/dist/services/session-editor/index.mjs +1 -1
  313. package/dist/services/settings/index.d.mts +3 -3
  314. package/dist/services/settings/index.mjs +1 -1
  315. package/dist/services/settings/namespace.d.mts +4 -4
  316. package/dist/services/settings/namespace.mjs +1 -1
  317. package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
  318. package/dist/services/settings/storage/clients-namespace.mjs +1 -1
  319. package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
  320. package/dist/services/settings/storage/index.d.mts +3 -3
  321. package/dist/services/settings/storage/index.mjs +1 -1
  322. package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
  323. package/dist/services/settings/storage/providers-namespace.mjs +1 -1
  324. package/dist/services/subagent/index.d.mts +1 -1
  325. package/dist/services/subagent/index.mjs +1 -1
  326. package/dist/services/subagent-template/index.d.mts +2 -2
  327. package/dist/services/subagent-template/namespace.d.mts +1 -1
  328. package/dist/services/subagent-template/schemas.d.mts +1 -1
  329. package/dist/services/tool-approval/index.d.mts +1 -1
  330. package/dist/services/tool-approval/index.mjs +1 -1
  331. package/dist/services/tools/index.d.mts +1 -1
  332. package/dist/services/tools/index.mjs +1 -1
  333. package/dist/services/tray-menu/index.d.mts +3 -3
  334. package/dist/services/tray-menu/index.mjs +1 -1
  335. package/dist/services/tray-menu/namespace.d.mts +1 -1
  336. package/dist/services/tray-menu/schemas.d.mts +1 -1
  337. package/dist/services/turn/index.d.mts +1 -1
  338. package/dist/services/turn/namespace.d.mts +1 -1
  339. package/dist/services/workflow-transitions/index.d.mts +1 -1
  340. package/dist/services/workflow-transitions/index.mjs +1 -1
  341. package/dist/{session-A-h_Dwcs.mjs → session-9C42TPQq.mjs} +1 -1
  342. package/dist/{session-BDFNAcuY.mjs → session-Cn8z1hxD.mjs} +6 -6
  343. package/dist/{session-lineage-BzlpfLgC.d.mts → session-lineage-CEyJWg_J.d.mts} +1 -1
  344. package/dist/{shared-BZf2zoxL.mjs → shared-DqvfJVYk.mjs} +1 -1
  345. package/dist/{skill-1gU2q1KT.mjs → skill-BmRp8GhW.mjs} +1 -1
  346. package/dist/{src-Dlpw-Gh5.mjs → src-CmLn6zYj.mjs} +1 -1
  347. package/dist/storage/drizzle/client.d.mts +1 -1
  348. package/dist/storage/drizzle/client.mjs +1 -1
  349. package/dist/storage/drizzle/index.d.mts +2 -2
  350. package/dist/storage/drizzle/index.mjs +1 -1
  351. package/dist/storage/handlers/drizzle/index.d.mts +1 -1
  352. package/dist/storage/handlers/drizzle/index.mjs +1 -1
  353. package/dist/storage/handlers/index.d.mts +1 -1
  354. package/dist/storage/handlers/index.mjs +1 -1
  355. package/dist/testing/index.d.mts +1 -1
  356. package/dist/{tool-approval-service-rpV94znP.mjs → tool-approval-service-DchkAdAr.mjs} +1 -1
  357. package/dist/tools/index.d.mts +1 -1
  358. package/dist/{tools-oQPsY7v2.mjs → tools-r50UBPJ9.mjs} +1 -1
  359. package/dist/{transition-BeWq5nKg.d.mts → transition-CgsrmsfE.d.mts} +2 -2
  360. package/dist/{types-FNVbwd7z2.d.mts → types-Bnc-pdB12.d.mts} +1 -1
  361. package/dist/{types-D4N56a4O.d.mts → types-Dswhi1L9.d.mts} +1 -1
  362. package/dist/{types-CIEJ91wm.d.mts → types-ZvPhKp3j.d.mts} +8 -8
  363. package/dist/ui-kernel/index.d.mts +2 -2
  364. package/dist/ui-kernel/pages/schemas.d.mts +1 -1
  365. package/dist/{version-3xWJDCeF.mjs → version-sDSWOMn_.mjs} +1 -1
  366. package/dist/{view-builder-BwGugMWz.d.mts → view-builder-D54kvyf7.d.mts} +10 -10
  367. package/dist/{visibility-C5sLzqyS.mjs → visibility-syKffo3e.mjs} +1 -1
  368. package/dist/{worker-qgJToDTN.mjs → worker-DRQGyWAS.mjs} +1 -1
  369. package/dist/{worker-Csadr_du.mjs → worker-DzbPk2YI.mjs} +1 -1
  370. package/dist/{workflow-Cb2Pj1h3.mjs → workflow-D-yrAZW8.mjs} +1 -1
  371. package/dist/workflow-engine/execution-attempt-repository.d.mts +2 -2
  372. package/dist/workflow-engine/execution-attempt-repository.mjs +1 -1
  373. package/dist/workflow-engine/index.d.mts +62 -62
  374. package/dist/workflow-engine/index.mjs +1 -1
  375. package/dist/workflow-engine/package.d.mts +1 -1
  376. package/dist/workflow-engine/package.mjs +1 -1
  377. package/dist/workflow-engine/provider-operation.d.mts +1 -1
  378. package/dist/workflow-engine/testing/conformance.d.mts +1 -1
  379. package/dist/workflow-engine/testing/conformance.mjs +2 -2
  380. package/dist/workflow-engine/testing/index.d.mts +3 -1
  381. package/dist/workflow-engine/testing/index.mjs +1 -1
  382. package/dist/workflow-engine/testing/sqlite.d.mts +1 -1
  383. package/dist/workflow-engine/testing/sqlite.mjs +66 -61
  384. package/dist/workflow-engine/workflow-orchestrator.d.mts +1 -1
  385. package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
  386. package/dist/{workflow-transitions-BI7PbrXv.mjs → workflow-transitions-D5RvMSnf.mjs} +1 -1
  387. package/dist/workflow-worker-CrnDwpkP.mjs +2 -0
  388. package/package.json +5 -1
  389. package/dist/artifact-nArLAotB.mjs +0 -1
  390. package/dist/authority-state-bootstrap-DnwkMieA.mjs +0 -1
  391. package/dist/bootstrap-start-client-Bdv-_2Q9.mjs +0 -1
  392. package/dist/execution-attempt-repository-DXyh1hgz.mjs +0 -1
  393. package/dist/model-B6t_-_sp.mjs +0 -1
  394. package/dist/namespace-D4zmxaC4.mjs +0 -1
  395. package/dist/package-DKfzsJVl.mjs +0 -7
  396. package/dist/schemas-FiFC_DI6.mjs +0 -1
  397. package/dist/workflow-worker-Db7EBUgh.mjs +0 -2
  398. /package/dist/{adapter-binding-BU7STlfd.d.mts → adapter-binding-DhANVB-O.d.mts} +0 -0
  399. /package/dist/{ajv-Dtk5hCZS.mjs → ajv-IlnfOGAj.mjs} +0 -0
  400. /package/dist/{attach-error-B-vXQFLQ.mjs → attach-error-DOlUtquX.mjs} +0 -0
  401. /package/dist/{attempt-fixtures-C-jQE_7B.mjs → attempt-fixtures-CMx-2OlG.mjs} +0 -0
  402. /package/dist/{base-orchestrator-DXiejwQ3.d.mts → base-orchestrator-tAgnJAKu.d.mts} +0 -0
  403. /package/dist/{capability-Bw4tsDQu.mjs → capability-BQHyskJB.mjs} +0 -0
  404. /package/dist/{client-BwFqO0cG.d.mts → client-At2zn3yg.d.mts} +0 -0
  405. /package/dist/{client-binary-version-verifier-DHBAzg3-.mjs → client-binary-version-verifier-DLziUQhw.mjs} +0 -0
  406. /package/dist/{client-binary-version-verifier-DySlUy9m.d.mts → client-binary-version-verifier-EOj8xXqm.d.mts} +0 -0
  407. /package/dist/{clients-namespace-Dh0SNZcQ.d.mts → clients-namespace-CVRwXq8f.d.mts} +0 -0
  408. /package/dist/{config-namespace-CZqPIAWt.d.mts → config-namespace-D7GbrasR.d.mts} +0 -0
  409. /package/dist/{create-static-mount-GSdckRQx.mjs → create-static-mount-BIH26VH8.mjs} +0 -0
  410. /package/dist/{cross-spawn-Bx_VEdpd.mjs → cross-spawn-Bi05YtQQ.mjs} +0 -0
  411. /package/dist/{cursor-storage-Co4itf44.mjs → cursor-storage-88xtgVAd.mjs} +0 -0
  412. /package/dist/{definition-D3HjoK-4.d.mts → definition-VK1rERAp.d.mts} +0 -0
  413. /package/dist/{definitions-CYZTuMdL.mjs → definitions-2T95Q-y6.mjs} +0 -0
  414. /package/dist/{descriptor-to-package-CZLujoiv.mjs → descriptor-to-package-GVZk9ZGT.mjs} +0 -0
  415. /package/dist/{drizzle-me-95ICP.mjs → drizzle-BrlzkYoe.mjs} +0 -0
  416. /package/dist/{esm-DILYVXmW.mjs → esm-B3t30-13.mjs} +0 -0
  417. /package/dist/{event-DmQPb5MB.mjs → event-DFI0F1Ws.mjs} +0 -0
  418. /package/dist/{extension-context-Cx8CetW3.d.mts → extension-context-Cpf_n5FH.d.mts} +0 -0
  419. /package/dist/{extension-discovery-CZkaPQBo.d.mts → extension-discovery-B0ZL076T.d.mts} +0 -0
  420. /package/dist/{extension-namespace-twXNwE4R.mjs → extension-namespace-CWfV3IiR.mjs} +0 -0
  421. /package/dist/{extension-package-provenance-BzvG6rDO.mjs → extension-package-provenance-Dr7JXjLS.mjs} +0 -0
  422. /package/dist/{facet-Cly0VpTI.mjs → facet-6tnSbjXc.mjs} +0 -0
  423. /package/dist/{filesystem-service-UYYyRL2y.d.mts → filesystem-service-BWoNtujU.d.mts} +0 -0
  424. /package/dist/{handler-BYQPNm8O.mjs → handler-CFT7_osu.mjs} +0 -0
  425. /package/dist/{host-CiHn8Yog.mjs → host-D7v3YlDG.mjs} +0 -0
  426. /package/dist/{identity-BULrIHmo.mjs → identity-CxMRRAXx.mjs} +0 -0
  427. /package/dist/{index-B5kqAW7h.d.mts → index-8a41yDOl.d.mts} +0 -0
  428. /package/dist/{index-Dmwnhnio2.d.mts → index-BBkJsViX2.d.mts} +0 -0
  429. /package/dist/{index-DNp9DP6W.d.mts → index-BL1F1xYB.d.mts} +0 -0
  430. /package/dist/{index-BCKhrNLC.d.mts → index-BTHdi23O.d.mts} +0 -0
  431. /package/dist/{index-BU8uFswE.d.mts → index-BcPO9w0j.d.mts} +0 -0
  432. /package/dist/{index-DcG3r0VL.d.mts → index-Bk0Xjk-B.d.mts} +0 -0
  433. /package/dist/{index-DGlSbpgS2.d.mts → index-Bn1JTbn_2.d.mts} +0 -0
  434. /package/dist/{index-CYUhTE552.d.mts → index-C75h1xHF2.d.mts} +0 -0
  435. /package/dist/{index-DB4Xggtt.d.mts → index-CDA33y5A.d.mts} +0 -0
  436. /package/dist/{index-B9-1l1oh.d.mts → index-CSJOBx3H.d.mts} +0 -0
  437. /package/dist/{index-BAL1FiaJ.d.mts → index-CVh7ZP2I.d.mts} +0 -0
  438. /package/dist/{index-6wmqw_ng.d.mts → index-Ccaqmi0J.d.mts} +0 -0
  439. /package/dist/{index-zvoiT54b.d.mts → index-CjazerMN.d.mts} +0 -0
  440. /package/dist/{index-C_R6ifn9.d.mts → index-DXSVC0bM.d.mts} +0 -0
  441. /package/dist/{index-D3_QOfke.d.mts → index-Du-eXjEN.d.mts} +0 -0
  442. /package/dist/{index-DbYjMWlj.d.mts → index-DwKPj8jD.d.mts} +0 -0
  443. /package/dist/{index-LsZNB_gb.d.mts → index-DwY1Mt9a.d.mts} +0 -0
  444. /package/dist/{index-C-6g2xzN.d.mts → index-DzHc6hsJ.d.mts} +0 -0
  445. /package/dist/{index-DQbcfjIb2.d.mts → index-krTCFThl2.d.mts} +0 -0
  446. /package/dist/{json-value-DyMQrwGz.d.mts → json-value-BKUDMT7k.d.mts} +0 -0
  447. /package/dist/{jsonl-transport-Dfv3RLzi.mjs → jsonl-transport-3yp3clGp.mjs} +0 -0
  448. /package/dist/{lib-BdfAJKDj.mjs → lib-DF6sgNx_.mjs} +0 -0
  449. /package/dist/{model-registry-B7ThN_s3.mjs → model-registry-BTjKBCCw.mjs} +0 -0
  450. /package/dist/{model-registry-DlUErRRt.mjs → model-registry-CAqJYbXg.mjs} +0 -0
  451. /package/dist/{modes-CyG4sgs_.mjs → modes-Bo9Vv5c9.mjs} +0 -0
  452. /package/dist/{namespace-ChjzkJIl.mjs → namespace-0TfAY2J7.mjs} +0 -0
  453. /package/dist/{namespace-JqvomFSV.d.mts → namespace-B1sjokHd.d.mts} +0 -0
  454. /package/dist/{namespace-De25c2ds.d.mts → namespace-B3MnuAqp.d.mts} +0 -0
  455. /package/dist/{namespace-BFlSY040.mjs → namespace-BCSJz417.mjs} +0 -0
  456. /package/dist/{namespace-DAbT1F_n.d.mts → namespace-BHb_9sh4.d.mts} +0 -0
  457. /package/dist/{namespace-BQ7eiQwr.d.mts → namespace-BNNFD-ul.d.mts} +0 -0
  458. /package/dist/{namespace-69c5HXtL.d.mts → namespace-BgaVgd00.d.mts} +0 -0
  459. /package/dist/{namespace-CBf5xG_A.d.mts → namespace-BiEV44Mk.d.mts} +0 -0
  460. /package/dist/{namespace-B8kUQpwo.mjs → namespace-CDoyzyV4.mjs} +0 -0
  461. /package/dist/{namespace-B7fMkHmy.d.mts → namespace-CjmNxtr1.d.mts} +0 -0
  462. /package/dist/{namespace-BoOLmi67.d.mts → namespace-Cy62a3YP.d.mts} +0 -0
  463. /package/dist/{namespace-CIF_1OWi.d.mts → namespace-Czr38fiF.d.mts} +0 -0
  464. /package/dist/{namespace-C9d0aoYT.mjs → namespace-DORNUF0_.mjs} +0 -0
  465. /package/dist/{namespace-QXCaZK3I.mjs → namespace-DX3QsYpv.mjs} +0 -0
  466. /package/dist/{namespace-ZN49zpqw.mjs → namespace-Dyxpur8_.mjs} +0 -0
  467. /package/dist/{namespace-CUXZS_Ia.d.mts → namespace-btfJrUf6.d.mts} +0 -0
  468. /package/dist/{namespace-DAW4OY3-.d.mts → namespace-fEBskugJ.d.mts} +0 -0
  469. /package/dist/{out-Cn6vBxlH.mjs → out-og8659Ny.mjs} +0 -0
  470. /package/dist/{ownership-recovery-guard-Ce9-C5Sa.mjs → ownership-recovery-guard-CYA5CsiO.mjs} +0 -0
  471. /package/dist/{package-D4eLGGv4.mjs → package-BecmlOXC.mjs} +0 -0
  472. /package/dist/{platform-C-fDsuEl.mjs → platform-BdLHWgVc.mjs} +0 -0
  473. /package/dist/{providers-DVlsnJaY.mjs → providers-DGTA-lki.mjs} +0 -0
  474. /package/dist/{providers-namespace-DcPil5uz.d.mts → providers-namespace-Bming6U8.d.mts} +0 -0
  475. /package/dist/{quick-lru-CVryNCTx.mjs → quick-lru-bVGGo5bq.mjs} +0 -0
  476. /package/dist/{registry-Q9gCZtxz.mjs → registry-Cu3eD3UY.mjs} +0 -0
  477. /package/dist/{runtime-inputs-CMjGjK7W.d.mts → runtime-inputs-DeOea-ab.d.mts} +0 -0
  478. /package/dist/{schema-DIgKUfuF.d.mts → schema-DFCBjTB7.d.mts} +0 -0
  479. /package/dist/{schema-introspection-CSnLZJpC.mjs → schema-introspection-BsWP1vGC.mjs} +0 -0
  480. /package/dist/{schema-DIHGEQx3.mjs → schema-mXXJcaQT.mjs} +0 -0
  481. /package/dist/{schemas-BKnJj2i-.mjs → schemas-7fHmNUQc.mjs} +0 -0
  482. /package/dist/{schemas-BFgsIiSb.mjs → schemas-BE-gfjGI.mjs} +0 -0
  483. /package/dist/{schemas-CM3Ejp-n.d.mts → schemas-BLy33xay.d.mts} +0 -0
  484. /package/dist/{schemas-Ge_bamoP.d.mts → schemas-BkCqhK3X.d.mts} +0 -0
  485. /package/dist/{schemas-NwKrrrPF.d.mts → schemas-Cz7H2f7S.d.mts} +0 -0
  486. /package/dist/{schemas-DYeS-mtz.d.mts → schemas-DGKWi7mk.d.mts} +0 -0
  487. /package/dist/{schemas-Vv0GtBaZ.d.mts → schemas-DTBWnWjN.d.mts} +0 -0
  488. /package/dist/{schemas-COnD70WD.d.mts → schemas-DYIVJDlx.d.mts} +0 -0
  489. /package/dist/{schemas-qbaSxHDL.d.mts → schemas-DqWwz4eR.d.mts} +0 -0
  490. /package/dist/{schemas-DTyZjKQf2.d.mts → schemas-GyKYcV-Z2.d.mts} +0 -0
  491. /package/dist/{schemas-CnFVygzI.mjs → schemas-HffXbw8C.mjs} +0 -0
  492. /package/dist/{schemas-CbhvgFQs.mjs → schemas-MIYusvwn.mjs} +0 -0
  493. /package/dist/{schemas-BapfTRqp.mjs → schemas-NYUz8K9Q.mjs} +0 -0
  494. /package/dist/{semver-D_D2mA48.mjs → semver-_h8-BJ8k.mjs} +0 -0
  495. /package/dist/{server-lifecycle-BPAN-b0i.d.mts → server-lifecycle-_m_x1_TC.d.mts} +0 -0
  496. /package/dist/{shared-schemas-kUho6Kmw.mjs → shared-schemas-CaL1iEk6.mjs} +0 -0
  497. /package/dist/{src-Du_285FN.mjs → src-DdaPoQOD.mjs} +0 -0
  498. /package/dist/{storage-namespace-Dtz2G1if.mjs → storage-namespace-DBuKMBth.mjs} +0 -0
  499. /package/dist/{storage-namespace-definition-BJCbqVWz.mjs → storage-namespace-definition-4UYuij1r.mjs} +0 -0
  500. /package/dist/{storage-namespace-definition-D6soSjKE.d.mts → storage-namespace-definition-CsaZPU3n.d.mts} +0 -0
  501. /package/dist/{storage-namespace-C9oFExfb.d.mts → storage-namespace-zRXWqAfO.d.mts} +0 -0
  502. /package/dist/{supports-color-BNmyqLq0.mjs → supports-color-DG_rcVqJ.mjs} +0 -0
  503. /package/dist/{telemetry-CUkZrhW6.mjs → telemetry-BLYrkonr.mjs} +0 -0
  504. /package/dist/{timeout-DeBYTGBR.mjs → timeout-d0dzIY3V.mjs} +0 -0
  505. /package/dist/{tray-menu-service-TWrmvXSo.mjs → tray-menu-service-BGwXKJYr.mjs} +0 -0
  506. /package/dist/{types-D9GJ7FyQ.mjs → types-Bh2fQoxM.mjs} +0 -0
  507. /package/dist/{types-BOsf2SVm.d.mts → types-CccTiXH2.d.mts} +0 -0
  508. /package/dist/{types-DZvkUmHS.d.mts → types-DXGVwrQn.d.mts} +0 -0
  509. /package/dist/{types-BZnJ_4e2.d.mts → types-DjxvRcX6.d.mts} +0 -0
  510. /package/dist/{types-CWgYlxjU.d.mts → types-nor1SQLZ.d.mts} +0 -0
  511. /package/dist/{ui-config-9hlZAJOS.mjs → ui-config-CsH94fwa.mjs} +0 -0
  512. /package/dist/{variant-73kFgYBK.mjs → variant-BZ9UcJBi.mjs} +0 -0
  513. /package/dist/{window-registry-Bvjvpwhn.d.mts → window-registry-DQ7udUzI.d.mts} +0 -0
  514. /package/dist/{window-registry-CzAwaPKL.mjs → window-registry-DQkv5wM9.mjs} +0 -0
  515. /package/dist/{zod-json-schema-B1mZz7S4.mjs → zod-json-schema-DGWHUOK0.mjs} +0 -0
@@ -40,13 +40,16 @@ type AttemptSettlementRead<TOutcome> = {
40
40
  readonly kind: 'outcome';
41
41
  readonly attempt: ExecutionAttemptRecord;
42
42
  readonly isCurrentAttempt: boolean;
43
- readonly result: DurableOutcome<TOutcome>;
43
+ readonly result: DurableOutcome<TOutcome>; /** Original commit-time facts, or null for a legacy outcome lacking that observation. */
44
+ readonly controlObservation: AttemptOutcomeControlObservation | null;
44
45
  };
45
46
  /** Raw facts a realization must read within one coherent store observation. */
46
47
  interface AttemptSettlementSnapshot {
47
48
  readonly attempt: ExecutionAttemptRecord | null;
48
49
  readonly activeAttemptId: string | null;
49
50
  readonly outcomeText: string | null;
51
+ /** Stored commit-time observation; never reconstructed from current cancellation state. */
52
+ readonly controlObservation: AttemptOutcomeControlObservation | null;
50
53
  }
51
54
  /** Required owner-recovery methods composed into every execution attempt repository. */
52
55
  interface OwnerRequestRecoveryRepository<TOutcome> {
@@ -108,6 +111,252 @@ declare function replayEnsuredAttempt(input: EnsureExecutionAttemptInput, boundA
108
111
  */
109
112
  declare function readAttemptSettlementSnapshot<TOutcome>(input: ReadAttemptSettlementInput, snapshot: AttemptSettlementSnapshot, codec: OutcomeCodec<TOutcome>): AttemptSettlementRead<TOutcome>;
110
113
  //#endregion
114
+ //#region subsystems/workflow-engine/src/execution-attempt-cancellation.d.ts
115
+ /** A durable request to stop an attempt, never evidence that it stopped. */
116
+ interface ExecutionAttemptCancellationIntent {
117
+ /** Winning owner request key, scoped to this attempt and retained for replay. */
118
+ readonly requestKey: string;
119
+ /** Accepted control-request revision; delivery and runtime reports never advance it. */
120
+ readonly controlRevision: number;
121
+ /** First accepted request time, preserved across duplicate requests and controller handoff. */
122
+ readonly requestedAt: string;
123
+ /** Optional owner-supplied explanation. */
124
+ readonly reason?: string;
125
+ }
126
+ /** Owner-scoped cancellation of attempts that exist when the request commits. */
127
+ interface RequestExecutionCancellationInput {
128
+ /** Owner authorizing the cancellation of its existing attempts. */
129
+ readonly executionId: ExecutionOwnerId;
130
+ /** Explanation retained only when this is the first request for an attempt. */
131
+ readonly reason?: string;
132
+ }
133
+ /** Trusted owner authorization to stop one exact attempt, including historical cleanup. */
134
+ interface RequestAttemptCancellationInput extends RequestExecutionCancellationInput {
135
+ readonly executionAttemptId: string;
136
+ /** Non-empty correlation key retained by the owner across retries. */
137
+ readonly requestKey: string;
138
+ }
139
+ /** A winning request is durable intent, never evidence that work or its allocation stopped. */
140
+ type ExecutionAttemptCancellationDecision = {
141
+ readonly kind: 'accepted' | 'replayed';
142
+ readonly intent: ExecutionAttemptCancellationIntent;
143
+ } | {
144
+ readonly kind: 'not-found';
145
+ } | {
146
+ readonly kind: 'conflict';
147
+ };
148
+ /** Accepted control requests observed atomically with the first canonical outcome commit. */
149
+ interface AttemptOutcomeControlObservation {
150
+ /** Zero before Cancel; the winning request revision afterwards. */
151
+ readonly controlRevision: number;
152
+ /** A detached winning receipt, or null when no Cancel had been accepted. */
153
+ readonly cancellation: ExecutionAttemptCancellationIntent | null;
154
+ }
155
+ /**
156
+ * Snapshot an owner-wide request before asynchronous storage work.
157
+ * @param input - Trusted owner identity and optional explanation.
158
+ * @returns Validated scalar fields without caller-owned references.
159
+ */
160
+ declare function snapshotRequestExecutionCancellationInput(input: RequestExecutionCancellationInput): RequestExecutionCancellationInput;
161
+ /**
162
+ * Snapshot exact cancellation scope and correlation before the first await.
163
+ * @param input - Trusted owner, exact attempt, request identity and reason.
164
+ * @returns Validated scalar request without normalizing identities or explanations.
165
+ */
166
+ declare function snapshotRequestAttemptCancellationInput(input: RequestAttemptCancellationInput): RequestAttemptCancellationInput;
167
+ /**
168
+ * Decide winning-request semantics after the store has established exact owner membership.
169
+ * The store supplies one commit instant and owns atomic receipt/gate mutation. This helper
170
+ * neither checks runtime reachability nor treats a settled attempt as immune to cleanup.
171
+ * Losing keys are no-op requests, not accepted commands requiring a command-history log.
172
+ * @param stored - Coherently read winning receipt, or null before cancellation.
173
+ * @param input - Validated candidate key and explanation.
174
+ * @param requestedAt - Store-generated first-acceptance instant, ignored for replay/conflict.
175
+ * @returns First winner or immutable replay, or conflicting reuse of the winning key.
176
+ */
177
+ declare function evaluateAttemptCancellation(stored: ExecutionAttemptCancellationIntent | null, input: Pick<RequestAttemptCancellationInput, 'requestKey' | 'reason'>, requestedAt: string): Exclude<ExecutionAttemptCancellationDecision, {
178
+ readonly kind: 'not-found';
179
+ }>;
180
+ /**
181
+ * Capture accepted control facts alongside a fresh canonical outcome in its transaction.
182
+ * An absent Cancel is known revision zero, unlike a legacy outcome's unknown observation.
183
+ * @param cancellation - Winning request read in the same transaction as the outcome write.
184
+ * @returns Detached control facts that subsequent cancellation cannot rewrite.
185
+ */
186
+ declare function snapshotAttemptOutcomeControl(cancellation: ExecutionAttemptCancellationIntent | null): AttemptOutcomeControlObservation;
187
+ //#endregion
188
+ //#region subsystems/workflow-engine/src/execution-attempt-decisions.d.ts
189
+ /** Runtime and operation expected to remain current when an outcome becomes durable. */
190
+ interface RuntimeOutcomeFence {
191
+ /** Registered runtime generation that produced the result. */
192
+ readonly runtimeGeneration: number;
193
+ /** Admitted operation, or null for a startup failure before any operation. */
194
+ readonly operationId: string | null;
195
+ }
196
+ /** A runtime result lost its execution slot before commit; the attempt remains available to its current runtime. */
197
+ declare class RuntimeOutcomeFenceMismatchError extends Error {
198
+ constructor();
199
+ }
200
+ /**
201
+ * Require a fresh runtime outcome to belong to the coherently read execution slot.
202
+ * Repositories call this after canonical replay/settlement decisions and repeat its
203
+ * predicates in the committing write. A mismatch must not settle the attempt's waiter.
204
+ * @param control - Current runtime and operation facts.
205
+ * @param fence - Expected runtime slot, absent for owner-only outcome submission.
206
+ * @throws RuntimeOutcomeFenceMismatchError when the originating runtime slot changed.
207
+ */
208
+ declare function assertRuntimeOutcomeFence(control: AttemptControlState, fence: RuntimeOutcomeFence | undefined): void;
209
+ /** Facts read coherently by a realization before decoding runtime control state. */
210
+ interface AttemptReachability {
211
+ /** Whether the requested attempt exists and belongs to the requested owner. */
212
+ readonly matchesExecution: boolean;
213
+ /** Whether the attempt has a terminal settlement. */
214
+ readonly settled: boolean;
215
+ /** Whether this is still the owner's active attempt. */
216
+ readonly active: boolean;
217
+ /** Whether an allocation exists and is not durably terminated. */
218
+ readonly allocated: boolean;
219
+ }
220
+ /** Refusals shared by registration, admission, and readiness, before control decoding. */
221
+ type AttemptReachabilityDecision = Extract<RuntimeRegistrationDecision, {
222
+ readonly kind: 'not-found' | 'resolved' | 'fenced' | 'not-allocated';
223
+ }>;
224
+ /**
225
+ * Evaluate the common reachability precedence without reading or mutating storage.
226
+ * A null result only permits further evaluation; it never authorizes an unguarded write.
227
+ * @param facts - Coherent lifecycle, owner, and allocation facts supplied by the realization.
228
+ * @returns The first refusal, or null when runtime control may be decoded and evaluated.
229
+ */
230
+ declare function evaluateAttemptReachability(facts: AttemptReachability): AttemptReachabilityDecision | null;
231
+ /**
232
+ * Evaluate process-loss applicability after evidence parsing and claim authorization.
233
+ * Owner, lifetime, and incarnation refusals precede a recorded allocation.
234
+ * A null result permits only the realization's existing guarded settlement.
235
+ * @param attempt - Coherently read immutable provider binding and allocation facts.
236
+ * @param input - Owner identity and process-loss proof whose evidence the realization already parsed.
237
+ * @returns The first applicability refusal, or null to attempt the guarded write.
238
+ */
239
+ declare function evaluateProvisionerIncarnationLoss(attempt: Pick<ExecutionAttemptRecord, 'executionId' | 'allocationLifetime' | 'provisionerIncarnationId' | 'allocationRef'>, input: Pick<RecordProvisionerIncarnationLostInput, 'executionId' | 'proof'>): Extract<ProvisionerIncarnationLossDecision, {
240
+ readonly kind: 'not-found' | 'not-process-bound' | 'incarnation-mismatch' | 'allocated';
241
+ }> | null;
242
+ /**
243
+ * Evaluate registration after reachability, preserving replay before busy refusal.
244
+ * An orphaned runtime probe may be reclaimed; a workload operation may not.
245
+ * @param control - Current decoded control state, not modified by this function.
246
+ * @param input - Runtime registration being considered.
247
+ * @returns A non-write decision, or null to attempt the realization's guarded registration.
248
+ */
249
+ declare function evaluateRuntimeRegistration(control: AttemptControlState, input: RegisterRuntimeInput): Exclude<RuntimeRegistrationDecision, {
250
+ readonly kind: 'registered';
251
+ }> | null;
252
+ /**
253
+ * Evaluate admission after reachability: replay, busy, gate, readiness, generation, then Preparation.
254
+ * Probe operations are admitted before readiness because they establish that proof.
255
+ * @param control - Current decoded control state, not modified by this function.
256
+ * @param input - Operation admission being considered.
257
+ * @param fallbackAdmittedAt - Realization-supplied instant for a duplicate missing its stored instant.
258
+ * @param execution - Frozen assignment and Preparation receipts read with the control state.
259
+ * @returns A non-write decision, or null to attempt the realization's guarded admission.
260
+ */
261
+ declare function evaluateOperationAdmission(control: AttemptControlState, input: AdmitOperationInput, fallbackAdmittedAt: string, execution: AttemptExecutionState): Exclude<OperationAdmissionDecision, {
262
+ readonly kind: 'admitted';
263
+ }> | null;
264
+ /**
265
+ * Evaluate successful Preparation, retaining historical replay before current-runtime fences.
266
+ * A null decision permits only a guarded write that saves the receipt and frees the slot together.
267
+ * @param reachability - Coherent owner, allocation and lifecycle facts.
268
+ * @param control - Current operation and runtime state.
269
+ * @param execution - Frozen instruction and retained Preparation history.
270
+ * @param input - Owner-scoped successful Preparation report.
271
+ * @returns A historical duplicate or refusal, or null to atomically accept the result.
272
+ */
273
+ declare function evaluatePreparationReport(reachability: AttemptReachability, control: AttemptControlState, execution: AttemptExecutionState, input: ReportOperationInput): Exclude<OperationReportDecision, {
274
+ readonly kind: 'accepted';
275
+ }> | null;
276
+ /**
277
+ * Evaluate completion after presence and settlement checks, without owner or allocation fences.
278
+ * A replay is recognized even after its active slot has been cleared or reused.
279
+ * @param control - Current decoded control state, not modified by this function.
280
+ * @param input - Operation completion being considered.
281
+ * @returns A non-write decision, or null to attempt the realization's guarded completion.
282
+ */
283
+ declare function evaluateOperationCompletion(control: AttemptControlState, input: CompleteOperationInput): Exclude<OperationCompletionDecision, {
284
+ readonly kind: 'completed';
285
+ }> | null;
286
+ /**
287
+ * Evaluate readiness after reachability: generation fence, replay, then busy refusal.
288
+ * @param control - Current decoded control state, not modified by this function.
289
+ * @param input - Runtime readiness report being considered.
290
+ * @returns A non-write decision, or null to attempt the realization's guarded readiness write.
291
+ */
292
+ declare function evaluateRuntimeReadiness(control: AttemptControlState, input: MarkRuntimeReadyInput): Exclude<RuntimeReadinessDecision, {
293
+ readonly kind: 'ready';
294
+ }> | null;
295
+ //#endregion
296
+ //#region subsystems/workflow-engine/src/execution-attempt-outcome.d.ts
297
+ /**
298
+ * Input for committing a terminal outcome to an attempt.
299
+ *
300
+ * The repository makes the durable accept/duplicate/conflict/fence decision
301
+ * and returns the canonical outcome for convergence. Outcome commitment
302
+ * carries no claim: a worker's answer never depends on who currently owns
303
+ * the attempt's provider operation.
304
+ * @typeParam TOutcome - Owner-specific outcome type committed per attempt.
305
+ */
306
+ interface ExecutionAttemptOutcomeCommit<TOutcome> {
307
+ /** Authority-created attempt identifier. */
308
+ readonly executionAttemptId: string;
309
+ /** Owner identifier the attempt belongs to. */
310
+ readonly executionId: ExecutionOwnerId;
311
+ /**
312
+ * The rendering produced by the repository's canonicalizeOutcome method.
313
+ *
314
+ * A rendering rather than a raw outcome so the value a caller validated and
315
+ * the value that becomes durable are the same one: the caller renders the
316
+ * submission once and never reads its own object again.
317
+ */
318
+ readonly result: DurableOutcome<TOutcome>;
319
+ /** Runtime correlation checked atomically for a fresh commit; owner-only paths may omit it. */
320
+ readonly runtimeFence?: RuntimeOutcomeFence;
321
+ }
322
+ /**
323
+ * Durable decision returned by the repository's commitOutcome method.
324
+ *
325
+ * - `accepted`: the outcome was committed as canonical for the first time.
326
+ * The stored text decoded is reported, never the caller's copy of it.
327
+ * - `duplicate`: a canonically equal outcome was submitted again; this is a
328
+ * replay. The committed outcome is reported, never the caller's copy of it.
329
+ * - `conflict`: the attempt already reached a different terminal state — either
330
+ * a different committed outcome, or a competing terminal transition that
331
+ * settled it without one.
332
+ * - `fenced`: the attempt is no longer the active attempt for this execution.
333
+ *
334
+ * Both settling kinds carry `text`: the durable text the attempt holds for
335
+ * this outcome. For `accepted` that is the text the commit just wrote; for
336
+ * `duplicate` it is the text the earlier commit wrote, which is not
337
+ * necessarily the retry's own rendering — canonical equality ignores member
338
+ * order and other differences a codec may render between identical values.
339
+ * A caller needing a copy nobody else has held decodes this committed text
340
+ * through the repository's decodeOutcome method. Decoding its own submission
341
+ * instead would hand out the retry's representation rather than the committed one.
342
+ * @typeParam TOutcome - Owner-specific outcome type committed per attempt.
343
+ */
344
+ type ExecutionAttemptOutcomeDecision<TOutcome> = {
345
+ readonly kind: 'accepted';
346
+ readonly outcome: TOutcome;
347
+ readonly text: string; /** Frozen at first commit; null only for outcomes predating control observation. */
348
+ readonly controlObservation: AttemptOutcomeControlObservation | null;
349
+ } | {
350
+ readonly kind: 'duplicate';
351
+ readonly outcome: TOutcome;
352
+ readonly text: string; /** The original observation, never the control state at retry time. */
353
+ readonly controlObservation: AttemptOutcomeControlObservation | null;
354
+ } | {
355
+ readonly kind: 'conflict';
356
+ } | {
357
+ readonly kind: 'fenced';
358
+ };
359
+ //#endregion
111
360
  //#region subsystems/workflow-engine/src/provider-operation.d.ts
112
361
  /**
113
362
  * Provider-operation ownership protocol.
@@ -555,94 +804,6 @@ interface ProcessBoundProvisionerLossProof {
555
804
  readonly evidence: BoundedRecoveryEvidence;
556
805
  }
557
806
  //#endregion
558
- //#region subsystems/workflow-engine/src/execution-attempt-decisions.d.ts
559
- /** Facts read coherently by a realization before decoding runtime control state. */
560
- interface AttemptReachability {
561
- /** Whether the requested attempt exists and belongs to the requested owner. */
562
- readonly matchesExecution: boolean;
563
- /** Whether the attempt has a terminal settlement. */
564
- readonly settled: boolean;
565
- /** Whether this is still the owner's active attempt. */
566
- readonly active: boolean;
567
- /** Whether an allocation exists and is not durably terminated. */
568
- readonly allocated: boolean;
569
- }
570
- /** Refusals shared by registration, admission, and readiness, before control decoding. */
571
- type AttemptReachabilityDecision = Extract<RuntimeRegistrationDecision, {
572
- readonly kind: 'not-found' | 'resolved' | 'fenced' | 'not-allocated';
573
- }>;
574
- /**
575
- * Evaluate the common reachability precedence without reading or mutating storage.
576
- * A null result only permits further evaluation; it never authorizes an unguarded write.
577
- * @param facts - Coherent lifecycle, owner, and allocation facts supplied by the realization.
578
- * @returns The first refusal, or null when runtime control may be decoded and evaluated.
579
- */
580
- declare function evaluateAttemptReachability(facts: AttemptReachability): AttemptReachabilityDecision | null;
581
- /**
582
- * Evaluate process-loss applicability after evidence parsing and claim authorization.
583
- * Owner, lifetime, and incarnation refusals precede a recorded allocation.
584
- * A null result permits only the realization's existing guarded settlement.
585
- * @param attempt - Coherently read immutable provider binding and allocation facts.
586
- * @param input - Owner identity and process-loss proof whose evidence the realization already parsed.
587
- * @returns The first applicability refusal, or null to attempt the guarded write.
588
- */
589
- declare function evaluateProvisionerIncarnationLoss(attempt: Pick<ExecutionAttemptRecord, 'executionId' | 'allocationLifetime' | 'provisionerIncarnationId' | 'allocationRef'>, input: Pick<RecordProvisionerIncarnationLostInput, 'executionId' | 'proof'>): Extract<ProvisionerIncarnationLossDecision, {
590
- readonly kind: 'not-found' | 'not-process-bound' | 'incarnation-mismatch' | 'allocated';
591
- }> | null;
592
- /**
593
- * Evaluate registration after reachability, preserving replay before busy refusal.
594
- * An orphaned runtime probe may be reclaimed; a workload operation may not.
595
- * @param control - Current decoded control state, not modified by this function.
596
- * @param input - Runtime registration being considered.
597
- * @returns A non-write decision, or null to attempt the realization's guarded registration.
598
- */
599
- declare function evaluateRuntimeRegistration(control: AttemptControlState, input: RegisterRuntimeInput): Exclude<RuntimeRegistrationDecision, {
600
- readonly kind: 'registered';
601
- }> | null;
602
- /**
603
- * Evaluate admission after reachability: replay, busy, gate, readiness, generation, then Preparation.
604
- * Probe operations are admitted before readiness because they establish that proof.
605
- * @param control - Current decoded control state, not modified by this function.
606
- * @param input - Operation admission being considered.
607
- * @param fallbackAdmittedAt - Realization-supplied instant for a duplicate missing its stored instant.
608
- * @param execution - Frozen assignment and Preparation receipts read with the control state.
609
- * @returns A non-write decision, or null to attempt the realization's guarded admission.
610
- */
611
- declare function evaluateOperationAdmission(control: AttemptControlState, input: AdmitOperationInput, fallbackAdmittedAt: string, execution: AttemptExecutionState): Exclude<OperationAdmissionDecision, {
612
- readonly kind: 'admitted';
613
- }> | null;
614
- /**
615
- * Evaluate successful Preparation, retaining historical replay before current-runtime fences.
616
- * A null decision permits only a guarded write that saves the receipt and frees the slot together.
617
- * @param reachability - Coherent owner, allocation and lifecycle facts.
618
- * @param control - Current operation and runtime state.
619
- * @param execution - Frozen instruction and retained Preparation history.
620
- * @param input - Owner-scoped successful Preparation report.
621
- * @returns A historical duplicate or refusal, or null to atomically accept the result.
622
- */
623
- declare function evaluatePreparationReport(reachability: AttemptReachability, control: AttemptControlState, execution: AttemptExecutionState, input: ReportOperationInput): Exclude<OperationReportDecision, {
624
- readonly kind: 'accepted';
625
- }> | null;
626
- /**
627
- * Evaluate completion after presence and settlement checks, without owner or allocation fences.
628
- * A replay is recognized even after its active slot has been cleared or reused.
629
- * @param control - Current decoded control state, not modified by this function.
630
- * @param input - Operation completion being considered.
631
- * @returns A non-write decision, or null to attempt the realization's guarded completion.
632
- */
633
- declare function evaluateOperationCompletion(control: AttemptControlState, input: CompleteOperationInput): Exclude<OperationCompletionDecision, {
634
- readonly kind: 'completed';
635
- }> | null;
636
- /**
637
- * Evaluate readiness after reachability: generation fence, replay, then busy refusal.
638
- * @param control - Current decoded control state, not modified by this function.
639
- * @param input - Runtime readiness report being considered.
640
- * @returns A non-write decision, or null to attempt the realization's guarded readiness write.
641
- */
642
- declare function evaluateRuntimeReadiness(control: AttemptControlState, input: MarkRuntimeReadyInput): Exclude<RuntimeReadinessDecision, {
643
- readonly kind: 'ready';
644
- }> | null;
645
- //#endregion
646
807
  //#region subsystems/workflow-engine/src/execution-attempt-repository.d.ts
647
808
  /**
648
809
  * Ordered constant array of every execution attempt lifecycle status.
@@ -747,20 +908,6 @@ declare function sameAllocationRef(stored: ProviderAllocationRef, candidate: Pro
747
908
  * workflow-storage lookup keys keep plain `string`.
748
909
  */
749
910
  type ExecutionOwnerId = string;
750
- /** A durable request to stop an attempt, never evidence that it stopped. */
751
- interface ExecutionAttemptCancellationIntent {
752
- /** First accepted request time, preserved across duplicate requests and controller handoff. */
753
- readonly requestedAt: string;
754
- /** Optional owner-supplied explanation. */
755
- readonly reason?: string;
756
- }
757
- /** Owner-scoped cancellation of attempts that exist when the request commits. */
758
- interface RequestExecutionCancellationInput {
759
- /** Owner authorizing the cancellation of its existing attempts. */
760
- readonly executionId: ExecutionOwnerId;
761
- /** Explanation retained only when this is the first request for an attempt. */
762
- readonly reason?: string;
763
- }
764
911
  /**
765
912
  * Compare two durable outcome texts as values.
766
913
  *
@@ -1263,52 +1410,6 @@ interface BeginProvisioningInput {
1263
1410
  /** ISO-8601 deadline for the initial lease. */
1264
1411
  readonly leaseExpiresAt: string;
1265
1412
  }
1266
- /**
1267
- * Input for committing a terminal outcome to an attempt.
1268
- *
1269
- * The repository makes the durable accept/duplicate/conflict/fence decision
1270
- * and returns the canonical outcome for convergence. Outcome commitment
1271
- * carries no claim: a worker's answer never depends on who currently owns
1272
- * the attempt's provider operation.
1273
- * @typeParam TOutcome - Owner-specific outcome type committed per attempt.
1274
- */
1275
- interface ExecutionAttemptOutcomeCommit<TOutcome> {
1276
- /** Authority-created attempt identifier. */
1277
- readonly executionAttemptId: string;
1278
- /** Owner identifier the attempt belongs to. */
1279
- readonly executionId: ExecutionOwnerId;
1280
- /**
1281
- * The rendering to commit, from
1282
- * {@link ExecutionAttemptRepository.canonicalizeOutcome}.
1283
- *
1284
- * A rendering rather than a raw outcome so the value a caller validated and
1285
- * the value that becomes durable are the same one: the caller renders the
1286
- * submission once and never reads its own object again.
1287
- */
1288
- readonly result: DurableOutcome<TOutcome>;
1289
- /** Runtime correlation checked atomically for a fresh commit; owner-only paths may omit it. */
1290
- readonly runtimeFence?: RuntimeOutcomeFence;
1291
- }
1292
- /** Runtime and operation expected to remain current when an outcome becomes durable. */
1293
- interface RuntimeOutcomeFence {
1294
- /** Registered runtime generation that produced the result. */
1295
- readonly runtimeGeneration: number;
1296
- /** Admitted operation, or null for a startup failure before any operation. */
1297
- readonly operationId: string | null;
1298
- }
1299
- /** A runtime result lost its execution slot before commit; the attempt remains available to its current runtime. */
1300
- declare class RuntimeOutcomeFenceMismatchError extends Error {
1301
- constructor();
1302
- }
1303
- /**
1304
- * Require a fresh runtime outcome to belong to the coherently read execution slot.
1305
- * Repositories call this after canonical replay/settlement decisions and repeat its
1306
- * predicates in the committing write. A mismatch must not settle the attempt's waiter.
1307
- * @param control - Current runtime and operation facts.
1308
- * @param fence - Expected runtime slot, absent for owner-only outcome submission.
1309
- * @throws RuntimeOutcomeFenceMismatchError when the originating runtime slot changed.
1310
- */
1311
- declare function assertRuntimeOutcomeFence(control: AttemptControlState, fence: RuntimeOutcomeFence | undefined): void;
1312
1413
  /** Input for recording an allocation reference against a held operation. */
1313
1414
  interface RecordAllocationInput {
1314
1415
  /** Claim authorizing the record. */
@@ -1645,44 +1746,6 @@ type PendingAttemptAbandonmentDecision = {
1645
1746
  } | {
1646
1747
  readonly kind: 'fenced';
1647
1748
  };
1648
- /**
1649
- * Durable outcome decision returned by {@link ExecutionAttemptRepository.commitOutcome}.
1650
- *
1651
- * - `accepted`: the outcome was committed as canonical for the first time.
1652
- * The stored text decoded is reported, never the caller's copy of it.
1653
- * - `duplicate`: an outcome whose durable text {@link sameDurableOutcome}
1654
- * judges identical to the committed one was submitted again; this is a
1655
- * replay. The committed outcome is reported, never the caller's copy of it.
1656
- * - `conflict`: the attempt already reached a different terminal state — either
1657
- * a different committed outcome, or a competing terminal transition that
1658
- * settled it without one.
1659
- * - `fenced`: the attempt is no longer the active attempt for this execution.
1660
- *
1661
- * Both settling kinds carry `text`: the durable text the attempt holds for
1662
- * this outcome. For `accepted` that is the text the commit just wrote; for
1663
- * `duplicate` it is the text the earlier commit wrote, which is not
1664
- * necessarily the retry's own rendering — {@link sameDurableOutcome} judges
1665
- * two texts the same outcome while member order, and anything else a codec
1666
- * may render differently, still differs between them. A caller that needs a
1667
- * copy of the committed outcome nobody else has held decodes this text
1668
- * through {@link ExecutionAttemptRepository.decodeOutcome}; decoding its own
1669
- * submission's text instead would hand out the retry's representation rather
1670
- * than the committed one.
1671
- * @typeParam TOutcome - Owner-specific outcome type committed per attempt.
1672
- */
1673
- type ExecutionAttemptOutcomeDecision<TOutcome> = {
1674
- readonly kind: 'accepted';
1675
- readonly outcome: TOutcome;
1676
- readonly text: string;
1677
- } | {
1678
- readonly kind: 'duplicate';
1679
- readonly outcome: TOutcome;
1680
- readonly text: string;
1681
- } | {
1682
- readonly kind: 'conflict';
1683
- } | {
1684
- readonly kind: 'fenced';
1685
- };
1686
1749
  /**
1687
1750
  * Durable decision for registering a runtime incarnation as an attempt's
1688
1751
  * endpoint.
@@ -2034,12 +2097,26 @@ type RuntimeReadinessDecision = {
2034
2097
  * @typeParam TOutcome - Owner-specific outcome type committed per attempt.
2035
2098
  */
2036
2099
  interface ExecutionAttemptRepository<TOutcome> extends OwnerRequestRecoveryRepository<TOutcome> {
2100
+ /**
2101
+ * Atomically accept an owner's exact-attempt Cancel and close its operation start gate.
2102
+ * Pending and historical attempts remain eligible for monotone cleanup; this grants no
2103
+ * authority to reopen them, rewrite their outcomes or settle their owner. No runtime
2104
+ * registration, allocation or provider claim is required. Owner mismatch is not-found.
2105
+ * The first request establishes revision one, time and reason. Reusing its key with a
2106
+ * different reason conflicts; every other request replays the original winner. Losing
2107
+ * keys are not accepted commands and are not recorded in a separate request history.
2108
+ * @param input - Trusted owner, exact attempt, stable request key and optional reason.
2109
+ * @returns Detached winning receipt or a refusal without mutation.
2110
+ */
2111
+ requestAttemptCancellation(input: RequestAttemptCancellationInput): Promise<ExecutionAttemptCancellationDecision>;
2037
2112
  /**
2038
2113
  * Persist first-wins cancellation intent and close operation start gates atomically
2039
2114
  * for every existing attempt of this owner, including historical allocations.
2040
2115
  * This does not settle an attempt or confirm provider termination. The owner must
2041
2116
  * prevent later attempts after cancellation; this port does not install a permanent
2042
- * owner-wide creation fence. Repeated requests preserve the first time and reason.
2117
+ * owner-wide creation fence. One opaque request key is generated per fanout call;
2118
+ * each target uses the exact-attempt cancellation decision inside the same transaction.
2119
+ * Repeated requests preserve the first key, revision, time and reason.
2043
2120
  * @param input - Owner identity and optional explanation, snapshotted before awaiting.
2044
2121
  */
2045
2122
  requestCancellation(input: RequestExecutionCancellationInput): Promise<void>;
@@ -2479,6 +2556,13 @@ interface ExecutionAttemptRepository<TOutcome> extends OwnerRequestRecoveryRepos
2479
2556
  * `result.text` for `accepted`, and the stored text for `duplicate` — the
2480
2557
  * record's own, not the submission's, because the two are the same outcome
2481
2558
  * without being the same text.
2559
+ *
2560
+ * The first accepted commit stores its control observation in the same transaction:
2561
+ * revision zero with no cancellation, or the winning cancellation receipt and revision.
2562
+ * This side field never changes the opaque outcome. Duplicate decisions return that
2563
+ * original observation even after a later cleanup Cancel; they do not reread current
2564
+ * cancellation to reinterpret history. Null means an outcome committed before this
2565
+ * observation existed, never a claim that no cancellation had been accepted.
2482
2566
  * @param input - Attempt identity and the rendering to commit.
2483
2567
  * @returns The durable decision with the canonical outcome when applicable.
2484
2568
  */
@@ -2603,4 +2687,4 @@ interface ExecutionAttemptRecoveryOperations {
2603
2687
  listOpenProviderOperations(input: ListOpenProviderOperationsInput): Promise<readonly OpenProviderOperationRecord[]>;
2604
2688
  }
2605
2689
  //#endregion
2606
- export { decodeDurableOutcome as $, MarkRuntimeReadyInput as A, RecordProviderOperationUncertaintyInput as At, RecordAllocationTerminatedInput as B, readAttemptSettlementSnapshot as Bt, ExecutionAttemptRecoveryOperations as C, ProviderOperationLeasePolicy as Ct, ExecutionOwnerId as D, ProviderOperationOwnershipRecord as Dt, ExecutionAttemptStatus as E, ProviderOperationObligation as Et, PendingAttemptAbandonmentDecision as F, AttemptSettlementSnapshot as Ft, RegisterRuntimeInput as G, RecordProvisionerIncarnationLostInput as H, snapshotEnsureExecutionAttemptInput as Ht, PreparationReceipt as I, EnsureExecutionAttemptDecision as It, RuntimeOutcomeFence as J, ReportOperationInput as K, ProvisioningClaimDecision as L, EnsureExecutionAttemptInput as Lt, OperationCompletionDecision as M, TakeOverProviderOperationInput as Mt, OperationReportDecision as N, isProviderOperationResolved as Nt, GetInstructionInput as O, ProvisionerIncarnationLossDecision as Ot, OutcomeCodec as P, AttemptSettlementRead as Pt, assertRuntimeOutcomeFence as Q, ReadBootstrapStartStateInput as R, EnsureExecutionAttemptPersistenceInput as Rt, ExecutionAttemptRecord as S, ProviderOperationCompletionDecision as St, ExecutionAttemptSettlementKind as T, ProviderOperationMutationDecision as Tt, RecordProvisioningAbsentInput as U, snapshotEnsureExecutionAttemptPersistenceInput as Ut, RecordInfrastructureFailureInput as V, replayEnsuredAttempt as Vt, RecoverableAttemptRecord as W, snapshotReadAttemptSettlementInput as Wt, RuntimeReadinessDecision as X, RuntimeOutcomeFenceMismatchError as Y, RuntimeRegistrationDecision as Z, EXECUTION_ATTEMPT_STATUSES as _, OpenProviderOperationRecord as _t, AllocationRefEvolutionDecision as a, evaluateAttemptReachability as at, ExecutionAttemptOutcomeCommit as b, ProviderOperationClaim as bt, AttemptExecutionState as c, evaluatePreparationReport as ct, BootstrapStartState as d, evaluateRuntimeRegistration as dt, durableOutcome as et, CompleteOperationInput as f, CompleteProviderOperationInput as ft, EXECUTION_ATTEMPT_SETTLEMENT_KINDS as g, ListOpenProviderOperationsInput as gt, DurableOutcome as h, InitialProviderOperationClaimContextSource as ht, AllocationRefEvolution as i, AttemptReachabilityDecision as it, OperationAdmissionDecision as j, RenewProviderOperationClaimInput as jt, InfrastructureFailureDecision as k, ProvisioningAbsenceDecision as kt, AttemptOperationStartGate as l, evaluateProvisionerIncarnationLoss as lt, DuplicateExecutionAttemptError as m, InitialProviderOperationClaimContext as mt, AdmitOperationInput as n, sameDurableOutcome as nt, AllocationTerminationDecision as o, evaluateOperationAdmission as ot, DiscoveredAllocationDecision as p, HandoffProviderOperationInput as pt, RequestExecutionCancellationInput as q, AllocationRecordingDecision as r, AttemptReachability as rt, AttemptControlState as s, evaluateOperationCompletion as st, ATTEMPT_OPERATION_START_GATES as t, sameAllocationRef as tt, BeginProvisioningInput as u, evaluateRuntimeReadiness as ut, ExecutionAttemptCancellationIntent as v, PROVIDER_OPERATION_OBLIGATIONS as vt, ExecutionAttemptRepository as w, ProviderOperationLeaseRenewal as wt, ExecutionAttemptOutcomeDecision as x, ProviderOperationClaimDecision as xt, ExecutionAttemptCreate as y, ProcessBoundProvisionerLossProof as yt, RecordAllocationInput as z, ReadAttemptSettlementInput as zt };
2690
+ export { InitialProviderOperationClaimContextSource as $, OperationReportDecision as A, evaluateRuntimeReadiness as At, RecordProvisioningAbsentInput as B, snapshotRequestExecutionCancellationInput as Bt, ExecutionAttemptStatus as C, RuntimeOutcomeFenceMismatchError as Ct, MarkRuntimeReadyInput as D, evaluateOperationCompletion as Dt, InfrastructureFailureDecision as E, evaluateOperationAdmission as Et, ReadBootstrapStartStateInput as F, RequestAttemptCancellationInput as Ft, RuntimeRegistrationDecision as G, EnsureExecutionAttemptPersistenceInput as Gt, RegisterRuntimeInput as H, AttemptSettlementSnapshot as Ht, RecordAllocationInput as I, RequestExecutionCancellationInput as It, sameAllocationRef as J, replayEnsuredAttempt as Jt, decodeDurableOutcome as K, ReadAttemptSettlementInput as Kt, RecordAllocationTerminatedInput as L, evaluateAttemptCancellation as Lt, PendingAttemptAbandonmentDecision as M, AttemptOutcomeControlObservation as Mt, PreparationReceipt as N, ExecutionAttemptCancellationDecision as Nt, OperationAdmissionDecision as O, evaluatePreparationReport as Ot, ProvisioningClaimDecision as P, ExecutionAttemptCancellationIntent as Pt, InitialProviderOperationClaimContext as Q, RecordInfrastructureFailureInput as R, snapshotAttemptOutcomeControl as Rt, ExecutionAttemptSettlementKind as S, RuntimeOutcomeFence as St, GetInstructionInput as T, evaluateAttemptReachability as Tt, ReportOperationInput as U, EnsureExecutionAttemptDecision as Ut, RecoverableAttemptRecord as V, AttemptSettlementRead as Vt, RuntimeReadinessDecision as W, EnsureExecutionAttemptInput as Wt, CompleteProviderOperationInput as X, snapshotEnsureExecutionAttemptPersistenceInput as Xt, sameDurableOutcome as Y, snapshotEnsureExecutionAttemptInput as Yt, HandoffProviderOperationInput as Z, snapshotReadAttemptSettlementInput as Zt, EXECUTION_ATTEMPT_STATUSES as _, isProviderOperationResolved as _t, AllocationRefEvolutionDecision as a, ProviderOperationClaimDecision as at, ExecutionAttemptRecoveryOperations as b, AttemptReachability as bt, AttemptExecutionState as c, ProviderOperationLeaseRenewal as ct, BootstrapStartState as d, ProviderOperationOwnershipRecord as dt, ListOpenProviderOperationsInput as et, CompleteOperationInput as f, ProvisionerIncarnationLossDecision as ft, EXECUTION_ATTEMPT_SETTLEMENT_KINDS as g, TakeOverProviderOperationInput as gt, DurableOutcome as h, RenewProviderOperationClaimInput as ht, AllocationRefEvolution as i, ProviderOperationClaim as it, OutcomeCodec as j, evaluateRuntimeRegistration as jt, OperationCompletionDecision as k, evaluateProvisionerIncarnationLoss as kt, AttemptOperationStartGate as l, ProviderOperationMutationDecision as lt, DuplicateExecutionAttemptError as m, RecordProviderOperationUncertaintyInput as mt, AdmitOperationInput as n, PROVIDER_OPERATION_OBLIGATIONS as nt, AllocationTerminationDecision as o, ProviderOperationCompletionDecision as ot, DiscoveredAllocationDecision as p, ProvisioningAbsenceDecision as pt, durableOutcome as q, readAttemptSettlementSnapshot as qt, AllocationRecordingDecision as r, ProcessBoundProvisionerLossProof as rt, AttemptControlState as s, ProviderOperationLeasePolicy as st, ATTEMPT_OPERATION_START_GATES as t, OpenProviderOperationRecord as tt, BeginProvisioningInput as u, ProviderOperationObligation as ut, ExecutionAttemptCreate as v, ExecutionAttemptOutcomeCommit as vt, ExecutionOwnerId as w, assertRuntimeOutcomeFence as wt, ExecutionAttemptRepository as x, AttemptReachabilityDecision as xt, ExecutionAttemptRecord as y, ExecutionAttemptOutcomeDecision as yt, RecordProvisionerIncarnationLostInput as z, snapshotRequestAttemptCancellationInput as zt };
@@ -0,0 +1 @@
1
+ import{canonicalStringify as e}from"@makaio/framework/utils";var t=class extends Error{constructor(){super(`Runtime outcome no longer matches the current generation and operation`),this.name=`RuntimeOutcomeFenceMismatchError`}};function n(e,n){if(n!==void 0&&(e.runtimeGeneration!==n.runtimeGeneration||e.activeOperationId!==n.operationId||n.operationId!==null&&e.activeOperationGeneration!==n.runtimeGeneration))throw new t}function r(e){return e.matchesExecution?e.settled?{kind:`resolved`}:e.active?e.allocated?null:{kind:`not-allocated`}:{kind:`fenced`}:{kind:`not-found`}}function i(e,t){return e.executionId===t.executionId?e.allocationLifetime===`provisioner-process-bound`?e.provisionerIncarnationId===null||e.provisionerIncarnationId!==t.proof.provisionerIncarnationId?{kind:`incarnation-mismatch`,provisionerIncarnationId:e.provisionerIncarnationId}:e.allocationRef===null?null:{kind:`allocated`,allocationRef:e.allocationRef}:{kind:`not-process-bound`,allocationLifetime:e.allocationLifetime}:{kind:`not-found`}}function a(e,t){return e.runtimeIncarnationId===t.runtimeIncarnationId?{kind:`duplicate`,runtimeGeneration:e.runtimeGeneration,runtimeReadyAt:e.runtimeReadyAt}:e.activeOperationId!==null&&e.activeOperationKind!==`runtime-probe`?{kind:`operation-active`,operationId:e.activeOperationId}:null}function o(e,t,n,r){if(e.activeOperationId!==null)return e.activeOperationKey===t.admissionKey?{kind:`duplicate`,operationId:e.activeOperationId,runtimeGeneration:e.activeOperationGeneration??e.runtimeGeneration,admittedAt:e.activeOperationAdmittedAt??n}:{kind:`operation-active`,operationId:e.activeOperationId};if(e.operationStartGate===`closed`)return{kind:`gate-closed`};if(t.operationKind!==`runtime-probe`&&e.runtimeReadyAt===null)return{kind:`not-ready`};if(e.runtimeGeneration!==t.runtimeGeneration)return{kind:`stale-generation`,runtimeGeneration:e.runtimeGeneration};let i=r.instruction.workspace!==void 0,a=r.preparationReceipts.some(t=>t.runtimeGeneration===e.runtimeGeneration);if(t.operationKind===`workspace-preparation`){if(!i)return{kind:`preparation-not-required`};if(a)return{kind:`preparation-already-completed`}}return(t.operationKind===`workload-invocation`||t.operationKind===`workflow-run`)&&i&&!a?{kind:`preparation-required`}:null}function s(t,n,i,a){if(!t.matchesExecution)return{kind:`not-found`};let o=i.preparationReceipts.find(e=>e.operationId===a.operationId);if(o!==void 0)return o.runtimeGeneration===a.runtimeGeneration&&e(o.result)===e(a.result)?{kind:`duplicate`,binding:o.result.binding}:{kind:`conflict`};let s=r(t);if(s!==null)return s;if(n.runtimeGeneration!==a.runtimeGeneration)return{kind:`stale-generation`};if(n.activeOperationId===null)return{kind:`no-active-operation`};if(n.activeOperationId!==a.operationId||n.activeOperationKind!==`workspace-preparation`)return{kind:`operation-mismatch`};if(n.activeOperationGeneration!==a.runtimeGeneration)return{kind:`stale-generation`};let c=i.instruction.workspace;if(c===void 0)return{kind:`preparation-not-required`};let l=c.sourceRoots.map(e=>e.id).sort(),u=a.result.binding.sourceRoots.map(e=>e.id).sort();return e(l)===e(u)?null:{kind:`binding-mismatch`}}function c(e,t){return e.lastCompletedOperationId===t.operationId?{kind:`duplicate`}:e.activeOperationId===null?{kind:`not-active`}:e.activeOperationId===t.operationId?e.activeOperationGeneration===t.runtimeGeneration?e.activeOperationKind===`workspace-preparation`||e.activeOperationKind===`workload-invocation`?{kind:`result-required`}:null:{kind:`stale-generation`}:{kind:`mismatch`,activeOperationId:e.activeOperationId}}function l(e,t){return e.runtimeGeneration===t.runtimeGeneration?e.runtimeReadyAt===null?e.activeOperationId===null?null:{kind:`operation-active`,operationId:e.activeOperationId}:{kind:`duplicate`,acceptedAt:e.runtimeReadyAt}:{kind:`stale-generation`}}function u(e,t){if(typeof e!=`string`||e.length===0)throw TypeError(`${t} must be a non-empty string`)}function d(e){let{executionId:t,reason:n}=e;if(u(t,`executionId`),n!==void 0&&typeof n!=`string`)throw TypeError(`reason must be a string when provided`);return{executionId:t,...n===void 0?{}:{reason:n}}}function f(e){let{executionAttemptId:t,requestKey:n}=e;return u(t,`executionAttemptId`),u(n,`requestKey`),{...d(e),executionAttemptId:t,requestKey:n}}function p(e,t,n){return e===null?{kind:`accepted`,intent:{requestKey:t.requestKey,controlRevision:1,requestedAt:n,...t.reason===void 0?{}:{reason:t.reason}}}:e.requestKey===t.requestKey&&e.reason!==t.reason?{kind:`conflict`}:{kind:`replayed`,intent:{...e}}}function m(e){return{controlRevision:e?.controlRevision??0,cancellation:e===null?null:{...e}}}const h=[`pending`,`provisioning`,`allocated`,`settled`],g=[`outcome`,`abandoned`,`infrastructure-failure`],_=[`open`,`closed`];function v(t,n){return e(t)===e(n)}function y(t,n){return e(JSON.parse(t))===e(JSON.parse(n))}function b(e,t){let n=e.serialize(e.parse(t));return{text:n,outcome:x(e,n)}}function x(e,t){return e.parse(JSON.parse(t))}var S=class extends Error{executionAttemptId;constructor(e,t){super(`Execution attempt '${e}' already exists`,t),this.name=`DuplicateExecutionAttemptError`,this.executionAttemptId=e}};export{c as _,x as a,l as b,y as c,f as d,d as f,o as g,r as h,h as i,p as l,n as m,S as n,b as o,t as p,g as r,v as s,_ as t,m as u,s as v,a as x,i as y};
@@ -1 +1 @@
1
- import{A as e,E as t,M as n,N as r,O as i,_ as a,j as o,k as s,m as c,v as l,w as u}from"./schemas-BapfTRqp.mjs";import"./services/execution-target/namespace.mjs";import{z as d}from"zod";import{channelSubject as f,createBusNamespace as p,localSubject as m}from"@makaio/framework/core";const h=`docker-bootstrap`,g=p(`docker`,{"container.spawn":{request:i,response:s},"bootstrap.spawn":f({request:c,response:s}),"bootstrap.getChannelToken":m({request:d.object({}),response:d.object({token:d.string().min(1)})}),"container.stop":{request:n,response:r},"container.status":{request:e,response:o},"container.created":a,"container.started":u,"container.stopped":t,"container.destroyed":l}),_=g.subjects,v=g,y=_;export{_ as a,g as i,y as n,h as r,v as t};
1
+ import{A as e,E as t,M as n,N as r,O as i,_ as a,j as o,k as s,m as c,v as l,w as u}from"./schemas-NYUz8K9Q.mjs";import"./services/execution-target/namespace.mjs";import{z as d}from"zod";import{channelSubject as f,createBusNamespace as p,localSubject as m}from"@makaio/framework/core";const h=`docker-bootstrap`,g=p(`docker`,{"container.spawn":{request:i,response:s},"bootstrap.spawn":f({request:c,response:s}),"bootstrap.getChannelToken":m({request:d.object({}),response:d.object({token:d.string().min(1)})}),"container.stop":{request:n,response:r},"container.status":{request:e,response:o},"container.created":a,"container.started":u,"container.stopped":t,"container.destroyed":l}),_=g.subjects,v=g,y=_;export{_ as a,g as i,y as n,h as r,v as t};