@makaio/framework 1.0.0-dev-1784154668798 → 1.0.0-dev-1784706768858

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 (364) hide show
  1. package/dist/.makaio-build.json +2 -2
  2. package/dist/{adapter-B9vVBwli.mjs → adapter-CYobxqN_.mjs} +1 -1
  3. package/dist/adapters/claude/index.mjs +2 -2
  4. package/dist/adapters/config/index.d.mts +1 -1
  5. package/dist/adapters/config/index.mjs +1 -1
  6. package/dist/adapters/index.d.mts +2 -2
  7. package/dist/adapters/index.mjs +2 -2
  8. package/dist/adapters/node.d.mts +1 -1
  9. package/dist/adapters/node.mjs +1 -1
  10. package/dist/artifact-DCkizHkS.mjs +1 -0
  11. package/dist/attach-error-DCnzW-Yz.mjs +1 -0
  12. package/dist/authority-state-bootstrap-C_-F_dtq.mjs +1 -0
  13. package/dist/bus/index.d.mts +99 -4
  14. package/dist/bus/index.mjs +1 -1
  15. package/dist/bus-B6SAjgOC.mjs +2 -0
  16. package/dist/bus-C2l3K74u.mjs +1 -0
  17. package/dist/{canonical-model-C31NaBJs.mjs → canonical-model-EMRYCVjX.mjs} +1 -1
  18. package/dist/client-OYk0Ttck.mjs +1 -0
  19. package/dist/client-binary-version-verifier-Dv7TGFxh.mjs +2 -0
  20. package/dist/clients/index.d.mts +383 -13
  21. package/dist/clients/index.mjs +1 -1
  22. package/dist/clients/managed-install.d.mts +1 -1
  23. package/dist/clients/managed-install.mjs +1 -1
  24. package/dist/{context-resolution-D5jHK1w-.d.mts → context-resolution-DZSBOCKY.d.mts} +10 -10
  25. package/dist/contracts/adapter/index.d.mts +2 -2
  26. package/dist/contracts/adapter/index.mjs +1 -1
  27. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  28. package/dist/contracts/artifact/index.d.mts +2 -2
  29. package/dist/contracts/artifact/index.mjs +1 -1
  30. package/dist/contracts/auth/index.d.mts +2 -2
  31. package/dist/contracts/canonical-model/index.d.mts +1 -1
  32. package/dist/contracts/canonical-model/index.mjs +1 -1
  33. package/dist/contracts/client/index.d.mts +3 -3
  34. package/dist/contracts/client/index.mjs +1 -1
  35. package/dist/contracts/common/index.d.mts +1 -1
  36. package/dist/contracts/config/index.d.mts +1 -1
  37. package/dist/contracts/extension/index.d.mts +5 -4
  38. package/dist/contracts/facet/index.d.mts +1 -1
  39. package/dist/contracts/harness/index.d.mts +1 -1
  40. package/dist/contracts/host/index.d.mts +1 -1
  41. package/dist/contracts/index.d.mts +133 -94
  42. package/dist/contracts/index.mjs +1 -1
  43. package/dist/contracts/materialization/index.d.mts +4 -4
  44. package/dist/contracts/materialization/index.mjs +1 -1
  45. package/dist/contracts/model-registry/index.d.mts +1 -1
  46. package/dist/contracts/native-session-supervisor/index.d.mts +1 -1
  47. package/dist/contracts/platform/index.d.mts +1 -1
  48. package/dist/contracts/provider/index.d.mts +2 -2
  49. package/dist/contracts/session/index.d.mts +2 -2
  50. package/dist/contracts/session/index.mjs +1 -1
  51. package/dist/contracts/shared/index.d.mts +2 -2
  52. package/dist/contracts/skill/index.d.mts +1 -1
  53. package/dist/contracts/telemetry/index.d.mts +1 -1
  54. package/dist/contracts/timeout/index.d.mts +1 -1
  55. package/dist/contracts/variant/index.d.mts +1 -1
  56. package/dist/contracts/workflow/index.d.mts +2 -2
  57. package/dist/contracts/workflow/index.mjs +1 -1
  58. package/dist/core/index.d.mts +78 -3
  59. package/dist/core/index.mjs +1 -1
  60. package/dist/{detached-extension-handle-BVM-Ic-4.mjs → detached-extension-handle-BsywhHfk.mjs} +1 -1
  61. package/dist/{filesystem-service-qR9Zy5-r.mjs → filesystem-service-Cupz_Z7S.mjs} +1 -1
  62. package/dist/git/index.mjs +1 -1
  63. package/dist/{globby-DE358g5u.mjs → globby-DWp7V-P2.mjs} +1 -1
  64. package/dist/handlers-cMBmexF4.mjs +57 -0
  65. package/dist/hook-responses-mmqRa2Dq.d.mts +825 -0
  66. package/dist/{index-Du-AJm69.d.mts → index-0Ju2i8gV.d.mts} +20 -6
  67. package/dist/{index-DD9inq5h.d.mts → index-4NQLoI7R.d.mts} +1 -1
  68. package/dist/{index-DAVLhzkq.d.mts → index-8fJ6dkzR.d.mts} +2 -1
  69. package/dist/{index-BdsuBxEz.d.mts → index-BHQXXd-O.d.mts} +4 -4
  70. package/dist/{index-ZGPSCZdC.d.mts → index-BKeJ-Act.d.mts} +24 -10
  71. package/dist/{index-BPBSMsc8.d.mts → index-BWvTZJxe.d.mts} +20 -20
  72. package/dist/{index-BM7u_OTo.d.mts → index-B_aBwkE-.d.mts} +111 -94
  73. package/dist/{index-ChB3K_a12.d.mts → index-BhXCCgJV2.d.mts} +1 -1
  74. package/dist/{index-BcqWLD6J.d.mts → index-BsBvs0aK.d.mts} +117 -45
  75. package/dist/{index-D_lLZ2dU.d.mts → index-C81hMexK.d.mts} +129 -37
  76. package/dist/{index-DoJRv-c3.d.mts → index-CFqShlHD.d.mts} +85 -85
  77. package/dist/{index-DHejCnq8.d.mts → index-CHxWUmmA.d.mts} +3 -3
  78. package/dist/{index-BfNfKh4y.d.mts → index-CKccv4s2.d.mts} +20 -26
  79. package/dist/{index-TWs1TQ2-.d.mts → index-Cw7_69gV.d.mts} +1 -1
  80. package/dist/{index-DE29b4QM.d.mts → index-CzKLLQLw.d.mts} +8 -8
  81. package/dist/{index-CSyR9Fie2.d.mts → index-D73PTKXG2.d.mts} +3 -3
  82. package/dist/{index-DA5S_dj8.d.mts → index-DRiTICBU.d.mts} +1 -1
  83. package/dist/{index-XzetMf0e.d.mts → index-DitLUuR5.d.mts} +126 -42
  84. package/dist/{index-B_KmL_z8.d.mts → index-jbgHR5J2.d.mts} +1 -1
  85. package/dist/{index-B96HlWaM.d.mts → index-pjATMrvJ.d.mts} +10 -4
  86. package/dist/{index-CrbFA2kp.d.mts → index-t9fTvyq6.d.mts} +4 -4
  87. package/dist/kernel/cli/index.d.mts +2 -2
  88. package/dist/kernel/cli/register.d.mts +1 -1
  89. package/dist/kernel/extension/index.d.mts +1 -1
  90. package/dist/kernel/index.d.mts +5 -5
  91. package/dist/kernel/namespace/index.d.mts +1 -1
  92. package/dist/kernel/observability/index.d.mts +1 -1
  93. package/dist/kernel/providers/index.d.mts +1 -1
  94. package/dist/kernel/window/index.d.mts +1 -1
  95. package/dist/{lib-DhbCgfYD.mjs → lib-B7TpTzkG.mjs} +3 -3
  96. package/dist/{lib-6P8_sBCe.mjs → lib-BeMM738r.mjs} +1 -1
  97. package/dist/{load-extensions-jGQgvw6Z.d.mts → load-extensions-BLdG90Zi.d.mts} +1 -1
  98. package/dist/{load-extensions-5VckHXuw.mjs → load-extensions-CUmFCcYi.mjs} +1 -1
  99. package/dist/materialization-s8eR1eQ4.mjs +1 -0
  100. package/dist/mcp-http-server/index.mjs +1 -1
  101. package/dist/{namespace-C_phrzqu2.d.mts → namespace-BWsPZGiq2.d.mts} +5 -5
  102. package/dist/{namespace-CzZmsumy.d.mts → namespace-BeV7LST-.d.mts} +2 -2
  103. package/dist/{namespace-BTp6-zD8.d.mts → namespace-BsF9IxJ9.d.mts} +53 -5
  104. package/dist/{namespace-CpSZfHLv.d.mts → namespace-Db_PFX3v.d.mts} +36 -18
  105. package/dist/{namespace-Bldr5X64.d.mts → namespace-Dvo_7BQw.d.mts} +2 -2
  106. package/dist/{namespace-BwAiuQ2_.d.mts → namespace-lWlqWTKu.d.mts} +48 -4
  107. package/dist/node/bus-server/index.d.mts +1 -1
  108. package/dist/node/bus-server/index.mjs +1 -1
  109. package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
  110. package/dist/node/bus-server/server-lifecycle.mjs +1 -1
  111. package/dist/node/transports/index.d.mts +5 -3
  112. package/dist/node/transports/index.mjs +2 -2
  113. package/dist/package-DKnzOvoR.mjs +1 -0
  114. package/dist/{package-Brt4dhRC.mjs → package-DW1Upu8E.mjs} +1 -1
  115. package/dist/package.json +1 -1
  116. package/dist/{packages-BBJsifai.d.mts → packages-DeIgn0Hn.d.mts} +2 -2
  117. package/dist/packages-zDnokBpl.mjs +1 -0
  118. package/dist/rules/index.d.mts +1 -1
  119. package/dist/rules/index.mjs +1 -1
  120. package/dist/rules/schemas.d.mts +1 -1
  121. package/dist/runtime-bun/index.mjs +1 -1
  122. package/dist/runtime-node/extension-discovery.d.mts +1 -1
  123. package/dist/runtime-node/extension-validation.d.mts +1 -1
  124. package/dist/runtime-node/extension-validation.mjs +1 -1
  125. package/dist/runtime-node/index.d.mts +3 -3
  126. package/dist/runtime-node/index.mjs +22 -22
  127. package/dist/runtime-node/makaio-config.d.mts +1 -1
  128. package/dist/runtime-node/makaio-config.mjs +1 -1
  129. package/dist/runtime-node/workflow-worker/index.d.mts +1 -1
  130. package/dist/runtime-node/workflow-worker/index.mjs +1 -1
  131. package/dist/runtime-node/workflow-worker/worker-entry.mjs +1 -1
  132. package/dist/schemas-BJ8VMXhO.mjs +1 -0
  133. package/dist/schemas-BRxU_oqL.mjs +1 -0
  134. package/dist/schemas-Dgj3WaOI.mjs +1 -0
  135. package/dist/{schemas-BLJ2k226.d.mts → schemas-SsGbBOZ-.d.mts} +2 -2
  136. package/dist/{schemas-Ca3BLPH5.d.mts → schemas-oTIqxZN_.d.mts} +17 -17
  137. package/dist/scoped-bus-C9BdNwfM.mjs +1 -0
  138. package/dist/services/adapter-runtime/index.d.mts +3 -3
  139. package/dist/services/adapter-runtime/index.mjs +1 -1
  140. package/dist/services/adapter-runtime/namespace.d.mts +1 -1
  141. package/dist/services/adapter-runtime/schemas.d.mts +1 -1
  142. package/dist/services/adapter-subsystem/index.d.mts +3 -3
  143. package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
  144. package/dist/services/agent-runtime/index.d.mts +2 -2
  145. package/dist/services/agent-runtime/namespace.d.mts +1 -1
  146. package/dist/services/agent-runtime/schemas.d.mts +1 -1
  147. package/dist/services/capability/index.d.mts +1 -1
  148. package/dist/services/capability/index.mjs +1 -1
  149. package/dist/services/codebase/index.d.mts +2 -2
  150. package/dist/services/codebase/namespace.d.mts +1 -1
  151. package/dist/services/codebase/schemas.d.mts +1 -1
  152. package/dist/services/compression/index.d.mts +2 -2
  153. package/dist/services/compression/namespace.d.mts +1 -1
  154. package/dist/services/compression/schemas.d.mts +1 -1
  155. package/dist/services/context-rules/index.d.mts +4 -4
  156. package/dist/services/context-rules/index.mjs +1 -1
  157. package/dist/services/execution-target/index.d.mts +3 -3
  158. package/dist/services/execution-target/index.mjs +1 -1
  159. package/dist/services/execution-target/namespace.d.mts +1 -1
  160. package/dist/services/execution-target/schemas.d.mts +1 -1
  161. package/dist/services/filesystem/index.d.mts +1 -1
  162. package/dist/services/filesystem/index.mjs +1 -1
  163. package/dist/services/git/namespace.d.mts +2 -2
  164. package/dist/services/git/namespace.mjs +1 -1
  165. package/dist/services/git/schemas.d.mts +1 -1
  166. package/dist/services/git/schemas.mjs +1 -1
  167. package/dist/services/harness/index.d.mts +3 -3
  168. package/dist/services/harness/index.mjs +1 -1
  169. package/dist/services/index.d.mts +73 -51
  170. package/dist/services/index.mjs +1 -1
  171. package/dist/services/log-import/browser.d.mts +2 -2
  172. package/dist/services/log-import/index.d.mts +2 -2
  173. package/dist/services/log-import/log-import.d.mts +1 -1
  174. package/dist/services/log-import/log-import.mjs +1 -1
  175. package/dist/services/log-import/namespace.mjs +1 -1
  176. package/dist/services/log-import/schemas.mjs +1 -1
  177. package/dist/services/materialization/index.d.mts +5 -5
  178. package/dist/services/materialization/index.mjs +1 -1
  179. package/dist/services/model-registry/index.d.mts +1 -1
  180. package/dist/services/model-registry/index.mjs +1 -1
  181. package/dist/services/preferences/index.d.mts +2 -2
  182. package/dist/services/preferences/schemas.d.mts +1 -1
  183. package/dist/services/preferences/storage-namespace.d.mts +2 -2
  184. package/dist/services/provider-context/index.d.mts +1 -1
  185. package/dist/services/provider-runtime/index.mjs +1 -1
  186. package/dist/services/session/handlers/index.d.mts +1 -1
  187. package/dist/services/session/handlers/index.mjs +1 -1
  188. package/dist/services/session/index.d.mts +9 -9
  189. package/dist/services/session/index.mjs +1 -1
  190. package/dist/services/session/messages/namespace.d.mts +1 -1
  191. package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
  192. package/dist/services/session/orchestrator-testing/index.mjs +1 -1
  193. package/dist/services/session/session-events/namespace.d.mts +1 -1
  194. package/dist/services/session/storage/namespace.d.mts +1 -1
  195. package/dist/services/session/storage/schema.d.mts +1 -1
  196. package/dist/services/session/testing/index.mjs +2 -2
  197. package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
  198. package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
  199. package/dist/services/session/turns/namespace.d.mts +1 -1
  200. package/dist/services/session-editor/index.d.mts +1 -1
  201. package/dist/services/session-editor/index.mjs +1 -1
  202. package/dist/services/settings/index.d.mts +3 -3
  203. package/dist/services/settings/namespace.d.mts +14 -14
  204. package/dist/services/settings/namespace.mjs +1 -1
  205. package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
  206. package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
  207. package/dist/services/settings/storage/index.d.mts +3 -3
  208. package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
  209. package/dist/services/subagent/index.d.mts +1 -1
  210. package/dist/services/subagent/index.mjs +1 -1
  211. package/dist/services/subagent-template/index.d.mts +2 -2
  212. package/dist/services/subagent-template/namespace.d.mts +1 -1
  213. package/dist/services/subagent-template/schemas.d.mts +1 -1
  214. package/dist/services/tool-approval/index.d.mts +1 -1
  215. package/dist/services/tool-approval/index.mjs +1 -1
  216. package/dist/services/tools/index.d.mts +1 -1
  217. package/dist/services/tools/index.mjs +1 -1
  218. package/dist/services/tray-menu/index.d.mts +3 -3
  219. package/dist/services/tray-menu/index.mjs +1 -1
  220. package/dist/services/tray-menu/namespace.d.mts +1 -1
  221. package/dist/services/tray-menu/schemas.d.mts +1 -1
  222. package/dist/services/turn/index.d.mts +1 -1
  223. package/dist/services/turn/namespace.d.mts +1 -1
  224. package/dist/services/turn/schemas.d.mts +24 -2
  225. package/dist/services/turn/schemas.mjs +1 -1
  226. package/dist/{session-BxWogVkD.mjs → session-Carng3Yk.mjs} +1 -1
  227. package/dist/session-idI1jk5X.mjs +76 -0
  228. package/dist/{session-lineage-CWlcOKBZ.d.mts → session-lineage-Cte63dGx.d.mts} +1 -1
  229. package/dist/src-XihJcAQS.mjs +1 -0
  230. package/dist/storage/drizzle/client.d.mts +1 -1
  231. package/dist/storage/drizzle/client.mjs +1 -1
  232. package/dist/storage/drizzle/index.d.mts +1 -1
  233. package/dist/storage/drizzle/index.mjs +1 -1
  234. package/dist/storage/handlers/drizzle/index.d.mts +1 -1
  235. package/dist/storage/handlers/drizzle/index.mjs +1 -1
  236. package/dist/storage/handlers/index.d.mts +1 -1
  237. package/dist/storage/handlers/index.mjs +1 -1
  238. package/dist/{tool-approval-service-BgSn_6NT.mjs → tool-approval-service-fIZ9x0kL.mjs} +1 -1
  239. package/dist/{tools-CWSuNk-M.mjs → tools-Cs2DwjCC.mjs} +1 -1
  240. package/dist/{transition-CukPcOG5.d.mts → transition-BMYk_IVK.d.mts} +2 -2
  241. package/dist/{types-DiZJnwN0.d.mts → types-CtSkJqzV.d.mts} +104 -14
  242. package/dist/{types-Be7wY1De.d.mts → types-LspCUW09.d.mts} +1 -1
  243. package/dist/ui-components/index.d.mts +4 -4
  244. package/dist/ui-components/index.mjs +2 -2
  245. package/dist/ui-kernel/index.d.mts +1 -1
  246. package/dist/ui-kernel/pages/schemas.d.mts +1 -1
  247. package/dist/{view-builder-DQiA4wDH.d.mts → view-builder-CpKzgyS2.d.mts} +77 -18
  248. package/dist/workflow-BX-FxDb0.mjs +1 -0
  249. package/dist/workflow-engine/index.d.mts +76 -76
  250. package/dist/workflow-engine/index.mjs +1 -1
  251. package/dist/workflow-engine/package.d.mts +1 -1
  252. package/dist/workflow-engine/package.mjs +1 -1
  253. package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
  254. package/dist/workflow-worker-DR9qYOFc.mjs +1 -0
  255. package/package.json +4 -4
  256. package/dist/artifact-Dnpy5ei_.mjs +0 -1
  257. package/dist/authority-state-bootstrap-BlbmQ9A5.mjs +0 -1
  258. package/dist/bus-D-ioC0DE.mjs +0 -1
  259. package/dist/bus-rgUFuO2a.mjs +0 -2
  260. package/dist/client-CzPCSeyE.mjs +0 -1
  261. package/dist/client-binary-version-verifier-CaFlNNjs.mjs +0 -2
  262. package/dist/definition-ClKlXenJ.d.mts +0 -413
  263. package/dist/handlers-RGs3eC9X.mjs +0 -57
  264. package/dist/materialization-BBxXhthv.mjs +0 -1
  265. package/dist/package-3cW8oIkI.mjs +0 -1
  266. package/dist/packages-I0D3JP9L.mjs +0 -1
  267. package/dist/schemas-6H-dlMrB.mjs +0 -1
  268. package/dist/schemas-DyJHJ8Pm.mjs +0 -1
  269. package/dist/schemas-th_nuC5t.mjs +0 -1
  270. package/dist/scoped-bus-CZId-Df8.mjs +0 -1
  271. package/dist/session-CAjudDuJ.mjs +0 -76
  272. package/dist/src-T5DtFSyU.mjs +0 -1
  273. package/dist/workflow-DPeE6-Ta.mjs +0 -1
  274. package/dist/workflow-worker-CPCh68Qf.mjs +0 -1
  275. /package/dist/{adapter-auth-runtime-CotG_6M4.mjs → adapter-auth-runtime-DFBLXD5K.mjs} +0 -0
  276. /package/dist/{adapter-binding-DQ1HrGcH.d.mts → adapter-binding-Dfk_g-lP.d.mts} +0 -0
  277. /package/dist/{ajv-WvFKnw8d.mjs → ajv-C8r45sFs.mjs} +0 -0
  278. /package/dist/{await-trigger-COHFNyNi.mjs → await-trigger-UceeyCyi.mjs} +0 -0
  279. /package/dist/{base-orchestrator-p3zIcnaJ.d.mts → base-orchestrator-5yH3l39s.d.mts} +0 -0
  280. /package/dist/{capability-service-TCOwWrLi.mjs → capability-service-BzKBK0n2.mjs} +0 -0
  281. /package/dist/{client-CGEyBWKl.d.mts → client-DYEHDiJN.d.mts} +0 -0
  282. /package/dist/{client-binary-version-verifier-WsNRplFB.d.mts → client-binary-version-verifier-C12PvQmz.d.mts} +0 -0
  283. /package/dist/{clients-namespace-ClKm1GLT.d.mts → clients-namespace-DcFmhtLv.d.mts} +0 -0
  284. /package/dist/{config-namespace-DOw8R5eb.d.mts → config-namespace-DmP7NVju.d.mts} +0 -0
  285. /package/dist/{create-static-mount-DM9qO98Q.mjs → create-static-mount-BLbqGmva.mjs} +0 -0
  286. /package/dist/{cross-spawn-CVfmnMVP.mjs → cross-spawn-BXxQUsPS.mjs} +0 -0
  287. /package/dist/{cursor-storage-BoFVjVGq.mjs → cursor-storage-DCj4uUxr.mjs} +0 -0
  288. /package/dist/{definition-BZrouYAq.d.mts → definition-BEvV7tbD.d.mts} +0 -0
  289. /package/dist/{descriptor-to-package-DCwvJoUE.mjs → descriptor-to-package-VfB8lK5w.mjs} +0 -0
  290. /package/dist/{drizzle-BQDvlDL2.mjs → drizzle-oCH9H53q.mjs} +0 -0
  291. /package/dist/{esm-1UzF2r1U.mjs → esm-ClQELElL.mjs} +0 -0
  292. /package/dist/{event-Ddxe4yp9.mjs → event-BOLVCfhH.mjs} +0 -0
  293. /package/dist/{execution-target-D6PoGaO8.mjs → execution-target-CsZXIvli.mjs} +0 -0
  294. /package/dist/{extension-discovery-Cce4FmRu.d.mts → extension-discovery-B6p3iZaV.d.mts} +0 -0
  295. /package/dist/{filesystem-service-CWBzOEAA.d.mts → filesystem-service-CGdboor3.d.mts} +0 -0
  296. /package/dist/{handler-Bxs0moLY.mjs → handler-GGOD_ofd.mjs} +0 -0
  297. /package/dist/{identity-D481xSkS.mjs → identity-BmEHHoBw.mjs} +0 -0
  298. /package/dist/{index-BoCL9IHT.d.mts → index-BDDbcWNI.d.mts} +0 -0
  299. /package/dist/{index-p1N3ZuqF.d.mts → index-BG9-vQHD.d.mts} +0 -0
  300. /package/dist/{index-C2PHX5Em.d.mts → index-BSmwpgkR.d.mts} +0 -0
  301. /package/dist/{index-M8rNEeH8.d.mts → index-BUYyZm5I.d.mts} +0 -0
  302. /package/dist/{index-Jec13bI-2.d.mts → index-Bd1GC1kU2.d.mts} +0 -0
  303. /package/dist/{index-D3cH5U0n.d.mts → index-BgpYhR2z.d.mts} +0 -0
  304. /package/dist/{index-BrvsExEF.d.mts → index-Brdc35b-.d.mts} +0 -0
  305. /package/dist/{index-4b-ig5Uf.d.mts → index-C96LlS5m.d.mts} +0 -0
  306. /package/dist/{index-RtP5Mi4D.d.mts → index-CFeY8lfU.d.mts} +0 -0
  307. /package/dist/{index-NZ-gfUOw.d.mts → index-CcsJnJOD.d.mts} +0 -0
  308. /package/dist/{index-XLGBNeu0.d.mts → index-CdEhEXlY.d.mts} +0 -0
  309. /package/dist/{index-DKCFz7dL.d.mts → index-Chy9aknK.d.mts} +0 -0
  310. /package/dist/{index-BRdPSBFH2.d.mts → index-Ci3_i-WC2.d.mts} +0 -0
  311. /package/dist/{index-ChsmMZmN.d.mts → index-DC0yVsYL.d.mts} +0 -0
  312. /package/dist/{index-DIAmg04s.d.mts → index-DEchpaya.d.mts} +0 -0
  313. /package/dist/{index-CNS1jyBU.d.mts → index-DYUxNOIX.d.mts} +0 -0
  314. /package/dist/{index-fFSPF7N0.d.mts → index-DaMfTvfz.d.mts} +0 -0
  315. /package/dist/{index-Dx6P-ajY.d.mts → index-DquI_1X5.d.mts} +0 -0
  316. /package/dist/{index-DbP0yaRw.d.mts → index-GYZs75UP.d.mts} +0 -0
  317. /package/dist/{index-CQco6KNL.d.mts → index-oYGf2zIe.d.mts} +0 -0
  318. /package/dist/{index-BOlzcjwS.d.mts → index-pgYFJ5h6.d.mts} +0 -0
  319. /package/dist/{json-value-BsWNQQbr.d.mts → json-value-BwVdTylT.d.mts} +0 -0
  320. /package/dist/{jsonl-transport-B70HQ9l1.mjs → jsonl-transport-D8RBF0dK.mjs} +0 -0
  321. /package/dist/{lib-C_apP_9s.mjs → lib-3_xcE8J-.mjs} +0 -0
  322. /package/dist/{model-registry-C3NX834K.mjs → model-registry-CoegIvks.mjs} +0 -0
  323. /package/dist/{namespace-Bogua97s.d.mts → namespace-8-GrdcbF.d.mts} +0 -0
  324. /package/dist/{namespace-DNgZ_rfi.d.mts → namespace-B9CYb9Gh.d.mts} +0 -0
  325. /package/dist/{namespace-DDx4NVJm.mjs → namespace-BHj13hbA.mjs} +0 -0
  326. /package/dist/{namespace-Dzbt8LqQ.d.mts → namespace-BHliaabz.d.mts} +0 -0
  327. /package/dist/{namespace-BqlDkdht2.d.mts → namespace-BSXHdCVh2.d.mts} +0 -0
  328. /package/dist/{namespace-CU1jSw6E.d.mts → namespace-Bd49QmzS.d.mts} +0 -0
  329. /package/dist/{namespace-kIjqar0Y.mjs → namespace-BeED_Ojz.mjs} +0 -0
  330. /package/dist/{namespace-SwgMs4rw.d.mts → namespace-D9HNjIdc.d.mts} +0 -0
  331. /package/dist/{namespace-B1_egU5J.mjs → namespace-DWwWnLBu.mjs} +0 -0
  332. /package/dist/{namespace-UCwUrFRx.d.mts → namespace-De9Mg3zv.d.mts} +0 -0
  333. /package/dist/{namespace-CddQuUvG.d.mts → namespace-SQAGytmu.d.mts} +0 -0
  334. /package/dist/{orchestrator-shared-DrEFeZYw.d.mts → orchestrator-shared-BB6j8ezL.d.mts} +0 -0
  335. /package/dist/{orchestrator-shared-jYk9mi5C.mjs → orchestrator-shared-CY7Tu7kZ.mjs} +0 -0
  336. /package/dist/{out-B6fO6go6.mjs → out-CFkI17mk.mjs} +0 -0
  337. /package/dist/{package-BVm1EakP.d.mts → package-BSG1681x.d.mts} +0 -0
  338. /package/dist/{providers-namespace-Bl3M8Ibo.d.mts → providers-namespace-sPbGcZ6I.d.mts} +0 -0
  339. /package/dist/{quick-lru-Coxb6GVa.mjs → quick-lru-CTBjxfgD.mjs} +0 -0
  340. /package/dist/{registry-ElIHcMM2.mjs → registry-Dw6l7k3e.mjs} +0 -0
  341. /package/dist/{schema-DOPEco97.d.mts → schema-CfMsufSb.d.mts} +0 -0
  342. /package/dist/{schemas-B3K1ekm7.d.mts → schemas-B4FyOOJj.d.mts} +0 -0
  343. /package/dist/{schemas-Dq_g7Giu.d.mts → schemas-B5tMYfhC.d.mts} +0 -0
  344. /package/dist/{schemas-D_H0ztxl.d.mts → schemas-BAvt2HDy.d.mts} +0 -0
  345. /package/dist/{schemas-FiDj_kLq.mjs → schemas-BGS9RfqV.mjs} +0 -0
  346. /package/dist/{schemas-BKgUDm_a2.d.mts → schemas-BKKpQC4X2.d.mts} +0 -0
  347. /package/dist/{schemas-CzT0LApM.d.mts → schemas-ChF2z4RB.d.mts} +0 -0
  348. /package/dist/{schemas-DfZ85CRF2.d.mts → schemas-CiWCNQ9a2.d.mts} +0 -0
  349. /package/dist/{schemas-pl0mzEtO.d.mts → schemas-D55eXBgl.d.mts} +0 -0
  350. /package/dist/{schemas-CVbfHPw-.d.mts → schemas-DYvvMd3c.d.mts} +0 -0
  351. /package/dist/{schemas-DPosZWw-.d.mts → schemas-Dmij0PIc.d.mts} +0 -0
  352. /package/dist/{server-lifecycle-DzO3rjKP.d.mts → server-lifecycle-C-3OgoKi.d.mts} +0 -0
  353. /package/dist/{server-lifecycle-DLdh0-4H.mjs → server-lifecycle-DV6NMsgH.mjs} +0 -0
  354. /package/dist/{src-Dqa1n_kI.mjs → src-ftBp6GpR.mjs} +0 -0
  355. /package/dist/{storage-namespace-D4yQ--Sp.d.mts → storage-namespace-9N9R61pI.d.mts} +0 -0
  356. /package/dist/{storage-namespace-B1_x8Ho2.mjs → storage-namespace-B1GI4elv.mjs} +0 -0
  357. /package/dist/{storage-namespace-definition-BzSaRLtZ.d.mts → storage-namespace-definition-V8sc3drq.d.mts} +0 -0
  358. /package/dist/{supports-color-CCdGjFUY.mjs → supports-color-DwW9N6YC.mjs} +0 -0
  359. /package/dist/{tray-menu-service-BJ9r7IY3.mjs → tray-menu-service-Dgedanv-.mjs} +0 -0
  360. /package/dist/{types-Diu9uAnB.d.mts → types-Bju4dmAg.d.mts} +0 -0
  361. /package/dist/{types-C8_OhAFv.d.mts → types-DBb5jY4Z.d.mts} +0 -0
  362. /package/dist/{types-Bgb8eQkd.d.mts → types-DVLq657Y.d.mts} +0 -0
  363. /package/dist/{types-B9QOZAZ5.d.mts → types-DkFvBdIY.d.mts} +0 -0
  364. /package/dist/{window-registry-CHv3cgSN.d.mts → window-registry-Qcnvlhp7.d.mts} +0 -0
@@ -1 +1 @@
1
- import{A as e,B as t,C as n,D as r,I as i,K as a,O as o,R as s,X as c,et as l,nt as u}from"../authority-state-bootstrap-BlbmQ9A5.mjs";import{a as d,c as f,i as p,l as m,n as h,o as g,r as _,s as v,t as y}from"../package-Brt4dhRC.mjs";import{JsonValueSchema as b,WorkflowFrameStateSchema as x}from"@makaio/framework/contracts";const S=new Set([...x.shape.status.options]);function C(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function w(e){if(!C(e))return!1;for(let t of Object.values(e))if(!C(t)||typeof t.status!=`string`||!S.has(t.status)||`result`in t&&t.result!==void 0&&!b.safeParse(t.result).success)return!1;return!0}function T(e){let t={trigger:C(e.trigger)?e.trigger:{},steps:w(e.steps)?e.steps:{},inputs:b.safeParse(e.inputs).success?e.inputs:{}};return`item`in e&&(t.item=e.item),typeof e.index==`number`&&(t.index=e.index),t}export{p as WorkflowEngineService,y as WorkflowEngineToken,d as WorkflowExecutor,r as WorkflowStorageNamespace,o as WorkflowStorageSubjects,T as buildWorkflowExpressionContextFromResolvedInputs,h as createWorkflowEnginePackage,v as getWorkflowState,f as initializeWorkflowState,m as patchWorkflowState,g as registerDrizzleWorkflowStorage,n as runShellStep,e as workflowDefinitionsDual,_ as workflowEnginePackage,i as workflowExecutionStateDual,s as workflowExecutionStateEventsDual,t as workflowExecutionsDual,u as workflowFinalizationsDual,a as workflowStepSpansDual,c as worklogFrameEntriesDual,l as worklogSummariesDual};
1
+ import{A as e,B as t,C as n,D as r,I as i,K as a,O as o,R as s,X as c,et as l,nt as u}from"../authority-state-bootstrap-C_-F_dtq.mjs";import{a as d,c as f,i as p,l as m,n as h,o as g,r as _,s as v,t as y}from"../package-DW1Upu8E.mjs";import{JsonValueSchema as b,WorkflowFrameStateSchema as x}from"@makaio/framework/contracts";const S=new Set([...x.shape.status.options]);function C(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function w(e){if(!C(e))return!1;for(let t of Object.values(e))if(!C(t)||typeof t.status!=`string`||!S.has(t.status)||`result`in t&&t.result!==void 0&&!b.safeParse(t.result).success)return!1;return!0}function T(e){let t={trigger:C(e.trigger)?e.trigger:{},steps:w(e.steps)?e.steps:{},inputs:b.safeParse(e.inputs).success?e.inputs:{}};return`item`in e&&(t.item=e.item),typeof e.index==`number`&&(t.index=e.index),t}export{p as WorkflowEngineService,y as WorkflowEngineToken,d as WorkflowExecutor,r as WorkflowStorageNamespace,o as WorkflowStorageSubjects,T as buildWorkflowExpressionContextFromResolvedInputs,h as createWorkflowEnginePackage,v as getWorkflowState,f as initializeWorkflowState,m as patchWorkflowState,g as registerDrizzleWorkflowStorage,n as runShellStep,e as workflowDefinitionsDual,_ as workflowEnginePackage,i as workflowExecutionStateDual,s as workflowExecutionStateEventsDual,t as workflowExecutionsDual,u as workflowFinalizationsDual,a as workflowStepSpansDual,c as worklogFrameEntriesDual,l as worklogSummariesDual};
@@ -1,2 +1,2 @@
1
- import { n as createWorkflowEnginePackage, r as workflowEnginePackage, t as WorkflowEngineToken } from "../package-BVm1EakP.mjs";
1
+ import { n as createWorkflowEnginePackage, r as workflowEnginePackage, t as WorkflowEngineToken } from "../package-BSG1681x.mjs";
2
2
  export { WorkflowEngineToken, createWorkflowEnginePackage, workflowEnginePackage };
@@ -1 +1 @@
1
- import{n as e,r as t,t as n}from"../package-Brt4dhRC.mjs";export{n as WorkflowEngineToken,e as createWorkflowEnginePackage,t as workflowEnginePackage};
1
+ import{n as e,r as t,t as n}from"../package-DW1Upu8E.mjs";export{n as WorkflowEngineToken,e as createWorkflowEnginePackage,t as workflowEnginePackage};
@@ -1 +1 @@
1
- import{O as e,T as t,_ as n,c as r,i,it as a,l as o,o as s,r as c,s as l,t as u}from"../authority-state-bootstrap-BlbmQ9A5.mjs";import{WORKFLOW_CANCELLED_REASON as d}from"@makaio/framework/contracts";async function f(t,n,r,i){let o=await _(t,n,r);return await t.request(e.setExecution,{execution:o}),r===`completed`?await t.emit(a.execution.completed,{executionId:n.executionId,workflowId:n.workflowId,totalDuration:0,completedAt:o.completedAt}):await t.emit(a.execution.cancelled,{executionId:n.executionId,workflowId:n.workflowId,reason:i,completedAt:o.completedAt}),r===`cancelled`?{executionId:n.executionId,workflowId:n.workflowId,status:`cancelled`,...i===void 0?{}:{reason:i}}:{executionId:n.executionId,workflowId:n.workflowId,status:`completed`}}function p(e,t){return t.status===`completed`?{executionId:e.executionId,workflowId:e.workflowId,status:`completed`,...t.artifact===void 0?{}:{artifact:t.artifact}}:t.status===`cancelled`?{executionId:e.executionId,workflowId:e.workflowId,status:`cancelled`,...t.reason===void 0?{}:{reason:t.reason}}:t.status===`paused`?{executionId:e.executionId,workflowId:e.workflowId,status:`paused`,pausedAtGateId:t.pausedAtGateId,pausedAtFrameId:t.pausedAtFrameId}:{executionId:e.executionId,workflowId:e.workflowId,status:`failed`,error:t.error}}function m(e){let r,i=()=>{r=n({bus:e.bus,activeExecutions:e.activeExecutions,shellAbortControllers:e.shellAbortControllers,activeRunnerSteps:e.activeRunnerSteps,durableLifecycleTransitions:e.durableLifecycleTransitions,lifecyclePublications:e.lifecyclePublications,publishingLifecycleExecutions:e.publishingLifecycleExecutions,cancelTimeoutMs:t.cancelTimeoutMs},e.executionId,d).catch(t=>(console.error(`[WorkflowOrchestrator] Failed to persist cancellation for ${e.executionId}:`,t),!1))};return e.signal.addEventListener(`abort`,i,{once:!0}),e.signal.aborted&&i(),async()=>(e.signal.removeEventListener(`abort`,i),r??!1)}async function h(t,n){let r=await t.requestOptional(e.getExecution,{executionId:n});return r.handled?r.data.execution?.startedAt??void 0:void 0}async function g(e,t){return{id:t.executionId,workflowId:t.workflowId,coordinatorSessionId:t.coordinatorSessionId,status:`running`,inputs:t.inputs,config:t.config??{},startedAt:await h(e,t.executionId)??Date.now(),triggerPayload:t.triggerPayload,...t.artifactRef===void 0?{}:{artifactRef:t.artifactRef},scope:t.scope}}async function _(e,t,n){let r=Date.now();return{id:t.executionId,workflowId:t.workflowId,coordinatorSessionId:t.coordinatorSessionId,status:n,inputs:t.inputs,config:t.config??{},startedAt:await h(e,t.executionId)??r,completedAt:r,triggerPayload:t.triggerPayload,...t.artifactRef===void 0?{}:{artifactRef:t.artifactRef},scope:t.scope}}async function v(e,t,n,a,o,s,c,u,f){let p=e.suspensionStrategy===`wait-in-process`?void 0:await y(e.executionId,c,{required:!0}),m=await l({definition:t,execution:n,runContext:a,zodSchema:f?.artifact,bus:c}),h=new r(e.executionId,e.workflowId,t,n,o,c,u,void 0,m,{context:e.context,env:e.env},{suspensionStrategy:e.suspensionStrategy,resumeFrames:p,runtimeLoopGates:s}),g=h.buildExpressionContext(),_=await i(t.root,h,g);return _.status===`failed`?{status:`failed`,error:_.error}:_.status===`paused`?{status:`paused`,pausedAtGateId:_.pausedAtGateId,pausedAtFrameId:_.pausedAtFrameId}:_.status===`cancelled`||u.aborted?{status:`cancelled`,reason:d}:{status:`completed`,artifact:m?.current}}async function y(t,n,r={}){try{let i=await n.requestOptional(e.listFrames,{executionId:t});if(!i.handled){if(r.required===!0)throw Error(`Frame storage handler is required to resume execution '${t}'.`);return}return i.data.frames.length===0?void 0:s(i.data.frames)}catch(e){if(r.required===!0)throw e;return}}function b(e,t){return{executionId:e.executionId,workflowId:e.workflowId,source:e.source,definitionSnapshot:e.source.kind===`definition`?e.definition??t:t,workerManifest:{packages:[]},inputs:e.inputs,config:e.config??{},scope:e.scope,triggerPayload:e.triggerPayload,...e.artifactRef===void 0?{}:{artifactRef:e.artifactRef},...e.executionHints===void 0?{}:{executionHints:e.executionHints},coordinatorSessionId:e.coordinatorSessionId,cancelSubject:e.cancelSubject,context:e.context,env:e.env,createdAt:Date.now(),suspensionStrategy:e.suspensionStrategy,...e.terminalAuthority===void 0?{}:{terminalAuthority:e.terminalAuthority}}}async function x(t,n,r,i,o){r.status=`paused`,await t.request(e.setExecution,{execution:r}),await t.emit(a.execution.paused,{executionId:n.executionId,workflowId:n.workflowId,pausedAtGateId:i,pausedAtFrameId:o})}async function S(e,t,n,r,i,o){n===`completed`?await e.emit(a.execution.completed,{executionId:t.executionId,workflowId:t.workflowId,totalDuration:i-r.startedAt,completedAt:i}):n===`cancelled`?await e.emit(a.execution.cancelled,{executionId:t.executionId,workflowId:t.workflowId,reason:d,completedAt:i}):await e.emit(a.execution.failed,{executionId:t.executionId,workflowId:t.workflowId,error:o??`Workflow execution failed`,completedAt:i})}async function C(t){let{config:n,loaded:r,bus:i,signal:a}=t,{definition:s}=r;if(a.aborted)return n.terminalAuthority===`authority`?{executionId:n.executionId,workflowId:n.workflowId,status:`cancelled`,reason:d}:f(i,n,`cancelled`,d);let l=await g(i,n),h=b(n,s);n.terminalAuthority===`authority`?await u(i,h,s):await o(i,l,h,s);let _=new Map(r.runtimeHandlers),y=r.runtimeLoopGates??new Map,C=new Map,w=new Map,T=new Map,E=new Map,D=new Map,O=new Set;C.set(n.executionId,{execution:l,workflow:s,runContext:h,runtimeHandlers:_,runtimeLoopGates:new Map(y)});let k=n.terminalAuthority===`authority`?async()=>!1:m({signal:a,executionId:n.executionId,bus:i,activeExecutions:C,shellAbortControllers:w,activeRunnerSteps:T,durableLifecycleTransitions:E,lifecyclePublications:D,publishingLifecycleExecutions:O}),A={status:`completed`},j=!1;try{s.root.nodes.length>0&&(c(s,y),A=await v(n,s,l,h,_,y,i,a,r.zodSchemas))}catch(e){A={status:`failed`,error:e instanceof Error?e.message:String(e)}}finally{j=await k(),C.clear()}if(j)return p(n,{status:`cancelled`,reason:d});if((a.aborted||l.status===`cancelled`)&&(A={status:`cancelled`,reason:d}),A.status===`paused`)return n.terminalAuthority!==`authority`&&await x(i,n,l,A.pausedAtGateId,A.pausedAtFrameId),p(n,A);if(n.terminalAuthority===`authority`)return p(n,A);let M=Date.now(),N=A.status===`failed`?A.error:void 0;return l.status=A.status,l.completedAt=M,l.error=N,await i.request(e.setExecution,{execution:l}),await S(i,n,A.status,l,M,N),p(n,A)}export{C as runWorkflowOrchestrator};
1
+ import{O as e,T as t,_ as n,c as r,i,it as a,l as o,o as s,r as c,s as l,t as u}from"../authority-state-bootstrap-C_-F_dtq.mjs";import{WORKFLOW_CANCELLED_REASON as d}from"@makaio/framework/contracts";async function f(t,n,r,i){let o=await _(t,n,r);return await t.request(e.setExecution,{execution:o}),r===`completed`?await t.emit(a.execution.completed,{executionId:n.executionId,workflowId:n.workflowId,totalDuration:0,completedAt:o.completedAt}):await t.emit(a.execution.cancelled,{executionId:n.executionId,workflowId:n.workflowId,reason:i,completedAt:o.completedAt}),r===`cancelled`?{executionId:n.executionId,workflowId:n.workflowId,status:`cancelled`,...i===void 0?{}:{reason:i}}:{executionId:n.executionId,workflowId:n.workflowId,status:`completed`}}function p(e,t){return t.status===`completed`?{executionId:e.executionId,workflowId:e.workflowId,status:`completed`,...t.artifact===void 0?{}:{artifact:t.artifact}}:t.status===`cancelled`?{executionId:e.executionId,workflowId:e.workflowId,status:`cancelled`,...t.reason===void 0?{}:{reason:t.reason}}:t.status===`paused`?{executionId:e.executionId,workflowId:e.workflowId,status:`paused`,pausedAtGateId:t.pausedAtGateId,pausedAtFrameId:t.pausedAtFrameId}:{executionId:e.executionId,workflowId:e.workflowId,status:`failed`,error:t.error}}function m(e){let r,i=()=>{r=n({bus:e.bus,activeExecutions:e.activeExecutions,shellAbortControllers:e.shellAbortControllers,activeRunnerSteps:e.activeRunnerSteps,durableLifecycleTransitions:e.durableLifecycleTransitions,lifecyclePublications:e.lifecyclePublications,publishingLifecycleExecutions:e.publishingLifecycleExecutions,cancelTimeoutMs:t.cancelTimeoutMs},e.executionId,d).catch(t=>(console.error(`[WorkflowOrchestrator] Failed to persist cancellation for ${e.executionId}:`,t),!1))};return e.signal.addEventListener(`abort`,i,{once:!0}),e.signal.aborted&&i(),async()=>(e.signal.removeEventListener(`abort`,i),r??!1)}async function h(t,n){let r=await t.requestOptional(e.getExecution,{executionId:n});return r.handled?r.data.execution?.startedAt??void 0:void 0}async function g(e,t){return{id:t.executionId,workflowId:t.workflowId,coordinatorSessionId:t.coordinatorSessionId,status:`running`,inputs:t.inputs,config:t.config??{},startedAt:await h(e,t.executionId)??Date.now(),triggerPayload:t.triggerPayload,...t.artifactRef===void 0?{}:{artifactRef:t.artifactRef},scope:t.scope}}async function _(e,t,n){let r=Date.now();return{id:t.executionId,workflowId:t.workflowId,coordinatorSessionId:t.coordinatorSessionId,status:n,inputs:t.inputs,config:t.config??{},startedAt:await h(e,t.executionId)??r,completedAt:r,triggerPayload:t.triggerPayload,...t.artifactRef===void 0?{}:{artifactRef:t.artifactRef},scope:t.scope}}async function v(e,t,n,a,o,s,c,u,f){let p=e.suspensionStrategy===`wait-in-process`?void 0:await y(e.executionId,c,{required:!0}),m=await l({definition:t,execution:n,runContext:a,zodSchema:f?.artifact,bus:c}),h=new r(e.executionId,e.workflowId,t,n,o,c,u,void 0,m,{context:e.context,env:e.env},{suspensionStrategy:e.suspensionStrategy,resumeFrames:p,runtimeLoopGates:s}),g=h.buildExpressionContext(),_=await i(t.root,h,g);return _.status===`failed`?{status:`failed`,error:_.error}:_.status===`paused`?{status:`paused`,pausedAtGateId:_.pausedAtGateId,pausedAtFrameId:_.pausedAtFrameId}:_.status===`cancelled`||u.aborted?{status:`cancelled`,reason:d}:{status:`completed`,artifact:m?.current}}async function y(t,n,r={}){try{let i=await n.requestOptional(e.listFrames,{executionId:t});if(!i.handled){if(r.required===!0)throw Error(`Frame storage handler is required to resume execution '${t}'.`);return}return i.data.frames.length===0?void 0:s(i.data.frames)}catch(e){if(r.required===!0)throw e;return}}function b(e,t){return{executionId:e.executionId,workflowId:e.workflowId,source:e.source,definitionSnapshot:e.source.kind===`definition`?e.definition??t:t,workerManifest:{packages:[]},inputs:e.inputs,config:e.config??{},scope:e.scope,triggerPayload:e.triggerPayload,...e.artifactRef===void 0?{}:{artifactRef:e.artifactRef},...e.executionHints===void 0?{}:{executionHints:e.executionHints},coordinatorSessionId:e.coordinatorSessionId,cancelSubject:e.cancelSubject,context:e.context,env:e.env,createdAt:Date.now(),suspensionStrategy:e.suspensionStrategy,...e.terminalAuthority===void 0?{}:{terminalAuthority:e.terminalAuthority}}}async function x(t,n,r,i,o){r.status=`paused`,await t.request(e.setExecution,{execution:r}),await t.emit(a.execution.paused,{executionId:n.executionId,workflowId:n.workflowId,pausedAtGateId:i,pausedAtFrameId:o})}async function S(e,t,n,r,i,o){n===`completed`?await e.emit(a.execution.completed,{executionId:t.executionId,workflowId:t.workflowId,totalDuration:i-r.startedAt,completedAt:i}):n===`cancelled`?await e.emit(a.execution.cancelled,{executionId:t.executionId,workflowId:t.workflowId,reason:d,completedAt:i}):await e.emit(a.execution.failed,{executionId:t.executionId,workflowId:t.workflowId,error:o??`Workflow execution failed`,completedAt:i})}async function C(t){let{config:n,loaded:r,bus:i,signal:a}=t,{definition:s}=r;if(a.aborted)return n.terminalAuthority===`authority`?{executionId:n.executionId,workflowId:n.workflowId,status:`cancelled`,reason:d}:f(i,n,`cancelled`,d);let l=await g(i,n),h=b(n,s);n.terminalAuthority===`authority`?await u(i,h,s):await o(i,l,h,s);let _=new Map(r.runtimeHandlers),y=r.runtimeLoopGates??new Map,C=new Map,w=new Map,T=new Map,E=new Map,D=new Map,O=new Set;C.set(n.executionId,{execution:l,workflow:s,runContext:h,runtimeHandlers:_,runtimeLoopGates:new Map(y)});let k=n.terminalAuthority===`authority`?async()=>!1:m({signal:a,executionId:n.executionId,bus:i,activeExecutions:C,shellAbortControllers:w,activeRunnerSteps:T,durableLifecycleTransitions:E,lifecyclePublications:D,publishingLifecycleExecutions:O}),A={status:`completed`},j=!1;try{s.root.nodes.length>0&&(c(s,y),A=await v(n,s,l,h,_,y,i,a,r.zodSchemas))}catch(e){A={status:`failed`,error:e instanceof Error?e.message:String(e)}}finally{j=await k(),C.clear()}if(j)return p(n,{status:`cancelled`,reason:d});if((a.aborted||l.status===`cancelled`)&&(A={status:`cancelled`,reason:d}),A.status===`paused`)return n.terminalAuthority!==`authority`&&await x(i,n,l,A.pausedAtGateId,A.pausedAtFrameId),p(n,A);if(n.terminalAuthority===`authority`)return p(n,A);let M=Date.now(),N=A.status===`failed`?A.error:void 0;return l.status=A.status,l.completedAt=M,l.error=N,await i.request(e.setExecution,{execution:l}),await S(i,n,A.status,l,M,N),p(n,A)}export{C as runWorkflowOrchestrator};
@@ -0,0 +1 @@
1
+ import{i as e,o as t,t as n}from"./chunk-DTipWd-i.mjs";import{n as r,o as i,t as a}from"./await-trigger-UceeyCyi.mjs";import{basename as o,join as s}from"node:path";import{createBusInstance as c}from"@makaio/framework/bus";import{AdapterSubjects as l,FrameworkContractNamespaces as u,FrameworkStorageNamespaces as d,WorkerNodeCapabilitiesSchema as f,WorkerNodeSubjects as p,WorkflowWorkerConfigSchema as m}from"@makaio/framework/contracts";import{AdapterRuntimeSubjects as h,registerAdapterRuntimeIdentityHandlers as g}from"@makaio/framework/services/adapter-runtime";import{ExtensionCoordinator as _,KernelSubjects as v,coalesceExtensionOverrides as y,filterEligibleExtensions as b}from"@makaio/framework/kernel";import{AdapterSubsystemSubjects as x}from"@makaio/framework/services/adapter-subsystem";import{createClientsCorePackage as S}from"@makaio/framework/clients";import{AdapterSubsystemToken as C,createAdapterSubsystemContributionProcessor as w,createAdapterSubsystemPackage as T}from"@makaio/framework/adapter-subsystem";import{SessionOrchestratorToken as E,ToolRegistryToken as D,canonicalModelPackage as O,createSubagentServicePackage as k,createToolContributionProcessor as ee,frameworkCorePackages as A,sessionBridgePackage as te,sessionOrchestratorPackage as ne,sessionPackage as re,sessionStoragePackage as ie,toolRegistryPackage as ae}from"@makaio/framework/services";import{runWorkflowOrchestrator as oe}from"@makaio/framework/workflow-engine/workflow-orchestrator";function j(e){return e.on(l.getCapabilities,async t=>{let{adapterName:n,adapterId:r}=t.payload;if(r){await t.next();return}if(n){let r=await e.requestOptional(h.resolveId,{adapterName:n}),i=r.handled?r.data.adapterId:void 0;i&&(t.payload.adapterId=i)}await t.next()},{priority:20})}function M(e){let{coordinator:t,configRepository:n,platformDefaults:r,prepareAuthRuntime:i,runtimeSnapshotHandlerPriority:a,runtimeDefinitionHandlerPriority:o}=e,s=T({configRepository:n,coordinator:t,platformDefaults:r,...i!==void 0&&{prepareAuthRuntime:i},...a!==void 0&&{runtimeSnapshotHandlerPriority:a},...o!==void 0&&{runtimeDefinitionHandlerPriority:o}});return t.registerContributionProcessor(w({getAdapterSubsystemService:()=>t.getExtensionService(C)})),{adapterSubsystemPackage:s}}function N(e){let{bus:t,currentMachineId:n}=e,r=g(t,{currentMachineId:n,listKnownAdapterNames:e.listKnownAdapterNames??(async()=>{let{configs:e}=await t.request(x.listAdapterConfigs,{});return e.map(e=>e.name)})}),i=j(t);return{cleanup:()=>{r.cleanup(),i()}}}function P(e,t){if(!(e instanceof Error))return!1;let{rootPackageName:n,subpath:r}=se(t),i=(r===void 0?[t]:[t,n]).flatMap(e=>[`Cannot find package '${e}'`,`Cannot find module '${e}'`,`Cannot find package "${e}"`,`Cannot find module "${e}"`]),a=e;return(a.code===`ERR_MODULE_NOT_FOUND`||a.code===`MODULE_NOT_FOUND`)&&i.some(t=>e.message.includes(t))||a.code===`ERR_PACKAGE_PATH_NOT_EXPORTED`&&r!==void 0&&e.message.includes(`Package subpath '${r}' is not defined by "exports"`)&&ce(e.message,n)?!0:i.some(t=>e.message.includes(t))}async function F(e){try{return await import(e)}catch(t){if(P(t,e))return null;throw t}}function se(e){let t=e.split(`/`);return e.startsWith(`@`)?{rootPackageName:t.slice(0,2).join(`/`),subpath:t.length>2?`./${t.slice(2).join(`/`)}`:void 0}:{rootPackageName:t[0]??e,subpath:t.length>1?`./${t.slice(1).join(`/`)}`:void 0}}function ce(e,t){let n=t,r=t.replaceAll(`/`,`\\`);return e.includes(`/${n}/package.json`)||e.includes(`\\${r}\\package.json`)}function I(e,t){e.push(...le(t))}function le(e){return e===void 0?[]:typeof e==`function`?[e]:[...e]}function ue(e,t=[]){let n=new Set([e]),r=new Set,i=new Map;for(let e of t)typeof e==`string`?n.add(e):(r.add(e.id),e.version!==void 0&&i.set(e.id,e.version));return{hosts:n,capabilities:r,...i.size>0?{capabilityVersions:i}:{}}}function de(e=[]){return e.some(e=>typeof e==`string`&&e===`node`)?e:[`node`,...e]}function fe(e){return y(b(pe(e.packages,e.configProvider),e.surface,e.runtimeEnvironment))}function pe(e,t){return t?e.filter(e=>t.loadEnabled(e.name)!==!1):e}function L(e,t){return e.filter(e=>e.runtimeOwnership?.[t]===!0).map(e=>e.name)}function me(e,t){let n=L(e,t);if(n.length>1)throw Error(`Multiple extensions own runtimeOwnership.${t}: ${n.join(`, `)}`)}function R(e){return me(e,`sessionOrchestrator`),L(e,`sessionOrchestrator`).length===0}function he(e){return e===!0||R(e)?A:A.filter(e=>e.name!==E.name)}function z(e,t,n){let r=[];try{for(let i of e){let e=i.runtimeBoot;e&&I(r,e.configure({bus:t,registerContributionProcessor:e=>{r.push(n.registerContributionProcessor(e))},forEachActiveExtension:e=>{n.forEachActiveExtension(e)}}))}}catch(e){let t=[];for(let e of[...r].reverse())try{e()}catch(e){t.push(e)}throw t.length>0?AggregateError([e,...t],`Extension boot contribution failed and rollback cleanup reported additional errors`,{cause:e}):e}return r}function ge(){let e=process.env.MAKAIO_SKIP_EXTENSIONS;if(!e)return new Set;let t=e.split(`,`).map(e=>e.trim()).filter(Boolean);return new Set(t)}var _e=n(((e,t)=>{t.exports={name:`piscina`,version:`5.2.0`,description:`A fast, efficient Node.js Worker Thread Pool implementation`,main:`./dist/main.js`,types:`./dist/index.d.ts`,exports:{types:`./dist/index.d.ts`,import:`./dist/esm-wrapper.mjs`,require:`./dist/main.js`},engines:{node:`>=20.x`},scripts:{build:`tsc && gen-esm-wrapper . dist/esm-wrapper.mjs`,lint:`eslint`,test:`node scripts/run-tests.js`,"test:jest":`jest --config test/jest/jest.config.js`,"test:ci":`npm run lint && npm run build && npm run test:coverage && npm run test:jest`,"test:coverage":`node scripts/run-tests.js --coverage`,prepack:`npm run build`,benchmark:`node --allow-natives-syntax benchmark/index.js --scope all`,"benchmark:ci":`node --allow-natives-syntax benchmark/index.js --scope all --reporter json | jq '.[] | .name, .opsSec'`,"benchmark:simple":`node --allow-natives-syntax benchmark/index.js --scope simple:all`,"benchmark:simple:default":`node --allow-natives-syntax benchmark/index.js --scope simple`,"benchmark:simple:async":`node --allow-natives-syntax benchmark/index.js --scope simple:async`,"benchmark:startup":`node --allow-natives-syntax benchmark/index.js --scope startup`,"benchmark:queue":`node --allow-natives-syntax benchmark/index.js --scope queue`},repository:{type:`git`,url:`git+https://github.com/piscinajs/piscina.git`},keywords:[`fast`,`worker threads`,`thread pool`,`wade wilson`],author:`James M Snell <jasnell@gmail.com>`,contributors:[`Anna Henningsen <anna@addaleax.net>`,`Matteo Collina <matteo.collina@gmail.com>`,`Carlos Fuentes <me@metcoder.dev>`],license:`MIT`,devDependencies:{"@types/jest":`^30.0.0`,"@types/node":`^22.4.1`,"abort-controller":`^3.0.0`,"bench-node":`^0.7.0`,"concat-stream":`^2.0.0`,eslint:`^9.16.0`,"gen-esm-wrapper":`^1.1.1`,glob:`^13.0.1`,jest:`^30.2.0`,neostandard:`^0.13.0`,"ts-jest":`^29.4.6`,tsx:`^4.20.3`,typescript:`5.8.3`},optionalDependencies:{"@napi-rs/nice":`^1.0.4`},bugs:{url:`https://github.com/piscinajs/piscina/issues`},homepage:`https://github.com/piscinajs/piscina#readme`,directories:{example:`examples`,test:`test`}}})),B=n((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.kFieldCount=e.kResponseCountField=e.kRequestCountField=e.kQueueOptions=e.kValue=e.kTransferable=e.kWorkerData=e.kMovable=void 0,e.kMovable=Symbol(`Piscina.kMovable`),e.kWorkerData=Symbol(`Piscina.kWorkerData`),e.kTransferable=Symbol.for(`Piscina.transferable`),e.kValue=Symbol.for(`Piscina.valueOf`),e.kQueueOptions=Symbol.for(`Piscina.queueOptions`),e.kRequestCountField=0,e.kResponseCountField=1,e.kFieldCount=2})),V=n((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.AbortError=void 0,e.onabort=t,e.AbortError=class extends Error{constructor(e){super(`The task has been aborted`,{cause:e})}get name(){return`AbortError`}};function t(e,t){return`addEventListener`in e?(e.addEventListener(`abort`,t,{once:!0}),()=>e.removeEventListener(`abort`,t)):(e.once(`abort`,t),()=>e.removeListener(`abort`,t))}})),H=n((t=>{Object.defineProperty(t,`__esModule`,{value:!0}),t.commonState=t.READY=void 0,t.isTransferable=a,t.isMovable=o,t.markMovable=s,t.maybeFileURLToPath=c,t.getAvailableParallelism=l,t.promiseResolvers=u;let n=e(`node:url`),r=e(`node:os`),i=B();t.READY=`_WORKER_READY`;function a(e){return typeof e==`object`&&!!e&&i.kTransferable in e&&i.kValue in e}function o(e){return a(e)&&e[i.kMovable]===!0}function s(e){Object.defineProperty(e,i.kMovable,{enumerable:!1,configurable:!0,writable:!0,value:!0})}t.commonState={isWorkerThread:!1,workerData:void 0};function c(e){return e.startsWith(`file:`)?(0,n.fileURLToPath)(new n.URL(e)):e}function l(){return(0,r.availableParallelism)()}function u(){if(Promise.withResolvers!=null)return Promise.withResolvers();let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}})),ve=n((t=>{var n=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,`__esModule`,{value:!0}),t.ArrayTaskQueue=void 0;let r=n(e(`node:assert`));t.ArrayTaskQueue=class{constructor(){this.tasks=[]}get size(){return this.tasks.length}shift(){return this.tasks.shift()??null}push(e){this.tasks.push(e)}remove(e){let t=this.tasks.indexOf(e);r.default.notStrictEqual(t,-1),this.tasks.splice(t,1)}}})),ye=n((t=>{var n=t&&t.__classPrivateFieldGet||function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},r=t&&t.__classPrivateFieldSet||function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},i=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},a;Object.defineProperty(t,`__esModule`,{value:!0}),t.FixedQueue=void 0;let o=i(e(`node:assert`)),s=2048,c=s-1;var l=class{constructor(){this.bottom=0,this.top=0,this.list=Array(s),this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&c)===this.bottom}push(e){this.list[this.top]=e,this.top=this.top+1&c}shift(){let e=this.list[this.bottom];return e===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&c,e)}remove(e){let t=this.list.indexOf(e);o.default.notStrictEqual(t,-1);let n=t;for(;;){let e=n+1&c;if(this.list[n]=this.list[e],this.list[n]===void 0)break;if(e===t){this.list[n]=void 0;break}n=e}this.top=this.top-1&c}};t.FixedQueue=class{constructor(){a.set(this,0),this.head=this.tail=new l}isEmpty(){return this.head.isEmpty()}push(e){var t;this.head.isFull()&&(this.head=this.head.next=new l),this.head.push(e),r(this,a,(t=n(this,a,`f`),t++,t),`f`)}shift(){var e;let t=this.tail,i=t.shift();return i!==null&&r(this,a,(e=n(this,a,`f`),e--,e),`f`),t.isEmpty()&&t.next!==null&&(this.tail=t.next,t.next=null),i}remove(e){var t;let i=null,o=this.tail;for(;;){if(o.list.includes(e)){o.remove(e),r(this,a,(t=n(this,a,`f`),t--,t),`f`);break}if(o.next===null)break;i=o,o=o.next}o.isEmpty()&&(i===null?o.next!==null&&(this.tail=o.next):o.next===null?this.head=i:i.next=o.next)}get size(){return n(this,a,`f`)}},a=new WeakMap})),be=n((t=>{Object.defineProperty(t,`__esModule`,{value:!0}),t.TaskInfo=t.FixedQueue=t.ArrayTaskQueue=void 0,t.isTaskQueue=l;let n=e(`node:perf_hooks`),r=e(`node:async_hooks`),i=V(),a=H(),o=B();var s=ve();Object.defineProperty(t,`ArrayTaskQueue`,{enumerable:!0,get:function(){return s.ArrayTaskQueue}});var c=ye();Object.defineProperty(t,`FixedQueue`,{enumerable:!0,get:function(){return c.FixedQueue}});function l(e){return typeof e==`object`&&!!e&&`size`in e&&typeof e.shift==`function`&&typeof e.remove==`function`&&typeof e.push==`function`}let u=0;t.TaskInfo=class extends r.AsyncResource{constructor({task:e,transferList:t,filename:r,name:i,abortSignal:s,triggerAsyncId:c},l){super(`Piscina.Task`,{requireManualDestroy:!0,triggerAsyncId:c}),this.workerInfo=null,this.aborted=!1,this._abortListener=()=>{this.aborted=!0},this._abortCleaner=null,this.callback=l,this.task=e,this.transferList=t,(0,a.isMovable)(e)&&(this.transferList??=[],this.transferList=this.transferList.concat(e[o.kTransferable]),this.task=e[o.kValue]),this.filename=r,this.name=i,this.taskId=u++,this.abortSignal=s,this.created=n.performance.now(),this.started=0}onAbort(e){this._abortListener=()=>{this.aborted=!0,e()}}setAbortListener(e){this._abortCleaner=(0,i.onabort)(e,this._abortListener)}releaseTask(){let e=this.task;return this.task=null,e}onResponse(e){}done(e,t){var n;this.runInAsyncScope(this.callback,null,e,t),this.emitDestroy(),(n=this._abortCleaner)==null||n.call(this)}get[o.kQueueOptions](){return this.task?.[o.kQueueOptions]??null}get interface(){return{taskId:this.taskId,filename:this.filename,name:this.name,created:this.created,isAbortable:this.abortSignal!==null,[o.kQueueOptions]:this[o.kQueueOptions]}}}})),U=n((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.Errors=void 0,e.Errors={ThreadTermination:()=>Error(`Terminating worker thread`),FilenameNotProvided:()=>Error(`filename must be provided to run() or in options object`),TaskQueueAtLimit:()=>Error(`Task queue is at limit`),NoTaskQueueAvailable:()=>Error(`No task queue available and all Workers are busy`),CloseTimeout:()=>Error(`Close operation timed out`)}})),W=n((t=>{var n=t&&t.__classPrivateFieldSet||function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},r=t&&t.__classPrivateFieldGet||function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},i,a;Object.defineProperty(t,`__esModule`,{value:!0}),t.PiscinaHistogramHandler=void 0;let o=e(`node:perf_hooks`);t.PiscinaHistogramHandler=class e{constructor(){i.set(this,void 0),a.set(this,void 0),n(this,i,(0,o.createHistogram)(),`f`),n(this,a,(0,o.createHistogram)(),`f`)}get runTimeSummary(){return e.createHistogramSummary(r(this,i,`f`))}get waitTimeSummary(){return e.createHistogramSummary(r(this,a,`f`))}get runTimeCount(){return r(this,i,`f`).count}recordRunTime(t){r(this,i,`f`).record(e.toHistogramIntegerNano(t))}recordWaitTime(t){r(this,a,`f`).record(e.toHistogramIntegerNano(t))}resetWaitTime(){r(this,a,`f`).reset()}resetRunTime(){r(this,i,`f`).reset()}static createHistogramSummary(e){let{mean:t,stddev:n,min:r,max:i}=e;return{average:t/1e3,mean:t/1e3,stddev:n/1e3,min:r/1e3,max:i/1e3,p0_001:e.percentile(.001)/1e3,p0_01:e.percentile(.01)/1e3,p0_1:e.percentile(.1)/1e3,p1:e.percentile(1)/1e3,p2_5:e.percentile(2.5)/1e3,p10:e.percentile(10)/1e3,p25:e.percentile(25)/1e3,p50:e.percentile(50)/1e3,p75:e.percentile(75)/1e3,p90:e.percentile(90)/1e3,p97_5:e.percentile(97.5)/1e3,p99:e.percentile(99)/1e3,p99_9:e.percentile(99.9)/1e3,p99_99:e.percentile(99.99)/1e3,p99_999:e.percentile(99.999)/1e3}}static toHistogramIntegerNano(e){return Math.max(1,Math.trunc(e*1e3))}},i=new WeakMap,a=new WeakMap})),xe=n((t=>{var n=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,`__esModule`,{value:!0}),t.AsynchronouslyCreatedResourcePool=t.AsynchronouslyCreatedResource=void 0;let r=n(e(`node:assert`));t.AsynchronouslyCreatedResource=class{constructor(){this.onreadyListeners=[],this.ondestroyListeners=[]}markAsReady(){let e=this.onreadyListeners;(0,r.default)(e!=null),this.onreadyListeners=null;for(let t of e)t()}isReady(){return this.onreadyListeners==null}onReady(e){if(this.onreadyListeners==null){e();return}this.onreadyListeners.push(e)}onDestroy(e){this.ondestroyListeners!=null&&this.ondestroyListeners.push(e)}markAsDestroyed(){let e=this.ondestroyListeners;(0,r.default)(e!=null),this.ondestroyListeners=null;for(let t of e)t()}isDestroyed(){return this.ondestroyListeners==null}},t.AsynchronouslyCreatedResourcePool=class{constructor(e){this.pendingItems=new Set,this.readyItems=new Set,this.maximumUsage=e,this.onAvailableListeners=[],this.onTaskDoneListeners=[]}add(e){this.pendingItems.add(e),e.onReady(()=>{this.pendingItems.has(e)&&(this.pendingItems.delete(e),this.readyItems.add(e),this.maybeAvailable(e))})}delete(e){this.pendingItems.delete(e),this.readyItems.delete(e)}*[Symbol.iterator](){yield*this.pendingItems,yield*this.readyItems}get size(){return this.pendingItems.size+this.readyItems.size}maybeAvailable(e){if(e.currentUsage()<this.maximumUsage)for(let t of this.onAvailableListeners)t(e)}onAvailable(e){this.onAvailableListeners.push(e)}taskDone(e){for(let t=0;t<this.onTaskDoneListeners.length;t++)this.onTaskDoneListeners[t](e)}onTaskDone(e){this.onTaskDoneListeners.push(e)}getCurrentUsage(){let e=0;for(let t of this.readyItems){let n=t.currentUsage();Number.isFinite(n)&&(e+=n)}return e}}})),Se=n((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.LeastBusyBalancer=t;function t(e){let{maximumUsage:t}=e;return(e,n)=>{let r=null,i=t;for(let t of n){if(t.currentUsage===0){r=t;break}t.isRunningAbortableTask||e.isAbortable===!1&&t.currentUsage<i&&(r=t,i=t.currentUsage)}return r}}})),Ce=n((t=>{var n=t&&t.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),r=t&&t.__exportStar||function(e,t){for(var r in e)r!==`default`&&!Object.prototype.hasOwnProperty.call(t,r)&&n(t,e,r)},i=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,`__esModule`,{value:!0}),t.AsynchronouslyCreatedResourcePool=t.WorkerInfo=void 0;let a=e(`node:worker_threads`),o=e(`node:perf_hooks`),s=i(e(`node:assert`)),c=U(),l=B(),u=W(),d=xe();Object.defineProperty(t,`AsynchronouslyCreatedResourcePool`,{enumerable:!0,get:function(){return d.AsynchronouslyCreatedResourcePool}}),r(Se(),t),t.WorkerInfo=class extends d.AsynchronouslyCreatedResource{constructor({worker:e,port:t,enableHistogram:n},r){super(),this.idleTimeout=null,this.lastSeenResponseCount=0,this.terminating=!1,this.destroyed=!1;let{filename:i,...s}=e;this.worker=new a.Worker(i,s),this.port=t,this.onMessage=r,this.port.on(`message`,this._handleResponse.bind(this)),this.taskInfos=new Map,this.sharedBuffer=new Int32Array(new SharedArrayBuffer(l.kFieldCount*Int32Array.BYTES_PER_ELEMENT)),this.histogram=n?(0,o.createHistogram)():null}get id(){return this.worker.threadId}onWorkerMessage(e){this.worker.on(`message`,e)}onWorkerError(e){this.worker.on(`error`,e)}onWorkerExit(e){this.worker.on(`exit`,e)}onPortClose(e){this.port.on(`close`,e)}init(e,t){return this.worker.postMessage(e,t),this}workerRef(){return this.worker.ref(),this}workerUnref(){return this.worker.unref(),this}destroy(){if(!(this.terminating||this.destroyed)){this.terminating=!0,this.clearIdleTimeout(),this.worker.terminate(),this.port.close();for(let e of this.taskInfos.values())e.done(c.Errors.ThreadTermination());this.taskInfos.clear(),this.terminating=!1,this.destroyed=!0,this.markAsDestroyed()}}setIdleTimeout(e,t,...n){this.idleTimeout=setTimeout(e,t,...n).unref()}clearIdleTimeout(){this.idleTimeout!=null&&(clearTimeout(this.idleTimeout),this.idleTimeout=null)}ref(){return this.port.ref(),this}unref(){return this.port.unref(),this}_handleResponse(e){var t;(t=this.histogram)==null||t.record(u.PiscinaHistogramHandler.toHistogramIntegerNano(e?.time)),this.onMessage(e),this.taskInfos.size===0&&this.unref()}postTask(e){(0,s.default)(!this.taskInfos.has(e.taskId)),(0,s.default)(!this.terminating&&!this.destroyed);let t={task:e.releaseTask(),taskId:e.taskId,filename:e.filename,name:e.name,histogramEnabled:this.histogram==null?0:1};try{this.port.postMessage(t,e.transferList),queueMicrotask(()=>this.clearIdleTimeout()),e.workerInfo=this,this.taskInfos.set(e.taskId,e),this.ref(),Atomics.add(this.sharedBuffer,l.kRequestCountField,1),Atomics.notify(this.sharedBuffer,l.kRequestCountField,1)}catch(t){e.done(t)}}processPendingMessages(){if(this.destroyed)return;let e=Atomics.load(this.sharedBuffer,l.kResponseCountField);if(e!==this.lastSeenResponseCount){this.lastSeenResponseCount=e;let t;for(;(t=(0,a.receiveMessageOnPort)(this.port))!=null;)this._handleResponse(t.message)}}isRunningAbortableTask(){if(this.taskInfos.size!==1)return!1;let[[,e]]=this.taskInfos;return e.abortSignal!=null}currentUsage(){return this.isRunningAbortableTask()?1/0:this.taskInfos.size}popTask(e){let t=this.taskInfos.get(e)??null;return t!=null&&this.taskInfos.delete(e),t}get interface(){let e=this;return{get id(){return e.worker.threadId},get currentUsage(){return e.currentUsage()},get isRunningAbortableTask(){return e.isRunningAbortableTask()},get histogram(){return e.histogram==null?null:u.PiscinaHistogramHandler.createHistogramSummary(e.histogram)},get terminating(){return e.terminating},get destroyed(){return e.destroyed},[l.kWorkerData]:e}}}})),we=n((t=>{var n=t&&t.__classPrivateFieldSet||function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},r=t&&t.__classPrivateFieldGet||function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},i,a,o,s;Object.defineProperty(t,`__esModule`,{value:!0}),t.workerData=t.isWorkerThread=t.move=t.ArrayTaskQueue=t.FixedQueue=t.version=t.queueOptionsSymbol=t.valueSymbol=t.transferableSymbol=t.Piscina=void 0;let c=e(`node:worker_threads`),l=e(`node:events`),u=e(`node:path`),d=e(`node:util`),f=e(`node:perf_hooks`),p=e(`node:timers/promises`),m=_e();Object.defineProperty(t,`version`,{enumerable:!0,get:function(){return m.version}});let h=B();Object.defineProperty(t,`queueOptionsSymbol`,{enumerable:!0,get:function(){return h.kQueueOptions}}),Object.defineProperty(t,`transferableSymbol`,{enumerable:!0,get:function(){return h.kTransferable}}),Object.defineProperty(t,`valueSymbol`,{enumerable:!0,get:function(){return h.kValue}});let g=be();Object.defineProperty(t,`ArrayTaskQueue`,{enumerable:!0,get:function(){return g.ArrayTaskQueue}}),Object.defineProperty(t,`FixedQueue`,{enumerable:!0,get:function(){return g.FixedQueue}});let _=Ce(),v=V(),y=W(),b=U(),x=H(),S=(0,x.getAvailableParallelism)(),C={filename:null,name:`default`,minThreads:Math.max(Math.floor(S/2),1),maxThreads:S*1.5,idleTimeout:0,maxQueue:1/0,concurrentTasksPerWorker:1,atomics:`sync`,taskQueue:new g.ArrayTaskQueue,niceIncrement:0,trackUnmanagedFds:!0,closeTimeout:3e4,recordTiming:!0,workerHistogram:!1},w={transferList:void 0,filename:null,signal:null,name:null},T={force:!1};var E=class{constructor(e){i.set(this,void 0),n(this,i,e,`f`)}get[(i=new WeakMap,h.kTransferable)](){return r(this,i,`f`)}get[h.kValue](){return r(this,i,`f`)}},D=class{constructor(e){a.set(this,void 0),n(this,a,e,`f`)}get[(a=new WeakMap,h.kTransferable)](){return r(this,a,`f`).buffer}get[h.kValue](){return r(this,a,`f`)}},O=class{constructor(e,t){this.skipQueue=[],this.completed=0,this.histogram=null,this.start=f.performance.now(),this.inProcessPendingMessages=!1,this.startingUp=!1,this.closingUp=!1,this.workerFailsDuringBootstrap=!1,this.destroying=!1,this.publicInterface=e,this.taskQueue=t.taskQueue??new g.FixedQueue;let n=t.filename?(0,x.maybeFileURLToPath)(t.filename):null;this.options={...C,...t,filename:n,maxQueue:0},this.options.recordTiming&&(this.histogram=new y.PiscinaHistogramHandler),t.maxThreads!==void 0&&this.options.minThreads>=t.maxThreads&&(this.options.minThreads=t.maxThreads),t.minThreads!==void 0&&this.options.maxThreads<=t.minThreads&&(this.options.maxThreads=t.minThreads),t.maxQueue===`auto`?this.options.maxQueue=this.options.maxThreads**2:this.options.maxQueue=t.maxQueue??C.maxQueue,this.balancer=this.options.loadBalancer??(0,_.LeastBusyBalancer)({maximumUsage:this.options.concurrentTasksPerWorker}),this.workers=new _.AsynchronouslyCreatedResourcePool(this.options.concurrentTasksPerWorker),this.workers.onTaskDone(this._onWorkerTaskDone.bind(this)),this.maxCapacity=this.options.maxThreads*this.options.concurrentTasksPerWorker,this.startingUp=!0,this._ensureMinimumWorkers(),this.startingUp=!1,this._needsDrain=!1}_ensureMinimumWorkers(){if(!(this.closingUp||this.destroying))for(;this.workers.size<this.options.minThreads;)this._addNewWorker()}_addNewWorker(){if(this.closingUp===!0)return;let{port1:e,port2:t}=new c.MessageChannel,n=new _.WorkerInfo({worker:{filename:(0,u.resolve)(__dirname,`worker.js`),env:this.options.env,argv:this.options.argv,execArgv:this.options.execArgv,resourceLimits:this.options.resourceLimits,workerData:this.options.workerData,trackUnmanagedFds:this.options.trackUnmanagedFds},port:e,enableHistogram:this.options.workerHistogram},i.bind(this)),r={filename:this.options.filename,name:this.options.name,port:t,sharedBuffer:n.sharedBuffer,atomics:this.options.atomics,niceIncrement:this.options.niceIncrement};n.onDestroy(()=>{this.publicInterface.emit(`workerDestroy`,n.interface)}),n.onWorkerMessage(s.bind(this)),n.onWorkerError(l.bind(this)),n.onWorkerExit(f.bind(this)),n.onPortClose(()=>{n.workerRef()}),this.startingUp===!0?(n.markAsReady(),queueMicrotask(()=>{this.publicInterface.emit(`workerCreate`,n.interface),this._onWorkerReady(n)})):n.onReady(()=>{this.publicInterface.emit(`workerCreate`,n.interface),this._onWorkerReady(n)}),n.init(r,[t]).workerUnref(),this.workers.add(n);function i(e){let{taskId:t,result:r}=e,i=n.popTask(t);if(this.workers.taskDone(n),i==null){let t=Error(`Unexpected message from Worker: ${(0,d.inspect)(e)}`);this.publicInterface.emit(`error`,t)}else i.done(e.error,r);this._processPendingMessages()}function a(){n.currentUsage()===0&&n.unref(),n.isReady()===!1&&n.markAsReady()}function o(e){this.publicInterface.emit(`message`,e)}function s(e){e instanceof Object&&x.READY in e||typeof e==`object`&&e&&x.READY in e?a():o.call(this,e)}function l(e){this._onError(n,e,!1)}function f(e){if(this.destroying===!1){let t=Error(`worker exited with code: ${e}`);this._onError(n,t,!0)}}}_onError(e,t,n){let r=[...e.taskInfos.values()];if(e.taskInfos.clear(),this._removeWorker(e),e.isReady()&&!this.workerFailsDuringBootstrap?this._ensureMinimumWorkers():this.workerFailsDuringBootstrap=!0,r.length>0)for(let e of r)e.done(t,null);else n||this.publicInterface.emit(`error`,t)}_processPendingMessages(){if(!(this.inProcessPendingMessages||this.options.atomics===`disabled`)){this.inProcessPendingMessages=!0;try{for(let e of this.workers)e.processPendingMessages()}finally{this.inProcessPendingMessages=!1}}}_removeWorker(e){e.destroy(),this.workers.delete(e)}_removeTaskFromQueue(e){this.taskQueue.remove(e);let t=this.skipQueue.indexOf(e);t!==-1&&this.skipQueue.splice(t,1)}_onWorkerReady(e){this._onWorkerAvailable(e)}_onWorkerTaskDone(e){this._onWorkerAvailable(e)}_onWorkerAvailable(e){let t=null;for(;this.taskQueue.size>0||this.skipQueue.length>0;){let e=this.skipQueue.shift()||this.taskQueue.shift();if(t??=[...this.workers].map(e=>e.interface),!this._distributeTask(e,t))if(this.workers.size<this.options.maxThreads){this._addNewWorker();continue}else break}this.options.idleTimeout!==1/0&&e.currentUsage()===0&&this.workers.size>this.options.minThreads&&e.setIdleTimeout(()=>{e.currentUsage()===0&&this.workers.size>this.options.minThreads&&this._removeWorker(e)},this.options.idleTimeout)}_distributeTask(e,t){var n;if(e.aborted)return!0;let r=this.balancer(e.interface,t);if(r!=null&&r[h.kWorkerData]!=null){let t=f.performance.now();return(n=this.histogram)==null||n.recordWaitTime(t-e.created),e.started=t,r[h.kWorkerData].postTask(e),queueMicrotask(()=>this._maybeDrain()),!0}return e.abortSignal==null?this.taskQueue.push(e):this.skipQueue.push(e),!1}runTask(e,t){let{filename:n,name:r}=t,{transferList:i=[]}=t;if(n??=this.options.filename,r??=this.options.name,typeof n!=`string`)return Promise.reject(b.Errors.FilenameNotProvided());n=(0,x.maybeFileURLToPath)(n);let a;if(this.closingUp||this.destroying){let e=new AbortController;e.abort(`queue is being terminated`),a=e.signal}else a=t.signal??null;let{promise:o,resolve:s,reject:c}=(0,x.promiseResolvers)(),l=new g.TaskInfo({task:e,transferList:i,filename:n,name:r,abortSignal:a,triggerAsyncId:this.publicInterface.asyncResource.asyncId()},(e,t)=>{var n;this.completed++,l.started&&((n=this.histogram)==null||n.recordRunTime(f.performance.now()-l.started)),e===null?s(t):c(e),queueMicrotask(this._maybeDrain.bind(this))});if(a!=null){if(a.aborted)return c(new v.AbortError(a.reason)),o;l.onAbort(()=>{c(new v.AbortError(a.reason)),l.workerInfo==null?this._removeTaskFromQueue(l):(this._removeWorker(l.workerInfo),this._ensureMinimumWorkers())}),l.setAbortListener(a)}if(this.taskQueue.size>0){let e=this.options.maxQueue+this.pendingCapacity();return this.taskQueue.size>=e?this.options.maxQueue===0?c(b.Errors.NoTaskQueueAvailable()):c(b.Errors.TaskQueueAtLimit()):(this.taskQueue.push(l),this.workers.size<this.options.maxThreads&&this._addNewWorker()),queueMicrotask(this._maybeDrain.bind(this)),o}let u=[...this.workers.readyItems].map(e=>e.interface);return this._distributeTask(l,u)||(this.workers.size<this.options.maxThreads&&this._addNewWorker(),this.options.maxQueue<=0&&this.pendingCapacity()===0&&c(b.Errors.NoTaskQueueAvailable())),queueMicrotask(this._maybeDrain.bind(this)),o}pendingCapacity(){return this.workers.pendingItems.size*this.options.concurrentTasksPerWorker}_maybeDrain(){let{maxCapacity:e}=this,t=this.workers.getCurrentUsage();e===t?(this._needsDrain=!0,queueMicrotask(()=>this.publicInterface.emit(`needsDrain`))):e>t&&this._needsDrain&&(this._needsDrain=!1,queueMicrotask(()=>this.publicInterface.emit(`drain`)))}async destroy(){for(this.destroying=!0;this.skipQueue.length>0;)this.skipQueue.shift().done(Error(`Terminating worker thread`));for(;this.taskQueue.size>0;)this.taskQueue.shift().done(Error(`Terminating worker thread`));let e=[];for(;this.workers.size>0;){let[t]=this.workers;e.push((0,l.once)(t.worker,`exit`)),this._removeWorker(t)}await Promise.allSettled(e),this.destroying=!1}async close(e){if(this.closingUp=!0,e.force){let e=this.skipQueue.length;for(let t=0;t<e;t++){let e=this.skipQueue.shift();e.workerInfo===null?e.done(new v.AbortError(`pool is closed`)):this.skipQueue.push(e)}let t=this.taskQueue.size;for(let e=0;e<t;e++){let e=this.taskQueue.shift();e.workerInfo===null?e.done(new v.AbortError(`pool is closed`)):this.taskQueue.push(e)}}let t=()=>new Promise(e=>{let t=this.workers.size;if(t===0){e();return}let n=0,r=r=>{r.taskInfos.size===0&&n++,t===n&&e()};this.workers.onTaskDone(r);for(let e of this.workers)r(e),this.workers.onTaskDone(r)}),n=async e=>{throw await(0,p.setTimeout)(e,null,{ref:!1}),b.Errors.CloseTimeout()};try{await Promise.race([t(),n(this.options.closeTimeout)])}catch(e){this.publicInterface.emit(`error`,e)}finally{await this.destroy(),this.publicInterface.emit(`close`),this.closingUp=!1}}},k=class e extends l.EventEmitterAsyncResource{constructor(e={}){let t={...e,"__proto__":null};if(super({...t,name:`Piscina`}),o.set(this,void 0),s.set(this,null),typeof t.filename!=`string`&&t.filename!=null)throw TypeError(`options.filename must be a string or null`);if(typeof t.name!=`string`&&t.name!=null)throw TypeError(`options.name must be a string or null`);if(t.minThreads!==void 0&&(typeof t.minThreads!=`number`||t.minThreads<0))throw TypeError(`options.minThreads must be a non-negative integer`);if(t.maxThreads!==void 0&&(typeof t.maxThreads!=`number`||t.maxThreads<1))throw TypeError(`options.maxThreads must be a positive integer`);if(t.minThreads!==void 0&&t.maxThreads!==void 0&&t.minThreads>t.maxThreads)throw RangeError(`options.minThreads and options.maxThreads must not conflict`);if(t.idleTimeout!==void 0&&(typeof t.idleTimeout!=`number`||t.idleTimeout<0))throw TypeError(`options.idleTimeout must be a non-negative integer`);if(t.maxQueue!==void 0&&t.maxQueue!==`auto`&&(typeof t.maxQueue!=`number`||t.maxQueue<0))throw TypeError(`options.maxQueue must be a non-negative integer`);if(t.concurrentTasksPerWorker!==void 0&&(typeof t.concurrentTasksPerWorker!=`number`||t.concurrentTasksPerWorker<1))throw TypeError(`options.concurrentTasksPerWorker must be a positive integer`);if(t.atomics!=null&&(typeof t.atomics!=`string`||![`sync`,`async`,`disabled`].includes(t.atomics)))throw TypeError(`options.atomics should be a value of sync, sync or disabled.`);if(t.resourceLimits!==void 0&&(typeof t.resourceLimits!=`object`||t.resourceLimits===null))throw TypeError(`options.resourceLimits must be an object`);if(t.taskQueue!==void 0&&!(0,g.isTaskQueue)(t.taskQueue))throw TypeError(`options.taskQueue must be a TaskQueue object`);if(t.niceIncrement!==void 0&&(typeof t.niceIncrement!=`number`||t.niceIncrement<0&&process.platform!==`win32`))throw TypeError(`options.niceIncrement must be a non-negative integer on Unix systems`);if(t.trackUnmanagedFds!==void 0&&typeof t.trackUnmanagedFds!=`boolean`)throw TypeError(`options.trackUnmanagedFds must be a boolean value`);if(t.closeTimeout!==void 0&&(typeof t.closeTimeout!=`number`||t.closeTimeout<0))throw TypeError(`options.closeTimeout must be a non-negative integer`);if(t.loadBalancer!==void 0&&(typeof t.loadBalancer!=`function`||t.loadBalancer.length<1))throw TypeError(`options.loadBalancer must be a function with at least two args`);if(t.workerHistogram!==void 0&&typeof t.workerHistogram!=`boolean`)throw TypeError(`options.workerHistogram must be a boolean`);n(this,o,new O(this,t),`f`)}run(e,t=w){if(typeof t!=`object`||!t)return Promise.reject(TypeError(`options must be an object`));let{transferList:n,signal:i}=t,a=Object.prototype.hasOwnProperty.call(t,`filename`)?t.filename:null,s=Object.prototype.hasOwnProperty.call(t,`name`)?t.name:null;return n!==void 0&&!Array.isArray(n)?Promise.reject(TypeError(`transferList argument must be an Array`)):a!=null&&typeof a!=`string`?Promise.reject(TypeError(`filename argument must be a string`)):s!=null&&typeof s!=`string`?Promise.reject(TypeError(`name argument must be a string`)):i!=null&&typeof i!=`object`?Promise.reject(TypeError(`signal argument must be an object`)):r(this,o,`f`).runTask(e,{transferList:n,filename:a,name:s,signal:i})}async close(e=T){if(typeof e!=`object`||!e)throw TypeError(`options must be an object`);let{force:t}=e;return t!==void 0&&typeof t!=`boolean`?Promise.reject(TypeError(`force argument must be a boolean`)):(t??=T.force,r(this,o,`f`).close({force:t}))}destroy(){return r(this,o,`f`).destroy()}[(o=new WeakMap,s=new WeakMap,Symbol.dispose)](){this.close()}[Symbol.asyncDispose](){return this.close()}get maxThreads(){return r(this,o,`f`).options.maxThreads}get minThreads(){return r(this,o,`f`).options.minThreads}get options(){return r(this,o,`f`).options}get threads(){let e=[];for(let t of r(this,o,`f`).workers)e.push(t.worker);return e}get idleThreads(){let e=0;for(let t of r(this,o,`f`).workers.readyItems)t.currentUsage()===0&&e++;return e}get queueSize(){let e=r(this,o,`f`);return Math.max(e.taskQueue.size+e.skipQueue.length-e.pendingCapacity(),0)}get completed(){return r(this,o,`f`).completed}get histogram(){if(r(this,s,`f`)==null){let e={get runTime(){return this.histogram?.runTimeSummary},get waitTime(){return this.histogram?.waitTimeSummary},resetRunTime(){var e;(e=this.histogram)==null||e.resetRunTime()},resetWaitTime(){var e;(e=this.histogram)==null||e.resetWaitTime()}};Object.defineProperty(e,`histogram`,{value:r(this,o,`f`).histogram,writable:!1,enumerable:!1,configurable:!1}),n(this,s,e,`f`)}return r(this,s,`f`)}get utilization(){if(r(this,o,`f`).histogram==null)return 0;let e=r(this,o,`f`).histogram.runTimeCount;if(e===0)return 0;let t=this.duration*r(this,o,`f`).options.maxThreads;return r(this,o,`f`).histogram.runTimeSummary.mean/1e3*e/t}get duration(){return f.performance.now()-r(this,o,`f`).start}get needsDrain(){return r(this,o,`f`)._needsDrain}static get isWorkerThread(){return x.commonState.isWorkerThread}static get workerData(){return x.commonState.workerData}static get version(){return m.version}static get Piscina(){return e}static get FixedQueue(){return g.FixedQueue}static get ArrayTaskQueue(){return g.ArrayTaskQueue}static move(e){return typeof e==`object`&&e&&typeof e!=`function`&&((0,x.isTransferable)(e)||(e=d.types.isArrayBufferView(e)?new D(e):new E(e)),(0,x.markMovable)(e)),e}static get transferableSymbol(){return h.kTransferable}static get valueSymbol(){return h.kValue}static get queueOptionsSymbol(){return h.kQueueOptions}};t.default=k,t.Piscina=k,t.move=k.move,t.isWorkerThread=k.isWorkerThread,t.workerData=k.workerData})),G=t(n(((e,t)=>{t.exports=(e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}})(we()).default}))(),1),Te=G.default;G.default.ArrayTaskQueue,G.default.FixedQueue,G.default.Piscina,G.default.isWorkerThread,G.default.move,G.default.queueOptionsSymbol,G.default.transferableSymbol,G.default.valueSymbol,G.default.version,G.default.workerData;var K=class{pool;constructor(e){this.pool=new Te({filename:e.workerEntry,maxThreads:e.maxConcurrency??4,idleTimeout:e.idleTimeoutMs??3e4})}async run(e,t){return this.pool.run(e,{signal:t})}onMessage(e){return this.pool.on(`message`,e),()=>this.pool.off(`message`,e)}async dispose(){await this.pool.destroy()}},q=class{options;manifest;pool;constructor(e){this.options=e,this.manifest=e.manifest}async run(e,t,n){return this.pool??=new K(this.options),this.pool.run({config:e,manifest:n??this.manifest},t)}runWithReadiness(e,t,n){this.pool??=new K(this.options);let r=this.pool,a,o=!1,s,c=new Promise((t,n)=>{s=n,a=r.onMessage(n=>{i(n)&&(n.executionId!==e.executionId||n.cancelSubject!==e.cancelSubject||(o=!0,a?.(),t(n)))})}),l=r.run({config:e,manifest:n??this.manifest},t);return l.then(()=>{o||(o=!0,a?.(),s(Error(`Workflow worker completed before ready signal: ${e.executionId}`)))},e=>{o||(o=!0,a?.(),s(e instanceof Error?e:Error(String(e))))}),{result:l,ready:c}}async dispose(){await this.pool?.dispose()}};function J(e){return e.mode===`source`?s(e.moduleDir,`workflow-worker`,`worker-entry.ts`):s(e.moduleDir,`workflow-worker`,`worker-entry.mjs`)}function Ee(e,t){let n=t.executionHints?.requirements?.capabilities??[];if(n.length===0)return e;let r=e?.customCapabilities??[];return{...e,customCapabilities:[...new Set([...r,...n])]}}var Y=class{options;constructor(e){this.options=e}run(e,t,n,r){let i=n??this.options.manifest,a=Ee(this.options.requirements,e),o=r?.dispatchMetadata;return this.options.dispatch({config:e,...i!==void 0&&{manifest:i},...a!==void 0&&{requirements:a},...o!==void 0&&{metadata:o}},t)}},X=class{#e;constructor(e){this.#e=e.bus}async run(e,t,n){let i=m.parse(e),o=await r(i);return oe({config:await a(i,o,this.#e,t),loaded:o,bus:this.#e,signal:t})}};function De(){return{packages:[]}}function Oe(e){let t=o(e.runtimeModuleDir)===`src`?`source`:`dist`,n=Z({moduleDir:e.runtimeModuleDir,defaultWorkerEntryMode:t,runner:e.workflowRunner,bus:e.bus});return{...n!==void 0&&{workflowRunner:n},executorConfig:{busUrl:e.busUrl,busAuth:{kind:`none`},platformDefaults:e.platformDefaults,makaioHome:e.makaioHome}}}function Z(e){let{runner:t}=e;if(t)switch(t.mode){case void 0:case`in-process`:if(e.bus===void 0)throw Error(`InProcessWorkflowRunner requires a bus instance. Pass 'bus' to createNodeWorkflowRunner when runner.mode is 'in-process'.`);return new X({bus:e.bus});case`worker-node`:{let n=e.bus,r=t.dispatch??(n===void 0?void 0:(e,t)=>n.request(p.dispatch,{config:e.config,manifest:e.manifest,requirements:e.requirements,metadata:e.metadata},{signal:t}));if(r===void 0)throw Error(`WorkerNodeRunner requires either a dispatch function or a bus instance. Pass 'bus' to createNodeWorkflowRunner when runner.mode is 'worker-node'.`);return new Y({dispatch:r,...t.manifest!==void 0&&{manifest:t.manifest},...t.requirements!==void 0&&{requirements:t.requirements}})}case`piscina`:return new q({workerEntry:t.workerEntry??J({moduleDir:e.moduleDir,mode:t.workerEntryMode??e.defaultWorkerEntryMode}),manifest:t.manifest??De(),maxConcurrency:t.maxConcurrency,idleTimeoutMs:t.idleTimeoutMs})}}function Q(e){return e instanceof Error?e:Error(String(e??`WorkerNode wait aborted`))}function ke(e){return typeof e.runWithReadiness==`function`}const $={persistentStorage:!0,customCapabilities:[`workflow.local-runtime`,`workflow.thin-runner`],suspensionStrategy:`wait-in-process`};var Ae=class{options;environment=`piscina`;baseCapabilities;constructor(e){this.options=e,this.baseCapabilities=f.parse({...$,...e.baseCapabilities,suspensionStrategy:e.baseCapabilities?.suspensionStrategy??$.suspensionStrategy})}get id(){return this.options.id}get displayName(){return this.options.displayName}async provision(e){let t=new AbortController,n=ke(this.options.runner)?this.options.runner.runWithReadiness(e.workerConfig,t.signal,e.workerManifest):{result:this.options.runner.run(e.workerConfig,t.signal,e.workerManifest),ready:void 0},r=n.result,i=n.ready?.then(e=>({adapters:e.adapters}));return i?.catch(()=>void 0),r.catch(()=>void 0),{nodeId:e.nodeId,...i!==void 0&&{ready:i},waitForResult:async e=>{if(e.aborted)return t.abort(e.reason),Promise.reject(Q(e.reason));let n,i=new Promise((e,t)=>{n=t}),a=()=>{t.abort(e.reason),n(Q(e.reason))};e.addEventListener(`abort`,a,{once:!0});try{return await Promise.race([r,i])}finally{e.removeEventListener(`abort`,a)}},cancel:e=>(t.abort(e??`WorkerNode cancelled`),Promise.resolve()),terminate:()=>(t.abort(`WorkerNode terminated`),Promise.resolve())}}};const je=[ie,te,re];function Me(e){let t;return()=>(t??=(async()=>{let t=[];for(let n of[...e].reverse())try{await n()}catch(e){t.push(e)}if(t.length===1)throw t[0];if(t.length>1)throw AggregateError(t,`Isolated workflow runtime shutdown reported errors`)})(),t)}async function Ne(e){let t=c();t.registerNamespaces([...u,...d]);let{context:n}=e,r=new _(t,{surface:`headless`,extensionContextBase:{cwd:n.cwd,platform:n.platform,homedir:n.homedir,makaioHome:n.makaioHome,username:n.username,machineId:n.machineId,tryImport:F}}),i,a=[()=>t.disconnect()],o=Me(a);try{await e.connectAuthority(t);let s=[...e.contributedPackages,...await e.loadContributedPackages?.(t)??[]],{adapterSubsystemPackage:c}=M({coordinator:r,configRepository:e.configRepository,platformDefaults:{cwd:n.cwd},runtimeSnapshotHandlerPriority:1,runtimeDefinitionHandlerPriority:1,...e.prepareAuthRuntime!==void 0&&{prepareAuthRuntime:e.prepareAuthRuntime}}),l=S({definitions:s.flatMap(e=>e.clients??[]),binaryResolutionPolicy:`global-only`});r.registerContributionProcessor(ee());let u=[...je,c,O,...R(s)?[ne]:[],k(1),ae,l,...s];r.load(u),a.push(...z(u,t,r)),a.push(()=>r.shutdown()),await r.startAll(),i=N({bus:t,currentMachineId:n.machineId}),a.push(()=>{i?.cleanup(),i=void 0});let d=r.getExtensionService(D);if(d===void 0)throw Error(`Isolated workflow tool registry did not start.`);for(let t of e.toolsets)await d.register(t);return await t.emit(v.ready,{machineId:n.machineId}),{bus:t,coordinator:r,machineId:n.machineId,shutdown:o}}catch(e){throw await o().catch(()=>void 0),e}}export{F as _,X as a,j as b,q as c,de as d,ge as f,P as g,he as h,Oe as i,ue as l,fe as m,Ae as n,Y as o,z as p,Z as r,J as s,Ne as t,I as u,N as v,M as y};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@makaio/framework",
3
- "version": "1.0.0-dev-1784154668798",
3
+ "version": "1.0.0-dev-1784706768858",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/makaio-ai/makaio-framework.git",
@@ -19,14 +19,14 @@
19
19
  },
20
20
  "dependencies": {
21
21
  "@hono/node-server": "^1.14.1",
22
- "@libsql/client": "^0.17.3",
22
+ "@libsql/client": "^0.17.4",
23
23
  "ajv": "^8.18.0",
24
24
  "ajv-formats": "^3.0.1",
25
25
  "drizzle-orm": "^0.45.2",
26
26
  "glob": "13.0.6",
27
- "hono": "^4.12.23",
27
+ "hono": "^4.12.27",
28
28
  "type-fest": "^5.2.0",
29
- "ws": "^8.21.0",
29
+ "ws": "^8.21.1",
30
30
  "zod": "4.4.3"
31
31
  },
32
32
  "peerDependenciesMeta": {
@@ -1 +0,0 @@
1
- import{i as e,t}from"./json-value-DmU8ibo_.mjs";import{n}from"./schemas-6H-dlMrB.mjs";import{z as r}from"zod";import{createBusNamespace as i}from"@makaio/framework/core";const a=[`inline`,`summary`,`link`,`omit`],o=r.string().min(1),s=r.object({kinds:r.array(r.string().min(1)).optional(),hint:o.optional(),depth:r.number().int().min(1).max(20).optional(),nested:r.lazy(()=>c).optional()}),c=r.record(r.string().min(1),s),l=r.object({kind:r.string().min(1),id:r.string().min(1),displayName:r.string().optional()}),u=r.object({level:r.string().min(1),ids:r.record(r.string().min(1),r.string().min(1)).optional()}).superRefine((e,t)=>{e.level!==`global`&&(!e.ids||Object.keys(e.ids).length===0)&&t.addIssue({code:r.ZodIssueCode.custom,path:[`ids`],message:`ids is required when scope level is not 'global'`})}),d=r.object({level:r.string().min(1),ids:r.record(r.string().min(1),r.string().min(1)).optional()}),f=r.object({refClass:r.literal(`artifact`).default(`artifact`),kind:r.string().min(1),id:r.string().min(1),revision:r.string().min(1)}),p=r.object({refClass:r.literal(`local`).default(`local`),artifact:f,localId:r.string().min(1)}),m=r.object({refClass:r.literal(`evidence`).default(`evidence`),kind:r.string().min(1),id:r.string().min(1),revision:r.string().min(1).optional(),locator:r.string().min(1).optional()}),h=r.discriminatedUnion(`refClass`,[f,p,m]);function g(e){return!e||typeof e!=`object`||Array.isArray(e)||`refClass`in e?e:`artifact`in e&&`localId`in e?{...e,refClass:`local`}:`locator`in e||!(`revision`in e)?{...e,refClass:`evidence`}:{...e,refClass:`artifact`}}const _=r.preprocess(g,h),v=r.discriminatedUnion(`refClass`,[f.extend({revision:r.string().min(1).optional()}),p,m]);function y(e){return!e||typeof e!=`object`||Array.isArray(e)||`refClass`in e?e:`artifact`in e&&`localId`in e?{...e,refClass:`local`}:`locator`in e?{...e,refClass:`evidence`}:{...e,refClass:`artifact`}}const b=r.preprocess(y,v),x=r.object({type:r.string().min(1),target:_}),S=r.enum([`assumed`,`inferred`,`stated`,`confirmed`,`verified`]),C=r.object({kind:r.string().min(1),actor:l,timestamp:r.number().int().nonnegative(),detail:r.string().optional(),evidenceRef:_.optional()}),w=r.object({level:S,basis:r.array(C)}),T=r.object({id:r.string().min(1),kind:r.string().min(1),summary:r.string().min(1),detail:r.string().optional(),severity:r.enum([`info`,`warning`,`blocker`]).optional(),tags:r.array(r.string().min(1)).optional(),regarding:r.union([f,p]).optional(),evidence:r.union([f,m]).optional(),actor:l,timestamp:r.number().int().nonnegative()}),E=r.object({markdown:r.string().optional(),summary:r.string().optional(),plaintext:r.string().optional()}),D=r.object({kind:r.string().min(1),id:r.string().min(1),revision:r.string().min(1),scope:u,schemaVersion:r.string().min(1),data:t,relations:r.array(x),confidence:w.optional(),representations:E.optional(),actor:l,timestamp:r.number().int().nonnegative(),createdAt:r.number().int().nonnegative().optional()}),O=r.enum([`supersedes`,`manual`,`coexist`]),k=r.object({kind:r.string().min(1),description:r.string().trim().min(1),schemaVersion:r.string().min(1),dataSchema:t,scopeSchema:t.optional(),observationSchema:t.optional(),discriminator:r.union([r.string().min(1),r.array(r.string().min(1))]).optional(),conflictPolicy:O,status:r.object({path:r.string().min(1),values:r.array(r.string().min(1)).optional()}).optional(),lifecycle:r.object({defaultRelevance:r.enum([`active`,`fading`,`retired`,`archived`]).optional(),decayPolicy:r.string().min(1).optional()}).optional(),indexedFields:r.array(r.string().min(1)).optional(),searchableFields:r.array(r.string().min(1)).optional(),projection:n.optional(),defaultContext:c.optional()}),A=r.object({type:r.string().min(1),symmetry:r.enum([`asymmetric`,`symmetric`]),implication:r.string().min(1).optional(),sourceKinds:r.array(r.string().min(1)).optional(),targetKinds:r.array(r.string().min(1)).optional(),targetRefClasses:r.array(r.enum([`artifact`,`local`,`evidence`])).optional()}),j=r.object({kind:r.string().min(1).optional(),scope:d.optional(),ids:r.array(r.string().min(1)).optional(),currentOnly:r.boolean().optional(),search:r.string().optional(),relation:r.object({type:r.string().min(1).optional(),target:b.optional()}).optional(),confidence:r.object({maxLevel:S.optional(),minLevel:S.optional()}).optional(),indexed:r.record(r.string(),e).optional(),limit:r.number().int().min(1).optional()}),M=r.object({base:f,target:f}),N=r.object({base:D,target:D,changedPaths:r.array(r.string())});function P(e){let{$schema:t,...n}=r.toJSONSchema(e);return n}function F(e){return{...e,toRegistration:()=>({kind:e.kind,description:e.description,schemaVersion:e.schemaVersion,dataSchema:P(e.dataSchema),...e.scopeSchema?{scopeSchema:P(e.scopeSchema)}:{},...e.observationSchema?{observationSchema:P(e.observationSchema)}:{},...e.discriminator===void 0?{}:{discriminator:typeof e.discriminator==`string`?e.discriminator:Array.from(e.discriminator)},conflictPolicy:e.conflictPolicy,...e.status?{status:{...e.status,...e.status.values?{values:[...e.status.values]}:{}}}:{},...e.lifecycle?{lifecycle:e.lifecycle}:{},...e.indexedFields?{indexedFields:[...e.indexedFields]}:{},...e.searchableFields?{searchableFields:[...e.searchableFields]}:{},...e.projection?{projection:{...e.projection,...e.projection.semanticEvents?{semanticEvents:[...e.projection.semanticEvents]}:{},...e.projection.projectedFields?{projectedFields:e.projection.projectedFields.map(e=>({...e}))}:{},...e.projection.affordances?{affordances:e.projection.affordances.map(e=>structuredClone(e))}:{}}}:{},...e.defaultContext?{defaultContext:structuredClone(e.defaultContext)}:{}})}}function I(e){return{hooks:[...e.hooks]}}function L(e){return JSON.stringify([e.kind,e.id,e.revision])}const R=r.enum([`not-selected`,`not-found`,`depth-exceeded`,`unsupported-ref-class`,`cycle-detected`]),z=r.object({target:_,sourceRef:f,relationType:r.string().min(1),hint:o,status:r.enum([`resolved`,`unresolved`]),reason:R.optional()}).superRefine((e,t)=>{e.status===`unresolved`&&e.reason===void 0&&t.addIssue({code:r.ZodIssueCode.custom,path:[`reason`],message:`reason is required for unresolved artifact context refs`}),e.status===`resolved`&&e.reason!==void 0&&t.addIssue({code:r.ZodIssueCode.custom,path:[`reason`],message:`reason must be omitted for resolved artifact context refs`}),e.status===`resolved`&&e.target.refClass!==`artifact`&&t.addIssue({code:r.ZodIssueCode.custom,path:[`target`],message:`resolved artifact context refs must target an artifact revision`})}),B=r.object({rootRef:f,refs:r.array(z),resolved:r.array(D)}).superRefine((e,t)=>{let n=new Set(e.resolved.map(L));n.has(L(e.rootRef))||t.addIssue({code:r.ZodIssueCode.custom,path:[`resolved`],message:`resolved artifact context wire payloads must include the root artifact revision`}),e.refs.forEach((e,i)=>{n.has(L(e.sourceRef))||t.addIssue({code:r.ZodIssueCode.custom,path:[`refs`,i,`sourceRef`],message:`artifact context ref sources must have a matching revision in resolved`}),!(e.status!==`resolved`||e.target.refClass!==`artifact`)&&(n.has(L(e.target))||t.addIssue({code:r.ZodIssueCode.custom,path:[`refs`,i,`target`],message:`resolved artifact context refs must have a matching revision in resolved`}))})});function V(e){let t=B.parse(e),n=new Map(t.resolved.map(e=>[K(e),e])),r=new Map;for(let e of t.refs){let t=K(e.sourceRef),n=r.get(t);n||(n=[],r.set(t,n)),n.push(e)}let i=n.get(K(t.rootRef));if(!i)throw Error(`Resolved artifact context is missing root artifact '${K(t.rootRef)}'`);let a=H(t.rootRef,i,`inline`,r,n);return{root:a,flatten(){let e=[];return G(a,e),e}}}function H(e,t,n,r,i){return{status:`resolved`,ref:e,artifact:t,hint:n,children:W(e,r,i,new Set([K(e)]))}}function U(e,t,n,r,i,a,o){let s=K(e),c=new Set(o);return c.add(s),{status:`resolved`,ref:e,artifact:t,relation:n,hint:r,children:W(e,i,a,c)}}function W(e,t,n,r){return(t.get(K(e))??[]).map(e=>{if(e.status===`unresolved`)return{status:`unresolved`,target:e.target,relation:e.relationType,hint:e.hint,reason:e.reason};if(e.target.refClass!==`artifact`)throw Error(`Resolved artifact context refs must target an artifact revision`);let i=K(e.target),a=n.get(i);if(!a)throw Error(`Resolved artifact context is missing target artifact '${i}'`);return r.has(i)?{status:`unresolved`,target:e.target,relation:e.relationType,hint:e.hint,reason:`cycle-detected`}:U(e.target,a,e.relationType,e.hint,t,n,r)})}function G(e,t){if(e.status!==`unresolved`){t.push(e.artifact);for(let n of e.children)G(n,t)}}function K(e){return JSON.stringify([e.kind,e.id,e.revision])}const q={"kind.register":{request:k,response:r.object({registered:r.boolean()})},"kind.list":{request:r.object({kind:r.string().min(1).optional()}),response:r.object({kinds:r.array(k)})},"relation-type.register":{request:A,response:r.object({registered:r.boolean()})},"relation-type.list":{request:r.object({type:r.string().min(1).optional()}),response:r.object({relationTypes:r.array(A)})},create:{request:D.omit({id:!0,revision:!0,timestamp:!0}),response:r.object({artifact:D})},revise:{request:r.object({previous:f,revision:D.omit({id:!0,revision:!0,timestamp:!0})}),response:r.object({artifact:D})},resolve:{request:r.object({ref:f}),response:r.object({artifact:D.nullable()})},query:{request:j,response:r.object({artifacts:r.array(D)})},compare:{request:M,response:N},resolveContext:{request:r.object({ref:f,selectors:c.optional(),maxDepth:r.number().int().min(1).max(20).default(5)}),response:r.object({context:B})},created:r.object({artifact:D}),revised:r.object({previous:f,artifact:D}),"relation.added":r.object({artifact:f,relation:x}),"observation.added":r.object({artifact:f,observation:T}),"status.changed":r.object({artifact:f,path:r.string().min(1),previous:r.unknown().optional(),current:r.unknown().optional()}),"kind.changed":r.object({kind:r.string().min(1),schemaVersion:r.string().min(1)})},J=i(`artifact`,q),Y=J.subjects;export{A,D as C,w as D,S as E,s as M,o as N,m as O,c as P,E as S,C as T,d as _,z as a,x as b,I as c,M as d,N as f,j as g,T as h,V as i,a as j,p as k,F as l,k as m,q as n,R as o,O as p,Y as r,B as s,J as t,l as u,f as v,u as w,_ as x,b as y};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-DTipWd-i.mjs";import{t}from"./ajv-WvFKnw8d.mjs";import{z as n}from"zod";import{execFile as r}from"node:child_process";import{isDeepStrictEqual as i}from"node:util";import{isAbsolute as a,relative as o,resolve as s}from"node:path";import{realpathSync as c}from"node:fs";import{localSubject as l}from"@makaio/framework/core";import{NoHandlerError as u}from"@makaio/framework/bus";import{AgentSubjects as d,ArtifactSubjects as f,ExecutionLinkListQuerySchema as p,ExecutionLinkSchema as m,ExecutionListQuerySchema as h,ExecutionStatusSchema as g,ExecutionsByArtifactRefsQuerySchema as _,GateInstanceListQuerySchema as v,JsonPatchOperationSchema as y,JsonValueSchema as b,SessionSubjects as x,SpanRecordSchema as S,SubagentSubjects as C,WORKFLOW_CANCELLED_REASON as ee,WorkLogFrameEntrySchema as te,WorkerNodeSubjects as ne,WorkflowDefinitionSchema as re,WorkflowError as ie,WorkflowErrorCode as ae,WorkflowExecutionSchema as w,WorkflowFinalizationClaimSchema as T,WorkflowFinalizerIdSchema as oe,WorkflowFrameStateSchema as se,WorkflowGateInstanceSchema as E,WorkflowListQuerySchema as ce,WorkflowRunContextSchema as le,WorkflowSchemas as ue,WorkflowSubjects as de,WorkflowSubjects as D,WorkflowWorkerSourceSchema as fe,createStepCancelSubject as pe,createWorkflowDelegateResultFinalizerNamespace as me,walkWorkflowDefinition as he}from"@makaio/framework/contracts";import{index as O,primaryKey as ge,uniqueIndex as _e}from"drizzle-orm/sqlite-core";import{index as k,primaryKey as ve,uniqueIndex as ye}from"drizzle-orm/pg-core";import{defineDualTable as A}from"@makaio/framework/storage/drizzle";import{sql as be}from"drizzle-orm";import{createStorageNamespaceDefinition as xe}from"@makaio/framework/storage";import{evaluateSync as j,resolveTemplate as M}from"@makaio/framework/expression";import*as Se from"node:os";const Ce=A(`workflow_finalizations`,e=>({executionId:e.text(`execution_id`).primaryKey().references(()=>N.columnPair(`id`),{onDelete:`cascade`}),workflowId:e.text(`workflow_id`).notNull(),finalizerId:e.text(`finalizer_id`).notNull(),transitionKey:e.text(`transition_key`).notNull(),claimToken:e.text(`claim_token`).notNull(),intent:e.jsonCol(`intent`).notNull(),state:e.textEnum(`state`,{enum:[`claimed`,`acknowledged`,`failed`]}).notNull(),claimedAt:e.epochMs(`claimed_at`).notNull(),settledAt:e.epochMs(`settled_at`),failure:e.text(`failure`),publishedAt:e.epochMs(`published_at`)}),{sqlite:e=>[_e(`uniq_workflow_finalizations_transition`).on(e.transitionKey),O(`idx_workflow_finalizations_recovery`).on(e.finalizerId,e.state)],postgres:e=>[ye(`uniq_workflow_finalizations_transition`).on(e.transitionKey),k(`idx_workflow_finalizations_recovery`).on(e.finalizerId,e.state)]}),we=Ce.sqlite;Ce.postgres;function Te(e){return{scopeType:e.textEnum(`scope_type`,{enum:[`global`,`workspace`,`session`,`external`]}).notNull().$type(),scopeKind:e.text(`scope_kind`).notNull().default(``),scopeId:e.text(`scope_id`).notNull().default(``)}}const Ee=A(`workflow_definitions`,e=>({id:e.text(`id`).primaryKey(),name:e.text(`name`).notNull(),description:e.text(`description`),root:e.jsonCol(`root`).notNull(),inputSchema:e.jsonCol(`input_schema`),configSchema:e.jsonCol(`config_schema`),outputSchema:e.jsonCol(`output_schema`),state:e.jsonCol(`state`),artifact:e.jsonCol(`artifact`),triggers:e.jsonCol(`triggers`),...Te(e),createdAt:e.epochMs(`created_at`).notNull(),updatedAt:e.epochMs(`updated_at`).notNull(),canvasLayout:e.jsonCol(`canvas_layout`),source:e.jsonCol(`source`),successFinalizerId:e.text(`success_finalizer_id`),executionHints:e.jsonCol(`execution_hints`)}),{sqlite:e=>[_e(`uniq_workflow_definitions_name_scope`).on(e.name,e.scopeType,e.scopeKind,e.scopeId),O(`idx_workflow_definitions_scope`).on(e.scopeType,e.scopeKind,e.scopeId)],postgres:e=>[ye(`uniq_workflow_definitions_name_scope`).on(e.name,e.scopeType,e.scopeKind,e.scopeId),k(`idx_workflow_definitions_scope`).on(e.scopeType,e.scopeKind,e.scopeId)]}),De=Ee.sqlite,N=A(`workflow_executions`,e=>({id:e.text(`id`).primaryKey(),workflowId:e.text(`workflow_id`).notNull(),coordinatorSessionId:e.text(`coordinator_session_id`),status:e.textEnum(`status`,{enum:[`pending`,`running`,`paused`,`finalizing`,`completed`,`failed`,`cancelled`]}).notNull(),inputs:e.jsonCol(`inputs`),error:e.text(`error`),reason:e.text(`reason`),startedAt:e.epochMs(`started_at`).notNull(),completedAt:e.epochMs(`completed_at`),externalSettlementFingerprint:e.text(`external_settlement_fingerprint`),externalRegistrationFrameId:e.text(`external_registration_frame_id`),triggerPayload:e.jsonCol(`trigger_payload`),artifactKind:e.text(`artifact_kind`),artifactId:e.text(`artifact_id`),...Te(e)}),{sqlite:e=>[O(`idx_workflow_executions_status`).on(e.status),O(`idx_workflow_executions_scope_started`).on(e.scopeType,e.scopeKind,e.scopeId,e.startedAt),O(`idx_workflow_executions_workflow_started`).on(e.workflowId,e.startedAt),O(`idx_workflow_executions_artifact`).on(e.artifactKind,e.artifactId,e.startedAt)],postgres:e=>[k(`idx_workflow_executions_status`).on(e.status),k(`idx_workflow_executions_scope_started`).on(e.scopeType,e.scopeKind,e.scopeId,e.startedAt),k(`idx_workflow_executions_workflow_started`).on(e.workflowId,e.startedAt),k(`idx_workflow_executions_artifact`).on(e.artifactKind,e.artifactId,e.startedAt)]}),Oe=N.sqlite,ke=A(`workflow_execution_frames`,e=>({frameId:e.text(`frame_id`).primaryKey(),executionId:e.text(`execution_id`).notNull().references(()=>N.columnPair(`id`),{onDelete:`cascade`}),nodeId:e.text(`node_id`).notNull(),nodeType:e.text(`node_type`).notNull().$type(),path:e.jsonCol(`path`).notNull(),parentFrameId:e.text(`parent_frame_id`),status:e.text(`status`).notNull().default(`pending`).$type(),attempt:e.int4(`attempt`).notNull().default(0),iteration:e.int4(`iteration`),branchKey:e.text(`branch_key`),output:e.jsonCol(`output`),outputPresent:e.bool(`output_present`).notNull().default(!1),error:e.text(`error`),startedAt:e.epochMs(`started_at`),completedAt:e.epochMs(`completed_at`)}),{sqlite:e=>[O(`idx_workflow_execution_frames_execution`).on(e.executionId),O(`idx_workflow_execution_frames_parent`).on(e.parentFrameId)],postgres:e=>[k(`idx_workflow_execution_frames_execution`).on(e.executionId),k(`idx_workflow_execution_frames_parent`).on(e.parentFrameId)]}),Ae=ke.sqlite,je=A(`workflow_gate_instances`,e=>({id:e.text(`id`).primaryKey(),executionId:e.text(`execution_id`).notNull().references(()=>N.columnPair(`id`),{onDelete:`cascade`}),nodeId:e.text(`node_id`).notNull(),frameId:e.text(`frame_id`).notNull(),schema:e.jsonCol(`schema`).notNull(),prompt:e.text(`prompt`),status:e.text(`status`).notNull().default(`waiting`).$type(),autoAction:e.textEnum(`auto_action`,{enum:[`approve`,`reject`]}).notNull().default(`reject`),timeoutMs:e.int4(`timeout_ms`),resumeData:e.jsonCol(`resume_data`),reason:e.text(`reason`),resumeDataPresent:e.bool(`resume_data_present`).notNull().default(!1),createdAt:e.epochMs(`created_at`).notNull(),resolvedAt:e.epochMs(`resolved_at`)}),{sqlite:e=>[O(`idx_workflow_gate_instances_execution`).on(e.executionId),O(`idx_workflow_gate_instances_frame`).on(e.frameId)],postgres:e=>[k(`idx_workflow_gate_instances_execution`).on(e.executionId),k(`idx_workflow_gate_instances_frame`).on(e.frameId)]}),Me=je.sqlite,Ne=A(`workflow_step_spans`,e=>({executionId:e.text(`execution_id`).notNull().references(()=>N.columnPair(`id`),{onDelete:`cascade`}),frameId:e.text(`frame_id`).notNull(),stepId:e.text(`step_id`).notNull(),stepType:e.text(`step_type`).notNull(),status:e.text(`status`).$type().notNull(),startedAt:e.epochMs(`started_at`),completedAt:e.epochMs(`completed_at`),durationMs:e.int4(`duration_ms`),inputTokens:e.int4(`input_tokens`),outputTokens:e.int4(`output_tokens`),estimatedCost:e.float8(`estimated_cost`),toolCallCount:e.int4(`tool_call_count`),input:e.text(`input`),output:e.text(`output`)}),{sqlite:e=>[ge({columns:[e.executionId,e.frameId]}),O(`idx_workflow_step_spans_status`).on(e.status)],postgres:e=>[ve({columns:[e.executionId,e.frameId]}),k(`idx_workflow_step_spans_status`).on(e.status)]}),Pe=Ne.sqlite,Fe=A(`workflow_execution_links`,e=>({sourceExecutionId:e.text(`source_execution_id`).notNull().references(()=>N.columnPair(`id`),{onDelete:`cascade`}),targetExecutionId:e.text(`target_execution_id`).notNull().references(()=>N.columnPair(`id`),{onDelete:`cascade`}),linkType:e.text(`link_type`).$type().notNull(),metadata:e.jsonCol(`metadata`)}),{sqlite:e=>[ge({columns:[e.sourceExecutionId,e.targetExecutionId]}),O(`idx_workflow_execution_links_target`).on(e.targetExecutionId)],postgres:e=>[ve({columns:[e.sourceExecutionId,e.targetExecutionId]}),k(`idx_workflow_execution_links_target`).on(e.targetExecutionId)]}),Ie=Fe.sqlite,Le=A(`workflow_run_contexts`,e=>({executionId:e.text(`execution_id`).primaryKey().references(()=>N.columnPair(`id`),{onDelete:`cascade`}),workflowId:e.text(`workflow_id`).notNull(),coordinatorSessionId:e.text(`coordinator_session_id`).notNull(),sourceKind:e.text(`source_kind`).notNull(),sourcePath:e.text(`source_path`),sourceFilename:e.text(`source_filename`),sourceCode:e.text(`source_code`),definitionSnapshot:e.jsonCol(`definition_snapshot`),workerManifest:e.jsonCol(`worker_manifest`).notNull(),inputs:e.jsonCol(`inputs`),config:e.jsonCol(`config`).notNull().default(be`'{}'`),triggerPayload:e.jsonCol(`trigger_payload`).notNull(),artifactRef:e.jsonCol(`artifact_ref`),executionHints:e.jsonCol(`execution_hints`),dispatchMetadata:e.jsonCol(`dispatch_metadata`),scopeType:e.textEnum(`scope_type`,{enum:[`global`,`workspace`,`session`,`external`]}).notNull().default(`global`).$type(),scopeKind:e.text(`scope_kind`).notNull().default(``),scopeId:e.text(`scope_id`).notNull().default(``),cancelSubject:e.text(`cancel_subject`).notNull(),context:e.jsonCol(`context`).notNull(),env:e.jsonCol(`env`).notNull(),createdAt:e.epochMs(`created_at`).notNull(),suspensionStrategy:e.text(`suspension_strategy`).$type(),terminalAuthority:e.text(`terminal_authority`).$type()}),{sqlite:e=>[O(`idx_run_contexts_workflow`).on(e.workflowId)],postgres:e=>[k(`idx_run_contexts_workflow`).on(e.workflowId)]}),Re=Le.sqlite,ze=A(`worklog_summaries`,e=>({executionId:e.text(`execution_id`).primaryKey().references(()=>N.columnPair(`id`),{onDelete:`cascade`}),workflowId:e.text(`workflow_id`).notNull(),workflowName:e.text(`workflow_name`),status:e.textEnum(`status`,{enum:[`pending`,`running`,`paused`,`finalizing`,`completed`,`failed`,`cancelled`]}).notNull(),startedAt:e.epochMs(`started_at`).notNull(),completedAt:e.epochMs(`completed_at`),durationMs:e.int4(`duration_ms`),totalInputTokens:e.int4(`total_input_tokens`),totalOutputTokens:e.int4(`total_output_tokens`),totalEstimatedCost:e.float8(`total_estimated_cost`),error:e.text(`error`),failedNodeId:e.text(`failed_node_id`)}),{sqlite:e=>[O(`idx_worklog_summaries_workflow_started`).on(e.workflowId,e.startedAt),O(`idx_worklog_summaries_status`).on(e.status)],postgres:e=>[k(`idx_worklog_summaries_workflow_started`).on(e.workflowId,e.startedAt),k(`idx_worklog_summaries_status`).on(e.status)]}),Be=ze.sqlite,Ve=A(`worklog_frame_entries`,e=>({frameId:e.text(`frame_id`).primaryKey(),executionId:e.text(`execution_id`).notNull().references(()=>N.columnPair(`id`),{onDelete:`cascade`}),nodeId:e.text(`node_id`).notNull(),nodeType:e.text(`node_type`).notNull().$type(),path:e.jsonCol(`path`).notNull(),status:e.textEnum(`status`,{enum:[`pending`,`running`,`waiting`,`completed`,`failed`,`skipped`,`cancelled`]}).notNull(),attempt:e.int4(`attempt`).notNull().default(0),iteration:e.int4(`iteration`),branchKey:e.text(`branch_key`),startedAt:e.epochMs(`started_at`),completedAt:e.epochMs(`completed_at`),durationMs:e.int4(`duration_ms`),inputTokens:e.int4(`input_tokens`),outputTokens:e.int4(`output_tokens`),estimatedCost:e.float8(`estimated_cost`),error:e.text(`error`)}),{sqlite:e=>[O(`idx_worklog_frame_entries_execution`).on(e.executionId)],postgres:e=>[k(`idx_worklog_frame_entries_execution`).on(e.executionId)]}),He=Ve.sqlite,Ue=A(`worklog_artifact_writes`,e=>({id:e.text(`id`).primaryKey(),executionId:e.text(`execution_id`).notNull().references(()=>N.columnPair(`id`),{onDelete:`cascade`}),frameId:e.text(`frame_id`).notNull(),nodeId:e.text(`node_id`).notNull(),artifact:e.jsonCol(`artifact`).notNull(),revision:e.text(`revision`),writtenAt:e.epochMs(`written_at`).notNull()}),{sqlite:e=>[O(`idx_worklog_artifact_writes_execution`).on(e.executionId)],postgres:e=>[k(`idx_worklog_artifact_writes_execution`).on(e.executionId)]}),We=Ue.sqlite,Ge=A(`worklog_gate_events`,e=>({id:e.text(`id`).primaryKey(),executionId:e.text(`execution_id`).notNull().references(()=>N.columnPair(`id`),{onDelete:`cascade`}),nodeId:e.text(`node_id`).notNull(),frameId:e.text(`frame_id`).notNull(),status:e.textEnum(`status`,{enum:[`waiting`,`resumed`,`rejected`,`timed-out`,`cancelled`]}).notNull().$type(),prompt:e.text(`prompt`),openedAt:e.epochMs(`opened_at`).notNull(),resolvedAt:e.epochMs(`resolved_at`),resumeData:e.jsonCol(`resume_data`)}),{sqlite:e=>[O(`idx_worklog_gate_events_execution`).on(e.executionId),O(`idx_worklog_gate_events_status`).on(e.status)],postgres:e=>[k(`idx_worklog_gate_events_execution`).on(e.executionId),k(`idx_worklog_gate_events_status`).on(e.status)]}),Ke=Ge.sqlite,qe=A(`workflow_execution_state`,e=>({executionId:e.text(`execution_id`).primaryKey().references(()=>N.columnPair(`id`),{onDelete:`cascade`}),sequence:e.int4(`sequence`).notNull().default(0),value:e.jsonCol(`value`).notNull(),updatedAt:e.epochMs(`updated_at`).notNull()})),Je=qe.sqlite,Ye=A(`workflow_execution_state_events`,e=>({executionId:e.text(`execution_id`).notNull().references(()=>N.columnPair(`id`),{onDelete:`cascade`}),sequence:e.int4(`sequence`).notNull(),patch:e.jsonCol(`patch`).notNull(),value:e.jsonCol(`value`).notNull(),createdAt:e.epochMs(`created_at`).notNull()}),{sqlite:e=>[ge({columns:[e.executionId,e.sequence]})],postgres:e=>[ve({columns:[e.executionId,e.sequence]})]}),Xe=Ye.sqlite,Ze=n.object({executionId:n.string().min(1),status:g.optional(),error:n.string().nullable().optional(),reason:n.string().nullable().optional(),completedAt:n.number().nullable().optional()}),Qe=n.enum([`completed`,`failed`,`cancelled`]),$e=te.extend({status:n.literal(`running`),startedAt:n.number().int().nonnegative()}),et=te.extend({status:Qe,startedAt:n.number().int().nonnegative(),completedAt:n.number().int().nonnegative(),durationMs:n.number().int().nonnegative()}),tt=xe(`workflow`,{schemas:{get:{request:n.object({id:n.string()}),response:n.object({workflow:re.nullable()})},set:{request:n.object({workflow:re}),response:n.object({id:n.string()})},delete:{request:n.object({id:n.string()}),response:n.object({deleted:n.boolean()})},list:{request:ce,response:n.object({workflows:n.array(re)})},getExecution:{request:n.object({executionId:n.string()}),response:n.object({execution:w.nullable()})},setExecution:{request:n.object({execution:w}),response:n.object({id:n.string()})},setExecutionStart:{request:n.object({execution:w,runContext:le,initialState:b.optional(),executionLinks:n.array(m).optional()}),response:n.object({id:n.string(),executionId:n.string()})},setExternalExecutionStart:l({request:n.object({execution:w.extend({status:n.literal(`running`)}),frame:$e.optional()}),response:n.object({executionId:n.string(),frameId:n.string().optional()})}),settleExternalExecution:l({request:n.object({executionId:n.string().min(1),status:Qe,error:n.string().min(1).optional(),reason:n.string().min(1).optional(),completedAt:n.number().int().nonnegative().optional(),frame:et.optional()}),response:n.object({success:n.boolean()})}),updateExecution:{request:Ze,response:n.object({success:n.boolean()})},pauseRunningExecution:l({request:n.object({executionId:n.string().min(1)}),response:n.object({paused:n.boolean()})}),claimFinalization:l({request:n.object({claim:T}),response:n.object({claimed:n.boolean()})}),listClaimedFinalizations:l({request:n.object({finalizerId:oe}),response:n.object({claims:n.array(T)})}),listUnpublishedFinalizations:l({request:n.object({finalizerId:oe}),response:n.object({claims:n.array(T)})}),publishFinalization:l({request:n.object({claim:T}),response:n.object({})}),acknowledgeFinalization:l({request:n.object({executionId:n.string().min(1),claimToken:n.string().min(1),settledAt:n.number().int().nonnegative()}),response:n.object({acknowledged:n.boolean()})}),failFinalization:l({request:n.object({executionId:n.string().min(1),claimToken:n.string().min(1),error:n.string().min(1),settledAt:n.number().int().nonnegative()}),response:n.object({failed:n.boolean()})}),cancelPausedExecution:{request:n.object({executionId:n.string().min(1),completedAt:n.number(),reason:n.string().optional()}),response:n.object({cancelled:n.boolean(),gates:n.array(E.extend({status:n.literal(`cancelled`)}))})},listExecutions:{request:h,response:n.object({executions:n.array(w)})},listExecutionsByArtifactRefs:{request:_,response:n.object({executionsByRef:n.record(n.string(),n.array(w))})},setFrame:{request:n.object({executionId:n.string().min(1),frame:se}),response:n.object({frameId:n.string()})},getFrame:{request:n.object({frameId:n.string().min(1)}),response:n.object({frame:se.nullable()})},listFrames:{request:n.object({executionId:n.string().min(1)}),response:n.object({frames:n.array(se)})},setGateInstance:{request:n.object({gate:E}),response:n.object({id:n.string()})},resolveWaitingGateInstance:{request:n.object({gate:E.extend({status:n.enum([`resumed`,`rejected`])})}),response:n.object({accepted:n.boolean()})},restorePausedGateResumeState:{request:n.object({execution:w.extend({status:n.literal(`paused`)}),gate:E.extend({status:n.literal(`waiting`)})}),response:n.object({executionId:n.string(),gateId:n.string()})},getGateInstance:{request:n.object({executionId:n.string().min(1),nodeId:n.string().min(1),frameId:n.string().min(1).optional()}),response:n.object({gate:E.nullable()})},listGateInstances:{request:v,response:n.object({gates:n.array(E)})},listPausedGateTimeouts:l({request:n.object({}),response:n.object({gates:n.array(E)})}),setSpan:{request:n.object({span:S}),response:n.object({id:n.string()})},listSpans:{request:n.object({executionId:n.string()}),response:n.object({spans:n.array(S)})},setExecutionLink:{request:n.object({link:m}),response:n.object({id:n.string()})},listExecutionLinks:{request:p,response:n.object({links:n.array(m)})},setRunContext:l({request:n.object({runContext:le,initialState:b.optional()}),response:n.object({executionId:n.string()})}),getRunContext:l({request:n.object({executionId:n.string().min(1)}),response:n.object({runContext:le.nullable()})}),initializeState:l({request:n.object({executionId:n.string().min(1),initialValue:b}),response:n.object({})}),getState:l({request:n.object({executionId:n.string().min(1)}),response:n.object({state:n.object({executionId:n.string().min(1),sequence:n.number().int().nonnegative(),value:b}).nullable()})}),patchState:l({request:n.object({executionId:n.string().min(1),expectedSequence:n.number().int().nonnegative(),nextValue:b}),response:n.object({executionId:n.string().min(1),sequence:n.number().int().positive(),patch:n.array(y),value:b})})},extensions:{drizzle:{workflowDefinitions:De,workflowExecutions:Oe,workflowExecutionFrames:Ae,workflowGateInstances:Me,workflowStepSpans:Pe,workflowExecutionLinks:Ie,workflowRunContexts:Re,worklogSummaries:Be,worklogFrameEntries:He,worklogArtifactWrites:We,worklogGateEvents:Ke,workflowExecutionState:Je,workflowExecutionStateEvents:Xe,workflowFinalizations:we}}}),P=tt.subjects;var nt=e(t(),1);function rt(e,t){let n=[];return it(n,``,e,t),n}function it(e,t,n,r){if(Array.isArray(n)&&Array.isArray(r)){ot(e,t,n,r);return}if(st(n)&&st(r)){at(e,t,n,r);return}ut(n,r)||e.push({op:`replace`,path:t,value:r})}function at(e,t,n,r){let i=Array.from(new Set([...Object.keys(n),...Object.keys(r)])).sort();for(let a of i){let i=ct(n,a),o=ct(r,a),s=`${t}/${lt(a)}`;if(!i&&o){e.push({op:`add`,path:s,value:r[a]});continue}if(i&&!o){e.push({op:`remove`,path:s});continue}it(e,s,n[a],r[a])}}function ot(e,t,n,r){let i=Math.min(n.length,r.length);for(let a=0;a<i;a++)it(e,`${t}/${String(a)}`,n[a],r[a]);for(let i=n.length-1;i>=r.length;i--)e.push({op:`remove`,path:`${t}/${String(i)}`});for(let i=n.length;i<r.length;i++)e.push({op:`add`,path:`${t}/${String(i)}`,value:r[i]})}function st(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function ct(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function lt(e){return e.replaceAll(`~`,`~0`).replaceAll(`/`,`~1`)}function ut(e,t){return Object.is(e,t)}const dt={stepTimeoutMs:300*1e3,stepCooldownMs:500,busAuth:{kind:`none`},platformDefaults:{cwd:process.cwd()},cancelTimeoutMs:1e4},ft=new nt.default({allErrors:!0,strict:!1}),pt=new Map,mt=new Map;function ht(e){let t=e.$id;return typeof t==`string`?t:void 0}function gt(e,t,n){let r=ht(t);return r===void 0?`workflow:${e}:${n}`:`schema-id:${r}`}function _t(e,t){try{return JSON.stringify(vt(t))}catch(t){let n=t instanceof Error?t.message:String(t);throw Error(`Workflow '${e}' state schema is invalid: ${n}`)}}function vt(e){if(Array.isArray(e))return e.map(vt);if(typeof e!=`object`||!e)return e;let t=e;return Object.fromEntries(Object.keys(t).sort().map(e=>[e,vt(t[e])]))}function yt(e,t,n){let r=mt.get(t);if(r!==void 0&&r!==n)throw Error(`Workflow '${e}' state schema reuses JSON Schema $id '${t}' with different content`);return ft.getSchema(t)}function bt(e){return e==null||e.length===0?`schema validation failed`:e.map(e=>`${e.instancePath.length>0?e.instancePath:`<root>`} ${e.message??`is invalid`}`).join(`; `)}function xt(e,t){let n=_t(e,t),r=gt(e,t,n),i=pt.get(r);if(i!==void 0)return i;let a=ht(t);if(a!==void 0){let t=yt(e,a,n);if(t!==void 0)return pt.set(r,t),t}try{let e=ft.compile(t);return pt.set(r,e),a!==void 0&&mt.set(a,n),e}catch(t){let n=t instanceof Error?t.message:String(t);throw Error(`Workflow '${e}' state schema is invalid: ${n}`)}}function St(e,t,n){if(e.state===void 0)return;let r=xt(e.id,e.state.schema);if(r(t))return;let i=n===`initial`?`initial state`:`next state`;throw Error(`Workflow '${e.id}' ${i} does not match workflow state schema: ${bt(r.errors)}`)}function Ct(e){if(e.state===void 0)return;let t=e.state.initial===void 0?{}:e.state.initial;return St(e,t,`initial`),t}function F(e){return`${e}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}function wt(e,t,n){let r=e?M(e,n):t,i=s(t),l=s(a(r)?r:s(t,r)),u,d;try{u=c(i),d=c(l)}catch{return null}let f=o(process.platform===`win32`?u.toLowerCase():u,process.platform===`win32`?d.toLowerCase():d);return f===``||!f.startsWith(`..`)&&!a(f)?d:null}function Tt(e){return e instanceof Error&&(`code`in e||`killed`in e)}function Et(e){let t=e[0];return t===void 0||t.trim()===``?null:t}function Dt(e){let{command:t,cwd:n,env:i,timeoutMs:a,signal:o}=e,s=Et(t);if(s===null)return Promise.reject(Error(`Shell step command is empty`));let c=t.slice(1);return new Promise((e,t)=>{let l=null,u=!1,d=r(s,c,{cwd:n,env:{...process.env,...i},timeout:0,maxBuffer:10*1024*1024,shell:!1},(n,r,i)=>{n?t(Object.assign(n,{stdout:r,stderr:i,aborted:u})):e({stdout:r,stderr:i})}),f=()=>{d.exitCode===null&&(d.kill(`SIGTERM`),l=setTimeout(()=>{d.exitCode===null&&d.kill(`SIGKILL`)},5e3))},p=setTimeout(()=>{f()},a);if(d.on(`close`,()=>{clearTimeout(p),l!==null&&clearTimeout(l)}),o){let e=()=>{u=!0,f()};o.aborted?e():(o.addEventListener(`abort`,e,{once:!0}),d.on(`close`,()=>o.removeEventListener(`abort`,e)))}})}async function Ot(e){let{step:t,workspaceRoot:n,expressionContext:r,signal:i}=e,a=wt(t.cwd,n,r);if(a===null)return{status:`failed`,error:`Shell step cwd '${t.cwd}' is outside workspace root '${n}'`};let o=t.command.map(e=>M(e,r));if(Et(o)===null)return{status:`failed`,error:`Shell step command is empty`};let s=Object.fromEntries(Object.entries(t.env??{}).map(([e,t])=>[e,M(t,r)])),c=t.timeoutMs??3e5;try{let{stdout:e}=await Dt({command:o,cwd:a,env:s,timeoutMs:c,signal:i});return{status:`completed`,stdout:e}}catch(e){if(!Tt(e))return{status:`failed`,error:String(e)};let t=e.aborted===!0,n=!t&&(e.killed===!0||e.signal!=null);return{status:`failed`,error:t?`Command cancelled`:n?`Command timed out after ${c}ms`:e.stderr?.trim()||e.stdout?.trim()||e.message}}}async function kt(e,t,n){if(!(await e.request(P.updateExecution,{executionId:t.id,status:n.status,error:n.error,reason:n.reason,completedAt:n.completedAt})).success)throw Error(`Workflow execution not found: ${t.id}`)}function At(e,t){return e===t||t===`completed`&&e===`finalizing`}async function jt(e,t,n){let r=e.durableLifecycleTransitions.get(t)??Promise.resolve(),i=Promise.withResolvers(),a=r.catch(()=>void 0).then(()=>i.promise);e.durableLifecycleTransitions.set(t,a),await r.catch(()=>void 0);try{return await n()}finally{i.resolve(),e.durableLifecycleTransitions.get(t)===a&&e.durableLifecycleTransitions.delete(t)}}async function I(e,t,n,r){let i,a,o=!0,s=await jt(e,t,async()=>{let s=await n(),c=Promise.withResolvers(),l=e.lifecyclePublications.get(t)??Promise.resolve();return o=!e.publishingLifecycleExecutions.has(t),a=l.catch(()=>void 0).then(async()=>{await c.promise,e.publishingLifecycleExecutions.add(t);try{await r(s)}finally{e.publishingLifecycleExecutions.delete(t)}}),e.lifecyclePublications.set(t,a),i=c.resolve,s});if(i?.(),a!==void 0){let n=a;n.then(()=>{e.lifecyclePublications.get(t)===n&&e.lifecyclePublications.delete(t)},()=>{e.lifecyclePublications.get(t)===n&&e.lifecyclePublications.delete(t)}),o&&await n}return s}async function Mt(e,t,n){if(!(await e.bus.request(t.finalizeSubject,n)).accepted){let r=`Workflow success finalizer "${t.finalizerId}" rejected transition ${n.transitionKey}`,i=Date.now(),{failed:a}=await e.bus.request(P.failFinalization,{executionId:n.executionId,claimToken:n.claimToken,error:r,settledAt:i});return}}async function Nt(e){for(let t of e.successFinalizers?.values()??[]){let{claims:n}=await e.bus.request(P.listClaimedFinalizations,{finalizerId:t.finalizerId});for(let r of n)await Mt(e,t,r);let{claims:r}=await e.bus.request(P.listUnpublishedFinalizations,{finalizerId:t.finalizerId});for(let t of r)await e.bus.request(P.publishFinalization,{claim:t})}}async function Pt(e,t,n,r){let i=e.resolveSuccessFinalizerId?.(n),a=i===void 0?void 0:e.successFinalizers?.get(i);if(i!==void 0&&a===void 0){await L(e,t,n,`Workflow success finalizer "${i}" is unavailable`);return}if(a!==void 0){let r=Date.now(),i={executionId:n,workflowId:t.workflowId,finalizerId:a.finalizerId,transitionKey:`${n}:terminal`,claimToken:crypto.randomUUID(),intent:{status:`completed`,completedAt:r},claimedAt:r};await I(e,n,async()=>(await e.bus.request(P.getExecution,{executionId:n})).execution?.status!==`running`||!(await e.bus.request(P.claimFinalization,{claim:i})).claimed?!1:(t.status=`finalizing`,e.activeExecutions.delete(n),!0),async t=>{t&&await Mt(e,a,i)});return}let o=Date.now();await I(e,n,async()=>(await e.bus.request(P.getExecution,{executionId:n})).execution?.status===`running`?(t.status=`completed`,t.completedAt=o,await kt(e.bus,t,{status:t.status,completedAt:o}),e.activeExecutions.delete(n),!0):!1,async i=>{i&&await e.bus.emit(D.execution.completed,{executionId:n,workflowId:t.workflowId,totalDuration:o-r,completedAt:o})})}async function L(e,t,n,r,i){let a=Date.now();await I(e,n,async()=>(await e.bus.request(P.getExecution,{executionId:n})).execution?.status===`running`?(t.status=`failed`,t.error=r,t.completedAt=a,await kt(e.bus,t,{status:t.status,error:r,completedAt:a}),e.activeExecutions.delete(n),!0):!1,async o=>{if(o){try{await i?.()}catch(e){console.error(`[WorkflowFinalizer] Failed to run failure pre-emit hook:`,e)}await e.bus.emit(D.execution.failed,{executionId:n,workflowId:t.workflowId,error:r,completedAt:a})}})}function Ft(e,t,n){let{activeRunnerSteps:r,bus:i}=e,a=`${t}:`;for(let[e,o]of r){if(!e.startsWith(a))continue;let r=e.slice(a.length);o.controller.abort(),i.emit(pe(o.cancelSubject),{executionId:t,stepId:r,reason:n}).catch(t=>{console.error(`[WorkflowFinalizer] Failed to emit cancellation for ${e}:`,t)})}}async function It(e,t,n){let r=await e.bus.request(P.getExecution,{executionId:t});if(r.execution==null)return;let i=r.execution.workflowId;if(i===void 0)throw Error(`Paused execution ${t} is missing stored workflowId`);let a=Date.now(),{cancelled:o,gates:s}=await e.bus.request(P.cancelPausedExecution,{executionId:t,completedAt:a,reason:n});if(o)return e.activeExecutions.delete(t),{workflowId:i,completedAt:a,gates:s}}async function Lt(e,t,n){let r=e.activeExecutions.get(t);if(!r||r.execution.status!==`running`)return It(e,t,n);let{execution:i}=r;i.status=`cancelled`,i.reason=n,i.completedAt=Date.now();try{for(let[n,r]of e.shellAbortControllers)n.startsWith(`${t}:`)&&(r.abort(),e.shellAbortControllers.delete(n));Ft(e,t,n),await kt(e.bus,i,{status:i.status,reason:n,completedAt:i.completedAt})}finally{e.activeExecutions.delete(t)}return{workflowId:i.workflowId,completedAt:i.completedAt,gates:[]}}async function Rt(e,t,n){return await I(e,t,()=>Lt(e,t,n),async r=>{if(r!==void 0){for(let n of r.gates)await e.bus.emit(D.gate.resolved,{executionId:t,stepId:n.nodeId,stepType:`gate`,frameId:n.frameId,source:`cancelled`}).catch(e=>{console.error(`[WorkflowFinalizer] Failed to emit cancelled gate resolution for ${n.frameId}:`,e)});await e.bus.emit(D.execution.cancelled,{executionId:t,workflowId:r.workflowId,reason:n,completedAt:r.completedAt})}})!==void 0}const zt=[`darwin`,`linux`,`win32`];function Bt(e){return zt.find(t=>t===e)??`linux`}function Vt(e,t){return t}function Ht(e,t){return{...t}}function Ut(e){return e.reason instanceof Error?e.reason.message:typeof e.reason==`string`&&e.reason.length>0?e.reason:ee}async function Wt(e,t,n){let r=e.activeExecutions.get(t);if(!r||r.execution.status!==`running`)return;let i=e.buildFinalizerDeps(),{execution:a}=await i.bus.request(P.getExecution,{executionId:t});a?.status===`running`&&(r.execution=a,await Rt(i,t,Ut(n))||console.error(`[WorkflowExecutor] Failed to persist runner cancellation for ${t}: execution not active`))}async function Gt(e,t){if(t.pausedAtGateId===void 0||t.pausedAtFrameId===void 0)throw Error(`Paused runner result for '${t.executionId}' is missing gate identity`);let n=e.buildFinalizerDeps();await I(n,t.executionId,async()=>{let{paused:r}=await n.bus.request(P.pauseRunningExecution,{executionId:t.executionId});if(!r){let{execution:e}=await n.bus.request(P.getExecution,{executionId:t.executionId});if(e?.status!==`paused`)return!1}let i=e.activeExecutions.get(t.executionId);return i!==void 0&&(i.execution.status=`paused`),e.activeExecutions.delete(t.executionId),r},async e=>{e&&await n.bus.emit(D.execution.paused,{executionId:t.executionId,workflowId:t.workflowId,pausedAtGateId:t.pausedAtGateId,pausedAtFrameId:t.pausedAtFrameId})})}async function Kt(e,t){let n=e.activeExecutions.get(t.executionId);if(!n||n.execution.status!==`running`)return;let r=e.buildFinalizerDeps(),{execution:i}=await r.bus.request(P.getExecution,{executionId:t.executionId});if(i?.status===`running`){if(n.execution=i,t.status===`completed`){await Pt(r,n.execution,t.executionId,n.execution.startedAt);return}if(t.status===`cancelled`){await Rt(r,t.executionId,t.reason??ee);return}if(t.status===`failed`){await L(r,n.execution,t.executionId,t.error);return}}}function qt(e,t){return{source:{kind:`path`,path:t.filePath},executionId:t.executionId,workflowId:t.workflowId,triggerPayload:t.sanitizedTriggerPayload,inputs:t.boundInputs,config:t.boundConfig,...t.artifactRef===void 0?{}:{artifactRef:t.artifactRef},...t.executionHints===void 0?{}:{executionHints:t.executionHints},scope:t.scope,busUrl:e.config.busUrl,busAuth:e.config.busAuth,context:e.resolveWorkflowContext(t.workspaceRoot),env:e.config.platformDefaults.env??{},coordinatorSessionId:t.coordinatorSessionId,cancelSubject:`workflow.${t.executionId}.cancel`,suspensionStrategy:`wait-in-process`,terminalAuthority:`authority`}}function Jt(e,t){let{executionId:n}=t,{workflowRunner:r,workflowAbortControllers:i,executionTasks:a,activeExecutions:o}=e,s=new AbortController;i.set(n,s);let c=qt(e,t);return Promise.resolve().then(()=>r.run(c,s.signal)).then(async t=>{if(t.status===`paused`){await Gt(e,t);return}await Kt(e,t)}).catch(async t=>{if(s.signal.aborted){await Wt(e,n,s.signal).catch(e=>{console.error(`[WorkflowExecutor] Failed to persist file runner cancellation for ${n}:`,e)});return}let r=o.get(n);if(r){let i=t instanceof Error?t.message:String(t);await L(e.buildFinalizerDeps(),r.execution,n,i).catch(e=>{console.error(`[WorkflowExecutor] Failed to persist file runner boot failure for ${n}:`,e)})}}).finally(()=>{i.delete(n),a.delete(n),o.delete(n)})}function Yt(e,t){let{config:n}=e,r=t.definitionSnapshot??(t.source.kind===`definition`?t.workflow:void 0);return{source:t.source,...r===void 0?{}:{definition:r},executionId:t.executionId,workflowId:t.workflowId,triggerPayload:t.sanitizedTriggerPayload,inputs:t.boundInputs,config:t.boundConfig,...t.artifactRef===void 0?{}:{artifactRef:t.artifactRef},...t.executionHints===void 0?{}:{executionHints:t.executionHints},scope:t.scope,busUrl:n.busUrl,busAuth:n.busAuth,context:e.resolveWorkflowContext(t.workspaceRoot),env:n.platformDefaults.env??{},coordinatorSessionId:t.coordinatorSessionId,cancelSubject:`workflow.${t.executionId}.cancel`,suspensionStrategy:t.suspensionStrategy??`wait-in-process`,terminalAuthority:t.terminalAuthority??`authority`}}function Xt(e,t){let{executionId:n}=t,{workflowRunner:r,workflowAbortControllers:i,executionTasks:a,activeExecutions:o}=e,s=new AbortController;i.set(n,s);let c=Yt(e,t),l=t.dispatchMetadata===void 0?void 0:{dispatchMetadata:t.dispatchMetadata};return Promise.resolve().then(()=>r.run(c,s.signal,void 0,l)).then(async t=>{if(t.status===`paused`){await Gt(e,t);return}await Kt(e,t)}).catch(async t=>{if(s.signal.aborted){await Wt(e,n,s.signal).catch(e=>{console.error(`[WorkflowExecutor] Failed to persist runner cancellation for ${n}:`,e)});return}let r=o.get(n);if(r){let i=t instanceof Error?t.message:String(t);await L(e.buildFinalizerDeps(),r.execution,n,i).catch(e=>{console.error(`[WorkflowExecutor] Failed to persist runner boot failure for ${n}:`,e)})}}).finally(()=>{i.delete(n),a.delete(n),o.delete(n)})}function Zt(e,t,n={}){let r=Qt(e,n);return{executionId:e.executionId,workflowId:e.workflowId,workflow:t,...e.definitionSnapshot===void 0?{}:{definitionSnapshot:e.definitionSnapshot},source:e.source,coordinatorSessionId:e.coordinatorSessionId,sanitizedTriggerPayload:e.triggerPayload,boundInputs:e.inputs,boundConfig:e.config??{},...e.artifactRef===void 0?{}:{artifactRef:e.artifactRef},...e.executionHints===void 0?{}:{executionHints:e.executionHints},scope:e.scope,workspaceRoot:e.context.repoPath,suspensionStrategy:e.suspensionStrategy,terminalAuthority:e.terminalAuthority??`authority`,...r===void 0?{}:{dispatchMetadata:r}}}function Qt(e,t){return t.resume===!0?{...e.dispatchMetadata,resume:!0}:e.dispatchMetadata}const $t=/(?:^|[_-])(authorization|token|cookie|password|set[_-]?cookie|api[_-]?key|secret|credential|private[_-]?key|api[_-]?secret)(?:$|[_-])/i;function en(e){if(!e)return;let t={remainingBytes:65536},n={},r=Object.entries(e).slice(0,100);for(let[e,i]of r){if(t.remainingBytes<=0)break;let r=tn(e,i,0,t);r!==void 0&&(n[e]=r)}return Object.keys(n).length>0?n:void 0}function tn(e,t,n,r){if(!(r.remainingBytes<=0||n>6)&&(r.remainingBytes-=e.length,!(r.remainingBytes<=0))){if($t.test(e))return r.remainingBytes-=10,`[REDACTED]`;if(t===null)return r.remainingBytes-=4,null;if(typeof t==`string`){let e=t.slice(0,2e3);return r.remainingBytes-=e.length,e}if(typeof t==`number`||typeof t==`boolean`)return r.remainingBytes-=String(t).length,t;if(Array.isArray(t)){let i=[];for(let a of t.slice(0,100)){if(r.remainingBytes<=0)break;let t=tn(e,a,n+1,r);t!==void 0&&i.push(t)}return i}if(typeof t==`object`){let e={},i=Object.entries(t).slice(0,100);for(let[t,a]of i){if(r.remainingBytes<=0)break;let i=tn(t,a,n+1,r);i!==void 0&&(e[t]=i)}return e}}}function nn(e){return(e?.requirements?.capabilities??[]).length>0}function rn(e,t,n){let r=t?.requirements?.capabilities??[];if(nn(t))return{run:(t,i)=>e.request(ne.dispatch,{config:t,requirements:{customCapabilities:r},...n===void 0?{}:{metadata:n}},{signal:i})}}function an(e,t){let n=rn(e.bus,t.executionHints,t.dispatchMetadata);return n===void 0?e.workflowRunner===void 0?e.runExecution(t.executionId).finally(()=>{e.executionTasks.delete(t.executionId)}):Xt(e.buildRunnerTaskDeps(e.workflowRunner),t):Xt(e.buildRunnerTaskDeps(n),t)}async function on(e,t,n,r){let i=Ct(r);await e.request(P.setExecutionStart,{execution:t,runContext:n,initialState:i})}async function sn(e,t){try{await e.emit(D.execution.started,t)}catch(e){console.error(`[WorkflowExecutor] execution.started listener failed:`,e)}}async function cn(e,t){await e.request(x.close,{sessionId:t}).catch(e=>{console.error(`[WorkflowExecutor] Failed to close coordinator session "${t}" after launch failure:`,e)})}function ln(e,t,n,r,i,a,o,s,c){let l={id:t,workflowId:n.id,coordinatorSessionId:r,status:`running`,inputs:i,config:a,startedAt:Date.now(),triggerPayload:o,...c.artifactRef===void 0?{}:{artifactRef:c.artifactRef},scope:s};return e.set(t,{execution:l,workflow:n,runContext:c,runtimeHandlers:new Map,runtimeLoopGates:new Map}),l}async function un(e,t,n,r,i){await e.request(P.setExecutionStart,{execution:t,runContext:n,...r===void 0?{}:{initialState:r},...i!==void 0&&i.length>0?{executionLinks:[...i]}:{}})}function dn(e,t){let n=e?.source;if(n===void 0)return;let r=fe.parse(n);return r.kind===`path`&&!a(r.path)?{...r,path:s(t,r.path)}:r}function fn(e,t,n){return dn(t,n)??{kind:`definition`,workflowId:e}}function pn(e,t,n,r){if(!(t.kind===`definition`||e.workflowRunner!==void 0||nn(n)))throw new ie(ae.NOT_EXECUTABLE,`Workflow source execution '${r}' requires a workflow runner or WorkerNode capability requirements.`)}async function mn(e,t,n,r){return e.set(t,n),await r,t}async function hn(e,t){let{workflow:n}=await e.request(P.get,{id:t});if(!n)throw Error(`Workflow not found: ${t}`);return n}function gn(e,t){if(e===void 0&&t===void 0)return;let n=[...new Set([...e?.capabilities??[],...t?.capabilities??[]])];return{...e,...t,...n.length>0&&{capabilities:n}}}function _n(e,t){if(e===void 0&&t===void 0)return;let n=gn(e?.requirements,t?.requirements),r=e?.providers!==void 0||t?.providers!==void 0?{...e?.providers,...t?.providers}:void 0;return{...e,...t,...n!==void 0&&{requirements:n},...r!==void 0&&{providers:r}}}async function vn(e,t,n,r){let{sessionId:i}=await e.request(x.create,{parentSessionId:t,branchKind:`coordinator`,title:`Workflow: ${n}`,targetWorkingDirectory:r});return i}async function yn(e,t,n={}){let r=await hn(e.bus,t);return bn(e,t,{...n,workflow:r})}async function bn(e,t,n){let{bus:r,activeExecutions:i,executionTasks:a}=e,{workflow:o,parentSessionId:s,triggerPayload:c,artifactRef:l,executionHints:u,scopeOverride:d}=n,f=F(`wfx`),p=en(c),m=Vt(o,n.input===void 0?{}:n.input),h=Ht(o,n.config??{}),g=d??o.scope,_=_n(o.executionHints,u),v=await e.resolveExecutionWorkspaceRoot(s),y=n.executionSource??fn(t,_,v),b=n.definitionSnapshot??(y.kind===`definition`?o:void 0);pn(e,y,_,t);let x=await vn(r,s,o.name,v),S=!1;try{let s=e.buildRunContext({executionId:f,workflowId:t,coordinatorSessionId:x,source:y,...b===void 0?{}:{definitionSnapshot:b},inputs:m,config:h,scope:g,triggerPayload:p??{},...l===void 0?{}:{artifactRef:l},..._===void 0?{}:{executionHints:_},workspaceRoot:v}),c=ln(i,f,o,x,m,h,p,g,s);await un(r,c,s,y.kind===`definition`?Ct(o):void 0,n.executionLinks?.(f));let u=c.startedAt,d=sn(r,{executionId:f,workflowId:t,coordinatorSessionId:x,startedAt:u,...l===void 0?{}:{artifactRef:l}}),C=an(e,{executionId:f,workflowId:t,workflow:o,...b===void 0?{}:{definitionSnapshot:b},source:y,coordinatorSessionId:x,sanitizedTriggerPayload:p??{},boundInputs:m,boundConfig:h,scope:g,...l===void 0?{}:{artifactRef:l},..._===void 0?{}:{executionHints:_},workspaceRoot:v,suspensionStrategy:s.suspensionStrategy});return S=!0,mn(a,f,C,d)}catch(e){throw S||(i.delete(f),a.delete(f),await cn(r,x)),e}}function xn(e,t,n,r,i){e.set(t.id,{execution:t,workflow:{id:t.workflowId,name:n,scope:r,root:{id:`${t.workflowId}-root`,type:`sequence`,nodes:[]}},runContext:i,runtimeHandlers:new Map,runtimeLoopGates:new Map})}async function Sn(e,t,n,r){let{sessionId:i}=await e.request(x.create,{...t===void 0?{}:{parentSessionId:t},branchKind:`coordinator`,title:`Workflow: ${n}`,targetWorkingDirectory:r});return i}async function Cn(e,t,n={}){let{bus:r,activeExecutions:i,executionTasks:a}=e,{artifactRef:o,executionHints:s,parentSessionId:c,triggerPayload:l,scopeOverride:u}=n,d=F(`wfx`),f=en(l),p=n.input===void 0?{}:n.input,m=n.config??{},h=u??{type:`global`},g=await e.resolveExecutionWorkspaceRoot(c),_=await Sn(r,c,t,g),v=d,y={id:d,workflowId:v,coordinatorSessionId:_,status:`running`,inputs:p,config:m,startedAt:Date.now(),triggerPayload:f,...o===void 0?{}:{artifactRef:o},scope:h},b=!1;try{let{workflowRunner:c}=e;if(c===void 0)throw Error(`[WorkflowExecutor] startFileExecution called without a workflow runner`);let l=e.buildRunContext({executionId:d,workflowId:v,coordinatorSessionId:_,source:{kind:`path`,path:t},inputs:p,config:m,scope:h,triggerPayload:f??{},...o===void 0?{}:{artifactRef:o},...s===void 0?{}:{executionHints:s},workspaceRoot:g});await un(r,y,l,void 0,n.executionLinks?.(d)),xn(i,y,t,h,l);let u=sn(r,{executionId:d,workflowId:v,coordinatorSessionId:_,startedAt:y.startedAt,...o===void 0?{}:{artifactRef:o}}),x=Jt(e.buildRunnerTaskDeps(c),{executionId:d,workflowId:v,filePath:t,coordinatorSessionId:_,sanitizedTriggerPayload:f??{},boundInputs:p,boundConfig:m,...o===void 0?{}:{artifactRef:o},...s===void 0?{}:{executionHints:s},scope:h,workspaceRoot:g});return b=!0,mn(a,d,x,u)}catch(e){throw b||(i.delete(d),a.delete(d),await cn(r,_)),e}}function wn(e){let t={};for(let[n,r]of Object.entries(e))r.status===`completed`?t[n]={status:`completed`,output:r.output}:r.status===`skipped`&&(t[n]={status:`skipped`});return t}function R(e){let t={...e,input:e.inputs,steps:e.frames};return{...t,ctx:t}}function Tn(){return{context:{repoPath:process.cwd(),makaioHome:process.env.MAKAIO_HOME??`${Se.homedir()}/.makaio`,os:process.platform===`win32`?`win32`:process.platform===`darwin`?`darwin`:`linux`,arch:process.arch},env:{}}}function En(e){return{...e,path:[...e.path]}}function Dn(e){if(e===`station`||e===`delegate-agent`||e===`delegate-role`||e===`gate`)return e}function On(e,t){let n=Dn(t.nodeType);if(n===void 0||t.status!==`running`&&t.status!==`completed`&&t.status!==`failed`&&t.status!==`skipped`)return;let r=t.startedAt!==void 0&&t.completedAt!==void 0?Math.max(0,t.completedAt-t.startedAt):void 0;return{executionId:e,frameId:t.frameId,stepId:t.nodeId,stepType:n,status:t.status,...t.startedAt===void 0?{}:{startedAt:t.startedAt},...t.completedAt===void 0?{}:{completedAt:t.completedAt},...r===void 0?{}:{durationMs:r},...t.output===void 0?{}:{output:JSON.stringify(t.output)}}}var kn=class e{executionId;workflowId;definition;execution;runtimeHandlers;bus;signal;frameRegistry;framePersistenceTasks=new Map;artifactBinding;constructor(e,t,n,r,i,a,o,s,c,l=Tn(),u={}){this.executionId=e,this.workflowId=t,this.definition=n,this.execution=r,this.runtimeHandlers=i,this.bus=a,this.signal=o,this.frameRegistry=s??new Map,this.artifactBinding=c,this.platformContext=l.context,this.env=l.env,this.suspensionStrategy=u.suspensionStrategy??`wait-in-process`,this.resumeFrames=u.resumeFrames,this.runtimeLoopGates=u.runtimeLoopGates??new Map}platformContext;env;suspensionStrategy;resumeFrames;runtimeLoopGates;withSignal(t){return new e(this.executionId,this.workflowId,this.definition,this.execution,this.runtimeHandlers,this.bus,t,this.frameRegistry,this.artifactBinding,{context:this.platformContext,env:this.env},{suspensionStrategy:this.suspensionStrategy,resumeFrames:this.resumeFrames,runtimeLoopGates:this.runtimeLoopGates})}buildExpressionContext(){return{inputs:this.execution.inputs,config:this.execution.config??{},trigger:this.execution.triggerPayload??{},frames:{},previousSteps:{}}}createFrame(e){let t=F(`frm`),n=[...e.path,t],r={frameId:t,nodeId:e.nodeId,nodeType:e.nodeType,path:n,parentFrameId:e.parentFrameId,status:`pending`,attempt:0,iteration:e.iteration,branchKey:e.branchKey};return this.frameRegistry.set(t,r),this.persistFrame(r).catch(()=>void 0),r}async persistFrame(e,t={}){let n=t.requireFrameStorage===!0||this.suspensionStrategy!==`wait-in-process`,r=En(e),i=On(this.executionId,r),a=(this.framePersistenceTasks.get(e.frameId)??Promise.resolve()).catch(()=>void 0).then(async()=>{n?await this.bus.request(P.setFrame,{executionId:this.executionId,frame:r}):await this.bus.requestOptional(P.setFrame,{executionId:this.executionId,frame:r}),i!==void 0&&await this.bus.requestOptional(P.setSpan,{span:i})}).catch(t=>{if(n)throw t;console.warn(`[RuntimeContext] Failed to persist frame ${e.frameId}:`,t)});this.framePersistenceTasks.set(e.frameId,a);try{await a}finally{this.framePersistenceTasks.get(e.frameId)===a&&this.framePersistenceTasks.delete(e.frameId)}}async updateFrame(e,t,n={}){let r=this.frameRegistry.get(e);if(!r)throw Error(`Frame not found: ${e}`);Object.assign(r,t),await this.persistFrame(r,n)}getFrame(e){return this.frameRegistry.get(e)}getFramesByNodeId(e){let t=[];for(let n of this.frameRegistry.values())n.nodeId===e&&t.push(n);return t.sort((e,t)=>(e.startedAt??0)-(t.startedAt??0))}async emitFrameStarted(e){try{await this.bus.emit(D.frame.started,{executionId:this.executionId,frameId:e.frameId,nodeId:e.nodeId,nodeType:e.nodeType,path:e.path,parentFrameId:e.parentFrameId,startedAt:e.startedAt})}catch(t){console.error(`[RuntimeContext] frame.started observer failed for ${e.frameId}:`,t)}}async emitFrameCompleted(e,t){try{await this.bus.emit(D.frame.completed,{executionId:this.executionId,frameId:e.frameId,nodeId:e.nodeId,output:e.output,duration:t,completedAt:e.completedAt})}catch(t){console.error(`[RuntimeContext] frame.completed observer failed for ${e.frameId}:`,t)}}async emitFrameFailed(e,t,n){try{await this.bus.emit(D.frame.failed,{executionId:this.executionId,frameId:e.frameId,nodeId:e.nodeId,error:t,duration:n,completedAt:e.completedAt})}catch(t){console.error(`[RuntimeContext] frame.failed observer failed for ${e.frameId}:`,t)}}};function An(e){return{kind:`workflow-execution`,id:e,displayName:`Workflow Engine`}}function jn(e,t,n){return{inputs:n.inputs,config:n.config??{},trigger:n.triggerPayload,scope:n.scope,context:n.context,env:n.env,execution:{id:t.id,workflowId:t.workflowId,scope:t.scope},workflow:{id:e.id,name:e.name,scope:e.scope}}}function Mn(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Nn(e){if(e!=null){if(Mn(e)&&typeof e.kind==`string`&&typeof e.id==`string`)return{kind:e.kind,id:e.id};throw Error(`Artifact resolve expression must return an object with string kind and id fields.`)}}function Pn(e){if(e!==void 0){if(Mn(e))return e;throw Error(`Artifact create expression must return an object.`)}}async function Fn(e){let{bindingOptions:t,binding:n,existingArtifactRef:r,executionId:i,scope:a,initialData:o,bus:s}=e,c=null;if(r!==void 0){let e=await s.request(f.query,{kind:r.kind,ids:[r.id],currentOnly:!0});if(e.artifacts.length>0)c=e.artifacts[0];else return}else c=(await s.request(f.create,{kind:n.kind,schemaVersion:n.schemaVersion,scope:a??n.scope,data:o??{},relations:[],actor:An(i)})).artifact;return{current:c,schemaVersion:n.schemaVersion,statusPath:t.statusPath,zodSchema:t.schema}}async function In(e){let{definition:t,execution:n,runContext:r,zodSchema:i,bus:a}=e,o=t.artifact;if(o===void 0)return;let s=jn(t,n,r),c=r.artifactRef??(o.resolve===void 0?void 0:Nn(j(o.resolve,s))),l=c===void 0&&o.create!==void 0?Pn(j(o.create,s)):void 0,u=await Fn({bindingOptions:{kind:o.kind,schemaVersion:o.schemaVersion,scope:o.scope,...o.resolve===void 0?{}:{resolve:o.resolve},...o.create===void 0?{}:{create:o.create},...o.statusPath===void 0?{}:{statusPath:o.statusPath},...i===void 0?{}:{schema:i}},binding:o,existingArtifactRef:c,executionId:n.id,scope:o.scope,initialData:l,bus:a});if(u===void 0)throw Error(`Workflow artifact binding could not be resolved for the configured artifact reference.`);return u}const Ln=new WeakMap;function Rn(e,t){let n=(Ln.get(e)??Promise.resolve()).catch(()=>void 0).then(t);return Ln.set(e,n.then(()=>void 0,()=>void 0)),n}function zn(e,t){switch(t.operation){case`set`:return t.data;case`merge`:return{...e,...t.data};case`append`:{let n={...e};for(let[r,i]of Object.entries(t.data)){let t=e[r];Array.isArray(t)&&Array.isArray(i)?n[r]=[...t,...i]:n[r]=i}return n}}}function Bn(e,t,n){let[r,...i]=t;if(i.length===0)return{...e,[r]:n};let a=e[r]!==null&&typeof e[r]==`object`&&!Array.isArray(e[r])?e[r]:{};return{...e,[r]:Bn(a,i,n)}}function Vn(e,t,n){return Bn(e,t.startsWith(`/`)?t.slice(1).split(`/`):t.split(`.`),n)}function Hn(e,t,n){if(n===`set`||n===`functional`)return[];let r=[];for(let n of Object.keys(t))e[n]!==t[n]&&r.push(`/${n}`);return r}async function Un(e,t){if(typeof t==`function`)return{nextData:await t(Object.freeze({...e})),operationLabel:`functional`,changedPaths:[]};let n=zn(e,t),r=Hn(e,n,t.operation);return{nextData:n,operationLabel:t.operation,changedPaths:r}}function Wn(e){let{executionId:t,frameId:n,bindingState:r,bus:i}=e,a=Object.freeze({...r.current.data}),o=async e=>Rn(r,async()=>{let a=r.current,{nextData:o,operationLabel:s,changedPaths:c}=await Un(a.data,e);if(r.zodSchema!==void 0){let e=r.zodSchema.safeParse(o);if(!e.success)throw Error(`Artifact data validation failed: ${e.error.message}`)}let l=await i.request(f.revise,{previous:{refClass:`artifact`,kind:a.kind,id:a.id,revision:a.revision},revision:{kind:a.kind,schemaVersion:r.schemaVersion,scope:a.scope,data:o,relations:a.relations,actor:An(t)}});r.current=l.artifact;let u=l.artifact.revision;return i.emit(de.artifact.updated,{executionId:t,frameId:n,artifactRef:{kind:l.artifact.kind,id:l.artifact.id},paths:c,operation:s,revision:u}).catch(e=>{console.error(`[ArtifactContext] Failed to emit artifact.updated event:`,e)}),u});return{data:a,updateArtifact:o,updateStatus:async e=>{if(r.statusPath===void 0)throw Error(`updateStatus() called but no statusPath is configured on the artifact binding. Set statusPath in the .artifact() builder call to use updateStatus().`);let t=r.statusPath;return o(n=>Vn(n,t,e))}}}function Gn(e,t){return{async get(){return(await t.request(D.state.get,{executionId:e})).value},async update(n){let r=await t.request(D.state.get,{executionId:e}),i=structuredClone(r.value),a=await n(i),o=a===void 0?i:a,s=rt(r.value,o);return(await t.request(D.state.patch,{executionId:e,expectedSequence:r.sequence,patch:s,nextValue:o})).value}}}async function Kn(e,t,n){if(t.signal.aborted)return{status:`cancelled`};let r=await t.bus.requestOptional(D.resolveRole,{roleId:e.roleId});if(!r.handled)return{status:`failed`,error:e.unresolvedRoleError};let i=M(e.prompt,R(n)),a=e.completion===void 0?r.data:{...r.data,completion:e.completion};return qn({...e,task:i,resolvedConfig:a},t)}async function qn(e,t){if(t.signal.aborted)return{status:`cancelled`};let n=performance.now(),r=await t.bus.requestOptional(C.spawn,{parentSessionId:t.execution.coordinatorSessionId??t.executionId,depth:1,config:tr(e.task,e.resolvedConfig,e.outputSchema)});if(!r.handled)return{status:`failed`,error:e.unavailableRuntimeError};let i=await Zn(e,t,r.data.subagentId,{attempts:5}),a=await nr(e,t,r.data.subagentId);if(a===`aborted`)return{status:`cancelled`};if(i||await Zn(e,t,r.data.subagentId,{attempts:1}),!a.handled)return{status:`failed`,error:e.unavailableAwaitError};if(t.signal.aborted||a.data.status===`cancelled`)return{status:`cancelled`};if(a.data.status===`completed`){let r=a.data.result??null;try{return{status:`completed`,output:await Jn({...e,toolObservations:a.data.toolObservations},t,r,Xn(n))}}catch(e){if(t.signal.aborted)return{status:`cancelled`};throw e}}return{status:`failed`,error:`${e.nodeLabel} '${e.nodeId}' subagent ${a.data.status}: ${a.data.error??`no result`}`}}async function Jn(e,t,n,r=0){if(e.resultFinalizerId===void 0)return n;if(e.frameId===void 0||e.delegateNodeType===void 0)throw Error(`Delegate result finalizer '${e.resultFinalizerId}' requires frame and delegate node identity`);let{subjects:i}=me(e.resultFinalizerId);return(await t.bus.request(i.finalize,{executionId:t.executionId,workflowId:t.workflowId,frameId:e.frameId,nodeId:e.nodeId,nodeType:e.delegateNodeType,rawResult:n,toolObservations:[...e.toolObservations??[]],...e.resolvedConfig===void 0?{}:{economics:Yn(e.resolvedConfig,r)}},{signal:t.signal})).output}function Yn(e,t){let n=e.providerContext?.state===`resolved`?e.providerContext:void 0,r=e.providerConfigId??n?.providerConfigId;return{durationMs:t,binding:{adapterName:e.adapterName,...r===void 0?{}:{providerConfigId:r},...n===void 0?{}:{providerDefinitionId:n.definitionId},...e.model===void 0?{}:{model:e.model},...n===void 0?{}:{auth:{mode:n.auth.mode,owner:n.auth.method.owner,methodId:n.auth.method.methodId}}}}}function Xn(e){let t=performance.now()-e;return!Number.isFinite(t)||t<=0?0:Math.min(2**53-1,Math.round(t))}async function Zn(e,t,n,r){if(e.frameId===void 0)return!0;try{let i=await Qn(t,n,r.attempts);return i===void 0?!1:(await t.bus.emit(D.frame.sessionLinked,{executionId:t.executionId,frameId:e.frameId,sessionId:i}),!0)}catch(t){return console.warn(`[workflow-engine] Failed to emit frame.sessionLinked for frame '${e.frameId}' and subagent '${n}'`,t),!1}}async function Qn(e,t,n){for(let r=0;r<n;r+=1){if(e.signal?.aborted)return;let i=await $n(e,t);if(i===void 0||!i.handled)return;if(i.data.childSessionId!==void 0)return i.data.childSessionId;if(r<n-1&&!await er(e.signal,20))return}}async function $n(e,t){try{return await e.bus.requestOptional(C.getStatus,{subagentId:t},{timeout:25,signal:e.signal})}catch{return}}function er(e,t){return e.aborted?Promise.resolve(!1):new Promise(n=>{let r,i=t=>{r!==void 0&&(clearTimeout(r),r=void 0),e.removeEventListener(`abort`,a),n(t)},a=()=>i(!1);r=setTimeout(()=>i(!0),t),e.addEventListener(`abort`,a,{once:!0}),e.aborted&&i(!1)})}function tr(e,t,n){return{task:e,adapterName:t.adapterName,...t.providerConfigId===void 0?{}:{providerConfigId:t.providerConfigId},...t.model===void 0?{}:{model:t.model},...t.reasoningEffort===void 0?{}:{reasoningEffort:t.reasoningEffort},...t.harnessId===void 0?{}:{harnessId:t.harnessId},...t.systemPrompt===void 0?{}:{systemPrompt:t.systemPrompt},...t.contextMode===void 0?{}:{contextMode:t.contextMode},...t.providerContext===void 0?{}:{providerContext:t.providerContext},...t.adapterConfig===void 0?{}:{adapterConfig:t.adapterConfig},...t.tools===void 0?{}:{tools:t.tools},...t.disallowedTools===void 0?{}:{disallowedTools:t.disallowedTools},...t.allowedDirectories===void 0?{}:{allowedDirectories:t.allowedDirectories},...t.completion===void 0?{}:{completion:t.completion},...n===void 0?{}:{responseSchema:n}}}async function nr(e,t,n){if(t.signal.aborted)return await rr(e,t,n),`aborted`;let r=t.bus.requestOptional(C.await,{subagentId:n,...e.timeoutMs===void 0?{}:{timeoutMs:e.timeoutMs}},{timeout:0});if(t.signal.aborted)return await rr(e,t,n),`aborted`;let i,a=new Promise(e=>{i=()=>e(`aborted`),t.signal.addEventListener(`abort`,i,{once:!0})}),o=await Promise.race([r,a]);return i!==void 0&&t.signal.removeEventListener(`abort`,i),o===`aborted`&&await rr(e,t,n),o}async function rr(e,t,n){try{await t.bus.requestOptional(C.kill,{subagentId:n,reason:`Workflow execution '${t.executionId}' cancelled ${e.cancellationLabel} '${e.nodeId}'`})}catch(t){console.warn(`[workflow-engine] Best-effort subagent kill failed for '${n}' (${e.cancellationLabel} '${e.nodeId}')`,t)}}async function ir(e,t,n,r){if(t.signal.aborted)return{status:`cancelled`};let i=wn(n.frames),a=t.runtimeHandlers.get(e.id);if(a===void 0)return ar(e,t,n,r);let o=t.artifactBinding!==void 0&&r!==void 0?Wn({executionId:t.executionId,frameId:r,bindingState:t.artifactBinding,bus:t.bus}):void 0,s=t.definition.state===void 0?void 0:Gn(t.executionId,t.bus);async function c(n){if(r===void 0){console.warn(`[station-node] updateProgress called without frameId for node '${e.id}'; skipping emit`);return}let i=ue[`execution.progress`].parse({executionId:t.executionId,workflowId:t.workflowId,frameId:r,nodeId:e.id,progress:n,emittedAt:Date.now()});try{await t.bus.emit(D.execution.progress,i)}catch(t){console.error(`[station-node] execution.progress observer failed for ${e.id}:`,t)}}let l;try{l=await a({...t.platformContext,env:t.env,executionId:t.executionId,workflowId:t.workflowId,inputs:t.execution.inputs,config:t.execution.config??{},trigger:t.execution.triggerPayload??{},previousSteps:i,...n.item!==void 0&&{item:n.item},...n.index!==void 0&&{index:n.index},...n.previous!==void 0&&{previous:n.previous},signal:t.signal,...o!==void 0&&{artifact:o},...s!==void 0&&{state:s},bus:t.bus,updateProgress:c})}catch(e){return{status:`failed`,error:e instanceof Error?e.message:String(e)}}return{status:`completed`,output:l}}async function ar(e,t,n,r){if(e.role===void 0)return{status:`failed`,error:`No handler registered for station node '${e.id}'`};let i=e.outputSchema===void 0?void 0:{schema:e.outputSchema};return Kn({nodeId:e.id,nodeLabel:`Station node`,roleId:e.role,prompt:e.prompt,...i===void 0?{}:{outputSchema:i},...e.timeoutMs===void 0?{}:{timeoutMs:e.timeoutMs},...e.completion===void 0?{}:{completion:e.completion},unresolvedRoleError:`No runtime handler registered for station node '${e.id}', and role '${e.role}' could not be resolved`,unavailableRuntimeError:`Subagent runtime is not available for station node '${e.id}'`,unavailableAwaitError:`Subagent runtime cannot await station node '${e.id}'`,cancellationLabel:`station`,...r===void 0?{}:{frameId:r}},t,n)}function or(e,t){return t===void 0?e:{...e,tools:[...t],disallowedTools:void 0}}function sr(e,t){return or({...t,...e.completion===void 0?{}:{completion:e.completion}},e.allowedTools)}function cr(e,t){return or({...t,completion:e.completion??t.completion??`tool`},e.allowedTools)}function lr(e){return e.completion===`turn`&&[e.harnessId,e.contextMode,e.adapterConfig,e.tools,e.disallowedTools,e.allowedDirectories].every(e=>e===void 0)}async function ur(e,t,n,r){if(t.signal.aborted)return{status:`cancelled`};let i=await t.bus.requestOptional(D.resolveAgent,{agentId:e.agentId});if(!i.handled)return{status:`failed`,error:`Agent '${e.agentId}' could not be resolved for delegate-agent node '${e.id}'`};if(t.signal.aborted)return{status:`cancelled`};let a=Cr(e,n);if(a.status===`failed`)return a;let o=e.outputSchema===void 0?void 0:{schema:e.outputSchema},s=cr(e,i.data);return qn({nodeId:e.id,nodeLabel:`Delegate-agent node`,task:a.task,resolvedConfig:s,...o===void 0?{}:{outputSchema:o},unavailableRuntimeError:`Subagent runtime is not available for delegate-agent node '${e.id}'`,unavailableAwaitError:`Subagent runtime cannot await delegate-agent node '${e.id}'`,cancellationLabel:`delegate-agent`,...r===void 0?{}:{frameId:r},...e.resultFinalizerId===void 0?{}:{resultFinalizerId:e.resultFinalizerId},delegateNodeType:`delegate-agent`},t)}async function dr(e,t,n,r){if(t.signal.aborted)return{status:`cancelled`};let i=await t.bus.requestOptional(D.resolveRole,{roleId:e.role});if(!i.handled)return{status:`failed`,error:`Role '${e.role}' could not be resolved for delegate-role node '${e.id}'`};let a=e.outputSchema===void 0?void 0:{schema:e.outputSchema},o=M(e.prompt,R(n)),s=sr(e,i.data),c={node:e,task:o,resolvedRole:s,...a===void 0?{}:{outputSchema:a},...r===void 0?{}:{frameId:r}};return lr(s)?fr(c,t):qn({nodeId:e.id,nodeLabel:`Delegate-role node`,task:o,resolvedConfig:s,...a===void 0?{}:{outputSchema:a},...e.timeoutMs===void 0?{}:{timeoutMs:e.timeoutMs},unavailableRuntimeError:`Subagent runtime is not available for delegate-role node '${e.id}'`,unavailableAwaitError:`Subagent runtime cannot await delegate-role node '${e.id}'`,cancellationLabel:`delegate-role`,...r===void 0?{}:{frameId:r},...e.resultFinalizerId===void 0?{}:{resultFinalizerId:e.resultFinalizerId},delegateNodeType:`delegate-role`},t)}async function fr(e,t){let{node:n}=e,r=n.timeoutMs??3e5,i,a=Sr(t.signal);try{let n=await pr(e,t,await mr(t));return`status`in n?n:(i=n.sessionId,t.signal.aborted?{status:`cancelled`}:await hr(e,t,{abortLink:a,childSessionId:i,timeoutMs:r}))}catch(e){if(t.signal.aborted)return{status:`cancelled`};let r=e instanceof Error?e.message:String(e);return{status:`failed`,error:`Delegate-role node '${n.id}' session turn failed: ${r}`}}finally{a.controller.abort(),a.cleanup(),i!==void 0&&await xr(t,n.id,i)}}async function pr(e,t,n){let r=await t.bus.requestOptional(x.create,{sessionId:vr(t,e),parentSessionId:n.sessionId,branchKind:`subagent`,title:`Workflow delegate-role '${e.node.id}'`,...n.targetWorkingDirectory!==void 0&&{targetWorkingDirectory:n.targetWorkingDirectory}});if(!r.handled)return{status:`failed`,error:`Session runtime is not available for delegate-role node '${e.node.id}'`};let i=r.data.sessionId;return await br(e,t,i),(await t.bus.requestOptional(x.agent.attachResolved,{sessionId:i,agent:yr(e.resolvedRole,n.targetWorkingDirectory),role:`lead`},{signal:t.signal}).catch(async n=>{throw await xr(t,e.node.id,i),n})).handled?{sessionId:i}:(await xr(t,e.node.id,i),{status:`failed`,error:`Session runtime cannot attach delegate-role node '${e.node.id}'`})}async function mr(e){let t=e.execution.coordinatorSessionId??e.executionId,n=await e.bus.requestOptional(x.get,{sessionId:t});return{sessionId:t,targetWorkingDirectory:n.handled?n.data.session?.targetWorkingDirectory:void 0}}async function hr(e,t,n){let r=performance.now(),i=t.bus.once(d.complete,{timeoutMs:n.timeoutMs,filter:{sessionId:n.childSessionId},signal:n.abortLink.controller.signal});i.catch(()=>void 0);let a=await gr(e,t,n);if(`status`in a)return a;let o=await _r(e,t,n,a.turnId);if(o.status===`failed`)return o;let s=await i;if(t.signal.aborted)return{status:`cancelled`};if(s.payload.outcome===`error`)return{status:`failed`,error:`Delegate-role node '${e.node.id}' agent error: ${s.payload.error??`no result`}`};let c=s.payload.message??null;return{status:`completed`,output:await Jn({nodeId:e.node.id,...e.frameId===void 0?{}:{frameId:e.frameId},...e.node.resultFinalizerId===void 0?{}:{resultFinalizerId:e.node.resultFinalizerId},delegateNodeType:`delegate-role`,resolvedConfig:e.resolvedRole},t,c,Xn(r))}}async function gr(e,t,n){let r=await t.bus.requestOptional(x.sendMessage,{sessionId:n.childSessionId,message:e.task,...e.outputSchema===void 0?{}:{responseSchema:e.outputSchema},source:`system`},{signal:t.signal});return r.handled?{turnId:r.data.turnId}:(n.abortLink.controller.abort(),{status:`failed`,error:`Session runtime cannot send delegate-role node '${e.node.id}'`})}async function _r(e,t,n,r){let i=await t.bus.requestOptional(x.turn.await,{sessionId:n.childSessionId,turnId:r,timeoutMs:n.timeoutMs},{timeout:0,signal:t.signal});return i.handled?i.data.completion.success?{status:`completed`}:{status:`failed`,error:`Delegate-role node '${e.node.id}' session turn failed: ${i.data.completion.error??`no result`}`}:(n.abortLink.controller.abort(),{status:`failed`,error:`Session runtime cannot await delegate-role node '${e.node.id}'`})}function vr(e,t){return`session-workflow-${e.executionId}-${t.frameId??t.node.id}`}function yr(e,t){return{kind:`adapter`,adapterName:e.adapterName,...e.model===void 0?{}:{model:e.model},...e.reasoningEffort===void 0?{}:{reasoningEffort:e.reasoningEffort},...e.systemPrompt===void 0?{}:{systemPrompt:e.systemPrompt},...e.providerConfigId===void 0?e.providerContext?.state===`resolved`?{providerConfigId:e.providerContext.providerConfigId}:{}:{providerConfigId:e.providerConfigId},...e.providerContext===void 0?{}:{providerContext:e.providerContext},...e.adapterConfig===void 0?{}:{adapterConfig:e.adapterConfig},...e.tools===void 0?{}:{allowedTools:e.tools},...e.disallowedTools===void 0?{}:{disallowedTools:e.disallowedTools},...e.allowedDirectories===void 0?{}:{allowedDirectories:e.allowedDirectories},...t===void 0?{}:{cwd:t}}}async function br(e,t,n){if(e.frameId!==void 0)try{await t.bus.emit(D.frame.sessionLinked,{executionId:t.executionId,frameId:e.frameId,sessionId:n})}catch(t){console.warn(`[workflow-engine] Failed to emit frame.sessionLinked for frame '${e.frameId}' and session '${n}'`,t)}}async function xr(e,t,n){try{await e.bus.requestOptional(x.close,{sessionId:n})}catch(e){console.warn(`[workflow-engine] Failed to close delegate-role session '${n}' for node '${t}'`,e)}}function Sr(e){let t=new AbortController;if(e.aborted)return t.abort(),{controller:t,cleanup:()=>void 0};let n=()=>t.abort();return e.addEventListener(`abort`,n,{once:!0}),{controller:t,cleanup:()=>e.removeEventListener(`abort`,n)}}function Cr(e,t){try{let n=R(t);return{status:`completed`,task:wr(e.inputExpression===void 0?n:j(e.inputExpression,n))}}catch(t){let n=t instanceof Error?t.message:String(t);return{status:`failed`,error:`delegate-agent node '${e.id}': input expression evaluation failed: ${n}`}}}function wr(e){if(typeof e==`string`)return e;if(e===void 0)return``;try{return JSON.stringify(e,null,2)??``}catch{return String(e)}}function Tr(e,t,n,r){try{let i=j(n,R(r));return Array.isArray(i)?i:{status:`failed`,error:`${t} node '${e}': collection expression did not resolve to an array (got ${typeof i})`}}catch(n){return{status:`failed`,error:`${t} node '${e}': collection expression evaluation failed: ${n instanceof Error?n.message:String(n)}`}}}function Er(e,t,n){for(let r of[...e.nodes].reverse()){let e=n.getFramesByNodeId(r.id);for(let n of e)if(n.parentFrameId===t&&n.status===`completed`)return n.output}}function Dr(e,t,n){return Er(e.body,t,n)}function Or(e){if(e.length===0)return;let t=new Map,n=new Map;for(let r of e){n.set(r.frameId,r);let e=t.get(r.nodeId)??[];e.push(r),t.set(r.nodeId,e)}return{byNodeId:t,byFrameId:n}}const kr=new Set([`completed`,`skipped`,`waiting`]);function z(e,t,n){let r=e?.byNodeId.get(t)??[],i=n.statuses??kr;return r.find(e=>e.parentFrameId===n.parentFrameId&&e.branchKey===n.branchKey&&e.iteration===n.iteration&&i.has(e.status))}function B(e,t,n){let r={...e.frames,[t]:n};return{...e,frames:r,previousSteps:wn(r),output:n.status===`completed`?n.output:e.output}}function Ar(e,t){if(typeof AbortSignal.any==`function`)return AbortSignal.any([e,t]);let n=new AbortController,r=()=>n.abort();return e.addEventListener(`abort`,r,{once:!0}),t.addEventListener(`abort`,r,{once:!0}),n.signal}const jr=new Set([`completed`,`running`]);function Mr(e,t){return e.status===`running`&&t.pauseSignal?.aborted===!0&&!t.outerSignal.aborted}async function Nr(e,t,n,r,i,a,o=`all-settled`){if(t.signal.aborted)return{status:`cancelled`};let s=Object.entries(e.branches);if(s.length===0)return{status:`completed`,output:Ir({},o)};let c=new AbortController,l=new AbortController,u=t.suspensionStrategy!==`wait-in-process`,d=o===`fail-fast`?Ar(c.signal,l.signal):u?l.signal:void 0,f=d===void 0?t.signal:Ar(t.signal,d),p=f===t.signal?t:t.withSignal(f),m=s.map(([s,c])=>Pr(s,c,e,p,n,r,i,a,{outerSignal:t.signal,pauseSignal:o===`fail-fast`||u?l.signal:void 0}));if(o===`all-settled`){let e=await Promise.all(u?m.map(e=>e.then(e=>(e.status===`paused`&&l.abort(),e))):m),t=e.find(e=>e.status===`paused`);return t===void 0?{status:`completed`,output:Ir(Lr(s,e),o)}:t}let h=await Fr(s,m,c,l);return h.type===`cancelled`?{status:`cancelled`}:h.type===`paused`?h.outcome:h.type===`failed`?{status:`failed`,error:h.error}:{status:`completed`,output:Ir(Lr(s,h.outcomes),o)}}async function Pr(e,t,n,r,i,a,o,s,c){if(r.signal.aborted)return{status:`cancelled`};let l=z(r.resumeFrames,n.id,{parentFrameId:o,branchKey:e,statuses:jr});if(l?.status===`completed`)return{status:`completed`,...l.output===void 0?{}:{output:l.output}};let u=l??r.createFrame({nodeId:n.id,nodeType:`parallel`,path:s,parentFrameId:o,branchKey:e});if(r.signal.aborted)return Mr(u,c)||await $(u,r),{status:`cancelled`};l===void 0&&await X(u,r);let d;try{d=await a(t,r,i,u.frameId,u.path)}catch(e){let t=e instanceof Error?e.message:String(e);return await Q(u,r,t),{status:`failed`,error:t}}switch(d.status){case`completed`:{let e=Er(t,u.frameId,r);return await Z(u,r,e),{status:`completed`,output:e}}case`skipped`:return await Z(u,r),{status:`completed`};case`cancelled`:return Mr(u,c)||await $(u,r),{status:`cancelled`};case`paused`:return d;case`failed`:return await Q(u,r,d.error),{status:`failed`,error:d.error}}}async function Fr(e,t,n,r){let i,a,o=t.map(e=>e.then(e=>(e.status===`failed`&&i===void 0?(i=e.error,n.abort()):e.status===`paused`&&a===void 0&&(a=e,r.abort()),e),e=>{let t=e instanceof Error?e.message:String(e);return i===void 0&&(i=t,n.abort()),{status:`failed`,error:t}})),s=await Promise.all(o);return a===void 0?s.some(e=>e.status===`cancelled`)&&i===void 0?{type:`cancelled`}:i===void 0?{type:`completed`,outcomes:s}:{type:`failed`,error:i}:{type:`paused`,outcome:a}}function Ir(e,t){return{mode:t,branches:e}}function Lr(e,t){let n={};for(let r=0;r<e.length;r++){let[i]=e[r],a=t[r];n[i]=Rr(a)}return n}function Rr(e){switch(e.status){case`completed`:return{status:`fulfilled`,...e.output===void 0?{}:{value:e.output}};case`skipped`:return{status:`fulfilled`,value:null};case`cancelled`:return{status:`cancelled`};case`paused`:return{status:`paused`,pausedAtGateId:e.pausedAtGateId,pausedAtFrameId:e.pausedAtFrameId};case`failed`:return{status:`rejected`,reason:e.error}}}const zr=new nt.default({allErrors:!0,strict:!1});function V(e,t){if(t===void 0)return{status:`ok`};try{return{status:`ok`,validator:zr.compile(t)}}catch(t){return{status:`failed`,error:`Gate '${e}' has an invalid resumeSchema: ${t instanceof Error?t.message:String(t)}`}}}function H(e,t){return e===void 0||e(t)?{valid:!0}:{valid:!1,error:Br(e.errors??[])}}function U(e,t,n){let r=V(e,t);return r.status===`failed`?{valid:!1,error:r.error}:H(r.validator,n)}function Br(e){return e.length===0?`schema validation failed`:e.map(e=>`${e.instancePath.length>0?e.instancePath:`/`} ${e.message??`is invalid`}`).join(`; `)}function Vr(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}const Hr={action:`approve`,source:`timeout`};function Ur(e){return e===void 0?{}:{reason:e}}async function Wr(e,t,n,r){let i=()=>{t.value&&(t.value=!1,e.reject(`cancelled`))};n.addEventListener(`abort`,i,{once:!0}),n.aborted&&i();let a=[e.promise],o;if(r!==null){let e=Vr();o=setTimeout(()=>{t.value&&(t.value=!1,n.removeEventListener(`abort`,i),e.reject(`timed-out`))},r),a.push(e.promise)}try{let e=await Promise.race(a);return n.removeEventListener(`abort`,i),o!==void 0&&clearTimeout(o),{action:e.action,resumeData:e.resumeData,timedOut:!1,wasCancelled:!1,reason:e.reason}}catch(e){return o!==void 0&&clearTimeout(o),n.removeEventListener(`abort`,i),e===`timed-out`?{action:`reject`,resumeData:null,timedOut:!0,wasCancelled:!1}:{action:`reject`,resumeData:null,timedOut:!1,wasCancelled:!0}}}async function Gr(e,t,n,r,i,a){let o={required:e.suspensionStrategy!==`wait-in-process`};if(a.timedOut){let a=Date.now();if(r.autoAction===`approve`){let s=H(i,Hr);return s.valid?(await W(e,{...r,status:`resumed`,resumeData:Hr,resolvedAt:a},o),await G(e,t.id,n,{action:`approve`,source:`timeout`}),{status:`completed`,output:{resumeData:Hr}}):(await W(e,{...r,status:`timed-out`,resolvedAt:a},o),await G(e,t.id,n,{action:`reject`,source:`timeout`}),{status:`failed`,error:`Gate '${t.id}' auto-approve timeout resume data does not match resumeSchema: ${s.error}`})}return await W(e,{...r,status:`timed-out`,resolvedAt:a},o),await G(e,t.id,n,{action:`reject`,source:`timeout`}),{status:`failed`,error:`Gate '${t.id}' timed out after ${String(r.timeoutMs)}ms and auto-rejected`}}if(a.wasCancelled||e.signal.aborted)return await W(e,{...r,status:`cancelled`,resolvedAt:Date.now()},o),await G(e,t.id,n,{source:`cancelled`}),{status:`cancelled`};let s=Date.now();await W(e,{...r,status:a.action===`reject`?`rejected`:`resumed`,resumeData:a.resumeData,...Ur(a.reason),resolvedAt:s},o);try{await e.bus.emit(D.gate.resumed,{executionId:e.executionId,frameId:n,nodeId:t.id,resumeData:a.resumeData}),await G(e,t.id,n,{action:a.action,source:`user`,...Ur(a.reason)})}catch(e){console.error(`[GateNode] gate.resumed emit failed for '${t.id}':`,e)}return{status:`completed`,output:{resumeData:a.resumeData}}}async function Kr(e,t,n,r){if(t.signal.aborted)return{status:`cancelled`};let i=e.resumeSchema??{};if(t.suspensionStrategy!==`wait-in-process`){let n=await Xr(t,e,r);if(n!==void 0)return n}let a=V(e.id,e.resumeSchema);return a.status===`failed`?{status:`failed`,error:a.error}:qr(t,e,n,r,i,a.validator)}async function qr(e,t,n,r,i,a){let o=M(t.prompt,R(n)),s={executionId:e.executionId,nodeId:t.id,frameId:r,schema:i,prompt:o,status:`waiting`,autoAction:t.autoAction,timeoutMs:t.timeoutMs,createdAt:Date.now()},c=e.suspensionStrategy!==`wait-in-process`;if(await W(e,s,{required:c}),await e.updateFrame(r,{status:`waiting`},{requireFrameStorage:c}),c)return await Jr(e,t,r,i,o,s.createdAt),{status:`paused`,pausedAtGateId:t.id,pausedAtFrameId:r};let l={value:!0},d=Vr(),f=e.bus.on(D.gate.respond,async n=>{let{executionId:i,gateId:o,frameId:s,action:c,resumeData:f,reason:p}=n.payload;if(i!==e.executionId||o!==t.id||s!==void 0&&s!==r){try{await n.next()}catch(e){if(e instanceof u)n.setResult({accepted:!1});else throw e}return}if(!l.value){n.setResult({accepted:!1});return}if(!H(a,f).valid){n.setResult({accepted:!1});return}l.value=!1,n.setResult({accepted:!0}),d.resolve({action:c,resumeData:f,reason:p})});await Jr(e,t,r,i,o,s.createdAt);let p=await Wr(d,l,e.signal,t.timeoutMs);return f(),Gr(e,t,r,s,a,p)}async function Jr(e,t,n,r,i,a){try{await e.bus.emit(D.gate.suspended,{executionId:e.executionId,frameId:n,nodeId:t.id,schema:r,prompt:i,...t.title!==void 0&&{title:t.title},autoAction:t.autoAction,timeoutMs:t.timeoutMs,openedAt:a})}catch(e){console.error(`[GateNode] gate.suspended emit failed for '${t.id}':`,e)}}async function Yr(e,t,n){if(e.suspensionStrategy!==`wait-in-process`)return(await e.bus.request(P.getGateInstance,{executionId:e.executionId,nodeId:t,frameId:n})).gate;let r=await e.bus.requestOptional(P.getGateInstance,{executionId:e.executionId,nodeId:t,frameId:n});return r.handled?r.data.gate:null}async function Xr(e,t,n){let r=await Yr(e,t.id,n);if((r?.status===`resumed`||r?.status===`rejected`)&&r.resumeData!==void 0){let i=U(t.id,r.schema,r.resumeData);if(!i.valid)return{status:`failed`,error:`Gate '${t.id}' persisted resumeData is invalid: ${i.error}`};try{await e.bus.emit(D.gate.resumed,{executionId:e.executionId,frameId:n,nodeId:t.id,resumeData:r.resumeData})}catch(e){console.error(`[GateNode] gate.resumed emit failed for '${t.id}':`,e)}return await G(e,t.id,n,{action:r.status===`rejected`?`reject`:`approve`,source:`user`,...Ur(r.reason)}),{status:`completed`,output:{resumeData:r.resumeData}}}if(r?.status===`waiting`){if(r.timeoutMs!==null&&Date.now()>=r.createdAt+r.timeoutMs){let i=V(t.id,r.schema);return i.status===`failed`?{status:`failed`,error:i.error}:Gr(e,t,n,r,i.validator,{action:`reject`,resumeData:null,timedOut:!0,wasCancelled:!1})}return{status:`paused`,pausedAtGateId:t.id,pausedAtFrameId:n}}if((r?.status===`resumed`||r?.status===`rejected`)&&r.resumeData===void 0)return{status:`failed`,error:`Gate '${t.id}' has status '${r.status}' but resumeData is missing — cannot reconstruct output`};if(r!==null)return{status:`failed`,error:`Gate '${t.id}' cannot resume from status '${r.status}'`}}async function W(e,t,n={}){try{n.required===!0?await e.bus.request(P.setGateInstance,{gate:t}):await e.bus.requestOptional(P.setGateInstance,{gate:t})}catch(e){if(n.required===!0)throw e;console.warn(`[GateNode] Failed to upsert gate instance for '${t.nodeId}':`,e)}}async function G(e,t,n,r){try{await e.bus.emit(D.gate.resolved,{executionId:e.executionId,stepId:t,stepType:`gate`,frameId:n,...r})}catch(e){console.error(`[GateNode] gate.resolved emit failed for '${t}':`,e)}}function K(e){return{status:`fulfilled`,...e===void 0?{}:{value:e}}}const Zr=new Set([`completed`,`running`]);function Qr(e,t){return e.status===`running`&&t.pauseSignal?.aborted===!0&&!t.outerSignal.aborted}async function $r(e,t,n,r,i,a){if(t.signal.aborted)return{status:`cancelled`};let o=Tr(e.id,`iterate`,e.collection,n);if(!Array.isArray(o))return o;let s=o;if(s.length===0)return{status:`completed`,output:ri([])};let c=await ei(s,e,t,n,r,i,a,e.concurrency!==void 0&&e.concurrency>0?e.concurrency:0);if(t.signal.aborted&&c.every(e=>e.status===`cancelled`))return{status:`cancelled`};let l=c.find(e=>e.status===`paused`);return l===void 0?{status:`completed`,output:ri(c)}:{status:`paused`,pausedAtGateId:l.pausedAtGateId,pausedAtFrameId:l.pausedAtFrameId}}async function ei(e,t,n,r,i,a,o,s){let c=new AbortController,l=n.suspensionStrategy!==`wait-in-process`,u=l?Ar(n.signal,c.signal):n.signal,d=u===n.signal?n:n.withSignal(u),f={outerSignal:n.signal,...l?{pauseSignal:c.signal}:{}};if(s===0){let n=e.map((e,n)=>ni(e,n,t,d,r,i,a,o,f));return Promise.all(l?n.map(e=>ti(e,c)):n)}let p=Array(e.length);for(let n=0;n<e.length;n+=s){if(d.signal.aborted){for(let t=n;t<e.length;t++)p[t]={status:`cancelled`};break}let u=Math.min(n+s,e.length),m=[];for(let s=n;s<u;s++)m.push(ni(e[s],s,t,d,r,i,a,o,f));let h=await Promise.all(l?m.map(e=>ti(e,c)):m);for(let e=0;e<h.length;e++)p[n+e]=h[e];if(h.some(e=>e.status===`paused`)){for(let t=u;t<e.length;t++)p[t]={status:`cancelled`};break}}return p}function ti(e,t){return e.then(e=>(e.status===`paused`&&t.abort(),e))}async function ni(e,t,n,r,i,a,o,s,c){if(r.signal.aborted)return{status:`cancelled`};let l={...i,item:e,index:t},u=z(r.resumeFrames,n.id,{parentFrameId:o,iteration:t,statuses:Zr});if(u?.status===`completed`)return K(u.output);let d=u??r.createFrame({nodeId:n.id,nodeType:`iterate`,path:s,parentFrameId:o,iteration:t});if(r.signal.aborted)return Qr(d,c)||await $(d,r),{status:`cancelled`};u===void 0&&await X(d,r);let f;try{f=await a(n.body,r,l,d.frameId,d.path)}catch(e){let t=e instanceof Error?e.message:String(e);return await Q(d,r,t),{status:`rejected`,reason:t}}switch(f.status){case`completed`:{let e=Dr(n,d.frameId,r);return await Z(d,r,e),K(e)}case`skipped`:return await Z(d,r),K();case`cancelled`:return Qr(d,c)||await $(d,r),{status:`cancelled`};case`paused`:return f;case`failed`:return await Q(d,r,f.error),{status:`rejected`,reason:f.error}}}function ri(e){return{items:e}}const ii=new Set([`completed`,`running`]);async function ai(e,t,n,r,i,a){if(t.signal.aborted)return{status:`cancelled`};let o=Tr(e.id,`iterate-chain`,e.collection,n);if(!Array.isArray(o))return o;let s=o;if(s.length===0)return{status:`completed`,output:si([])};let c=[],l;for(let o=0;o<s.length;o++){if(t.signal.aborted)return{status:`cancelled`};let u=s[o],d=await oi(u,o,l,e,t,n,r,i,a);switch(c.push(d),d.status){case`fulfilled`:l=d.value;break;case`rejected`:return{status:`failed`,error:d.reason};case`cancelled`:return{status:`cancelled`};case`paused`:return{status:`paused`,pausedAtGateId:d.pausedAtGateId,pausedAtFrameId:d.pausedAtFrameId}}}return{status:`completed`,output:si(c)}}async function oi(e,t,n,r,i,a,o,s,c){if(i.signal.aborted)return{status:`cancelled`};let l={...a,item:e,index:t,...n!==void 0&&{previous:n}},u=z(i.resumeFrames,r.id,{parentFrameId:s,iteration:t,statuses:ii});if(u?.status===`completed`)return K(u.output);let d=u??i.createFrame({nodeId:r.id,nodeType:`iterate-chain`,path:c,parentFrameId:s,iteration:t});if(i.signal.aborted)return await $(d,i),{status:`cancelled`};u===void 0&&await X(d,i);let f;try{f=await o(r.body,i,l,d.frameId,d.path)}catch(e){let t=e instanceof Error?e.message:String(e);return await Q(d,i,t),{status:`rejected`,reason:t}}switch(f.status){case`completed`:{let e=Dr(r,d.frameId,i);return await Z(d,i,e),K(e)}case`skipped`:return await Z(d,i),K();case`cancelled`:return await $(d,i),{status:`cancelled`};case`paused`:return f;case`failed`:return await Q(d,i,f.error),{status:`rejected`,reason:f.error}}}function si(e){return{items:e}}async function ci(e,t,n,r){let i=()=>{t.value&&(t.value=!1,e.reject(`cancelled`))};n.addEventListener(`abort`,i,{once:!0}),n.aborted&&i();let a=[e.promise],o;if(r!==null){let e=new Promise((e,a)=>{o=setTimeout(()=>{t.value&&(t.value=!1,n.removeEventListener(`abort`,i),a(`timed-out`))},r)});a.push(e)}try{return{status:`resolved`,value:await Promise.race(a)}}catch(e){if(e===`timed-out`)return{status:`timed-out`};if(e===`cancelled`)return{status:`cancelled`};throw e}finally{o!==void 0&&clearTimeout(o),n.removeEventListener(`abort`,i)}}const li={action:`approve`,source:`timeout`};async function q(e,t,n){try{n?await e.bus.request(P.setGateInstance,{gate:t}):await e.bus.requestOptional(P.setGateInstance,{gate:t})}catch(e){if(n)throw e;console.warn(`[LoopNode] Failed to upsert escalation gate for '${t.nodeId}':`,e)}}async function ui(e,t,n,r,i,a){try{await e.bus.emit(D.gate.suspended,{executionId:e.executionId,frameId:n,nodeId:t.id,schema:r,prompt:i,...t.gate.escalation?.title!==void 0&&{title:t.gate.escalation.title},autoAction:t.gate.escalation?.autoAction??`reject`,timeoutMs:t.gate.escalation?.timeoutMs??null,openedAt:a})}catch(e){console.error(`[LoopNode] gate.suspended emit failed for '${t.id}':`,e)}}async function J(e,t,n,r){try{await e.bus.emit(D.gate.resolved,{executionId:e.executionId,stepId:t,stepType:`gate`,frameId:n,...r})}catch(e){console.error(`[LoopNode] gate.resolved emit failed for '${t}':`,e)}}function di(e){let{node:t,ctx:n,parentFrameId:r,validator:i,pending:a,deferred:o}=e;return n.bus.on(D.gate.respond,async e=>{let{executionId:s,gateId:c,frameId:l,action:d,resumeData:f,reason:p}=e.payload;if(s!==n.executionId||c!==t.id||l!==void 0&&l!==r){try{await e.next()}catch(t){if(t instanceof u)e.setResult({accepted:!1});else throw t}return}if(!a.value){e.setResult({accepted:!1});return}if(!H(i,f).valid){e.setResult({accepted:!1});return}a.value=!1,e.setResult({accepted:!0}),o.resolve({action:d,resumeData:f,reason:p})})}async function fi(e,t,n,r,i,a,o){let s=V(e.id,e.gate.escalation?.resumeSchema);if(s.status===`failed`)return{status:`failed`,error:s.error};let c={value:!0},l=Vr(),u=di({node:e,ctx:t,parentFrameId:n,validator:s.validator,pending:c,deferred:l});await ui(t,e,n,r.schema,r.prompt??``,r.createdAt);try{let s=await ci(l,c,t.signal,r.timeoutMs);return s.status===`timed-out`?hi(t,e,n,r,i,a,o,!1):s.status===`resolved`?pi(t,e.id,n,r,s.value,i,a,o):(await q(t,{...r,status:`cancelled`,resolvedAt:Date.now()},!1),await J(t,e.id,n,{source:`cancelled`}),{status:`cancelled`})}finally{u()}}async function pi(e,t,n,r,i,a,o,s){let c=Date.now(),l=i.action===`reject`?`rejected`:`resumed`;await q(e,{...r,status:l,resumeData:i.resumeData,...i.reason===void 0?{}:{reason:i.reason},resolvedAt:c},!1);try{await e.bus.emit(D.gate.resumed,{executionId:e.executionId,frameId:n,nodeId:t,resumeData:i.resumeData}),await J(e,t,n,{action:i.action,source:`user`,...i.reason===void 0?{}:{reason:i.reason}})}catch(e){console.error(`[LoopNode] gate.resumed emit failed for '${t}':`,e)}return{status:`completed`,output:Y(`escalate`,o,a,s,i.resumeData)}}async function mi(e,t,n,r,i,a,o){let s=e.gate.escalation;if(s===void 0)return{status:`completed`,output:Y(`escalate`,a,i,o)};let c=M(s.prompt,R(n)),l=s.resumeSchema??{},u={executionId:t.executionId,nodeId:e.id,frameId:r,schema:l,prompt:c,status:`waiting`,autoAction:s.autoAction??`reject`,timeoutMs:s.timeoutMs??null,createdAt:Date.now()},d=t.suspensionStrategy!==`wait-in-process`;return await q(t,u,d),await t.updateFrame(r,{status:`waiting`},{requireFrameStorage:d}),d?(await ui(t,e,r,l,c,u.createdAt),{status:`paused`,pausedAtGateId:e.id,pausedAtFrameId:r}):fi(e,t,r,u,i,a,o)}async function hi(e,t,n,r,i,a,o,s=!0){let c=Date.now();if(r.autoAction===`approve`){let l=U(t.id,r.schema,li);return l.valid?(await q(e,{...r,status:`resumed`,resumeData:li,resolvedAt:c},s),await J(e,t.id,n,{action:`approve`,source:`timeout`}),{status:`completed`,output:Y(`escalate`,a,i,o,li)}):(await q(e,{...r,status:`timed-out`,resolvedAt:c},s),await J(e,t.id,n,{action:`reject`,source:`timeout`}),{status:`failed`,error:`Loop '${t.id}' escalation gate auto-approve timeout resume data does not match resumeSchema: ${l.error}`})}return await q(e,{...r,status:`timed-out`,resolvedAt:c},s),await J(e,t.id,n,{action:`reject`,source:`timeout`}),{status:`failed`,error:`Loop '${t.id}' escalation gate timed out after ${String(r.timeoutMs)}ms and auto-rejected`}}async function gi(e,t,n){if(e.suspensionStrategy!==`wait-in-process`)return(await e.bus.request(P.getGateInstance,{executionId:e.executionId,nodeId:t,frameId:n})).gate;let r=await e.bus.requestOptional(P.getGateInstance,{executionId:e.executionId,nodeId:t,frameId:n});return r.handled?r.data.gate:null}async function _i(e,t,n,r,i,a){let o=await gi(e,t.id,n);if(o!==null){if((o.status===`resumed`||o.status===`rejected`)&&o.resumeData!==void 0){let s=U(t.id,o.schema,o.resumeData);if(!s.valid)return{status:`failed`,error:`Loop '${t.id}' escalation gate resumeData is invalid: ${s.error}`};try{await e.bus.emit(D.gate.resumed,{executionId:e.executionId,frameId:n,nodeId:t.id,resumeData:o.resumeData})}catch(e){console.error(`[LoopNode] gate.resumed emit failed for '${t.id}':`,e)}return await J(e,t.id,n,{action:o.status===`rejected`?`reject`:`approve`,source:`user`,...o.reason===void 0?{}:{reason:o.reason}}),{status:`completed`,output:Y(`escalate`,i,r,a,o.resumeData)}}return o.status===`waiting`?o.timeoutMs!==null&&Date.now()>=o.createdAt+o.timeoutMs?hi(e,t,n,o,r,i,a):{status:`paused`,pausedAtGateId:t.id,pausedAtFrameId:n}:(o.status===`resumed`||o.status===`rejected`)&&o.resumeData===void 0?{status:`failed`,error:`Loop '${t.id}' escalation gate has status '${o.status}' but resumeData is missing`}:{status:`failed`,error:`Loop '${t.id}' escalation gate cannot resume from status '${o.status}'`}}}const vi=new Set([`completed`,`running`]);async function yi(e,t,n,r,i,a,o){let s=z(n.resumeFrames,e.id,{parentFrameId:a,iteration:t,statuses:vi});if(s?.status===`completed`)return{terminal:!1,output:s.output??null,replayed:!0,gateExpressionCtx:xi(e,n,r,s.frameId)};let c=s??n.createFrame({nodeId:e.id,nodeType:`loop`,path:o,parentFrameId:a,iteration:t});if(n.signal.aborted)return await $(c,n),{terminal:!0,outcome:{status:`cancelled`}};s===void 0&&await X(c,n);let l=await Si(e,c,n,r,i);if(l!==void 0)return{terminal:!0,outcome:l};let u=Er(e.body,c.frameId,n)??null;return await Z(c,n,u),{terminal:!1,output:u,replayed:!1,gateExpressionCtx:xi(e,n,r,c.frameId)}}function bi(e,t,n,r){return z(n.resumeFrames,e.id,{parentFrameId:r,iteration:t,statuses:vi})!==void 0}function xi(e,t,n,r){let i=n;for(let n of e.body.nodes){let e=t.getFramesByNodeId(n.id).find(e=>e.parentFrameId===r&&e.status===`completed`);e!==void 0&&(i=B(i,n.id,{status:`completed`,...e.output===void 0?{}:{output:e.output}}))}return i}async function Si(e,t,n,r,i){let a;try{a=await i(e.body,n,r,t.frameId,t.path)}catch(e){let r=e instanceof Error?e.message:String(e);return await Q(t,n,r),{status:`failed`,error:r}}switch(a.status){case`failed`:return await Q(t,n,a.error),{status:`failed`,error:a.error};case`cancelled`:return await $(t,n),{status:`cancelled`};case`paused`:return a;case`skipped`:case`completed`:return}}function Ci(e,t,n,r,i){let a=null;if(e.gate.input!==void 0)try{let t=R(r);a=j(e.gate.input,t)}catch(t){let n=t instanceof Error?t.message:String(t);return{status:`failed`,error:`Loop node '${e.id}': gate input expression evaluation failed: ${n}`}}let o=e.gate.config??null,s=i(a,o,{executionId:n.executionId,nodeId:e.id,round:t+1,maxRounds:e.maxRounds});return s.kind===`loop`&&t+1>=e.maxRounds?{kind:`escalate`,reason:`max_rounds_reached`}:s}async function wi(e,t,n,r,i,a){if(t.signal.aborted)return{status:`cancelled`};let o=t.runtimeLoopGates.get(e.gate.handler);if(o===void 0)return{status:`failed`,error:`Loop node '${e.id}': no gate handler registered for '${e.gate.handler}'`};let s=[],c=0;for(;;){if(t.signal.aborted)return{status:`cancelled`};let l=await yi(e,c,t,n,r,i,a);if(l.terminal)return l.outcome;if(s.push(l.output),l.replayed){if(c++,bi(e,c,t,i))continue;if(e.gate.escalation!==void 0&&t.suspensionStrategy!==`wait-in-process`){let n=await _i(t,e,i,{kind:`escalate`,reason:`resumed_from_gate`},c,s);if(n!==void 0)return n}continue}let u=Ci(e,c,t,l.gateExpressionCtx,o);if(`status`in u)return u;if(u.kind===`pass`)return{status:`completed`,output:Y(`pass`,c+1,u,s)};if(u.kind===`escalate`)return e.gate.escalation===void 0?{status:`completed`,output:Y(`escalate`,c+1,u,s)}:mi(e,t,n,i,u,c+1,s);c++}}function Y(e,t,n,r,i){return{outcome:e,rounds:t,lastGateOutcome:n,bodyOutputs:r,...i===void 0?{}:{resumeData:i}}}async function X(e,t){e.status=`running`,e.startedAt=Date.now(),await t.persistFrame(e),await t.emitFrameStarted(e)}async function Z(e,t,n){let r=Date.now(),i=e.startedAt===void 0?void 0:Math.max(0,r-e.startedAt);e.status=`completed`,e.output=n,e.completedAt=r,await t.persistFrame(e),await t.emitFrameCompleted(e,i)}async function Q(e,t,n){let r=Date.now(),i=e.startedAt===void 0?void 0:Math.max(0,r-e.startedAt);e.status=`failed`,e.error=n,e.completedAt=r,await t.persistFrame(e),await t.emitFrameFailed(e,n,i)}async function Ti(e,t){e.status=`skipped`,e.completedAt=Date.now(),await t.persistFrame(e)}async function $(e,t){e.status=`cancelled`,e.completedAt=Date.now(),await t.persistFrame(e)}function Ei(e,t){return!!j(e,R(t))}async function Di(e,t,n,r,i,a=[]){if(t.signal.aborted)return{status:`cancelled`};switch(e.type){case`sequence`:return r(e,t,n,i,a);case`station`:return ir(e,t,n,i);case`delegate-agent`:return ur(e,t,n,i);case`delegate-role`:return dr(e,t,n,i);case`parallel`:return Nr(e,t,n,r,i??``,a,e.mode??`all-settled`);case`gate`:return Kr(e,t,n,i??``);case`iterate`:return $r(e,t,n,r,i??``,a);case`iterate-chain`:return ai(e,t,n,r,i??``,a);case`loop`:return wi(e,t,n,r,i??``,a);default:return{status:`failed`,error:`Unknown node type: ${String(e.type)}`}}}const Oi=new Set([`completed`,`skipped`,`waiting`,`running`]);function ki(e){return e.type===`parallel`||e.type===`iterate`||e.type===`iterate-chain`||e.type===`loop`}function Ai(e,t,n){return z(e.resumeFrames,t.id,{parentFrameId:n,...ki(t)?{statuses:Oi}:{}})}function ji(e,t,n){if(n?.status===`completed`)return B(e,t.id,{status:`completed`,...n.output===void 0?{}:{output:n.output}});if(n?.status===`skipped`)return B(e,t.id,{status:`skipped`})}async function Mi(e,t,n,r,i,a,o){try{return{result:Ei(e,i)}}catch(e){let i=e instanceof Error?e.message:String(e);return await Q(r.createFrame({nodeId:n.id,nodeType:n.type,path:a,parentFrameId:o}),r,`'${t}' condition evaluation failed: ${i}`),{status:`failed`,error:`'${t}' condition evaluation failed for '${n.id}': ${i}`}}}async function Ni(e,t,n,r,i,a){let o=a??t.createFrame({nodeId:e.id,nodeType:e.type,path:r,parentFrameId:i});if(t.signal.aborted)return await $(o,t),{updatedCtx:n,outcome:{status:`cancelled`}};a===void 0&&await X(o,t);let s;try{s=await Di(e,t,n,Pi,o.frameId,o.path)}catch(e){let r=e instanceof Error?e.message:String(e);return await Q(o,t,r),{updatedCtx:n,outcome:{status:`failed`,error:r}}}switch(s.status){case`completed`:return await Z(o,t,s.output),{updatedCtx:B(n,e.id,{status:`completed`,output:s.output})};case`skipped`:return await Ti(o,t),{updatedCtx:B(n,e.id,{status:`skipped`})};case`cancelled`:return await $(o,t),{updatedCtx:n,outcome:{status:`cancelled`}};case`paused`:return{updatedCtx:n,outcome:s};case`failed`:return await Q(o,t,s.error),{updatedCtx:n,outcome:{status:`failed`,error:s.error}}}}async function Pi(e,t,n,r,i=[]){let a=n;for(let n of e.nodes){if(t.signal.aborted)return{status:`cancelled`};let e=Ai(t,n,r),o=ji(a,n,e);if(o!==void 0){a=o;continue}if(n.when!==void 0){let e=await Mi(n.when,`when`,n,t,a,i,r);if(`status`in e)return e;if(!e.result){await Ti(t.createFrame({nodeId:n.id,nodeType:n.type,path:i,parentFrameId:r}),t),a=B(a,n.id,{status:`skipped`});continue}}if(n.skip!==void 0){let e=await Mi(n.skip,`skip`,n,t,a,i,r);if(`status`in e)return e;if(e.result){await Ti(t.createFrame({nodeId:n.id,nodeType:n.type,path:i,parentFrameId:r}),t),a=B(a,n.id,{status:`skipped`});continue}}let s=e?.status===`waiting`&&n.type===`gate`||(e?.status===`running`||e?.status===`waiting`)&&ki(n)?e:void 0,{updatedCtx:c,outcome:l}=await Ni(n,t,a,i,r,s);if(a=c,l!==void 0)return l}return{status:`completed`}}function Fi(e,t){let n=new Set;if(he(e.root,{enter(e){if(e.type!==`loop`)return;let r=e;t.has(r.gate.handler)||n.add(r.gate.handler)}}),n.size>0)throw Error(`Workflow '${e.id}' is missing loop gate handler(s): ${[...n].join(`, `)}`)}async function Ii(e,t,n){if((await e.requestOptional(P.getRunContext,{executionId:t.executionId})).handled){await Li(e,t.executionId,n);return}await e.request(D.bootstrapAuthorityState,{executionId:t.executionId,terminalAuthority:`authority`,definition:n})}async function Li(e,t,n){return await Ri(e,t,n)!==void 0}async function Ri(e,t,n){let r=await e.request(P.getRunContext,{executionId:t});if(r.runContext===null)return;if(r.runContext.executionId!==t)throw Error(`Authority bootstrap identity mismatch for '${t}'`);let i=r.runContext.definitionSnapshot;if(i!==void 0&&!zi(i,n))throw Error(`Authority bootstrap definition mismatch for '${t}'`);let a=i??n;return await e.request(P.setRunContext,{runContext:{...r.runContext,terminalAuthority:`authority`,definitionSnapshot:a},initialState:Ct(a)}),a}function zi(e,t){return i(JSON.parse(JSON.stringify(e)),JSON.parse(JSON.stringify(t)))}function Bi(e,t){return e.on(D.bootstrapAuthorityState,async n=>{let r=n.transport?.peer;if(!(n.origin.local||n.transport===void 0||r?.authenticated===!0&&r.id===n.payload.executionId&&(r.kind===`workflow-execution`||r.kind===`e2e`&&r.encrypted===!0)))throw Error(`authority state bootstrap is execution-bound`);let i=await Ri(e,n.payload.executionId,n.payload.definition);i!==void 0&&t?.(n.payload.executionId,i),n.setResult({persisted:i!==void 0})})}export{Be as $,Ee as A,N as B,Ot as C,tt as D,rt as E,Je as F,Pe as G,je as H,qe as I,Ue as J,Ne as K,Xe as L,ke as M,Ie as N,P as O,Fe as P,Ge as Q,Ye as R,F as S,dt as T,Re as U,Me as V,Le as W,Ve as X,He as Y,Ke as Z,Rt as _,U as a,At as b,kn as c,Cn as d,ze as et,bn as f,Bt as g,Kt as h,Pi as i,D as it,Ae as j,De as k,on as l,Zt as m,Bi as n,Ce as nt,Or as o,an as p,We as q,Fi as r,ue as rt,In as s,Ii as t,we as tt,yn as u,L as v,St as w,Nt as x,Pt as y,Oe as z};
@@ -1 +0,0 @@
1
- import{t as e}from"./bus-rgUFuO2a.mjs";export{e as MakaioBus};
@@ -1,2 +0,0 @@
1
- import{z as e}from"zod";import{webcrypto as t}from"node:crypto";function n(e){if(typeof e!=`object`||!e)return!1;let t=e;return`$in`in t||`$ne`in t||`$exists`in t||`$startsWith`in t||`$endsWith`in t}function r(t){return typeof t==`object`&&!!t&&`request`in t&&`response`in t&&t.request instanceof e.ZodType&&t.response instanceof e.ZodType}function i(e){return typeof e==`object`&&!!e&&`__channel`in e&&e.__channel===!0&&`schema`in e}function a(e){return{__channel:!0,schema:e}}function o(e){return typeof e==`object`&&!!e&&`__local`in e&&e.__local===!0&&`schema`in e}function s(e){return{__local:!0,schema:e}}function c(e){return typeof e==`object`&&!!e&&`__defaultTransports`in e&&(e.__defaultTransports===`all`||e.__defaultTransports===`local-only`)&&`schema`in e}function l(e,t){return{__defaultTransports:t,schema:e}}function u(e){return typeof e==`object`&&!!e&&`__collectorOnly`in e&&e.__collectorOnly===!0&&`schema`in e}function d(e){return{__collectorOnly:!0,schema:e}}function f(e){return o(e)||u(e)||i(e)||c(e)?e.schema:e}function p(e,t,n){let a={};for(let[s,l]of Object.entries(t)){let t=s.split(`.`),u=a;for(let e=0;e<t.length-1;e++)u[t[e]]??={},u=u[t[e]];let d=o(l),p=i(l),m=c(l)?l.__defaultTransports:n,h={subject:s,$meta:{namespace:e,isRequest:r(f(l)),local:d,channel:p,...m!==void 0&&{defaultTransports:m}}};u[t[t.length-1]]=h}return a.$all={subject:`*`,$meta:{namespace:e,isRequest:!1,local:!1,channel:!1}},a}function m(e){return`${e.$meta.namespace}.${e.subject}`}function h(e,t,n){let r=n?.defaultTransports,i;if(n!==void 0){let{defaultTransports:e,...t}=n;i=Object.keys(t).length>0?t:void 0}return{name:e,subjects:p(e,t,r),schemas:t,...i===void 0?{}:{options:i},...r===void 0?{}:{defaultTransports:r}}}e.object({cwd:e.string(),env:e.record(e.string(),e.string()),platform:e.enum([`posix`,`windows`]),signal:e.custom().optional(),constraints:e.record(e.string(),e.unknown()).optional(),sessionId:e.string().optional(),subagentId:e.string().optional(),subagentDepth:e.number().optional()});var g=class extends Error{subject;constructor(e,t){super(e),this.subject=t,this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}};const _=`makaio.observability`;function v(e){let t=e.meta()?.[_];if(typeof t!=`object`||!t)return;let n=t;return n.kind===`schema`||n.kind===`field`?n:void 0}function y(e,t){return e.meta({...e.meta(),[_]:t})}function ee(t){if(t instanceof e.ZodOptional||t instanceof e.ZodNullable||t instanceof e.ZodDefault||t instanceof e.ZodCatch||t instanceof e.ZodReadonly)return t.unwrap()}function te(e){let t=e;for(;t;){let e=v(t);if(e?.kind===`field`)return e;t=ee(t)}}function ne(e){let t=v(e);if(t?.kind===`schema`)return{traceAll:t.traceAll}}function re(e){let t=te(e);if(t)return{visibility:t.visibility,attributeName:t.attributeName}}const ie={schema(e,t){return y(e,{kind:`schema`,traceAll:t.traceAll})},field(e,t){return y(e,{kind:`field`,visibility:t.visibility,attributeName:t.attributeName})},hidden(e){return y(e,{kind:`field`,visibility:`hidden`})},count(e,t){return y(e,{kind:`field`,visibility:`count`,attributeName:t})},attribute(e,t){return y(e,{kind:`field`,visibility:`attribute`,attributeName:t})}};function b(e,t){if(t===`*`)return!0;if(!t.endsWith(`*`))return e===t;if(t.endsWith(`:*`)){let n=t.slice(0,-2);return e.startsWith(n+`:`)}if(t.endsWith(`.*`)){let n=t.slice(0,-2);return e.startsWith(n+`.`)}return!1}function x(e,t){for(let n of t)if(b(e,n))return!0;return!1}function ae(e,t){if(e==null)return;let n=t.split(`.`),r=e;for(let e of n){if(typeof r!=`object`||!r)return;r=r[e]}return r}function oe(e,t){if(n(t)){if(`$in`in t)return t.$in.includes(e);if(`$ne`in t)return e!==t.$ne;if(`$exists`in t){let n=e!==void 0;return t.$exists?n:!n}return`$startsWith`in t?typeof e==`string`&&e.startsWith(t.$startsWith):`$endsWith`in t?typeof e==`string`&&e.endsWith(t.$endsWith):!1}return e===t}function S(e,t){for(let[n,r]of Object.entries(t))if(!oe(ae(e,n),r))return!1;return!0}function se(e,t){if(!(!e&&!t))return e?t?{...e,...t}:e:t}var C=class extends g{subject;constructor(e,t){super(e),this.subject=t,this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}},ce=class extends C{constructor(e){super(`Authentication failed for channel endpoint "${e}"`,e),this.name=`ChannelAuthError`}},le=class extends C{constructor(e){super(`Channel "${e}" is closed`,e),this.name=`ChannelClosedError`}},ue=class extends C{constructor(e){super(`Subject "${e}" is channel-only and cannot be used on the public bus. Use a DirectChannel instead.`,e),this.name=`ChannelOnlyError`}};const de=`CONNECTION_LOST`;var fe=class extends C{code=de;retryable=!0;constructor(e){super(`Connection lost on transport "${e}" — pending requests were rejected. This is retryable after reconnection.`)}},pe=class extends C{constructor(e){super(`Subject "${e}" is local-only and cannot be invoked over a transport. Register a non-local handler on each node that needs to respond to this subject.`,e),this.name=`LocalSubjectError`}};const me=`NO_HANDLER`;var w=class extends C{code=me;constructor(e){super(`No handler registered for request subject "${e}"`,e)}},T=class extends C{cause;constructor(e,t,n){super(`Request to "${e}" failed: ${t}`,e),this.cause=n,n&&(this.cause=n)}},E=class extends C{timeoutMs;constructor(e,t){super(`Request to "${e}" timed out after ${t}ms`,e),this.timeoutMs=t}},he=class extends C{zodError;constructor(e,t){let n=t.issues.map(e=>`${e.path.join(`.`)}: ${e.message}`);super(`Validation failed for subject "${e}":\n${n.join(`
2
- `)}`,e),this.zodError=t}};function ge(e,t){if(!(e instanceof Error))return!1;if(e instanceof w)return e.subject===t;let n=e;return n.code===`NO_HANDLER`?n.subject===t:!1}function D(e){return`subject`in e&&`namespace`in e?`${e.namespace}.${e.subject}`:null}function _e(e,t){return e<t?-1:+(e>t)}function ve(e,t){return e.transportRegistry.names().filter(e=>e!==t).sort((e,t)=>_e(String(e),String(t))).map(t=>({name:t,transport:e.transportRegistry.getTransport(t)})).filter(e=>e.transport!==void 0)}function ye(e,t){return ve(e,t).filter(({transport:e})=>e.isReady?.()!==!1)}const be=new Set([`message`,`name`,`stack`,`cause`,`subject`,`code`]);function O(e){if(!(e instanceof Error))return{message:typeof e==`string`?e:`Unknown error`};let t={message:e.message},n=e.cause instanceof Error?e.cause:e,r=`code`in e?e:n;`code`in r&&typeof r.code==`string`&&(t.code=r.code);let i=`subject`in e?e.subject:void 0,a=`subject`in n?n.subject:void 0;typeof i==`string`?t.subject=i:typeof a==`string`&&(t.subject=a);for(let e of Object.keys(n)){if(be.has(e))continue;let r=Object.getOwnPropertyDescriptor(n,e)?.value;typeof r==`function`||r===void 0||typeof r==`bigint`||typeof r==`symbol`||(t.data??={},t.data[e]=r)}return t}async function k(e,t,n){try{await e.send({type:`response`,correlationId:t.correlationId,error:O(n)})}catch(e){console.error(`[TransportRegistry] Failed to send error response:`,e)}}function xe(e){let t=Error(e.message);if(e.code&&(t.code=e.code),e.subject&&(t.subject=e.subject),e.data)for(let[n,r]of Object.entries(e.data))t[n]=r;return t}const A=Object.freeze({local:!0}),j=Object.freeze({local:!1});function Se(e,t,n,r){if(n.size>0&&e&&!x(e,n))return!1;if(e&&t!==void 0){for(let[n,i]of r)if((n===e||x(e,new Set([n])))&&!S(t,i))return!1}return!0}function Ce(e,t){if(e.type===`response`){let n=e;return n.error?t.reject(n.correlationId,xe(n.error)):t.resolve(n.correlationId,n.result),!0}if(e.type===`broadcast-response`){let n=e;return n.error?t.reject(n.correlationId,xe(n.error)):t.resolve(n.correlationId,n.results??[]),!0}return!1}function we(e){return e.type===`request`}function Te(e){return e.type===`broadcast`}function Ee(e,t,n,r){return we(e)||Te(e)?t.track(e.correlationId,n,r):Promise.resolve(!0)}function De(e){let t=typeof e==`object`&&e?e:{};return{message:e instanceof Error?e.message:typeof t.message==`string`?t.message:String(e),code:t.code,subject:typeof t.subject==`string`?t.subject:void 0,data:t.data}}function Oe(e){if(e.length===0)return[];if(e.length===1)return e[0].slice();let t=[];for(let n of e)for(let e of n)t.push(e);return t.sort((e,t)=>t.priority-e.priority),t}function ke(e,t,n,r=`strict`,i){if(process.env.NODE_ENV===`production`||r===`skip`)return;let a=n.safeParse(t);if(!a.success){if(r===`lenient`){if(i)try{i({subject:e,payload:t,issues:a.error.issues})}catch(t){console.error(`[BUS] onSchemaViolation callback threw for "${e}":`,t)}return}throw console.error(`Payload validation failed for subject "${e}":`,JSON.stringify(t)),new he(e,a.error)}}function Ae(e,t,n){let{mode:i,onViolation:a}=e.namespaceRegistry.getValidationConfig(t);if(i===`skip`)return;let o=e.namespaceRegistry.getSchema(t);!o||r(o)||ke(t,n,o,i,a)}function je(e){let t=!e,n=new URL(e??`ws://localhost:6252/bus`);if(t){let e=parseInt(n.port,10);return{href:`${n.protocol}//${n.hostname}:${e}${n.pathname}`,port:e,isDefault:!0}}let r=n.port?parseInt(n.port,10):void 0;return{href:n.href,port:r,isDefault:!1}}function Me(e,t){let{mode:n,onViolation:i}=e.namespaceRegistry.getValidationConfig(t);if(n===`skip`)return{requestSchema:void 0,responseSchema:void 0,mode:n,onViolation:void 0};let a=e.namespaceRegistry.getSchema(t);return!a||!r(a)?{requestSchema:void 0,responseSchema:void 0,mode:n,onViolation:i}:{requestSchema:a.request,responseSchema:a.response,mode:n,onViolation:i}}function Ne(e,t,n){n.requestSchema&&ke(e,t,n.requestSchema,n.mode,n.onViolation)}function Pe(e,t,n){n.responseSchema&&ke(e,t,n.responseSchema,n.mode,n.onViolation)}function Fe(e,t){let n=0,r=e.length;for(;n<r;){let i=n+r>>>1;e[i].priority>=t.priority?n=i+1:r=i}e.splice(n,0,t)}function Ie(e,t,n,r){let i=new Set,a=e.requestHandlers.get(r);if(a)for(let e of a)i.add(e.priority);let o=e.eventHandlers.has(r),s=e.remoteRequestHandlers.get(r);if(s)for(let e of s)e.transport!==t&&i.add(e.priority);let c=e.remoteEventHandlers.get(r),l=c!==void 0&&(c.size>1||c.size===1&&!c.has(t));return i.size===0&&!o&&!l?Promise.resolve(n.unsubscribe(r)).catch(e=>{console.debug(`[AdvertisedState] unsubscribe propagation failed`,{transport:t,subject:r,error:e})}):Promise.resolve(n.subscribe(r,void 0,[...i])).catch(e=>{console.debug(`[AdvertisedState] subscribe propagation failed`,{transport:t,subject:r,priorities:[...i],error:e})})}function M(e,t,n){let r=[];for(let i of e.transportRegistry.names()){if(t!==null&&i===t)continue;let a=e.transportRegistry.getTransport(i);if(a)for(let t of n)r.push(Ie(e,String(i),a,t))}return r.length>0?Promise.allSettled(r).then(()=>void 0):Promise.resolve()}async function Le(e,t,n,r){let i=new Set;for(let t of e.requestHandlers.keys())i.add(t);for(let t of e.eventHandlers.keys())i.add(t);for(let t of e.remoteRequestHandlers.keys())i.add(t);for(let t of e.remoteEventHandlers.keys())i.add(t);let a=String(t),o=[];for(let t of i)o.push(Ie(e,a,n,t));await Promise.allSettled(o),!r?.aborted&&n.isReady?.()!==!1&&n.ready!==void 0&&Promise.resolve(n.send({type:`subscribe-sync-complete`})).catch(e=>{console.debug(`[AdvertisedState] subscribe-sync-complete send failed`,{transport:a,error:e})})}const N=new Set;function P(e,t,n){if(process.env.NODE_ENV===`production`||process.env.MAKAIO_DEBUG!==`true`||t.subject.includes(`*`)||t.$meta.namespace.startsWith(`channel:`)||e.namespaceRegistry.getSchema(n)!==void 0||N.has(n))return;N.add(n);let r=t.$meta.namespace;console.warn(`[MakaioBus] Subject '${n}' used but namespace '${r}' is not registered. Validation and local-subject routing are disabled. Call registerNamespace() at boot.`)}const Re=process.env.NODE_ENV===`test`?()=>N.clear():void 0,ze=Symbol(`onPropagationPromise`);function Be(e){return e?.[ze]}async function Ve(e){await(Be(e)??Promise.resolve())}function He(e,t,n,r,i){let a=e[t];a.has(n)||a.set(n,[]),Fe(a.get(n),{handler:r,priority:i})}function Ue(e,t,n,r){let i=e[t],a=i.get(n);if(a){let e=a.findIndex(e=>e.handler===r);e!==-1&&a.splice(e,1),a.length===0&&i.delete(n)}}function F(e,t,n,r){let i=t.subject,a=m(t),o=t.$meta.isRequest,s=i.includes(`*`)||i.includes(`:`),c=s&&!o;s||P(e,t,a);let l=r?.filter?e=>{if(S(e.payload,r.filter))return n(e)}:n,u=s?r?.handlerKind:void 0,d=u===`both`?[`eventHandlers`,`requestHandlers`]:u===`event`?[`eventHandlers`]:u===`request`?[`requestHandlers`]:c?[`eventHandlers`,`requestHandlers`]:o?[`requestHandlers`]:[`eventHandlers`],f=r?.priority??0;for(let t of d)He(e,t,a,l,f);let p=M(e,null,[a]),h=()=>{for(let t of d)Ue(e,t,a,l);M(e,null,[a])};return h[ze]=p,h}let I,L;function We(e){if(e<0||e>1024)throw RangeError(`Wrong ID size`);!I||I.length<e?(I=Buffer.allocUnsafe(e*128),t.getRandomValues(I),L=0):L+e>I.length&&(t.getRandomValues(I),L=0),L+=e}function R(e=21){We(e|=0);let t=``;for(let n=L-e;n<L;n++)t+=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`[I[n]&63];return t}function z(e){return e===void 0?!1:Array.isArray(e)?e.length===0:e.size===0}function Ge(e,t,n){if(n.$meta.local)return[];let r=m(n);if(e.namespaceRegistry.isCollectorOnlySubject(r))return[];if(t===void 0)return n.$meta.defaultTransports===`local-only`?[]:ye(e).map(({transport:e})=>e);let i=Array.isArray(t)?t:Array.from(t);if(z(t))return[];let a=[];for(let t of i){let n=e.transportRegistry.getTransport(t);if(!n){console.warn(`Transport "${String(t)}" not found for request "${r}"`);continue}a.push(n)}return a}function B(e,t,n,r){if(r!==void 0)return r;let i=t.$meta.defaultTransports;if(i!==void 0)return i===`local-only`?[]:void 0;if(e.namespaceRegistry.getDefaultTransports(n)===`local-only`)return[]}const Ke=1e3,V=new Set;function qe(e){if(V.size>=Ke){Ke/2;let e=0;for(let t of V)if(V.delete(t),e++,e>=500)break}V.add(e)}function Je(){process.env.NODE_ENV!==`production`&&V.clear()}function Ye(e,t,n,r,i,a,o){if(process.env.NODE_ENV===`production`||e.anyHandlers.size===0)return;if(o!==void 0){if(V.has(o))return;qe(o)}let s={type:t,subject:n,namespace:r,payload:i,messageId:a,correlationId:o};for(let t of e.anyHandlers)Promise.resolve().then(()=>t(s)).catch(e=>{console.error(`[${a}] Error in __onAny handler:`,e)})}function H(e){return e===null||typeof e==`string`||typeof e==`boolean`||typeof e==`number`&&Number.isFinite(e)}function Xe(e){if(H(e))return!0;if(!Array.isArray(e)||!e.every(H))return!1;if(e.length<=1)return!0;let t=e[0]===null?`null`:typeof e[0];return e.every(e=>(e===null?`null`:typeof e)===t)}function Ze(e){return Array.isArray(e)||typeof e==`string`?e.length:e===void 0?void 0:1}function Qe(t){if(t instanceof e.ZodObject)return t.shape}function $e(e,t){let n=ne(e),r=Qe(e),i={};if(!r||typeof t!=`object`||!t)return i;let a=t;for(let[e,t]of Object.entries(r)){let r=re(t);if(r?.visibility===`hidden`)continue;let o=a[e];if(r?.visibility===`count`){let t=Ze(o);if(t!==void 0){let n=r.attributeName??e;i[n]=t}continue}if(n?.traceAll){if(H(o)){let t=r?.attributeName??e;i[t]=o}}else if(r?.visibility===`attribute`&&H(o)){let t=r.attributeName??e;i[t]=o}}return i}function et(e){let{projectorRegistry:t,message:n}=e;if(!t)return;let r=t.get(n.namespace,n.subject);if(r)return r.project({payload:n.payload,namespace:n.namespace,subject:n.subject,messageType:n.type})}function tt(t){let{message:n,namespaceRegistry:i}=t,a=D(n);if(!a)return;let o=i.getSchema(a);if(o)return r(o)?o.request:o instanceof e.ZodType?o:void 0}function nt(e){let t={};for(let[n,r]of Object.entries(e))Xe(r)&&(t[n]=r);return t}function rt(e,t){if(e.messageObservers.size!==0)for(let n of e.messageObservers)Promise.resolve().then(()=>n(t)).catch(e=>{console.error(`[${t.messageId}] Error in bus message observer:`,e)})}function it(e){let{message:t,direction:n,observedAt:r,machineId:i}=e,a=et(e),o;if(a!==void 0)o=a;else{let n=tt(e);o=n?$e(n,t.payload):{}}return[{factId:`${t.messageId}:${n}`,observedAt:r,...i===void 0?{}:{machineId:i},namespace:t.namespace,subject:t.subject,messageType:t.type,direction:n,messageId:t.messageId,...t.correlationId===void 0?{}:{correlationId:t.correlationId},attributes:nt(o)}]}function at(e,t){let n=e.interceptorHandlers.get(t);return!n||n.length===0?[]:n.map(e=>e.handler)}function ot(e,t,n,r,i){let a=at(e,t);return a.length===0?{stopped:!1,payload:n}:st(a,t,n,r,i)}async function st(e,t,n,r,i){let a=n,o=!1;for(let n of e){if(o)break;await n({subject:t,get payload(){return a},messageId:r,correlationId:i,stopPropagation(){o=!0},replacePayload(e){a=e},next(){}})}return{stopped:o,payload:a}}function ct(e,t){let{eventHandlers:n}=e,r=[];for(let[e,i]of n)b(t,e)&&r.push(i);return Oe(r).map(e=>e.handler)}async function lt(e,t,n){let{correlationId:r,messageId:i}=t,a=[];for(let o of e)a.push(Promise.resolve().then(()=>o(t)).catch(e=>{let t=r?`[${r}][${i}]`:`[${i}]`;throw console.error(`${t} Error in event handler for "${n}":`,e),e}));await Promise.all(a)}async function U(e,t,n,r){let i=t.subject,a=m(t);P(e,t,a);let o=r?.messageId??R(),s=r?.correlationId,c=B(e,t,a,r?.transports),l=t.$meta.local||e.namespaceRegistry.isCollectorOnlySubject(a)||z(c);Ae(e,a,n);let u=ot(e,a,n,o,s),d=u instanceof Promise?await u:u;if(d.stopped)return;let f=d.payload,p=ct(e,a);Ye(e,`event`,a,t.$meta.namespace,f,o,s),rt(e,{type:`event`,namespace:t.$meta.namespace,subject:i,payload:f,messageId:o,correlationId:s,transport:r?.transport,localOnly:l}),p.length>0&&await lt(p,{payload:f,messageId:o,correlationId:s,subject:a,isRequest:!1,transport:r?.transport,origin:r?.transport?j:A},a);let h=Ge(e,c,t);if(h.length>0){let e=[];for(let n of h)e.push(n.send({type:`event`,subject:i,namespace:t.$meta.namespace,payload:f,messageId:o,correlationId:s}).catch(e=>{let t=s?`[${s}][${o}]`:`[${o}]`;console.error(`${t} Error sending event "${i}" to transport:`,e)}));await Promise.all(e)}}function ut(e,t,n,r){let i=m(t),a=r?.priority??0;e.interceptorHandlers.has(i)||e.interceptorHandlers.set(i,[]);let o=r?.filter?e=>{if(S(e.payload,r.filter))return n(e)}:n;return Fe(e.interceptorHandlers.get(i),{handler:o,priority:a}),()=>{let t=e.interceptorHandlers.get(i);if(t){let n=t.findIndex(e=>e.handler===o);n!==-1&&t.splice(n,1),t.length===0&&e.interceptorHandlers.delete(i)}}}var dt=class extends Error{constructor(e){super(e),this.name=`TimeoutError`}},ft=class extends Error{constructor(e){super(),this.name=`AbortError`,this.message=e}};const pt=e=>globalThis.DOMException===void 0?new ft(e):new DOMException(e),mt=e=>{let t=e.reason===void 0?pt(`This operation was aborted.`):e.reason;return t instanceof Error?t:pt(t)};function ht(e,t){let{milliseconds:n,fallback:r,message:i,customTimers:a={setTimeout,clearTimeout}}=t,o,s=new Promise((s,c)=>{if(typeof n!=`number`||Math.sign(n)!==1)throw TypeError(`Expected \`milliseconds\` to be a positive number, got \`${n}\``);if(t.signal){let{signal:e}=t;e.aborted&&c(mt(e)),e.addEventListener(`abort`,()=>{c(mt(e))})}if(n===1/0){e.then(s,c);return}let l=new dt;o=a.setTimeout.call(void 0,()=>{if(r){try{s(r())}catch(e){c(e)}return}typeof e.cancel==`function`&&e.cancel(),i===!1?s():i instanceof Error?c(i):(l.message=i??`Promise timed out after ${n} milliseconds`,c(l))},n),(async()=>{try{s(await e)}catch(e){c(e)}})()}).finally(()=>{s.clear()});return s.clear=()=>{a.clearTimeout.call(void 0,o),o=void 0},s}function W(e){return e instanceof Error?e:Error(typeof e==`string`?e:`Request aborted`)}async function G(e,t,n){if(t!==0)return ht(e,{milliseconds:t,signal:n});if(!n)return e;if(n.aborted)throw W(n.reason);return new Promise((t,r)=>{let i=()=>{r(W(n.reason))};n.addEventListener(`abort`,i,{once:!0}),e.then(t,r).finally(()=>{n.removeEventListener(`abort`,i)})})}function gt(e,t){let{requestHandlers:n}=e,r=[];for(let[e,i]of n)b(t,e)&&r.push(i);return Oe(r)}function _t(e,t){return gt(e,t).map(e=>e.handler)}function vt(e,t){let{remoteRequestHandlers:n}=e,r=[];for(let[e,i]of n)b(t,e)&&r.push(...i);return r.sort((e,t)=>t.priority-e.priority),r}function yt(e,t){let n=[...e.map(e=>({...e,kind:`local`})),...t.map(e=>({...e,kind:`remote`}))];return n.sort((e,t)=>t.priority===e.priority?e.kind===`local`&&t.kind===`remote`?-1:+(e.kind===`remote`&&t.kind===`local`):t.priority-e.priority),n}function bt(e,t,n){if(!n||n.length===0)return[...t];let r=new Set(n),i=t.filter(e=>r.has(e.transport));return i.length>0?i:[...new Set(n)].filter(t=>{let n=e.transportRegistry.getTransport(t);return n?n.isReady?.()!==!1:!1}).map(e=>({transport:e,priority:0}))}async function K(e,t,n,r,i,a,o){if(i>=r.length){if(o!==void 0)throw o;return{handled:!1}}let s=r[i];return s.kind===`local`?xt(e,t,n,s,r,i+1,a,o):St(e,t,n,s,r,i+1,a,o)}async function xt(e,t,n,r,i,a,o,s){let c=t.subject,l,u=!1,d,f=n,p={isRequest:!0,get payload(){return f},get result(){return u?l:void 0},messageId:o.messageId,correlationId:o.correlationId,transport:o.transport,origin:o.transport?j:A,...o.signal!==void 0&&{signal:o.signal},setResult:e=>{l=e,u=!0},extendResult:e=>{l={...u?l:{},...e},u=!0},replacePayload:e=>{f=e},next:()=>{let n=(async()=>{let n=await K(e,t,f,i,a,o,s);n.handled&&!u&&(l=n.value,u=!0)})();return d??=n,n}};try{if(await r.handler(p),d!==void 0)await d;else if(!u){let n=await K(e,t,f,i,a,o,s);n.handled&&(l=n.value,u=!0)}}catch(e){throw e instanceof T?e:new T(c,e instanceof Error?e.message:String(e),e instanceof Error?e:void 0)}return{handled:u,value:l}}async function St(e,t,n,r,i,a,o,s){let c=t.subject,l=t.$meta.namespace,u=`${l}.${c}`,d=o.deadline??(o.timeout>0?Date.now()+o.timeout:void 0),f=d===void 0?o.timeout:Math.max(0,d-Date.now()),p={...o,deadline:d};if(d!==void 0&&f===0)return K(e,t,n,i,a,p,s);let m=e.transportRegistry.getTransport(r.transport);if(!m)return K(e,t,n,i,a,p,s);let h={type:`request`,subject:c,namespace:l,payload:n,correlationId:o.correlationId,messageId:o.messageId,timeout:f,priority:(()=>{if(a<2)return o.priority;let e=i[a-2].priority;return e===r.priority?e+1:e})(),deadline:d},{signal:g}=o;try{if(g?.aborted)throw W(g.reason);return{handled:!0,value:await G(m.send(h,f),f,g)}}catch(l){if(g?.aborted)throw m.cancelRequest?.(o.correlationId,l instanceof Error?l:W(g.reason)),l instanceof Error?l:W(g.reason);return ge(l,u)?K(e,t,n,i,a,p,s):(console.error(`[${o.correlationId}][${o.messageId}] Error sending request "${c}" via transport '${r.transport}':`,l),K(e,t,n,i,a,p,s??l))}}async function Ct(e,t,n,r){let i=m(t),a=gt(e,i),o=yt(a,t.$meta.local||r.localOnly?[]:bt(e,vt(e,i),r.allowedTransports)),s=r.priority,c=s===void 0?0:o.findIndex(e=>e.priority<s);if(!t.$meta.local&&!r.localOnly){let o=e.transportRegistry.getPendingReady();if(o.length>0){await G(Promise.allSettled(o),r.timeout,r.signal);let s=yt(a,bt(e,vt(e,i),r.allowedTransports));if(s.length===0)return{handled:!1};let c=r.priority,l=c===void 0?0:s.findIndex(e=>e.priority<c);return l===-1?{handled:!1}:K(e,t,n,s,l,r)}}return c===-1||o.length===0?{handled:!1}:K(e,t,n,o,c,r)}const wt=6e4;function Tt(e,t,n,r){return t.$meta.local?!0:z(B(e,t,n,r))}function Et(e){if(e===void 0)return;let t=Array.isArray(e)?e:Array.from(e);return t.length>0?t.map(String):void 0}async function q(e,t,n,r){let i=t.subject,a=m(t);P(e,t,a);let o=r?.messageId??R(),s=r?.correlationId??R(),c=r?.timeout??6e4,l=r?.signal,u=Tt(e,t,a,r?.transports),d=Me(e,a);Ne(a,n,d),Ye(e,`request`,i,t.$meta.namespace,n,o,s),rt(e,{type:`request`,namespace:t.$meta.namespace,subject:i,payload:n,messageId:o,correlationId:s,transport:r?.transport,localOnly:u});let f=Et(r?.transports),p;try{p=await G(Ct(e,t,n,{allowedTransports:f,correlationId:s,messageId:o,timeout:c,signal:l,localOnly:u}),c,l)}catch(e){throw e instanceof dt?new E(i,c):e}if(!p.handled)throw new w(a);let h=p.value;return Pe(a,h,d),h}async function Dt(e,t,n,r){try{return{handled:!0,data:await q(e,t,n,r)}}catch(e){if(e instanceof w)return{handled:!1};throw e}}var Ot=class extends Error{constructor(){super(`once() was aborted via AbortSignal`),this.name=`OnceAbortError`}},kt=class extends Error{constructor(e,t){super(`once() timed out after ${t}ms waiting for subject: ${e}`),this.name=`OnceTimeoutError`}};function At(e,t,n){if(typeof n==`function`){let r=n,i=null;return i=F(e,t,(e=>{let t=i;return i=null,t?.(),r(e)})),()=>{i&&=(i(),null)}}let r=n;return new Promise((n,i)=>{let a=null,o=null,s=null,c=r?.signal,l=()=>{o&&=(clearTimeout(o),null),c&&s&&(c.removeEventListener(`abort`,s),s=null),a&&=(a(),null)};if(c){if(c.aborted){l(),i(new Ot);return}s=()=>{l(),i(new Ot)},c.addEventListener(`abort`,s,{once:!0})}a=F(e,t,(e=>{l(),n(e)}),r?.filter?{filter:r.filter}:void 0);let u=Be(a),d=()=>{r?.timeoutMs&&a!==null&&(o=setTimeout(()=>{l(),i(new kt(m(t),r.timeoutMs))},r.timeoutMs))};u?u.then(d,d):d()})}function jt(e,t,n,r,i){let a=`anonymous`,o=!1,s;return{isRequest:!0,payload:e,messageId:t,correlationId:n,transport:i,origin:i?j:A,get result(){return s},identify:e=>{a=e},setResult:e=>{o||(o=!0,s=e,r(a,e))},extendResult:e=>{o?Object.assign(s,e):(s={...e},o=!0,r(a,s))},next:async()=>{},replacePayload:()=>{}}}async function Mt(e,t){let n=[],r=jt(t.payload,t.messageId,t.correlationId,(e,t)=>{n.push({nodeId:e,payload:t})},t.transport);try{await e(r)}catch(e){return console.error(`[${t.correlationId}][${t.messageId}] Broadcast handler error for "${t.subjectKey}":`,e),[]}for(let e of n)Pe(t.fullSubjectKey,e.payload,t.validationCtx);return n}async function Nt(e,t,n,r){let i=t.subject,a=m(t),o=r?.messageId??R(),s=r?.correlationId??R(),c=r?.timeout??6e4,l=r?.signal,u=Me(e,a),d=B(e,t,a,r?.transports),f=t.$meta.local||e.namespaceRegistry.isCollectorOnlySubject(a)||z(d);Ne(a,n,u),Ye(e,`broadcast`,i,t.$meta.namespace,n,o,s),rt(e,{type:`broadcast`,namespace:t.$meta.namespace,subject:i,payload:n,messageId:o,correlationId:s,transport:r?.transport,localOnly:f});let p=[],h=_t(e,a),g=d===void 0?t.$meta.local?[]:ye(e).map(({transport:e})=>e):Ge(e,d,t),_=h.map(async e=>{let t=await Mt(e,{payload:n,messageId:o,correlationId:s,subjectKey:i,fullSubjectKey:a,transport:r?.transport,validationCtx:u});p.push(...t)}),v=g.map(async e=>{try{let r=await e.send({type:`broadcast`,subject:i,namespace:t.$meta.namespace,payload:n,correlationId:s,messageId:o,timeout:c},c);for(let e of r)Pe(a,e.payload,u),p.push({nodeId:e.nodeId,payload:e.payload})}catch(e){console.error(`[${s}][${o}] Broadcast transport error for "${i}":`,e)}});try{await G(Promise.all([..._,...v]),c,l)}catch(e){throw e instanceof dt?new E(i,c):e}return p}function J(e,t,n){if(!t?.$meta)throw Error(`Invalid subject definition provided to ${e}()`);if(t.$meta.channel)throw new ue(String(t.subject));if(n){let e=t?.$meta?.namespace??`(NO NAMESPACE)`;if(e!==n)throw Error(`Subject namespace ${e} does not match scoped bus namespace ${n}`)}if(e===`emit`){if(t.$meta.isRequest)throw Error(`Cannot emit to request subjects. Use event subjects only.`);if(t.subject?.includes(`*`))throw Error(`Emitting wildcard subjects is not allowed. Use concrete subject keys only.`)}if(e===`intercept`){if(t.$meta.isRequest===!0)throw Error(`intercept() only supports event subjects, not request subjects. Use middleware for requests.`);if(t.subject?.includes(`*`))throw Error(`intercept() requires exact subjects, not wildcards. Wildcards are only supported for on().`)}}function Y(e,t){let n=se(e,t?.filter);return!n||Object.keys(n).length===0?t:{...t,filter:n}}function X(e,t,n){return{namespace:t,getFilter(){return n},withFilter:(r=>X(e,t,se(n,r))),on(r,i,a){return J(`on`,r,t),F(e,r,i,Y(n,a))},intercept(r,i,a){return J(`intercept`,r,t),ut(e,r,i,Y(n,a))},once:((r,i)=>{if(J(`once`,r,t),typeof i==`function`){let t=i,a=null;return a=F(e,r,(e=>{let n=a;return a=null,n?.(),t(e)}),Y(n,void 0)),()=>{a&&=(a(),null)}}return At(e,r,Y(n,i))}),async emit(n,r){return J(`emit`,n,t),U(e,n,r)},async request(n,r){return J(`request`,n,t),q(e,n,r)},async requestOptional(n,r){return J(`request`,n,t),Dt(e,n,r)}}}function Pt(e,t){let n=t,r=$({context:e,namespace:n});return{namespace:n,emit:r.emit,on:r.on,intercept:r.intercept,once:r.once,request:r.request,requestOptional:r.requestOptional,withFilter:(t=>X(e,n,t)),getContext:()=>e}}const Ft=new WeakMap;function It(e){let t=e._def.values;if(t)return new Set(t.map(e=>`literal:${typeof e}:${String(e)}`))}function Lt(e){let t=e._def.checks;return Array.isArray(t)&&t.length>0}function Rt(t,n=!1){let r=new Set,i=t;for(;i instanceof e.ZodOptional||i instanceof e.ZodNullable||i instanceof e.ZodDefault||i instanceof e.ZodReadonly;){if(i instanceof e.ZodDefault)return;i instanceof e.ZodOptional&&r.add(`undefined`),i instanceof e.ZodNullable&&r.add(`null`),i=i.unwrap()}if(!(n&&Lt(i))){if(i instanceof e.ZodLiteral){let e=It(i);if(!e)return;for(let t of e)r.add(t);return r}if(i instanceof e.ZodString)r.add(`string`);else if(i instanceof e.ZodNumber)r.add(`number`);else if(i instanceof e.ZodBoolean)r.add(`boolean`);else if(i instanceof e.ZodBigInt)r.add(`bigint`);else if(i instanceof e.ZodDate)r.add(`date`);else return;return r}}function zt(e,t){let n=Rt(e,!0),r=Rt(t);if(!n||!r)return!1;for(let e of r){if(n.has(e))continue;let t=e.startsWith(`literal:`)?e.slice(8).split(`:`,1)[0]:e;if(!n.has(t))return!1}return!0}function Bt(e){let t=e._def.checks;return Array.isArray(t)&&t.length>0}function Vt(e){let t=Ft.get(e);if(t)return t;let n=new Map(Object.entries(e.shape).map(([e,t])=>[e,t]));return Ft.set(e,n),n}function Ht(e,t,n){if(!Bt(e))return;let r=Vt(e);for(let[e,i]of Object.entries(t)){let t=r.get(e);if(t&&!zt(t,i))throw Error(`[MakaioBus] Cannot extend ${n}: field '${e}' overrides an incompatible refined schema field`)}}function Ut(e,t){Bt(e)&&Ft.set(t,Vt(e))}function Z(t,n){if(!(t instanceof e.ZodObject)){let e=t?.constructor?.name??typeof t;throw Error(`[MakaioBus] Cannot extend ${n}: schema is not a ZodObject (got ${e})`)}}function Wt(e,t,n){Ht(e,t,n);let r=e.safeExtend(t),i=e.meta(),a=i?r.meta(i):r;return Ut(e,a),a}function Gt(e,t){let n=Kt(e.toLowerCase(),t.toLowerCase());return n===0?Kt(e,t):n}function Kt(e,t){if(e===t)return 0;let n=Array.from(e),r=Array.from(t),i=Math.min(n.length,r.length);for(let e=0;e<i;e+=1){let t=n[e].codePointAt(0),i=r[e].codePointAt(0);if(t!==i)return(t??0)<(i??0)?-1:1}return n.length-r.length}const qt=async(e,t)=>{if(!e)throw Error(`Namespace not initialized yet`);let{MakaioBus:n}=await import(`./bus-D-ioC0DE.mjs`),{createScopedBus:r}=await import(`./scoped-bus-CZId-Df8.mjs`),i=t??n.getContext();if(!i)throw Error(`No MakaioBus context available. Please provide a context when calling scopedBus().`);return r(i,e)};function Jt(e,t,n){let r=Array.from(t.keys()),i=Array.from(n.keys()),a=i.filter(e=>!t.has(e)),o=r.filter(e=>!n.has(e)),s=i.filter(e=>{let r=t.get(e),i=n.get(e);return r!==void 0&&i!==void 0&&!Yt(r,i)});if(a.length===0&&o.length===0&&s.length===0)return;let c=[];a.length>0&&c.push(`new subjects: ${a.join(`, `)}`),o.length>0&&c.push(`missing subjects: ${o.join(`, `)}`),s.length>0&&c.push(`changed schemas: ${s.join(`, `)}`),console.warn(`[MakaioBus] Namespace '${e}' already registered with different schemas. ${c.join(`; `)}. This usually indicates a namespace collision between packages.`)}function Yt(e,t){let n=Xt(e),r=Xt(t);return typeof n==`string`&&typeof r==`string`?n===r:e===t}function Xt(t){try{let n=r(t)?{request:e.toJSONSchema(t.request),response:e.toJSONSchema(t.response)}:e.toJSONSchema(t);return JSON.stringify(n)}catch{return t}}function Zt(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n,f(r));return t}function Qt(e){return e?.busValidationMode===`lenient`?{mode:`lenient`,onViolation:e.onSchemaViolation}:e?.busValidationMode===`skip`?{mode:`skip`}:{mode:`strict`}}function $t(e,t,n){t.mode===n.mode&&t.onViolation===n.onViolation||console.warn(`[MakaioBus] Namespace '${e}' already registered with different validation settings. Existing mode: ${t.mode}; incoming mode: ${n.mode}. This usually indicates a namespace collision between packages.`)}const en=()=>{let e=new Map,t=new Map,n=new Map,a=new Map,s=new Set,c=new Set,l=new Map,d=new Map;return{registerNamespace(r){let{name:p,schemas:m,options:h}=r,g=Zt(m),_=e.get(p);if(_)return Jt(p,t.get(p)??new Map,g),$t(p,l.get(p)??{mode:`strict`},Qt(h)),_;l.set(p,Qt(h)),t.set(p,g);for(let[e,t]of Object.entries(m)){let l=`${p}.${e}`,m=o(t),h=u(t),_=i(t),v=g.get(e)??f(t);n.set(l,v),a.set(l,{namespace:p,subject:e,fullSubject:l,schema:v,local:m,collectorOnly:h,channel:_}),m&&s.add(l),h&&c.add(l),r.defaultTransports&&d.set(l,r.defaultTransports)}let v={name:p,subjects:r.subjects,scopedBus:e=>qt(p,e)};return e.set(p,v),v},registerNamespaces(e){for(let t of e)this.registerNamespace(t)},getSchema(e){let t=typeof e==`string`?e:m(e);return n.get(t)},listRegisteredSubjects(){return Array.from(a.values()).map(e=>({...e,schema:r(e.schema)?{...e.schema}:e.schema})).sort((e,t)=>Gt(e.fullSubject,t.fullSubject))},getRegisteredSubject(e){return a.get(e)},isRequestSubject(e){let t=n.get(e);return t?r(t):!1},isLocalSubject(e){return s.has(e)},isCollectorOnlySubject(e){return c.has(e)},getDefaultTransports(e){return d.get(e)??`all`},getValidationConfig(e){let t;for(let[n,r]of l)(e===n||e.startsWith(n+`.`))&&(!t||n.length>t.namespace.length)&&(t={namespace:n,config:r});return t?.config??{mode:`strict`}},extendSubjectSchema(e,t){let i=n.get(e);if(!i)throw Error(`[MakaioBus] Cannot extend subject '${e}': not registered. Ensure the owning namespace is imported before calling extendSubject().`);if(r(i)){let r=t;r.request&&Z(i.request,`'${e}' request`),r.response&&Z(i.response,`'${e}' response`);let o={request:r.request?Wt(i.request,r.request,`'${e}' request`):i.request,response:r.response?Wt(i.response,r.response,`'${e}' response`):i.response};n.set(e,o);let s=a.get(e);s&&a.set(e,{...s,schema:o})}else{Z(i,`'${e}'`);let r=Wt(i,t,`'${e}'`);n.set(e,r);let o=a.get(e);o&&a.set(e,{...o,schema:r})}},__resetNamespaces:process.env.NODE_ENV===`test`?()=>{e.clear(),t.clear(),n.clear(),a.clear(),s.clear(),c.clear(),l.clear(),d.clear()}:void 0}},tn=(e,t)=>({subject:e.subject,$meta:{namespace:e.namespace,isRequest:t,payload:{},local:!1,channel:!1}}),nn=(e,t)=>ye(e,t),rn=async(e,t,n,r)=>{let i=D(n);if(i){if(e.namespaceRegistry.isLocalSubject(i)){console.warn(`[TransportRegistry] Dropping inbound event '${i}' from transport '${String(t)}': subject is local-only and cannot be invoked remotely.`);return}if(!e.namespaceRegistry.isCollectorOnlySubject(i)){let r=nn(e,t),a=await Promise.allSettled(r.map(async({transport:e})=>e.send(n)));for(let[e,t]of a.entries())t.status===`rejected`&&console.error(`[TransportRegistry] Failed to relay event '${i}' to transport '${String(r[e].name)}':`,t.reason)}await U(e,tn(n,!1),n.payload,{messageId:n.messageId,correlationId:n.correlationId,transports:[],transport:r})}},an=async(e,t,n,r,i)=>{let a=D(r),o=r.timeout??6e4;if(!a){await k(n,r,Error(`Invalid subject in request message`));return}if(e.namespaceRegistry.isLocalSubject(a)){await k(n,r,new pe(a));return}let s=tn(r,!0);try{let t=await Ct(e,s,r.payload,{correlationId:r.correlationId,messageId:r.messageId,timeout:o,deadline:r.deadline,priority:r.priority,transport:i});if(!t.handled){await k(n,r,new w(a));return}await n.send({type:`response`,correlationId:r.correlationId,result:t.value})}catch(e){await k(n,r,e)}},Q=async(e,t,n,r)=>{if(e.onBroadcastResults){e.onBroadcastResults(t,n,r);return}let i={type:`broadcast-response`,correlationId:t,...n.length>0?{results:n}:{},...r?{error:r}:{}};await e.send(i)},on=async(e,t,n,r,i)=>{let a=D(r),o=r.timeout??6e4;if(!a){await Q(n,r.correlationId,[],O(Error(`Invalid subject in broadcast message`)));return}if(e.namespaceRegistry.isLocalSubject(a)){await Q(n,r.correlationId,[],O(new pe(a)));return}try{let s=[],c,l=Nt(e,tn(r,!0),r.payload,{messageId:r.messageId,correlationId:r.correlationId,timeout:o,transports:[],transport:i}).then(e=>s.push(...e)).catch(e=>{c=O(e)}),u=nn(e,t).map(async({name:e,transport:t})=>{try{s.push(...await t.send(r,o))}catch(t){console.error(`[TransportRegistry] Failed to relay broadcast '${a}' to transport '${String(e)}':`,t)}});await Promise.all([l,...u]),await Q(n,r.correlationId,s,c)}catch(e){await Q(n,r.correlationId,[],O(e))}},sn=async(e,t,n)=>{for(let[r,i]of Object.entries(n.subjects)){let n=String(t),a=e.remoteRequestHandlers.get(r),o=a?a.filter(e=>e.transport!==n):[];for(let e of i)o.push({transport:n,priority:e});if(o.length>0?e.remoteRequestHandlers.set(r,o):e.remoteRequestHandlers.delete(r),i.length===0){let t=e.remoteEventHandlers.get(r)??new Set;t.add(n),e.remoteEventHandlers.set(r,t)}else e.remoteEventHandlers.get(r)?.delete(n)}await M(e,t,Object.keys(n.subjects))},cn=async(e,t,n)=>{let r=String(t);for(let t of Object.keys(n.subjects)){let n=e.remoteRequestHandlers.get(t);if(n){let i=n.filter(e=>e.transport!==r);i.length===0?e.remoteRequestHandlers.delete(t):e.remoteRequestHandlers.set(t,i)}e.remoteEventHandlers.get(t)?.delete(r)}await M(e,t,Object.keys(n.subjects))},ln=(e,t)=>{let n=new Set;for(let[r,i]of e.remoteRequestHandlers){let a=i.filter(e=>e.transport!==t);a.length===0?e.remoteRequestHandlers.delete(r):e.remoteRequestHandlers.set(r,a),n.add(r)}for(let[r,i]of e.remoteEventHandlers)i.has(t)&&(i.delete(t),n.add(r));n.size>0&&M(e,t,[...n])},un=(e,t,n)=>{if(n===void 0)return;e.set(t,n);let r=()=>{e.get(t)===n&&e.delete(t)};n.then(r,r)},dn=e=>{let t=new Map,n,r=new Map,i=async(t,n,r,i)=>{try{if(r.type===`subscribe-sync-complete`||r.type===`subscription-ack`)return;if(r.type===`subscribe`){await sn(e,t,r);return}if(r.type===`unsubscribe`){await cn(e,t,r);return}let a=i?{...i,transportName:i.transportName||String(t)}:{transportName:String(t)};r.type===`event`?await rn(e,t,r,a):r.type===`request`?await an(e,t,n,r,a):r.type===`broadcast`&&await on(e,t,n,r,a)}catch(e){console.error(`[TransportRegistry] Unhandled error processing transport message:`,e)}};return{registerTransport(a,o){let s=t.get(a);s&&(console.warn(`[TransportRegistry] Replacing existing transport '${a}'. This unsubscribes the old transport's handler - if unintended, use a different name.`),ln(e,String(a)),s.syncAbort.abort(),s.unsubscribe(),s.transport.onNewReadySession=void 0,s.transport.onConnected=void 0,s.transport.onDisconnected=void 0,r.delete(a));let c=o.onReceive(async(e,t)=>{await i(a,o,e,t)}),l=new AbortController;return t.set(a,{transport:o,unsubscribe:c,syncAbort:l}),un(r,a,o.ready),o.onNewReadySession=e=>un(r,a,e),o.onConnected=()=>n?.onConnected(String(a)),o.onDisconnected=()=>n?.onDisconnected(String(a)),Le(e,a,o,l.signal),{unregister:()=>{let n=t.get(a);n?.transport===o&&(n.syncAbort.abort(),n.unsubscribe(),t.delete(a),r.delete(a),o.onNewReadySession=void 0,o.onConnected=void 0,o.onDisconnected=void 0,ln(e,String(a)))},ready:o.ready??Promise.resolve()}},getTransport(e){return t.get(e)?.transport},all(){return Array.from(t.values(),e=>e.transport)},names(){return Array.from(t.keys())},getPendingReady(){return Array.from(r.values())},setLifecycleEmitter(e){n=e}}};function fn(e,t){return{subject:e,register(n){return n.extendSubject(e,t)}}}function pn(e,t,n){let r=m(t);return e.namespaceRegistry.extendSubjectSchema(r,n),t}const mn={connected:s(e.object({transport:e.string()})),disconnected:s(e.object({transport:e.string()}))};function hn(e,t){e.transportRegistry.setLifecycleEmitter({onConnected(n){U(e,t.connected,{transport:n}).catch(e=>{console.error(`[bus] lifecycle emit error on connected:`,e)})},onDisconnected(n){U(e,t.disconnected,{transport:n}).catch(e=>{console.error(`[bus] lifecycle emit error on disconnected:`,e)})}})}const gn=()=>{let e={eventHandlers:new Map,requestHandlers:new Map,interceptorHandlers:new Map,anyHandlers:new Set,messageObservers:new Set,transportRegistry:void 0,namespaceRegistry:en(),remoteRequestHandlers:new Map,remoteEventHandlers:new Map};return e.transportRegistry=dn(e),e},_n=e=>{let t=new Map,n=!1,r=null,i=null,a=null,o=()=>n||r!==null,s=e=>e.every(e=>t.get(e.transport.name)===e),c=async e=>{for(let n of e)try{n.unregister()}catch(e){console.error(`[bus.connect] Failed to unregister '${n.transport.name}' during rollback:`,e)}finally{t.get(n.transport.name)===n&&t.delete(n.transport.name)}await Promise.allSettled(e.map(e=>e.transport.disconnect()))},l=e=>{i===e&&(i=null)},u=async e=>{e?.awaitReady!==!1&&i&&await i},d=()=>{let e=!1,t=!1,n,r,i,a=new Promise((e,t)=>{n=e,r=t}),o=new Promise(e=>{i=e});return a.catch(()=>void 0),{promise:a,cancelSignal:o,resolve:()=>{t||(t=!0,n())},reject:e=>{t||(t=!0,r(e))},cancel:()=>{e||(e=!0,i(),t||(t=!0,n()))},isCanceled:()=>e}},f=(e,t)=>{let n=t instanceof Error?t.message:String(t),r=Error(`Failed to connect transport "${e}": ${n}`,{cause:t});if(typeof t==`object`&&t){let e=t,n=r;`code`in e&&(n.code=e.code),`status`in e&&(n.status=e.status)}return r},p=async(e,t)=>{await c(e),t()},m=async(e,t,n,r)=>{n(r),l(t),await c(e)},h=(e,t)=>{let n=Promise.all(e.map(e=>e.ready.catch(t=>{throw console.error(`[bus.connect] Transport '${e.transport.name}' ready failed:`,t),t}))).then(()=>{});return n.catch(()=>void 0),Promise.race([n,t.cancelSignal])};return{registerTransport:n=>{if(o())throw Error(`[bus.connect] Cannot register transport '${n.name}' after connect() has started; create a new bus instance or use the shared transport registry directly`);let r=e.transportRegistry.registerTransport(n.name,n);return t.set(n.name,{transport:n,unregister:r.unregister,get ready(){return n.ready??r.ready}}),r},unregisterTransport:e=>{let n=t.get(e);n&&(n.unregister(),t.delete(e))},get ready(){return i??Promise.resolve()},disconnect:()=>{n=!1,a?.cancel(),a=null,r=null,i=null;for(let{transport:e,unregister:n}of t.values()){try{Promise.resolve(e.disconnect()).catch(()=>{})}catch{}n()}t.clear()},reconnect:async()=>{let e=Array.from(t.values()).filter(e=>typeof e.transport.reconnect==`function`),n=await Promise.allSettled(e.map(e=>Promise.resolve().then(()=>e.transport.reconnect())));for(let[t,r]of n.entries())r.status===`rejected`&&console.error(`[bus] reconnect failed for transport '${e[t].transport.name}':`,r.reason)},connect:async e=>{if(n){await u(e);return}if(r){await r,await u(e);return}let o=Array.from(t.values());if(o.length===0)return;let c=d();i=c.promise,a=c;let l=null,g=!1;r=(async()=>{try{await Promise.all(o.map(async e=>{try{await e.transport.connect()}catch(t){throw f(e.transport.name,t)}}))}catch(e){throw await m(o,c.promise,c.reject,e),e}if(!s(o)){await p(o,c.resolve);return}n=!0;try{let t=h(o,c),r=async()=>{if(!(!n||c.isCanceled())&&(await t,!(!n||c.isCanceled()))){if(!s(o)){await p(o,c.resolve);return}c.resolve()}};e?.awaitReady===!1?(l=r(),g=!0,l.catch(async e=>{console.error(`[bus.connect] Background ready failed:`,e),await m(o,c.promise,c.reject,e),n=!1}).finally(()=>{l=null,a===c&&(a=null)})):(l=r(),await l)}catch(e){throw n=!1,await m(o,c.promise,c.reject,e),e}})().finally(()=>{r=null,!g&&a===c&&(a=null),l=null}),await r}}};function vn(e){e.eventHandlers.clear(),e.requestHandlers.clear(),e.interceptorHandlers.clear(),e.anyHandlers.clear(),e.messageObservers.clear(),e.remoteRequestHandlers.clear(),e.remoteEventHandlers.clear(),Je()}function $(e){let{context:t=gn(),namespace:n,transports:r}=e??{},i=_n(t),a={namespace:n,on:(e,r,i)=>(J(`on`,e,n),F(t,e,r,i)),intercept:(e,r,i)=>(J(`intercept`,e,n),ut(t,e,r,i)),once:(e,r)=>(J(`once`,e,n),At(t,e,r)),emit:async(e,r,i)=>(J(`emit`,e,n),U(t,e,r,i)),request:async(e,r,i)=>(J(`request`,e,n),q(t,e,r,i)),requestOptional:async(e,r,i)=>(J(`request`,e,n),Dt(t,e,r,i)),broadcast:async(e,r,i)=>(J(`request`,e,n),Nt(t,e,r,i)),scoped:(e,n)=>Pt(n??t,e.name),withFilter:e=>X(t,n??``,e),...i,getContext:()=>t,getSchema:e=>t.namespaceRegistry.getSchema(e),registerNamespace:e=>t.namespaceRegistry.registerNamespace(e),registerNamespaces:e=>t.namespaceRegistry.registerNamespaces(e),extendSubject:(e,r)=>{if(n&&e.$meta.namespace!==n)throw Error(`Subject namespace ${e.$meta.namespace} does not match scoped bus namespace ${n}`);return pn(t,e,r)},observeMessages:e=>(t.messageObservers.add(e),()=>{t.messageObservers.delete(e)}),__onAny:e=>process.env.NODE_ENV===`production`?()=>{}:(t.anyHandlers.add(e),()=>{t.anyHandlers.delete(e)}),__resetHandlers:process.env.NODE_ENV===`test`?()=>vn(t):void 0};Object.defineProperty(a,`ready`,{get(){return i.ready},enumerable:!0,configurable:!0}),hn(t,a.registerNamespace(h(`bus:lifecycle`,mn)).subjects);for(let e of r??[])a.registerTransport(e);return a}const yn=$();export{me as A,S as B,Ee as C,he as D,ge as E,ue as F,h as G,x as H,le as I,l as J,m as K,ce as L,pe as M,de as N,E as O,fe as P,C as R,Se as S,D as T,b as U,se as V,ie as W,a as X,s as Y,r as Z,je as _,fn as a,Ce as b,X as c,wt as d,U as f,Re as g,Ve as h,mn as i,w as j,T as k,Ot as l,F as m,gn as n,pn as o,it as p,d as q,$ as r,Pt as s,yn as t,q as u,A as v,xe as w,De as x,j as y,ae as z};
@@ -1 +0,0 @@
1
- import{o as e,s as t}from"./definitions-C1pgx0Nq.mjs";import{t as n}from"./schemas-CMyv7l7-.mjs";import{_ as r,a as i,g as a,h as o,m as s,n as ee,o as te}from"./profile-BRi6K6am.mjs";import{n as ne,t as c}from"./version-BbWrAPld.mjs";import{c as re,d as ie,n as ae,o as oe,s as se,t as l,u as ce}from"./account-identity-CP4DC0DL.mjs";import{z as u}from"zod";import{createBusNamespace as le,observability as d}from"@makaio/framework/core";const f=u.object({tag:u.string(),description:u.string().optional()}),p=u.object({name:u.string(),friendlyName:u.string(),description:u.string().optional(),category:u.string().optional(),capabilities:u.array(f).default([])}),m=u.object({id:u.string(),name:u.string(),description:u.string().optional(),glob:u.string().optional()}),h=u.object({name:u.string().min(1),frameworkSubject:u.string().min(1).optional(),mode:u.enum([`event`,`request`]).default(`event`)}),g=u.object({envVar:a.regex(/^[A-Za-z_][A-Za-z0-9_]*$/,{message:`envVar must be a valid environment variable name (letters, digits, underscores)`}),defaultPath:a.refine(e=>e===`~`||e.startsWith(`~/`)||r(e),{message:`defaultPath must be absolute, '~', or start with '~/'`}),pathKind:u.enum([`directory`,`file`]).default(`directory`)});function ue(e){if(!e.startsWith(`@`))return!e.includes(`@`);let t=e.indexOf(`/`);return t>1&&!e.slice(t+1).includes(`@`)}const _=u.object({type:u.literal(`npm`),package:u.string().min(1).refine(ue,{message:"package must not include an inline `@version` suffix; use the version field instead"}),version:c}),v=u.object({type:u.literal(`signed-binary-bucket`),version:c,config:u.object({baseUrl:u.string().url(),manifestPathTemplate:u.string().min(1),manifestSignaturePathTemplate:u.string().min(1),publicKeyUrl:u.string().url(),publicKeyFingerprint:u.string().min(1),binaryPathTemplate:u.string().min(1),platforms:u.record(u.string().min(1),u.string().min(1))})}),y=u.discriminatedUnion(`type`,[_,v]),b=u.object({executable:u.union([u.string().min(1),u.object({default:u.string().min(1),darwin:u.string().min(1).optional(),linux:u.string().min(1).optional(),win32:u.string().min(1).optional()}).strict()]),args:u.array(u.string()).default([])}).strict(),x=u.object({kind:u.string().min(1),payload:u.record(u.string(),u.unknown()).optional()}),S=u.object({supportsHooks:u.boolean().default(!1),supportsStatusline:u.boolean().default(!1),supportsSupervisorLaunch:u.boolean().default(!1),supportsManagedBinary:u.boolean().default(!1),hookEvents:u.array(h).default([])}).refine(e=>e.supportsHooks||e.hookEvents.length===0,{message:`hookEvents must be empty when supportsHooks is false`,path:[`hookEvents`]}),C=u.object({name:u.string().min(1),supportedVersions:ne}).strict(),w=u.object({id:u.string(),name:u.string(),version:c,description:u.string().optional(),binary:C.optional(),nativeTools:u.array(p).default([]),defaultApprovalPolicy:n,logSources:u.array(m).optional(),authMethods:e,defaultAuth:t.optional(),runtimeCapabilities:S.optional().transform(e=>S.parse(e??{})),managedInstall:y.optional(),versionCommand:b.optional(),postInstall:x.optional(),configIsolation:g.optional()}).strict().refine(e=>!e.runtimeCapabilities.supportsManagedBinary||e.managedInstall!==void 0,{message:`managedInstall is required when runtimeCapabilities.supportsManagedBinary is true`,path:[`managedInstall`]}).refine(e=>e.managedInstall===void 0||e.runtimeCapabilities.supportsManagedBinary,{message:`runtimeCapabilities.supportsManagedBinary must be true when managedInstall is provided`,path:[`runtimeCapabilities`,`supportsManagedBinary`]}).refine(e=>e.managedInstall===void 0||e.versionCommand!==void 0,{message:`versionCommand is required when managedInstall is provided`,path:[`versionCommand`]}).superRefine((e,t)=>{e.defaultAuth!==void 0&&e.authMethods.find(({id:t})=>t===e.defaultAuth?.methodId)?.mode!==`inferred`&&t.addIssue({code:u.ZodIssueCode.custom,message:`defaultAuth.methodId must reference an inferred method declared by this client.`,path:[`defaultAuth`,`methodId`]})}).superRefine((e,t)=>{if(e.managedInstall===void 0||e.versionCommand===void 0)return;let{executable:n}=e.versionCommand,r=typeof n==`string`?[{path:n,issuePath:[`versionCommand`,`executable`]}]:[{path:n.default,issuePath:[`versionCommand`,`executable`,`default`]},...n.darwin===void 0?[]:[{path:n.darwin,issuePath:[`versionCommand`,`executable`,`darwin`]}],...n.linux===void 0?[]:[{path:n.linux,issuePath:[`versionCommand`,`executable`,`linux`]}],...n.win32===void 0?[]:[{path:n.win32,issuePath:[`versionCommand`,`executable`,`win32`]}]];for(let{path:e,issuePath:n}of r){let r=e.startsWith(`/`),i=/^[A-Za-z]:/.test(e),a=e.startsWith(`\\`);if(r||i||a){t.addIssue({code:u.ZodIssueCode.custom,path:n,message:`${n.join(`.`)} must be a relative path within the install directory`});continue}e.split(/[/\\]/).some(e=>e===`..`)&&t.addIssue({code:u.ZodIssueCode.custom,path:n,message:`${n.join(`.`)} must be a relative path within the install directory`})}}),T=u.object({binaryPath:s.nullable(),env:u.record(u.string(),u.string()),configDir:s.nullable(),source:u.enum([`managed`,`global`]),version:a.nullable()}),E={request:u.object({clientId:a,sessionId:a.optional(),projectDir:s.optional(),preferSource:u.enum([`managed`,`global`]).optional(),harnessId:a.optional()}),response:T},D=u.enum([`npm`,`signed-binary-bucket`]),O=u.object({version:a,installPath:s,installedAt:o,isActive:u.boolean()}),k=u.object({clientId:a,installedVersions:u.array(O),activeVersion:a.nullable(),pinnedVersion:c,updateAvailable:u.boolean()}).strict(),A={request:u.object({forceRefresh:u.boolean().optional()}),response:u.object({clients:u.array(k)})},j={request:u.object({clientId:a,version:c.optional()}),response:u.object({jobId:a,requestedVersion:c.nullable(),resolvedVersion:c.nullable()})},de={request:u.object({clientId:a,version:a}),response:u.object({clientId:a,removedVersion:a,activeVersion:a.nullable()})},M={request:u.object({clientId:a}),response:u.object({jobId:a,resolvedVersion:c.nullable()})},N={request:u.object({clientId:a,version:a}),response:u.object({clientId:a,activeVersion:a})},P=u.enum([`resolving`,`downloading`,`verifying`,`extracting`,`installing`,`post-install`,`activating`]),F=u.object({jobId:a,clientId:a,version:a.optional(),strategy:D,stage:P,progress:u.number().min(0).max(100).nullable(),installPath:s.optional(),activeAfterCompletion:u.boolean().optional(),metadata:u.record(u.string(),u.unknown()).optional()}),I=u.object({message:u.string(),code:u.string().optional()}),L=u.object({jobId:a,clientId:a,version:a.optional(),strategy:D,status:u.enum([`success`,`error`]),installPath:s.optional(),activeVersion:a.nullable(),error:I.optional(),metadata:u.record(u.string(),u.unknown()).optional()}),R=u.object({clientId:a,previousActiveVersion:a.nullable(),activeVersion:a.nullable(),reason:u.enum([`install`,`update`,`set-active`,`uninstall`])}),z=u.enum([`supervisor`,`adapter`,`client-hook`,`statusline`,`cli-wrapper`]),B=u.object({layer:z,producer:a}),V=u.object({supervisorSessionId:a.optional(),pid:u.number().int().positive().optional(),parentPid:u.number().int().positive().optional(),adapterSessionId:a.optional(),sessionId:a.optional(),cwd:u.string().optional(),argv:u.array(u.string()).optional(),metadata:u.record(u.string(),u.unknown()).optional()}),H={request:u.object({clientId:a,source:B,observedAt:o}).merge(V).refine(e=>e.supervisorSessionId!==void 0||e.pid!==void 0||e.adapterSessionId!==void 0,{message:`At least one hard-evidence field is required (supervisorSessionId, pid, or adapterSessionId)`}),response:u.object({clientRuntimeId:a,created:u.boolean(),promoted:u.boolean()})},U=V.extend({clientRuntimeId:a,clientId:a,status:u.enum([`observed`,`started`]),source:B,observedAt:o}),W={request:u.object({adapterSessionId:a,clientId:a}),response:u.object({managed:u.boolean()})},G=u.object({clientId:d.attribute(a,`makaio.client.id`),source:d.attribute(a,`makaio.client.lifecycle.source`),observedAt:d.attribute(o,`event.observed_at`),sessionId:d.attribute(u.string(),`makaio.session.id`).optional(),adapterSessionId:d.attribute(u.string(),`makaio.adapter.session_id`).optional(),metadata:u.record(u.string(),u.unknown()).optional()}),K=[`fresh`,`fork`,`resume`,`clear`,`compact`],q=u.enum(K),J=G.extend({transcriptPath:u.string().optional(),cwd:u.string().optional(),machineId:d.attribute(u.string(),`makaio.machine.id`).optional(),startMode:d.attribute(q,`makaio.session.start_mode`).optional(),parentAdapterSessionId:d.attribute(u.string(),`makaio.session.parent_adapter_session_id`).optional()}),Y=G.extend({prompt:a.optional()}),X=G.extend({}),fe=G.extend({transcriptPath:u.string().optional()}),pe=G.extend({toolName:d.attribute(a,`tool.name`).optional(),toolCallId:d.attribute(a,`tool.call_id`).optional()}),me=G.extend({toolName:d.attribute(a,`tool.name`).optional(),toolCallId:d.attribute(a,`tool.call_id`).optional(),success:d.attribute(u.boolean(),`tool.success`).optional()}),he=u.object({group:a,name:a,installed:u.boolean(),command:a}),Z=u.enum([`provider-reported`,`client-reported`,`estimated`]),Q=u.number().finite().nonnegative(),ge=u.number().finite().min(0).max(100),_e=u.object({clientId:d.attribute(a,`makaio.client.id`),clientAccountId:d.attribute(a,`makaio.client.account_id`).optional(),sessionId:d.attribute(a,`makaio.session.id`).optional(),adapterSessionId:d.attribute(a,`makaio.adapter.session_id`).optional(),source:d.attribute(a,`makaio.client.usage.source`),observedAt:d.attribute(o,`event.observed_at`),clientVersion:d.attribute(a,`makaio.client.version`).optional(),modelId:d.attribute(a,`llm.model`).optional(),modelDisplayName:d.attribute(a,`llm.model.display_name`).optional(),modelFamily:d.attribute(a,`llm.model.family`).optional(),latestRequestInputTokens:d.attribute(Q,`llm.tokens.latest_request.input`).optional(),latestRequestOutputTokens:d.attribute(Q,`llm.tokens.latest_request.output`).optional(),latestRequestCacheReadTokens:d.attribute(Q,`llm.tokens.latest_request.cache_read`).optional(),latestRequestCacheWriteTokens:d.attribute(Q,`llm.tokens.latest_request.cache_write`).optional(),currentContextInputTokens:d.attribute(Q,`llm.context.tokens.input`).optional(),currentContextOutputTokens:d.attribute(Q,`llm.context.tokens.output`).optional(),contextWindowSizeTokens:d.attribute(Q,`llm.context.window_size`).optional(),contextUsedPercentage:d.attribute(ge,`llm.context.used_percentage`).optional(),contextRemainingPercentage:d.attribute(ge,`llm.context.remaining_percentage`).optional(),contextThresholdExceeded:d.attribute(u.boolean(),`llm.context.threshold_exceeded`).optional(),totalCost:d.attribute(Q,`llm.cost.total`).optional(),costCurrency:d.attribute(a,`llm.cost.currency`).optional(),costProvenance:d.attribute(Z,`llm.cost.provenance`).optional(),totalDurationMs:d.attribute(Q,`makaio.session.duration_ms`).optional(),totalApiDurationMs:d.attribute(Q,`llm.duration.total_api_ms`).optional(),totalLinesAdded:d.attribute(Q,`code.lines_added`).optional(),totalLinesRemoved:d.attribute(Q,`code.lines_removed`).optional(),totalEdits:d.attribute(Q,`code.edits`).optional()}).strict().superRefine((e,t)=>{let n=[`totalCost`,`costCurrency`,`costProvenance`],r=n.filter(t=>e[t]!==void 0).length;if(!(r===0||r===n.length))for(let r of n)e[r]===void 0&&t.addIssue({code:u.ZodIssueCode.custom,path:[r],message:`totalCost, costCurrency, and costProvenance must be supplied together`})}),ve={"runtime.observe":H,"runtime.started":U,"runtime.isAdapterManaged":W,scan:{request:u.object({targets:u.array(se).optional()}),response:u.object({results:u.array(oe)})},"session.account.observe":re,"account.observe":ae,"account.activate":{request:u.object({clientId:a,clientAccountId:a,identifiers:u.array(l).min(1),displayLabel:u.string().optional()}),response:u.object({accepted:u.boolean()})},"account.getActive":{request:u.object({clientId:a}),response:u.object({identity:u.object({clientAccountId:a,identifiers:u.array(l).min(1),displayLabel:u.string().optional()}).nullable()})},"usage.ingest":ce,"usage.snapshot":ie,"session.usage.snapshot":_e,"session.started":J,"session.userPrompt.submitted":Y,"session.turn.started":X,"session.turn.completed":fe,"session.tool.pre":pe,"session.tool.post":me,"wiring.list":{request:u.object({clientId:a.optional(),projectDir:s.optional(),makaioCommand:a}),response:u.object({results:u.array(u.object({clientId:a,entries:u.array(he)}))})},list:A,install:j,uninstall:de,update:M,setActive:N,"installJob.progress":F,"installJob.completed":L,"version.changed":R,resolveBinary:E,...i,...te,"config.prime":ee},ye=le(`client`,ve),be=ye.subjects;function $(e){if(Array.isArray(e)){for(let t of e)$(t);return Object.freeze(e)}if(e&&typeof e==`object`){for(let t of Object.values(e))$(t);return Object.freeze(e)}return e}function xe(e){return $(w.parse(e))}export{M as A,h as B,k as C,A as D,j as E,D as F,m as G,f as H,T as I,x as J,y as K,E as L,I as M,P as N,N as O,O as P,C as R,U as S,F as T,p as U,S as V,g as W,b as X,v as Y,V as _,Z as a,z as b,G as c,me as d,pe as f,he as g,Y as h,ve as i,R as j,de as k,q as l,X as m,ye as n,_e as o,fe as p,_ as q,be as r,K as s,xe as t,J as u,W as v,L as w,B as x,H as y,w as z};