@makaio/framework 1.0.0-dev-1787670071418 → 1.0.0-dev-1787670559522

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 (527) hide show
  1. package/README.md +0 -2
  2. package/dist/.makaio-build.json +2 -2
  3. package/dist/{account-identity-B3vLwm9O.mjs → account-identity-DGpXd8h_.mjs} +1 -1
  4. package/dist/adapter-BkdJaOOG.mjs +1 -0
  5. package/dist/adapter-subsystem/index.d.mts +76 -118
  6. package/dist/adapter-subsystem/index.mjs +1 -1
  7. package/dist/adapters/claude/index.d.mts +5 -5
  8. package/dist/adapters/config/index.d.mts +1 -1
  9. package/dist/adapters/config/index.mjs +1 -1
  10. package/dist/adapters/index.d.mts +53 -73
  11. package/dist/adapters/index.mjs +6 -6
  12. package/dist/adapters/node.d.mts +1 -1
  13. package/dist/adapters/node.mjs +1 -1
  14. package/dist/adapters/stream-session/index.mjs +1 -1
  15. package/dist/agent-namespace-D51PODFf.mjs +1 -0
  16. package/dist/{artifact-Btbuib48.mjs → artifact-k3veR4Yx.mjs} +1 -1
  17. package/dist/attach-error-BSlc7JfL.mjs +1 -0
  18. package/dist/{auth-C6tVtaOX.mjs → auth-A1K_7q-8.mjs} +1 -1
  19. package/dist/{authority-state-bootstrap-CLYus369.mjs → authority-state-bootstrap-YwtEImIB.mjs} +1 -1
  20. package/dist/{automation-trigger-ByjNlClm.mjs → automation-trigger-CuSdQwir.mjs} +1 -1
  21. package/dist/bus/index.d.mts +4 -22
  22. package/dist/bus/index.mjs +1 -1
  23. package/dist/bus-BIj0_aG6.mjs +1 -0
  24. package/dist/{bus-D6NoBhIV.mjs → bus-CqgrphNE.mjs} +1 -1
  25. package/dist/{canonical-model-DXOvCaVg.mjs → canonical-model-DJASlL4m.mjs} +1 -1
  26. package/dist/capabilities-Bqckjh7G.mjs +1 -0
  27. package/dist/capability-service-CJHNkjvm.mjs +1 -0
  28. package/dist/{client-BkznbdsO.mjs → client-BL5__WT0.mjs} +1 -1
  29. package/dist/clients/index.d.mts +1 -1
  30. package/dist/clients/index.mjs +1 -1
  31. package/dist/clients/managed-install.d.mts +1 -1
  32. package/dist/clients/managed-install.mjs +1 -1
  33. package/dist/{compression-CtgeVLpP.mjs → compression-BbttSqm8.mjs} +1 -1
  34. package/dist/{config-namespace-CjWvw8ij.mjs → config-namespace-CyzeLWSg.mjs} +1 -1
  35. package/dist/{context-resolution-841T7jBI.d.mts → context-resolution-ya9TXKg-.d.mts} +1 -1
  36. package/dist/contracts/adapter/index.d.mts +3 -3
  37. package/dist/contracts/adapter/index.mjs +1 -1
  38. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  39. package/dist/contracts/artifact/index.d.mts +2 -2
  40. package/dist/contracts/artifact/index.mjs +1 -1
  41. package/dist/contracts/auth/index.d.mts +2 -2
  42. package/dist/contracts/auth/index.mjs +1 -1
  43. package/dist/contracts/automation-trigger/index.d.mts +3 -3
  44. package/dist/contracts/automation-trigger/index.mjs +1 -1
  45. package/dist/contracts/canonical-model/index.d.mts +1 -1
  46. package/dist/contracts/canonical-model/index.mjs +1 -1
  47. package/dist/contracts/capabilities/index.d.mts +1 -1
  48. package/dist/contracts/capabilities/index.mjs +1 -1
  49. package/dist/contracts/client/index.d.mts +2 -2
  50. package/dist/contracts/client/index.mjs +1 -1
  51. package/dist/contracts/common/index.d.mts +1 -1
  52. package/dist/contracts/config/index.d.mts +1 -1
  53. package/dist/contracts/config/index.mjs +1 -1
  54. package/dist/contracts/extension/index.d.mts +5 -5
  55. package/dist/contracts/extension/index.mjs +1 -1
  56. package/dist/contracts/facet/index.d.mts +1 -1
  57. package/dist/contracts/facet/index.mjs +1 -1
  58. package/dist/contracts/harness/index.d.mts +1 -1
  59. package/dist/contracts/harness/index.mjs +1 -1
  60. package/dist/contracts/host/index.d.mts +1 -1
  61. package/dist/contracts/host/index.mjs +1 -1
  62. package/dist/contracts/index.d.mts +47 -57
  63. package/dist/contracts/index.mjs +1 -1
  64. package/dist/contracts/materialization/index.d.mts +3 -3
  65. package/dist/contracts/materialization/index.mjs +1 -1
  66. package/dist/contracts/model-registry/index.d.mts +1 -1
  67. package/dist/contracts/model-registry/index.mjs +1 -1
  68. package/dist/contracts/native-session-supervisor/index.d.mts +1 -1
  69. package/dist/contracts/native-session-supervisor/index.mjs +1 -1
  70. package/dist/contracts/platform/index.d.mts +1 -1
  71. package/dist/contracts/platform/index.mjs +1 -1
  72. package/dist/contracts/provider/index.d.mts +2 -2
  73. package/dist/contracts/provider/index.mjs +1 -1
  74. package/dist/contracts/reaction/index.d.mts +1 -1
  75. package/dist/contracts/reaction/index.mjs +1 -1
  76. package/dist/contracts/session/index.d.mts +3 -3
  77. package/dist/contracts/session/index.mjs +1 -1
  78. package/dist/contracts/shared/index.d.mts +3 -3
  79. package/dist/contracts/shared/index.mjs +1 -1
  80. package/dist/contracts/skill/index.d.mts +1 -1
  81. package/dist/contracts/skill/index.mjs +1 -1
  82. package/dist/contracts/telemetry/index.d.mts +1 -1
  83. package/dist/contracts/telemetry/index.mjs +1 -1
  84. package/dist/contracts/timeout/index.d.mts +1 -1
  85. package/dist/contracts/timeout/index.mjs +1 -1
  86. package/dist/contracts/toast/index.mjs +1 -1
  87. package/dist/contracts/variant/index.d.mts +1 -1
  88. package/dist/contracts/variant/index.mjs +1 -1
  89. package/dist/contracts/worker-node/index.d.mts +1 -1
  90. package/dist/contracts/worker-node/index.mjs +1 -1
  91. package/dist/contracts/workflow/index.d.mts +2 -2
  92. package/dist/contracts/workflow/index.mjs +1 -1
  93. package/dist/{contribution-CUHLVLsT.d.mts → contribution-BB5bjx3f.d.mts} +2 -2
  94. package/dist/core/index.d.mts +2 -25
  95. package/dist/{definition-DyGImhyi.d.mts → definition-BYgHlmMw.d.mts} +1 -1
  96. package/dist/{definition-BH4QLGLI.mjs → definition-CDg-Jq1T.mjs} +1 -1
  97. package/dist/{detached-extension-handle-D0aI0pJA.mjs → detached-extension-handle-DKd17UB6.mjs} +1 -1
  98. package/dist/drizzle/meta/_journal.json +0 -28
  99. package/dist/event-DR8U9Efx.mjs +1 -0
  100. package/dist/{execution-attempt-repository-BJ2W6wwx.d.mts → execution-attempt-repository-DFyAnchJ.d.mts} +1 -1
  101. package/dist/{execution-target-H0RWV7Py.mjs → execution-target-ByNwZh5-.mjs} +1 -1
  102. package/dist/{extension-Cz39YNXy.mjs → extension-DMdmj9gi.mjs} +1 -1
  103. package/dist/{extension-Bfkr2DBs.mjs → extension-DUmibvMk.mjs} +1 -1
  104. package/dist/{extension-discovery-Dhu3WplO.d.mts → extension-discovery-Fhps4icD.d.mts} +1 -9
  105. package/dist/{filesystem-service-CiUw0YN5.mjs → filesystem-service-FAtd9gWH.mjs} +1 -1
  106. package/dist/framework-packages-D_2hBZ-p.mjs +1 -0
  107. package/dist/git/index.mjs +2 -2
  108. package/dist/{globby-QBDqstzq.mjs → globby-BBLuT_vy.mjs} +1 -1
  109. package/dist/handlers-2yd00VEq.mjs +57 -0
  110. package/dist/{harness-YQ2ewID9.mjs → harness-KxbWGL4I.mjs} +1 -1
  111. package/dist/{hook-responses-9Ywsqzzq.d.mts → hook-responses-uCXAICTU.d.mts} +1 -1
  112. package/dist/identity-DC3Pk0ps.mjs +1 -0
  113. package/dist/{index-D-4jv_66.d.mts → index-1UcQWrZy.d.mts} +149 -149
  114. package/dist/{index-D8D-yibS2.d.mts → index-B0xJgTi-.d.mts} +4 -4
  115. package/dist/{index-CYjgoYeX.d.mts → index-BMVZs6pm.d.mts} +3 -3
  116. package/dist/{index-CPi0UpRh.d.mts → index-BSQ30wYP.d.mts} +1 -1
  117. package/dist/{index-DXtQRehh.d.mts → index-Bl7KWFod.d.mts} +1 -1
  118. package/dist/{index-D_4K3Tf_.d.mts → index-BtdK8HeH.d.mts} +168 -43
  119. package/dist/{index-C146Eq_J.d.mts → index-C-JzEkqs.d.mts} +1802 -536
  120. package/dist/{index-DI2lS7VT.d.mts → index-CER64zYO.d.mts} +15 -15
  121. package/dist/{index-BkbnC65b.d.mts → index-CM75k-Ff.d.mts} +17 -189
  122. package/dist/{index-CmwAJ8-5.d.mts → index-CSN_0sCo.d.mts} +1 -1
  123. package/dist/{index-CIEycZrt.d.mts → index-C__EQfKa.d.mts} +1 -1
  124. package/dist/{index-B0VO0rAl.d.mts → index-CfiCJPP6.d.mts} +1 -1
  125. package/dist/{index-BNzUyVwV.d.mts → index-CqQYgsbB.d.mts} +170 -513
  126. package/dist/{index-B0yMCJW8.d.mts → index-DI7-tIL3.d.mts} +14 -39
  127. package/dist/{index-CMekqu_D.d.mts → index-DxYDRoDE2.d.mts} +8 -28
  128. package/dist/index-OsbtyMgx2.d.mts +98 -0
  129. package/dist/{index-DJ2KgJDJ2.d.mts → index-cPqSpWQC.d.mts} +12 -12
  130. package/dist/{index-DNI6UF9h.d.mts → index-e4Txan9i.d.mts} +4 -4
  131. package/dist/{index-CPRQ4dWX.d.mts → index-nydhGvXa.d.mts} +23 -0
  132. package/dist/json-value-C1RGgS0a.d.mts +72 -0
  133. package/dist/json-value-D57aJhVn.mjs +1 -0
  134. package/dist/kernel/cli/index.d.mts +2 -2
  135. package/dist/kernel/cli/index.mjs +1 -1
  136. package/dist/kernel/cli/register.d.mts +1 -1
  137. package/dist/kernel/cli/register.mjs +1 -1
  138. package/dist/kernel/cli/schemas.mjs +1 -1
  139. package/dist/kernel/extension/index.d.mts +1 -1
  140. package/dist/kernel/extension/index.mjs +1 -1
  141. package/dist/kernel/index.d.mts +5 -5
  142. package/dist/kernel/index.mjs +1 -1
  143. package/dist/kernel/namespace/index.d.mts +1 -1
  144. package/dist/kernel/namespace/index.mjs +1 -1
  145. package/dist/kernel/observability/index.d.mts +1 -1
  146. package/dist/kernel/observability/index.mjs +1 -1
  147. package/dist/kernel/providers/index.d.mts +1 -1
  148. package/dist/kernel/providers/index.mjs +1 -1
  149. package/dist/kernel/window/index.d.mts +1 -1
  150. package/dist/kernel/window/index.mjs +1 -1
  151. package/dist/{lib-Cm-uEoC1.mjs → lib-B_rJ6r0T.mjs} +1 -1
  152. package/dist/{lib-BpGvHZye.mjs → lib-CnOAtohU.mjs} +2 -2
  153. package/dist/{load-extensions-DG5LvPyM.mjs → load-extensions-CW9uzNR5.mjs} +1 -1
  154. package/dist/{load-extensions-BQoXaHhR.d.mts → load-extensions-DUpaMQ7G.d.mts} +1 -1
  155. package/dist/{materialization-lVd9_-jr.mjs → materialization-CcpCDhXh.mjs} +1 -1
  156. package/dist/mcp-http-server/index.mjs +1 -1
  157. package/dist/model-ZH3L1dPW.mjs +1 -0
  158. package/dist/{namespace-BL7lHlmg.mjs → namespace-B7bntOB8.mjs} +1 -1
  159. package/dist/{namespace-BNp7n_gu.d.mts → namespace-BgEiY7r1.d.mts} +3 -3
  160. package/dist/{namespace-DknCutQZ.d.mts → namespace-C6CVEGH8.d.mts} +0 -50
  161. package/dist/{namespace-C06lJSuj.d.mts → namespace-ChnRTUG4.d.mts} +6 -6
  162. package/dist/namespace-CxrOLeeP.mjs +1 -0
  163. package/dist/{namespace-BRuHzhPo.d.mts → namespace-DSlfFhB1.d.mts} +2 -154
  164. package/dist/{native-session-supervisor-LKio8XZn.mjs → native-session-supervisor-fZYPUk0-.mjs} +1 -1
  165. package/dist/node/bus-server/index.d.mts +1 -1
  166. package/dist/node/bus-server/index.mjs +1 -1
  167. package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
  168. package/dist/node/bus-server/server-lifecycle.mjs +1 -1
  169. package/dist/{orchestrator-shared-CNHSImNY.d.mts → orchestrator-shared-B-KRW1Z0.d.mts} +10 -9
  170. package/dist/orchestrator-shared-CTCZc6Vl.mjs +1 -0
  171. package/dist/ownership-memory-handler-Bblp93YC.mjs +1 -0
  172. package/dist/{package-BNFTUFLB.d.mts → package-Bf3hyuzs.d.mts} +2 -2
  173. package/dist/{package-JtjbO-Oi.mjs → package-CddkNbZI.mjs} +1 -1
  174. package/dist/{package-B01gmu75.mjs → package-ypz4rKvn.mjs} +1 -1
  175. package/dist/package.json +1 -1
  176. package/dist/{profile-N5qGUpF0.mjs → profile-BtznZlq3.mjs} +1 -1
  177. package/dist/{provider-context-zTDSH2x9.mjs → provider-context-BrLZYnDW.mjs} +1 -1
  178. package/dist/{provider-context-CG42JlP9.mjs → provider-context-Dh-VOOYF.mjs} +1 -1
  179. package/dist/{reaction-D3TNwPK8.mjs → reaction-BS0k4eNN.mjs} +1 -1
  180. package/dist/{registry-Dk12tAfv.mjs → registry-BO_bOoky.mjs} +1 -1
  181. package/dist/{resolved-sq8RXNDf.mjs → resolved-DMByz1_2.mjs} +1 -1
  182. package/dist/rules/index.d.mts +1 -1
  183. package/dist/rules/index.mjs +1 -1
  184. package/dist/rules/schemas.d.mts +1 -1
  185. package/dist/runtime-bun/index.mjs +1 -1
  186. package/dist/runtime-node/extension-discovery.d.mts +2 -2
  187. package/dist/runtime-node/extension-discovery.mjs +1 -1
  188. package/dist/runtime-node/extension-validation.d.mts +1 -1
  189. package/dist/runtime-node/extension-validation.mjs +1 -1
  190. package/dist/runtime-node/index.d.mts +4 -6
  191. package/dist/runtime-node/index.mjs +24 -24
  192. package/dist/runtime-node/makaio-config.d.mts +1 -1
  193. package/dist/runtime-node/makaio-config.mjs +1 -1
  194. package/dist/runtime-node/workflow-worker/index.d.mts +1 -1
  195. package/dist/runtime-node/workflow-worker/index.mjs +1 -1
  196. package/dist/runtime-node/workflow-worker/worker-entry.mjs +1 -1
  197. package/dist/{schema-Dq-7si8u.mjs → schema-DBG7Jq5_.mjs} +1 -1
  198. package/dist/{schema-B3Pf7JP7.d.mts → schema-DKTzriEY.d.mts} +3 -250
  199. package/dist/{schemas-C1mxTfd7.d.mts → schemas-B7zo7Zcx.d.mts} +4 -60
  200. package/dist/schemas-BqD8LlQw.mjs +1 -0
  201. package/dist/{schemas-QWDnauKX.mjs → schemas-CsjN7cmM.mjs} +1 -1
  202. package/dist/schemas-CvHFbzdy.mjs +1 -0
  203. package/dist/{schemas-BfO5jkrL.mjs → schemas-DSkBOdx_.mjs} +1 -1
  204. package/dist/{schemas-OWvBn7AH.d.mts → schemas-DZH9lpxs.d.mts} +4 -4
  205. package/dist/schemas-DplrlAyR.mjs +1 -0
  206. package/dist/{schemas-Dd13TMgU.d.mts → schemas-DvMbcABQ.d.mts} +4 -4
  207. package/dist/scoped-bus-ClwTWqX8.mjs +1 -0
  208. package/dist/{selection-DL3ric7K.mjs → selection-7Ku8DBnh.mjs} +1 -1
  209. package/dist/services/adapter-runtime/index.d.mts +4 -4
  210. package/dist/services/adapter-runtime/index.mjs +1 -1
  211. package/dist/services/adapter-runtime/namespace.d.mts +1 -1
  212. package/dist/services/adapter-runtime/schemas.d.mts +2 -2
  213. package/dist/services/adapter-runtime/schemas.mjs +1 -1
  214. package/dist/services/adapter-subsystem/index.d.mts +3 -3
  215. package/dist/services/adapter-subsystem/index.mjs +1 -1
  216. package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
  217. package/dist/services/adapter-subsystem/namespace.mjs +1 -1
  218. package/dist/services/agent-runtime/index.d.mts +2 -2
  219. package/dist/services/agent-runtime/namespace.d.mts +1 -1
  220. package/dist/services/agent-runtime/schemas.d.mts +1 -1
  221. package/dist/services/automation-trigger/index.mjs +1 -1
  222. package/dist/services/capability/index.d.mts +2 -3
  223. package/dist/services/capability/index.mjs +1 -1
  224. package/dist/services/codebase/index.d.mts +2 -2
  225. package/dist/services/codebase/namespace.d.mts +1 -1
  226. package/dist/services/codebase/schemas.d.mts +1 -1
  227. package/dist/services/compression/index.d.mts +2 -2
  228. package/dist/services/compression/namespace.d.mts +1 -1
  229. package/dist/services/compression/schemas.d.mts +1 -1
  230. package/dist/services/context-rules/index.d.mts +1 -1
  231. package/dist/services/context-rules/index.mjs +1 -1
  232. package/dist/services/execution-target/index.d.mts +3 -3
  233. package/dist/services/execution-target/index.mjs +1 -1
  234. package/dist/services/execution-target/namespace.d.mts +1 -1
  235. package/dist/services/execution-target/namespace.mjs +1 -1
  236. package/dist/services/execution-target/schemas.d.mts +1 -1
  237. package/dist/services/execution-target/schemas.mjs +1 -1
  238. package/dist/services/filesystem/index.d.mts +1 -1
  239. package/dist/services/filesystem/index.mjs +1 -1
  240. package/dist/services/filesystem/namespace.d.mts +6 -6
  241. package/dist/services/filesystem/schemas.d.mts +3 -3
  242. package/dist/services/git/namespace.d.mts +0 -18
  243. package/dist/services/git/namespace.mjs +1 -1
  244. package/dist/services/git/schemas.d.mts +1 -10
  245. package/dist/services/git/schemas.mjs +1 -1
  246. package/dist/services/harness/index.mjs +1 -1
  247. package/dist/services/index.d.mts +61 -161
  248. package/dist/services/index.mjs +1 -1
  249. package/dist/services/log-import/browser.d.mts +2 -2
  250. package/dist/services/log-import/index.d.mts +2 -2
  251. package/dist/services/log-import/log-import.d.mts +1 -1
  252. package/dist/services/log-import/log-import.mjs +1 -1
  253. package/dist/services/log-import/namespace.mjs +1 -1
  254. package/dist/services/log-import/schemas.mjs +1 -1
  255. package/dist/services/materialization/index.d.mts +1 -1
  256. package/dist/services/materialization/index.mjs +1 -1
  257. package/dist/services/model-registry/index.d.mts +1 -1
  258. package/dist/services/model-registry/index.mjs +1 -1
  259. package/dist/services/preferences/index.d.mts +2 -2
  260. package/dist/services/preferences/schemas.d.mts +1 -1
  261. package/dist/services/preferences/storage-namespace.d.mts +2 -2
  262. package/dist/services/provider-context/index.d.mts +1 -1
  263. package/dist/services/provider-context/index.mjs +1 -1
  264. package/dist/services/provider-runtime/index.mjs +1 -1
  265. package/dist/services/session/handlers/index.d.mts +1 -1
  266. package/dist/services/session/handlers/index.mjs +1 -1
  267. package/dist/services/session/index.d.mts +10 -10
  268. package/dist/services/session/index.mjs +1 -1
  269. package/dist/services/session/messages/namespace.d.mts +1 -1
  270. package/dist/services/session/messages/namespace.mjs +1 -1
  271. package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
  272. package/dist/services/session/orchestrator-testing/index.mjs +1 -1
  273. package/dist/services/session/session-events/namespace.d.mts +1 -1
  274. package/dist/services/session/session-events/namespace.mjs +1 -1
  275. package/dist/services/session/storage/namespace.d.mts +1 -1
  276. package/dist/services/session/storage/schema.d.mts +2 -2
  277. package/dist/services/session/storage/schema.mjs +1 -1
  278. package/dist/services/session/testing/index.d.mts +1 -22
  279. package/dist/services/session/testing/index.mjs +14 -38
  280. package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
  281. package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
  282. package/dist/services/session/turns/namespace.d.mts +1 -1
  283. package/dist/services/session/turns/namespace.mjs +1 -1
  284. package/dist/services/session-editor/index.d.mts +1 -1
  285. package/dist/services/session-editor/index.mjs +1 -1
  286. package/dist/services/settings/index.d.mts +3 -3
  287. package/dist/services/settings/index.mjs +1 -1
  288. package/dist/services/settings/namespace.d.mts +4 -4
  289. package/dist/services/settings/namespace.mjs +1 -1
  290. package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
  291. package/dist/services/settings/storage/clients-namespace.mjs +1 -1
  292. package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
  293. package/dist/services/settings/storage/index.d.mts +3 -3
  294. package/dist/services/settings/storage/index.mjs +1 -1
  295. package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
  296. package/dist/services/settings/storage/providers-namespace.mjs +1 -1
  297. package/dist/services/subagent/index.d.mts +1 -1
  298. package/dist/services/subagent/index.mjs +1 -1
  299. package/dist/services/subagent-template/index.d.mts +2 -2
  300. package/dist/services/subagent-template/namespace.d.mts +1 -1
  301. package/dist/services/subagent-template/schemas.d.mts +1 -1
  302. package/dist/services/tool-approval/index.d.mts +1 -1
  303. package/dist/services/tool-approval/index.mjs +1 -1
  304. package/dist/services/tools/index.d.mts +1 -1
  305. package/dist/services/tools/index.mjs +1 -1
  306. package/dist/services/tray-menu/index.d.mts +3 -3
  307. package/dist/services/tray-menu/index.mjs +1 -1
  308. package/dist/services/tray-menu/namespace.d.mts +1 -1
  309. package/dist/services/tray-menu/schemas.d.mts +1 -1
  310. package/dist/services/turn/index.d.mts +1 -1
  311. package/dist/services/turn/namespace.d.mts +1 -1
  312. package/dist/services/workflow-transitions/index.d.mts +1 -1
  313. package/dist/services/workflow-transitions/index.mjs +1 -1
  314. package/dist/session-BMy2kRpX.mjs +90 -0
  315. package/dist/session-Cipx34j6.mjs +1 -0
  316. package/dist/{shared-B9AWRm9A.mjs → shared-BFVuCDPx.mjs} +1 -1
  317. package/dist/{skill-DGNtc_ww.mjs → skill-C1D51nhh.mjs} +1 -1
  318. package/dist/{src-BmSQ3rlz.mjs → src-xbmzokNe.mjs} +1 -1
  319. package/dist/storage/drizzle/client.d.mts +1 -1
  320. package/dist/storage/drizzle/client.mjs +1 -1
  321. package/dist/storage/drizzle/index.d.mts +2 -41
  322. package/dist/storage/drizzle/index.mjs +1 -1
  323. package/dist/storage/handlers/drizzle/index.d.mts +1 -1
  324. package/dist/storage/handlers/drizzle/index.mjs +1 -1
  325. package/dist/storage/handlers/index.d.mts +1 -1
  326. package/dist/storage/handlers/index.mjs +1 -1
  327. package/dist/tool-approval-service-BVgN9Q1r.mjs +1 -0
  328. package/dist/{tools-DWKWX3eV.mjs → tools-DxwHox1a.mjs} +1 -1
  329. package/dist/{transition-D3zUBTPc.d.mts → transition-C_Ka6b0-.d.mts} +6 -6
  330. package/dist/{types-CtDGkyLx2.d.mts → types-BNjPhj_a.d.mts} +1 -1
  331. package/dist/{types-OKJCOjme.d.mts → types-ClpEaoAm.d.mts} +4 -24
  332. package/dist/{types-DcxBYlPA.d.mts → types-CwvN4uN2.d.mts} +49 -3029
  333. package/dist/ui-kernel/index.d.mts +1 -1
  334. package/dist/ui-kernel/pages/schemas.d.mts +1 -1
  335. package/dist/utils/index.d.mts +1 -22
  336. package/dist/utils/index.mjs +2 -2
  337. package/dist/utils/project-manifest.mjs +1 -1
  338. package/dist/{version-BYeVh1pI.mjs → version-BfNnVAGr.mjs} +1 -1
  339. package/dist/{view-builder-B0j9p5C0.d.mts → view-builder-KYsPqV-5.d.mts} +4 -4
  340. package/dist/{visibility-DtDLRBdr.mjs → visibility-Dl1o2I01.mjs} +1 -1
  341. package/dist/worker-node-BDOYPEpi.mjs +1 -0
  342. package/dist/{worker-node-Dtf9ilsR.mjs → worker-node-DJ41Tr-F.mjs} +1 -1
  343. package/dist/workflow-Hzc5jlnV.mjs +1 -0
  344. package/dist/workflow-engine/execution-attempt-repository.d.mts +1 -1
  345. package/dist/workflow-engine/index.d.mts +95 -95
  346. package/dist/workflow-engine/index.mjs +1 -1
  347. package/dist/workflow-engine/package.d.mts +1 -1
  348. package/dist/workflow-engine/package.mjs +1 -1
  349. package/dist/workflow-engine/provider-operation.d.mts +1 -1
  350. package/dist/workflow-engine/testing/index.d.mts +2 -2
  351. package/dist/workflow-engine/testing/index.mjs +1 -1
  352. package/dist/workflow-engine/testing/sqlite.d.mts +1 -1
  353. package/dist/workflow-engine/testing/sqlite.mjs +1 -1
  354. package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
  355. package/dist/{workflow-transitions-c_VQbyV0.mjs → workflow-transitions-DM0fN_eP.mjs} +1 -1
  356. package/dist/workflow-worker-DARC7UZl.mjs +1 -0
  357. package/package.json +1 -18
  358. package/dist/adapter-Dz1fX5Wa.mjs +0 -1
  359. package/dist/attach-error-Cb3GbeKe.mjs +0 -1
  360. package/dist/bus-UgFdHybD.mjs +0 -1
  361. package/dist/caller-owned-adapter-stub-C1M7FKrv.mjs +0 -1
  362. package/dist/capabilities-BUwuA7XX.mjs +0 -1
  363. package/dist/capability-j3NekkIu.mjs +0 -1
  364. package/dist/code-execution/worker-entry.d.mts +0 -21
  365. package/dist/code-execution/worker-entry.mjs +0 -1
  366. package/dist/code-execution-Ckmn8OZu.mjs +0 -1
  367. package/dist/code-execution-CweDSWco.mjs +0 -1
  368. package/dist/code-execution-DqkQjKa1.mjs +0 -1
  369. package/dist/contracts/code-execution/index.d.mts +0 -2
  370. package/dist/contracts/code-execution/index.mjs +0 -1
  371. package/dist/drizzle/0034_m_msha1388.sql +0 -41
  372. package/dist/drizzle/0035_m_mshgj6x7.sql +0 -40
  373. package/dist/drizzle/0036_m_msivwbgm.sql +0 -1
  374. package/dist/drizzle/0037_runtime_instance_incarnation_counter.sql +0 -6
  375. package/dist/event-B8ELuk6k.mjs +0 -1
  376. package/dist/framework-packages-BHgul8Kl.mjs +0 -1
  377. package/dist/handlers-BsHAFtye.mjs +0 -57
  378. package/dist/identity-OjRlG6dZ.mjs +0 -1
  379. package/dist/index-Bqk0pJBQ2.d.mts +0 -138
  380. package/dist/index-Cny5RvjO.d.mts +0 -800
  381. package/dist/index-DHnSLGP4.d.mts +0 -268
  382. package/dist/index-DQ8o3JGi.d.mts +0 -132
  383. package/dist/index-DWBkiiXH.d.mts +0 -18
  384. package/dist/index-Dg11JxKZ.d.mts +0 -496
  385. package/dist/json-value-BBZ6uGwc.mjs +0 -1
  386. package/dist/json-value-DPqb-SJ8.d.mts +0 -177
  387. package/dist/model-DrzPt3ou.mjs +0 -1
  388. package/dist/namespace-sCPb79-7.mjs +0 -1
  389. package/dist/npm-package-name-DuTYVICk.mjs +0 -1
  390. package/dist/orchestrator-shared-BGlN-m-V.mjs +0 -1
  391. package/dist/ownership-memory-handler-BpGdR_uG.mjs +0 -1
  392. package/dist/ownership-recovery-guard-DyW5vGBr.mjs +0 -1
  393. package/dist/package-DttKA9wN.mjs +0 -1
  394. package/dist/runtime-node/code-execution/index.d.mts +0 -3
  395. package/dist/runtime-node/code-execution/index.mjs +0 -1
  396. package/dist/schemas-C3kyQWGf.mjs +0 -1
  397. package/dist/schemas-TK29KWx-.mjs +0 -1
  398. package/dist/schemas-_2Syo_01.mjs +0 -1
  399. package/dist/scoped-bus-DoPmCJeM.mjs +0 -1
  400. package/dist/services/code-execution/index.d.mts +0 -2
  401. package/dist/services/code-execution/index.mjs +0 -1
  402. package/dist/session-BOpTI79g.mjs +0 -1
  403. package/dist/session-CXOPk3yg.mjs +0 -95
  404. package/dist/tool-approval-service-BFDOFUGC.mjs +0 -1
  405. package/dist/types-Cwza95hS.mjs +0 -1
  406. package/dist/types-DnK6Wa_Y.d.mts +0 -260
  407. package/dist/worker-node-CjuQb9hl.mjs +0 -1
  408. package/dist/workflow-C4mck_NW.mjs +0 -1
  409. package/dist/workflow-worker-aNbdgqml.mjs +0 -1
  410. /package/dist/{adapter-auth-runtime-DHHppU4f.mjs → adapter-auth-runtime-D9Lnl7cc.mjs} +0 -0
  411. /package/dist/{adapter-binding-CATvmGuz.d.mts → adapter-binding-B-FBoCys.d.mts} +0 -0
  412. /package/dist/{ajv-krzJXh1X.mjs → ajv-L5fKxaia.mjs} +0 -0
  413. /package/dist/{attempt-record-codec-BYfYkj4M.mjs → attempt-record-codec-DaFLKR5C.mjs} +0 -0
  414. /package/dist/{await-trigger-Bkg2BQfg.mjs → await-trigger-ph1S0zVI.mjs} +0 -0
  415. /package/dist/{base-orchestrator-B4YW6z_Q.d.mts → base-orchestrator-D9u4NyiM.d.mts} +0 -0
  416. /package/dist/{client-BG0WX5Vz.d.mts → client-4ihewPUm.d.mts} +0 -0
  417. /package/dist/{client-binary-version-verifier-0lCKZOTg.mjs → client-binary-version-verifier-DJajc_Ff.mjs} +0 -0
  418. /package/dist/{client-binary-version-verifier-lcv83Hq3.d.mts → client-binary-version-verifier-jDDZ64Ah.d.mts} +0 -0
  419. /package/dist/{clients-namespace-DLAjOTTb.d.mts → clients-namespace-DFWuUawf.d.mts} +0 -0
  420. /package/dist/{config-namespace-CH7sJZ4f.d.mts → config-namespace-D1kyZj0B.d.mts} +0 -0
  421. /package/dist/{create-static-mount-DxuixuLZ.mjs → create-static-mount-9tnGpIeK.mjs} +0 -0
  422. /package/dist/{cross-spawn-CZygZJMH.mjs → cross-spawn-BIgueAqr.mjs} +0 -0
  423. /package/dist/{cursor-storage-bsc9lZKk.mjs → cursor-storage-ROWfiTh1.mjs} +0 -0
  424. /package/dist/{definition-BrgzUuFk.d.mts → definition-DB-kKc0d.d.mts} +0 -0
  425. /package/dist/{definitions-CRpdnHYM.mjs → definitions-CF6YmEhL.mjs} +0 -0
  426. /package/dist/{descriptor-to-package-CcjdoWP4.mjs → descriptor-to-package-BecVCopf.mjs} +0 -0
  427. /package/dist/{drizzle-Bzc-OGVI.mjs → drizzle-CPv3vdTE.mjs} +0 -0
  428. /package/dist/{esm-i-S5TW72.mjs → esm-CBFWM8u_.mjs} +0 -0
  429. /package/dist/{extension-context-QmFuHdq5.d.mts → extension-context-DzB7ydM3.d.mts} +0 -0
  430. /package/dist/{extension-namespace-QoTTwKPt.mjs → extension-namespace-B554RmCp.mjs} +0 -0
  431. /package/dist/{extension-package-provenance-aYrZuS4W.mjs → extension-package-provenance-Dh_-Z-tE.mjs} +0 -0
  432. /package/dist/{facet-BnMh7Jyc.mjs → facet-DVsW12iF.mjs} +0 -0
  433. /package/dist/{filesystem-service-ZJ43SbBi.d.mts → filesystem-service-Cm2RHKBa.d.mts} +0 -0
  434. /package/dist/{handler-DF1fVDpf.mjs → handler-Bqlk-6BY.mjs} +0 -0
  435. /package/dist/{host-B-_ntOMH.mjs → host-k5yoyKHg.mjs} +0 -0
  436. /package/dist/{index-8NdPPzUh2.d.mts → index--atUpi5l2.d.mts} +0 -0
  437. /package/dist/{index-Ek4y8M9J2.d.mts → index-42UdYStR.d.mts} +0 -0
  438. /package/dist/{index-C4V8Pmi4.d.mts → index-BJAB-BW_.d.mts} +0 -0
  439. /package/dist/{index-l01zsChf.d.mts → index-BJMezANn.d.mts} +0 -0
  440. /package/dist/{index-D037TVsm.d.mts → index-BQprJNA_.d.mts} +0 -0
  441. /package/dist/{index-B4svZC6L.d.mts → index-BRCrFirq.d.mts} +0 -0
  442. /package/dist/{index-jxPncqWZ2.d.mts → index-BSbGB23v.d.mts} +0 -0
  443. /package/dist/{index-BMRB9yhF.d.mts → index-BVcQcphK.d.mts} +0 -0
  444. /package/dist/{index-B2Y1Wvbh.d.mts → index-BcvqDfcN.d.mts} +0 -0
  445. /package/dist/{index-DgspOUa72.d.mts → index-BeENojSx2.d.mts} +0 -0
  446. /package/dist/{index-VzLAV0Yt.d.mts → index-Beo_Ik8-.d.mts} +0 -0
  447. /package/dist/{index-CqdMbYmR.d.mts → index-BgGe9WZz.d.mts} +0 -0
  448. /package/dist/{index-kzIjbrS02.d.mts → index-Bqm0ahTQ.d.mts} +0 -0
  449. /package/dist/{index-B-3I98nw.d.mts → index-C7HcDpHE.d.mts} +0 -0
  450. /package/dist/{index-pvX-BIpr2.d.mts → index-CK3f0bAL.d.mts} +0 -0
  451. /package/dist/{index-B5dP8rj6.d.mts → index-CQuRTeRa.d.mts} +0 -0
  452. /package/dist/{index-BC-6qNeo.d.mts → index-CRmE88hi.d.mts} +0 -0
  453. /package/dist/{index-CVpaGijY.d.mts → index-CvW9_SzR.d.mts} +0 -0
  454. /package/dist/{index-BFWvT0NG.d.mts → index-CxSSdIZz.d.mts} +0 -0
  455. /package/dist/{index-BmevAPME2.d.mts → index-DBadVauL.d.mts} +0 -0
  456. /package/dist/{index-BM56936c.d.mts → index-DP3o_13U.d.mts} +0 -0
  457. /package/dist/{index-BfV8U4XX.d.mts → index-DgOfgjx3.d.mts} +0 -0
  458. /package/dist/{index-8y4hT9WL.d.mts → index-DwLRZscE.d.mts} +0 -0
  459. /package/dist/{index-CmbkCxj-.d.mts → index-E4SET1AA.d.mts} +0 -0
  460. /package/dist/{index-BuMsrli0.d.mts → index-OADt3xlS.d.mts} +0 -0
  461. /package/dist/{capability-service-BW1-teFU.d.mts → index-Ol9RBB0W2.d.mts} +0 -0
  462. /package/dist/{index-CL0Jo1b92.d.mts → index-aoxdnhJ42.d.mts} +0 -0
  463. /package/dist/{index-BTEJfzjE.d.mts → index-bIe_57cL.d.mts} +0 -0
  464. /package/dist/{jsonl-transport-Cyyh5Wje.mjs → jsonl-transport-Bp_6pB2a.mjs} +0 -0
  465. /package/dist/{lib-BqV8hYtk.mjs → lib-Bwdd2m81.mjs} +0 -0
  466. /package/dist/{model-registry-Cixxx2jv.mjs → model-registry-Y854mUml.mjs} +0 -0
  467. /package/dist/{model-registry-C9rFu3kV.mjs → model-registry-yURX738J.mjs} +0 -0
  468. /package/dist/{modes-DwsJ3yVl.mjs → modes-DmUsjHdV.mjs} +0 -0
  469. /package/dist/{namespace-jVTsuZHX.mjs → namespace-B9FEGuEu.mjs} +0 -0
  470. /package/dist/{namespace-NXm_zvL1.mjs → namespace-BFqkUTJp.mjs} +0 -0
  471. /package/dist/{namespace-BUYDmd0r.d.mts → namespace-Bi3CmYQy.d.mts} +0 -0
  472. /package/dist/{namespace-CVFaZv8x.d.mts → namespace-BusZERU8.d.mts} +0 -0
  473. /package/dist/{namespace-B0ftHlK3.d.mts → namespace-ByP1Iipi.d.mts} +0 -0
  474. /package/dist/{namespace-BGRHcrmp.d.mts → namespace-C1D77w7U.d.mts} +0 -0
  475. /package/dist/{namespace-Du0accdE.mjs → namespace-CFjdyNXG.mjs} +0 -0
  476. /package/dist/{namespace-DiwqpB-c.mjs → namespace-CfIW0hpQ.mjs} +0 -0
  477. /package/dist/{namespace-BW3Bfu9h.mjs → namespace-CkBbNFSU.mjs} +0 -0
  478. /package/dist/{namespace-DOezqDti.d.mts → namespace-CrDlawqu.d.mts} +0 -0
  479. /package/dist/{namespace-BdAK0lD8.d.mts → namespace-DX1Ec15L.d.mts} +0 -0
  480. /package/dist/{namespace-tjoxekmf.mjs → namespace-DbNWsPFY.mjs} +0 -0
  481. /package/dist/{namespace-CPG6u60N.d.mts → namespace-Dgg0uoe6.d.mts} +0 -0
  482. /package/dist/{namespace-l-HG1rLF.d.mts → namespace-DwZwGXgF.d.mts} +0 -0
  483. /package/dist/{namespace-DqZweTbX.d.mts → namespace-s2y_NFKf.d.mts} +0 -0
  484. /package/dist/{namespace-DBO1OzYB.d.mts → namespace-yREpGJgG.d.mts} +0 -0
  485. /package/dist/{out-8bOYN6EF.mjs → out-DrhwCgqM.mjs} +0 -0
  486. /package/dist/{package-EGTn-Ng1.mjs → package-CBdvjyyZ.mjs} +0 -0
  487. /package/dist/{packages-Bp124-gx.mjs → packages-FBv3fAOR.mjs} +0 -0
  488. /package/dist/{packages-CxPMEg8D.d.mts → packages-N3-2Kl-Y.d.mts} +0 -0
  489. /package/dist/{platform-CxyYPrkf.mjs → platform-BrsMv_S3.mjs} +0 -0
  490. /package/dist/{provider-operation-DbdyFwNm.d.mts → provider-operation-DJ_TLZFf.d.mts} +0 -0
  491. /package/dist/{providers-C-eekMxD.mjs → providers-CCcn4Ndp.mjs} +0 -0
  492. /package/dist/{providers-namespace-CfZKp-C0.d.mts → providers-namespace-DeJBh6MP.d.mts} +0 -0
  493. /package/dist/{quick-lru-CCEnf7y6.mjs → quick-lru-uwB0hP-y.mjs} +0 -0
  494. /package/dist/{schema-introspection-6-r_KEJQ.mjs → schema-introspection-C1wvklj9.mjs} +0 -0
  495. /package/dist/{schema-C0opCPww.mjs → schema-jIapW8Kb.mjs} +0 -0
  496. /package/dist/{schemas-BXc9qOpl.d.mts → schemas-B3bfVYcL.d.mts} +0 -0
  497. /package/dist/{schemas-BivbWRkG.mjs → schemas-BNdiVBWh.mjs} +0 -0
  498. /package/dist/{schemas-B6Q-qdmn.d.mts → schemas-CD0wOQxx.d.mts} +0 -0
  499. /package/dist/{schemas-B50oWBuj.d.mts → schemas-CeUI2i5j.d.mts} +0 -0
  500. /package/dist/{schemas-ChmQldVH.d.mts → schemas-Cg-Kwp8c.d.mts} +0 -0
  501. /package/dist/{schemas-Pe892GgN.d.mts → schemas-Cv3rR9Sz.d.mts} +0 -0
  502. /package/dist/{schemas-B8hKbBwI.mjs → schemas-DgwEVUt-.mjs} +0 -0
  503. /package/dist/{schemas-D7ScxLrf.d.mts → schemas-VbB1FTxx.d.mts} +0 -0
  504. /package/dist/{schemas-scyC2tFF.mjs → schemas-mLpOfMoN.mjs} +0 -0
  505. /package/dist/{schemas-bfZNpl0B.d.mts → schemas-qA279_j_.d.mts} +0 -0
  506. /package/dist/{schemas-BGvkTiCx.d.mts → schemas-sMoRnBdZ.d.mts} +0 -0
  507. /package/dist/{semver-BI7kTNsY.mjs → semver-DTXuyLcK.mjs} +0 -0
  508. /package/dist/{server-lifecycle-L8zja8t8.d.mts → server-lifecycle-C_8iKgat.d.mts} +0 -0
  509. /package/dist/{server-lifecycle-B_OZnoe-.mjs → server-lifecycle-DKx_fWlq.mjs} +0 -0
  510. /package/dist/{session-lineage-bUkd3fqx.d.mts → session-lineage-D5E142LU.d.mts} +0 -0
  511. /package/dist/{shared-schemas-CQ6blrEW.mjs → shared-schemas-aahW97QW.mjs} +0 -0
  512. /package/dist/{src-BacfeiI4.mjs → src-DHqsl5Pg.mjs} +0 -0
  513. /package/dist/{storage-namespace-BZce8kkW.mjs → storage-namespace-Dz2jsssp.mjs} +0 -0
  514. /package/dist/{storage-namespace-YmE8XCCL.d.mts → storage-namespace-Tf3P5yJ5.d.mts} +0 -0
  515. /package/dist/{storage-namespace-definition-Cca-zwXU.mjs → storage-namespace-definition-CDef0E20.mjs} +0 -0
  516. /package/dist/{supports-color-SV_FgSN2.mjs → supports-color-i7OTnKcZ.mjs} +0 -0
  517. /package/dist/{telemetry-BqoC87F-.mjs → telemetry-BvCBUjFg.mjs} +0 -0
  518. /package/dist/{timeout-DVlN2Zhy.mjs → timeout-B0nYjLc8.mjs} +0 -0
  519. /package/dist/{tray-menu-service-eVVxgPLc.mjs → tray-menu-service-Deo6yyP8.mjs} +0 -0
  520. /package/dist/{types-DdpSEmTO.d.mts → types-CNS55jvt.d.mts} +0 -0
  521. /package/dist/{types-tyv0B605.d.mts → types-Ce6LL25v.d.mts} +0 -0
  522. /package/dist/{types-BlB23n4f.d.mts → types-xCdGghb2.d.mts} +0 -0
  523. /package/dist/{ui-config-B35GloSX.mjs → ui-config-BIyGzMNL.mjs} +0 -0
  524. /package/dist/{variant-Dwnge3J_.mjs → variant-B4uWdxW7.mjs} +0 -0
  525. /package/dist/{window-registry-Pcf35cac.d.mts → window-registry-BLtVx3Iw.d.mts} +0 -0
  526. /package/dist/{window-registry-CKiMJjId.mjs → window-registry-CoBJq3u4.mjs} +0 -0
  527. /package/dist/{zod-json-schema-Dixc-B1T.mjs → zod-json-schema-BAGAFfCN.mjs} +0 -0
@@ -1 +1 @@
1
- import{B as e,H as t,M as n,P as r,T as i,W as a,X as o,et as s,g as c,it as l,j as u,ot as d}from"../authority-state-bootstrap-CLYus369.mjs";import{a as f,c as p,d as m,i as h,l as g,n as _,o as v,r as y,s as b,t as x,u as S}from"../package-B01gmu75.mjs";import{assertWorkflowTriggerPayload as C,compileWorkflowTriggerBindingFilter as w}from"./workflow-trigger-binding-consumer.mjs";import{DuplicateExecutionAttemptError as T,EXECUTION_ATTEMPT_SETTLEMENT_KINDS as E,EXECUTION_ATTEMPT_STATUSES as D,sameAllocationRef as O,sameWorkflowResult as k}from"./execution-attempt-repository.mjs";import{PROVIDER_OPERATION_OBLIGATIONS as A}from"./provider-operation.mjs";import{JsonValueSchema as j,WorkflowFrameStateSchema as M}from"@makaio/framework/contracts";const N=new Set([...M.shape.status.options]);function P(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function F(e){if(!P(e))return!1;for(let t of Object.values(e))if(!P(t)||typeof t.status!=`string`||!N.has(t.status)||`result`in t&&t.result!==void 0&&!j.safeParse(t.result).success)return!1;return!0}function I(e){let t={trigger:P(e.trigger)?e.trigger:{},steps:F(e.steps)?e.steps:{},inputs:j.safeParse(e.inputs).success?e.inputs:{}};return`item`in e&&(t.item=e.item),typeof e.index==`number`&&(t.index=e.index),t}export{T as DuplicateExecutionAttemptError,E as EXECUTION_ATTEMPT_SETTLEMENT_KINDS,D as EXECUTION_ATTEMPT_STATUSES,f as ExecutionAttemptAuthority,A as PROVIDER_OPERATION_OBLIGATIONS,h as WorkflowEngineService,x as WorkflowEngineToken,b as WorkflowExecutor,u as WorkflowStorageNamespace,n as WorkflowStorageSubjects,v as WorkflowTriggerReconciler,C as assertWorkflowTriggerPayload,I as buildWorkflowExpressionContextFromResolvedInputs,w as compileWorkflowTriggerBindingFilter,_ as createWorkflowEnginePackage,g as getWorkflowState,S as initializeWorkflowState,m as patchWorkflowState,p as registerDrizzleWorkflowStorage,c as runAuthorityDispatchedAttempt,i as runShellStep,O as sameAllocationRef,k as sameWorkflowResult,r as workflowDefinitionsDual,y as workflowEnginePackage,e as workflowExecutionStateDual,t as workflowExecutionStateEventsDual,a as workflowExecutionsDual,d as workflowFinalizationsDual,o as workflowStepSpansDual,s as worklogFrameEntriesDual,l as worklogSummariesDual};
1
+ import{B as e,H as t,M as n,P as r,T as i,W as a,X as o,et as s,g as c,it as l,j as u,ot as d}from"../authority-state-bootstrap-YwtEImIB.mjs";import{a as f,c as p,d as m,i as h,l as g,n as _,o as v,r as y,s as b,t as x,u as S}from"../package-ypz4rKvn.mjs";import{assertWorkflowTriggerPayload as C,compileWorkflowTriggerBindingFilter as w}from"./workflow-trigger-binding-consumer.mjs";import{DuplicateExecutionAttemptError as T,EXECUTION_ATTEMPT_SETTLEMENT_KINDS as E,EXECUTION_ATTEMPT_STATUSES as D,sameAllocationRef as O,sameWorkflowResult as k}from"./execution-attempt-repository.mjs";import{PROVIDER_OPERATION_OBLIGATIONS as A}from"./provider-operation.mjs";import{JsonValueSchema as j,WorkflowFrameStateSchema as M}from"@makaio/framework/contracts";const N=new Set([...M.shape.status.options]);function P(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function F(e){if(!P(e))return!1;for(let t of Object.values(e))if(!P(t)||typeof t.status!=`string`||!N.has(t.status)||`result`in t&&t.result!==void 0&&!j.safeParse(t.result).success)return!1;return!0}function I(e){let t={trigger:P(e.trigger)?e.trigger:{},steps:F(e.steps)?e.steps:{},inputs:j.safeParse(e.inputs).success?e.inputs:{}};return`item`in e&&(t.item=e.item),typeof e.index==`number`&&(t.index=e.index),t}export{T as DuplicateExecutionAttemptError,E as EXECUTION_ATTEMPT_SETTLEMENT_KINDS,D as EXECUTION_ATTEMPT_STATUSES,f as ExecutionAttemptAuthority,A as PROVIDER_OPERATION_OBLIGATIONS,h as WorkflowEngineService,x as WorkflowEngineToken,b as WorkflowExecutor,u as WorkflowStorageNamespace,n as WorkflowStorageSubjects,v as WorkflowTriggerReconciler,C as assertWorkflowTriggerPayload,I as buildWorkflowExpressionContextFromResolvedInputs,w as compileWorkflowTriggerBindingFilter,_ as createWorkflowEnginePackage,g as getWorkflowState,S as initializeWorkflowState,m as patchWorkflowState,p as registerDrizzleWorkflowStorage,c as runAuthorityDispatchedAttempt,i as runShellStep,O as sameAllocationRef,k as sameWorkflowResult,r as workflowDefinitionsDual,y as workflowEnginePackage,e as workflowExecutionStateDual,t as workflowExecutionStateEventsDual,a as workflowExecutionsDual,d as workflowFinalizationsDual,o as workflowStepSpansDual,s as worklogFrameEntriesDual,l as worklogSummariesDual};
@@ -1,2 +1,2 @@
1
- import { n as createWorkflowEnginePackage, r as workflowEnginePackage, t as WorkflowEngineToken } from "../package-BNFTUFLB.mjs";
1
+ import { n as createWorkflowEnginePackage, r as workflowEnginePackage, t as WorkflowEngineToken } from "../package-Bf3hyuzs.mjs";
2
2
  export { WorkflowEngineToken, createWorkflowEnginePackage, workflowEnginePackage };
@@ -1 +1 @@
1
- import{n as e,r as t,t as n}from"../package-B01gmu75.mjs";export{n as WorkflowEngineToken,e as createWorkflowEnginePackage,t as workflowEnginePackage};
1
+ import{n as e,r as t,t as n}from"../package-ypz4rKvn.mjs";export{n as WorkflowEngineToken,e as createWorkflowEnginePackage,t as workflowEnginePackage};
@@ -1,2 +1,2 @@
1
- import { a as ProviderOperationClaim, c as ProviderOperationObligation, i as ProcessBoundProvisionerLossProof, l as ProviderOperationOwnershipRecord, n as InitialProviderOperationClaimContextSource, o as ProviderOperationClaimDecision, r as PROVIDER_OPERATION_OBLIGATIONS, s as ProviderOperationMutationDecision, t as InitialProviderOperationClaimContext } from "../provider-operation-DbdyFwNm.mjs";
1
+ import { a as ProviderOperationClaim, c as ProviderOperationObligation, i as ProcessBoundProvisionerLossProof, l as ProviderOperationOwnershipRecord, n as InitialProviderOperationClaimContextSource, o as ProviderOperationClaimDecision, r as PROVIDER_OPERATION_OBLIGATIONS, s as ProviderOperationMutationDecision, t as InitialProviderOperationClaimContext } from "../provider-operation-DJ_TLZFf.mjs";
2
2
  export { InitialProviderOperationClaimContext, InitialProviderOperationClaimContextSource, PROVIDER_OPERATION_OBLIGATIONS, ProcessBoundProvisionerLossProof, ProviderOperationClaim, ProviderOperationClaimDecision, ProviderOperationMutationDecision, ProviderOperationObligation, ProviderOperationOwnershipRecord };
@@ -1,5 +1,5 @@
1
- import { a as ProviderOperationClaim, i as ProcessBoundProvisionerLossProof, l as ProviderOperationOwnershipRecord } from "../../provider-operation-DbdyFwNm.mjs";
2
- import { C as ProvisioningClaimDecision, a as BeginProvisioningInput, h as ExecutionAttemptRepository, p as ExecutionAttemptRecord } from "../../execution-attempt-repository-BJ2W6wwx.mjs";
1
+ import { a as ProviderOperationClaim, i as ProcessBoundProvisionerLossProof, l as ProviderOperationOwnershipRecord } from "../../provider-operation-DJ_TLZFf.mjs";
2
+ import { C as ProvisioningClaimDecision, a as BeginProvisioningInput, h as ExecutionAttemptRepository, p as ExecutionAttemptRecord } from "../../execution-attempt-repository-DFyAnchJ.mjs";
3
3
  import { BoundedRecoveryEvidence, ProviderAllocationRef, WorkflowRunResult } from "@makaio/framework/contracts";
4
4
 
5
5
  //#region subsystems/workflow-engine/src/testing/in-memory-attempt-repository.d.ts
@@ -1 +1 @@
1
- import{DuplicateExecutionAttemptError as e,sameAllocationRef as t,sameWorkflowResult as n}from"../execution-attempt-repository.mjs";import{a as r,c as i,i as a,l as o,n as s,o as c,r as l,s as u,t as d}from"../../attempt-record-codec-BYfYkj4M.mjs";import{BoundedRecoveryEvidenceSchema as f,PROVIDER_ALLOCATION_REF_VERSION as p}from"@makaio/framework/contracts";function m(p={}){let m=p.attempts??new Map,h=p.operations??new Map,g=p.committedOutcomes??new Map,_=p.activeAttempts??new Map,v=e=>{let t=m.get(e.executionAttemptId),n=h.get(e.executionAttemptId);return!t||!n?{kind:`not-found`}:t.settlementKind==null?n.token===null||n.token!==e.token||n.generation!==e.generation||n.ownerId!==e.ownerId?{kind:`stale`,attempt:t}:{kind:`authorized`,attempt:t,operation:n}:{kind:`resolved`,attempt:t}},y=(e,t)=>{h.set(e.executionAttemptId,{...e,ownerId:null,token:null,leaseExpiresAt:null,lastFailure:t})},b=(e,n)=>{let a=r(e.allocationRef),o=v(e.claim);if(o.kind!==`not-found`&&i(o.attempt,a),o.kind===`resolved`)return{kind:`resolved`,allocationRef:o.attempt.allocationRef};if(o.kind!==`authorized`)return{kind:o.kind};let{attempt:s,operation:c}=o;if(s.allocationRef!==null)return t(s.allocationRef,a)?{kind:`duplicate`,allocationRef:s.allocationRef}:{kind:`conflict`,allocationRef:s.allocationRef};let l=_.get(s.executionId)===s.executionAttemptId;return m.set(s.executionAttemptId,{...s,status:`allocated`,allocationRef:a,claimable:n&&l}),h.set(c.executionAttemptId,{...c,obligation:`allocation-control`}),{kind:`recorded`}};return{async createAttempt(t){if(m.has(t.executionAttemptId))throw new e(t.executionAttemptId);let n={executionAttemptId:t.executionAttemptId,executionId:t.executionId,status:`pending`,allocationRef:null,createdAt:new Date().toISOString(),providerId:null,allocationLifetime:null,provisionerIncarnationId:null,settlementKind:null,claimable:!1,claimExpiresAt:null},r=_.get(t.executionId),i=r===void 0?void 0:m.get(r);return i?.status===`allocated`&&m.set(i.executionAttemptId,{...i,claimable:!1}),m.set(t.executionAttemptId,n),_.set(t.executionId,t.executionAttemptId),n},async beginProvisioning(e){let t=a(e.allocationLifetime),n=m.get(e.executionAttemptId);if(!n||n.executionId!==e.executionId)return{kind:`not-found`};if(_.get(e.executionId)!==e.executionAttemptId)return{kind:`fenced`};if(n.settlementKind!=null)return{kind:`resolved`,allocationRef:n.allocationRef};if(n.allocationRef!==null)return{kind:`allocated`,allocationRef:n.allocationRef};if(n.status!==`pending`)return{kind:`already-provisioning`};m.set(e.executionAttemptId,{...n,status:`provisioning`,providerId:e.providerId,allocationLifetime:t,provisionerIncarnationId:e.provisionerIncarnationId});let r={executionAttemptId:e.executionAttemptId,generation:1,ownerId:e.ownerId,token:crypto.randomUUID(),leaseExpiresAt:l(e.leaseExpiresAt)};return h.set(e.executionAttemptId,{executionAttemptId:e.executionAttemptId,generation:r.generation,ownerId:r.ownerId,token:r.token,leaseExpiresAt:r.leaseExpiresAt,obligation:`provisioning-resolution`,failureCount:0,lastFailure:null}),{kind:`started`,claim:r}},async getProviderOperation(e){return h.get(e)??null},async renewProviderOperationClaim(e){let t=v(e.claim);if(t.kind!==`authorized`)return{kind:t.kind};let n=l(e.leaseExpiresAt);return h.set(e.claim.executionAttemptId,{...t.operation,leaseExpiresAt:n}),{kind:`claimed`,claim:{...e.claim,leaseExpiresAt:n}}},async takeOverProviderOperation(e){let t=m.get(e.executionAttemptId),n=h.get(e.executionAttemptId);if(!t||!n)return{kind:`not-found`};if(t.settlementKind!=null)return{kind:`resolved`};if(n.ownerId!==null&&n.leaseExpiresAt!==null&&s(n.leaseExpiresAt)>s(e.observedAt))return{kind:`stale`};let r={executionAttemptId:e.executionAttemptId,generation:n.generation+1,ownerId:e.ownerId,token:crypto.randomUUID(),leaseExpiresAt:l(e.leaseExpiresAt)};return h.set(e.executionAttemptId,{...n,generation:r.generation,ownerId:r.ownerId,token:r.token,leaseExpiresAt:r.leaseExpiresAt}),{kind:`claimed`,claim:r}},async handoffProviderOperation(e){let t=e.evidence===void 0?void 0:f.parse(e.evidence),n=v(e.claim);return n.kind===`authorized`?(h.set(e.claim.executionAttemptId,{...n.operation,ownerId:null,token:null,leaseExpiresAt:null,lastFailure:t??n.operation.lastFailure}),{kind:`recorded`}):{kind:n.kind}},async recordProviderOperationUncertainty(e){let t=f.parse(e.evidence),n=v(e.claim);return n.kind===`authorized`?(h.set(e.claim.executionAttemptId,{...n.operation,failureCount:n.operation.failureCount+1,lastFailure:t}),{kind:`recorded`}):{kind:n.kind}},async recordAllocation(e){return b(e,!0)},async recordProvisioningAbsent(e){let t=f.parse(e.evidence),n=v(e.claim);if(n.kind!==`authorized`)return{kind:n.kind};let{attempt:r,operation:i}=n;return r.executionId===e.executionId?r.allocationRef===null?(m.set(r.executionAttemptId,{...r,status:`settled`,settlementKind:`abandoned`,claimable:!1}),y(i,t),{kind:`recorded`}):{kind:`allocated`,allocationRef:r.allocationRef}:{kind:`not-found`}},async recordProvisionerIncarnationLost(e){let t=f.parse(e.proof.evidence),n=v(e.claim);if(n.kind!==`authorized`)return{kind:n.kind};let{attempt:r,operation:i}=n;return r.executionId===e.executionId?r.allocationLifetime===`provisioner-process-bound`?r.provisionerIncarnationId===null||r.provisionerIncarnationId!==e.proof.provisionerIncarnationId?{kind:`incarnation-mismatch`,provisionerIncarnationId:r.provisionerIncarnationId}:r.allocationRef===null?(m.set(r.executionAttemptId,{...r,status:`settled`,settlementKind:`abandoned`,claimable:!1}),y(i,t),{kind:`recorded`}):{kind:`allocated`,allocationRef:r.allocationRef}:{kind:`not-process-bound`,allocationLifetime:r.allocationLifetime}:{kind:`not-found`}},async recordAllocationTerminated(e){let t=f.parse(e.evidence),n=v(e.claim);if(n.kind!==`authorized`)return{kind:n.kind};let{attempt:r,operation:i}=n;return r.allocationRef===null?{kind:`not-allocated`}:(h.set(i.executionAttemptId,{...i,obligation:`terminal-convergence`,lastFailure:t}),{kind:`recorded`})},async recordInfrastructureFailure(e){let t=v(e.claim);if(t.kind!==`authorized`)return{kind:t.kind};let{attempt:n,operation:r}=t;return n.executionId===e.executionId?n.allocationRef===null?{kind:`not-allocated`}:r.obligation===`terminal-convergence`?(m.set(n.executionAttemptId,{...n,status:`settled`,settlementKind:`infrastructure-failure`,claimable:!1}),y(r,r.lastFailure),{kind:`recorded`}):{kind:`not-terminated`}:{kind:`not-found`}},async getActiveAttempt(e,t){return _.get(e)===t?m.get(t)??null:null},async commitOutcome(e){let t=u(e.result);if(_.get(e.executionId)!==e.executionAttemptId)return{kind:`fenced`};let r=m.get(e.executionAttemptId);if(r===void 0)return{kind:`fenced`};let i=g.get(e.executionAttemptId);if(i)return n(i,t)?{kind:`duplicate`,outcome:i}:{kind:`conflict`};if(r.settlementKind!=null)return{kind:`conflict`};g.set(e.executionAttemptId,t),m.set(e.executionAttemptId,{...r,status:`settled`,settlementKind:`outcome`,claimable:!1});let a=h.get(e.executionAttemptId);return a&&y(a,a.lastFailure),{kind:`accepted`,outcome:t}},async abandonPendingAttempt(e,t){if(_.get(t)!==e)return{kind:`fenced`};let n=m.get(e);return n?n.status===`allocated`?{kind:`allocated`}:n.status===`provisioning`?{kind:`provisioning`}:n.status===`settled`?{kind:n.settlementKind===`abandoned`?`already-abandoned`:`already-settled`}:(m.set(e,{...n,status:`settled`,settlementKind:`abandoned`,claimable:!1}),{kind:`abandoned`}):{kind:`fenced`}},recovery:{async getAttemptWithAllocation(e){return m.get(e)??null},async recordDiscoveredAllocation(e){return b(e,!1)},async evolveAllocationRef(e){let{currentRef:n,nextRef:r}=c(e),i=v(e.claim);if(i.kind===`stale`)return{kind:`stale`,storedRef:i.attempt.allocationRef};if(i.kind!==`authorized`)return{kind:i.kind};let{attempt:a}=i;return a.executionId===e.executionId?a.allocationRef===null?{kind:`not-allocated`}:t(a.allocationRef,n)?(m.set(a.executionAttemptId,{...a,allocationRef:r}),{kind:`evolved`}):{kind:`stale`,storedRef:a.allocationRef}:{kind:`not-found`}},async getRecoverableAttempts(e){let t=s(new Date().toISOString()),n=[];for(let r of m.values())r.executionId===e&&r.status===`allocated`&&r.allocationRef!==null&&r.claimable===!0&&r.settlementKind==null&&(r.claimExpiresAt!=null&&s(r.claimExpiresAt)<t||n.push(o(r)));return n.sort(d)}},attempts:m,operations:h,committedOutcomes:g,activeAttempts:_}}const h=`controller-incarnation-1`,g=`provisioner-incarnation-1`,_=`test-provider`;function v(e){return new Date(Date.now()+e).toISOString()}function y(e,t,n={}){return{executionAttemptId:e,executionId:t,providerId:_,allocationLifetime:`provider-managed`,provisionerIncarnationId:g,ownerId:h,leaseExpiresAt:v(6e4),...n}}async function b(e,t,n,r={}){let i=await e.beginProvisioning(y(t,n,r));if(i.kind!==`started`)throw Error(`Expected provisioning to start, got '${i.kind}'`);return i.claim}function x(e={}){return{source:_,summary:`provider rejected the request before creating anything`,observedAt:new Date().toISOString(),...e}}function S(e=g,t=x({summary:`supervisor observed the provisioner process exit`})){return{kind:`provisioner-incarnation-lost`,provisionerIncarnationId:e,evidence:t}}function C(e=_,t={runId:1}){return{version:p,providerId:e,providerData:t}}function w(e,t=`completed`){let n={executionId:e,workflowId:`contract-workflow`};return t===`completed`?{...n,status:`completed`}:{...n,status:`failed`,error:`contract failure`}}export{h as TEST_OWNER_ID,_ as TEST_PROVIDER_ID,g as TEST_PROVISIONER_INCARNATION_ID,b as beginTestProvisioning,m as createInMemoryAttemptRepository,v as leaseAt,y as makeBeginProvisioningInput,x as makeEvidence,S as makeProcessLossProof,C as makeTestAllocationRef,w as makeTestWorkflowResult};
1
+ import{DuplicateExecutionAttemptError as e,sameAllocationRef as t,sameWorkflowResult as n}from"../execution-attempt-repository.mjs";import{a as r,c as i,i as a,l as o,n as s,o as c,r as l,s as u,t as d}from"../../attempt-record-codec-DaFLKR5C.mjs";import{BoundedRecoveryEvidenceSchema as f,PROVIDER_ALLOCATION_REF_VERSION as p}from"@makaio/framework/contracts";function m(p={}){let m=p.attempts??new Map,h=p.operations??new Map,g=p.committedOutcomes??new Map,_=p.activeAttempts??new Map,v=e=>{let t=m.get(e.executionAttemptId),n=h.get(e.executionAttemptId);return!t||!n?{kind:`not-found`}:t.settlementKind==null?n.token===null||n.token!==e.token||n.generation!==e.generation||n.ownerId!==e.ownerId?{kind:`stale`,attempt:t}:{kind:`authorized`,attempt:t,operation:n}:{kind:`resolved`,attempt:t}},y=(e,t)=>{h.set(e.executionAttemptId,{...e,ownerId:null,token:null,leaseExpiresAt:null,lastFailure:t})},b=(e,n)=>{let a=r(e.allocationRef),o=v(e.claim);if(o.kind!==`not-found`&&i(o.attempt,a),o.kind===`resolved`)return{kind:`resolved`,allocationRef:o.attempt.allocationRef};if(o.kind!==`authorized`)return{kind:o.kind};let{attempt:s,operation:c}=o;if(s.allocationRef!==null)return t(s.allocationRef,a)?{kind:`duplicate`,allocationRef:s.allocationRef}:{kind:`conflict`,allocationRef:s.allocationRef};let l=_.get(s.executionId)===s.executionAttemptId;return m.set(s.executionAttemptId,{...s,status:`allocated`,allocationRef:a,claimable:n&&l}),h.set(c.executionAttemptId,{...c,obligation:`allocation-control`}),{kind:`recorded`}};return{async createAttempt(t){if(m.has(t.executionAttemptId))throw new e(t.executionAttemptId);let n={executionAttemptId:t.executionAttemptId,executionId:t.executionId,status:`pending`,allocationRef:null,createdAt:new Date().toISOString(),providerId:null,allocationLifetime:null,provisionerIncarnationId:null,settlementKind:null,claimable:!1,claimExpiresAt:null},r=_.get(t.executionId),i=r===void 0?void 0:m.get(r);return i?.status===`allocated`&&m.set(i.executionAttemptId,{...i,claimable:!1}),m.set(t.executionAttemptId,n),_.set(t.executionId,t.executionAttemptId),n},async beginProvisioning(e){let t=a(e.allocationLifetime),n=m.get(e.executionAttemptId);if(!n||n.executionId!==e.executionId)return{kind:`not-found`};if(_.get(e.executionId)!==e.executionAttemptId)return{kind:`fenced`};if(n.settlementKind!=null)return{kind:`resolved`,allocationRef:n.allocationRef};if(n.allocationRef!==null)return{kind:`allocated`,allocationRef:n.allocationRef};if(n.status!==`pending`)return{kind:`already-provisioning`};m.set(e.executionAttemptId,{...n,status:`provisioning`,providerId:e.providerId,allocationLifetime:t,provisionerIncarnationId:e.provisionerIncarnationId});let r={executionAttemptId:e.executionAttemptId,generation:1,ownerId:e.ownerId,token:crypto.randomUUID(),leaseExpiresAt:l(e.leaseExpiresAt)};return h.set(e.executionAttemptId,{executionAttemptId:e.executionAttemptId,generation:r.generation,ownerId:r.ownerId,token:r.token,leaseExpiresAt:r.leaseExpiresAt,obligation:`provisioning-resolution`,failureCount:0,lastFailure:null}),{kind:`started`,claim:r}},async getProviderOperation(e){return h.get(e)??null},async renewProviderOperationClaim(e){let t=v(e.claim);if(t.kind!==`authorized`)return{kind:t.kind};let n=l(e.leaseExpiresAt);return h.set(e.claim.executionAttemptId,{...t.operation,leaseExpiresAt:n}),{kind:`claimed`,claim:{...e.claim,leaseExpiresAt:n}}},async takeOverProviderOperation(e){let t=m.get(e.executionAttemptId),n=h.get(e.executionAttemptId);if(!t||!n)return{kind:`not-found`};if(t.settlementKind!=null)return{kind:`resolved`};if(n.ownerId!==null&&n.leaseExpiresAt!==null&&s(n.leaseExpiresAt)>s(e.observedAt))return{kind:`stale`};let r={executionAttemptId:e.executionAttemptId,generation:n.generation+1,ownerId:e.ownerId,token:crypto.randomUUID(),leaseExpiresAt:l(e.leaseExpiresAt)};return h.set(e.executionAttemptId,{...n,generation:r.generation,ownerId:r.ownerId,token:r.token,leaseExpiresAt:r.leaseExpiresAt}),{kind:`claimed`,claim:r}},async handoffProviderOperation(e){let t=e.evidence===void 0?void 0:f.parse(e.evidence),n=v(e.claim);return n.kind===`authorized`?(h.set(e.claim.executionAttemptId,{...n.operation,ownerId:null,token:null,leaseExpiresAt:null,lastFailure:t??n.operation.lastFailure}),{kind:`recorded`}):{kind:n.kind}},async recordProviderOperationUncertainty(e){let t=f.parse(e.evidence),n=v(e.claim);return n.kind===`authorized`?(h.set(e.claim.executionAttemptId,{...n.operation,failureCount:n.operation.failureCount+1,lastFailure:t}),{kind:`recorded`}):{kind:n.kind}},async recordAllocation(e){return b(e,!0)},async recordProvisioningAbsent(e){let t=f.parse(e.evidence),n=v(e.claim);if(n.kind!==`authorized`)return{kind:n.kind};let{attempt:r,operation:i}=n;return r.executionId===e.executionId?r.allocationRef===null?(m.set(r.executionAttemptId,{...r,status:`settled`,settlementKind:`abandoned`,claimable:!1}),y(i,t),{kind:`recorded`}):{kind:`allocated`,allocationRef:r.allocationRef}:{kind:`not-found`}},async recordProvisionerIncarnationLost(e){let t=f.parse(e.proof.evidence),n=v(e.claim);if(n.kind!==`authorized`)return{kind:n.kind};let{attempt:r,operation:i}=n;return r.executionId===e.executionId?r.allocationLifetime===`provisioner-process-bound`?r.provisionerIncarnationId===null||r.provisionerIncarnationId!==e.proof.provisionerIncarnationId?{kind:`incarnation-mismatch`,provisionerIncarnationId:r.provisionerIncarnationId}:r.allocationRef===null?(m.set(r.executionAttemptId,{...r,status:`settled`,settlementKind:`abandoned`,claimable:!1}),y(i,t),{kind:`recorded`}):{kind:`allocated`,allocationRef:r.allocationRef}:{kind:`not-process-bound`,allocationLifetime:r.allocationLifetime}:{kind:`not-found`}},async recordAllocationTerminated(e){let t=f.parse(e.evidence),n=v(e.claim);if(n.kind!==`authorized`)return{kind:n.kind};let{attempt:r,operation:i}=n;return r.allocationRef===null?{kind:`not-allocated`}:(h.set(i.executionAttemptId,{...i,obligation:`terminal-convergence`,lastFailure:t}),{kind:`recorded`})},async recordInfrastructureFailure(e){let t=v(e.claim);if(t.kind!==`authorized`)return{kind:t.kind};let{attempt:n,operation:r}=t;return n.executionId===e.executionId?n.allocationRef===null?{kind:`not-allocated`}:r.obligation===`terminal-convergence`?(m.set(n.executionAttemptId,{...n,status:`settled`,settlementKind:`infrastructure-failure`,claimable:!1}),y(r,r.lastFailure),{kind:`recorded`}):{kind:`not-terminated`}:{kind:`not-found`}},async getActiveAttempt(e,t){return _.get(e)===t?m.get(t)??null:null},async commitOutcome(e){let t=u(e.result);if(_.get(e.executionId)!==e.executionAttemptId)return{kind:`fenced`};let r=m.get(e.executionAttemptId);if(r===void 0)return{kind:`fenced`};let i=g.get(e.executionAttemptId);if(i)return n(i,t)?{kind:`duplicate`,outcome:i}:{kind:`conflict`};if(r.settlementKind!=null)return{kind:`conflict`};g.set(e.executionAttemptId,t),m.set(e.executionAttemptId,{...r,status:`settled`,settlementKind:`outcome`,claimable:!1});let a=h.get(e.executionAttemptId);return a&&y(a,a.lastFailure),{kind:`accepted`,outcome:t}},async abandonPendingAttempt(e,t){if(_.get(t)!==e)return{kind:`fenced`};let n=m.get(e);return n?n.status===`allocated`?{kind:`allocated`}:n.status===`provisioning`?{kind:`provisioning`}:n.status===`settled`?{kind:n.settlementKind===`abandoned`?`already-abandoned`:`already-settled`}:(m.set(e,{...n,status:`settled`,settlementKind:`abandoned`,claimable:!1}),{kind:`abandoned`}):{kind:`fenced`}},recovery:{async getAttemptWithAllocation(e){return m.get(e)??null},async recordDiscoveredAllocation(e){return b(e,!1)},async evolveAllocationRef(e){let{currentRef:n,nextRef:r}=c(e),i=v(e.claim);if(i.kind===`stale`)return{kind:`stale`,storedRef:i.attempt.allocationRef};if(i.kind!==`authorized`)return{kind:i.kind};let{attempt:a}=i;return a.executionId===e.executionId?a.allocationRef===null?{kind:`not-allocated`}:t(a.allocationRef,n)?(m.set(a.executionAttemptId,{...a,allocationRef:r}),{kind:`evolved`}):{kind:`stale`,storedRef:a.allocationRef}:{kind:`not-found`}},async getRecoverableAttempts(e){let t=s(new Date().toISOString()),n=[];for(let r of m.values())r.executionId===e&&r.status===`allocated`&&r.allocationRef!==null&&r.claimable===!0&&r.settlementKind==null&&(r.claimExpiresAt!=null&&s(r.claimExpiresAt)<t||n.push(o(r)));return n.sort(d)}},attempts:m,operations:h,committedOutcomes:g,activeAttempts:_}}const h=`controller-incarnation-1`,g=`provisioner-incarnation-1`,_=`test-provider`;function v(e){return new Date(Date.now()+e).toISOString()}function y(e,t,n={}){return{executionAttemptId:e,executionId:t,providerId:_,allocationLifetime:`provider-managed`,provisionerIncarnationId:g,ownerId:h,leaseExpiresAt:v(6e4),...n}}async function b(e,t,n,r={}){let i=await e.beginProvisioning(y(t,n,r));if(i.kind!==`started`)throw Error(`Expected provisioning to start, got '${i.kind}'`);return i.claim}function x(e={}){return{source:_,summary:`provider rejected the request before creating anything`,observedAt:new Date().toISOString(),...e}}function S(e=g,t=x({summary:`supervisor observed the provisioner process exit`})){return{kind:`provisioner-incarnation-lost`,provisionerIncarnationId:e,evidence:t}}function C(e=_,t={runId:1}){return{version:p,providerId:e,providerData:t}}function w(e,t=`completed`){let n={executionId:e,workflowId:`contract-workflow`};return t===`completed`?{...n,status:`completed`}:{...n,status:`failed`,error:`contract failure`}}export{h as TEST_OWNER_ID,_ as TEST_PROVIDER_ID,g as TEST_PROVISIONER_INCARNATION_ID,b as beginTestProvisioning,m as createInMemoryAttemptRepository,v as leaseAt,y as makeBeginProvisioningInput,x as makeEvidence,S as makeProcessLossProof,C as makeTestAllocationRef,w as makeTestWorkflowResult};
@@ -1,4 +1,4 @@
1
- import { h as ExecutionAttemptRepository } from "../../execution-attempt-repository-BJ2W6wwx.mjs";
1
+ import { h as ExecutionAttemptRepository } from "../../execution-attempt-repository-DFyAnchJ.mjs";
2
2
  import { MakaioDatabase } from "@makaio/framework/storage/drizzle";
3
3
 
4
4
  //#region subsystems/workflow-engine/src/testing/sqlite-attempt-repository.d.ts
@@ -1,4 +1,4 @@
1
- import{DuplicateExecutionAttemptError as e,EXECUTION_ATTEMPT_SETTLEMENT_KINDS as t,EXECUTION_ATTEMPT_STATUSES as n,sameAllocationRef as r,sameWorkflowResult as i}from"../execution-attempt-repository.mjs";import{PROVIDER_OPERATION_OBLIGATIONS as a}from"../provider-operation.mjs";import{a as o,c as s,i as c,l,n as u,o as d,r as f,s as p}from"../../attempt-record-codec-BYfYkj4M.mjs";import{BoundedRecoveryEvidenceSchema as m,ProviderAllocationRefSchema as h,WorkerNodeAllocationLifetimeSchema as g,WorkflowRunResultSchema as _}from"@makaio/framework/contracts";import{getRawSqlExecutor as v,isSqliteUniqueViolationError as y,serializeByKey as b,serializeDatabaseOperation as x}from"@makaio/framework/storage/drizzle";import{sql as S}from"drizzle-orm";const C=[`CREATE TABLE IF NOT EXISTS test_execution_attempt (
1
+ import{DuplicateExecutionAttemptError as e,EXECUTION_ATTEMPT_SETTLEMENT_KINDS as t,EXECUTION_ATTEMPT_STATUSES as n,sameAllocationRef as r,sameWorkflowResult as i}from"../execution-attempt-repository.mjs";import{PROVIDER_OPERATION_OBLIGATIONS as a}from"../provider-operation.mjs";import{a as o,c as s,i as c,l,n as u,o as d,r as f,s as p}from"../../attempt-record-codec-DaFLKR5C.mjs";import{BoundedRecoveryEvidenceSchema as m,ProviderAllocationRefSchema as h,WorkerNodeAllocationLifetimeSchema as g,WorkflowRunResultSchema as _}from"@makaio/framework/contracts";import{getRawSqlExecutor as v,isSqliteUniqueViolationError as y,serializeByKey as b,serializeDatabaseOperation as x}from"@makaio/framework/storage/drizzle";import{sql as S}from"drizzle-orm";const C=[`CREATE TABLE IF NOT EXISTS test_execution_attempt (
2
2
  execution_attempt_id TEXT PRIMARY KEY,
3
3
  execution_id TEXT NOT NULL,
4
4
  status TEXT NOT NULL,
@@ -1 +1 @@
1
- import{D as e,M as t,c as n,ct as r,d as i,i as a,l as o,r as s,s as c,t as l,y as u}from"../authority-state-bootstrap-CLYus369.mjs";import{WORKFLOW_CANCELLED_REASON as d,WorkflowRunContextSchema as f}from"@makaio/framework/contracts";import*as p from"node:os";async function m(e,n,i,a){let o=await y(e,n,i);return await e.request(t.setExecution,{execution:o}),i===`completed`?await e.emit(r.execution.completed,{executionId:n.executionId,workflowId:n.workflowId,totalDuration:0,completedAt:o.completedAt}):await e.emit(r.execution.cancelled,{executionId:n.executionId,workflowId:n.workflowId,reason:a,completedAt:o.completedAt}),i===`cancelled`?{executionId:n.executionId,workflowId:n.workflowId,status:`cancelled`,...a===void 0?{}:{reason:a}}:{executionId:n.executionId,workflowId:n.workflowId,status:`completed`}}function h(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 g(t){let n,r=()=>{n=u({bus:t.bus,activeExecutions:t.activeExecutions,shellAbortControllers:t.shellAbortControllers,activeRunnerSteps:t.activeRunnerSteps,durableLifecycleTransitions:t.durableLifecycleTransitions,lifecyclePublications:t.lifecyclePublications,publishingLifecycleExecutions:t.publishingLifecycleExecutions,cancelTimeoutMs:e.cancelTimeoutMs},t.executionId,d).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 _(e,n){let r=await e.requestOptional(t.getExecution,{executionId:n});return r.handled?r.data.execution?.startedAt??void 0:void 0}async function v(e,t){return{id:t.executionId,workflowId:t.workflowId,coordinatorSessionId:t.coordinatorSessionId,status:`running`,inputs:t.inputs,config:t.config??{},startedAt:await _(e,t.executionId)??Date.now(),triggerPayload:t.triggerPayload,...t.artifactRef===void 0?{}:{artifactRef:t.artifactRef},scope:t.scope}}async function y(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 _(e,t.executionId)??r,completedAt:r,triggerPayload:t.triggerPayload,...t.artifactRef===void 0?{}:{artifactRef:t.artifactRef},scope:t.scope}}async function b(e,t,r,i,s,c,l,u,f){let m=e.suspensionStrategy===`wait-in-process`?void 0:await x(e.executionId,l,{required:!0}),h=await n({definition:t,execution:r,runContext:i,zodSchema:f?.artifact,bus:l}),g=new o(e.executionId,e.workflowId,t,r,s,l,u,void 0,h,{context:{repoPath:process.cwd(),makaioHome:process.env.MAKAIO_HOME??`${p.homedir()}/.makaio`,os:process.platform===`win32`?`win32`:process.platform===`darwin`?`darwin`:`linux`,arch:process.arch},env:e.env},{suspensionStrategy:e.suspensionStrategy,resumeFrames:m,runtimeLoopGates:c}),_=g.buildExpressionContext(),v=await a(t.root,g,_);return v.status===`failed`?{status:`failed`,error:v.error}:v.status===`paused`?{status:`paused`,pausedAtGateId:v.pausedAtGateId,pausedAtFrameId:v.pausedAtFrameId}:v.status===`cancelled`||u.aborted?{status:`cancelled`,reason:d}:{status:`completed`,artifact:h?.current}}async function x(e,n,r={}){try{let i=await n.requestOptional(t.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:c(i.data.frames)}catch(e){if(r.required===!0)throw e;return}}function S(e,t){return f.parse({executionId:e.executionId,workflowId:e.workflowId,source:e.source.kind===`path`?{kind:`path`,path:e.materializationSpec?.sourcePath??``}:e.source,definitionSnapshot:e.source.kind===`definition`?e.definition??t:t,workerManifest:{contributionRefs:[]},inputs:e.inputs,config:e.config??{},scope:e.scope,triggerPayload:e.triggerPayload,...e.artifactRef===void 0?{}:{artifactRef:e.artifactRef},coordinatorSessionId:e.coordinatorSessionId,cancelSubject:e.cancelSubject,env:e.env,createdAt:Date.now(),suspensionStrategy:e.suspensionStrategy,...e.terminalAuthority===void 0?{}:{terminalAuthority:e.terminalAuthority},...e.materializationSpec===void 0?{}:{materializationSpec:e.materializationSpec}})}async function C(e,n,i,a,o){i.status=`paused`,await e.request(t.setExecution,{execution:i}),await e.emit(r.execution.paused,{executionId:n.executionId,workflowId:n.workflowId,pausedAtGateId:a,pausedAtFrameId:o})}async function w(e,t,n,i,a,o){n===`completed`?await e.emit(r.execution.completed,{executionId:t.executionId,workflowId:t.workflowId,totalDuration:a-i.startedAt,completedAt:a}):n===`cancelled`?await e.emit(r.execution.cancelled,{executionId:t.executionId,workflowId:t.workflowId,reason:d,completedAt:a}):await e.emit(r.execution.failed,{executionId:t.executionId,workflowId:t.workflowId,error:o??`Workflow execution failed`,completedAt:a})}async function T(e){let{config:n,loaded:r,bus:a,signal:o}=e,{definition:c}=r;if(o.aborted)return n.terminalAuthority===`authority`?{executionId:n.executionId,workflowId:n.workflowId,status:`cancelled`,reason:d}:m(a,n,`cancelled`,d);let u=await v(a,n),f=S(n,c);n.terminalAuthority===`authority`?await l(a,f,c):await i(a,u,f,c);let p=new Map(r.runtimeHandlers),_=r.runtimeLoopGates??new Map,y=new Map,x=new Map,T=new Map,E=new Map,D=new Map,O=new Set;y.set(n.executionId,{execution:u,workflow:c,runContext:f,runtimeHandlers:p,runtimeLoopGates:new Map(_)});let k=n.terminalAuthority===`authority`?async()=>!1:g({signal:o,executionId:n.executionId,bus:a,activeExecutions:y,shellAbortControllers:x,activeRunnerSteps:T,durableLifecycleTransitions:E,lifecyclePublications:D,publishingLifecycleExecutions:O}),A={status:`completed`},j=!1;try{c.root.nodes.length>0&&(s(c,_),A=await b(n,c,u,f,p,_,a,o,r.zodSchemas))}catch(e){A={status:`failed`,error:e instanceof Error?e.message:String(e)}}finally{j=await k(),y.clear()}if(j)return h(n,{status:`cancelled`,reason:d});if((o.aborted||u.status===`cancelled`)&&(A={status:`cancelled`,reason:d}),A.status===`paused`)return n.terminalAuthority!==`authority`&&await C(a,n,u,A.pausedAtGateId,A.pausedAtFrameId),h(n,A);if(n.terminalAuthority===`authority`)return h(n,A);let M=Date.now(),N=A.status===`failed`?A.error:void 0;return u.status=A.status,u.completedAt=M,u.error=N,await a.request(t.setExecution,{execution:u}),await w(a,n,A.status,u,M,N),h(n,A)}export{T as runWorkflowOrchestrator};
1
+ import{D as e,M as t,c as n,ct as r,d as i,i as a,l as o,r as s,s as c,t as l,y as u}from"../authority-state-bootstrap-YwtEImIB.mjs";import{WORKFLOW_CANCELLED_REASON as d,WorkflowRunContextSchema as f}from"@makaio/framework/contracts";import*as p from"node:os";async function m(e,n,i,a){let o=await y(e,n,i);return await e.request(t.setExecution,{execution:o}),i===`completed`?await e.emit(r.execution.completed,{executionId:n.executionId,workflowId:n.workflowId,totalDuration:0,completedAt:o.completedAt}):await e.emit(r.execution.cancelled,{executionId:n.executionId,workflowId:n.workflowId,reason:a,completedAt:o.completedAt}),i===`cancelled`?{executionId:n.executionId,workflowId:n.workflowId,status:`cancelled`,...a===void 0?{}:{reason:a}}:{executionId:n.executionId,workflowId:n.workflowId,status:`completed`}}function h(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 g(t){let n,r=()=>{n=u({bus:t.bus,activeExecutions:t.activeExecutions,shellAbortControllers:t.shellAbortControllers,activeRunnerSteps:t.activeRunnerSteps,durableLifecycleTransitions:t.durableLifecycleTransitions,lifecyclePublications:t.lifecyclePublications,publishingLifecycleExecutions:t.publishingLifecycleExecutions,cancelTimeoutMs:e.cancelTimeoutMs},t.executionId,d).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 _(e,n){let r=await e.requestOptional(t.getExecution,{executionId:n});return r.handled?r.data.execution?.startedAt??void 0:void 0}async function v(e,t){return{id:t.executionId,workflowId:t.workflowId,coordinatorSessionId:t.coordinatorSessionId,status:`running`,inputs:t.inputs,config:t.config??{},startedAt:await _(e,t.executionId)??Date.now(),triggerPayload:t.triggerPayload,...t.artifactRef===void 0?{}:{artifactRef:t.artifactRef},scope:t.scope}}async function y(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 _(e,t.executionId)??r,completedAt:r,triggerPayload:t.triggerPayload,...t.artifactRef===void 0?{}:{artifactRef:t.artifactRef},scope:t.scope}}async function b(e,t,r,i,s,c,l,u,f){let m=e.suspensionStrategy===`wait-in-process`?void 0:await x(e.executionId,l,{required:!0}),h=await n({definition:t,execution:r,runContext:i,zodSchema:f?.artifact,bus:l}),g=new o(e.executionId,e.workflowId,t,r,s,l,u,void 0,h,{context:{repoPath:process.cwd(),makaioHome:process.env.MAKAIO_HOME??`${p.homedir()}/.makaio`,os:process.platform===`win32`?`win32`:process.platform===`darwin`?`darwin`:`linux`,arch:process.arch},env:e.env},{suspensionStrategy:e.suspensionStrategy,resumeFrames:m,runtimeLoopGates:c}),_=g.buildExpressionContext(),v=await a(t.root,g,_);return v.status===`failed`?{status:`failed`,error:v.error}:v.status===`paused`?{status:`paused`,pausedAtGateId:v.pausedAtGateId,pausedAtFrameId:v.pausedAtFrameId}:v.status===`cancelled`||u.aborted?{status:`cancelled`,reason:d}:{status:`completed`,artifact:h?.current}}async function x(e,n,r={}){try{let i=await n.requestOptional(t.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:c(i.data.frames)}catch(e){if(r.required===!0)throw e;return}}function S(e,t){return f.parse({executionId:e.executionId,workflowId:e.workflowId,source:e.source.kind===`path`?{kind:`path`,path:e.materializationSpec?.sourcePath??``}:e.source,definitionSnapshot:e.source.kind===`definition`?e.definition??t:t,workerManifest:{contributionRefs:[]},inputs:e.inputs,config:e.config??{},scope:e.scope,triggerPayload:e.triggerPayload,...e.artifactRef===void 0?{}:{artifactRef:e.artifactRef},coordinatorSessionId:e.coordinatorSessionId,cancelSubject:e.cancelSubject,env:e.env,createdAt:Date.now(),suspensionStrategy:e.suspensionStrategy,...e.terminalAuthority===void 0?{}:{terminalAuthority:e.terminalAuthority},...e.materializationSpec===void 0?{}:{materializationSpec:e.materializationSpec}})}async function C(e,n,i,a,o){i.status=`paused`,await e.request(t.setExecution,{execution:i}),await e.emit(r.execution.paused,{executionId:n.executionId,workflowId:n.workflowId,pausedAtGateId:a,pausedAtFrameId:o})}async function w(e,t,n,i,a,o){n===`completed`?await e.emit(r.execution.completed,{executionId:t.executionId,workflowId:t.workflowId,totalDuration:a-i.startedAt,completedAt:a}):n===`cancelled`?await e.emit(r.execution.cancelled,{executionId:t.executionId,workflowId:t.workflowId,reason:d,completedAt:a}):await e.emit(r.execution.failed,{executionId:t.executionId,workflowId:t.workflowId,error:o??`Workflow execution failed`,completedAt:a})}async function T(e){let{config:n,loaded:r,bus:a,signal:o}=e,{definition:c}=r;if(o.aborted)return n.terminalAuthority===`authority`?{executionId:n.executionId,workflowId:n.workflowId,status:`cancelled`,reason:d}:m(a,n,`cancelled`,d);let u=await v(a,n),f=S(n,c);n.terminalAuthority===`authority`?await l(a,f,c):await i(a,u,f,c);let p=new Map(r.runtimeHandlers),_=r.runtimeLoopGates??new Map,y=new Map,x=new Map,T=new Map,E=new Map,D=new Map,O=new Set;y.set(n.executionId,{execution:u,workflow:c,runContext:f,runtimeHandlers:p,runtimeLoopGates:new Map(_)});let k=n.terminalAuthority===`authority`?async()=>!1:g({signal:o,executionId:n.executionId,bus:a,activeExecutions:y,shellAbortControllers:x,activeRunnerSteps:T,durableLifecycleTransitions:E,lifecyclePublications:D,publishingLifecycleExecutions:O}),A={status:`completed`},j=!1;try{c.root.nodes.length>0&&(s(c,_),A=await b(n,c,u,f,p,_,a,o,r.zodSchemas))}catch(e){A={status:`failed`,error:e instanceof Error?e.message:String(e)}}finally{j=await k(),y.clear()}if(j)return h(n,{status:`cancelled`,reason:d});if((o.aborted||u.status===`cancelled`)&&(A={status:`cancelled`,reason:d}),A.status===`paused`)return n.terminalAuthority!==`authority`&&await C(a,n,u,A.pausedAtGateId,A.pausedAtFrameId),h(n,A);if(n.terminalAuthority===`authority`)return h(n,A);let M=Date.now(),N=A.status===`failed`?A.error:void 0;return u.status=A.status,u.completedAt=M,u.error=N,await a.request(t.setExecution,{execution:u}),await w(a,n,A.status,u,M,N),h(n,A)}export{T as runWorkflowOrchestrator};
@@ -1 +1 @@
1
- import{u as e}from"./framework-packages-BHgul8Kl.mjs";function t(){let t=new Map;return{filter:e=>!!(e.transitionRules?.rules?.length||e.transitionActions?.actions),async processActivated(i,a,o){let s=o.getService(e);if(!s)throw Error(`TransitionContributionProcessor: TransitionPipelineService is not available — ensure '${e.name}' is started before extensions with transitionRules or transitionActions.`);let c=a.transitionRules?.rules??[],l=a.transitionActions?.actions,u=c.length>0,d=l!==void 0;u&&n(i,c),d&&r(i,l);let f=!1,p=!1;try{u&&(s.ruleRegistry.register(i,c),f=!0),d&&(s.actionRegistry.register(i,l),p=!0)}catch(e){throw f&&s.ruleRegistry.deregister(i),p&&s.actionRegistry.deregister(i),e}t.set(i,()=>{u&&s.ruleRegistry.deregister(i),d&&s.actionRegistry.deregister(i)})},async processStopped(e){let n=t.get(e);if(n){try{n()}catch(t){console.error(`[TransitionContributionProcessor] Deregister error for "${e}":`,t)}t.delete(e)}}}}function n(e,t){let n=`${e}.`;for(let e of t)if(!e.id.startsWith(n))throw Error(`TransitionContributionProcessor: rule '${e.id}' must be namespaced by extension '${n}'`)}function r(e,t){let n=`${e}.`;for(let e of Object.keys(t))if(!e.startsWith(n))throw Error(`TransitionContributionProcessor: action type '${e}' must be namespaced by extension '${n}'`)}export{t};
1
+ import{d as e}from"./framework-packages-D_2hBZ-p.mjs";function t(){let t=new Map;return{filter:e=>!!(e.transitionRules?.rules?.length||e.transitionActions?.actions),async processActivated(i,a,o){let s=o.getService(e);if(!s)throw Error(`TransitionContributionProcessor: TransitionPipelineService is not available — ensure '${e.name}' is started before extensions with transitionRules or transitionActions.`);let c=a.transitionRules?.rules??[],l=a.transitionActions?.actions,u=c.length>0,d=l!==void 0;u&&n(i,c),d&&r(i,l);let f=!1,p=!1;try{u&&(s.ruleRegistry.register(i,c),f=!0),d&&(s.actionRegistry.register(i,l),p=!0)}catch(e){throw f&&s.ruleRegistry.deregister(i),p&&s.actionRegistry.deregister(i),e}t.set(i,()=>{u&&s.ruleRegistry.deregister(i),d&&s.actionRegistry.deregister(i)})},async processStopped(e){let n=t.get(e);if(n){try{n()}catch(t){console.error(`[TransitionContributionProcessor] Deregister error for "${e}":`,t)}t.delete(e)}}}}function n(e,t){let n=`${e}.`;for(let e of t)if(!e.id.startsWith(n))throw Error(`TransitionContributionProcessor: rule '${e.id}' must be namespaced by extension '${n}'`)}function r(e,t){let n=`${e}.`;for(let e of Object.keys(t))if(!e.startsWith(n))throw Error(`TransitionContributionProcessor: action type '${e}' must be namespaced by extension '${n}'`)}export{t};
@@ -0,0 +1 @@
1
+ import{i as e,o as t,t as n}from"./chunk-DTipWd-i.mjs";import{resolveMakaioHome as r}from"./runtime-node/makaio-config.mjs";import{t as i}from"./extension-package-provenance-Dh_-Z-tE.mjs";import{n as a,o,t as s}from"./await-trigger-ph1S0zVI.mjs";import*as c from"node:fs/promises";import{access as l}from"node:fs/promises";import*as u from"node:path";import{basename as d,join as f}from"node:path";import*as p from"node:crypto";import{constants as m}from"node:fs";import{createBusInstance as h,waitForSubscriptionPropagation as g}from"@makaio/framework/bus";import{AdapterSubjects as _,BoundedRecoveryEvidenceSchema as v,FrameworkContractNamespaces as y,FrameworkStorageNamespaces as b,PROVIDER_ALLOCATION_REF_VERSION as x,ProviderAllocationRefSchema as S,RECOVERY_EVIDENCE_LIMITS as C,WorkerNodeCapabilitiesSchema as ee,WorkerNodeSubjects as w,WorkflowSubjects as T,WorkflowWorkerConfigSchema as te,createWorkflowCancelSubject as ne}from"@makaio/framework/contracts";import{ExtensionCoordinator as E,KernelSubjects as re,coalesceExtensionOverrides as ie,filterEligibleExtensions as ae}from"@makaio/framework/kernel";import{BaseService as oe}from"@makaio/framework/service-base";import{AdapterRuntimeSubjects as se,registerAdapterRuntimeIdentityHandlers as ce}from"@makaio/framework/services/adapter-runtime";import{CLIDetectionNamespace as le,CLIDetectionSubjects as ue}from"@makaio/framework/services/cli-detection/namespace";import{SessionOrchestratorToken as de,ToolRegistryToken as fe,canonicalModelPackage as pe,createSubagentServicePackage as me,createToolContributionProcessor as he,frameworkCorePackages as D,sessionBridgePackage as ge,sessionOrchestratorPackage as _e,sessionPackage as ve,sessionStoragePackage as ye,toolRegistryPackage as be}from"@makaio/framework/services";import{AdapterSubsystemSubjects as O}from"@makaio/framework/services/adapter-subsystem";import{createClientsCorePackage as xe}from"@makaio/framework/clients";import{AdapterSubsystemToken as Se,createAdapterSubsystemContributionProcessor as Ce,createAdapterSubsystemPackage as we,orderAfterAdapterSubsystem as Te}from"@makaio/framework/adapter-subsystem";import{execa as Ee}from"execa";import{ExecutionAttemptAuthority as De,runAuthorityDispatchedAttempt as Oe}from"@makaio/framework/workflow-engine";import{runWorkflowOrchestrator as ke}from"@makaio/framework/workflow-engine/workflow-orchestrator";function k(e){return e.on(_.getCapabilities,async t=>{let{adapterName:n,adapterId:r}=t.payload;if(r){await t.next();return}if(n){let r=await e.requestOptional(se.resolveId,{adapterName:n}),i=r.handled?r.data.adapterId:void 0;i&&(t.payload.adapterId=i)}await t.next()},{priority:20})}function A(e){let{coordinator:t,configRepository:n,platformDefaults:r,prepareAuthRuntime:i,runtimeSnapshotHandlerPriority:a,runtimeDefinitionHandlerPriority:o}=e,s=we({configRepository:n,coordinator:t,platformDefaults:r,...i!==void 0&&{prepareAuthRuntime:i},...a!==void 0&&{runtimeSnapshotHandlerPriority:a},...o!==void 0&&{runtimeDefinitionHandlerPriority:o}});return t.registerContributionProcessor(Ce({getAdapterSubsystemService:()=>t.getExtensionService(Se)})),{adapterSubsystemPackage:s}}function j(e){let{bus:t,currentMachineId:n}=e,r=ce(t,{currentMachineId:n,listKnownAdapterNames:e.listKnownAdapterNames??(async()=>{let{configs:e}=await t.request(O.listAdapterConfigs,{});return e.map(e=>e.name)})}),i=k(t);return{cleanup:()=>{r.cleanup(),i()}}}function M(e,t){if(!(e instanceof Error))return!1;let{rootPackageName:n,subpath:r}=Ae(t),i=(r===void 0?[t]:[t,n]).flatMap(e=>[`Cannot find package '${e}'`,`Cannot find module '${e}'`,`Cannot find package "${e}"`,`Cannot find module "${e}"`]),a=e;return(a.code===`ERR_MODULE_NOT_FOUND`||a.code===`MODULE_NOT_FOUND`)&&i.some(t=>e.message.includes(t))||a.code===`ERR_PACKAGE_PATH_NOT_EXPORTED`&&r!==void 0&&e.message.includes(`Package subpath '${r}' is not defined by "exports"`)&&je(e.message,n)?!0:i.some(t=>e.message.includes(t))}async function N(e){try{return await import(e)}catch(t){if(M(t,e))return null;throw t}}function Ae(e){let t=e.split(`/`);return e.startsWith(`@`)?{rootPackageName:t.slice(0,2).join(`/`),subpath:t.length>2?`./${t.slice(2).join(`/`)}`:void 0}:{rootPackageName:t[0]??e,subpath:t.length>1?`./${t.slice(1).join(`/`)}`:void 0}}function je(e,t){let n=t,r=t.replaceAll(`/`,`\\`);return e.includes(`/${n}/package.json`)||e.includes(`\\${r}\\package.json`)}async function P(e,t=process.env,n=process.platform){let r=t[Object.keys(t).find(e=>e.toUpperCase()===`PATH`)??`PATH`]??``,i=(t.PATHEXT??`.EXE;.CMD;.BAT;.COM`).split(`;`).filter(Boolean),a=n===`win32`?u.extname(e)===``?i:[``,...i]:[``];for(let t of r.split(u.delimiter)){let n=t.replace(/^"|"$/gu,``),r=u.resolve(n||process.cwd());for(let t of a){let n=u.join(r,`${e}${t}`);try{return await l(n,m.X_OK),n}catch{}}}}async function F(e,t=5e3,n=1e3){let{stdout:r}=await Ee(e,[`--version`],{forceKillAfterDelay:n,timeout:t});return r}function Me(e){return e.match(/(\d+\.\d+\.\d+)/u)?.[1]??`unknown`}async function Ne(e,t=P,n=F){try{let r=await t(e);if(r===void 0)return{binary:e,found:!1};let i=await n(r);return i.length===0?{binary:e,found:!1}:{binary:e,found:!0,path:r,version:Me(i)}}catch{return{binary:e,found:!1}}}async function Pe(e,t=P,n=F){return Promise.all(e.map(e=>Ne(e,t,n)))}var Fe=class extends oe{constructor(e){super(e)}onInit(){this.registerHandler(ue.scan,async e=>{let t=await Pe(e.payload.binaries);e.setResult({results:t})})}};const I={name:`makaio.cli-detection`,displayName:`CLI Detection`,version:`0.1.0`,critical:!0,surface:`any`,namespaces:[le],create:e=>new Fe(e.bus)};function L(e,t){e.push(...Ie(t))}function Ie(e){return e===void 0?[]:typeof e==`function`?[e]:[...e]}function Le(e,t=[]){let n=new Set([e]),r=new Set,i=new Map;for(let e of t)typeof e==`string`?n.add(e):(r.add(e.id),e.version!==void 0&&i.set(e.id,e.version));return{hosts:n,capabilities:r,...i.size>0?{capabilityVersions:i}:{}}}function Re(e=[]){return e.some(e=>typeof e==`string`&&e===`node`)?e:[`node`,...e]}function R(e){return ie(ae(Be(e.packages,e.configProvider),e.surface,e.runtimeEnvironment))}function ze(e,t){let n=R(t),r=new Set(n.map(i));return e.filter(({ownerPackage:e})=>r.has(e)).map(({package:e})=>e)}function Be(e,t){return t?e.filter(e=>t.loadEnabled(e.name)!==!1):e}function z(e,t){return e.filter(e=>e.runtimeOwnership?.[t]===!0).map(e=>e.name)}function Ve(e,t){let n=z(e,t);if(n.length>1)throw Error(`Multiple extensions own runtimeOwnership.${t}: ${n.join(`, `)}`)}function B(e){return Ve(e,`sessionOrchestrator`),z(e,`sessionOrchestrator`).length===0}function He(e){return e===!0||B(e)?D:D.filter(e=>e.name!==de.name)}function V(e,t,n){let r=[];try{for(let i of e){let e=i.runtimeBoot;e&&L(r,e.configure({bus:t,registerContributionProcessor:e=>{r.push(n.registerContributionProcessor(e))},forEachActiveExtension:e=>{n.forEachActiveExtension(e)}}))}}catch(e){let t=[];for(let e of[...r].reverse())try{e()}catch(e){t.push(e)}throw t.length>0?AggregateError([e,...t],`Extension boot contribution failed and rollback cleanup reported additional errors`,{cause:e}):e}return r}function Ue(){let e=process.env.MAKAIO_SKIP_EXTENSIONS;if(!e)return new Set;let t=e.split(`,`).map(e=>e.trim()).filter(Boolean);return new Set(t)}var We=n(((e,t)=>{t.exports={name:`piscina`,version:`5.2.0`,description:`A fast, efficient Node.js Worker Thread Pool implementation`,main:`./dist/main.js`,types:`./dist/index.d.ts`,exports:{types:`./dist/index.d.ts`,import:`./dist/esm-wrapper.mjs`,require:`./dist/main.js`},engines:{node:`>=20.x`},scripts:{build:`tsc && gen-esm-wrapper . dist/esm-wrapper.mjs`,lint:`eslint`,test:`node scripts/run-tests.js`,"test:jest":`jest --config test/jest/jest.config.js`,"test:ci":`npm run lint && npm run build && npm run test:coverage && npm run test:jest`,"test:coverage":`node scripts/run-tests.js --coverage`,prepack:`npm run build`,benchmark:`node --allow-natives-syntax benchmark/index.js --scope all`,"benchmark:ci":`node --allow-natives-syntax benchmark/index.js --scope all --reporter json | jq '.[] | .name, .opsSec'`,"benchmark:simple":`node --allow-natives-syntax benchmark/index.js --scope simple:all`,"benchmark:simple:default":`node --allow-natives-syntax benchmark/index.js --scope simple`,"benchmark:simple:async":`node --allow-natives-syntax benchmark/index.js --scope simple:async`,"benchmark:startup":`node --allow-natives-syntax benchmark/index.js --scope startup`,"benchmark:queue":`node --allow-natives-syntax benchmark/index.js --scope queue`},repository:{type:`git`,url:`git+https://github.com/piscinajs/piscina.git`},keywords:[`fast`,`worker threads`,`thread pool`,`wade wilson`],author:`James M Snell <jasnell@gmail.com>`,contributors:[`Anna Henningsen <anna@addaleax.net>`,`Matteo Collina <matteo.collina@gmail.com>`,`Carlos Fuentes <me@metcoder.dev>`],license:`MIT`,devDependencies:{"@types/jest":`^30.0.0`,"@types/node":`^22.4.1`,"abort-controller":`^3.0.0`,"bench-node":`^0.7.0`,"concat-stream":`^2.0.0`,eslint:`^9.16.0`,"gen-esm-wrapper":`^1.1.1`,glob:`^13.0.1`,jest:`^30.2.0`,neostandard:`^0.13.0`,"ts-jest":`^29.4.6`,tsx:`^4.20.3`,typescript:`5.8.3`},optionalDependencies:{"@napi-rs/nice":`^1.0.4`},bugs:{url:`https://github.com/piscinajs/piscina/issues`},homepage:`https://github.com/piscinajs/piscina#readme`,directories:{example:`examples`,test:`test`}}})),H=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})),U=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))}})),W=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=H();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}}})),Ge=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)}}})),Ke=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})),qe=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=U(),a=W(),o=H();var s=Ge();Object.defineProperty(t,`ArrayTaskQueue`,{enumerable:!0,get:function(){return s.ArrayTaskQueue}});var c=Ke();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]}}}})),Je=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`)}})),Ye=n((t=>{var n=t&&t.__classPrivateFieldSet||function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},r=t&&t.__classPrivateFieldGet||function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},i,a;Object.defineProperty(t,`__esModule`,{value:!0}),t.PiscinaHistogramHandler=void 0;let o=e(`node:perf_hooks`);t.PiscinaHistogramHandler=class e{constructor(){i.set(this,void 0),a.set(this,void 0),n(this,i,(0,o.createHistogram)(),`f`),n(this,a,(0,o.createHistogram)(),`f`)}get runTimeSummary(){return e.createHistogramSummary(r(this,i,`f`))}get waitTimeSummary(){return e.createHistogramSummary(r(this,a,`f`))}get runTimeCount(){return r(this,i,`f`).count}recordRunTime(t){r(this,i,`f`).record(e.toHistogramIntegerNano(t))}recordWaitTime(t){r(this,a,`f`).record(e.toHistogramIntegerNano(t))}resetWaitTime(){r(this,a,`f`).reset()}resetRunTime(){r(this,i,`f`).reset()}static createHistogramSummary(e){let{mean:t,stddev:n,min:r,max:i}=e;return{average:t/1e3,mean:t/1e3,stddev:n/1e3,min:r/1e3,max:i/1e3,p0_001:e.percentile(.001)/1e3,p0_01:e.percentile(.01)/1e3,p0_1:e.percentile(.1)/1e3,p1:e.percentile(1)/1e3,p2_5:e.percentile(2.5)/1e3,p10:e.percentile(10)/1e3,p25:e.percentile(25)/1e3,p50:e.percentile(50)/1e3,p75:e.percentile(75)/1e3,p90:e.percentile(90)/1e3,p97_5:e.percentile(97.5)/1e3,p99:e.percentile(99)/1e3,p99_9:e.percentile(99.9)/1e3,p99_99:e.percentile(99.99)/1e3,p99_999:e.percentile(99.999)/1e3}}static toHistogramIntegerNano(e){return Math.max(1,Math.trunc(e*1e3))}},i=new WeakMap,a=new WeakMap})),Xe=n((t=>{var n=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,`__esModule`,{value:!0}),t.AsynchronouslyCreatedResourcePool=t.AsynchronouslyCreatedResource=void 0;let r=n(e(`node:assert`));t.AsynchronouslyCreatedResource=class{constructor(){this.onreadyListeners=[],this.ondestroyListeners=[]}markAsReady(){let e=this.onreadyListeners;(0,r.default)(e!=null),this.onreadyListeners=null;for(let t of e)t()}isReady(){return this.onreadyListeners==null}onReady(e){if(this.onreadyListeners==null){e();return}this.onreadyListeners.push(e)}onDestroy(e){this.ondestroyListeners!=null&&this.ondestroyListeners.push(e)}markAsDestroyed(){let e=this.ondestroyListeners;(0,r.default)(e!=null),this.ondestroyListeners=null;for(let t of e)t()}isDestroyed(){return this.ondestroyListeners==null}},t.AsynchronouslyCreatedResourcePool=class{constructor(e){this.pendingItems=new Set,this.readyItems=new Set,this.maximumUsage=e,this.onAvailableListeners=[],this.onTaskDoneListeners=[]}add(e){this.pendingItems.add(e),e.onReady(()=>{this.pendingItems.has(e)&&(this.pendingItems.delete(e),this.readyItems.add(e),this.maybeAvailable(e))})}delete(e){this.pendingItems.delete(e),this.readyItems.delete(e)}*[Symbol.iterator](){yield*this.pendingItems,yield*this.readyItems}get size(){return this.pendingItems.size+this.readyItems.size}maybeAvailable(e){if(e.currentUsage()<this.maximumUsage)for(let t of this.onAvailableListeners)t(e)}onAvailable(e){this.onAvailableListeners.push(e)}taskDone(e){for(let t=0;t<this.onTaskDoneListeners.length;t++)this.onTaskDoneListeners[t](e)}onTaskDone(e){this.onTaskDoneListeners.push(e)}getCurrentUsage(){let e=0;for(let t of this.readyItems){let n=t.currentUsage();Number.isFinite(n)&&(e+=n)}return e}}})),Ze=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}}})),Qe=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=Je(),l=H(),u=Ye(),d=Xe();Object.defineProperty(t,`AsynchronouslyCreatedResourcePool`,{enumerable:!0,get:function(){return d.AsynchronouslyCreatedResourcePool}}),r(Ze(),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}}}})),$e=n((t=>{var n=t&&t.__classPrivateFieldSet||function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},r=t&&t.__classPrivateFieldGet||function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},i,a,o,s;Object.defineProperty(t,`__esModule`,{value:!0}),t.workerData=t.isWorkerThread=t.move=t.ArrayTaskQueue=t.FixedQueue=t.version=t.queueOptionsSymbol=t.valueSymbol=t.transferableSymbol=t.Piscina=void 0;let c=e(`node:worker_threads`),l=e(`node:events`),u=e(`node:path`),d=e(`node:util`),f=e(`node:perf_hooks`),p=e(`node:timers/promises`),m=We();Object.defineProperty(t,`version`,{enumerable:!0,get:function(){return m.version}});let h=H();Object.defineProperty(t,`queueOptionsSymbol`,{enumerable:!0,get:function(){return h.kQueueOptions}}),Object.defineProperty(t,`transferableSymbol`,{enumerable:!0,get:function(){return h.kTransferable}}),Object.defineProperty(t,`valueSymbol`,{enumerable:!0,get:function(){return h.kValue}});let g=qe();Object.defineProperty(t,`ArrayTaskQueue`,{enumerable:!0,get:function(){return g.ArrayTaskQueue}}),Object.defineProperty(t,`FixedQueue`,{enumerable:!0,get:function(){return g.FixedQueue}});let _=Qe(),v=U(),y=Ye(),b=Je(),x=W(),S=(0,x.getAvailableParallelism)(),C={filename:null,name:`default`,minThreads:Math.max(Math.floor(S/2),1),maxThreads:S*1.5,idleTimeout:0,maxQueue:1/0,concurrentTasksPerWorker:1,atomics:`sync`,taskQueue:new g.ArrayTaskQueue,niceIncrement:0,trackUnmanagedFds:!0,closeTimeout:3e4,recordTiming:!0,workerHistogram:!1},ee={transferList:void 0,filename:null,signal:null,name:null},w={force:!1};var T=class{constructor(e){i.set(this,void 0),n(this,i,e,`f`)}get[(i=new WeakMap,h.kTransferable)](){return r(this,i,`f`)}get[h.kValue](){return r(this,i,`f`)}},te=class{constructor(e){a.set(this,void 0),n(this,a,e,`f`)}get[(a=new WeakMap,h.kTransferable)](){return r(this,a,`f`).buffer}get[h.kValue](){return r(this,a,`f`)}},ne=class{constructor(e,t){this.skipQueue=[],this.completed=0,this.histogram=null,this.start=f.performance.now(),this.inProcessPendingMessages=!1,this.startingUp=!1,this.closingUp=!1,this.workerFailsDuringBootstrap=!1,this.destroying=!1,this.publicInterface=e,this.taskQueue=t.taskQueue??new g.FixedQueue;let n=t.filename?(0,x.maybeFileURLToPath)(t.filename):null;this.options={...C,...t,filename:n,maxQueue:0},this.options.recordTiming&&(this.histogram=new y.PiscinaHistogramHandler),t.maxThreads!==void 0&&this.options.minThreads>=t.maxThreads&&(this.options.minThreads=t.maxThreads),t.minThreads!==void 0&&this.options.maxThreads<=t.minThreads&&(this.options.maxThreads=t.minThreads),t.maxQueue===`auto`?this.options.maxQueue=this.options.maxThreads**2:this.options.maxQueue=t.maxQueue??C.maxQueue,this.balancer=this.options.loadBalancer??(0,_.LeastBusyBalancer)({maximumUsage:this.options.concurrentTasksPerWorker}),this.workers=new _.AsynchronouslyCreatedResourcePool(this.options.concurrentTasksPerWorker),this.workers.onTaskDone(this._onWorkerTaskDone.bind(this)),this.maxCapacity=this.options.maxThreads*this.options.concurrentTasksPerWorker,this.startingUp=!0,this._ensureMinimumWorkers(),this.startingUp=!1,this._needsDrain=!1}_ensureMinimumWorkers(){if(!(this.closingUp||this.destroying))for(;this.workers.size<this.options.minThreads;)this._addNewWorker()}_addNewWorker(){if(this.closingUp===!0)return;let{port1:e,port2:t}=new c.MessageChannel,n=new _.WorkerInfo({worker:{filename:(0,u.resolve)(__dirname,`worker.js`),env:this.options.env,argv:this.options.argv,execArgv:this.options.execArgv,resourceLimits:this.options.resourceLimits,workerData:this.options.workerData,trackUnmanagedFds:this.options.trackUnmanagedFds},port:e,enableHistogram:this.options.workerHistogram},i.bind(this)),r={filename:this.options.filename,name:this.options.name,port:t,sharedBuffer:n.sharedBuffer,atomics:this.options.atomics,niceIncrement:this.options.niceIncrement};n.onDestroy(()=>{this.publicInterface.emit(`workerDestroy`,n.interface)}),n.onWorkerMessage(s.bind(this)),n.onWorkerError(l.bind(this)),n.onWorkerExit(f.bind(this)),n.onPortClose(()=>{n.workerRef()}),this.startingUp===!0?(n.markAsReady(),queueMicrotask(()=>{this.publicInterface.emit(`workerCreate`,n.interface),this._onWorkerReady(n)})):n.onReady(()=>{this.publicInterface.emit(`workerCreate`,n.interface),this._onWorkerReady(n)}),n.init(r,[t]).workerUnref(),this.workers.add(n);function i(e){let{taskId:t,result:r}=e,i=n.popTask(t);if(this.workers.taskDone(n),i==null){let t=Error(`Unexpected message from Worker: ${(0,d.inspect)(e)}`);this.publicInterface.emit(`error`,t)}else i.done(e.error,r);this._processPendingMessages()}function a(){n.currentUsage()===0&&n.unref(),n.isReady()===!1&&n.markAsReady()}function o(e){this.publicInterface.emit(`message`,e)}function s(e){e instanceof Object&&x.READY in e||typeof e==`object`&&e&&x.READY in e?a():o.call(this,e)}function l(e){this._onError(n,e,!1)}function f(e){if(this.destroying===!1){let t=Error(`worker exited with code: ${e}`);this._onError(n,t,!0)}}}_onError(e,t,n){let r=[...e.taskInfos.values()];if(e.taskInfos.clear(),this._removeWorker(e),e.isReady()&&!this.workerFailsDuringBootstrap?this._ensureMinimumWorkers():this.workerFailsDuringBootstrap=!0,r.length>0)for(let e of r)e.done(t,null);else n||this.publicInterface.emit(`error`,t)}_processPendingMessages(){if(!(this.inProcessPendingMessages||this.options.atomics===`disabled`)){this.inProcessPendingMessages=!0;try{for(let e of this.workers)e.processPendingMessages()}finally{this.inProcessPendingMessages=!1}}}_removeWorker(e){e.destroy(),this.workers.delete(e)}_removeTaskFromQueue(e){this.taskQueue.remove(e);let t=this.skipQueue.indexOf(e);t!==-1&&this.skipQueue.splice(t,1)}_onWorkerReady(e){this._onWorkerAvailable(e)}_onWorkerTaskDone(e){this._onWorkerAvailable(e)}_onWorkerAvailable(e){let t=null;for(;this.taskQueue.size>0||this.skipQueue.length>0;){let e=this.skipQueue.shift()||this.taskQueue.shift();if(t??=[...this.workers].map(e=>e.interface),!this._distributeTask(e,t))if(this.workers.size<this.options.maxThreads){this._addNewWorker();continue}else break}this.options.idleTimeout!==1/0&&e.currentUsage()===0&&this.workers.size>this.options.minThreads&&e.setIdleTimeout(()=>{e.currentUsage()===0&&this.workers.size>this.options.minThreads&&this._removeWorker(e)},this.options.idleTimeout)}_distributeTask(e,t){var n;if(e.aborted)return!0;let r=this.balancer(e.interface,t);if(r!=null&&r[h.kWorkerData]!=null){let t=f.performance.now();return(n=this.histogram)==null||n.recordWaitTime(t-e.created),e.started=t,r[h.kWorkerData].postTask(e),queueMicrotask(()=>this._maybeDrain()),!0}return e.abortSignal==null?this.taskQueue.push(e):this.skipQueue.push(e),!1}runTask(e,t){let{filename:n,name:r}=t,{transferList:i=[]}=t;if(n??=this.options.filename,r??=this.options.name,typeof n!=`string`)return Promise.reject(b.Errors.FilenameNotProvided());n=(0,x.maybeFileURLToPath)(n);let a;if(this.closingUp||this.destroying){let e=new AbortController;e.abort(`queue is being terminated`),a=e.signal}else a=t.signal??null;let{promise:o,resolve:s,reject:c}=(0,x.promiseResolvers)(),l=new g.TaskInfo({task:e,transferList:i,filename:n,name:r,abortSignal:a,triggerAsyncId:this.publicInterface.asyncResource.asyncId()},(e,t)=>{var n;this.completed++,l.started&&((n=this.histogram)==null||n.recordRunTime(f.performance.now()-l.started)),e===null?s(t):c(e),queueMicrotask(this._maybeDrain.bind(this))});if(a!=null){if(a.aborted)return c(new v.AbortError(a.reason)),o;l.onAbort(()=>{c(new v.AbortError(a.reason)),l.workerInfo==null?this._removeTaskFromQueue(l):(this._removeWorker(l.workerInfo),this._ensureMinimumWorkers())}),l.setAbortListener(a)}if(this.taskQueue.size>0){let e=this.options.maxQueue+this.pendingCapacity();return this.taskQueue.size>=e?this.options.maxQueue===0?c(b.Errors.NoTaskQueueAvailable()):c(b.Errors.TaskQueueAtLimit()):(this.taskQueue.push(l),this.workers.size<this.options.maxThreads&&this._addNewWorker()),queueMicrotask(this._maybeDrain.bind(this)),o}let u=[...this.workers.readyItems].map(e=>e.interface);return this._distributeTask(l,u)||(this.workers.size<this.options.maxThreads&&this._addNewWorker(),this.options.maxQueue<=0&&this.pendingCapacity()===0&&c(b.Errors.NoTaskQueueAvailable())),queueMicrotask(this._maybeDrain.bind(this)),o}pendingCapacity(){return this.workers.pendingItems.size*this.options.concurrentTasksPerWorker}_maybeDrain(){let{maxCapacity:e}=this,t=this.workers.getCurrentUsage();e===t?(this._needsDrain=!0,queueMicrotask(()=>this.publicInterface.emit(`needsDrain`))):e>t&&this._needsDrain&&(this._needsDrain=!1,queueMicrotask(()=>this.publicInterface.emit(`drain`)))}async destroy(){for(this.destroying=!0;this.skipQueue.length>0;)this.skipQueue.shift().done(Error(`Terminating worker thread`));for(;this.taskQueue.size>0;)this.taskQueue.shift().done(Error(`Terminating worker thread`));let e=[];for(;this.workers.size>0;){let[t]=this.workers;e.push((0,l.once)(t.worker,`exit`)),this._removeWorker(t)}await Promise.allSettled(e),this.destroying=!1}async close(e){if(this.closingUp=!0,e.force){let e=this.skipQueue.length;for(let t=0;t<e;t++){let e=this.skipQueue.shift();e.workerInfo===null?e.done(new v.AbortError(`pool is closed`)):this.skipQueue.push(e)}let t=this.taskQueue.size;for(let e=0;e<t;e++){let e=this.taskQueue.shift();e.workerInfo===null?e.done(new v.AbortError(`pool is closed`)):this.taskQueue.push(e)}}let t=()=>new Promise(e=>{let t=this.workers.size;if(t===0){e();return}let n=0,r=r=>{r.taskInfos.size===0&&n++,t===n&&e()};this.workers.onTaskDone(r);for(let e of this.workers)r(e),this.workers.onTaskDone(r)}),n=async e=>{throw await(0,p.setTimeout)(e,null,{ref:!1}),b.Errors.CloseTimeout()};try{await Promise.race([t(),n(this.options.closeTimeout)])}catch(e){this.publicInterface.emit(`error`,e)}finally{await this.destroy(),this.publicInterface.emit(`close`),this.closingUp=!1}}},E=class e extends l.EventEmitterAsyncResource{constructor(e={}){let t={...e,"__proto__":null};if(super({...t,name:`Piscina`}),o.set(this,void 0),s.set(this,null),typeof t.filename!=`string`&&t.filename!=null)throw TypeError(`options.filename must be a string or null`);if(typeof t.name!=`string`&&t.name!=null)throw TypeError(`options.name must be a string or null`);if(t.minThreads!==void 0&&(typeof t.minThreads!=`number`||t.minThreads<0))throw TypeError(`options.minThreads must be a non-negative integer`);if(t.maxThreads!==void 0&&(typeof t.maxThreads!=`number`||t.maxThreads<1))throw TypeError(`options.maxThreads must be a positive integer`);if(t.minThreads!==void 0&&t.maxThreads!==void 0&&t.minThreads>t.maxThreads)throw RangeError(`options.minThreads and options.maxThreads must not conflict`);if(t.idleTimeout!==void 0&&(typeof t.idleTimeout!=`number`||t.idleTimeout<0))throw TypeError(`options.idleTimeout must be a non-negative integer`);if(t.maxQueue!==void 0&&t.maxQueue!==`auto`&&(typeof t.maxQueue!=`number`||t.maxQueue<0))throw TypeError(`options.maxQueue must be a non-negative integer`);if(t.concurrentTasksPerWorker!==void 0&&(typeof t.concurrentTasksPerWorker!=`number`||t.concurrentTasksPerWorker<1))throw TypeError(`options.concurrentTasksPerWorker must be a positive integer`);if(t.atomics!=null&&(typeof t.atomics!=`string`||![`sync`,`async`,`disabled`].includes(t.atomics)))throw TypeError(`options.atomics should be a value of sync, sync or disabled.`);if(t.resourceLimits!==void 0&&(typeof t.resourceLimits!=`object`||t.resourceLimits===null))throw TypeError(`options.resourceLimits must be an object`);if(t.taskQueue!==void 0&&!(0,g.isTaskQueue)(t.taskQueue))throw TypeError(`options.taskQueue must be a TaskQueue object`);if(t.niceIncrement!==void 0&&(typeof t.niceIncrement!=`number`||t.niceIncrement<0&&process.platform!==`win32`))throw TypeError(`options.niceIncrement must be a non-negative integer on Unix systems`);if(t.trackUnmanagedFds!==void 0&&typeof t.trackUnmanagedFds!=`boolean`)throw TypeError(`options.trackUnmanagedFds must be a boolean value`);if(t.closeTimeout!==void 0&&(typeof t.closeTimeout!=`number`||t.closeTimeout<0))throw TypeError(`options.closeTimeout must be a non-negative integer`);if(t.loadBalancer!==void 0&&(typeof t.loadBalancer!=`function`||t.loadBalancer.length<1))throw TypeError(`options.loadBalancer must be a function with at least two args`);if(t.workerHistogram!==void 0&&typeof t.workerHistogram!=`boolean`)throw TypeError(`options.workerHistogram must be a boolean`);n(this,o,new ne(this,t),`f`)}run(e,t=ee){if(typeof t!=`object`||!t)return Promise.reject(TypeError(`options must be an object`));let{transferList:n,signal:i}=t,a=Object.prototype.hasOwnProperty.call(t,`filename`)?t.filename:null,s=Object.prototype.hasOwnProperty.call(t,`name`)?t.name:null;return n!==void 0&&!Array.isArray(n)?Promise.reject(TypeError(`transferList argument must be an Array`)):a!=null&&typeof a!=`string`?Promise.reject(TypeError(`filename argument must be a string`)):s!=null&&typeof s!=`string`?Promise.reject(TypeError(`name argument must be a string`)):i!=null&&typeof i!=`object`?Promise.reject(TypeError(`signal argument must be an object`)):r(this,o,`f`).runTask(e,{transferList:n,filename:a,name:s,signal:i})}async close(e=w){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??=w.force,r(this,o,`f`).close({force:t}))}destroy(){return r(this,o,`f`).destroy()}[(o=new WeakMap,s=new WeakMap,Symbol.dispose)](){this.close()}[Symbol.asyncDispose](){return this.close()}get maxThreads(){return r(this,o,`f`).options.maxThreads}get minThreads(){return r(this,o,`f`).options.minThreads}get options(){return r(this,o,`f`).options}get threads(){let e=[];for(let t of r(this,o,`f`).workers)e.push(t.worker);return e}get idleThreads(){let e=0;for(let t of r(this,o,`f`).workers.readyItems)t.currentUsage()===0&&e++;return e}get queueSize(){let e=r(this,o,`f`);return Math.max(e.taskQueue.size+e.skipQueue.length-e.pendingCapacity(),0)}get completed(){return r(this,o,`f`).completed}get histogram(){if(r(this,s,`f`)==null){let e={get runTime(){return this.histogram?.runTimeSummary},get waitTime(){return this.histogram?.waitTimeSummary},resetRunTime(){var e;(e=this.histogram)==null||e.resetRunTime()},resetWaitTime(){var e;(e=this.histogram)==null||e.resetWaitTime()}};Object.defineProperty(e,`histogram`,{value:r(this,o,`f`).histogram,writable:!1,enumerable:!1,configurable:!1}),n(this,s,e,`f`)}return r(this,s,`f`)}get utilization(){if(r(this,o,`f`).histogram==null)return 0;let e=r(this,o,`f`).histogram.runTimeCount;if(e===0)return 0;let t=this.duration*r(this,o,`f`).options.maxThreads;return r(this,o,`f`).histogram.runTimeSummary.mean/1e3*e/t}get duration(){return f.performance.now()-r(this,o,`f`).start}get needsDrain(){return r(this,o,`f`)._needsDrain}static get isWorkerThread(){return x.commonState.isWorkerThread}static get workerData(){return x.commonState.workerData}static get version(){return m.version}static get Piscina(){return e}static get FixedQueue(){return g.FixedQueue}static get ArrayTaskQueue(){return g.ArrayTaskQueue}static move(e){return typeof e==`object`&&e&&typeof e!=`function`&&((0,x.isTransferable)(e)||(e=d.types.isArrayBufferView(e)?new te(e):new T(e)),(0,x.markMovable)(e)),e}static get transferableSymbol(){return h.kTransferable}static get valueSymbol(){return h.kValue}static get queueOptionsSymbol(){return h.kQueueOptions}};t.default=E,t.Piscina=E,t.move=E.move,t.isWorkerThread=E.isWorkerThread,t.workerData=E.workerData})),G=t(n(((e,t)=>{t.exports=(e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}})($e()).default}))(),1),et=G.default;G.default.ArrayTaskQueue,G.default.FixedQueue,G.default.Piscina,G.default.isWorkerThread,G.default.move,G.default.queueOptionsSymbol,G.default.transferableSymbol,G.default.valueSymbol,G.default.version,G.default.workerData;var tt=class{pool;constructor(e){this.pool=new et({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()}},K=class extends Error{code;constructor(e,t){super(e),this.code=t,this.name=`MaterializationError`}};function q(e,t,n){let r=u.resolve(t)+u.sep,i=u.resolve(e);if(i!==u.resolve(t)&&!i.startsWith(r))throw new K(`${n} escapes allowed root: ${e} is not within ${t}`,`containment-violation`)}async function J(e,t,n,r){let i=r??await c.realpath(t),a;try{a=await c.realpath(e)}catch{return e}let o=i+u.sep;if(a!==i&&!a.startsWith(o))throw new K(`${n} escapes allowed root via symlink: real path ${a} is not within ${i}`,`symlink-escape`);return a}function nt(e){let t=e.indexOf(`-`);if(t===-1)throw new K(`Invalid SRI integrity format: ${e}`,`contribution-integrity-mismatch`);return{algorithm:e.slice(0,t),digest:e.slice(t+1)}}async function rt(e,t){let n=await c.readFile(e);return p.createHash(t).update(n).digest(`base64`)}const Y=new Set([`.git`,`node_modules`]);function it(e){return Y.has(e.toLowerCase())}async function at(e,t){let n=t.toLowerCase();if(!Y.has(n))return!1;if(t===n)return!0;try{let[r,i]=await Promise.all([c.lstat(u.join(e,t)),c.lstat(u.join(e,n))]);return r.dev===i.dev&&r.ino===i.ino}catch(e){if(e.code===`ENOENT`)return!1;throw e}}const ot=Y,st=new Set([`.DS_Store`]);async function ct(e,t){let n=p.createHash(t),r=[];async function i(t){let n=await c.readdir(t,{withFileTypes:!0});for(let a of n){let n=u.join(t,a.name);if(a.isSymbolicLink())throw new K(`Contribution package contains a symbolic link: ${u.relative(e,n)}`,`symlink-escape`);if(a.isDirectory()){ot.has(a.name)||await i(n);continue}if(a.isFile()){st.has(a.name)||r.push(u.relative(e,n));continue}throw new K(`Contribution package contains an unsupported filesystem entry: ${u.relative(e,n)}`,`contribution-integrity-mismatch`)}}await i(e),r.sort();for(let t of r)n.update(t.split(u.sep).join(`/`)),n.update(`\0`),n.update(await c.readFile(u.join(e,t))),n.update(`\0`);return`${t}-${n.digest(`base64`)}`}async function lt(e,t=`sha256`){let n=p.createHash(t),r=[];async function i(t){let n=await c.readdir(t,{withFileTypes:!0});for(let a of n){let n=u.join(t,a.name);if(!await at(t,a.name)){if(a.isDirectory()){await i(n);continue}if(a.isFile()){r.push(u.relative(e,n));continue}throw a.isSymbolicLink()?new K(`Workspace root contains a symbolic link: ${u.relative(e,n)}`,`symlink-escape`):new K(`Workspace root contains an unsupported filesystem entry: ${u.relative(e,n)}`,`unsupported-filesystem-entry`)}}}await i(e),r.sort();for(let t of r){n.update(t),n.update(`\0`);let r=await c.readFile(u.join(e,t));n.update(r),n.update(`\0`)}return`${t}-${n.digest(`base64`)}`}async function ut(e,t,n){let r=u.join(t,`node_modules`,e.packageName);q(r,t,`Contribution package directory`),await J(r,t,`Contribution package directory`,n);let i=u.join(r,`package.json`),a;try{a=await c.readFile(i,`utf-8`)}catch{throw new K(`Contribution package not found: ${e.packageName} (expected at ${r})`,`contribution-missing`)}let o=JSON.parse(a);if(o.name!==e.packageName)throw new K(`Contribution identity mismatch: expected ${e.packageName}, found ${o.name??`<none>`}`,`contribution-missing`);if(o.version!==e.version)throw new K(`Contribution version mismatch for ${e.packageName}: expected ${e.version}, found ${o.version??`<none>`}`,`contribution-version-mismatch`);let s=u.join(r,e.entrypoint);q(s,r,`Contribution entrypoint`),await J(s,t,`Contribution entrypoint`,n);try{await c.access(s)}catch{throw new K(`Contribution entrypoint not found for ${e.packageName}: ${e.entrypoint}`,`contribution-entrypoint-mismatch`)}let{algorithm:l}=nt(e.integrity),d;try{d=await ct(r,l)}catch(t){if(t instanceof K)throw t;let n=typeof t==`object`&&t&&`code`in t&&typeof t.code==`string`?t.code:void 0;throw n!==void 0&&!n.startsWith(`ERR_`)?new K(`Contribution package cannot be read for ${e.packageName}`,`contribution-entrypoint-mismatch`):t}if(d!==e.integrity)throw new K(`Contribution integrity mismatch for ${e.packageName}: expected ${e.integrity}, computed ${d}`,`contribution-integrity-mismatch`);return s}async function dt(e,t,n){let r=await n.resolveWorkspaceRoot(e.workspaceId);if(r===void 0)throw new K(`Unknown workspace ID: ${e.workspaceId}`,`unknown-workspace`);try{if(!(await c.stat(r)).isDirectory())throw new K(`Workspace root is not a directory: ${r}`,`containment-violation`)}catch(e){throw e instanceof K?e:new K(`Workspace root does not exist: ${r}`,`containment-violation`)}let i=await c.realpath(r),a=u.resolve(r,e.sourcePath);if(q(a,r,`Source path`),u.relative(r,a).split(u.sep).some(it))throw new K(`Workflow source path selects excluded workspace content: ${e.sourcePath}`,`source-path-mismatch`);await J(a,r,`Source path`,i);let o=await lt(r);if(o!==e.rootDigest)throw new K(`Workspace root digest mismatch: expected ${e.rootDigest}, computed ${o}`,`digest-mismatch`);try{await c.access(a)}catch{throw new K(`Workflow source file not found: ${a}`,`source-missing`)}return{workspaceRoot:r,sourcePath:a,contributionEntrypoints:await Promise.all(t.map(e=>ut(e,r,i))),platform:process.platform,arch:process.arch}}var ft=class{options;manifest;pool;constructor(e){this.options=e,this.manifest=e.manifest}async run(e,t,n){this.pool??=new tt(this.options);let r=n??this.manifest,i=await this.materializeTask(e,r,t);return{state:`uncommitted`,result:await this.pool.run(i,t)}}runWithReadiness(e,t,n){this.pool??=new tt(this.options);let r=this.pool,i,a=!1,s,c=new Promise((t,n)=>{s=n,i=r.onMessage(n=>{o(n)&&(n.executionId!==e.executionId||n.cancelSubject!==e.cancelSubject||(a=!0,i?.(),t(n)))})}),l=n??this.manifest,u=this.materializeTask(e,l,t).then(e=>r.run(e,t));return u.then(()=>{a||(a=!0,i?.(),s(Error(`Workflow worker completed before ready signal: ${e.executionId}`)))},e=>{a||(a=!0,i?.(),s(e instanceof Error?e:Error(String(e))))}),{result:u,ready:c}}async dispose(){await this.pool?.dispose()}async materializeTask(e,t,n){if(n.throwIfAborted(),!(e.source.kind===`path`||t.contributionRefs.length>0))return{config:e,manifest:t,contributionEntrypoints:[]};let r=e.materializationSpec;if(r?.kind!==`local-directory`)throw Error(`ThinWorkflowPiscinaRunner requires a local-directory materialization spec for path-backed workflows or declared contributions.`);if(this.options.resolveWorkspaceRoot===void 0)throw Error(`ThinWorkflowPiscinaRunner requires a host workspace-root resolver for local-directory materialization.`);let i=await dt(r,t.contributionRefs,{resolveWorkspaceRoot:this.options.resolveWorkspaceRoot});if(n.throwIfAborted(),e.source.kind!==`path`)throw Error(`local-directory materialization requires a path-backed workflow source.`);return{config:{...e,source:{kind:`path`,path:i.sourcePath}},manifest:t,contributionEntrypoints:i.contributionEntrypoints}}};function pt(e){return e.mode===`source`?f(e.moduleDir,`workflow-worker`,`worker-entry.ts`):f(e.moduleDir,`workflow-worker`,`worker-entry.mjs`)}var mt=class{options;constructor(e){this.options=e}async run(e,t,n,r){let i={...e,terminalAuthority:`authority`},a=n??this.options.manifest,o=this.options.requirements,s=r?.dispatchMetadata;return Oe({authority:this.options.authority,executionId:e.executionId,dispatch:e=>this.options.dispatch({executionAttemptId:e,config:i,...a!==void 0&&{manifest:a},...o!==void 0&&{requirements:o},...s!==void 0&&{metadata:s}},t)})}},ht=class{#e;constructor(e){this.#e=e.bus}async run(e,t,n){let r=te.parse(e),i=await a(r);return{state:`uncommitted`,result:await ke({config:await s(r,i,this.#e,t),loaded:i,bus:this.#e,signal:t})}}};function gt(){return{contributionRefs:[]}}function _t(e){if(e.workflowRunner?.mode===`worker-node`&&!e.executionAttemptRepository)throw Error(`WorkerNode dispatch mode requires an ExecutionAttemptRepository. Pass 'executionAttemptRepository' to createNodeWorkflowRunnerPackageOptions when workflowRunner.mode is 'worker-node'.`);let t=e.executionAttemptRepository?new De(e.executionAttemptRepository):void 0,n=d(e.runtimeModuleDir)===`src`?`source`:`dist`,r=vt({moduleDir:e.runtimeModuleDir,defaultWorkerEntryMode:n,runner:e.workflowRunner,bus:e.bus,authority:t});return{...r!==void 0&&{workflowRunner:r},executorConfig:{busUrl:e.busUrl,busAuth:{kind:`none`},platformDefaults:e.platformDefaults,makaioHome:e.makaioHome},...e.executionAttemptRepository!==void 0&&{executionAttemptRepository:e.executionAttemptRepository},...t!==void 0&&{executionAttemptAuthority:t},...e.workflowMaterializationSpecResolvers!==void 0&&{workflowMaterializationSpecResolvers:e.workflowMaterializationSpecResolvers}}}function vt(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 ht({bus:e.bus});case`worker-node`:{if(e.authority===void 0)throw Error(`WorkerNodeRunner requires an ExecutionAttemptAuthority. Pass 'authority' to createNodeWorkflowRunner when runner.mode is 'worker-node'.`);let n=e.bus,r=t.dispatch??(n===void 0?void 0:(e,t)=>n.request(w.dispatch,{executionAttemptId:e.executionAttemptId,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 mt({dispatch:r,authority:e.authority,...t.manifest!==void 0&&{manifest:t.manifest},...t.requirements!==void 0&&{requirements:t.requirements}})}case`piscina`:return new ft({workerEntry:t.workerEntry??pt({moduleDir:e.moduleDir,mode:t.workerEntryMode??e.defaultWorkerEntryMode}),manifest:t.manifest??gt(),...t.resolveWorkspaceRoot!==void 0&&{resolveWorkspaceRoot:t.resolveWorkspaceRoot},maxConcurrency:t.maxConcurrency,idleTimeoutMs:t.idleTimeoutMs})}}const yt=new Set([`accepted`,`duplicate`]);var X=class extends Error{decision;result;reason;constructor(e,t,n=`authority-rejected`){super(`Outcome delivery ${n===`deadline-exceeded`?`deadline exceeded`:`rejected by Authority`} (decision=${e}, executionId=${t.executionId}, status=${t.status})`),this.decision=e,this.result=t,this.reason=n,this.name=`OutcomeDeliveryError`}};function Z(e){return new X(`deadline-exceeded`,e,`deadline-exceeded`)}function bt(e){let t={maxRetries:e?.maxRetries??7,baseDelayMs:e?.baseDelayMs??1e3,maxDelayMs:e?.maxDelayMs??3e4,deadlineMs:e?.deadlineMs??12e4};if(!Number.isSafeInteger(t.maxRetries)||t.maxRetries<0)throw TypeError(`Outcome submission maxRetries must be a non-negative safe integer, got ${t.maxRetries}`);for(let[e,n]of Object.entries({baseDelayMs:t.baseDelayMs,maxDelayMs:t.maxDelayMs,deadlineMs:t.deadlineMs}))if(!Number.isFinite(n)||n<=0)throw TypeError(`Outcome submission ${e} must be a positive finite number, got ${n}`);return t}async function xt(e,t,n,r){let i=t.baseDelayMs*2**(e-1),a=n-Date.now(),o=Math.min(i,t.maxDelayMs,a);await new Promise(e=>setTimeout(e,o));let s=n-Date.now();if(s<=0)return!1;if(r!==void 0){let e;try{await Promise.race([r(),new Promise(t=>{e=setTimeout(t,s)})])}catch{}finally{e!==void 0&&clearTimeout(e)}}return Date.now()<n}async function Q(e,t,n){let r=bt(n?.retry),i=n?.reconnect,a=Date.now()+r.deadlineMs,o;for(let n=0;n<=r.maxRetries;n++){if(a-Date.now()<=0||n>0&&!await xt(n,r,a,i))throw Z(t.result);try{let n=a-Date.now();if(n<=0)throw Z(t.result);let{decision:r}=await e.request(w.control.outcome.submit,{executionAttemptId:t.executionAttemptId,executionId:t.executionId,result:t.result},{timeout:n});if(yt.has(r))return r;throw new X(r,t.result)}catch(e){if(e instanceof X)throw e;if(o=e,Date.now()>=a)throw Z(t.result)}}throw o??Z(t.result)}const St={maxRetries:3,baseDelayMs:200,maxDelayMs:2e3,deadlineMs:1e4},Ct={persistentStorage:!0,customCapabilities:[`workflow.local-runtime`,`workflow.thin-runner`],suspensionStrategy:`wait-in-process`,supportsRecovery:!1,materializationModes:[`local-directory`]};function wt(e){let t=new Set,n;return{conclude:r=>{if(n!==void 0)return;n={evidence:v.parse({source:e.slice(0,C.source),summary:r.slice(0,C.summary),observedAt:new Date().toISOString()})};let i=[...t];t.clear();for(let e of i)try{e(n)}catch(e){console.error(`[PiscinaThinWorkflowProvider] Infrastructure-conclusion observer failed:`,e)}},observe:e=>n===void 0?(t.add(e),()=>t.delete(e)):(e(n),()=>void 0)}}var Tt=class{executionAttemptId;controller;detachCallerAbort;infrastructure;constructor(e,t,n,r){this.executionAttemptId=e,this.controller=t,this.detachCallerAbort=n,this.infrastructure=r}cancel(e){return this.controller.abort(e??`WorkerNode cancelled`),this.detachCallerAbort(),Promise.resolve()}terminate(){return this.controller.abort(`WorkerNode terminated`),this.detachCallerAbort(),Promise.resolve()}release(){return this.detachCallerAbort(),Promise.resolve()}observeInfrastructureConclusion(e){return this.infrastructure.observe(e)}},Et=class{options;environment=`piscina`;allocationLifetime=`provisioner-process-bound`;baseCapabilities;constructor(e){this.options=e,this.baseCapabilities=ee.parse({...Ct,...e.baseCapabilities,suspensionStrategy:e.baseCapabilities?.suspensionStrategy??Ct.suspensionStrategy,supportsRecovery:!1})}get id(){return this.options.id}get displayName(){return this.options.displayName}async provision(e,t){t.throwIfAborted();let n=new AbortController,r=wt(this.id),i=()=>{n.abort(t.reason)};t.addEventListener(`abort`,i,{once:!0});let a=()=>t.removeEventListener(`abort`,i);try{let{executionAttemptId:i,executionId:o,workerConfig:s}=e,c=this.buildAllocationRef(i),l=new Tt(i,n,a,r);t.throwIfAborted();let u=this.options.runner.runWithReadiness(e.workerConfig,n.signal,e.workerManifest);return u.ready.then(async e=>{n.signal.aborted||await this.options.bus.emit(w.control[`attempt-ready`],{executionAttemptId:i,executionId:o,adapters:[...e.adapters]})},()=>void 0).catch(e=>n.abort(e)),this.submitOutcomeOnSettlement(u.result,o,i,s.workflowId,r.conclude),{kind:`allocated`,allocationRef:c,handle:l}}catch(e){throw n.abort(e),a(),e}}async submitOutcomeOnSettlement(e,t,n,r,i){let a;try{a=await e}catch(e){a={executionId:t,workflowId:r,status:`failed`,error:e instanceof Error?e.message:String(e)}}try{let e={...St,...this.options.outcomeRetry};await Q(this.options.bus,{executionAttemptId:n,executionId:t,result:a},{retry:e})}catch(e){e instanceof X?console.error(`[PiscinaThinWorkflowProvider] Outcome rejected for execution '${t}' attempt '${n}' (decision=${e.decision}):`,e):console.error(`[PiscinaThinWorkflowProvider] Failed to submit outcome for execution '${t}' attempt '${n}':`,e),i(`Piscina worker for attempt '${n}' ended without an acknowledged outcome because outcome submission could not be completed`)}}buildAllocationRef(e){let t={version:x,providerId:this.id,providerData:{executionAttemptId:e,allocatedAt:Date.now()}};return S.parse(t)}};const Dt=[ye,ge,ve];function Ot(e){let t;return()=>(t??=(async()=>{let t=[];for(let n of[...e].reverse())try{await n()}catch(e){t.push(e)}if(t.length===1)throw t[0];if(t.length>1)throw AggregateError(t,`Isolated workflow runtime shutdown reported errors`)})(),t)}async function kt(e){let t=h();t.registerNamespaces([...y,...b]);let{context:n}=e,r=new E(t,{surface:`headless`,extensionContextBase:{cwd:n.cwd,platform:n.platform,homedir:n.homedir,makaioHome:n.makaioHome,username:n.username,machineId:n.machineId,tryImport:N}}),i,a=[()=>t.disconnect()],o=Ot(a);try{await e.connectAuthority(t);let s=[...e.contributedPackages,...await e.loadContributedPackages?.(t)??[]],{adapterSubsystemPackage:c}=A({coordinator:r,configRepository:e.configRepository,platformDefaults:{cwd:n.cwd},runtimeSnapshotHandlerPriority:1,runtimeDefinitionHandlerPriority:1,...e.prepareAuthRuntime!==void 0&&{prepareAuthRuntime:e.prepareAuthRuntime}}),l=xe({definitions:s.flatMap(e=>e.clients??[]),binaryResolutionPolicy:`global-only`});r.registerContributionProcessor(he());let u=[...Dt,c,pe,...B(s)?[_e]:[],me(1),be,I,l,...Te(s)];r.load(u),a.push(...V(u,t,r)),a.push(()=>r.shutdown()),await r.startAll(),i=j({bus:t,currentMachineId:n.machineId}),a.push(()=>{i?.cleanup(),i=void 0});let d=r.getExtensionService(fe);if(d===void 0)throw Error(`Isolated workflow tool registry did not start.`);for(let t of e.toolsets)await d.register(t);return await t.emit(re.ready,{machineId:n.machineId}),{bus:t,coordinator:r,machineId:n.machineId,shutdown:o}}catch(e){throw await o().catch(()=>void 0),e}}function At(e,t){return{executionId:e,workflowId:t,status:`cancelled`,reason:`Execution cancelled`}}async function $(e,t,n){let r=new AbortController,i=e.on(ne(t),()=>{r.abort()}),a=()=>{r.abort()};return n?.addEventListener(`abort`,a,{once:!0}),n?.aborted&&r.abort(),await g(i),{signal:r.signal,cleanup:()=>{n?.removeEventListener(`abort`,a),i()}}}function jt(e,t){let n=r();return{cwd:e.workspaceRoot,platform:e.platform,homedir:n,makaioHome:n,username:`workflow-worker`,machineId:t}}async function Mt(e,t,n,r,i,a){return await kt({connectAuthority:async n=>{await e.connectBus(n,t,i)},contributedPackages:[...r],configRepository:e.configRepository,context:jt(n,a),toolsets:[...e.toolsets],...e.prepareAuthRuntime!==void 0&&{prepareAuthRuntime:e.prepareAuthRuntime}})}async function Nt(e,t,n){let{executionId:r,executionAttemptId:i}=e,a=At(r,n);return{result:a,decision:await Q(t,{executionAttemptId:i,executionId:r,result:a},{retry:e.outcomeRetry,reconnect:()=>t.reconnect()})}}async function Pt(e,t,n,r,i){let{executionId:a,executionAttemptId:o}=e,s;try{s=await e.execute(t.bus,n,r,i)}catch(e){s=i.aborted&&e instanceof DOMException&&e.name===`AbortError`?At(a,n.workflowId):{executionId:a,workflowId:n.workflowId,status:`failed`,error:e instanceof Error?e.message:String(e)}}let c=await Q(t.bus,{executionAttemptId:o,executionId:a,result:s},{retry:e.outcomeRetry,reconnect:()=>t.bus.reconnect()});if(e.onPostCommit!==void 0)try{await e.onPostCommit(s,c)}catch{}return{result:s,decision:c}}async function Ft(e,t,n,r,i,a){let o=await $(n,r.cancelSubject),s=AbortSignal.any([i,o.signal]),c=s,l,u,d;try{s.throwIfAborted();let f=await e.materialize(r,s),p=f.context;d=f.cleanup,s.throwIfAborted();let m=await e.loadContributions(p,s);s.throwIfAborted(),l=await Mt(e,t,p,m,s,a),u=await $(l.bus,r.cancelSubject,o.signal),o.cleanup(),n.disconnect();let h=AbortSignal.any([i,u.signal]);c=h,h.throwIfAborted();let{adapters:g}=await l.bus.request(O.listAdapters,{});return h.throwIfAborted(),await l.bus.emit(w.control[`attempt-ready`],{executionAttemptId:e.executionAttemptId,executionId:e.executionId,adapters:g.map(e=>e.name)}),await Pt(e,l,r,p,h)}catch(t){if(!(c.aborted&&t instanceof DOMException&&t.name===`AbortError`))throw t;return await Nt(e,l?.bus??n,r.workflowId)}finally{o.cleanup(),u?.cleanup(),l!==void 0&&await l.shutdown().catch(()=>void 0),d!==void 0&&await d().catch(()=>void 0)}}async function It(e,t){t.throwIfAborted();let n=await e.bootstrap(t);t.throwIfAborted();let r=h();r.registerNamespaces([...y,...b]);try{return await e.connectBus(r,n,t),await Ft(e,n,r,await r.request(T.getRunContext,{executionId:e.executionId},{signal:t}),t,`headless-worker-${e.executionAttemptId}`)}finally{try{r.disconnect()}catch{}}}export{I as A,L as C,R as D,V as E,k as F,N as M,j as N,ze as O,A as P,Le as S,Ue as T,lt as _,X as a,nt as b,_t as c,pt as d,ft as f,ct as g,J as h,yt as i,M as j,He as k,ht as l,q as m,kt as n,Q as o,K as p,Et as r,vt as s,It as t,mt as u,rt as v,Re as w,ut as x,dt as y};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@makaio/framework",
3
- "version": "1.0.0-dev-1787670071418",
3
+ "version": "1.0.0-dev-1787670559522",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/makaio-ai/makaio-framework.git",
@@ -9,9 +9,6 @@
9
9
  "description": "Typed, bus-centric framework for building and orchestrating AI agents with tools, sessions, and events",
10
10
  "license": "MIT",
11
11
  "type": "module",
12
- "engines": {
13
- "node": ">=22.15.0"
14
- },
15
12
  "files": [
16
13
  "dist",
17
14
  "LICENSE",
@@ -29,8 +26,6 @@
29
26
  "execa": "^9.5.2",
30
27
  "glob": "13.0.6",
31
28
  "hono": "^4.12.23",
32
- "piscina": "^5.1.4",
33
- "tsx": "^4.22.3",
34
29
  "type-fest": "^5.2.0",
35
30
  "ws": "^8.21.0",
36
31
  "zod": "4.4.3"
@@ -116,10 +111,6 @@
116
111
  "types": "./dist/contracts/client/index.d.mts",
117
112
  "default": "./dist/contracts/client/index.mjs"
118
113
  },
119
- "./contracts/code-execution": {
120
- "types": "./dist/contracts/code-execution/index.d.mts",
121
- "default": "./dist/contracts/code-execution/index.mjs"
122
- },
123
114
  "./contracts/common": {
124
115
  "types": "./dist/contracts/common/index.d.mts",
125
116
  "default": "./dist/contracts/common/index.mjs"
@@ -244,10 +235,6 @@
244
235
  "types": "./dist/services/capability/index.d.mts",
245
236
  "default": "./dist/services/capability/index.mjs"
246
237
  },
247
- "./services/code-execution": {
248
- "types": "./dist/services/code-execution/index.d.mts",
249
- "default": "./dist/services/code-execution/index.mjs"
250
- },
251
238
  "./services/materialization": {
252
239
  "types": "./dist/services/materialization/index.d.mts",
253
240
  "default": "./dist/services/materialization/index.mjs"
@@ -532,10 +519,6 @@
532
519
  "types": "./dist/runtime-node/workflow-worker/worker-entry.d.mts",
533
520
  "default": "./dist/runtime-node/workflow-worker/worker-entry.mjs"
534
521
  },
535
- "./runtime-node/code-execution": {
536
- "types": "./dist/runtime-node/code-execution/index.d.mts",
537
- "default": "./dist/runtime-node/code-execution/index.mjs"
538
- },
539
522
  "./runtime-bun": {
540
523
  "types": "./dist/runtime-bun/index.d.mts",
541
524
  "default": "./dist/runtime-bun/index.mjs"
@@ -1 +0,0 @@
1
- import{D as e,E as t,T as n,c as r,d as i,f as a,g as o,h as s,k as c,l,m as u,o as d,p as f,s as p,t as m,u as h,v as g,wn as _,y as v}from"./schemas-_2Syo_01.mjs";import"./compression-CtgeVLpP.mjs";import"./provider-context-zTDSH2x9.mjs";import"./contracts/adapter/schemas/session-lineage.mjs";import{createBusNamespace as y}from"@makaio/framework/core";const b={getCapabilities:_,startAgent:c,infer:e,listAgents:t,getAgent:n,stopAgent:v,rehydrateAgent:g,acknowledgeCallerSettlement:o,getConfigSchema:s,"agent.created":u,"session.created":f,"session.discovered":m,"session.usage":a,"session.closed":i,log:h,error:l,initialized:r,deinitialized:p,quota:d},x=y(`adapter`,b),S=x.subjects;export{S as n,b as r,x as t};
@@ -1 +0,0 @@
1
- var e=class extends Error{code;dispatch;sessionStatus;constructor(e,t,n,r,i){super(t,r),this.code=e,this.dispatch=n,this.sessionStatus=i,this.name=`AttachStartError`}},t=class extends Error{stage;constructor(e,t){super(t instanceof Error?t.message:String(t),{cause:t}),this.stage=e,this.name=`SessionAgentAttachError`}};function n(e){let n=e,r=new Set;for(;n instanceof Error&&!r.has(n);){if(n instanceof t)return n;r.add(n),n=n.cause}}export{t as n,n as r,e as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./bus-D6NoBhIV.mjs";export{e as MakaioBus};
@@ -1 +0,0 @@
1
- import{a as e}from"./ownership-recovery-guard-DyW5vGBr.mjs";import{AdapterSubjects as t}from"@makaio/framework/contracts";function n(e){return{ownerInstanceId:e.ownerInstanceId??`test-owner-instance`,settlementAckToken:`test-ack-${e.agentId??crypto.randomUUID()}`}}function r(n){return n.on(t.acknowledgeCallerSettlement,async t=>{if(t.payload.recovery===!0){t.setResult({acknowledged:!0});return}let r=await n.requestOptional(e.updateStatus,{agentId:t.payload.agentId,status:`idle`,expectedStatus:[`starting`,`dead`]});if(!r.handled){t.setResult({acknowledged:!0});return}t.setResult(r.data.success&&r.data.transitioned?{acknowledged:!0}:{acknowledged:!1,reason:`status-refused`})})}export{r as n,n as t};
@@ -1 +0,0 @@
1
- import{n as e}from"./capability-j3NekkIu.mjs";import"./worker-node-CjuQb9hl.mjs";import{z as t}from"zod";import{createBusNamespace as n}from"@makaio/framework/core";const r=`autoLaunch`;function ee(t,n){t.emit(e.register,{capabilityId:r,provider:n})}const i=`server`;function te(t,n){return t.emit(e.register,{capabilityId:i,provider:n})}function ne(t,n){return t.emit(e.unregister,{capabilityId:i,providerId:n})}const a=t.object({id:t.number(),state:t.enum([`error`,`failure`,`pending`,`success`]),description:t.string().nullable(),targetUrl:t.string().url().nullable(),context:t.string(),createdAt:t.string().datetime(),updatedAt:t.string().datetime(),creator:t.string().nullable()}),o=t.object({id:t.number(),author:t.string(),body:t.string(),path:t.string().nullable(),line:t.number().nullable(),diffHunk:t.string().nullish(),createdAt:t.string(),updatedAt:t.string(),inReplyToId:t.number().nullable(),threadId:t.string().nullish(),isResolved:t.boolean().nullish()}),re=t.object({provider:t.string(),owner:t.string(),repo:t.string(),url:t.string(),defaultBranch:t.string().optional()}),s=t.object({id:t.string(),number:t.number(),title:t.string(),state:t.enum([`open`,`closed`,`merged`]),draft:t.boolean(),author:t.string(),branch:t.string(),baseBranch:t.string(),url:t.string(),createdAt:t.string(),updatedAt:t.string(),mergedAt:t.string().nullable(),additions:t.number().optional(),deletions:t.number().optional(),changedFiles:t.number().optional(),commentCount:t.number().optional(),reviewCount:t.number().optional(),head:t.object({ref:t.string(),sha:t.string()}).nullish()}),c=t.object({id:t.number(),author:t.string(),state:t.enum([`APPROVED`,`CHANGES_REQUESTED`,`COMMENTED`,`PENDING`,`DISMISSED`]),body:t.string().nullable(),submittedAt:t.string().nullable()}),ie=s.extend({body:t.string().nullable(),reviews:t.array(c),labels:t.array(t.string()),assignees:t.array(t.string()),requestedReviewers:t.array(t.string()),mergeable:t.boolean().nullable(),mergeableState:t.string().optional()}),ae=t.object({id:t.number(),name:t.string(),status:t.enum([`queued`,`in_progress`,`completed`]),conclusion:t.enum([`success`,`failure`,`neutral`,`cancelled`,`skipped`,`timed_out`,`action_required`]).nullable(),startedAt:t.string().nullable(),completedAt:t.string().nullable(),url:t.string(),workflowName:t.string().optional(),jobName:t.string().optional()}),oe=t.object({ref:t.string(),sha:t.string()}).nullish(),l=t.object({id:t.string(),number:t.number(),title:t.string(),state:t.enum([`open`,`closed`,`merged`]),draft:t.boolean(),author:t.string(),branch:t.string(),baseBranch:t.string(),url:t.string(),createdAt:t.string(),updatedAt:t.string(),mergedAt:t.string().nullable(),head:oe}),u=l.extend({additions:t.number().optional(),deletions:t.number().optional(),changedFiles:t.number().optional(),commentCount:t.number().optional(),reviewCount:t.number().optional()}),d={"repository.get":{request:t.object({repoPath:t.string()}),response:t.object({repository:t.object({provider:t.string(),owner:t.string(),repo:t.string(),url:t.string(),defaultBranch:t.string().optional()}).nullable()})},"pr.list":{request:t.object({repoPath:t.string(),branch:t.string()}),response:t.object({pullRequests:t.array(u)})},"pr.get":{request:t.object({repoPath:t.string(),prNumber:t.number()}),response:t.object({pullRequest:u.extend({body:t.string().nullable(),reviews:t.array(t.object({id:t.number(),author:t.string(),state:t.enum([`APPROVED`,`CHANGES_REQUESTED`,`COMMENTED`,`PENDING`,`DISMISSED`]),body:t.string().nullable(),submittedAt:t.string().nullable()})),labels:t.array(t.string()),assignees:t.array(t.string()),requestedReviewers:t.array(t.string()),mergeable:t.boolean().nullable(),mergeableState:t.string().optional()}).nullable()})},"pr.listForFile":{request:t.object({repoPath:t.string(),filePath:t.string()}),response:t.object({pullRequests:t.array(l)})},"checks.get":{request:t.object({repoPath:t.string(),commitSha:t.string()}),response:t.object({checks:t.array(t.object({id:t.number(),name:t.string(),status:t.enum([`queued`,`in_progress`,`completed`]),conclusion:t.enum([`success`,`failure`,`neutral`,`cancelled`,`skipped`,`timed_out`,`action_required`]).nullable(),startedAt:t.string().nullable(),completedAt:t.string().nullable(),url:t.string(),workflowName:t.string().optional(),jobName:t.string().optional()}))})},"statuses.get":{request:t.object({repoPath:t.string(),commitSha:t.string()}),response:t.object({statuses:t.array(a)})},"comments.list":{request:t.object({repoPath:t.string(),prNumber:t.number()}),response:t.object({comments:t.array(o)})},"comments.reply":{request:t.object({repoPath:t.string(),prNumber:t.number(),commentId:t.number(),body:t.string()}),response:t.object({comment:o})},"comments.create":{request:t.object({repoPath:t.string(),prNumber:t.number(),path:t.string(),line:t.number(),commitId:t.string(),body:t.string(),side:t.enum([`LEFT`,`RIGHT`]).optional()}),response:t.object({comment:o})},"comments.resolveThread":{request:t.object({repoPath:t.string(),prNumber:t.number(),threadId:t.string()}),response:t.object({success:t.boolean()})},"capability.write":{request:t.object({repoPath:t.string()}),response:t.object({canWrite:t.boolean(),level:t.enum([`none`,`read`,`triage`,`write`,`maintain`,`admin`])})}},f=n(`vcs`,d),se=f.subjects,p=n(`vcs:events`,{"comment.created":t.object({repoPath:t.string(),prNumber:t.number(),commentId:t.number()}),"thread.resolved":t.object({repoPath:t.string(),prNumber:t.number(),threadId:t.string()})}),ce=p.subjects,le=`vcs`;function ue(t,n){return t.emit(e.register,{capabilityId:`vcs`,provider:n})}function de(t,n){return t.emit(e.unregister,{capabilityId:`vcs`,providerId:n})}const m=t.enum([`open`,`addressed`,`verified`,`dismissed`,`deferred`]),h=t.enum([`critical`,`major`,`minor`,`nitpick`]),g=t.enum([`inline`,`review-body`,`issue-comment`,`cli-output`,`agent`]),_=t.object({file:t.string(),oldCode:t.string(),newCode:t.string()}),v=t.object({repository:t.string(),prNumber:t.number().optional(),branch:t.string().optional(),headSha:t.string().optional()}),y=t.object({id:t.string(),target:v,sourceId:t.string(),reviewer:t.string(),origin:g,threadId:t.string().nullable(),severity:h,file:t.string().nullable(),startLine:t.number().nullable(),endLine:t.number().nullable(),message:t.string(),agentPrompt:t.string().nullable(),suggestedChanges:t.array(_),status:m,addressedBy:t.string().nullable(),addressedAt:t.number().nullable(),verifiedAt:t.number().nullable(),dismissedReason:t.string().nullable(),createdAt:t.number(),updatedAt:t.number(),rawCommentId:t.number().nullable()}),b=t.object({sourceId:t.string(),remaining:t.number(),limit:t.number(),resetsAt:t.number(),lastUpdatedAt:t.number()}),fe=t.object({id:t.union([t.number(),t.string()]),author:t.string(),body:t.string(),url:t.string().nullable(),createdAt:t.string().nullable(),updatedAt:t.string().nullable()}),x={"source.registered":t.object({sourceId:t.string(),reviewer:t.string(),displayName:t.string()}),"source.list":{request:t.object({}),response:t.object({sources:t.array(t.object({sourceId:t.string(),reviewer:t.string(),displayName:t.string(),capabilities:t.object({canTrigger:t.boolean(),canFetch:t.boolean(),isPush:t.boolean()}),processorKey:t.string().nullable(),shadowedProcessors:t.array(t.string()).optional()})),rateLimits:t.array(b)})},start:{request:t.object({target:v,repoPath:t.string(),sourceId:t.string().optional()}),response:t.object({triggered:t.boolean(),estimatedDelayMs:t.number().optional(),rateLimit:b.nullable()})},started:t.object({target:v,sourceId:t.string()}),"findings.fetch":{request:t.object({target:v,repoPath:t.string()}),response:t.object({findings:t.array(y),created:t.number(),updated:t.number()})},"findings.list":{request:t.object({target:v,status:m.optional()}),response:t.object({findings:t.array(y)})},"findings.arrived":t.object({target:v,sourceId:t.string().min(1),reviewer:t.string().min(1),created:t.number().int().nonnegative(),updated:t.number().int().nonnegative()}),"findings.submit":{request:t.object({finding:y.omit({createdAt:!0,updatedAt:!0,verifiedAt:!0,addressedAt:!0,addressedBy:!0}).extend({createdAt:t.number().optional(),updatedAt:t.number().optional()})}),response:t.object({finding:y})},"finding.updateStatus":{request:t.object({findingId:t.string(),target:v,status:m,reason:t.string().optional(),addressedBy:t.string().optional()}),response:t.object({success:t.boolean(),finding:y})},"finding.statusChanged":t.object({finding:y,previousStatus:m}),"source.rateLimitChanged":t.object({rateLimit:b})},pe=n(`review`,x),me=pe.subjects,S=`review-source`,C=`reviewer-processor`;function he(t,n){return t.emit(e.register,{capabilityId:S,provider:n})}function ge(t,n){return t.emit(e.unregister,{capabilityId:S,providerId:n})}function _e(t,n){return t.emit(e.register,{capabilityId:C,provider:n})}function ve(t,n){return t.emit(e.unregister,{capabilityId:C,providerId:n})}const w=t.object({image:t.string(),prompt:t.string().optional()}),T=t.object({description:t.string(),confidence:t.number().min(0).max(1).optional()}),E={analyze:{request:w,response:T}},D=n(`vision`,E),ye=D.subjects,O=t.object({text:t.string(),language:t.string(),confidence:t.number().optional()}),k=t.enum([`idle`,`recording`,`transcribing`,`synthesizing`,`error`]),A=t.object({runtime:t.enum([`server`,`client`]),providerId:t.string(),providerName:t.string()}),j=t.object({stt:A,tts:A}),M={"session.start":{request:t.object({sessionId:t.string()}),response:t.discriminatedUnion(`audioTransport`,[t.object({audioTransport:t.literal(`none`),strategy:j}),t.object({audioTransport:t.literal(`ws`),audioWsUrl:t.string().url(),bindToken:t.string(),strategy:j})])},"session.stop":{request:t.object({sessionId:t.string()}),response:t.object({})},transcription:O.extend({sessionId:t.string(),messageId:t.string().optional()}),"synthesis.start":t.object({sessionId:t.string(),messageId:t.string().optional()}),"synthesis.end":t.object({sessionId:t.string(),messageId:t.string().optional()}),status:t.object({sessionId:t.string(),state:k})},be=t.object({stt:t.string(),tts:t.string()}),N=n(`voice`,M),xe=N.subjects,P=t.enum([`priority`,`status`,`type`,`size`,`review`,`automation`,`custom`]),F=t.object({name:t.string(),semantic:P.nullable()}),Se=t.object({id:t.number().int().nonnegative(),name:t.string(),workflowName:t.string(),conclusion:t.string(),failedStep:t.string().nullable(),detailsUrl:t.string().url().nullable(),completedAt:t.string().datetime().nullable(),source:t.enum([`check-run`,`commit-status`])}),I=t.object({status:t.enum([`pending`,`passing`,`failing`,`mixed`]),total:t.number().int().nonnegative(),passed:t.number().int().nonnegative(),failed:t.number().int().nonnegative(),pending:t.number().int().nonnegative(),skipped:t.number().int().nonnegative(),failedChecks:t.array(Se),summary:t.string()}),L=t.object({reviewer:t.string(),state:t.enum([`APPROVED`,`CHANGES_REQUESTED`,`COMMENTED`,`PENDING`,`DISMISSED`]),submittedAt:t.string().datetime().nullable()}),R=t.object({status:t.enum([`pending`,`approved`,`changes-requested`]),approvals:t.number().int().nonnegative(),changesRequested:t.number().int().nonnegative(),commented:t.number().int().nonnegative(),reviewers:t.array(L),summary:t.string()}),z=t.object({total:t.number().int().nonnegative(),open:t.number().int().nonnegative(),addressed:t.number().int().nonnegative(),verified:t.number().int().nonnegative(),dismissed:t.number().int().nonnegative(),openBySeverity:t.object({critical:t.number().int().nonnegative(),major:t.number().int().nonnegative(),minor:t.number().int().nonnegative(),nitpick:t.number().int().nonnegative()}),summary:t.string()}),B=t.object({status:t.enum([`ready`,`blocked`,`needs-attention`]),blockers:t.array(t.string()),warnings:t.array(t.string())}),V=t.object({repository:t.string(),number:t.number().int().positive(),title:t.string(),branch:t.string(),baseBranch:t.string(),author:t.string(),url:t.string().url(),state:t.enum([`open`,`closed`,`merged`]),draft:t.boolean(),mergeable:t.boolean().nullable(),checks:I,reviews:R,findings:z,labels:t.array(F),readiness:B,syncedAt:t.number().int().nonnegative(),headSha:t.string()}),H=v.extend({prNumber:t.number().int().positive()}),U={get:{request:t.object({repoPath:t.string(),prNumber:t.number().int().positive()}),response:t.object({pr:V})},list:{request:t.object({repoPath:t.string(),branch:t.string().optional()}),response:t.object({prs:t.array(V)})},refresh:{request:t.object({repoPath:t.string(),prNumber:t.number().int().positive()}),response:t.object({pr:V})},stateChanged:t.object({target:H,pr:V}),conflicted:t.object({target:H}),"checks.changed":t.object({target:H,checks:I}),"reviews.changed":t.object({target:H,reviews:R}),"labels.changed":t.object({target:H,labels:t.array(F)})},W=n(`vcs:pr`,U),Ce=W.subjects,G=t.enum([`commit`,`checkout`,`merge`,`rebase`]),K=t.object({oldHash:t.string().min(1),newHash:t.string().min(1)}),q=t.object({repoPath:t.string().min(1),squash:t.boolean(),targetBranch:t.string().min(1).optional(),currentHead:t.string().min(1).optional(),timestamp:t.string()}),J=t.object({repoPath:t.string().min(1),command:t.string().min(1),rewritten:t.array(K),branch:t.string().min(1).optional(),timestamp:t.string()}),Y=t.enum([`covered`,`not-installed`,`hook-missing`,`hook-not-executable`,`state-missing`,`state-mismatch`,`unsupported-operation`,`provider-unavailable`]),X=t.object({repoPath:t.string().min(1),operation:G,worktree:t.string().optional()}),Z=t.object({covered:t.boolean(),reason:Y,coveredOperations:t.array(G)}),Q={coverage:{request:X,response:Z},merge:q,rewrite:J},we=n(`gitHook`,Q),Te=we.subjects,$=`git-hook-events`;function Ee(t,n){return t.emit(e.register,{capabilityId:$,provider:n})}function De(t,n){return t.emit(e.unregister,{capabilityId:$,providerId:n})}export{fe as $,A,C as B,B as C,N as D,U as E,D as F,ve as G,he as H,ye as I,g as J,pe as K,w as L,be as M,M as N,xe as O,k as P,y as Q,T as R,H as S,ee as St,R as T,_e as U,S as V,ge as W,m as X,h as Y,v as Z,I as _,a as _t,Te as a,de as at,P as b,i as bt,Z as c,f as ct,J as d,ae as dt,x as et,K as f,ie as ft,Se as g,o as gt,Ce as h,re as ht,we as i,ue as it,j,O as k,G as l,se as lt,W as m,c as mt,Ee as n,_ as nt,Y as o,ce as ot,Q as p,s as pt,me as q,De as r,le as rt,X as s,p as st,$ as t,b as tt,q as u,d as ut,z as v,te as vt,L as w,V as x,r as xt,F as y,ne as yt,E as z};
@@ -1 +0,0 @@
1
- import{z as e}from"zod";import{createBusNamespace as t}from"@makaio/framework/core";const n=e.object({id:e.string(),displayName:e.string(),providerKey:e.string().optional()}),r=e.object({id:e.string(),valid:e.boolean(),error:e.string().optional()}),i=e.object({capabilityId:e.string(),provider:e.unknown()}),a=e.object({capabilityId:e.string(),providerId:e.string()}),o=t(`capability`,{listProviders:{request:e.object({capabilityId:e.string()}),response:e.object({providers:e.array(n)})},validate:{request:e.object({capabilityId:e.string()}),response:e.object({results:e.array(r)})},register:i,unregister:a}),s=o.subjects;export{s as n,o as t};
@@ -1,21 +0,0 @@
1
- import { l as CodeExecutionWorkerOutcome, u as CodeExecutionWorkerTask } from "../types-DnK6Wa_Y.mjs";
2
-
3
- //#region runtimes/node/src/code-execution/worker-entry.d.ts
4
- /**
5
- * Execute one materialized program invocation inside a Piscina worker thread.
6
- *
7
- * Registers this invocation's import allowlist and a scoped TypeScript loader,
8
- * reaches the program's entry namespace through the generated module the
9
- * materializer wrote for it, invokes the requested export with the JSON
10
- * argument, validates the returned value, and always removes both registrations
11
- * before returning.
12
- *
13
- * Both registrations are keyed to this invocation alone — the allowlist to its
14
- * program root, the loader to its namespace — so a worker thread serving
15
- * invocations in sequence never lets one invocation's rules decide another's.
16
- * @param task - Structured-clone-safe task describing this invocation.
17
- * @returns Clone-safe outcome envelope for the host thread.
18
- */
19
- declare function executeCodeInWorker(task: CodeExecutionWorkerTask): Promise<CodeExecutionWorkerOutcome>;
20
- //#endregion
21
- export { executeCodeInWorker as default, executeCodeInWorker };
@@ -1 +0,0 @@
1
- import{f as e,h as t,l as n,m as r}from"../types-Cwza95hS.mjs";import{builtinModules as i,registerHooks as a}from"node:module";import{JsonValueSchema as o,snapshotJsonBoundary as s}from"@makaio/framework/contracts";import{register as c}from"tsx/esm/api";const l=new Set(i),u=/^[a-z][a-z\d+.-]*:/i,d=new Set([`ERR_MODULE_NOT_FOUND`,`ERR_PACKAGE_PATH_NOT_EXPORTED`,`ERR_PACKAGE_IMPORT_NOT_DEFINED`,`ERR_UNSUPPORTED_DIR_IMPORT`]),f=new WeakSet;var p=class extends Error{code=`ERR_MODULE_NOT_FOUND`;constructor(e,t){super(`Cannot find package '${e}' imported from ${t}`),this.name=`UnsupportedImportError`}};function m(e){try{return!(e instanceof Error)||!(`code`in e)?void 0:typeof e.code==`string`?e.code:void 0}catch{return}}function h(e){return e instanceof p||(typeof e==`object`||typeof e==`function`)&&e!==null&&f.has(e)}function g(e){if(e===``||e.startsWith(`.`)||e.startsWith(`/`)||u.test(e))return;let t=e.split(`/`),n=e.startsWith(`@`)?t.slice(0,2).join(`/`):t[0]??``;return n===``||l.has(n)?void 0:n}function _(e,t){let n=new Set(t);return a({resolve(t,r,i){let a=r.parentURL;if(a!==void 0&&e.some(e=>a.startsWith(e))){let e=g(t);if(e!==void 0&&!n.has(e))throw new p(e,a)}try{return i(t,r)}catch(e){throw d.has(m(e)??``)&&(typeof e==`object`||typeof e==`function`)&&e!==null&&f.add(e),e}}})}const v={"prototype-key":`The invoked export returned a value carrying a "__proto__" own key.`,"non-plain-object":`The invoked export returned an object that is not JSON data; only plain objects and arrays are.`,"symbol-key":`The invoked export returned a value that cannot be transported as JSON.`,"non-enumerable-key":`The invoked export returned a value that cannot be transported as JSON.`,"extra-array-key":`The invoked export returned a value that cannot be transported as JSON.`,"cyclic-reference":`The invoked export returned a non-serializable cyclic value.`,"nesting-too-deep":`The invoked export returned a value exceeding the maximum JSON container nesting.`,"negative-zero":`The invoked export returned -0, which JSON would transport as 0.`,"unreadable-value":`The invoked export returned a value that cannot be read into a JSON boundary snapshot.`};function y(e,n,r){return{kind:`failed`,code:e,message:t(n,r)}}function b(e){return typeof e==`function`}function x(e){return typeof e==`object`&&!!e}async function S(t,n){try{return{ok:!0,moduleNamespace:await t(n.entryNamespaceUrl,n.parentUrl)}}catch(t){return{ok:!1,outcome:y(h(t)?`unsupported_import`:`compilation_failed`,e(t),n.redactedPaths)}}}function C(e,t){let n=s(e);if(!n.ok)return{ok:!1,message:v[n.violation.kind]};let i=o.safeParse(n.value);if(!i.success)return{ok:!1,message:n.value===void 0?`The invoked export returned a value that has no JSON representation.`:`The invoked export returned a value that is not JSON-safe.`};let a=r(i.data);return a>t?{ok:!1,message:`The invoked export returned ${a} serialized bytes, which exceeds the limit of ${t}.`}:{ok:!0,value:i.data}}async function w(e,t){try{await e.unregister()}catch(e){console.warn(`[code-execution] Failed to unregister the loader for namespace %s: %s`,t,e)}}async function T(t){let r=_(t.programRootUrls,t.allowedPackages),i=c({namespace:t.namespace,tsconfig:!1});try{let r=await S((e,t)=>i.import(e,t),t);if(!r.ok)return r.outcome;let a=r.moduleNamespace[n];if(!x(a))return y(`provider_failed`,`The entry module was not reached through a generated "${n}" export.`,t.redactedPaths);let o=a[t.exportName];if(!b(o)){let e=o===void 0?`is not exported`:`is ${typeof o}, not a function`;return y(`entrypoint_not_found`,`Export "${t.exportName}" ${e}.`,t.redactedPaths)}let s;try{s=await o(t.arguments)}catch(n){return y(`handler_failed`,e(n),t.redactedPaths)}let c=C(s,t.maxResultBytes);return c.ok?{kind:`completed`,value:c.value}:y(`invalid_result`,c.message,t.redactedPaths)}finally{await w(i,t.namespace),r.deregister()}}export{T as default,T as executeCodeInWorker};
@@ -1 +0,0 @@
1
- import{o as e,s as t}from"./json-value-BBZ6uGwc.mjs";import{n}from"./capability-j3NekkIu.mjs";import{z as r}from"zod";import{createBusNamespace as i}from"@makaio/framework/core";const a=`code-execution`,o=[`trusted-code-only`,`isolated`],s=[`completed`,`failed`,`timed_out`,`cancelled`],c=[`provider_unavailable`,`invalid_provider`,`invalid_program`,`unsupported_import`,`compilation_failed`,`entrypoint_not_found`,`handler_failed`,`invalid_result`,`provider_failed`],l=[...c,`execution_timeout`,`cancelled`],u=[`timeout`,`cancellation`],d=512,f=255,p=1024,m=256,h=/^[A-Za-z]:/,g=/[<>:"|?*]|\p{Cc}/u,_=/[. ]$/,v=/^(?:CON|PRN|AUX|NUL|(?:COM|LPT)[0-9\u00B9\u00B2\u00B3])(?:\.|$)/i,y=new TextEncoder,b=e=>t=>t.split(`/`).every(e),x=r.string().min(1).refine(e=>!e.includes(`\0`),{message:`virtual path must not contain NUL bytes`}).refine(e=>e.isWellFormed(),{message:`virtual path must be well-formed Unicode (no unpaired surrogates)`}).refine(e=>!e.includes(`\\`),{message:`virtual path must use POSIX separators (no backslashes)`}).refine(e=>!e.startsWith(`/`)&&!h.test(e),{message:`virtual path must be relative (no leading / or drive letter)`}).refine(b(e=>e.length>0&&e!==`.`&&e!==`..`),{message:`virtual path must be normalized (no empty, ".", or ".." segments)`}).refine(b(e=>!g.test(e)),{message:`virtual path must not contain < > : " | ? * or control characters`}).refine(b(e=>!_.test(e)),{message:`virtual path segments must not end with "." or a space`}).refine(b(e=>!v.test(e)),{message:`virtual path must not use a reserved device name (CON, PRN, AUX, NUL, COM0-COM9, LPT0-LPT9, COM¹-COM³, LPT¹-LPT³)`}).refine(b(e=>y.encode(e).byteLength<=255),{message:`virtual path segments must not exceed 255 UTF-8 bytes`}).refine(e=>y.encode(e).byteLength<=p,{message:`virtual path must not exceed ${p} UTF-8 bytes`}),S=r.string().refine(e=>e.isWellFormed(),{message:`program source must be well-formed Unicode (no unpaired surrogates)`}),C=t(r.record(x,S),{prototypeKey:`"__proto__" is not a valid virtual path`,nonPlainObject:`the module set must be a plain object mapping virtual paths to sources`,symbolKey:`the module set carries a symbol-keyed property, which cannot be transported as JSON`,nonEnumerableKey:`the module set carries a non-enumerable property, which the record parse would drop`,extraArrayKey:`the module set must be a plain object, not an array with extra own properties`}),w=r.strictObject({files:C,entryFile:x,exportName:r.string().min(1).max(256)}).refine(e=>Object.hasOwn(e.files,e.entryFile),{message:`entryFile must name one of the program files`,path:[`entryFile`]}),T=r.strictObject({providerId:r.string().min(1).max(256).optional(),runtime:r.string().min(1).max(256).optional(),language:r.string().min(1).max(256).optional(),moduleFormat:r.string().min(1).max(256).optional(),trust:r.enum(o).optional()}),E=r.strictObject({invocationId:r.string().min(1).max(256),program:w,arguments:t(e,{prototypeKey:`"__proto__" is not a valid argument key`,nonPlainObject:`the invocation arguments must be JSON data: only plain objects and arrays are transportable`,symbolKey:`the invocation arguments carry a symbol-keyed property, which cannot be transported as JSON`,nonEnumerableKey:`the invocation arguments carry a non-enumerable property, which the record parse would drop`,extraArrayKey:`the invocation arguments carry an array with extra own properties, which the array rebuild would drop`}),requirements:T.optional(),timeoutMs:r.number().int().positive()}),D=r.enum(l),O=r.enum(c),k=e=>r.strictObject({code:e,message:r.string().min(1).max(512)}),A=r.discriminatedUnion(`status`,[r.strictObject({status:r.literal(`completed`),value:t(e,{prototypeKey:`"__proto__" is not a valid result key`,nonPlainObject:`the result must be JSON data: only plain objects and arrays are transportable`,symbolKey:`the result carries a symbol-keyed property, which cannot be transported as JSON`,nonEnumerableKey:`the result carries a non-enumerable property, which the record parse would drop`,extraArrayKey:`the result carries an array with extra own properties, which the array rebuild would drop`})}),r.strictObject({status:r.literal(`failed`),error:k(O)}),r.strictObject({status:r.literal(`timed_out`),error:k(r.literal(`execution_timeout`))}),r.strictObject({status:r.literal(`cancelled`),error:k(r.literal(`cancelled`))})]),j={execute:{request:E,response:A}},M=i(`code-execution`,j),N=M.subjects;function P(e){return e.length<=512?e:`${e.slice(0,511)}…`}function F(e){return e===`timeout`?{status:`timed_out`,error:{code:`execution_timeout`,message:`The execution exceeded its wall-clock budget before completing.`}}:{status:`cancelled`,error:{code:`cancelled`,message:`The execution was cancelled before it completed.`}}}function I(e){let t=e.signal.reason;return F(t===`timeout`||t===`cancellation`?t:Date.now()>=e.deadlineEpochMs?`timeout`:`cancellation`)}const L={transports:[]};function R(e,t){return e.emit(n.register,{capabilityId:a,provider:t},L)}function z(e,t){return e.emit(n.unregister,{capabilityId:a,providerId:t},L)}export{l as C,c as S,o as T,x as _,F as a,u as b,d as c,D as d,A as f,j as g,T as h,I as i,m as l,E as m,z as n,M as o,w as p,P as r,N as s,R as t,O as u,p as v,s as w,a as x,f as y};
@@ -1 +0,0 @@
1
- import{d as e,f as t,h as n,l as r,m as i,p as a,u as o}from"./types-Cwza95hS.mjs";import{fileURLToPath as s,pathToFileURL as c}from"node:url";import{mkdir as l,mkdtemp as u,realpath as d,rm as f,stat as p,symlink as ee,writeFile as m}from"node:fs/promises";import{basename as te,dirname as h,extname as g,isAbsolute as _,join as v,resolve as y,sep as b}from"node:path";import{randomUUID as ne}from"node:crypto";import{NPM_PACKAGE_NAME_MAX_LENGTH as x,isNpmPackageName as re}from"@makaio/framework/utils";import{CODE_EXECUTION_IDENTIFIER_MAX_LENGTH as S,CodeExecutionProgramSchema as ie,CodeExecutionVirtualPathSchema as ae,JsonValueSchema as C,codeExecutionAbortOutcome as w,snapshotJsonBoundary as T}from"@makaio/framework/contracts";import{tmpdir as oe}from"node:os";import se from"piscina";async function E(e){if(!_(e))return[e];let t=new Set([e]);try{t.add(await d(e))}catch{}return[...t]}function D(e){return _(e)?[e,c(e).href]:[e]}async function ce(e){return(await E(e)).flatMap(D)}async function le(e){let t=new Map;for(let[n,r]of e.packageRoots)try{let e=await d(r);if(!(await p(e)).isDirectory())throw Error(`Package root is not a directory.`);t.set(n,e)}catch{throw Error(`A configured package root could not be resolved.`)}return{packageRoots:t,redactions:await ue({...e,packageRoots:new Map([...e.packageRoots,...[...t].map(([e,t])=>[`resolved:${e}`,t])])})}}async function ue(t){let n=new Set,r=t=>{let r=e(t);r.length>=4&&n.add(r)},i=t=>{let r=e(t);r.length>0&&n.add(r)};for(let e of Object.values(t.environment))r(e);for(let e of[...t.packageRoots.values(),...t.workerPaths])for(let t of await ce(e))i(t);return[...n]}const O={admitted:!1,refusal:`aborted`},de={admitted:!1,refusal:`queue_full`};var fe=class{maxQueued;available;waiting=[];constructor(e,t){this.maxQueued=t,this.available=e}acquire(e){return e.aborted?Promise.resolve(O):this.available>0?(--this.available,Promise.resolve({admitted:!0,release:this.createRelease()})):this.waiting.length>=this.maxQueued?Promise.resolve(de):new Promise(t=>{let n=()=>{e.removeEventListener(`abort`,r),t({admitted:!0,release:this.createRelease()})},r=()=>{let e=this.waiting.indexOf(n);e>=0&&this.waiting.splice(e,1),t(O)};e.addEventListener(`abort`,r,{once:!0}),this.waiting.push(n)})}createRelease(){let e=!1;return()=>{if(e)return;e=!0;let t=this.waiting.shift();t===void 0?this.available+=1:t()}}};function pe(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&`program`in e&&`arguments`in e}function k(e){return{status:`failed`,error:{code:`invalid_program`,message:e}}}function me(e){let t={program:void 0,arguments:void 0},n;try{t.program=Reflect.get(e,`program`),t.arguments=Reflect.get(e,`arguments`),n=T(t)}catch{return k(`The invocation could not be read into a stable JSON boundary snapshot.`)}if(!n.ok||!pe(n.value))return k(`The invocation could not be read into a stable JSON boundary snapshot.`);let r=ie.safeParse(n.value.program);return r.success?{program:r.data,arguments:n.value.arguments}:k(`The invocation program does not satisfy the CodeExecution contract.`)}function A(e){return e instanceof Error&&e.name===`AbortError`}function he(e){return A(e)||e instanceof Error&&e.message===`Terminating worker thread`}function ge(e,t){if(!Number.isFinite(t))throw Error(`Option "${e}" must be a finite number, received ${t}.`);return t}function j(e,t,n){if(t.trim().length===0)throw Error(`Option "${e}" must be a non-empty string.`);if(n!==void 0&&t.length>n)throw Error(`Option "${e}" must contain at most ${n} characters.`);return t}function M(e,t,n){if(!Number.isInteger(t)||t<n)throw Error(`Option "${e}" must be an integer of at least ${n}, received ${t}.`);return t}const _e={"prototype-key":`The invocation arguments carry a "__proto__" key, which cannot be transported as JSON.`,"non-plain-object":`The invocation arguments are not JSON data: only plain objects and arrays are transportable, so values such as a Date, a Map, or a class instance must be converted before they are submitted.`,"symbol-key":`The invocation arguments carry a symbol-keyed property, which cannot be transported as JSON.`,"non-enumerable-key":`The invocation arguments carry a non-enumerable property that the record parse would drop.`,"extra-array-key":`The invocation arguments carry an array with extra own properties that the array rebuild would drop.`,"cyclic-reference":`The invocation arguments contain a cyclic reference and cannot be transported as JSON.`,"nesting-too-deep":`The invocation arguments exceed the maximum JSON container nesting.`,"negative-zero":`The invocation arguments contain -0, which JSON would transport as 0.`,"unreadable-value":`The invocation arguments could not be read into a stable JSON boundary snapshot.`};function ve(e){if(e.length===0)return a(`invalid_program`,`The export name must not be empty.`);if(!(e.length<=S))return a(`invalid_program`,`The export name is ${e.length} characters, which exceeds the limit of ${S}.`)}function N(e,t){let n=T(e);if(!n.ok)return a(`invalid_program`,_e[n.violation.kind]);let r=C.safeParse(n.value);if(!r.success)return a(`invalid_program`,`The invocation arguments carry a value with no JSON form — a function, undefined, a bigint, a symbol, or a non-finite number — which cannot be transported as JSON.`);let o;try{o=i(r.data)}catch{return a(`invalid_program`,`The invocation arguments have no JSON representation.`)}if(!(o<=t))return a(`invalid_program`,`The invocation arguments serialize to ${o} bytes, which exceeds the limit of ${t}.`)}function P(e,t){return ve(e.program.exportName)??N(e.arguments,t)}const F=`${JSON.stringify({type:`module`},null,2)}\n`,I=`package.json`,L=`node_modules`,R=`__makaio-entry-namespace.mjs`,ye=new Map([[H(I),`the generated program manifest`],[H(L),`provider-configured package links`],[H(R),`the generated entry namespace module`]]),z=new Set([`.ts`,`.mts`,`.js`,`.mjs`]),be=[...z].join(`, `);var B=class extends Error{code;constructor(e,t){super(t),this.code=e,this.name=`VirtualProgramError`}},V=class extends B{rootLease;constructor(e,t){super(e.code,e.message),this.rootLease=t,this.name=`UnreleasedProgramRootError`}};function xe(e){return e instanceof B?e:(console.warn(`[code-execution] Failed to materialize a program root: %s`,e),new B(`provider_failed`,`The program root could not be materialized.`))}function Se(e){let t=new Map;for(let[n,r]of Object.entries(e??{})){if(!re(n))throw Error(`Configured package name "${n}" is not an ordinary bare package specifier.`);if(n.length>x)throw Error(`Configured package name is ${n.length} characters, which exceeds the limit of ${x}.`);if(!_(r))throw Error(`Configured package root for "${n}" must be an absolute path.`);t.set(n,y(r))}return t}function H(e){return e.normalize(`NFC`).toLowerCase().toUpperCase().normalize(`NFC`)}function U(e,t,n){let r=Object.keys(e.files);if(r.length>t)throw new B(`invalid_program`,`Program declares ${r.length} files, which exceeds the limit of ${t}.`);let i=0;for(let t of Object.values(e.files)){if(!t.isWellFormed())throw new B(`invalid_program`,`A program source is not well-formed Unicode (no unpaired surrogates).`);if(i+=Buffer.byteLength(t,`utf8`),i>n)throw new B(`invalid_program`,`Program sources exceed the aggregate limit of ${n} UTF-8 bytes.`)}we([...r,e.entryFile]),Ce(e),Te(r),W(r),Ee(r)}function Ce(e){if(!Object.hasOwn(e.files,e.entryFile))throw new B(`invalid_program`,`Entry file "${e.entryFile}" is not one of the declared program files.`)}function W(e){for(let t of e){let e=g(t);if(!z.has(e))throw new B(`invalid_program`,`Virtual path "${t}" ${e===``?`carries no file extension`:`carries the extension "${e}"`}; this provider executes ${be} sources.`)}}function we(e){for(let t of e){let e=ae.safeParse(t);if(!e.success)throw new B(`invalid_program`,`A virtual path is not canonical: ${e.error.issues[0]?.message??`it violates the virtual path rules`}.`)}}function Te(e){for(let t of e){let e=t.split(`/`)[0]??``,n=ye.get(H(e));if(n!==void 0)throw new B(`invalid_program`,`Virtual path "${t}" claims the root name "${e}", which is reserved for ${n}.`)}}function Ee(e){let t=e.map(e=>({original:e,originalSegments:e.split(`/`),foldedSegments:e.split(`/`).map(H)})).sort(De),n;for(let e of t){if(n!==void 0&&Oe(n.foldedSegments,e.foldedSegments))throw new B(`invalid_program`,`Virtual paths "${n.original}" and "${e.original}" name the same file.`);if(n!==void 0&&ke(n.foldedSegments,e.foldedSegments)){let t=e.originalSegments.slice(0,n.originalSegments.length).join(`/`);throw new B(`invalid_program`,`Virtual path "${n.original}" is declared as a file and as the directory "${t}".`)}n=e}}function De(e,t){for(let n=0;n<Math.min(e.foldedSegments.length,t.foldedSegments.length);n+=1){let r=e.foldedSegments[n]??``,i=t.foldedSegments[n]??``;if(r<i)return-1;if(r>i)return 1}return e.foldedSegments.length-t.foldedSegments.length}function Oe(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function ke(e,t){return e.length<t.length&&e.every((e,n)=>e===t[n])}function G(e,t,n,r,i){let a=y(e),o=y(a,n);if(!o.startsWith(a+b))throw new B(i,`${r} "${n}" resolves outside the program root.`);for(let e of t){let t=y(e),a=y(t,n);if(!a.startsWith(t+b))throw new B(i,`${r} "${n}" resolves outside the program root.`);let o=Buffer.byteLength(a,`utf8`);if(o>=1024)throw new B(i,`${r} resolves to ${o} UTF-8 bytes once the program root is prepended, which leaves no room inside the 1024-byte budget.`)}return o}function K(e,t){return G(e,t,I,`Program manifest`,`provider_failed`)}function q(e,t){return G(e,t,R,`Entry namespace module`,`provider_failed`)}function Ae(e){return`import * as entry from ${JSON.stringify(c(e).href)};\nexport const ${r} = entry;\n`}function J(e,t,n){return G(e,t,n,`Virtual path`,`invalid_program`)}function Y(e,t,n){return G(e,t,`${L}/${n}`,`Package link`,`provider_failed`)}function je(e,t,n,r){K(e,t),q(e,t);for(let r of Object.keys(n.files))J(e,t,r);for(let n of r.keys())Y(e,t,n)}async function Me(e){let t=Ne(e.program);U(t,e.maxProgramFiles,e.maxSourceBytes);let n;try{let r=await u(v(oe(),`makaio-code-execution-`));n=r;let i=await E(r);je(r,i,t,e.packageRoots);let a=K(r,i);await m(a,F,`utf8`),await Pe(r,i,t.files),await Fe(r,i,e.packageRoots);let o=J(r,i,t.entryFile),s=q(r,i);return await m(s,Ae(o),`utf8`),{root:r,rootUrls:i.map(e=>c(`${e}${b}`).href),entryNamespaceUrl:c(s).href,parentUrl:c(a).href,redactedPaths:i.flatMap(D),cleanup:()=>Z(r)}}catch(e){let t=xe(e);if(n!==void 0){let e=n,r={root:e,cleanup:()=>Z(e)};if(!await r.cleanup())throw console.warn(`[code-execution] Failed to remove a partially materialized program root: %s`,n),new V(t,r)}throw t}}function Ne(e){let t=e.files,n=Object.create(null);for(let e of Object.keys(t))n[e]=t[e];return{files:n,entryFile:e.entryFile,exportName:e.exportName}}async function X(e){for(let t of await Promise.allSettled(e))if(t.status===`rejected`)throw t.reason}function Pe(e,t,n){return X(Object.entries(n).map(async([n,r])=>{let i=J(e,t,n);await l(h(i),{recursive:!0}),await m(i,r,`utf8`)}))}function Fe(e,t,n){return X([...n].map(async([n,r])=>{let i=Y(e,t,n);await l(h(i),{recursive:!0}),await ee(r,i,`junction`)}))}async function Z(e){try{return await f(e,{recursive:!0,force:!0,maxRetries:2,retryDelay:25}),!0}catch{return!1}}var Ie=class{removeRoot;roots=new Map;attempts=new Map;constructor(e=Z){this.removeRoot=e}get pending(){return[...this.roots.keys()]}async release(e){await this.attempt(e.root,()=>e.cleanup())||console.warn(`[code-execution] Retained a program root for a later removal attempt: %s`,e.root)}async retry(e){let t=Date.now();await this.retryRoots(e.filter(e=>{let n=this.roots.get(e);return n!==void 0&&t-n>=5e3}))}async retryAll(){return await this.retryRoots(this.pending),this.pending}async retryRoots(e){await Promise.all(e.filter(e=>this.roots.has(e)).map(e=>this.attempt(e,()=>this.removeRoot(e))))}async attempt(e,t){let n=this.attempts.get(e);if(n!==void 0)return n;let r=this.runAttempt(e,t);this.attempts.set(e,r);try{return await r}finally{this.attempts.get(e)===r&&this.attempts.delete(e)}}async runAttempt(e,t){let n=!1;try{n=await t()}catch(e){console.warn(`[code-execution] Failed to release a program root: %s`,e)}return n?this.roots.delete(e):this.roots.set(e,Date.now()),n}};const Q=`code-execution`,Le=[`--import=tsx`],Re=[],ze=Object.freeze({});function Be(e){return Object.freeze({TSX_TSCONFIG_PATH:v(e,Q,`worker-tsconfig.json`)})}function Ve(e){return e.mode===`source`?{filename:v(e.moduleDir,Q,`worker-entry.ts`),execArgv:Le,env:Be(e.moduleDir)}:{filename:v(e.moduleDir,Q,`worker-entry.mjs`),execArgv:Re,env:ze}}function He(e){let t=s(e),n=h(t);return Ve({moduleDir:te(n)===Q?h(n):n,mode:g(t)===`.ts`?`source`:`dist`})}function $(){return a(`provider_unavailable`,`This CodeExecution provider has been disposed.`)}function Ue(e){return e instanceof V?e.rootLease:void 0}function We(e,t){return a(`provider_unavailable`,`This CodeExecution provider is at capacity: ${e} invocations are executing and ${t} are waiting.`)}var Ge=class{id;displayName;priority;runtime=`node`;language=`typescript`;moduleFormat=`esm`;trust=`trusted-code-only`;workerEntry;workerExecArgv;workerLoaderEnv;environment;packageRoots;maxConcurrency;maxQueuedInvocations;idleTimeoutMs;maxProgramFiles;maxSourceBytes;maxResultBytes;maxArgumentBytes;maxInvocationsPerWorker;admission;inFlight=new Set;quiescing=new Set;draining=new Set;retained=new Ie;runtimeConfiguration;generation;disposed=!1;disposal;constructor(e={}){let t=He(import.meta.url);this.id=j(`id`,e.id??`piscina-code-execution`,S),this.displayName=j(`displayName`,e.displayName??`Local (Piscina)`),this.priority=ge(`priority`,e.priority??0),this.workerEntry=t.filename,this.workerExecArgv=[...t.execArgv],this.workerLoaderEnv=Object.freeze({...t.env}),this.environment=Object.freeze({...e.environment}),this.packageRoots=Se(e.packageRoots),this.maxConcurrency=M(`maxConcurrency`,e.maxConcurrency??4,1),this.maxQueuedInvocations=M(`maxQueuedInvocations`,e.maxQueuedInvocations??16,0),this.idleTimeoutMs=M(`idleTimeoutMs`,e.idleTimeoutMs??3e4,0),this.maxInvocationsPerWorker=M(`maxInvocationsPerWorker`,e.maxInvocationsPerWorker??64,1),this.maxProgramFiles=M(`maxProgramFiles`,e.maxProgramFiles??256,1),this.maxSourceBytes=M(`maxSourceBytes`,e.maxSourceBytes??5242880,1),this.maxResultBytes=M(`maxResultBytes`,e.maxResultBytes??1048576,1),this.maxArgumentBytes=M(`maxArgumentBytes`,e.maxArgumentBytes??1048576,1),this.admission=new fe(this.maxConcurrency,this.maxQueuedInvocations)}async execute(e,t){if(this.disposed)return $();let n=this.runInvocation(e,t);this.inFlight.add(n);try{return await n}finally{this.inFlight.delete(n)}}dispose(){return this.disposed=!0,this.disposal??=this.destroyPoolAndDrain(),this.disposal}async destroyPoolAndDrain(){let e=[...this.generation===void 0?[]:[this.generation],...this.draining];this.generation=void 0;let t=await Promise.allSettled(e.map(e=>this.tearDown(e)));await Promise.allSettled([...this.inFlight]),await Promise.allSettled([...this.quiescing]);let n=await this.retained.retryAll();n.length>0&&console.warn(`[code-execution] Program roots still on disk after disposal: %s`,n.join(`, `));let r=t.filter(e=>e.status===`rejected`).map(e=>e.reason);if(r.length>0)throw AggregateError(r,`The CodeExecution provider could not tear down every worker pool.`)}async runInvocation(e,t){let n=me(e);if(`status`in n)return n;let r,i,o,s,c;try{U(n.program,this.maxProgramFiles,this.maxSourceBytes);let e=P(n,this.maxArgumentBytes);if(e!==void 0)return e;let l=C.safeParse(n.arguments);if(!l.success)return a(`invalid_program`,`The invocation arguments do not satisfy the CodeExecution contract.`);let u={program:n.program,arguments:l.data},d=await this.admission.acquire(t.signal);if(!d.admitted)return d.refusal===`aborted`?w(t):We(this.maxConcurrency,this.maxQueuedInvocations);if(s=d.release,this.disposed)return $();if(t.signal.aborted)return w(t);if(r=await this.resolveRuntimeConfiguration(),this.disposed)return $();if(t.signal.aborted)return w(t);if(i=await Me({program:u.program,packageRoots:r.packageRoots,maxProgramFiles:this.maxProgramFiles,maxSourceBytes:this.maxSourceBytes}),o=i,this.disposed)return $();if(t.signal.aborted)return w(t);let f=this.createTask(u,i,r),p=await this.dispatch(f,t.signal);return c=p.teardown,p.kind===`aborted`?w(t):p.kind===`failed`?this.toFailureOutcome(p.error,f.redactedPaths):this.toOutcome(p.value,f.redactedPaths)}catch(e){return o=Ue(e)??o,this.toFailureOutcome(e,[...i?.redactedPaths??[],...r?.redactions??[]])}finally{this.trackRelease(o,s,c)}}async quiesce(e,t,n){let r=this.retained.pending;e!==void 0&&await this.retained.release(e),n!==void 0&&await Promise.allSettled([n]),t?.(),await this.retained.retry(r)}trackRelease(e,t,n){let r=this.quiesce(e,t,n);this.quiescing.add(r),r.catch(e=>{console.warn(`[code-execution] Failed to release an invocation: %s`,e)}).finally(()=>this.quiescing.delete(r))}async dispatch(e,t){let n=this.submit(e,t);try{return{kind:`completed`,value:await n.running,teardown:n.generation.teardown}}catch(e){let r=n.generation.teardown;return t.aborted&&A(e)?{kind:`aborted`,teardown:r}:{kind:`failed`,error:e,teardown:r}}}submit(e,t){let n=this.acquireGeneration();n.submitted+=1,n.outstanding+=1;let r=n.pool.run(e,{signal:t});return n.submitted>=this.maxInvocationsPerWorker&&this.retire(n),{generation:n,running:r.finally(()=>{--n.outstanding,this.tearDownIfDrained(n)})}}retire(e){this.generation===e&&(this.generation=void 0),e.retired=!0,this.draining.add(e),this.tearDownIfDrained(e)}handlePoolError(e,t){e.failed||(e.failed=!0,this.retire(e),this.tearDown(e).catch(e=>{console.warn(`[code-execution] Failed to tear down a failed worker generation: %s`,e)}),console.warn(`[code-execution] Worker generation failed: %s`,t))}tearDownIfDrained(e){!e.retired||e.outstanding>0||this.tearDown(e).then(()=>this.draining.delete(e)).catch(e=>{console.warn(`[code-execution] Failed to tear down a drained worker generation: %s`,e)})}tearDown(e){return e.teardown??=e.pool.destroy(),e.teardown}createTask(e,t,n){return{entryNamespaceUrl:t.entryNamespaceUrl,parentUrl:t.parentUrl,programRootUrls:t.rootUrls,allowedPackages:[...n.packageRoots.keys()],exportName:e.program.exportName,arguments:e.arguments,namespace:`makaio-code-execution-${ne()}`,maxResultBytes:this.maxResultBytes,redactedPaths:[...t.redactedPaths,...n.redactions]}}resolveRuntimeConfiguration(){if(this.runtimeConfiguration!==void 0)return this.runtimeConfiguration;let e=le({environment:this.environment,packageRoots:this.packageRoots,workerPaths:[this.workerEntry,...Object.values(this.workerLoaderEnv)]});return this.runtimeConfiguration=e,e.catch(()=>{this.runtimeConfiguration===e&&(this.runtimeConfiguration=void 0)}),e}acquireGeneration(){if(this.generation!==void 0)return this.generation;let e=new se({filename:this.workerEntry,execArgv:[...this.workerExecArgv],env:{...this.environment,...this.workerLoaderEnv},minThreads:0,maxThreads:this.maxConcurrency,idleTimeout:this.idleTimeoutMs}),t={pool:e,submitted:0,outstanding:0,retired:!1,failed:!1};return e.on(`error`,e=>this.handlePoolError(t,e)),this.generation=t,this.generation}toOutcome(e,t){let r=o.safeParse(e);if(!r.success)return a(`invalid_provider`,`The execution worker returned a malformed outcome envelope.`);if(r.data.kind===`completed`){let e=i(r.data.value);return e>this.maxResultBytes?a(`invalid_result`,`The execution returned ${e} serialized bytes, which exceeds the limit of ${this.maxResultBytes}.`):{status:`completed`,value:r.data.value}}return a(r.data.code,n(r.data.message,t))}toFailureOutcome(e,r){return e instanceof B?a(e.code,n(e.message,r)):this.disposed&&he(e)?$():a(`provider_failed`,n(t(e),r))}};export{Ge as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./package-DttKA9wN.mjs";import{CODE_EXECUTION_CAPABILITY_ID as t,CODE_EXECUTION_IDENTIFIER_MAX_LENGTH as n,CODE_EXECUTION_TRUST_LEVELS as r,CodeExecutionOutcomeSchema as i,CodeExecutionRequestSchema as a,CodeExecutionSubjects as o,boundCodeExecutionFailureMessage as s,codeExecutionAbortOutcomeForReason as c,dep as l,extensionToken as u}from"@makaio/framework/contracts";import{BaseService as d}from"@makaio/framework/service-base";function f(e,t){if(!Number.isFinite(e)||e<0)throw TypeError(`Execution budget "timeoutMs" must be a finite, non-negative number, received ${e}.`);let n=Date.now()+e;return t===void 0||!Number.isFinite(t)?n:Math.min(n,t)}function p(e){let{timeoutMs:t,requestDeadlineEpochMs:n,callerSignal:r}=e,i=f(t,n),a=new AbortController,o,s,c=()=>void 0,l=new Promise(e=>{c=e}),u=()=>{p(`cancellation`)};function d(){clearTimeout(s),s=void 0,r?.removeEventListener(`abort`,u)}function p(e){o===void 0&&(o=e,d(),a.abort(e),c(e))}function m(){let e=i-Date.now();if(e<=0){p(`timeout`);return}s=setTimeout(m,Math.min(e,2147483647)),s.unref?.()}return r?.aborted===!0?p(`cancellation`):(r?.addEventListener(`abort`,u,{once:!0}),m()),{context:{signal:a.signal,deadlineEpochMs:i},get abortReason(){return o},aborted:l,release:d}}function m(e){return typeof e==`string`&&e.length>0}function h(e){return m(e)&&e.length<=n}function g(e){try{let{id:t,displayName:n,priority:r,runtime:i,language:a,moduleFormat:o,trust:s,execute:c}=e;return!h(t)||!m(n)||typeof r!=`number`||!Number.isFinite(r)||!h(i)||!h(a)||!h(o)||!_(s)||typeof c!=`function`?void 0:{id:t,priority:r,runtime:i,language:a,moduleFormat:o,trust:s,execute:c,provider:e}}catch{return}}function _(e){return typeof e==`string`&&r.includes(e)}function v(e,t){return t===void 0?!0:(t.providerId===void 0||t.providerId===e.id)&&(t.runtime===void 0||t.runtime===e.runtime)&&(t.language===void 0||t.language===e.language)&&(t.moduleFormat===void 0||t.moduleFormat===e.moduleFormat)&&(t.trust===void 0||t.trust===e.trust)}function y(e,t){return e.priority===t.priority?e.id===t.id?0:e.id<t.id?-1:1:t.priority-e.priority}function b(e){let t=new Set;for(let n of e){if(t.has(n.id))return!0;t.add(n.id)}return!1}function x(e,t){let n=e.map(g).filter(e=>e!==void 0),r=n.length!==e.length;if(b(n))return{admitted:!1,code:`invalid_provider`};let[i]=n.filter(e=>v(e,t)).sort(y);return i===void 0?{admitted:!1,code:r?`invalid_provider`:`provider_unavailable`}:{admitted:!0,id:i.id,execute:i.execute,provider:i.provider}}const S=`[CodeExecutionService]`,C={provider_unavailable:`No registered code-execution provider satisfies the request requirements`,invalid_provider:`A registered code-execution provider does not satisfy the provider contract`};function w(e,t){try{let n=e.safeParse(t);return n.success?{ok:!0,value:n.data}:{ok:!1,cause:n.error}}catch(e){return{ok:!1,cause:e}}}function T(e,t){return{status:`failed`,error:{code:e,message:s(t)}}}function E(e,t,n){try{return Promise.resolve(Reflect.apply(e.execute,e.provider,[t,n.context]))}catch(e){return Promise.reject(e)}}var D=class extends d{capabilities;constructor(e,t){super(e),this.capabilities=t}onInit(){this.registerHandler(o.execute,async e=>{e.setResult(await this.dispatch(e.payload,e.signal,e.deadline))})}async dispatch(e,t,n){let r=w(a,e);return r.ok?this.route(r.value,t,n):(console.error(`${S} rejected an invocation that failed request validation:`,r.cause),T(`invalid_program`,`The invocation failed request contract validation`))}async route(e,n,r){let i=p({timeoutMs:e.timeoutMs,requestDeadlineEpochMs:r,callerSignal:n});try{if(i.abortReason!==void 0)return c(i.abortReason);let n=x(this.capabilities.getProviders(t),e.requirements);if(!n.admitted)return T(n.code,C[n.code]);let r=e.invocationId,a=E(n,e,i),o=this.invoke(a,n.id,r,i);return await Promise.race([o,i.aborted.then(c)])}finally{i.release()}}async invoke(e,t,n,r){let a;try{a=await e}catch(e){return r.abortReason===void 0?(this.logDiagnostic(n,t,`execute() rejected`,e),T(`provider_failed`,`Provider '${t}' failed while executing the invocation`)):c(r.abortReason)}if(r.abortReason!==void 0)return c(r.abortReason);let o=w(i,a);return o.ok?o.value:(this.logDiagnostic(n,t,`returned a non-conforming outcome`,o.cause),T(`invalid_provider`,`Provider '${t}' returned a value that is not a terminal outcome`))}logDiagnostic(e,t,n,r){console.error(`${S} provider '${t}' ${n} for invocation '${e}':`,r)}};const O=u(`code-execution`),k={name:O.name,displayName:`Code Execution`,version:`0.1.0`,critical:!0,dependencies:[l(e.name)],create:t=>{let n=t.getService(e);if(n===void 0)throw Error(`CapabilityService is not available for CodeExecutionService`);return new D(t.bus,n)}};export{p as a,x as i,k as n,D as r,O as t};
@@ -1,2 +0,0 @@
1
- import { A as CodeExecutionFailedOutcomeCode, B as ICodeExecutionProvider, C as CODE_EXECUTION_FAILURE_CODES, D as CodeExecutionCancelledOutcome, E as CodeExecutionAbortReason, F as CodeExecutionProviderContext, I as CodeExecutionRequest, L as CodeExecutionRequirements, M as CodeExecutionFailureCode, N as CodeExecutionOutcome, O as CodeExecutionCompletedOutcome, P as CodeExecutionProgram, R as CodeExecutionTimedOutOutcome, S as CODE_EXECUTION_FAILED_OUTCOME_CODES, T as CODE_EXECUTION_TRUST_LEVELS, _ as boundCodeExecutionFailureMessage, a as CODE_EXECUTION_FAILURE_MESSAGE_MAX_LENGTH, b as CODE_EXECUTION_ABORT_REASONS, c as CodeExecutionFailureCodeSchema, d as CodeExecutionRequestSchema, f as CodeExecutionRequirementsSchema, g as VIRTUAL_PATH_SEGMENT_MAX_BYTES, h as VIRTUAL_PATH_MAX_BYTES, i as CodeExecutionSubjects, j as CodeExecutionFailure, k as CodeExecutionFailedOutcome, l as CodeExecutionOutcomeSchema, m as CodeExecutionVirtualPathSchema, n as unregisterCodeExecutionProvider, o as CODE_EXECUTION_IDENTIFIER_MAX_LENGTH, p as CodeExecutionSchemas, r as CodeExecutionNamespace, s as CodeExecutionFailedOutcomeCodeSchema, t as registerCodeExecutionProvider, u as CodeExecutionProgramSchema, v as codeExecutionAbortOutcome, w as CODE_EXECUTION_OUTCOME_STATUSES, x as CODE_EXECUTION_CAPABILITY_ID, y as codeExecutionAbortOutcomeForReason, z as CodeExecutionTrustLevel } from "../../index-Cny5RvjO.mjs";
2
- export { CODE_EXECUTION_ABORT_REASONS, CODE_EXECUTION_CAPABILITY_ID, CODE_EXECUTION_FAILED_OUTCOME_CODES, CODE_EXECUTION_FAILURE_CODES, CODE_EXECUTION_FAILURE_MESSAGE_MAX_LENGTH, CODE_EXECUTION_IDENTIFIER_MAX_LENGTH, CODE_EXECUTION_OUTCOME_STATUSES, CODE_EXECUTION_TRUST_LEVELS, CodeExecutionAbortReason, CodeExecutionCancelledOutcome, CodeExecutionCompletedOutcome, CodeExecutionFailedOutcome, CodeExecutionFailedOutcomeCode, CodeExecutionFailedOutcomeCodeSchema, CodeExecutionFailure, CodeExecutionFailureCode, CodeExecutionFailureCodeSchema, CodeExecutionNamespace, CodeExecutionOutcome, CodeExecutionOutcomeSchema, CodeExecutionProgram, CodeExecutionProgramSchema, CodeExecutionProviderContext, CodeExecutionRequest, CodeExecutionRequestSchema, CodeExecutionRequirements, CodeExecutionRequirementsSchema, CodeExecutionSchemas, CodeExecutionSubjects, CodeExecutionTimedOutOutcome, CodeExecutionTrustLevel, CodeExecutionVirtualPathSchema, ICodeExecutionProvider, VIRTUAL_PATH_MAX_BYTES, VIRTUAL_PATH_SEGMENT_MAX_BYTES, boundCodeExecutionFailureMessage, codeExecutionAbortOutcome, codeExecutionAbortOutcomeForReason, registerCodeExecutionProvider, unregisterCodeExecutionProvider };
@@ -1 +0,0 @@
1
- import{C as e,S as t,T as n,_ as r,a as i,b as a,c as o,d as s,f as c,g as l,h as u,i as d,l as f,m as p,n as m,o as h,p as g,r as _,s as v,t as y,u as b,v as x,w as S,x as C,y as w}from"../../code-execution-Ckmn8OZu.mjs";export{a as CODE_EXECUTION_ABORT_REASONS,C as CODE_EXECUTION_CAPABILITY_ID,t as CODE_EXECUTION_FAILED_OUTCOME_CODES,e as CODE_EXECUTION_FAILURE_CODES,o as CODE_EXECUTION_FAILURE_MESSAGE_MAX_LENGTH,f as CODE_EXECUTION_IDENTIFIER_MAX_LENGTH,S as CODE_EXECUTION_OUTCOME_STATUSES,n as CODE_EXECUTION_TRUST_LEVELS,b as CodeExecutionFailedOutcomeCodeSchema,s as CodeExecutionFailureCodeSchema,h as CodeExecutionNamespace,c as CodeExecutionOutcomeSchema,g as CodeExecutionProgramSchema,p as CodeExecutionRequestSchema,u as CodeExecutionRequirementsSchema,l as CodeExecutionSchemas,v as CodeExecutionSubjects,r as CodeExecutionVirtualPathSchema,x as VIRTUAL_PATH_MAX_BYTES,w as VIRTUAL_PATH_SEGMENT_MAX_BYTES,_ as boundCodeExecutionFailureMessage,d as codeExecutionAbortOutcome,i as codeExecutionAbortOutcomeForReason,y as registerCodeExecutionProvider,m as unregisterCodeExecutionProvider};
@@ -1,41 +0,0 @@
1
- CREATE TABLE `runtime_instances` (
2
- `instance_id` text NOT NULL,
3
- `machine_id` text NOT NULL,
4
- `incarnation` integer NOT NULL,
5
- `started_at` integer NOT NULL,
6
- `retired_at` integer,
7
- PRIMARY KEY(`instance_id`, `machine_id`)
8
- );
9
- --> statement-breakpoint
10
- CREATE UNIQUE INDEX `uniq_runtime_instances_incarnation` ON `runtime_instances` (`machine_id`,`incarnation`);--> statement-breakpoint
11
- PRAGMA foreign_keys=OFF;--> statement-breakpoint
12
- CREATE TABLE `__new_adapter_session_claims` (
13
- `claim_id` text PRIMARY KEY NOT NULL,
14
- `machine_id` text NOT NULL,
15
- `adapter_id` text NOT NULL,
16
- `adapter_name` text NOT NULL,
17
- `provider_session_id` text NOT NULL,
18
- `session_id` text NOT NULL,
19
- `agent_id` text NOT NULL,
20
- `owner_instance_id` text,
21
- `claim_token` text NOT NULL,
22
- `fence` integer NOT NULL,
23
- `status` text DEFAULT 'held' NOT NULL,
24
- `claimed_at` integer NOT NULL,
25
- `updated_at` integer NOT NULL,
26
- FOREIGN KEY (`session_id`) REFERENCES `sessions`(`session_id`) ON UPDATE no action ON DELETE cascade,
27
- FOREIGN KEY (`agent_id`) REFERENCES `agents`(`agent_id`) ON UPDATE no action ON DELETE cascade,
28
- FOREIGN KEY (`owner_instance_id`,`machine_id`) REFERENCES `runtime_instances`(`instance_id`,`machine_id`) ON UPDATE no action ON DELETE restrict,
29
- CONSTRAINT "adapter_session_claims_status_check" CHECK("status" IN ('held', 'releasing', 'abandoned')),
30
- CONSTRAINT "adapter_session_claims_fence_check" CHECK("fence" >= 1)
31
- );
32
- --> statement-breakpoint
33
- INSERT INTO `__new_adapter_session_claims`("claim_id", "machine_id", "adapter_id", "adapter_name", "provider_session_id", "session_id", "agent_id", "claim_token", "fence", "status", "claimed_at", "updated_at") SELECT "claim_id", "machine_id", "adapter_id", "adapter_name", "provider_session_id", "session_id", "agent_id", "claim_token", "fence", "status", "claimed_at", "updated_at" FROM `adapter_session_claims`;--> statement-breakpoint
34
- DROP TABLE `adapter_session_claims`;--> statement-breakpoint
35
- ALTER TABLE `__new_adapter_session_claims` RENAME TO `adapter_session_claims`;--> statement-breakpoint
36
- PRAGMA foreign_keys=ON;--> statement-breakpoint
37
- CREATE UNIQUE INDEX `uniq_adapter_session_claims_owner` ON `adapter_session_claims` (`machine_id`,`adapter_id`,`provider_session_id`);--> statement-breakpoint
38
- CREATE UNIQUE INDEX `uniq_adapter_session_claims_token` ON `adapter_session_claims` (`claim_token`);--> statement-breakpoint
39
- CREATE UNIQUE INDEX `uniq_adapter_session_claims_agent_fence` ON `adapter_session_claims` (`agent_id`,`fence`);--> statement-breakpoint
40
- CREATE INDEX `adapter_session_claims_agent_id_idx` ON `adapter_session_claims` (`agent_id`);--> statement-breakpoint
41
- CREATE INDEX `adapter_session_claims_session_id_idx` ON `adapter_session_claims` (`session_id`);