@makaio/framework 1.0.0-dev-1781517341920 → 1.0.0-dev-1781729394463

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 (397) hide show
  1. package/dist/.makaio-build.json +2 -2
  2. package/dist/{account-identity-D-9gunfD.mjs → account-identity-D5TUafYg.mjs} +1 -1
  3. package/dist/adapter-B5I7Wp4y.mjs +1 -0
  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 +1 -1
  8. package/dist/adapters/node.d.mts +1 -1
  9. package/dist/adapters/node.mjs +1 -1
  10. package/dist/await-trigger-DcMVmNW5.mjs +1 -0
  11. package/dist/bus/index.d.mts +21 -21
  12. package/dist/bus/index.mjs +1 -1
  13. package/dist/canonical-model-BWGkgf3v.mjs +1 -0
  14. package/dist/{client-D24ebgGH.mjs → client-BO-0jTSV.mjs} +1 -1
  15. package/dist/compression-DMoeVgKx.mjs +1 -0
  16. package/dist/contracts/adapter/index.d.mts +2 -2
  17. package/dist/contracts/adapter/index.mjs +1 -1
  18. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  19. package/dist/contracts/artifact/index.d.mts +1 -1
  20. package/dist/contracts/canonical-model/index.d.mts +1 -1
  21. package/dist/contracts/canonical-model/index.mjs +1 -1
  22. package/dist/contracts/client/index.d.mts +2 -2
  23. package/dist/contracts/client/index.mjs +1 -1
  24. package/dist/contracts/common/index.d.mts +1 -1
  25. package/dist/contracts/config/index.d.mts +1 -1
  26. package/dist/contracts/config/index.mjs +1 -1
  27. package/dist/contracts/extension/index.d.mts +3 -3
  28. package/dist/contracts/extension/index.mjs +1 -1
  29. package/dist/contracts/facet/index.d.mts +1 -1
  30. package/dist/contracts/facet/index.mjs +1 -1
  31. package/dist/contracts/harness/index.d.mts +1 -1
  32. package/dist/contracts/harness/index.mjs +1 -1
  33. package/dist/contracts/host/index.d.mts +1 -1
  34. package/dist/contracts/host/index.mjs +1 -1
  35. package/dist/contracts/index.d.mts +388 -9899
  36. package/dist/contracts/index.mjs +1 -1
  37. package/dist/contracts/materialization/index.d.mts +3 -3
  38. package/dist/contracts/materialization/index.mjs +1 -1
  39. package/dist/contracts/model-registry/index.d.mts +1 -1
  40. package/dist/contracts/model-registry/index.mjs +1 -1
  41. package/dist/contracts/native-session-supervisor/index.d.mts +1 -1
  42. package/dist/contracts/native-session-supervisor/index.mjs +1 -1
  43. package/dist/contracts/platform/index.d.mts +1 -1
  44. package/dist/contracts/platform/index.mjs +1 -1
  45. package/dist/contracts/provider/index.d.mts +3 -3
  46. package/dist/contracts/provider/index.mjs +1 -1
  47. package/dist/contracts/session/index.d.mts +3 -3
  48. package/dist/contracts/session/index.mjs +1 -1
  49. package/dist/contracts/shared/index.d.mts +2 -1
  50. package/dist/contracts/skill/index.d.mts +1 -1
  51. package/dist/contracts/skill/index.mjs +1 -1
  52. package/dist/contracts/telemetry/index.d.mts +1 -1
  53. package/dist/contracts/telemetry/index.mjs +1 -1
  54. package/dist/contracts/timeout/index.d.mts +1 -1
  55. package/dist/contracts/toast/index.mjs +1 -1
  56. package/dist/contracts/variant/index.d.mts +1 -1
  57. package/dist/contracts/variant/index.mjs +1 -1
  58. package/dist/contracts/workflow/index.d.mts +3 -0
  59. package/dist/contracts/workflow/index.mjs +1 -0
  60. package/dist/definition-BJ_975aA.mjs +1 -0
  61. package/dist/{definition-B2FH_eOh.d.mts → definition-Cllhr9mi.d.mts} +13 -2
  62. package/dist/{definition-CPc6oKaF.d.mts → definition-b9jyJqPD.d.mts} +1 -1
  63. package/dist/{detached-extension-handle-BYxNmLfv.mjs → detached-extension-handle-Cx6-0eqg.mjs} +1 -1
  64. package/dist/drizzle/0020_m_mqf47r9j.sql +1 -0
  65. package/dist/drizzle/meta/_journal.json +7 -0
  66. package/dist/{extension-CTkoi8MV.mjs → extension-BJHRahFl.mjs} +1 -1
  67. package/dist/{extension-DNrcv3V7.mjs → extension-CfL70C5n.mjs} +1 -1
  68. package/dist/{filesystem-service-T8JOIWeP.mjs → filesystem-service-Bmyqo6po.mjs} +1 -1
  69. package/dist/git/index.mjs +1 -1
  70. package/dist/{globby-Bos1vjKj.mjs → globby-D4SANVoq.mjs} +1 -1
  71. package/dist/{handlers-Cpy9Q8ho.mjs → handlers-BAycjV02.mjs} +2 -2
  72. package/dist/{harness-HEpELa_v.mjs → harness-DkUpbsuY.mjs} +1 -1
  73. package/dist/{index-DWqgo739.d.mts → index-BAQ6QBcU.d.mts} +2 -2
  74. package/dist/{index-C7vAbtvS.d.mts → index-BEzRpWsS.d.mts} +399 -360
  75. package/dist/{index-BM_y78ZA2.d.mts → index-BWIkf5oJ.d.mts} +6 -6
  76. package/dist/{index-DVz3a2jZ.d.mts → index-CW_LbXdg.d.mts} +8 -8
  77. package/dist/{index-Dun5uQwE.d.mts → index-CZJc-V9L.d.mts} +26 -5
  78. package/dist/index-Cjo24O5I.d.mts +10036 -0
  79. package/dist/{index-GuspCNLR.d.mts → index-CmHdpW0E.d.mts} +4 -4
  80. package/dist/{index-dFTsZFlh.d.mts → index-D1KPCXBN.d.mts} +3 -3
  81. package/dist/{index-6QvT0ljq.d.mts → index-D9-vOJvZ.d.mts} +1 -1
  82. package/dist/{index-B8v52gGb.d.mts → index-DKNmj2sa.d.mts} +51 -51
  83. package/dist/{index-BQ8H7cvY.d.mts → index-DLNRgZPo2.d.mts} +1 -1
  84. package/dist/{index-xeg-bqxO.d.mts → index-DMz-2ACU.d.mts} +105 -105
  85. package/dist/{index-WKF5BHsw.d.mts → index-DTBQOCar.d.mts} +16 -16
  86. package/dist/{index-BoI86whU.d.mts → index-DWKCb-eJ.d.mts} +42 -42
  87. package/dist/{index-BBteExwv.d.mts → index-DiifAKRu.d.mts} +11 -4
  88. package/dist/{index-CsP4Ckem.d.mts → index-Dw7ErgWU.d.mts} +13 -460
  89. package/dist/{index-BZuF4I8O.d.mts → index-NkNbYFud.d.mts} +1 -55
  90. package/dist/{index-fTBtQ5fK.d.mts → index-aciWhUWw.d.mts} +396 -396
  91. package/dist/{index-I6pLxh17.d.mts → index-kwq54nx4.d.mts} +19 -19
  92. package/dist/{index-DNmENr9M.d.mts → index-mU2lnU7O.d.mts} +6 -6
  93. package/dist/json-value-DtIkQN7g.d.mts +57 -0
  94. package/dist/kernel/cli/index.d.mts +2 -2
  95. package/dist/kernel/cli/index.mjs +1 -1
  96. package/dist/kernel/cli/register.d.mts +1 -1
  97. package/dist/kernel/cli/register.mjs +1 -1
  98. package/dist/kernel/cli/schemas.mjs +1 -1
  99. package/dist/kernel/extension/index.d.mts +1 -1
  100. package/dist/kernel/extension/index.mjs +1 -1
  101. package/dist/kernel/index.d.mts +5 -5
  102. package/dist/kernel/index.mjs +1 -1
  103. package/dist/kernel/namespace/index.d.mts +1 -1
  104. package/dist/kernel/namespace/index.mjs +1 -1
  105. package/dist/kernel/observability/index.d.mts +1 -1
  106. package/dist/kernel/observability/index.mjs +1 -1
  107. package/dist/kernel/providers/index.d.mts +1 -1
  108. package/dist/kernel/providers/index.mjs +1 -1
  109. package/dist/kernel/window/index.d.mts +1 -1
  110. package/dist/kernel/window/index.mjs +1 -1
  111. package/dist/{lib-DkLlhp9Z.mjs → lib-Ba55od_d.mjs} +3 -3
  112. package/dist/{lib-jOuIcSs9.mjs → lib-CM_BUxN8.mjs} +1 -1
  113. package/dist/{load-extensions-D-DyzN4j.mjs → load-extensions-Cze1RHcG.mjs} +1 -1
  114. package/dist/{load-extensions-CQqw0Smr.d.mts → load-extensions-DNRIy4zC.d.mts} +1 -1
  115. package/dist/loop-gate-handlers-CwU5zAGs.mjs +1 -0
  116. package/dist/mcp-http-server/index.mjs +1 -1
  117. package/dist/{namespace-CN2TfSCY.d.mts → namespace-3yGm4WF9.d.mts} +2 -2
  118. package/dist/{namespace-H9A39Mx8.d.mts → namespace-B95uYmZB.d.mts} +4 -4
  119. package/dist/{namespace-BxrHvS5c.mjs → namespace-C-piH3w4.mjs} +1 -1
  120. package/dist/{namespace-BQgZChZl.d.mts → namespace-COEUMuHL.d.mts} +154 -154
  121. package/dist/{namespace-Cj7k5UH7.d.mts → namespace-CTsfVI3H.d.mts} +8 -8
  122. package/dist/{namespace-BAJTZXWc.d.mts → namespace-DYJZAGzR.d.mts} +80 -43
  123. package/dist/namespace-DibbhCPP.mjs +1 -0
  124. package/dist/{native-session-supervisor-DbrqcFq9.mjs → native-session-supervisor-7ElwM6Is.mjs} +1 -1
  125. package/dist/node/bus-server/index.d.mts +1 -1
  126. package/dist/node/bus-server/index.mjs +1 -1
  127. package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
  128. package/dist/node/bus-server/server-lifecycle.mjs +1 -1
  129. package/dist/{orchestrator-shared-yFP8e7d5.mjs → orchestrator-shared-Cxk3x8Vs.mjs} +1 -1
  130. package/dist/{package-fwIv7zzj.d.mts → package-MmQvNJ3u.d.mts} +1 -1
  131. package/dist/package-rdrXr17q.mjs +1 -0
  132. package/dist/package.json +1 -1
  133. package/dist/{profile-r4G32bCH.mjs → profile-BMBXUqqh.mjs} +1 -1
  134. package/dist/{provider-context-Ds6GNYnE.mjs → provider-context-DC_eq7es.mjs} +1 -1
  135. package/dist/provider-context-DjSUpHSM.mjs +1 -0
  136. package/dist/{providers-namespace-C0C-Sb4N.d.mts → providers-namespace-5GoTlHXz.d.mts} +7 -7
  137. package/dist/{registry-udUhXSIC.mjs → registry-U_3aYSin.mjs} +2 -1
  138. package/dist/rules/index.d.mts +1 -1
  139. package/dist/rules/index.mjs +1 -1
  140. package/dist/rules/schemas.d.mts +1 -1
  141. package/dist/runtime-bun/index.mjs +1 -1
  142. package/dist/runtime-node/extension-discovery.d.mts +1 -1
  143. package/dist/runtime-node/extension-validation.d.mts +1 -1
  144. package/dist/runtime-node/extension-validation.mjs +1 -1
  145. package/dist/runtime-node/index.d.mts +3 -3
  146. package/dist/runtime-node/index.mjs +2 -2
  147. package/dist/runtime-node/makaio-config.d.mts +1 -1
  148. package/dist/runtime-node/makaio-config.mjs +1 -1
  149. package/dist/runtime-node/workflow-worker/index.d.mts +1 -1
  150. package/dist/runtime-node/workflow-worker/index.mjs +1 -1
  151. package/dist/runtime-node/workflow-worker/worker-entry.mjs +1 -1
  152. package/dist/{schema-msWs4YhT.d.mts → schema-B2bO5Yui.d.mts} +27 -1
  153. package/dist/{schema-atatXwNg.mjs → schema-D6WAI8OL.mjs} +1 -1
  154. package/dist/schemas-BWasvfw2.mjs +1 -0
  155. package/dist/{schemas-DuQ9EcLu2.d.mts → schemas-ByssHRGU2.d.mts} +12 -12
  156. package/dist/{schemas-fEoe6H0K.d.mts → schemas-CDBn9MTz.d.mts} +154 -154
  157. package/dist/schemas-CE1gbhxu.mjs +1 -0
  158. package/dist/{schemas-CN9hprME.d.mts → schemas-CscdPqCt.d.mts} +3 -3
  159. package/dist/{schemas-DMl7IKG-.d.mts → schemas-DMMWmWjq.d.mts} +4 -4
  160. package/dist/services/adapter-runtime/index.d.mts +3 -3
  161. package/dist/services/adapter-runtime/index.mjs +1 -1
  162. package/dist/services/adapter-runtime/namespace.d.mts +1 -1
  163. package/dist/services/adapter-runtime/schemas.d.mts +1 -1
  164. package/dist/services/adapter-subsystem/index.d.mts +2 -2
  165. package/dist/services/adapter-subsystem/index.mjs +1 -1
  166. package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
  167. package/dist/services/adapter-subsystem/namespace.mjs +1 -1
  168. package/dist/services/agent-runtime/index.d.mts +2 -2
  169. package/dist/services/agent-runtime/namespace.d.mts +1 -1
  170. package/dist/services/agent-runtime/schemas.d.mts +1 -1
  171. package/dist/services/capability/index.d.mts +1 -1
  172. package/dist/services/capability/index.mjs +1 -1
  173. package/dist/services/codebase/index.d.mts +2 -2
  174. package/dist/services/codebase/namespace.d.mts +1 -1
  175. package/dist/services/codebase/schemas.d.mts +1 -1
  176. package/dist/services/compression/index.d.mts +2 -2
  177. package/dist/services/compression/namespace.d.mts +1 -1
  178. package/dist/services/compression/schemas.d.mts +1 -1
  179. package/dist/services/context-rules/index.d.mts +4 -4
  180. package/dist/services/context-rules/index.mjs +1 -1
  181. package/dist/services/execution-target/index.d.mts +3 -3
  182. package/dist/services/execution-target/index.mjs +1 -1
  183. package/dist/services/execution-target/namespace.d.mts +1 -1
  184. package/dist/services/execution-target/schemas.d.mts +1 -1
  185. package/dist/services/filesystem/index.d.mts +1 -1
  186. package/dist/services/filesystem/index.mjs +1 -1
  187. package/dist/services/filesystem/namespace.d.mts +6 -6
  188. package/dist/services/filesystem/schemas.d.mts +3 -3
  189. package/dist/services/git/namespace.mjs +1 -1
  190. package/dist/services/git/schemas.mjs +1 -1
  191. package/dist/services/harness/index.d.mts +3 -3
  192. package/dist/services/harness/index.mjs +1 -1
  193. package/dist/services/index.d.mts +130 -130
  194. package/dist/services/index.mjs +1 -1
  195. package/dist/services/log-import/browser.d.mts +2 -2
  196. package/dist/services/log-import/index.d.mts +2 -2
  197. package/dist/services/log-import/log-import.d.mts +1 -1
  198. package/dist/services/log-import/log-import.mjs +1 -1
  199. package/dist/services/log-import/namespace.mjs +1 -1
  200. package/dist/services/log-import/schemas.mjs +1 -1
  201. package/dist/services/model-registry/index.d.mts +1 -1
  202. package/dist/services/model-registry/index.mjs +1 -1
  203. package/dist/services/preferences/index.d.mts +2 -2
  204. package/dist/services/preferences/schemas.d.mts +1 -1
  205. package/dist/services/preferences/storage-namespace.d.mts +2 -2
  206. package/dist/services/provider-context/index.d.mts +1 -1
  207. package/dist/services/provider-context/index.mjs +1 -1
  208. package/dist/services/provider-runtime/index.mjs +1 -1
  209. package/dist/services/session/handlers/index.d.mts +1 -1
  210. package/dist/services/session/handlers/index.mjs +1 -1
  211. package/dist/services/session/index.d.mts +9 -9
  212. package/dist/services/session/index.mjs +1 -1
  213. package/dist/services/session/messages/namespace.d.mts +1 -1
  214. package/dist/services/session/messages/namespace.mjs +1 -1
  215. package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
  216. package/dist/services/session/orchestrator-testing/index.mjs +1 -1
  217. package/dist/services/session/session-events/namespace.d.mts +1 -1
  218. package/dist/services/session/session-events/namespace.mjs +1 -1
  219. package/dist/services/session/storage/namespace.d.mts +1 -1
  220. package/dist/services/session/storage/schema.d.mts +1 -1
  221. package/dist/services/session/storage/schema.mjs +1 -1
  222. package/dist/services/session/testing/index.mjs +2 -1
  223. package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
  224. package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
  225. package/dist/services/session/turns/namespace.d.mts +1 -1
  226. package/dist/services/session/turns/namespace.mjs +1 -1
  227. package/dist/services/session-editor/index.d.mts +1 -1
  228. package/dist/services/session-editor/index.mjs +1 -1
  229. package/dist/services/settings/index.d.mts +3 -3
  230. package/dist/services/settings/index.mjs +1 -1
  231. package/dist/services/settings/namespace.d.mts +12 -12
  232. package/dist/services/settings/namespace.mjs +1 -1
  233. package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
  234. package/dist/services/settings/storage/clients-namespace.mjs +1 -1
  235. package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
  236. package/dist/services/settings/storage/index.d.mts +3 -3
  237. package/dist/services/settings/storage/index.mjs +1 -1
  238. package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
  239. package/dist/services/settings/storage/providers-namespace.mjs +1 -1
  240. package/dist/services/subagent/index.d.mts +1 -1
  241. package/dist/services/subagent/index.mjs +1 -1
  242. package/dist/services/subagent-template/index.d.mts +2 -2
  243. package/dist/services/subagent-template/namespace.d.mts +1 -1
  244. package/dist/services/subagent-template/schemas.d.mts +1 -1
  245. package/dist/services/tool-approval/index.d.mts +1 -1
  246. package/dist/services/tool-approval/index.mjs +1 -1
  247. package/dist/services/tools/index.d.mts +1 -1
  248. package/dist/services/tools/index.mjs +1 -1
  249. package/dist/services/tray-menu/index.d.mts +3 -3
  250. package/dist/services/tray-menu/index.mjs +1 -1
  251. package/dist/services/tray-menu/namespace.d.mts +1 -1
  252. package/dist/services/tray-menu/schemas.d.mts +1 -1
  253. package/dist/services/turn/index.d.mts +1 -1
  254. package/dist/services/turn/namespace.d.mts +1 -1
  255. package/dist/session-0nWT4st6.mjs +39 -0
  256. package/dist/session-Bey-bzcX.mjs +1 -0
  257. package/dist/{session-lineage-DFkJgYt5.d.mts → session-lineage-Cht4jbvV.d.mts} +1 -1
  258. package/dist/{skill-B_VlGon5.mjs → skill-N-ttlp1i.mjs} +1 -1
  259. package/dist/{src-6n-8M8EU.mjs → src-Ck2sbaDa.mjs} +1 -1
  260. package/dist/storage/drizzle/client.d.mts +1 -1
  261. package/dist/storage/drizzle/client.mjs +1 -1
  262. package/dist/storage/drizzle/index.d.mts +1 -1
  263. package/dist/storage/drizzle/index.mjs +1 -1
  264. package/dist/storage/handlers/drizzle/index.d.mts +1 -1
  265. package/dist/storage/handlers/drizzle/index.mjs +1 -1
  266. package/dist/storage/handlers/index.d.mts +1 -1
  267. package/dist/storage/handlers/index.mjs +1 -1
  268. package/dist/{tool-approval-service-B_28RhuK.mjs → tool-approval-service-DEQiipxj.mjs} +1 -1
  269. package/dist/{tools-BpzJterj.mjs → tools-uAgIrqan.mjs} +1 -1
  270. package/dist/transition-Coowd2dA.d.mts +454 -0
  271. package/dist/{types-BB8iIAjZ.d.mts → types-BslClRkH.d.mts} +1 -1
  272. package/dist/{types-DUNA749O.d.mts → types-Cagp7JXb.d.mts} +276 -257
  273. package/dist/ui-kernel/index.d.mts +1 -1
  274. package/dist/ui-kernel/pages/schemas.d.mts +1 -1
  275. package/dist/{version-SYP_DX4M.mjs → version-DoV_pSzT.mjs} +1 -1
  276. package/dist/workflow-BCKOJ4UC.mjs +1 -0
  277. package/dist/workflow-engine/index.d.mts +38 -8
  278. package/dist/workflow-engine/index.mjs +1 -1
  279. package/dist/workflow-engine/package.d.mts +1 -1
  280. package/dist/workflow-engine/package.mjs +1 -1
  281. package/dist/workflow-engine/workflow-orchestrator.d.mts +3 -1
  282. package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
  283. package/dist/{workflow-worker-CjuRYLmJ.mjs → workflow-worker-CojIlB6k.mjs} +1 -1
  284. package/package.json +1 -1
  285. package/dist/adapter-ux2xaQ6H.mjs +0 -1
  286. package/dist/await-trigger-uKEHY8E4.mjs +0 -1
  287. package/dist/canonical-model-BE7t86yt.mjs +0 -1
  288. package/dist/compression-Cy9DIqyr.mjs +0 -1
  289. package/dist/definition-Bija4lGr.mjs +0 -1
  290. package/dist/namespace-CH_NWUKW.mjs +0 -1
  291. package/dist/package-lxB0vpby.mjs +0 -1
  292. package/dist/primitive-runtime-BSg8J7VX.mjs +0 -1
  293. package/dist/schemas-Dvm_0GDr.mjs +0 -1
  294. package/dist/session-Is5VSP2V.mjs +0 -1
  295. package/dist/session-ZAJrcudH.mjs +0 -39
  296. /package/dist/{ajv-Cx19PP7Q.mjs → ajv-B5dPIck0.mjs} +0 -0
  297. /package/dist/{base-orchestrator-BRq4MXa7.d.mts → base-orchestrator-Cw0vpNgB.d.mts} +0 -0
  298. /package/dist/{capability-service-CHl8rrwb.mjs → capability-service-XlymTzz1.mjs} +0 -0
  299. /package/dist/{cleanEnvForAdapter-D32WnVuy.mjs → cleanEnvForAdapter-BooAgM2R.mjs} +0 -0
  300. /package/dist/{client-D2ZftNb6.d.mts → client-CebV_fZc.d.mts} +0 -0
  301. /package/dist/{clients-namespace-CeAB0t06.d.mts → clients-namespace-Bt_VTkEU.d.mts} +0 -0
  302. /package/dist/{config-namespace-DW5KHKPW.mjs → config-namespace-CY9leBnE.mjs} +0 -0
  303. /package/dist/{config-namespace-DloU-hNB.d.mts → config-namespace-DqdFE6zk.d.mts} +0 -0
  304. /package/dist/{create-static-mount-Bi0VpYS8.mjs → create-static-mount-DkK28kKW.mjs} +0 -0
  305. /package/dist/{cross-spawn-C58yEvsS.mjs → cross-spawn-CDXy3BjE.mjs} +0 -0
  306. /package/dist/{cursor-storage-CpuT5POU.mjs → cursor-storage-luQAg7E_.mjs} +0 -0
  307. /package/dist/{definition-BdxbXbrq.d.mts → definition-CuJvtYeG.d.mts} +0 -0
  308. /package/dist/{descriptor-to-package-D-FNxohm.mjs → descriptor-to-package-DdpjpT7n.mjs} +0 -0
  309. /package/dist/{drizzle-D7dkDEB5.mjs → drizzle-DVTAl7Us.mjs} +0 -0
  310. /package/dist/{esm-CP2zvvlx.mjs → esm-CQG9Pc7n.mjs} +0 -0
  311. /package/dist/{event-DaXakaHo.mjs → event-DguYjV6D.mjs} +0 -0
  312. /package/dist/{execution-target-Da6Vjvba.mjs → execution-target-BR8bLkCR.mjs} +0 -0
  313. /package/dist/{extension-discovery-Bv5FDtrM.d.mts → extension-discovery-CIZn5bkq.d.mts} +0 -0
  314. /package/dist/{extension-namespace-O3sKdnY9.mjs → extension-namespace-v3K0qVry.mjs} +0 -0
  315. /package/dist/{facet-Q_vgXb23.mjs → facet-BM4y4aQP.mjs} +0 -0
  316. /package/dist/{filesystem-service-89fN-2Dd.d.mts → filesystem-service-Cwp0sWNc.d.mts} +0 -0
  317. /package/dist/{handler-BIA3ld4C.mjs → handler-2bPhRn0u.mjs} +0 -0
  318. /package/dist/{host-DFqmG2qO.mjs → host-vY07gek-.mjs} +0 -0
  319. /package/dist/{identity-CA5MzB19.mjs → identity-BarL3JYI.mjs} +0 -0
  320. /package/dist/{index-BVhnqzDC2.d.mts → index-B92mToDo2.d.mts} +0 -0
  321. /package/dist/{index-cFuQpzIm.d.mts → index-BjoOSg95.d.mts} +0 -0
  322. /package/dist/{index-BeNVLvtk2.d.mts → index-BvLXySoB2.d.mts} +0 -0
  323. /package/dist/{index-DJSffYTW2.d.mts → index-C23g_M_J2.d.mts} +0 -0
  324. /package/dist/{index-kOSSuOcK.d.mts → index-C4nStEdA.d.mts} +0 -0
  325. /package/dist/{index-DHHKwLww.d.mts → index-COI1tjAf.d.mts} +0 -0
  326. /package/dist/{index-BDnI2oqX.d.mts → index-CYHWOXUm.d.mts} +0 -0
  327. /package/dist/{index-DLPjliGd.d.mts → index-CfIW5biI.d.mts} +0 -0
  328. /package/dist/{index-orAkFukT.d.mts → index-CpKikwK4.d.mts} +0 -0
  329. /package/dist/{index-CkPIPbx9.d.mts → index-Cr9lh21j.d.mts} +0 -0
  330. /package/dist/{index-CBTp2XuF.d.mts → index-CuHqL95P.d.mts} +0 -0
  331. /package/dist/{index-CfpfkKih.d.mts → index-D3ahzHwb.d.mts} +0 -0
  332. /package/dist/{index-BE-yMFTz.d.mts → index-D7Hkmrr3.d.mts} +0 -0
  333. /package/dist/{index-DWqSqcpW.d.mts → index-DOOrKin9.d.mts} +0 -0
  334. /package/dist/{index-CYZqADXY2.d.mts → index-DUD7wikz2.d.mts} +0 -0
  335. /package/dist/{index-BUilJdHr.d.mts → index-Dfi8Rorw.d.mts} +0 -0
  336. /package/dist/{index-BplsE3qw.d.mts → index-DtwGhFFQ.d.mts} +0 -0
  337. /package/dist/{index-DVgKfgh1.d.mts → index-OGIC4puQ.d.mts} +0 -0
  338. /package/dist/{index-D0RWuwl5.d.mts → index-Y8rMeYYX.d.mts} +0 -0
  339. /package/dist/{index-BtL_9HBk.d.mts → index-gAFwNiJT.d.mts} +0 -0
  340. /package/dist/{index-DdCyeZ59.d.mts → index-wq7XeqyG.d.mts} +0 -0
  341. /package/dist/{jsonl-transport-Bb8ltqOe.mjs → jsonl-transport-CGPgD8iU.mjs} +0 -0
  342. /package/dist/{lib-BmcGxHXH.mjs → lib-ZKtnbCqH.mjs} +0 -0
  343. /package/dist/{materialization-DsPIGQP1.mjs → materialization-DBXjSiBn.mjs} +0 -0
  344. /package/dist/{model-registry-DQDclqdw.mjs → model-registry-C2VXobZj.mjs} +0 -0
  345. /package/dist/{model-registry-DLeMw3l8.mjs → model-registry-rYICIwyR.mjs} +0 -0
  346. /package/dist/{namespace-CEqkI6Zu.d.mts → namespace-65uwTpbg.d.mts} +0 -0
  347. /package/dist/{namespace-6u1Uf-iw2.d.mts → namespace-6sIu5nBI2.d.mts} +0 -0
  348. /package/dist/{namespace-q5dD3acO.d.mts → namespace-B3ol3pc-.d.mts} +0 -0
  349. /package/dist/{namespace-DrpHLJAy.mjs → namespace-BO3tODGC.mjs} +0 -0
  350. /package/dist/{namespace-uGUGfpGQ.mjs → namespace-BdO4e1Fm.mjs} +0 -0
  351. /package/dist/{namespace-2G7A4Sza.d.mts → namespace-BsYKEMd8.d.mts} +0 -0
  352. /package/dist/{namespace-DMhz3yvr.d.mts → namespace-CQ8uza7o.d.mts} +0 -0
  353. /package/dist/{namespace-zWB-ULrX.mjs → namespace-CVMZVqB5.mjs} +0 -0
  354. /package/dist/{namespace-nQS4XwnT.d.mts → namespace-D2s-4pyg.d.mts} +0 -0
  355. /package/dist/{namespace-FJsnoEQy.mjs → namespace-DBHwyhME.mjs} +0 -0
  356. /package/dist/{namespace-CN-Llu7H.mjs → namespace-DYSFDC2G.mjs} +0 -0
  357. /package/dist/{namespace-DcUwOJ4f.d.mts → namespace-Dk4OslmY.d.mts} +0 -0
  358. /package/dist/{namespace-B1Bldc48.d.mts → namespace-KMxsPJwm.d.mts} +0 -0
  359. /package/dist/{namespace-DKnJL0Ja.d.mts → namespace-LUNf8zo5.d.mts} +0 -0
  360. /package/dist/{namespace-UUw-S7ia.mjs → namespace-wke7juzy.mjs} +0 -0
  361. /package/dist/{orchestrator-shared-CbS4ueeq.d.mts → orchestrator-shared-ChOdIgh6.d.mts} +0 -0
  362. /package/dist/{out-BUHr98Xe.mjs → out-BoEZjBNz.mjs} +0 -0
  363. /package/dist/{package-YQeRE8bV.mjs → package-CF_Zm2v4.mjs} +0 -0
  364. /package/dist/{platform-CsO-MRJP.mjs → platform-DnbSvm2u.mjs} +0 -0
  365. /package/dist/{providers-FEZT2bQG.mjs → providers-Bd7BOZs0.mjs} +0 -0
  366. /package/dist/{quick-lru-C7AXdpbU.mjs → quick-lru-6e7I1Bgf.mjs} +0 -0
  367. /package/dist/{schema-Ba64XQjo.mjs → schema-DHlTAy0N.mjs} +0 -0
  368. /package/dist/{schema-introspection-D5FaI5B_.mjs → schema-introspection-B7xODt4I.mjs} +0 -0
  369. /package/dist/{schemas-9QC3nvYP.mjs → schemas-ArqQTC0Q.mjs} +0 -0
  370. /package/dist/{schemas-DznsZ0bq.d.mts → schemas-B6tEKf9T.d.mts} +0 -0
  371. /package/dist/{schemas-CRS7tkFP.d.mts → schemas-BemsLc_V.d.mts} +0 -0
  372. /package/dist/{schemas-5kegIs9D.mjs → schemas-CPI00yvh.mjs} +0 -0
  373. /package/dist/{schemas-Cae5dubB.d.mts → schemas-D4zaFE2p.d.mts} +0 -0
  374. /package/dist/{schemas-9Ifo5zSf.d.mts → schemas-DKncXGnb.d.mts} +0 -0
  375. /package/dist/{schemas-DZfBym73.d.mts → schemas-DWfo0wp4.d.mts} +0 -0
  376. /package/dist/{schemas-BxI5Yq8d.d.mts → schemas-DmGRSeIq.d.mts} +0 -0
  377. /package/dist/{schemas-BSAKbVyd.d.mts → schemas-KlH1hB7u.d.mts} +0 -0
  378. /package/dist/{schemas-DAYPhB5K.mjs → schemas-XeIBqwvE.mjs} +0 -0
  379. /package/dist/{semver-ClOD8k8c.mjs → semver-CIhHqMkw.mjs} +0 -0
  380. /package/dist/{server-lifecycle-CFQaPTf7.mjs → server-lifecycle-C5Z5PSMD.mjs} +0 -0
  381. /package/dist/{server-lifecycle-5iHxcgBO.d.mts → server-lifecycle-_AA6EfzL.d.mts} +0 -0
  382. /package/dist/{shared-schemas-jG3EtHZT.mjs → shared-schemas-BEVG96xW.mjs} +0 -0
  383. /package/dist/{src-CRDOZl7K.mjs → src-_VODAJnf.mjs} +0 -0
  384. /package/dist/{storage-namespace-C1JVmZF1.mjs → storage-namespace-D5q9CrBp.mjs} +0 -0
  385. /package/dist/{storage-namespace-gey7EUhM.d.mts → storage-namespace-Di1A3DMm.d.mts} +0 -0
  386. /package/dist/{storage-namespace-definition-BPYSLTfN.d.mts → storage-namespace-definition-BffdI5Bz.d.mts} +0 -0
  387. /package/dist/{storage-namespace-definition-Df8S3E3r.mjs → storage-namespace-definition-CzXPW45M.mjs} +0 -0
  388. /package/dist/{supports-color-AnssSSH9.mjs → supports-color-DcXkvGDF.mjs} +0 -0
  389. /package/dist/{telemetry-DdbvlZ8s.mjs → telemetry-Cvi4rxiE.mjs} +0 -0
  390. /package/dist/{tray-menu-service-am356993.mjs → tray-menu-service-B2AxiQqL.mjs} +0 -0
  391. /package/dist/{types-DhlQpVEb.d.mts → types-BMS6yfLS.d.mts} +0 -0
  392. /package/dist/{types-xLd-e0wf.d.mts → types-Bo78h9e3.d.mts} +0 -0
  393. /package/dist/{types-D-GeeSdd.d.mts → types-CPmOg4X7.d.mts} +0 -0
  394. /package/dist/{types-Bj7cOrBQ.d.mts → types-DCvp_swt.d.mts} +0 -0
  395. /package/dist/{variant-BdNN5edM.mjs → variant-5huHjUTm.mjs} +0 -0
  396. /package/dist/{window-registry-LRjWPwr4.mjs → window-registry-PkrFIwX2.mjs} +0 -0
  397. /package/dist/{window-registry-CA6AC8n7.d.mts → window-registry-ofIUQnfo.d.mts} +0 -0
@@ -1,4 +1,4 @@
1
- import { r as PageSurfaceConfig, s as SurfaceId } from "../schemas-CRS7tkFP.mjs";
1
+ import { r as PageSurfaceConfig, s as SurfaceId } from "../schemas-BemsLc_V.mjs";
2
2
  import * as _$zod from "zod";
3
3
  import { z } from "zod";
4
4
  import * as _$_makaio_core0 from "@makaio/framework/core";
@@ -1,2 +1,2 @@
1
- import { a as SurfaceCapabilitySchema, c as SurfaceIdSchema, i as SurfaceCapability, l as isPageVisibleOnSurface, n as PageSchemas, o as SurfaceDeclaration, r as PageSurfaceConfig, s as SurfaceId, t as PageMetadata } from "../../schemas-CRS7tkFP.mjs";
1
+ import { a as SurfaceCapabilitySchema, c as SurfaceIdSchema, i as SurfaceCapability, l as isPageVisibleOnSurface, n as PageSchemas, o as SurfaceDeclaration, r as PageSurfaceConfig, s as SurfaceId, t as PageMetadata } from "../../schemas-BemsLc_V.mjs";
2
2
  export { PageMetadata, PageSchemas, PageSurfaceConfig, SurfaceCapability, SurfaceCapabilitySchema, SurfaceDeclaration, SurfaceId, SurfaceIdSchema, isPageVisibleOnSurface };
@@ -1 +1 @@
1
- import{o as e}from"./chunk-DTipWd-i.mjs";import{t}from"./semver-ClOD8k8c.mjs";import{z as n}from"zod";var r=e(t(),1);const i=n.string().min(1).refine(e=>e.trim().length>0&&(0,r.validRange)(e)!==null,{message:`Must be a valid semver range (e.g. ">=1.0.0 <2.0.0", "^1.5.0")`});function a(e,t){return(0,r.satisfies)(e,t,{includePrerelease:!0})}function o(e){let t=(0,r.validRange)(e);return t===`*`||t===`>=0.0.0`||t===`>=0.0.0-0`}const s=n.string().min(1).refine(e=>(0,r.valid)(e)!==null&&!e.startsWith(`v`),{message:`Must be a valid semver version (e.g. "1.0.0")`});export{a as i,i as n,o as r,s as t};
1
+ import{o as e}from"./chunk-DTipWd-i.mjs";import{t}from"./semver-CIhHqMkw.mjs";import{z as n}from"zod";var r=e(t(),1);const i=n.string().min(1).refine(e=>e.trim().length>0&&(0,r.validRange)(e)!==null,{message:`Must be a valid semver range (e.g. ">=1.0.0 <2.0.0", "^1.5.0")`});function a(e,t){return(0,r.satisfies)(e,t,{includePrerelease:!0})}function o(e){let t=(0,r.validRange)(e);return t===`*`||t===`>=0.0.0`||t===`>=0.0.0-0`}const s=n.string().min(1).refine(e=>(0,r.valid)(e)!==null&&!e.startsWith(`v`),{message:`Must be a valid semver version (e.g. "1.0.0")`});export{a as i,i as n,o as r,s as t};
@@ -0,0 +1 @@
1
+ import{i as e,r as t,t as n}from"./json-value-CmhSGMLv.mjs";import{b as r,f as i,y as a}from"./artifact-B3npq1cy.mjs";import{a as o}from"./visibility-Cb62p9bv.mjs";import"./credential-ref-YWQQENEo.mjs";import{t as s}from"./provider-context-DjSUpHSM.mjs";import{a as c,o as l}from"./schemas-CE1gbhxu.mjs";import{z as u}from"zod";import{createBusNamespace as d,getFullSubjectForSubjectDefinition as f,observability as ee}from"@makaio/framework/core";const p=u.enum([`wait-in-process`,`exit-and-redispatch`,`exit-and-resume`]),te=u.discriminatedUnion(`kind`,[u.object({kind:u.literal(`path`),path:u.string().min(1)}).strict(),u.object({kind:u.literal(`source`),filename:u.string().min(1),source:u.string()}).strict()]),m=u.object({source:te.optional(),requirements:u.object({isolation:u.enum([`local`,`container`,`remote`]).optional(),capabilities:u.array(u.string()).optional()}).catchall(e).optional(),providers:u.record(u.string(),e).optional()}).catchall(e),h=u.object({kind:u.string().min(1),id:u.string().min(1)});function ne(e){return`${ie(e.kind)}:${ie(e.id)}`}function re(e){let t=ae(e);if(t<1)throw Error(`Invalid artifact ref key: ${e}`);let n=oe(e.slice(t+1));if(n.length===0)throw Error(`Invalid artifact ref key (empty id): ${e}`);return{kind:oe(e.slice(0,t)),id:n}}function ie(e){return e.replace(/\\/g,`\\\\`).replace(/:/g,`\\:`)}function ae(e){let t=!1;for(let n=0;n<e.length;n++){let r=e[n];if(t){t=!1;continue}if(r===`\\`){t=!0;continue}if(r===`:`)return n}return-1}function oe(e){let t=``,n=!1;for(let r of e){if(n){if(r!==`\\`&&r!==`:`)throw Error(`Invalid artifact ref key component: ${e}`);t+=r,n=!1;continue}if(r===`\\`){n=!0;continue}t+=r}if(n)throw Error(`Invalid artifact ref key component: ${e}`);return t}const g=u.union([u.string(),u.number(),u.boolean(),u.null()]),se=u.union([g,u.object({$in:u.array(g)}).strict(),u.object({$ne:g}).strict(),u.object({$exists:u.boolean()}).strict(),u.object({$startsWith:u.string()}).strict(),u.object({$endsWith:u.string()}).strict()]),ce=u.record(u.string(),se),_=u.object({type:u.literal(`bus-event`),subject:u.string(),filter:ce.optional(),filterExpression:u.string().optional()}),le=u.object({type:u.literal(`extension`),extensionType:u.string().regex(/^[a-z0-9-]+:[a-z0-9._-]+$/),config:n.optional()}),v=u.discriminatedUnion(`type`,[u.object({type:u.literal(`manual`)}),u.object({type:u.literal(`cron`),schedule:u.string(),timezone:u.string().optional()}),u.object({type:u.literal(`webhook`),event:u.string(),branch:u.string().optional(),repo:u.string().optional()}),le,_]),y=u.discriminatedUnion(`type`,[u.object({type:u.literal(`global`)}).strict(),u.object({type:u.literal(`workspace`),id:u.string().min(1)}).strict(),u.object({type:u.literal(`session`),id:u.string().min(1)}).strict(),u.object({type:u.literal(`external`),kind:u.string().min(1),id:u.string().min(1)}).strict()]),b=u.string().min(1),x=u.object({kind:u.string().min(1),schemaVersion:u.string().min(1),scope:r,resolve:u.string().min(1).optional(),create:u.string().min(1).optional(),statusPath:u.string().min(1).optional()}),ue=u.object({kind:u.string().min(1),schemaVersion:u.string().min(1),scope:r,dataExpression:u.string().optional()}),de=u.object({file:u.string().min(1),line:u.number().int().positive().optional(),column:u.number().int().positive().optional()}),S=u.enum([`station`,`delegate-agent`,`delegate-role`,`parallel`,`gate`,`iterate`,`iterate-chain`,`loop`,`sequence`]),fe=u.enum([`all-settled`,`fail-fast`]),C=u.object({id:u.string().min(1),when:b.optional(),skip:b.optional(),writes:u.array(ue).optional()}),w=u.lazy(()=>u.discriminatedUnion(`type`,[E,pe,me,he,ge,_e,ve,be,T])),T=C.extend({type:u.literal(`sequence`),nodes:u.lazy(()=>u.array(w))}),E=C.extend({type:u.literal(`station`),prompt:u.string().min(1),role:u.string().min(1).optional(),outputSchema:t.optional(),timeoutMs:u.number().int().positive().optional(),completion:c.optional()}),pe=C.extend({type:u.literal(`delegate-agent`),agentId:u.string().min(1),inputExpression:u.string().optional(),outputSchema:t.optional()}),me=C.extend({type:u.literal(`delegate-role`),role:u.string().min(1),prompt:u.string().min(1),outputSchema:t.optional(),timeoutMs:u.number().int().positive().optional(),completion:c.optional()}),he=C.extend({type:u.literal(`parallel`),mode:fe.optional(),branches:u.record(u.string().min(1),u.lazy(()=>T))}),ge=C.extend({type:u.literal(`gate`),prompt:u.string().min(1),title:u.string().optional(),autoAction:u.enum([`approve`,`reject`]),timeoutMs:u.number().int().positive().nullable(),resumeSchema:t.optional()}),_e=C.extend({type:u.literal(`iterate`),collection:u.string().min(1),body:u.lazy(()=>T),concurrency:u.number().int().nonnegative().optional()}),ve=C.extend({type:u.literal(`iterate-chain`),collection:u.string().min(1),body:u.lazy(()=>T)}),ye=u.discriminatedUnion(`kind`,[u.object({kind:u.literal(`pass`)}).strict(),u.object({kind:u.literal(`loop`)}).strict(),u.object({kind:u.literal(`escalate`),reason:u.string().min(1)}).strict()]),be=C.extend({type:u.literal(`loop`),maxRounds:u.number().int().positive(),body:u.lazy(()=>T),gate:u.object({handler:u.string().min(1),input:u.string().min(1).optional(),config:e.optional(),escalation:u.object({title:u.string().optional(),prompt:u.string().min(1),resumeSchema:t.optional(),autoAction:u.enum([`approve`,`reject`]).default(`reject`),timeoutMs:u.number().int().positive().nullable().default(null)}).strict().optional()}).strict()}),xe=u.object({factoryId:u.string().min(1),preview:u.array(u.lazy(()=>w)).optional(),sourceLocation:de.optional()}),D=u.discriminatedUnion(`kind`,[u.object({kind:u.literal(`editor`)}).strict(),u.object({kind:u.literal(`extension`),extension:u.string().min(1),externalId:u.string().min(1).optional(),syncedAt:u.string().datetime().optional(),metadata:n.default({})}).strict()]),O=u.object({schema:t,initial:e.optional()}),k=u.object({id:u.string().min(1),name:u.string().optional(),description:u.string().optional(),inputSchema:t.optional(),configSchema:t.optional(),outputSchema:t.optional(),state:O.optional(),artifact:x.optional(),root:T,triggers:u.array(v).optional(),scope:y.default({type:`global`}),canvasLayout:u.record(u.string(),e).optional(),source:D.optional(),executionHints:m.optional()}),A=u.enum([`pending`,`running`,`paused`,`completed`,`failed`,`cancelled`]),j=u.object({id:u.string(),workflowId:u.string(),coordinatorSessionId:u.string().optional(),status:A,inputs:e,config:n.optional(),startedAt:u.number(),completedAt:u.number().optional(),error:u.string().optional(),reason:u.string().optional(),triggerPayload:n.optional(),scope:y,artifactRef:h.optional()}),M=u.object({frameId:u.string(),nodeId:u.string(),nodeType:S,path:u.array(u.string()),parentFrameId:u.string().optional(),status:u.enum([`pending`,`running`,`waiting`,`completed`,`failed`,`skipped`,`cancelled`]),attempt:u.number().int().nonnegative().default(0),iteration:u.number().int().nonnegative().optional(),branchKey:u.string().optional(),output:e.optional(),error:u.string().optional(),startedAt:u.number().optional(),completedAt:u.number().optional()}),N=u.enum([`waiting`,`resumed`,`rejected`,`timed-out`,`cancelled`]),Se=u.object({executionId:u.string(),nodeId:u.string(),frameId:u.string(),schema:t,prompt:u.string().optional(),status:N,autoAction:u.enum([`approve`,`reject`]),timeoutMs:u.number().int().positive().nullable(),resumeData:e.optional(),reason:u.string().optional(),createdAt:u.number(),resolvedAt:u.number().optional()}),P=u.object({adapterName:u.string().min(1),model:u.string().optional(),reasoningEffort:o.optional(),harnessId:u.string().optional(),systemPrompt:u.string().optional(),contextMode:l.optional(),providerContext:s.optional(),completion:c.optional()}),Ce=P,we=u.object({scope:y.optional()}),Te=u.object({startedAt:u.number(),id:u.string()}),Ee=1,De=500,Oe=50,ke=u.object({workflowId:u.string().min(1).optional(),scope:y.optional(),status:A.optional(),artifactRef:h.optional(),limit:u.number().int().min(1).max(500).default(50),cursor:Te.optional()}).refine(e=>e.workflowId!==void 0||e.scope!==void 0||e.artifactRef!==void 0,{message:`Either workflowId, scope, or artifactRef is required.`}),Ae=200,je=100,Me=10,Ne=u.object({refs:u.array(h).min(1).max(200),limitPerRef:u.number().int().min(1).max(100).default(10)}),Pe=u.object({executionId:u.string().min(1).optional(),status:N.optional(),limit:u.number().int().min(1).max(500).default(50)}).refine(e=>e.executionId!==void 0||e.status!==void 0,{message:`Either executionId or status is required.`}),F=u.enum([`station`,`delegate-agent`,`delegate-role`,`gate`]),Fe=u.enum([`station`]),Ie=u.object({input:u.number().int().nonnegative(),output:u.number().int().nonnegative(),cached:u.number().int().nonnegative().optional()}),Le=u.object({duration:u.number().nonnegative(),tokenUsage:Ie.optional(),estimatedCost:u.number().nonnegative().optional(),toolCalls:u.number().int().nonnegative().optional()}),Re=u.discriminatedUnion(`kind`,[u.object({kind:u.literal(`none`)}).strict(),u.object({kind:u.literal(`hmac`),secret:u.string().min(1)}).strict()]),ze=u.object({cwd:u.string().min(1),env:u.record(u.string(),u.string()).optional()}),Be=u.object({executionId:u.string().min(1),stepId:u.string().min(1),reason:u.string().optional()});function Ve(e){let t=e.indexOf(`.`);if(t<=0||t===e.length-1)throw Error(`Invalid step cancel subject: ${e}`);return{subject:e.slice(t+1),$meta:{namespace:e.slice(0,t),isRequest:!1,payload:{},local:!1,channel:!1}}}const He=u.object({executionId:u.string().min(1),reason:u.string().optional()});function Ue(e){let t=e.indexOf(`.`);if(t<=0||t===e.length-1)throw Error(`Invalid workflow cancel subject: ${e}`);return{subject:e.slice(t+1),$meta:{namespace:e.slice(0,t),isRequest:!1,payload:{},local:!1,channel:!1}}}const We=u.object({stepId:u.string().min(1),executionId:u.string().min(1),workflowId:u.string().min(1),coordinatorSessionId:u.string().min(1),stepType:Fe,stepDefinition:E,resolvedInputs:n,busUrl:u.string().optional(),busAuth:Re.default({kind:`none`}),platformDefaults:ze,cancelSubject:u.string().min(1)}).superRefine((e,t)=>{e.stepType!==e.stepDefinition.type&&t.addIssue({code:`custom`,path:[`stepDefinition`,`type`],message:`stepDefinition.type must match stepType (${e.stepType})`})}),Ge=`Workflow cancelled`,Ke=u.object({status:u.enum([`completed`,`failed`]),output:e.optional(),error:u.string().optional(),telemetry:Le}),qe=u.enum([`running`,`completed`,`failed`,`skipped`]),I=u.object({executionId:u.string().min(1),frameId:u.string().min(1),stepId:u.string().min(1),stepType:F,status:qe,startedAt:u.number().optional(),completedAt:u.number().optional(),durationMs:u.number().nonnegative().optional(),inputTokens:u.number().int().nonnegative().optional(),outputTokens:u.number().int().nonnegative().optional(),estimatedCost:u.number().nonnegative().optional(),toolCallCount:u.number().int().nonnegative().optional(),input:u.string().optional(),output:u.string().optional()}),Je=u.enum([`triggered-by`,`feedback-loop`,`rerun-of`]),L=u.object({sourceExecutionId:u.string().min(1),targetExecutionId:u.string().min(1),linkType:Je,metadata:u.record(u.string(),u.unknown()).optional()}),Ye=u.object({sourceExecutionId:u.string().min(1).optional(),targetExecutionId:u.string().min(1).optional()}).refine(e=>e.sourceExecutionId!==void 0||e.targetExecutionId!==void 0,{message:`Either sourceExecutionId or targetExecutionId is required.`}),Xe={RUN_CONTEXT_NOT_FOUND:`WORKFLOW_RUN_CONTEXT_NOT_FOUND`,SNAPSHOT_UNAVAILABLE:`WORKFLOW_SNAPSHOT_UNAVAILABLE`,SOURCE_MISMATCH:`WORKFLOW_SOURCE_MISMATCH`,NOT_EXECUTABLE:`WORKFLOW_NOT_EXECUTABLE`,HANDLER_UNAVAILABLE:`WORKFLOW_HANDLER_UNAVAILABLE`};var Ze=class extends Error{code;constructor(e,t){super(t),this.code=e,this.name=`WorkflowError`}};const R=u.string().refine(e=>e===``||e.startsWith(`/`),{message:`JSON Patch paths must be empty or start with "/".`}),Qe=u.object({op:u.enum([`add`,`replace`,`test`]),path:R,value:e}).strict(),$e=u.object({op:u.literal(`remove`),path:R}).strict(),et=u.object({op:u.enum([`move`,`copy`]),path:R,from:R}).strict(),z=u.discriminatedUnion(`op`,[Qe,$e,et]),tt=u.object({type:u.literal(`artifact-query`),query:i,select:u.enum([`latest`,`all`]),optional:u.boolean().optional()}),nt=u.object({type:u.literal(`bus-request`),subject:u.string().min(1),payload:u.record(u.string(),u.unknown()).optional(),optional:u.boolean().optional()}),rt=u.discriminatedUnion(`type`,[tt,nt]),it=u.object({type:u.literal(`artifact`),kind:u.string().min(1),schemaVersion:u.string().min(1),scope:r,metadata:u.record(u.string(),u.unknown()).optional()}),at=u.object({type:u.literal(`bus-event`),subject:u.string().min(1),payload:u.record(u.string(),u.unknown()).optional()}),ot=u.discriminatedUnion(`type`,[it,at]),st=u.object({content:u.string(),metadata:u.record(u.string(),u.unknown()).optional()}),ct=u.object({sources:u.record(u.string(),st)}),lt=u.discriminatedUnion(`kind`,[u.object({kind:u.literal(`none`)}).strict(),u.object({kind:u.literal(`hmac`),secret:u.string().min(1)}).strict()]),B=u.discriminatedUnion(`kind`,[u.object({kind:u.literal(`path`),path:u.string().min(1)}).strict(),u.object({kind:u.literal(`source`),filename:u.string().min(1),source:u.string()}).strict(),u.object({kind:u.literal(`definition`),workflowId:u.string().min(1)}).strict()]),ut=u.object({source:B,definition:k.optional(),executionId:u.string().min(1),workflowId:u.string().min(1),triggerPayload:n.default({}),inputs:e.default({}),config:n.optional(),artifactRef:h.optional(),scope:y.default({type:`global`}),busUrl:u.string().optional(),busAuth:lt.default({kind:`none`}),context:u.object({repoPath:u.string().min(1),makaioHome:u.string().min(1),os:u.enum([`darwin`,`linux`,`win32`]),arch:u.string().min(1),worktree:u.string().optional()}),env:u.record(u.string(),u.string()).default({}),coordinatorSessionId:u.string().min(1),executionHints:m.optional(),cancelSubject:u.string().min(1),suspensionStrategy:p.default(`wait-in-process`)}),V=u.object({executionId:u.string().min(1),workflowId:u.string().min(1)}),dt=u.discriminatedUnion(`status`,[V.extend({status:u.literal(`completed`),artifact:a.optional()}).strict(),V.extend({status:u.literal(`failed`),error:u.string().min(1)}).strict(),V.extend({status:u.literal(`cancelled`),reason:u.string().min(1).optional()}).strict(),V.extend({status:u.literal(`paused`),pausedAtGateId:u.string().min(1),pausedAtFrameId:u.string().min(1)}).strict()]),ft=u.object({name:u.string().min(1),importPath:u.string().min(1)}),pt=u.object({packages:u.array(ft).default([])}),mt=u.object({executionId:u.string().min(1),workflowId:u.string().min(1),source:B,definitionSnapshot:k.optional(),workerManifest:pt.default({packages:[]}),inputs:e.default({}),config:n.optional(),scope:y.default({type:`global`}),triggerPayload:n.default({}),artifactRef:h.optional(),coordinatorSessionId:u.string().min(1),executionHints:m.optional(),dispatchMetadata:n.optional(),cancelSubject:u.string().min(1),context:u.object({repoPath:u.string().min(1),makaioHome:u.string().min(1),os:u.enum([`darwin`,`linux`,`win32`]),arch:u.string().min(1),worktree:u.string().optional()}),env:u.record(u.string(),u.string()).default({}),createdAt:u.number(),suspensionStrategy:p.default(`wait-in-process`)}).superRefine((e,t)=>{e.source.kind===`definition`&&e.definitionSnapshot===void 0&&t.addIssue({code:u.ZodIssueCode.custom,path:[`definitionSnapshot`],message:`definitionSnapshot is required when source.kind is "definition"`})}),H=u.object({executionId:u.string().min(1),workflowId:u.string().min(1),workflowName:u.string().optional(),status:u.enum([`pending`,`running`,`paused`,`completed`,`failed`,`cancelled`]),startedAt:u.number(),completedAt:u.number().optional(),durationMs:u.number().nonnegative().optional(),totalInputTokens:u.number().int().nonnegative().optional(),totalOutputTokens:u.number().int().nonnegative().optional(),totalEstimatedCost:u.number().nonnegative().optional(),error:u.string().optional(),failedNodeId:u.string().optional()}),ht=u.object({executionId:u.string().min(1),frameId:u.string().min(1),nodeId:u.string().min(1),nodeType:F,path:u.array(u.string()),status:u.enum([`pending`,`running`,`waiting`,`completed`,`failed`,`skipped`,`cancelled`]),attempt:u.number().int().nonnegative(),iteration:u.number().int().nonnegative().optional(),branchKey:u.string().optional(),startedAt:u.number().optional(),completedAt:u.number().optional(),durationMs:u.number().nonnegative().optional(),inputTokens:u.number().int().nonnegative().optional(),outputTokens:u.number().int().nonnegative().optional(),estimatedCost:u.number().nonnegative().optional(),error:u.string().optional()}),gt=u.object({executionId:u.string().min(1),frameId:u.string().min(1),nodeId:u.string().min(1),artifact:x,revision:u.string().min(1).optional(),writtenAt:u.number()}),_t=u.object({executionId:u.string().min(1),nodeId:u.string().min(1),frameId:u.string().min(1),status:u.enum([`waiting`,`resumed`,`rejected`,`timed-out`,`cancelled`]),prompt:u.string().optional(),openedAt:u.number(),resolvedAt:u.number().optional(),resumeData:e.optional()}),vt=u.object({executionId:u.string().min(1),inputTokens:u.number().int().nonnegative(),outputTokens:u.number().int().nonnegative(),cachedTokens:u.number().int().nonnegative().optional(),estimatedCost:u.number().nonnegative(),byModel:u.record(u.string(),u.object({inputTokens:u.number().int().nonnegative(),outputTokens:u.number().int().nonnegative(),estimatedCost:u.number().nonnegative()})).optional()}),yt=u.object({total:u.number().int().nonnegative(),byStatus:u.object({pending:u.number().int().nonnegative(),running:u.number().int().nonnegative(),paused:u.number().int().nonnegative(),completed:u.number().int().nonnegative(),failed:u.number().int().nonnegative(),cancelled:u.number().int().nonnegative()}),totalDurationMs:u.number().nonnegative(),totalInputTokens:u.number().int().nonnegative(),totalOutputTokens:u.number().int().nonnegative(),totalEstimatedCost:u.number().nonnegative()}),bt=u.object({executionId:u.string().min(1),frameId:u.string().min(1),factoryId:u.string().min(1),materializedNodeIds:u.array(u.string().min(1)),factoryInput:t.optional(),materializedAt:u.number()}),xt=u.object({message:u.string().min(1),details:u.string().min(1).optional(),kind:u.string().min(1).optional(),metadata:e.optional()}).strict(),U=u.object({executionId:u.string(),stepId:u.string(),stepType:u.enum([`station`,`delegate-agent`,`delegate-role`,`gate`])}),W=U.extend({stepType:u.literal(`gate`)}),St=u.discriminatedUnion(`source`,[W.extend({frameId:u.string(),action:u.enum([`approve`,`reject`]),source:u.literal(`user`),reason:u.string().optional()}),W.extend({frameId:u.string(),action:u.enum([`approve`,`reject`]),source:u.literal(`timeout`)}),W.extend({frameId:u.string(),source:u.literal(`cancelled`)})]),Ct=W.extend({workflowId:u.string(),workflowName:u.string(),title:u.string(),message:u.string(),autoAction:u.enum([`approve`,`reject`]),timeoutMs:u.number().nullable(),openedAt:u.number()}),wt={getDefinition:{request:u.object({id:u.string()}),response:u.object({workflow:k.nullable()})},setDefinition:{request:u.object({workflow:k}),response:u.object({id:u.string()})},deleteDefinition:{request:u.object({id:u.string()}),response:u.object({deleted:u.boolean()})},listDefinitions:{request:we,response:u.object({workflows:u.array(k)})},"definition.created":k,"definition.updated":k,"definition.deleted":u.object({id:u.string()}),start:{request:u.object({workflowId:u.string(),input:e.optional(),config:e.optional(),artifactRef:h.optional(),scope:y.optional(),executionHints:m.optional(),parentSessionId:u.string().optional(),triggerPayload:n.optional()}),response:u.object({executionId:u.string()})},rerun:{request:u.object({executionId:u.string().min(1),mode:u.enum([`snapshot`,`current`]),input:e.optional(),config:e.optional(),artifactRef:h.optional(),scope:y.optional(),executionHints:m.optional(),parentSessionId:u.string().optional(),triggerPayload:n.optional(),reason:u.string().min(1).optional()}),response:u.object({executionId:u.string()})},cancel:{request:u.object({executionId:u.string(),reason:u.string().optional()}),response:u.object({cancelled:u.boolean()})},getExecution:{request:u.object({executionId:u.string()}),response:u.object({execution:j.nullable()})},listExecutions:{request:ke,response:u.object({executions:u.array(j)})},listExecutionsByArtifactRefs:{request:Ne,response:u.object({executionsByRef:u.record(u.string(),u.array(j))})},listSpans:{request:u.object({executionId:u.string()}),response:u.object({spans:u.array(I)})},listGateInstances:{request:Pe,response:u.object({gates:u.array(Se)})},setExecutionLink:{request:u.object({link:L}),response:u.object({id:u.string()})},listExecutionLinks:{request:Ye,response:u.object({links:u.array(L)})},listFrames:{request:u.object({executionId:u.string().min(1)}),response:u.object({frames:u.array(M)})},listTriggerTypes:{request:u.object({}),response:u.object({triggerTypes:u.array(u.object({type:u.string(),displayName:u.string(),icon:u.string(),category:u.string(),description:u.string().optional(),configJsonSchema:t,outputJsonSchema:t,source:u.string()}))})},runFile:{request:u.object({filePath:u.string().min(1),triggerPayload:n.optional(),scope:y.optional()}),response:u.object({executionId:u.string()})},resolveRole:{request:u.object({roleId:u.string().min(1)}),response:P},resolveAgent:{request:u.object({agentId:u.string().min(1)}),response:Ce},getRunContext:{request:u.object({executionId:u.string().min(1)}),response:mt},"execution.started":u.object({executionId:u.string(),workflowId:u.string(),coordinatorSessionId:u.string().optional(),startedAt:u.number().nonnegative().optional(),artifactRef:h.optional()}),"execution.completed":u.object({executionId:u.string(),workflowId:u.string(),totalDuration:u.number(),completedAt:u.number().nonnegative().optional()}),"execution.failed":u.object({executionId:u.string(),workflowId:u.string(),error:u.string(),failedStepId:u.string().optional(),completedAt:u.number().nonnegative().optional()}),"execution.cancelled":u.object({executionId:u.string(),workflowId:u.string(),reason:u.string().optional(),completedAt:u.number().nonnegative().optional()}),"execution.progress":u.object({executionId:u.string().min(1),workflowId:u.string().min(1),frameId:u.string().min(1),nodeId:u.string().min(1),progress:xt,emittedAt:u.number().int().nonnegative()}),"execution.paused":ee.schema(u.object({executionId:u.string(),workflowId:u.string(),pausedAtGateId:u.string().min(1),pausedAtFrameId:u.string().min(1)}),{traceAll:!0}),"step.beforeStart":U,"step.started":U.extend({sessionId:u.string().optional(),subagentId:u.string().optional()}),"step.completed":U.extend({result:e.optional(),duration:u.number()}),"step.failed":U.extend({error:u.string()}),"step.skipped":U.extend({reason:u.string().optional(),condition:u.string().optional()}),"gate.requested":Ct,"gate.awaitApproval":{request:Ct,response:u.object({action:u.enum([`approve`,`reject`]),source:u.enum([`user`,`timeout`]),reason:u.string().optional()})},"gate.respond":{request:u.object({executionId:u.string(),gateId:u.string(),action:u.enum([`approve`,`reject`]),frameId:u.string().optional(),resumeData:e,reason:u.string().optional()}),response:u.object({accepted:u.boolean()})},"gate.resolved":St,"frame.started":u.object({executionId:u.string(),frameId:u.string(),nodeId:u.string(),nodeType:S,path:u.array(u.string()),parentFrameId:u.string().optional(),startedAt:u.number().nonnegative().optional()}),"frame.completed":u.object({executionId:u.string(),frameId:u.string(),nodeId:u.string(),output:e.optional(),duration:u.number().nonnegative().optional(),completedAt:u.number().nonnegative().optional()}),"frame.failed":u.object({executionId:u.string(),frameId:u.string(),nodeId:u.string(),error:u.string(),duration:u.number().nonnegative().optional(),completedAt:u.number().nonnegative().optional()}),"frame.sessionLinked":u.object({executionId:u.string(),frameId:u.string(),sessionId:u.string()}).strict(),"gate.suspended":u.object({executionId:u.string(),frameId:u.string(),nodeId:u.string(),schema:t,prompt:u.string().optional(),title:u.string().optional(),autoAction:u.enum([`approve`,`reject`]),timeoutMs:u.number().nullable(),openedAt:u.number()}),"gate.resumed":u.object({executionId:u.string(),frameId:u.string(),nodeId:u.string(),resumeData:e}),"dynamic.materialized":u.object({executionId:u.string(),frameId:u.string(),factoryId:u.string().min(1),materializedNodes:u.number().int().nonnegative()}),"artifact.updated":u.object({executionId:u.string(),frameId:u.string(),artifactRef:u.object({kind:u.string().min(1),id:u.string().min(1)}),paths:u.array(u.string()),operation:u.string().min(1),revision:u.string().min(1).optional()}),"worklog.get":{request:u.object({executionId:u.string().min(1)}),response:u.object({summary:H.nullable()})},"worklog.list":{request:u.object({workflowId:u.string().min(1).optional(),status:A.optional(),limit:u.number().int().positive().optional(),offset:u.number().int().nonnegative().optional()}),response:u.object({items:u.array(H),total:u.number().int().nonnegative()})},"worklog.stats":{request:u.object({workflowId:u.string().min(1).optional(),since:u.number().int().nonnegative().optional(),until:u.number().int().nonnegative().optional()}),response:u.object({stats:yt})},"worklog.changed":u.object({executionId:u.string().min(1)}),"state.get":{request:u.object({executionId:u.string().min(1)}),response:u.object({executionId:u.string().min(1),sequence:u.number().int().nonnegative(),value:e})},"state.patch":{request:u.object({executionId:u.string().min(1),expectedSequence:u.number().int().nonnegative(),patch:u.array(z),nextValue:e}),response:u.object({executionId:u.string().min(1),sequence:u.number().int().positive(),value:e})},"state.updated":u.object({executionId:u.string().min(1),sequence:u.number().int().positive(),patch:u.array(z),value:e,updatedAt:u.number().int().positive()})},Tt=d(`workflow`,wt),Et=Tt.subjects;function Dt(e,t){G(e,t,void 0,0,[],`root`,void 0,void 0)}function G(e,t,n,r,i,a,o,s){let c={parent:n,depth:r,ancestors:i,relationship:a,...o!==void 0&&{index:o},...s!==void 0&&{branchKey:s}};if(t.enter?.(e,c)===!1)return;let l=[...i,e.id],u=r+1;switch(e.type){case`sequence`:{let n=e;for(let r=0;r<n.nodes.length;r++)G(n.nodes[r],t,e,u,l,`sequence-child`,r,void 0);break}case`parallel`:{let n=e;for(let[r,i]of Object.entries(n.branches))G(i,t,e,u,l,`parallel-branch`,void 0,r);break}case`iterate`:G(e.body,t,e,u,l,`iterate-body`,void 0,void 0);break;case`iterate-chain`:G(e.body,t,e,u,l,`iterate-chain-body`,void 0,void 0);break;case`loop`:G(e.body,t,e,u,l,`loop-body`,void 0,void 0);break}t.leave?.(e,c)}function Ot(e){switch(e){case`station`:case`delegate-agent`:case`delegate-role`:case`gate`:return`leaf`;case`parallel`:case`iterate`:case`iterate-chain`:case`loop`:return`control`;case`sequence`:return`structural`}}function kt(e,t,n){return e===`parallel-branch`&&t!==void 0?[{kind:`branch`,key:t}]:e===`sequence-child`&&n!==void 0?[{kind:`index`,value:n}]:e===`iterate-body`||e===`iterate-chain-body`||e===`loop-body`?[{kind:`body`}]:[]}function At(e){return e.replace(/\\/g,`\\\\`).replace(/\//g,`\\/`)}function jt(e){return e.map(e=>{switch(e.kind){case`node`:return`n:${At(e.id)}`;case`branch`:return`b:${At(e.key)}`;case`index`:return`i:${e.value}`;case`body`:return`body`}}).join(`/`)}function Mt(e){let t=[],n=[],r=new Map,i=[],a=[],o=[];return Dt(e.root,{enter(e,s){let c=kt(s.relationship,s.branchKey,s.index),l={kind:`node`,id:e.id};i.push(...c,l),o.push(c.length+1);let u=[...i],d=jt(u),f=a.at(-1);if(t.push({key:d,nodeId:e.id,type:e.type,role:Ot(e.type),path:u,parentKey:f,...s.branchKey!==void 0&&{branchKey:s.branchKey}}),f!==void 0&&s.parent!==void 0)switch(s.parent.type){case`sequence`:{n.push({sourceKey:f,targetKey:d,kind:`contains`});let e=r.get(f);e!==void 0&&n.push({sourceKey:e,targetKey:d,kind:`sequence`}),r.set(f,d);break}case`parallel`:n.push({sourceKey:f,targetKey:d,kind:`branch`});break;case`iterate`:case`iterate-chain`:case`loop`:n.push({sourceKey:f,targetKey:d,kind:`body`});break;default:n.push({sourceKey:f,targetKey:d,kind:`contains`});break}a.push(d)},leave(){let e=o.pop()??0;i.splice(i.length-e,e),a.pop()}}),{nodes:t,edges:n}}function K(e){return q(e.body.nodes,e.id)}function q(e,t){for(let n of e){if(n.type===`loop`)return`Nested loop '${n.id}' found inside loop '${t}' — V1 does not support nested loops`;if(n.type===`sequence`){let e=q(n.nodes,t);if(e)return e}if(n.type===`parallel`)for(let e of Object.values(n.branches)){let n=q(e.nodes,t);if(n)return n}if(n.type===`iterate`||n.type===`iterate-chain`){let e=n.body,r=q(e.nodes,t);if(r)return r}}}const J=new WeakMap,Nt=new WeakMap;function Y(e){let{$schema:t,...n}=u.toJSONSchema(e);return n}function X(e,t,n){let r=J.get(e);if(r!==void 0&&t.set(e.id,r),e.type===`sequence`)for(let r of e.nodes)X(r,t,n);else if(e.type===`parallel`)for(let r of Object.values(e.branches))X(r,t,n);else if(e.type===`iterate`)X(e.body,t,n);else if(e.type===`iterate-chain`)X(e.body,t,n);else if(e.type===`loop`){if(n!==void 0){let t=Nt.get(e);t!==void 0&&n.set(e.gate.handler,t)}X(e.body,t,n)}}function Pt(e,t,n){let r={id:e,type:`station`,prompt:e,...n?.when!==void 0&&{when:n.when},...n?.skip!==void 0&&{skip:n.skip}};return J.set(r,t),r}function Ft(e,t,n){return{id:e,type:`delegate-agent`,agentId:t.agentId,...t.inputExpression!==void 0&&{inputExpression:t.inputExpression},...t.outputSchema!==void 0&&{outputSchema:t.outputSchema},...n?.when!==void 0&&{when:n.when},...n?.skip!==void 0&&{skip:n.skip}}}function It(e,t,n){return{id:e,type:`delegate-role`,role:t,prompt:n?.prompt??e,...n?.when!==void 0&&{when:n.when},...n?.skip!==void 0&&{skip:n.skip},...n?.outputSchema!==void 0&&{outputSchema:n.outputSchema},...n?.timeoutMs!==void 0&&{timeoutMs:n.timeoutMs},...n?.completion!==void 0&&{completion:n.completion}}}function Lt(e,t){return{id:e,type:`gate`,prompt:t.prompt,autoAction:t.autoAction,timeoutMs:t.timeoutMs,...t.title!==void 0&&{title:t.title},...t.resume!==void 0&&{resumeSchema:Y(t.resume)}}}function Rt(e,t,n){let r=`${e}__item`,i={id:r,type:`station`,prompt:r},a={id:e,type:`iterate`,collection:n.collection,body:{id:`${e}__body`,type:`sequence`,nodes:[i]},...n.concurrency!==void 0&&{concurrency:n.concurrency},...n.when!==void 0&&{when:n.when},...n.skip!==void 0&&{skip:n.skip}};return J.set(i,t),a}function zt(e,t,n){return{id:e,type:`iterate-chain`,collection:n.collection,body:{id:`${e}__body`,type:`sequence`,nodes:t},...n.when!==void 0&&{when:n.when},...n.skip!==void 0&&{skip:n.skip}}}function Bt(e,t,n){let r={id:e,type:`loop`,maxRounds:n.maxRounds,body:{id:`${e}__body`,type:`sequence`,nodes:t},gate:Vt(n),...n.when!==void 0&&{when:n.when},...n.skip!==void 0&&{skip:n.skip}},i=K(r);if(i!==void 0)throw Error(i);return Nt.set(r,n.gate.evaluate),r}function Vt(e){let t=e.gate.escalation;return{handler:e.gate.handler,...e.gate.input!==void 0&&{input:e.gate.input},...e.gate.config!==void 0&&{config:e.gate.config},...t!==void 0&&{escalation:{prompt:t.prompt,autoAction:t.autoAction??`reject`,timeoutMs:t.timeoutMs??null,...t.title!==void 0&&{title:t.title},...t.resumeSchema!==void 0&&{resumeSchema:t.resumeSchema}}}}}function Ht(e){return{type:`bus-event`,subject:f(e.subject),...e.filter!==void 0&&{filter:e.filter},...e.filterExpression!==void 0&&{filterExpression:e.filterExpression}}}function Ut(){return{type:`manual`}}function Wt(e){return{type:`cron`,schedule:e.schedule,...e.timezone!==void 0&&{timezone:e.timezone}}}function Gt(e){return{type:`webhook`,event:e.event,...e.branch!==void 0&&{branch:e.branch},...e.repo!==void 0&&{repo:e.repo}}}function Kt(e){return{type:`extension`,extensionType:e.extensionType,...e.config!==void 0&&{config:e.config}}}function Z(e,t){if(e.has(t))throw Error(`Duplicate step ID: ${t}`);e.add(t)}function Q(e,t){if(Z(e,t.id),t.type===`sequence`)for(let n of t.nodes)Q(e,n);else if(t.type===`parallel`)for(let n of Object.values(t.branches))Q(e,n);else (t.type===`iterate`||t.type===`iterate-chain`||t.type===`loop`)&&Q(e,t.body)}function qt(e,t,n,r,i){let a={};return t.forEach((t,o)=>{if(t.id.length===0)throw Error(`parallel branch at index ${o} has an empty ID`);let s=t.id,c=`${e}__${s}`;Q(n,t),Z(n,c),X(t,r,i),a[s]={id:c,type:`sequence`,nodes:[t]}}),a}function Jt(e,t,n,r,i){let a=`${e}__body`,o=`${e}__item`;Z(r,a),Z(r,o),i.set(o,t);let s={id:o,type:`station`,prompt:o};return{id:e,type:`iterate`,collection:n.collection,body:{id:a,type:`sequence`,nodes:[s]},...n.concurrency!==void 0&&{concurrency:n.concurrency},...n.when!==void 0&&{when:n.when},...n.skip!==void 0&&{skip:n.skip}}}function Yt(e,t,n){return t.resume!==void 0&&(n[e]=t.resume),{id:e,type:`gate`,prompt:t.prompt,autoAction:t.autoAction,timeoutMs:t.timeoutMs,...t.title!==void 0&&{title:t.title},...t.resume!==void 0&&{resumeSchema:Y(t.resume)}}}function Xt(e,t,n,r,i,a){let o=`${e}__body`;Z(r,o);for(let e of t)Q(r,e),X(e,i,a);return{id:e,type:`iterate-chain`,collection:n.collection,body:{id:o,type:`sequence`,nodes:t},...n.when!==void 0&&{when:n.when},...n.skip!==void 0&&{skip:n.skip}}}function Zt(e,t,n,r,i,a){let o=`${e}__body`;Z(r,o);for(let e of t)Q(r,e),X(e,i,a);let s={id:e,type:`loop`,maxRounds:n.maxRounds,body:{id:o,type:`sequence`,nodes:t},gate:Vt(n),...n.when!==void 0&&{when:n.when},...n.skip!==void 0&&{skip:n.skip}},c=K(s);if(c!==void 0)throw Error(c);return a.set(n.gate.handler,n.gate.evaluate),s}function Qt(e,t){e.input=n=>(t.zodSchemas.input=n,t.definition.inputSchema=Y(n),e),e.config=n=>(t.zodSchemas.config=n,t.definition.configSchema=Y(n),e),e.output=n=>(t.zodSchemas.output=n,t.definition.outputSchema=Y(n),e),e.artifact=n=>(n.schema!==void 0&&(t.zodSchemas.artifact=n.schema),t.definition.artifact={kind:n.kind,schemaVersion:n.schemaVersion,scope:n.scope,...n.resolve!==void 0&&{resolve:n.resolve},...n.create!==void 0&&{create:n.create},...n.statusPath!==void 0&&{statusPath:n.statusPath}},e),e.state=e=>(t.definition.state={schema:e.schema,...e.initial!==void 0&&{initial:e.initial}},$(t))}function $t(e,t){let{rootNodes:n,runtimeHandlers:r,runtimeLoopGates:i,registeredIds:a,zodGates:o}=t;e.station=(t,i,o)=>(Z(a,t),n.push({id:t,type:`station`,prompt:t,...o?.when!==void 0&&{when:o.when},...o?.skip!==void 0&&{skip:o.skip}}),r.set(t,i),e),e.delegateToAgent=(t,r,i)=>{Z(a,t);let o={id:t,type:`delegate-agent`,agentId:r.agentId,...r.inputExpression!==void 0&&{inputExpression:r.inputExpression},...r.outputSchema!==void 0&&{outputSchema:r.outputSchema},...i?.when!==void 0&&{when:i.when},...i?.skip!==void 0&&{skip:i.skip}};return n.push(o),e},e.delegateToRole=(t,r,i)=>(Z(a,t),n.push({id:t,type:`delegate-role`,role:r,prompt:i?.prompt??t,...i?.when!==void 0&&{when:i.when},...i?.skip!==void 0&&{skip:i.skip},...i?.outputSchema!==void 0&&{outputSchema:i.outputSchema},...i?.timeoutMs!==void 0&&{timeoutMs:i.timeoutMs},...i?.completion!==void 0&&{completion:i.completion}}),e),e.parallel=(t,o,s)=>(Z(a,t),n.push({id:t,type:`parallel`,mode:o.mode??`all-settled`,branches:qt(t,s,a,r,i),...o.when!==void 0&&{when:o.when},...o.skip!==void 0&&{skip:o.skip}}),e),e.gate=(t,r)=>(Z(a,t),n.push(Yt(t,r,o)),e),e.iterate=(t,i,o)=>(Z(a,t),n.push(Jt(t,i,o,a,r)),e),e.iterateChain=(t,o,s)=>(Z(a,t),n.push(Xt(t,o,s,a,r,i)),e),e.loop=(t,o,s)=>(Z(a,t),n.push(Zt(t,o,s,a,r,i)),e),e.addNode=e=>en(e,a,r,i,n)}function en(e,t,n,r,i){Q(t,e),X(e,n,r),i.push(e)}function $(e){let t={id:e.definition.id,definition:e.definition,runtimeHandlers:e.runtimeHandlers,runtimeFactories:e.runtimeFactories,runtimeLoopGates:e.runtimeLoopGates,source:void 0,get zodSchemas(){return e.zodSchemas},addTrigger(t){return e.triggers.push(t),$(e)}};return Qt(t,e),$t(t,e),t}function tn(e,t){let n=[],r=new Map,i=new Map,a=new Set,o={},s={gates:o},c=new Map,l=t?.triggers?[...t.triggers]:[];return $({rootNodes:n,runtimeHandlers:r,runtimeFactories:c,runtimeLoopGates:i,registeredIds:a,zodGates:o,zodSchemas:s,definition:{id:e,...t?.name!==void 0&&{name:t.name},...t?.description!==void 0&&{description:t.description},root:{id:`${e}__root`,type:`sequence`,nodes:n},triggers:l,scope:{type:`global`}},triggers:l})}function nn(e){if(e.workflows.length===0)throw Error(`defineWorkflowBundle: workflows must not be empty`);return{workflows:Object.freeze([...e.workflows])}}const rn=u.enum([`artifact.created`,`artifact.revised`,`artifact.status.changed`]),an=u.record(u.string(),e),on=u.object({type:u.string().min(1),input:u.record(u.string(),e).optional(),executionHints:m.optional()}),sn=u.object({id:u.string().min(1),description:u.string().optional(),on:rn,when:an.optional(),action:on,enabled:u.boolean().default(!0)});export{L as $,Ce as $t,ht as A,x as At,B,M as Bt,Tt as C,Te as Ct,gt as D,le as Dt,Et as E,Ne as Et,pt as F,pe as Ft,ct as G,_e as Gt,tt as H,ge as Ht,ft as I,me as It,st as J,C as Jt,ot as K,we as Kt,dt as L,xe as Lt,yt as M,b as Mt,vt as N,D as Nt,bt as O,Pe as Ot,mt as P,k as Pt,Ye as Q,he as Qt,lt as R,j as Rt,Dt as S,Ee as St,wt as T,A as Tt,at as U,N as Ut,it as V,Se as Vt,nt as W,ve as Wt,Ze as X,S as Xt,z as Y,w as Yt,Xe as Z,fe as Zt,Bt as _,Me as _t,nn as a,v as an,Ke as at,K as b,Oe as bt,Wt as c,ne as cn,Le as ct,Gt as d,p as dn,He as dt,P as en,Je as et,Ft as f,Fe as ft,zt as g,_ as gt,Rt as h,Ue as ht,sn as i,E as in,We as it,_t as j,ue as jt,H as k,ye as kt,Kt as l,m as ln,Ie as lt,Lt as m,Ve as mt,an as n,de as nn,qe as nt,tn as o,h as on,Re as ot,It as p,F as pt,rt as q,be as qt,rn as r,O as rn,Be as rt,Ht as s,re as sn,ze as st,on as t,T as tn,I as tt,Ut as u,te as un,Ge as ut,Pt as v,je as vt,xt as w,ke as wt,Mt as x,De as xt,Y as y,Ae as yt,ut as z,y as zt};
@@ -1,4 +1,4 @@
1
- import { a as WorkflowExecutor, i as WorkflowEngineService, n as createWorkflowEnginePackage, o as registerDrizzleWorkflowStorage, r as workflowEnginePackage, t as WorkflowEngineToken } from "../package-fwIv7zzj.mjs";
1
+ import { a as WorkflowExecutor, i as WorkflowEngineService, n as createWorkflowEnginePackage, o as registerDrizzleWorkflowStorage, r as workflowEnginePackage, t as WorkflowEngineToken } from "../package-MmQvNJ3u.mjs";
2
2
  import { z } from "zod";
3
3
  import * as _$_makaio_core0 from "@makaio/framework/core";
4
4
  import { IMakaioBus } from "@makaio/framework/bus";
@@ -735,6 +735,16 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
735
735
  }>>;
736
736
  }, z.core.$strip>;
737
737
  initialState: z.ZodOptional<z.ZodType<_$_makaio_contracts0.JsonValue, unknown, z.core.$ZodTypeInternals<_$_makaio_contracts0.JsonValue, unknown>>>;
738
+ executionLinks: z.ZodOptional<z.ZodArray<z.ZodObject<{
739
+ sourceExecutionId: z.ZodString;
740
+ targetExecutionId: z.ZodString;
741
+ linkType: z.ZodEnum<{
742
+ "triggered-by": "triggered-by";
743
+ "feedback-loop": "feedback-loop";
744
+ "rerun-of": "rerun-of";
745
+ }>;
746
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
747
+ }, z.core.$strip>>>;
738
748
  }, z.core.$strip>;
739
749
  response: z.ZodObject<{
740
750
  id: z.ZodString;
@@ -944,6 +954,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
944
954
  gate: "gate";
945
955
  iterate: "iterate";
946
956
  "iterate-chain": "iterate-chain";
957
+ loop: "loop";
947
958
  }>;
948
959
  path: z.ZodArray<z.ZodString>;
949
960
  parentFrameId: z.ZodOptional<z.ZodString>;
@@ -989,6 +1000,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
989
1000
  gate: "gate";
990
1001
  iterate: "iterate";
991
1002
  "iterate-chain": "iterate-chain";
1003
+ loop: "loop";
992
1004
  }>;
993
1005
  path: z.ZodArray<z.ZodString>;
994
1006
  parentFrameId: z.ZodOptional<z.ZodString>;
@@ -1031,6 +1043,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
1031
1043
  gate: "gate";
1032
1044
  iterate: "iterate";
1033
1045
  "iterate-chain": "iterate-chain";
1046
+ loop: "loop";
1034
1047
  }>;
1035
1048
  path: z.ZodArray<z.ZodString>;
1036
1049
  parentFrameId: z.ZodOptional<z.ZodString>;
@@ -1366,6 +1379,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
1366
1379
  linkType: z.ZodEnum<{
1367
1380
  "triggered-by": "triggered-by";
1368
1381
  "feedback-loop": "feedback-loop";
1382
+ "rerun-of": "rerun-of";
1369
1383
  }>;
1370
1384
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1371
1385
  }, z.core.$strip>;
@@ -1386,6 +1400,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
1386
1400
  linkType: z.ZodEnum<{
1387
1401
  "triggered-by": "triggered-by";
1388
1402
  "feedback-loop": "feedback-loop";
1403
+ "rerun-of": "rerun-of";
1389
1404
  }>;
1390
1405
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1391
1406
  }, z.core.$strip>>;
@@ -2698,7 +2713,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
2698
2713
  tableName: "workflow_execution_frames";
2699
2714
  dataType: "string";
2700
2715
  columnType: "SQLiteText";
2701
- data: "station" | "delegate-agent" | "delegate-role" | "sequence" | "parallel" | "gate" | "iterate" | "iterate-chain";
2716
+ data: "station" | "delegate-agent" | "delegate-role" | "sequence" | "parallel" | "gate" | "iterate" | "iterate-chain" | "loop";
2702
2717
  driverParam: string;
2703
2718
  notNull: true;
2704
2719
  hasDefault: false;
@@ -2711,7 +2726,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
2711
2726
  generated: undefined;
2712
2727
  }, {}, {
2713
2728
  length: number | undefined;
2714
- $type: "station" | "delegate-agent" | "delegate-role" | "sequence" | "parallel" | "gate" | "iterate" | "iterate-chain";
2729
+ $type: "station" | "delegate-agent" | "delegate-role" | "sequence" | "parallel" | "gate" | "iterate" | "iterate-chain" | "loop";
2715
2730
  }>;
2716
2731
  path: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2717
2732
  name: string;
@@ -3489,7 +3504,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
3489
3504
  tableName: "workflow_execution_links";
3490
3505
  dataType: "string";
3491
3506
  columnType: "SQLiteText";
3492
- data: "triggered-by" | "feedback-loop";
3507
+ data: "triggered-by" | "feedback-loop" | "rerun-of";
3493
3508
  driverParam: string;
3494
3509
  notNull: true;
3495
3510
  hasDefault: false;
@@ -3502,7 +3517,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
3502
3517
  generated: undefined;
3503
3518
  }, {}, {
3504
3519
  length: number | undefined;
3505
- $type: "triggered-by" | "feedback-loop";
3520
+ $type: "triggered-by" | "feedback-loop" | "rerun-of";
3506
3521
  }>;
3507
3522
  metadata: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
3508
3523
  name: string;
@@ -4537,7 +4552,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
4537
4552
  tableName: "worklog_frame_entries";
4538
4553
  dataType: "string";
4539
4554
  columnType: "SQLiteText";
4540
- data: "station" | "delegate-agent" | "delegate-role" | "sequence" | "parallel" | "gate" | "iterate" | "iterate-chain";
4555
+ data: "station" | "delegate-agent" | "delegate-role" | "sequence" | "parallel" | "gate" | "iterate" | "iterate-chain" | "loop";
4541
4556
  driverParam: string;
4542
4557
  notNull: true;
4543
4558
  hasDefault: false;
@@ -4550,7 +4565,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
4550
4565
  generated: undefined;
4551
4566
  }, {}, {
4552
4567
  length: number | undefined;
4553
- $type: "station" | "delegate-agent" | "delegate-role" | "sequence" | "parallel" | "gate" | "iterate" | "iterate-chain";
4568
+ $type: "station" | "delegate-agent" | "delegate-role" | "sequence" | "parallel" | "gate" | "iterate" | "iterate-chain" | "loop";
4554
4569
  }>;
4555
4570
  path: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
4556
4571
  name: string;
@@ -5982,6 +5997,16 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
5982
5997
  }>>;
5983
5998
  }, z.core.$strip>;
5984
5999
  initialState: z.ZodOptional<z.ZodType<_$_makaio_contracts0.JsonValue, unknown, z.core.$ZodTypeInternals<_$_makaio_contracts0.JsonValue, unknown>>>;
6000
+ executionLinks: z.ZodOptional<z.ZodArray<z.ZodObject<{
6001
+ sourceExecutionId: z.ZodString;
6002
+ targetExecutionId: z.ZodString;
6003
+ linkType: z.ZodEnum<{
6004
+ "triggered-by": "triggered-by";
6005
+ "feedback-loop": "feedback-loop";
6006
+ "rerun-of": "rerun-of";
6007
+ }>;
6008
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
6009
+ }, z.core.$strip>>>;
5985
6010
  }, z.core.$strip>;
5986
6011
  response: z.ZodObject<{
5987
6012
  id: z.ZodString;
@@ -6191,6 +6216,7 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
6191
6216
  gate: "gate";
6192
6217
  iterate: "iterate";
6193
6218
  "iterate-chain": "iterate-chain";
6219
+ loop: "loop";
6194
6220
  }>;
6195
6221
  path: z.ZodArray<z.ZodString>;
6196
6222
  parentFrameId: z.ZodOptional<z.ZodString>;
@@ -6236,6 +6262,7 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
6236
6262
  gate: "gate";
6237
6263
  iterate: "iterate";
6238
6264
  "iterate-chain": "iterate-chain";
6265
+ loop: "loop";
6239
6266
  }>;
6240
6267
  path: z.ZodArray<z.ZodString>;
6241
6268
  parentFrameId: z.ZodOptional<z.ZodString>;
@@ -6278,6 +6305,7 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
6278
6305
  gate: "gate";
6279
6306
  iterate: "iterate";
6280
6307
  "iterate-chain": "iterate-chain";
6308
+ loop: "loop";
6281
6309
  }>;
6282
6310
  path: z.ZodArray<z.ZodString>;
6283
6311
  parentFrameId: z.ZodOptional<z.ZodString>;
@@ -6613,6 +6641,7 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
6613
6641
  linkType: z.ZodEnum<{
6614
6642
  "triggered-by": "triggered-by";
6615
6643
  "feedback-loop": "feedback-loop";
6644
+ "rerun-of": "rerun-of";
6616
6645
  }>;
6617
6646
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
6618
6647
  }, z.core.$strip>;
@@ -6633,6 +6662,7 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
6633
6662
  linkType: z.ZodEnum<{
6634
6663
  "triggered-by": "triggered-by";
6635
6664
  "feedback-loop": "feedback-loop";
6665
+ "rerun-of": "rerun-of";
6636
6666
  }>;
6637
6667
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
6638
6668
  }, z.core.$strip>>;
@@ -7412,7 +7442,7 @@ declare const worklogFrameEntriesDual: _$_makaio_storage_drizzle0.DualTable<"wor
7412
7442
  /** Unique frame identifier within the execution. */frameId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.IsPrimaryKey<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"frame_id", [string, ...string[]], number | undefined>>>, _$drizzle_orm0.IsPrimaryKey<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"frame_id", [string, ...string[]]>>>>; /** Execution this frame belongs to. */
7413
7443
  executionId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"execution_id", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"execution_id", [string, ...string[]]>>>; /** Node identifier from the workflow definition. */
7414
7444
  nodeId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"node_id", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"node_id", [string, ...string[]]>>>; /** Node type discriminant. */
7415
- nodeType: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.$Type<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"node_type", [string, ...string[]], number | undefined>>, "station" | "delegate-agent" | "delegate-role" | "sequence" | "parallel" | "gate" | "iterate" | "iterate-chain">, _$drizzle_orm0.$Type<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"node_type", [string, ...string[]]>>, "station" | "delegate-agent" | "delegate-role" | "sequence" | "parallel" | "gate" | "iterate" | "iterate-chain">>;
7445
+ nodeType: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.$Type<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"node_type", [string, ...string[]], number | undefined>>, "station" | "delegate-agent" | "delegate-role" | "sequence" | "parallel" | "gate" | "iterate" | "iterate-chain" | "loop">, _$drizzle_orm0.$Type<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"node_type", [string, ...string[]]>>, "station" | "delegate-agent" | "delegate-role" | "sequence" | "parallel" | "gate" | "iterate" | "iterate-chain" | "loop">>;
7416
7446
  /**
7417
7447
  * Ordered path of frame IDs from the root frame to this frame (inclusive).
7418
7448
  * Stored as a JSON array for tree correlation.
@@ -1 +1 @@
1
- import{A as e,H as t,K as n,M as r,O as i,R as a,S as o,b as s,u as c,y as l}from"../primitive-runtime-BSg8J7VX.mjs";import{a as u,c as d,i as f,l as p,n as m,o as h,r as g,s as _,t as v}from"../package-lxB0vpby.mjs";import{JsonValueSchema as y,WorkflowFrameStateSchema as b}from"@makaio/framework/contracts";const x=new Set([...b.shape.status.options]);function S(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function C(e){if(!S(e))return!1;for(let t of Object.values(e))if(!S(t)||typeof t.status!=`string`||!x.has(t.status)||`result`in t&&t.result!==void 0&&!y.safeParse(t.result).success)return!1;return!0}function w(e){let t={trigger:S(e.trigger)?e.trigger:{},steps:C(e.steps)?e.steps:{},inputs:y.safeParse(e.inputs).success?e.inputs:{}};return`item`in e&&(t.item=e.item),typeof e.index==`number`&&(t.index=e.index),t}export{f as WorkflowEngineService,v as WorkflowEngineToken,u as WorkflowExecutor,l as WorkflowStorageNamespace,s as WorkflowStorageSubjects,w as buildWorkflowExpressionContextFromResolvedInputs,m as createWorkflowEnginePackage,_ as getWorkflowState,d as initializeWorkflowState,p as patchWorkflowState,h as registerDrizzleWorkflowStorage,c as runShellStep,o as workflowDefinitionsDual,g as workflowEnginePackage,i as workflowExecutionStateDual,e as workflowExecutionStateEventsDual,r as workflowExecutionsDual,a as workflowStepSpansDual,t as worklogFrameEntriesDual,n as worklogSummariesDual};
1
+ import{A as e,B as t,J as n,M as r,P as i,S as a,W as o,f as s,w as c,x as l}from"../loop-gate-handlers-CwU5zAGs.mjs";import{a as u,c as d,i as f,l as p,n as m,o as h,r as g,s as _,t as v}from"../package-rdrXr17q.mjs";import{JsonValueSchema as y,WorkflowFrameStateSchema as b}from"@makaio/framework/contracts";const x=new Set([...b.shape.status.options]);function S(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function C(e){if(!S(e))return!1;for(let t of Object.values(e))if(!S(t)||typeof t.status!=`string`||!x.has(t.status)||`result`in t&&t.result!==void 0&&!y.safeParse(t.result).success)return!1;return!0}function w(e){let t={trigger:S(e.trigger)?e.trigger:{},steps:C(e.steps)?e.steps:{},inputs:y.safeParse(e.inputs).success?e.inputs:{}};return`item`in e&&(t.item=e.item),typeof e.index==`number`&&(t.index=e.index),t}export{f as WorkflowEngineService,v as WorkflowEngineToken,u as WorkflowExecutor,l as WorkflowStorageNamespace,a as WorkflowStorageSubjects,w as buildWorkflowExpressionContextFromResolvedInputs,m as createWorkflowEnginePackage,_ as getWorkflowState,d as initializeWorkflowState,p as patchWorkflowState,h as registerDrizzleWorkflowStorage,s as runShellStep,c as workflowDefinitionsDual,g as workflowEnginePackage,e as workflowExecutionStateDual,r as workflowExecutionStateEventsDual,i as workflowExecutionsDual,t as workflowStepSpansDual,o as worklogFrameEntriesDual,n as worklogSummariesDual};
@@ -1,2 +1,2 @@
1
- import { n as createWorkflowEnginePackage, r as workflowEnginePackage, t as WorkflowEngineToken } from "../package-fwIv7zzj.mjs";
1
+ import { n as createWorkflowEnginePackage, r as workflowEnginePackage, t as WorkflowEngineToken } from "../package-MmQvNJ3u.mjs";
2
2
  export { WorkflowEngineToken, createWorkflowEnginePackage, workflowEnginePackage };
@@ -1 +1 @@
1
- import{n as e,r as t,t as n}from"../package-lxB0vpby.mjs";export{n as WorkflowEngineToken,e as createWorkflowEnginePackage,t as workflowEnginePackage};
1
+ import{n as e,r as t,t as n}from"../package-rdrXr17q.mjs";export{n as WorkflowEngineToken,e as createWorkflowEnginePackage,t as workflowEnginePackage};
@@ -1,5 +1,5 @@
1
1
  import { IMakaioBus } from "@makaio/framework/bus";
2
- import { StationHandler, WorkflowDefinition, WorkflowRunResult, WorkflowWorkerConfig, WorkflowZodSchemas } from "@makaio/framework/contracts";
2
+ import { LoopGateHandler, StationHandler, WorkflowDefinition, WorkflowRunResult, WorkflowWorkerConfig, WorkflowZodSchemas } from "@makaio/framework/contracts";
3
3
 
4
4
  //#region subsystems/workflow-engine/src/workflow-orchestrator.d.ts
5
5
  /**
@@ -18,6 +18,8 @@ interface LoadedWorkflow {
18
18
  * Used by the orchestrator to dispatch `station`-type nodes.
19
19
  */
20
20
  readonly runtimeHandlers: ReadonlyMap<string, StationHandler>;
21
+ /** Loop gate handler functions keyed by handler name. */
22
+ readonly runtimeLoopGates?: ReadonlyMap<string, LoopGateHandler>;
21
23
  }
22
24
  /**
23
25
  * Input parameters for {@link runWorkflowOrchestrator}.
@@ -1 +1 @@
1
- import{_ as e,a as t,b as n,i as r,o as i,p as a,q as o,r as s,t as c}from"../primitive-runtime-BSg8J7VX.mjs";import{WORKFLOW_CANCELLED_REASON as l}from"@makaio/framework/contracts";async function u(e,t,r,i){let a=await h(e,t,r);return await e.request(n.setExecution,{execution:a}),r===`completed`?await e.emit(o.execution.completed,{executionId:t.executionId,workflowId:t.workflowId,totalDuration:0,completedAt:a.completedAt}):await e.emit(o.execution.cancelled,{executionId:t.executionId,workflowId:t.workflowId,reason:i,completedAt:a.completedAt}),r===`cancelled`?{executionId:t.executionId,workflowId:t.workflowId,status:`cancelled`,...i===void 0?{}:{reason:i}}:{executionId:t.executionId,workflowId:t.workflowId,status:`completed`}}function d(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 f(t){let n,r=()=>{n=a({bus:t.bus,activeExecutions:t.activeExecutions,shellAbortControllers:t.shellAbortControllers,activeRunnerSteps:t.activeRunnerSteps,cancelTimeoutMs:e.cancelTimeoutMs},t.executionId,l).catch(e=>(console.error(`[WorkflowOrchestrator] Failed to persist cancellation for ${t.executionId}:`,e),!1))};return t.signal.addEventListener(`abort`,r,{once:!0}),t.signal.aborted&&r(),async()=>(t.signal.removeEventListener(`abort`,r),n??!1)}async function p(e,t){let r=await e.requestOptional(n.getExecution,{executionId:t});return r.handled?r.data.execution?.startedAt??void 0:void 0}async function m(e,t){return{id:t.executionId,workflowId:t.workflowId,coordinatorSessionId:t.coordinatorSessionId,status:`running`,inputs:t.inputs,config:t.config??{},startedAt:await p(e,t.executionId)??Date.now(),triggerPayload:t.triggerPayload,...t.artifactRef===void 0?{}:{artifactRef:t.artifactRef},scope:t.scope}}async function h(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 p(e,t.executionId)??r,completedAt:r,triggerPayload:t.triggerPayload,...t.artifactRef===void 0?{}:{artifactRef:t.artifactRef},scope:t.scope}}async function g(e,n,i,a,o,s,u,d){let f=e.suspensionStrategy===`wait-in-process`?void 0:await _(e.executionId,s,{required:!0}),p=await r({definition:n,execution:i,runContext:a,zodSchema:d?.artifact,bus:s}),m=new t(e.executionId,e.workflowId,n,i,o,s,u,void 0,p,{context:e.context,env:e.env},{suspensionStrategy:e.suspensionStrategy,resumeFrames:f}),h=m.buildExpressionContext(),g=await c(n.root,m,h);return g.status===`failed`?{status:`failed`,error:g.error}:g.status===`paused`?{status:`paused`,pausedAtGateId:g.pausedAtGateId,pausedAtFrameId:g.pausedAtFrameId}:g.status===`cancelled`||u.aborted?{status:`cancelled`,reason:l}:{status:`completed`,artifact:p?.current}}async function _(e,t,r={}){try{let i=await t.requestOptional(n.listFrames,{executionId:e});if(!i.handled){if(r.required===!0)throw Error(`Frame storage handler is required to resume execution '${e}'.`);return}return i.data.frames.length===0?void 0:s(i.data.frames)}catch(e){if(r.required===!0)throw e;return}}function v(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}}async function y(e,t,r,i,a){r.status=`paused`,await e.request(n.setExecution,{execution:r}),await e.emit(o.execution.paused,{executionId:t.executionId,workflowId:t.workflowId,pausedAtGateId:i,pausedAtFrameId:a})}async function b(e,t,n,r,i,a){n===`completed`?await e.emit(o.execution.completed,{executionId:t.executionId,workflowId:t.workflowId,totalDuration:i-r.startedAt,completedAt:i}):n===`cancelled`?await e.emit(o.execution.cancelled,{executionId:t.executionId,workflowId:t.workflowId,reason:l,completedAt:i}):await e.emit(o.execution.failed,{executionId:t.executionId,workflowId:t.workflowId,error:a??`Workflow execution failed`,completedAt:i})}async function x(e){let{config:t,loaded:r,bus:a,signal:o}=e,{definition:s}=r;if(o.aborted)return u(a,t,`cancelled`,l);let c=await m(a,t),p=v(t,s);await i(a,c,p,s);let h=new Map(r.runtimeHandlers),_=new Map,x=new Map,S=new Map;_.set(t.executionId,{execution:c,workflow:s,runContext:p,runtimeHandlers:h});let C=f({signal:o,executionId:t.executionId,bus:a,activeExecutions:_,shellAbortControllers:x,activeRunnerSteps:S}),w={status:`completed`},T=!1;try{s.root.nodes.length>0&&(w=await g(t,s,c,p,h,a,o,r.zodSchemas))}catch(e){w={status:`failed`,error:e instanceof Error?e.message:String(e)}}finally{T=await C(),_.clear()}if(T)return d(t,{status:`cancelled`,reason:l});if((o.aborted||c.status===`cancelled`)&&(w={status:`cancelled`,reason:l}),w.status===`paused`)return await y(a,t,c,w.pausedAtGateId,w.pausedAtFrameId),d(t,w);let E=Date.now(),D=w.status===`failed`?w.error:void 0;return c.status=w.status,c.completedAt=E,c.error=D,await a.request(n.setExecution,{execution:c}),await b(a,t,w.status,c,E,D),d(t,w)}export{x as runWorkflowOrchestrator};
1
+ import{S as e,Y as t,a as n,h as r,i,n as a,o,s,t as c,y as l}from"../loop-gate-handlers-CwU5zAGs.mjs";import{WORKFLOW_CANCELLED_REASON as u}from"@makaio/framework/contracts";async function d(n,r,i,a){let o=await g(n,r,i);return await n.request(e.setExecution,{execution:o}),i===`completed`?await n.emit(t.execution.completed,{executionId:r.executionId,workflowId:r.workflowId,totalDuration:0,completedAt:o.completedAt}):await n.emit(t.execution.cancelled,{executionId:r.executionId,workflowId:r.workflowId,reason:a,completedAt:o.completedAt}),i===`cancelled`?{executionId:r.executionId,workflowId:r.workflowId,status:`cancelled`,...a===void 0?{}:{reason:a}}:{executionId:r.executionId,workflowId:r.workflowId,status:`completed`}}function f(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 p(e){let t,n=()=>{t=r({bus:e.bus,activeExecutions:e.activeExecutions,shellAbortControllers:e.shellAbortControllers,activeRunnerSteps:e.activeRunnerSteps,cancelTimeoutMs:l.cancelTimeoutMs},e.executionId,u).catch(t=>(console.error(`[WorkflowOrchestrator] Failed to persist cancellation for ${e.executionId}:`,t),!1))};return e.signal.addEventListener(`abort`,n,{once:!0}),e.signal.aborted&&n(),async()=>(e.signal.removeEventListener(`abort`,n),t??!1)}async function m(t,n){let r=await t.requestOptional(e.getExecution,{executionId:n});return r.handled?r.data.execution?.startedAt??void 0:void 0}async function h(e,t){return{id:t.executionId,workflowId:t.workflowId,coordinatorSessionId:t.coordinatorSessionId,status:`running`,inputs:t.inputs,config:t.config??{},startedAt:await m(e,t.executionId)??Date.now(),triggerPayload:t.triggerPayload,...t.artifactRef===void 0?{}:{artifactRef:t.artifactRef},scope:t.scope}}async function g(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 m(e,t.executionId)??r,completedAt:r,triggerPayload:t.triggerPayload,...t.artifactRef===void 0?{}:{artifactRef:t.artifactRef},scope:t.scope}}async function _(e,t,r,i,s,c,l,d,f){let p=e.suspensionStrategy===`wait-in-process`?void 0:await v(e.executionId,l,{required:!0}),m=await n({definition:t,execution:r,runContext:i,zodSchema:f?.artifact,bus:l}),h=new o(e.executionId,e.workflowId,t,r,s,l,d,void 0,m,{context:e.context,env:e.env},{suspensionStrategy:e.suspensionStrategy,resumeFrames:p,runtimeLoopGates:c}),g=h.buildExpressionContext(),_=await a(t.root,h,g);return _.status===`failed`?{status:`failed`,error:_.error}:_.status===`paused`?{status:`paused`,pausedAtGateId:_.pausedAtGateId,pausedAtFrameId:_.pausedAtFrameId}:_.status===`cancelled`||d.aborted?{status:`cancelled`,reason:u}:{status:`completed`,artifact:m?.current}}async function v(t,n,r={}){try{let a=await n.requestOptional(e.listFrames,{executionId:t});if(!a.handled){if(r.required===!0)throw Error(`Frame storage handler is required to resume execution '${t}'.`);return}return a.data.frames.length===0?void 0:i(a.data.frames)}catch(e){if(r.required===!0)throw e;return}}function y(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}}async function b(n,r,i,a,o){i.status=`paused`,await n.request(e.setExecution,{execution:i}),await n.emit(t.execution.paused,{executionId:r.executionId,workflowId:r.workflowId,pausedAtGateId:a,pausedAtFrameId:o})}async function x(e,n,r,i,a,o){r===`completed`?await e.emit(t.execution.completed,{executionId:n.executionId,workflowId:n.workflowId,totalDuration:a-i.startedAt,completedAt:a}):r===`cancelled`?await e.emit(t.execution.cancelled,{executionId:n.executionId,workflowId:n.workflowId,reason:u,completedAt:a}):await e.emit(t.execution.failed,{executionId:n.executionId,workflowId:n.workflowId,error:o??`Workflow execution failed`,completedAt:a})}async function S(t){let{config:n,loaded:r,bus:i,signal:a}=t,{definition:o}=r;if(a.aborted)return d(i,n,`cancelled`,u);let l=await h(i,n),m=y(n,o);await s(i,l,m,o);let g=new Map(r.runtimeHandlers),v=r.runtimeLoopGates??new Map,S=new Map,C=new Map,w=new Map;S.set(n.executionId,{execution:l,workflow:o,runContext:m,runtimeHandlers:g,runtimeLoopGates:new Map(v)});let T=p({signal:a,executionId:n.executionId,bus:i,activeExecutions:S,shellAbortControllers:C,activeRunnerSteps:w}),E={status:`completed`},D=!1;try{o.root.nodes.length>0&&(c(o,v),E=await _(n,o,l,m,g,v,i,a,r.zodSchemas))}catch(e){E={status:`failed`,error:e instanceof Error?e.message:String(e)}}finally{D=await T(),S.clear()}if(D)return f(n,{status:`cancelled`,reason:u});if((a.aborted||l.status===`cancelled`)&&(E={status:`cancelled`,reason:u}),E.status===`paused`)return await b(i,n,l,E.pausedAtGateId,E.pausedAtFrameId),f(n,E);let O=Date.now(),k=E.status===`failed`?E.error:void 0;return l.status=E.status,l.completedAt=O,l.error=k,await i.request(e.setExecution,{execution:l}),await x(i,n,E.status,l,O,k),f(n,E)}export{S as runWorkflowOrchestrator};
@@ -1 +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-uKEHY8E4.mjs";import{basename as o,join as s}from"node:path";import{WorkerNodeCapabilitiesSchema as c,WorkerNodeSubjects as l,WorkflowWorkerConfigSchema as u}from"@makaio/framework/contracts";import{runWorkflowOrchestrator as d}from"@makaio/framework/workflow-engine/workflow-orchestrator";var f=n(((e,t)=>{t.exports={name:`piscina`,version:`5.1.4`,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 --pattern='test/**/*test.ts'`,"test:ci":`npm run lint && npm run build && npm run test:coverage`,"test:coverage":`node scripts/run-tests.js --coverage --pattern='test/**/*test.ts'`,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/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:`^11.0.2`,neostandard:`^0.12.0`,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`}}})),p=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})),m=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=p();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}}})),g=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)}}})),_=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})),v=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=m(),a=h(),o=p();var s=g();Object.defineProperty(t,`ArrayTaskQueue`,{enumerable:!0,get:function(){return s.ArrayTaskQueue}});var c=_();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]}}}})),y=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`)}})),b=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})),x=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}}})),S=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}}})),C=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=y(),l=p(),u=b(),d=x();Object.defineProperty(t,`AsynchronouslyCreatedResourcePool`,{enumerable:!0,get:function(){return d.AsynchronouslyCreatedResourcePool}}),r(S(),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}}}})),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,o,s;Object.defineProperty(t,`__esModule`,{value:!0}),t.ArrayTaskQueue=t.FixedQueue=t.version=t.queueOptionsSymbol=t.valueSymbol=t.transferableSymbol=t.Piscina=t.workerData=t.isWorkerThread=t.move=void 0;let c=e(`node:worker_threads`),l=e(`node:events`),u=e(`node:path`),d=e(`node:util`),g=e(`node:perf_hooks`),_=e(`node:timers/promises`),x=f();Object.defineProperty(t,`version`,{enumerable:!0,get:function(){return x.version}});let S=p();Object.defineProperty(t,`queueOptionsSymbol`,{enumerable:!0,get:function(){return S.kQueueOptions}}),Object.defineProperty(t,`transferableSymbol`,{enumerable:!0,get:function(){return S.kTransferable}}),Object.defineProperty(t,`valueSymbol`,{enumerable:!0,get:function(){return S.kValue}});let w=v();Object.defineProperty(t,`ArrayTaskQueue`,{enumerable:!0,get:function(){return w.ArrayTaskQueue}}),Object.defineProperty(t,`FixedQueue`,{enumerable:!0,get:function(){return w.FixedQueue}});let T=C(),E=m(),D=b(),O=y(),k=h(),A=(0,k.getAvailableParallelism)(),j={filename:null,name:`default`,minThreads:Math.max(Math.floor(A/2),1),maxThreads:A*1.5,idleTimeout:0,maxQueue:1/0,concurrentTasksPerWorker:1,atomics:`sync`,taskQueue:new w.ArrayTaskQueue,niceIncrement:0,trackUnmanagedFds:!0,closeTimeout:3e4,recordTiming:!0,workerHistogram:!1},M={transferList:void 0,filename:null,signal:null,name:null},N={force:!1};var P=class{constructor(e){i.set(this,void 0),n(this,i,e,`f`)}get[(i=new WeakMap,S.kTransferable)](){return r(this,i,`f`)}get[S.kValue](){return r(this,i,`f`)}},F=class{constructor(e){a.set(this,void 0),n(this,a,e,`f`)}get[(a=new WeakMap,S.kTransferable)](){return r(this,a,`f`).buffer}get[S.kValue](){return r(this,a,`f`)}},I=class{constructor(e,t){this.skipQueue=[],this.completed=0,this.histogram=null,this.start=g.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 w.FixedQueue;let n=t.filename?(0,k.maybeFileURLToPath)(t.filename):null;this.options={...j,...t,filename:n,maxQueue:0},this.options.recordTiming&&(this.histogram=new D.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??j.maxQueue,this.balancer=this.options.loadBalancer??(0,T.LeastBusyBalancer)({maximumUsage:this.options.concurrentTasksPerWorker}),this.workers=new T.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 T.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&&k.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)}_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[S.kWorkerData]!=null){let t=g.performance.now();return(n=this.histogram)==null||n.recordWaitTime(t-e.created),e.started=t,r[S.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(O.Errors.FilenameNotProvided());n=(0,k.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,k.promiseResolvers)(),l=new w.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(g.performance.now()-l.started)),e===null?s(t):c(e),queueMicrotask(this._maybeDrain.bind(this))});if(a!=null){if(a.aborted)return c(new E.AbortError(a.reason)),o;l.onAbort(()=>{c(new E.AbortError(a.reason)),l.workerInfo==null?this.taskQueue.remove(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(O.Errors.NoTaskQueueAvailable()):c(O.Errors.TaskQueueAtLimit()):this.taskQueue.push(l),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(O.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 E.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 E.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,_.setTimeout)(e,null,{ref:!1}),O.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}}},L=class e extends l.EventEmitterAsyncResource{constructor(e={}){if(super({...e,name:`Piscina`}),o.set(this,void 0),s.set(this,null),typeof e.filename!=`string`&&e.filename!=null)throw TypeError(`options.filename must be a string or null`);if(typeof e.name!=`string`&&e.name!=null)throw TypeError(`options.name must be a string or null`);if(e.minThreads!==void 0&&(typeof e.minThreads!=`number`||e.minThreads<0))throw TypeError(`options.minThreads must be a non-negative integer`);if(e.maxThreads!==void 0&&(typeof e.maxThreads!=`number`||e.maxThreads<1))throw TypeError(`options.maxThreads must be a positive integer`);if(e.minThreads!==void 0&&e.maxThreads!==void 0&&e.minThreads>e.maxThreads)throw RangeError(`options.minThreads and options.maxThreads must not conflict`);if(e.idleTimeout!==void 0&&(typeof e.idleTimeout!=`number`||e.idleTimeout<0))throw TypeError(`options.idleTimeout must be a non-negative integer`);if(e.maxQueue!==void 0&&e.maxQueue!==`auto`&&(typeof e.maxQueue!=`number`||e.maxQueue<0))throw TypeError(`options.maxQueue must be a non-negative integer`);if(e.concurrentTasksPerWorker!==void 0&&(typeof e.concurrentTasksPerWorker!=`number`||e.concurrentTasksPerWorker<1))throw TypeError(`options.concurrentTasksPerWorker must be a positive integer`);if(e.atomics!=null&&(typeof e.atomics!=`string`||![`sync`,`async`,`disabled`].includes(e.atomics)))throw TypeError(`options.atomics should be a value of sync, sync or disabled.`);if(e.resourceLimits!==void 0&&(typeof e.resourceLimits!=`object`||e.resourceLimits===null))throw TypeError(`options.resourceLimits must be an object`);if(e.taskQueue!==void 0&&!(0,w.isTaskQueue)(e.taskQueue))throw TypeError(`options.taskQueue must be a TaskQueue object`);if(e.niceIncrement!==void 0&&(typeof e.niceIncrement!=`number`||e.niceIncrement<0&&process.platform!==`win32`))throw TypeError(`options.niceIncrement must be a non-negative integer on Unix systems`);if(e.trackUnmanagedFds!==void 0&&typeof e.trackUnmanagedFds!=`boolean`)throw TypeError(`options.trackUnmanagedFds must be a boolean value`);if(e.closeTimeout!==void 0&&(typeof e.closeTimeout!=`number`||e.closeTimeout<0))throw TypeError(`options.closeTimeout must be a non-negative integer`);if(e.loadBalancer!==void 0&&(typeof e.loadBalancer!=`function`||e.loadBalancer.length<1))throw TypeError(`options.loadBalancer must be a function with at least two args`);if(e.workerHistogram!==void 0&&typeof e.workerHistogram!=`boolean`)throw TypeError(`options.workerHistogram must be a boolean`);n(this,o,new I(this,e),`f`)}run(e,t=M){if(typeof t!=`object`||!t)return Promise.reject(TypeError(`options must be an object`));let{transferList:n,filename:i,name:a,signal:s}=t;return n!==void 0&&!Array.isArray(n)?Promise.reject(TypeError(`transferList argument must be an Array`)):i!=null&&typeof i!=`string`?Promise.reject(TypeError(`filename argument must be a string`)):a!=null&&typeof a!=`string`?Promise.reject(TypeError(`name argument must be a string`)):s!=null&&typeof s!=`object`?Promise.reject(TypeError(`signal argument must be an object`)):r(this,o,`f`).runTask(e,{transferList:n,filename:i,name:a,signal:s})}async close(e=N){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??=N.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 queueSize(){let e=r(this,o,`f`);return Math.max(e.taskQueue.size-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 g.performance.now()-r(this,o,`f`).start}get needsDrain(){return r(this,o,`f`)._needsDrain}static get isWorkerThread(){return k.commonState.isWorkerThread}static get workerData(){return k.commonState.workerData}static get version(){return x.version}static get Piscina(){return e}static get FixedQueue(){return w.FixedQueue}static get ArrayTaskQueue(){return w.ArrayTaskQueue}static move(e){return typeof e==`object`&&e&&typeof e!=`function`&&((0,k.isTransferable)(e)||(e=d.types.isArrayBufferView(e)?new F(e):new P(e)),(0,k.markMovable)(e)),e}static get transferableSymbol(){return S.kTransferable}static get valueSymbol(){return S.kValue}static get queueOptionsSymbol(){return S.kQueueOptions}};t.default=L,t.Piscina=L,t.move=L.move,t.isWorkerThread=L.isWorkerThread,t.workerData=L.workerData})),T=t(n(((e,t)=>{t.exports=(e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}})(w()).default}))(),1),E=T.default;T.default.ArrayTaskQueue,T.default.FixedQueue,T.default.Piscina,T.default.isWorkerThread,T.default.move,T.default.queueOptionsSymbol,T.default.transferableSymbol,T.default.valueSymbol,T.default.version,T.default.workerData;var D=class{pool;constructor(e){this.pool=new E({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()}},O=class{options;manifest;pool;constructor(e){this.options=e,this.manifest=e.manifest}async run(e,t,n){return this.pool??=new D(this.options),this.pool.run({config:e,manifest:n??this.manifest},t)}runWithReadiness(e,t,n){this.pool??=new D(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 k(e){return e.mode===`source`?s(e.moduleDir,`workflow-worker`,`worker-entry.ts`):s(e.moduleDir,`workflow-worker`,`worker-entry.mjs`)}function A(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 j=class{options;constructor(e){this.options=e}run(e,t,n,r){let i=n??this.options.manifest,a=A(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)}},M=class{#e;constructor(e){this.#e=e.bus}async run(e,t,n){let i=u.parse(e),o=await r(i);return d({config:await a(i,o,this.#e,t),loaded:o,bus:this.#e,signal:t})}};function N(){return{packages:[]}}function P(e){let t=o(e.runtimeModuleDir)===`src`?`source`:`dist`,n=F({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 F(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 M({bus:e.bus});case`worker-node`:{let n=e.bus,r=t.dispatch??(n===void 0?void 0:(e,t)=>n.request(l.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 j({dispatch:r,...t.manifest!==void 0&&{manifest:t.manifest},...t.requirements!==void 0&&{requirements:t.requirements}})}case`piscina`:return new O({workerEntry:t.workerEntry??k({moduleDir:e.moduleDir,mode:t.workerEntryMode??e.defaultWorkerEntryMode}),manifest:t.manifest??N(),maxConcurrency:t.maxConcurrency,idleTimeoutMs:t.idleTimeoutMs})}}function I(e){return e instanceof Error?e:Error(String(e??`WorkerNode wait aborted`))}function L(e){return typeof e.runWithReadiness==`function`}const R={persistentStorage:!0,customCapabilities:[`workflow.local-runtime`,`workflow.thin-runner`],suspensionStrategy:`wait-in-process`};var z=class{options;environment=`piscina`;baseCapabilities;constructor(e){this.options=e,this.baseCapabilities=c.parse({...R,...e.baseCapabilities,suspensionStrategy:e.baseCapabilities?.suspensionStrategy??R.suspensionStrategy})}get id(){return this.options.id}get displayName(){return this.options.displayName}async provision(e){let t=new AbortController,n=L(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(I(e.reason));let n,i=new Promise((e,t)=>{n=t}),a=()=>{t.abort(e.reason),n(I(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())}}};export{j as a,M as i,F as n,k as o,P as r,O as s,z as t};
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-DcMVmNW5.mjs";import{basename as o,join as s}from"node:path";import{WorkerNodeCapabilitiesSchema as c,WorkerNodeSubjects as l,WorkflowWorkerConfigSchema as u}from"@makaio/framework/contracts";import{runWorkflowOrchestrator as d}from"@makaio/framework/workflow-engine/workflow-orchestrator";var f=n(((e,t)=>{t.exports={name:`piscina`,version:`5.1.4`,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 --pattern='test/**/*test.ts'`,"test:ci":`npm run lint && npm run build && npm run test:coverage`,"test:coverage":`node scripts/run-tests.js --coverage --pattern='test/**/*test.ts'`,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/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:`^11.0.2`,neostandard:`^0.12.0`,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`}}})),p=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})),m=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=p();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}}})),g=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)}}})),_=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})),v=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=m(),a=h(),o=p();var s=g();Object.defineProperty(t,`ArrayTaskQueue`,{enumerable:!0,get:function(){return s.ArrayTaskQueue}});var c=_();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]}}}})),y=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`)}})),b=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})),x=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}}})),S=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}}})),C=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=y(),l=p(),u=b(),d=x();Object.defineProperty(t,`AsynchronouslyCreatedResourcePool`,{enumerable:!0,get:function(){return d.AsynchronouslyCreatedResourcePool}}),r(S(),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}}}})),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,o,s;Object.defineProperty(t,`__esModule`,{value:!0}),t.ArrayTaskQueue=t.FixedQueue=t.version=t.queueOptionsSymbol=t.valueSymbol=t.transferableSymbol=t.Piscina=t.workerData=t.isWorkerThread=t.move=void 0;let c=e(`node:worker_threads`),l=e(`node:events`),u=e(`node:path`),d=e(`node:util`),g=e(`node:perf_hooks`),_=e(`node:timers/promises`),x=f();Object.defineProperty(t,`version`,{enumerable:!0,get:function(){return x.version}});let S=p();Object.defineProperty(t,`queueOptionsSymbol`,{enumerable:!0,get:function(){return S.kQueueOptions}}),Object.defineProperty(t,`transferableSymbol`,{enumerable:!0,get:function(){return S.kTransferable}}),Object.defineProperty(t,`valueSymbol`,{enumerable:!0,get:function(){return S.kValue}});let w=v();Object.defineProperty(t,`ArrayTaskQueue`,{enumerable:!0,get:function(){return w.ArrayTaskQueue}}),Object.defineProperty(t,`FixedQueue`,{enumerable:!0,get:function(){return w.FixedQueue}});let T=C(),E=m(),D=b(),O=y(),k=h(),A=(0,k.getAvailableParallelism)(),j={filename:null,name:`default`,minThreads:Math.max(Math.floor(A/2),1),maxThreads:A*1.5,idleTimeout:0,maxQueue:1/0,concurrentTasksPerWorker:1,atomics:`sync`,taskQueue:new w.ArrayTaskQueue,niceIncrement:0,trackUnmanagedFds:!0,closeTimeout:3e4,recordTiming:!0,workerHistogram:!1},M={transferList:void 0,filename:null,signal:null,name:null},N={force:!1};var P=class{constructor(e){i.set(this,void 0),n(this,i,e,`f`)}get[(i=new WeakMap,S.kTransferable)](){return r(this,i,`f`)}get[S.kValue](){return r(this,i,`f`)}},F=class{constructor(e){a.set(this,void 0),n(this,a,e,`f`)}get[(a=new WeakMap,S.kTransferable)](){return r(this,a,`f`).buffer}get[S.kValue](){return r(this,a,`f`)}},I=class{constructor(e,t){this.skipQueue=[],this.completed=0,this.histogram=null,this.start=g.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 w.FixedQueue;let n=t.filename?(0,k.maybeFileURLToPath)(t.filename):null;this.options={...j,...t,filename:n,maxQueue:0},this.options.recordTiming&&(this.histogram=new D.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??j.maxQueue,this.balancer=this.options.loadBalancer??(0,T.LeastBusyBalancer)({maximumUsage:this.options.concurrentTasksPerWorker}),this.workers=new T.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 T.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&&k.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)}_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[S.kWorkerData]!=null){let t=g.performance.now();return(n=this.histogram)==null||n.recordWaitTime(t-e.created),e.started=t,r[S.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(O.Errors.FilenameNotProvided());n=(0,k.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,k.promiseResolvers)(),l=new w.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(g.performance.now()-l.started)),e===null?s(t):c(e),queueMicrotask(this._maybeDrain.bind(this))});if(a!=null){if(a.aborted)return c(new E.AbortError(a.reason)),o;l.onAbort(()=>{c(new E.AbortError(a.reason)),l.workerInfo==null?this.taskQueue.remove(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(O.Errors.NoTaskQueueAvailable()):c(O.Errors.TaskQueueAtLimit()):this.taskQueue.push(l),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(O.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 E.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 E.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,_.setTimeout)(e,null,{ref:!1}),O.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}}},L=class e extends l.EventEmitterAsyncResource{constructor(e={}){if(super({...e,name:`Piscina`}),o.set(this,void 0),s.set(this,null),typeof e.filename!=`string`&&e.filename!=null)throw TypeError(`options.filename must be a string or null`);if(typeof e.name!=`string`&&e.name!=null)throw TypeError(`options.name must be a string or null`);if(e.minThreads!==void 0&&(typeof e.minThreads!=`number`||e.minThreads<0))throw TypeError(`options.minThreads must be a non-negative integer`);if(e.maxThreads!==void 0&&(typeof e.maxThreads!=`number`||e.maxThreads<1))throw TypeError(`options.maxThreads must be a positive integer`);if(e.minThreads!==void 0&&e.maxThreads!==void 0&&e.minThreads>e.maxThreads)throw RangeError(`options.minThreads and options.maxThreads must not conflict`);if(e.idleTimeout!==void 0&&(typeof e.idleTimeout!=`number`||e.idleTimeout<0))throw TypeError(`options.idleTimeout must be a non-negative integer`);if(e.maxQueue!==void 0&&e.maxQueue!==`auto`&&(typeof e.maxQueue!=`number`||e.maxQueue<0))throw TypeError(`options.maxQueue must be a non-negative integer`);if(e.concurrentTasksPerWorker!==void 0&&(typeof e.concurrentTasksPerWorker!=`number`||e.concurrentTasksPerWorker<1))throw TypeError(`options.concurrentTasksPerWorker must be a positive integer`);if(e.atomics!=null&&(typeof e.atomics!=`string`||![`sync`,`async`,`disabled`].includes(e.atomics)))throw TypeError(`options.atomics should be a value of sync, sync or disabled.`);if(e.resourceLimits!==void 0&&(typeof e.resourceLimits!=`object`||e.resourceLimits===null))throw TypeError(`options.resourceLimits must be an object`);if(e.taskQueue!==void 0&&!(0,w.isTaskQueue)(e.taskQueue))throw TypeError(`options.taskQueue must be a TaskQueue object`);if(e.niceIncrement!==void 0&&(typeof e.niceIncrement!=`number`||e.niceIncrement<0&&process.platform!==`win32`))throw TypeError(`options.niceIncrement must be a non-negative integer on Unix systems`);if(e.trackUnmanagedFds!==void 0&&typeof e.trackUnmanagedFds!=`boolean`)throw TypeError(`options.trackUnmanagedFds must be a boolean value`);if(e.closeTimeout!==void 0&&(typeof e.closeTimeout!=`number`||e.closeTimeout<0))throw TypeError(`options.closeTimeout must be a non-negative integer`);if(e.loadBalancer!==void 0&&(typeof e.loadBalancer!=`function`||e.loadBalancer.length<1))throw TypeError(`options.loadBalancer must be a function with at least two args`);if(e.workerHistogram!==void 0&&typeof e.workerHistogram!=`boolean`)throw TypeError(`options.workerHistogram must be a boolean`);n(this,o,new I(this,e),`f`)}run(e,t=M){if(typeof t!=`object`||!t)return Promise.reject(TypeError(`options must be an object`));let{transferList:n,filename:i,name:a,signal:s}=t;return n!==void 0&&!Array.isArray(n)?Promise.reject(TypeError(`transferList argument must be an Array`)):i!=null&&typeof i!=`string`?Promise.reject(TypeError(`filename argument must be a string`)):a!=null&&typeof a!=`string`?Promise.reject(TypeError(`name argument must be a string`)):s!=null&&typeof s!=`object`?Promise.reject(TypeError(`signal argument must be an object`)):r(this,o,`f`).runTask(e,{transferList:n,filename:i,name:a,signal:s})}async close(e=N){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??=N.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 queueSize(){let e=r(this,o,`f`);return Math.max(e.taskQueue.size-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 g.performance.now()-r(this,o,`f`).start}get needsDrain(){return r(this,o,`f`)._needsDrain}static get isWorkerThread(){return k.commonState.isWorkerThread}static get workerData(){return k.commonState.workerData}static get version(){return x.version}static get Piscina(){return e}static get FixedQueue(){return w.FixedQueue}static get ArrayTaskQueue(){return w.ArrayTaskQueue}static move(e){return typeof e==`object`&&e&&typeof e!=`function`&&((0,k.isTransferable)(e)||(e=d.types.isArrayBufferView(e)?new F(e):new P(e)),(0,k.markMovable)(e)),e}static get transferableSymbol(){return S.kTransferable}static get valueSymbol(){return S.kValue}static get queueOptionsSymbol(){return S.kQueueOptions}};t.default=L,t.Piscina=L,t.move=L.move,t.isWorkerThread=L.isWorkerThread,t.workerData=L.workerData})),T=t(n(((e,t)=>{t.exports=(e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}})(w()).default}))(),1),E=T.default;T.default.ArrayTaskQueue,T.default.FixedQueue,T.default.Piscina,T.default.isWorkerThread,T.default.move,T.default.queueOptionsSymbol,T.default.transferableSymbol,T.default.valueSymbol,T.default.version,T.default.workerData;var D=class{pool;constructor(e){this.pool=new E({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()}},O=class{options;manifest;pool;constructor(e){this.options=e,this.manifest=e.manifest}async run(e,t,n){return this.pool??=new D(this.options),this.pool.run({config:e,manifest:n??this.manifest},t)}runWithReadiness(e,t,n){this.pool??=new D(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 k(e){return e.mode===`source`?s(e.moduleDir,`workflow-worker`,`worker-entry.ts`):s(e.moduleDir,`workflow-worker`,`worker-entry.mjs`)}function A(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 j=class{options;constructor(e){this.options=e}run(e,t,n,r){let i=n??this.options.manifest,a=A(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)}},M=class{#e;constructor(e){this.#e=e.bus}async run(e,t,n){let i=u.parse(e),o=await r(i);return d({config:await a(i,o,this.#e,t),loaded:o,bus:this.#e,signal:t})}};function N(){return{packages:[]}}function P(e){let t=o(e.runtimeModuleDir)===`src`?`source`:`dist`,n=F({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 F(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 M({bus:e.bus});case`worker-node`:{let n=e.bus,r=t.dispatch??(n===void 0?void 0:(e,t)=>n.request(l.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 j({dispatch:r,...t.manifest!==void 0&&{manifest:t.manifest},...t.requirements!==void 0&&{requirements:t.requirements}})}case`piscina`:return new O({workerEntry:t.workerEntry??k({moduleDir:e.moduleDir,mode:t.workerEntryMode??e.defaultWorkerEntryMode}),manifest:t.manifest??N(),maxConcurrency:t.maxConcurrency,idleTimeoutMs:t.idleTimeoutMs})}}function I(e){return e instanceof Error?e:Error(String(e??`WorkerNode wait aborted`))}function L(e){return typeof e.runWithReadiness==`function`}const R={persistentStorage:!0,customCapabilities:[`workflow.local-runtime`,`workflow.thin-runner`],suspensionStrategy:`wait-in-process`};var z=class{options;environment=`piscina`;baseCapabilities;constructor(e){this.options=e,this.baseCapabilities=c.parse({...R,...e.baseCapabilities,suspensionStrategy:e.baseCapabilities?.suspensionStrategy??R.suspensionStrategy})}get id(){return this.options.id}get displayName(){return this.options.displayName}async provision(e){let t=new AbortController,n=L(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(I(e.reason));let n,i=new Promise((e,t)=>{n=t}),a=()=>{t.abort(e.reason),n(I(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())}}};export{j as a,M as i,F as n,k as o,P as r,O as s,z as t};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@makaio/framework",
3
- "version": "1.0.0-dev-1781517341920",
3
+ "version": "1.0.0-dev-1781729394463",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/makaio-ai/makaio-framework.git",
@@ -1 +0,0 @@
1
- import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,m as l,o as u,ot as d,p as f,s as p,t as m,u as h,v as g}from"./schemas-Dvm_0GDr.mjs";import"./compression-Cy9DIqyr.mjs";import"./contracts/adapter/schemas/session-lineage.mjs";import{createBusNamespace as _}from"@makaio/framework/core";const v={getCapabilities:d,startAgent:g,infer:e,listAgents:a,getAgent:o,stopAgent:l,rehydrateAgent:f,getConfigSchema:i,"agent.created":r,"session.created":h,"session.discovered":m,"session.usage":c,"session.closed":n,log:p,error:u,initialized:t,quota:s},y=_(`adapter`,v),b=y.subjects;export{b as n,v as r,y as t};
@@ -1 +0,0 @@
1
- import{pathToFileURL as e}from"node:url";import{mkdir as t,rm as n,writeFile as r}from"node:fs/promises";import{basename as i,join as a}from"node:path";import{randomBytes as o}from"node:crypto";import{WorkflowDefinitionSchema as s}from"@makaio/framework/contracts";import{tmpdir as c}from"node:os";function l(e,t,n=[]){return{type:`makaio.workflow-worker.ready`,executionId:e,cancelSubject:t,adapters:n}}function u(e){if(typeof e!=`object`||!e)return!1;let t=e;return t.type===`makaio.workflow-worker.ready`&&typeof t.executionId==`string`&&typeof t.cancelSubject==`string`&&Array.isArray(t.adapters)&&t.adapters.every(e=>typeof e==`string`)}function d(e){if(typeof e!=`object`||!e)throw Error(`Invalid workflow module default export: expected an object with 'definition' and 'runtimeHandlers', got ${typeof e}.`);let t=e;if(!(t.runtimeHandlers instanceof Map))throw Error(`Invalid workflow module default export: 'runtimeHandlers' must be a Map instance.`);let n=s.safeParse(t.definition);if(!n.success)throw Error(`Invalid workflow module default export: 'definition' must satisfy WorkflowDefinitionSchema. `+n.error.message);let r=f(t.zodSchemas)?t.zodSchemas:void 0;return{definition:n.data,runtimeHandlers:t.runtimeHandlers,...r===void 0?{}:{zodSchemas:r}}}function f(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&`gates`in e}async function p(e,s){let l=i(e);if(!l||l===`.`||l===`..`)throw Error(`Invalid workflow source filename: ${e}`);let u=a(c(),`makaio-wf-${o(6).toString(`hex`)}`);await t(u,{recursive:!0});let d=a(u,l.endsWith(`.mjs`)?l:`${l}.mjs`);try{await r(d,s,`utf8`)}catch(e){throw await n(u,{recursive:!0,force:!0}).catch(()=>{}),e}return{tempDir:u,tempPath:d}}function m(e){return typeof e==`object`&&e&&Array.isArray(e.workflows)?e.workflows.map(d):[d(e)]}async function h(t){if(t.kind===`path`)return m((await import(e(t.path).href)).default);let{tempDir:r,tempPath:i}=await p(t.filename,t.source);try{return m((await import(e(i).href)).default)}finally{await n(r,{recursive:!0,force:!0})}}async function g(e){if(e.kind===`definition`)throw Error(`Definition-sourced workers are handled by the workflow executor, not the file loader. Received source: ${JSON.stringify(e)}`);let t=await h(e);if(t.length!==1)throw Error(`loadWorkflowModule expects a single workflow export, but the module exported ${String(t.length)} workflows. Use loadWorkflowModules for bundle exports.`);return t[0]}async function _(e){if(e.source.kind===`definition`){if(e.definition===void 0)throw Error(`Definition-sourced worker config for workflowId "${e.source.workflowId}" is missing the required 'definition' field. Ensure the executor populates WorkflowWorkerConfig.definition before dispatching.`);return{definition:e.definition,runtimeHandlers:new Map}}return g(e.source)}function v(e){let t=e.indexOf(`.`);if(t<=0||t===e.length-1)throw Error(`Invalid trigger subject: ${e}`);return{subject:e.slice(t+1),$meta:{namespace:e.slice(0,t),isRequest:!1,payload:{},local:!1,channel:!1}}}function y(e,t,n){return new Promise((r,i)=>{if(n.aborted){i(n.reason??Error(`Await-trigger aborted`));return}let a=[];function o(){for(let e of a)e();a.length=0}let s=()=>{o(),i(n.reason??Error(`Await-trigger aborted`))};n.addEventListener(`abort`,s,{once:!0}),a.push(()=>n.removeEventListener(`abort`,s));try{for(let n of t){let t=v(n.subject),i=e.on(t,e=>{o(),r(e.payload)},n.filter?{filter:n.filter}:void 0);a.push(i)}}catch(e){o(),i(e)}})}async function b(e,t,n,r){let i=(t.definition.triggers??[]).filter(e=>e.type===`bus-event`);if(Object.keys(e.triggerPayload).length!==0||i.length===0)return e;let a=await y(n,i,r);return{...e,triggerPayload:a}}export{l as a,h as i,_ as n,u as o,g as r,b as t};
@@ -1 +0,0 @@
1
- import{a as e}from"./visibility-Cb62p9bv.mjs";import"./credential-ref-YWQQENEo.mjs";import{p as t}from"./shared-DpOEfD8F.mjs";import{a as n,i as r,r as i,t as a,u as ee}from"./compression-Cy9DIqyr.mjs";import{t as o}from"./schemas-DAYPhB5K.mjs";import{z as s}from"zod";import{createBusNamespace as c}from"@makaio/framework/core";const l=[`empty`,`empty-model`,`empty-routing`,`empty-segment`,`too-many-segments`,`invalid-segment`,`invalid-virtual-name`,`empty-virtual-name`],u=s.enum(l),d=s.object({kind:s.literal(`parse-error`),code:u,message:s.string(),input:s.string()}),f=s.object({kind:s.literal(`bare`),model:s.string()}),p=s.object({kind:s.literal(`qualified`),segment1:s.string(),segment2:s.string().optional(),model:s.string()}),m=s.object({kind:s.literal(`virtual`),name:s.string()}),h=s.discriminatedUnion(`kind`,[f,p,m]),g=s.discriminatedUnion(`kind`,[f,p]),_=s.discriminatedUnion(`kind`,[f,p,m,d]),v=/^[a-z0-9][a-z0-9._-]*$/,y=/^[a-z0-9][a-z0-9_-]*$/;function b(e,t,n){return{kind:`parse-error`,code:e,message:t,input:n}}function x(e){let t=e.trim();if(t.length===0)return b(`empty`,`Canonical model string must not be empty.`,e);if(t.startsWith(`~`)){let n=t.slice(1);return n.length===0?b(`empty-virtual-name`,`Virtual model reference '~' must be followed by a name.`,e):y.test(n)?{kind:`virtual`,name:n}:b(`invalid-virtual-name`,`Invalid virtual model name '${n}': must match [a-z0-9][a-z0-9_-]*.`,e)}let n=t.indexOf(`::`);if(n===-1)return{kind:`bare`,model:t};let r=t.slice(0,n),i=t.slice(n+2);if(r.length===0)return b(`empty-routing`,`Canonical model string must have a routing segment before '::'.`,e);if(i.length===0)return b(`empty-model`,`Canonical model string must have a model name after '::'.`,e);let a=r.toLowerCase().split(`/`);for(let t of a)if(t.length===0)return b(`empty-segment`,`Routing segment must not be empty - check for consecutive '/' characters.`,e);if(a.length>2)return b(`too-many-segments`,`Routing part '${r}' has ${a.length} segments; at most 2 are allowed.`,e);for(let t of a)if(!v.test(t))return b(`invalid-segment`,`Routing segment '${t}' is invalid: must match [a-z0-9][a-z0-9._-]*.`,e);return{kind:`qualified`,segment1:a[0],segment2:a.length>1?a[1]:void 0,model:i}}function S(e){return e.kind===`parse-error`}const C=s.enum([`fork`,`fresh`]),w=s.enum([`spawning`,`running`,`waiting_input`,`hung`,`completed`,`failed`,`cancelled`]),T=s.enum([`tool`,`turn`]),E=s.object({task:s.string(),adapterName:s.string().optional(),providerConfigId:s.string().optional(),providerContext:i.optional(),harnessId:s.string().optional(),model:s.string().optional(),reasoningEffort:e.optional(),contextMode:C.default(`fork`),tools:s.array(s.string()).optional(),disallowedTools:s.array(s.string()).optional(),allowedDirectories:s.array(s.string()).optional(),systemPrompt:s.string().optional(),maxDepth:s.number().optional(),responseSchema:t.optional(),executionTargetId:s.string().optional(),completion:T.optional()}),te=s.object({maxDepth:s.number().default(3),maxConcurrentPerSession:s.number().default(10),maxTotalActive:s.number().default(50),defaultRequestTimeoutMs:s.number().default(6e4),defaultAwaitTimeoutMs:s.number().default(3e5),stateRetentionMs:s.number().default(1800*1e3),inactivityTimeoutMs:s.number().int().nonnegative().default(0),sweepIntervalMs:s.number().int().nonnegative().default(6e4),allowedAdapters:s.array(s.string()).default([]),allowedModels:s.array(s.string()).default([])}).parse({}),ne=s.object({inputTokens:s.number(),outputTokens:s.number(),totalTokens:s.number()}),D=s.object({messageId:s.string(),question:s.string(),context:s.string().optional()}),O=s.object({subagentId:s.string(),parentSessionId:s.string(),task:s.string(),config:E,depth:s.number()}),k=s.object({success:s.boolean(),agentId:s.string().optional(),error:s.string().optional()}),A=s.object({subagentId:s.string(),parentSessionId:s.string(),error:s.string(),phase:s.enum([`session_create`,`adapter_start`,`agent_start`])}),j=s.object({parentSessionId:s.string(),config:E,depth:s.number(),spawningToolCallId:s.string().optional()}),M=s.object({subagentId:s.string(),status:s.literal(`spawning`)}),N=s.object({subagentId:s.string(),timeoutMs:s.number().optional()}),P=s.object({status:s.enum([`completed`,`failed`,`waiting_input`,`timeout`,`cancelled`]),result:s.string().optional(),error:s.string().optional(),pendingRequest:D.optional(),completionSource:T.optional()}),F=s.object({subagentId:s.string(),content:s.string(),inResponseTo:s.string().optional()}),I=s.object({sent:s.boolean(),resolvedPending:s.boolean()}),L=s.object({subagentId:s.string(),reason:s.string().optional()}),R=s.object({killed:s.boolean()}),z=s.object({subagentId:s.string(),update:s.string(),percentComplete:s.number().optional()}),B=s.object({reported:s.boolean()}),V=s.object({subagentId:s.string(),question:s.string(),context:s.string().optional(),timeoutMs:s.number().optional()}),H=s.object({responded:s.boolean(),response:s.string().optional(),timedOut:s.boolean()}),U=s.object({subagentId:s.string(),result:s.string(),summary:s.string().optional()}),W=s.object({completed:s.boolean()}),G=s.object({subagentId:s.string(),task:s.string(),status:w}),K=s.object({parentSessionId:s.string()}),q=s.object({subagents:s.array(G)}),J=s.object({adapterName:s.string(),providerConfigId:s.string().optional(),model:s.string().optional(),systemPrompt:s.string().optional(),contextMode:C,compressionMode:a,allowedTools:s.array(s.string()).optional(),disallowedTools:s.array(s.string()).optional(),allowedDirectories:s.array(s.string()).optional(),reasoningEffort:e.optional(),approvalPolicy:o.optional(),harnessId:s.string().optional(),profileId:s.string().optional(),mcpConfig:ee.optional()}),Y=s.object({sessionId:s.string().optional(),projectId:s.string().optional(),promptText:s.string().optional(),sessionContext:s.unknown().optional()}),X=c(`agentResolution`,{resolve:{request:s.object({selection:n,context:Y.optional()}),response:J}}),re=X.subjects,Z=r.safeExtend({kind:s.literal(`adapter`),adapterName:s.string(),providerConfigId:s.string(),model:s.string()}),Q={resolve:{request:s.object({parsed:g,context:Y.optional()}),response:Z}},$=c(`canonicalModel`,Q),ie=$.subjects;export{E as A,u as B,B as C,I as D,F as E,y as F,g as G,_ as H,S as I,m as K,x as L,w as M,ne as N,j as O,v as P,f as R,z as S,H as T,h as U,d as V,p as W,L as _,X as a,q as b,N as c,W as d,T as f,k as g,O as h,Q as i,A as j,M as k,P as l,te as m,ie as n,re as o,C as p,Z as r,J as s,$ as t,U as u,R as v,V as w,D as x,K as y,l as z};