@makaio/framework 1.0.0-dev-1784889676396 → 1.0.0-dev-1785344643235

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 (473) hide show
  1. package/dist/.makaio-build.json +3 -2
  2. package/dist/{account-identity-CP4DC0DL.mjs → account-identity-DFx8pwKL.mjs} +1 -1
  3. package/dist/{adapter-CYobxqN_.mjs → adapter-D5c5LrPN.mjs} +1 -1
  4. package/dist/adapters/claude/index.d.mts +204 -27
  5. package/dist/adapters/claude/index.mjs +3 -3
  6. package/dist/adapters/config/index.d.mts +2 -2
  7. package/dist/adapters/config/index.mjs +1 -1
  8. package/dist/adapters/index.d.mts +49 -4
  9. package/dist/adapters/index.mjs +3 -3
  10. package/dist/adapters/node.d.mts +1 -1
  11. package/dist/adapters/node.mjs +1 -1
  12. package/dist/{artifact-DCkizHkS.mjs → artifact-DGiXqb11.mjs} +1 -1
  13. package/dist/attempt-record-codec-CqO1_XnE.mjs +1 -0
  14. package/dist/{auth-C3NOWqTU.mjs → auth-DGEdiHF6.mjs} +1 -1
  15. package/dist/authority-state-bootstrap-GPL_tqaT.mjs +1 -0
  16. package/dist/bus/index.mjs +1 -1
  17. package/dist/{canonical-model-EMRYCVjX.mjs → canonical-model-BAytQ4NV.mjs} +1 -1
  18. package/dist/capabilities-BQEp34ir.mjs +1 -0
  19. package/dist/{client-OYk0Ttck.mjs → client-DbS847wW.mjs} +1 -1
  20. package/dist/clients/index.d.mts +5 -3
  21. package/dist/clients/index.mjs +1 -1
  22. package/dist/clients/managed-install.d.mts +1 -1
  23. package/dist/clients/managed-install.mjs +1 -1
  24. package/dist/{compression-CZ_6fYq8.mjs → compression-74fFeBha.mjs} +1 -1
  25. package/dist/{config-namespace-DTA6EQL8.mjs → config-namespace-TVX-hG4I.mjs} +1 -1
  26. package/dist/{context-resolution-B9ANWbG0.d.mts → context-resolution-BQBk4Ish.d.mts} +6 -4
  27. package/dist/contracts/adapter/index.d.mts +2 -2
  28. package/dist/contracts/adapter/index.mjs +1 -1
  29. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  30. package/dist/contracts/artifact/index.d.mts +2 -2
  31. package/dist/contracts/artifact/index.mjs +1 -1
  32. package/dist/contracts/auth/index.d.mts +2 -2
  33. package/dist/contracts/auth/index.mjs +1 -1
  34. package/dist/contracts/canonical-model/index.d.mts +1 -1
  35. package/dist/contracts/canonical-model/index.mjs +1 -1
  36. package/dist/contracts/capabilities/index.d.mts +2 -0
  37. package/dist/contracts/capabilities/index.mjs +1 -0
  38. package/dist/contracts/client/index.d.mts +2 -2
  39. package/dist/contracts/client/index.mjs +1 -1
  40. package/dist/contracts/common/index.d.mts +1 -1
  41. package/dist/contracts/config/index.d.mts +24 -2
  42. package/dist/contracts/config/index.mjs +1 -1
  43. package/dist/contracts/extension/index.d.mts +4 -4
  44. package/dist/contracts/extension/index.mjs +1 -1
  45. package/dist/contracts/facet/index.d.mts +1 -1
  46. package/dist/contracts/facet/index.mjs +1 -1
  47. package/dist/contracts/harness/index.d.mts +1 -1
  48. package/dist/contracts/harness/index.mjs +1 -1
  49. package/dist/contracts/host/index.d.mts +1 -1
  50. package/dist/contracts/host/index.mjs +1 -1
  51. package/dist/contracts/index.d.mts +1682 -9431
  52. package/dist/contracts/index.mjs +1 -1
  53. package/dist/contracts/materialization/index.d.mts +3 -3
  54. package/dist/contracts/materialization/index.mjs +1 -1
  55. package/dist/contracts/model-registry/index.d.mts +1 -1
  56. package/dist/contracts/model-registry/index.mjs +1 -1
  57. package/dist/contracts/native-session-supervisor/index.d.mts +1 -1
  58. package/dist/contracts/native-session-supervisor/index.mjs +1 -1
  59. package/dist/contracts/platform/index.d.mts +1 -1
  60. package/dist/contracts/platform/index.mjs +1 -1
  61. package/dist/contracts/provider/index.d.mts +2 -2
  62. package/dist/contracts/provider/index.mjs +1 -1
  63. package/dist/contracts/session/index.d.mts +2 -2
  64. package/dist/contracts/session/index.mjs +1 -1
  65. package/dist/contracts/shared/index.d.mts +2 -2
  66. package/dist/contracts/shared/index.mjs +1 -1
  67. package/dist/contracts/skill/index.d.mts +1 -1
  68. package/dist/contracts/skill/index.mjs +1 -1
  69. package/dist/contracts/telemetry/index.d.mts +1 -1
  70. package/dist/contracts/telemetry/index.mjs +1 -1
  71. package/dist/contracts/timeout/index.d.mts +1 -1
  72. package/dist/contracts/timeout/index.mjs +1 -1
  73. package/dist/contracts/toast/index.mjs +1 -1
  74. package/dist/contracts/variant/index.d.mts +1 -1
  75. package/dist/contracts/variant/index.mjs +1 -1
  76. package/dist/contracts/worker-node/index.d.mts +2 -0
  77. package/dist/contracts/worker-node/index.mjs +1 -0
  78. package/dist/contracts/workflow/index.d.mts +3 -3
  79. package/dist/contracts/workflow/index.mjs +1 -1
  80. package/dist/{definition-K3m51lgO.mjs → definition-CJfiv8xm.mjs} +1 -1
  81. package/dist/{detached-extension-handle-BsywhHfk.mjs → detached-extension-handle-Ddfquy5_.mjs} +1 -1
  82. package/dist/drizzle/0030_remote-worker-execution.sql +6 -0
  83. package/dist/drizzle/meta/_journal.json +7 -0
  84. package/dist/execution-attempt-repository-DWXKY41_.d.mts +1056 -0
  85. package/dist/execution-target-Cf645pDj.mjs +1 -0
  86. package/dist/{extension-Cgg45Xk1.mjs → extension-DCA4pYrY.mjs} +1 -1
  87. package/dist/extension-hjOPs10e.mjs +1 -0
  88. package/dist/{filesystem-service-Cupz_Z7S.mjs → filesystem-service-DlP2HfDg.mjs} +1 -1
  89. package/dist/framework-packages-C3RWfJDk.mjs +1 -0
  90. package/dist/git/index.mjs +1 -1
  91. package/dist/{globby-DWp7V-P2.mjs → globby-1yCVCk8s.mjs} +1 -1
  92. package/dist/{handlers-cMBmexF4.mjs → handlers-CfnLyLfE.mjs} +1 -1
  93. package/dist/{harness-DflvHAGV.mjs → harness-DpwsFsE7.mjs} +1 -1
  94. package/dist/{index-BhXCCgJV2.d.mts → index-4fE_hUP02.d.mts} +1 -1
  95. package/dist/{index-BMx59xb7.d.mts → index-8gKx-OVP.d.mts} +13 -7
  96. package/dist/index-B0Kf_OWi.d.mts +267 -0
  97. package/dist/{index-DRiTICBU.d.mts → index-BAXkicoQ.d.mts} +1 -1
  98. package/dist/{index-CnXXq6sW.d.mts → index-BC79QrGC.d.mts} +10 -10
  99. package/dist/{index-CvmWRumB.d.mts → index-BQLUVXIB.d.mts} +1024 -888
  100. package/dist/{index-CKO9S6oo.d.mts → index-BXD3kEs_.d.mts} +28 -10
  101. package/dist/{index-DUf47Jn_.d.mts → index-BskPjMet.d.mts} +8 -8
  102. package/dist/{index-CjyfQ_vQ.d.mts → index-CL-0NeQW.d.mts} +8 -5
  103. package/dist/{index-Cw7_69gV.d.mts → index-CRvpVIqA.d.mts} +1 -1
  104. package/dist/{index-7FjcxGlK.d.mts → index-CUvNKYkV.d.mts} +1 -1
  105. package/dist/{index-CtUTCAJ6.d.mts → index-CVaRZoiu.d.mts} +4 -4
  106. package/dist/{index-Cw84_Dqi.d.mts → index-CnMu8BQl.d.mts} +4 -4
  107. package/dist/{index-DaMfTvfz.d.mts → index-DA9g2A5P.d.mts} +1 -1
  108. package/dist/{index-Bi5jFT9S.d.mts → index-DJAmSnuh.d.mts} +12 -12
  109. package/dist/{index-pjATMrvJ.d.mts → index-DkiTJM5p.d.mts} +693 -31
  110. package/dist/{index-jbgHR5J2.d.mts → index-GHASUiem.d.mts} +1 -1
  111. package/dist/{index-BDDbcWNI.d.mts → index-HsTxm-R3.d.mts} +3 -3
  112. package/dist/{index-Bs3CXR232.d.mts → index-I5YG-qrb2.d.mts} +6 -6
  113. package/dist/{index-0Ju2i8gV.d.mts → index-SsBHjUqA.d.mts} +204 -165
  114. package/dist/index-XZyMxxnU.d.mts +1602 -0
  115. package/dist/{index-dkvGHN10.d.mts → index-brqfk9JQ.d.mts} +6 -6
  116. package/dist/{index-D43lQCHs.d.mts → index-q0Tiqems.d.mts} +131 -131
  117. package/dist/index-w_FmghjT.d.mts +7295 -0
  118. package/dist/kernel/cli/index.d.mts +2 -2
  119. package/dist/kernel/cli/index.mjs +1 -1
  120. package/dist/kernel/cli/register.d.mts +1 -1
  121. package/dist/kernel/cli/register.mjs +1 -1
  122. package/dist/kernel/cli/schemas.mjs +1 -1
  123. package/dist/kernel/extension/index.d.mts +1 -1
  124. package/dist/kernel/extension/index.mjs +1 -1
  125. package/dist/kernel/index.d.mts +14 -8
  126. package/dist/kernel/index.mjs +1 -1
  127. package/dist/kernel/namespace/index.d.mts +1 -1
  128. package/dist/kernel/namespace/index.mjs +1 -1
  129. package/dist/kernel/observability/index.d.mts +1 -1
  130. package/dist/kernel/observability/index.mjs +1 -1
  131. package/dist/kernel/providers/index.d.mts +1 -1
  132. package/dist/kernel/providers/index.mjs +1 -1
  133. package/dist/kernel/window/index.d.mts +1 -1
  134. package/dist/kernel/window/index.mjs +1 -1
  135. package/dist/{lib-BeMM738r.mjs → lib-C7-s68uf.mjs} +1 -1
  136. package/dist/{lib-B7TpTzkG.mjs → lib-DErgth_E.mjs} +2 -2
  137. package/dist/{load-extensions-BLdG90Zi.d.mts → load-extensions-BxsDB87B.d.mts} +1 -1
  138. package/dist/{load-extensions-CUmFCcYi.mjs → load-extensions-D0DfjYLC.mjs} +1 -1
  139. package/dist/{materialization-s8eR1eQ4.mjs → materialization-Jd198K3y.mjs} +1 -1
  140. package/dist/mcp-http-server/index.d.mts +305 -79
  141. package/dist/mcp-http-server/index.mjs +4 -4
  142. package/dist/model-BGgVmRnN.mjs +1 -0
  143. package/dist/modes-BheyN7SS.mjs +1 -0
  144. package/dist/{namespace-DwQtzlY-.mjs → namespace-BqxtpNAn.mjs} +1 -1
  145. package/dist/{namespace-BHliaabz.d.mts → namespace-DBm9K23m.d.mts} +6 -6
  146. package/dist/{namespace-zOfq1Uhn.d.mts → namespace-DI4Yx_xu.d.mts} +27 -27
  147. package/dist/namespace-DJfUADSV.mjs +1 -0
  148. package/dist/{namespace-BphMM6S82.d.mts → namespace-DPgxPa8m2.d.mts} +1 -1
  149. package/dist/{namespace-Bd49QmzS.d.mts → namespace-DWCEo-9M.d.mts} +0 -60
  150. package/dist/{namespace-CriPb5wY.d.mts → namespace-jPUGV-b2.d.mts} +42 -42
  151. package/dist/{native-session-supervisor-Bgz-Q1WH.mjs → native-session-supervisor-DRx0MX-d.mjs} +1 -1
  152. package/dist/node/bus-server/index.d.mts +1 -1
  153. package/dist/node/bus-server/index.mjs +1 -1
  154. package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
  155. package/dist/node/bus-server/server-lifecycle.mjs +1 -1
  156. package/dist/node/transports/index.d.mts +81 -9
  157. package/dist/node/transports/index.mjs +2 -2
  158. package/dist/{orchestrator-shared-CY7Tu7kZ.mjs → orchestrator-shared-BxmHCPvx.mjs} +1 -1
  159. package/dist/package-CNUPPcU1.mjs +7 -0
  160. package/dist/package-DWMxGfzK.d.mts +827 -0
  161. package/dist/{package-DKnzOvoR.mjs → package-Dft_RItb.mjs} +1 -1
  162. package/dist/package.json +1 -1
  163. package/dist/{packages-zDnokBpl.mjs → packages-DtEEP0Vt.mjs} +1 -1
  164. package/dist/{profile-BRi6K6am.mjs → profile-BTAI31Nt.mjs} +1 -1
  165. package/dist/{provider-context-DOsjOjiR.mjs → provider-context-Dq53Cgzz.mjs} +1 -1
  166. package/dist/{provider-context-BYkMl--1.mjs → provider-context-PZIQWcqQ.mjs} +1 -1
  167. package/dist/provider-operation-Cxoe2SUr.d.mts +207 -0
  168. package/dist/providers/index.mjs +1 -1
  169. package/dist/{registry-Dw6l7k3e.mjs → registry-wfF2uTty.mjs} +29 -29
  170. package/dist/{resolved-O2XXjTeu.mjs → resolved-DZgqql2Z.mjs} +1 -1
  171. package/dist/rules/index.d.mts +1 -1
  172. package/dist/rules/index.mjs +1 -1
  173. package/dist/rules/schemas.d.mts +1 -1
  174. package/dist/runtime-bun/index.mjs +1 -1
  175. package/dist/runtime-node/extension-discovery.d.mts +1 -1
  176. package/dist/runtime-node/extension-validation.d.mts +1 -1
  177. package/dist/runtime-node/extension-validation.mjs +1 -1
  178. package/dist/runtime-node/index.d.mts +4 -4
  179. package/dist/runtime-node/index.mjs +24 -24
  180. package/dist/runtime-node/makaio-config.d.mts +1 -1
  181. package/dist/runtime-node/makaio-config.mjs +1 -1
  182. package/dist/runtime-node/static/model-registry.yaml +348 -0
  183. package/dist/runtime-node/workflow-worker/index.d.mts +2 -2
  184. package/dist/runtime-node/workflow-worker/index.mjs +1 -1
  185. package/dist/runtime-node/workflow-worker/worker-entry.d.mts +7 -4
  186. package/dist/runtime-node/workflow-worker/worker-entry.mjs +1 -1
  187. package/dist/{schema-BO9TgmOs.d.mts → schema-Bwr_NrOS.d.mts} +2 -2
  188. package/dist/{schema-BI0aCHvV.mjs → schema-Dd-e89MO.mjs} +1 -1
  189. package/dist/{schemas-B5tMYfhC.d.mts → schemas-C4yUXs4G.d.mts} +4 -4
  190. package/dist/schemas-CRB2O5zo.mjs +1 -0
  191. package/dist/{schemas-Dgj3WaOI.mjs → schemas-Cm09dXL4.mjs} +1 -1
  192. package/dist/{schemas-BJ8VMXhO.mjs → schemas-DaHQzpgm.mjs} +1 -1
  193. package/dist/{schemas-BDC2Nqj1.d.mts → schemas-ENwK6jmV.d.mts} +14 -14
  194. package/dist/{schemas-ChF2z4RB.d.mts → schemas-N6x2z7Lf.d.mts} +0 -45
  195. package/dist/schemas-tDf_WiC8.mjs +1 -0
  196. package/dist/selection-BNwTKEVT.mjs +1 -0
  197. package/dist/service-base/index.d.mts +47 -2
  198. package/dist/service-base/index.mjs +1 -1
  199. package/dist/services/adapter-runtime/index.d.mts +3 -3
  200. package/dist/services/adapter-runtime/index.mjs +1 -1
  201. package/dist/services/adapter-runtime/namespace.d.mts +1 -1
  202. package/dist/services/adapter-runtime/schemas.d.mts +1 -1
  203. package/dist/services/adapter-subsystem/index.d.mts +3 -3
  204. package/dist/services/adapter-subsystem/index.mjs +1 -1
  205. package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
  206. package/dist/services/adapter-subsystem/namespace.mjs +1 -1
  207. package/dist/services/agent-runtime/index.d.mts +2 -2
  208. package/dist/services/agent-runtime/namespace.d.mts +1 -1
  209. package/dist/services/agent-runtime/schemas.d.mts +1 -1
  210. package/dist/services/capability/index.d.mts +1 -1
  211. package/dist/services/capability/index.mjs +1 -1
  212. package/dist/services/codebase/index.d.mts +2 -2
  213. package/dist/services/codebase/namespace.d.mts +1 -1
  214. package/dist/services/codebase/schemas.d.mts +1 -1
  215. package/dist/services/compression/index.d.mts +2 -2
  216. package/dist/services/compression/namespace.d.mts +1 -1
  217. package/dist/services/compression/schemas.d.mts +1 -1
  218. package/dist/services/context-rules/index.d.mts +7 -7
  219. package/dist/services/context-rules/index.mjs +1 -1
  220. package/dist/services/execution-target/index.d.mts +4 -4
  221. package/dist/services/execution-target/index.mjs +1 -1
  222. package/dist/services/execution-target/namespace.d.mts +1 -1
  223. package/dist/services/execution-target/namespace.mjs +1 -1
  224. package/dist/services/execution-target/schemas.d.mts +1 -1
  225. package/dist/services/execution-target/schemas.mjs +1 -1
  226. package/dist/services/filesystem/index.d.mts +1 -1
  227. package/dist/services/filesystem/index.mjs +1 -1
  228. package/dist/services/git/namespace.d.mts +2 -2
  229. package/dist/services/git/namespace.mjs +1 -1
  230. package/dist/services/git/schemas.d.mts +2 -2
  231. package/dist/services/git/schemas.mjs +1 -1
  232. package/dist/services/harness/index.d.mts +3 -3
  233. package/dist/services/harness/index.mjs +1 -1
  234. package/dist/services/index.d.mts +86 -371
  235. package/dist/services/index.mjs +1 -1
  236. package/dist/services/log-import/browser.d.mts +2 -2
  237. package/dist/services/log-import/index.d.mts +2 -2
  238. package/dist/services/log-import/log-import.d.mts +1 -1
  239. package/dist/services/log-import/log-import.mjs +1 -1
  240. package/dist/services/log-import/namespace.d.mts +2 -2
  241. package/dist/services/log-import/namespace.mjs +1 -1
  242. package/dist/services/log-import/schemas.d.mts +1 -1
  243. package/dist/services/log-import/schemas.mjs +1 -1
  244. package/dist/services/materialization/index.d.mts +1 -1
  245. package/dist/services/materialization/index.mjs +1 -1
  246. package/dist/services/model-registry/index.d.mts +1 -1
  247. package/dist/services/model-registry/index.mjs +1 -1
  248. package/dist/services/preferences/index.d.mts +2 -2
  249. package/dist/services/preferences/schemas.d.mts +1 -1
  250. package/dist/services/preferences/storage-namespace.d.mts +2 -2
  251. package/dist/services/provider-context/index.d.mts +1 -1
  252. package/dist/services/provider-context/index.mjs +1 -1
  253. package/dist/services/provider-runtime/index.mjs +1 -1
  254. package/dist/services/session/handlers/index.d.mts +1 -1
  255. package/dist/services/session/handlers/index.mjs +1 -1
  256. package/dist/services/session/index.d.mts +9 -9
  257. package/dist/services/session/index.mjs +1 -1
  258. package/dist/services/session/messages/namespace.d.mts +1 -1
  259. package/dist/services/session/messages/namespace.mjs +1 -1
  260. package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
  261. package/dist/services/session/orchestrator-testing/index.mjs +1 -1
  262. package/dist/services/session/session-events/namespace.d.mts +1 -1
  263. package/dist/services/session/session-events/namespace.mjs +1 -1
  264. package/dist/services/session/storage/namespace.d.mts +1 -1
  265. package/dist/services/session/storage/schema.d.mts +1 -1
  266. package/dist/services/session/testing/index.mjs +1 -1
  267. package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
  268. package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
  269. package/dist/services/session/turns/namespace.d.mts +1 -1
  270. package/dist/services/session/turns/namespace.mjs +1 -1
  271. package/dist/services/session-editor/index.d.mts +1 -1
  272. package/dist/services/session-editor/index.mjs +1 -1
  273. package/dist/services/settings/index.d.mts +3 -3
  274. package/dist/services/settings/index.mjs +1 -1
  275. package/dist/services/settings/namespace.d.mts +14 -14
  276. package/dist/services/settings/namespace.mjs +1 -1
  277. package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
  278. package/dist/services/settings/storage/clients-namespace.mjs +1 -1
  279. package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
  280. package/dist/services/settings/storage/index.d.mts +3 -3
  281. package/dist/services/settings/storage/index.mjs +1 -1
  282. package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
  283. package/dist/services/settings/storage/providers-namespace.mjs +1 -1
  284. package/dist/services/subagent/index.d.mts +1 -1
  285. package/dist/services/subagent/index.mjs +1 -1
  286. package/dist/services/subagent-template/index.d.mts +2 -2
  287. package/dist/services/subagent-template/namespace.d.mts +1 -1
  288. package/dist/services/subagent-template/schemas.d.mts +1 -1
  289. package/dist/services/tool-approval/index.d.mts +1 -1
  290. package/dist/services/tool-approval/index.mjs +1 -1
  291. package/dist/services/tools/index.d.mts +1 -1
  292. package/dist/services/tools/index.mjs +1 -1
  293. package/dist/services/tray-menu/index.d.mts +3 -3
  294. package/dist/services/tray-menu/index.mjs +1 -1
  295. package/dist/services/tray-menu/namespace.d.mts +1 -1
  296. package/dist/services/tray-menu/schemas.d.mts +1 -1
  297. package/dist/services/turn/index.d.mts +1 -1
  298. package/dist/services/turn/namespace.d.mts +1 -1
  299. package/dist/services/workflow-transitions/index.d.mts +2 -0
  300. package/dist/services/workflow-transitions/index.mjs +1 -0
  301. package/dist/{session-Carng3Yk.mjs → session-BOGCd18q.mjs} +1 -1
  302. package/dist/{session-idI1jk5X.mjs → session-BTFiDoGz.mjs} +1 -1
  303. package/dist/{session-lineage-Cte63dGx.d.mts → session-lineage-B_JW5LpF.d.mts} +1 -1
  304. package/dist/{shared-RP_KARKF.mjs → shared-BQ0CHIVy.mjs} +1 -1
  305. package/dist/{skill-CpNjWFuE.mjs → skill-BR6rkfLe.mjs} +1 -1
  306. package/dist/{src-XihJcAQS.mjs → src-DD0v-nIj.mjs} +1 -1
  307. package/dist/storage/drizzle/client.d.mts +1 -1
  308. package/dist/storage/drizzle/client.mjs +1 -1
  309. package/dist/storage/drizzle/index.d.mts +50 -2
  310. package/dist/storage/drizzle/index.mjs +1 -1
  311. package/dist/storage/handlers/drizzle/index.d.mts +1 -1
  312. package/dist/storage/handlers/drizzle/index.mjs +1 -1
  313. package/dist/storage/handlers/index.d.mts +1 -1
  314. package/dist/storage/handlers/index.mjs +1 -1
  315. package/dist/testing/drizzle-harness.d.mts +44 -3
  316. package/dist/testing/drizzle-harness.mjs +1 -1
  317. package/dist/{tool-approval-service-fIZ9x0kL.mjs → tool-approval-service-kBA0fRzm.mjs} +1 -1
  318. package/dist/tools-PdG9fO1M.mjs +1 -0
  319. package/dist/{transition-BodgGLZx.d.mts → transition-DuVzKt8-.d.mts} +3 -42
  320. package/dist/{types-LspCUW09.d.mts → types-B1MNcwgH.d.mts} +1 -1
  321. package/dist/{types-Bzxo7ATi.d.mts → types-BqVAOzJP.d.mts} +48 -48
  322. package/dist/{types-DBb5jY4Z.d.mts → types-CJ_QZ1yW.d.mts} +47 -3
  323. package/dist/ui-kernel/index.d.mts +1 -1
  324. package/dist/ui-kernel/index.mjs +1 -1
  325. package/dist/ui-kernel/pages/schemas.d.mts +1 -1
  326. package/dist/utils/index.d.mts +18 -4
  327. package/dist/utils/index.mjs +1 -1
  328. package/dist/{version-BbWrAPld.mjs → version-CoCeMxDT.mjs} +1 -1
  329. package/dist/{view-builder-tU7iaxrk.d.mts → view-builder-CvoSL2oL.d.mts} +2 -1
  330. package/dist/visibility-qhGWmpSJ.mjs +1 -0
  331. package/dist/worker-node-Bl9_vqYi.mjs +1 -0
  332. package/dist/worker-node-DZTuT1DS.mjs +1 -0
  333. package/dist/workflow-BfDbgtIQ.mjs +1 -0
  334. package/dist/workflow-engine/execution-attempt-repository.d.mts +2 -0
  335. package/dist/workflow-engine/execution-attempt-repository.mjs +1 -0
  336. package/dist/workflow-engine/index.d.mts +619 -685
  337. package/dist/workflow-engine/index.mjs +1 -1
  338. package/dist/workflow-engine/package.d.mts +1 -1
  339. package/dist/workflow-engine/package.mjs +1 -1
  340. package/dist/workflow-engine/provider-operation.d.mts +2 -0
  341. package/dist/workflow-engine/provider-operation.mjs +1 -0
  342. package/dist/workflow-engine/testing/index.d.mts +146 -0
  343. package/dist/workflow-engine/testing/index.mjs +1 -0
  344. package/dist/workflow-engine/testing/sqlite.d.mts +22 -0
  345. package/dist/workflow-engine/testing/sqlite.mjs +130 -0
  346. package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
  347. package/dist/workflow-transitions-DSc45ixc.mjs +1 -0
  348. package/dist/workflow-worker-BN9XPxQO.mjs +1 -0
  349. package/package.json +20 -3
  350. package/dist/authority-state-bootstrap-C_-F_dtq.mjs +0 -1
  351. package/dist/execution-target-CsZXIvli.mjs +0 -1
  352. package/dist/extension-CjTu6mzW.mjs +0 -1
  353. package/dist/model-uE5IyUFJ.mjs +0 -1
  354. package/dist/namespace-C05pkLbN.mjs +0 -1
  355. package/dist/package-BSG1681x.d.mts +0 -427
  356. package/dist/package-DW1Upu8E.mjs +0 -7
  357. package/dist/schemas-BRxU_oqL.mjs +0 -1
  358. package/dist/schemas-C-J4W1ID.mjs +0 -1
  359. package/dist/selection-YRuVSdck.mjs +0 -1
  360. package/dist/tools-Cs2DwjCC.mjs +0 -1
  361. package/dist/visibility-Cb62p9bv.mjs +0 -1
  362. package/dist/workflow-BX-FxDb0.mjs +0 -1
  363. package/dist/workflow-worker-DR9qYOFc.mjs +0 -1
  364. /package/dist/{adapter-auth-runtime-DFBLXD5K.mjs → adapter-auth-runtime-DO-FVTXg.mjs} +0 -0
  365. /package/dist/{adapter-binding-Dfk_g-lP.d.mts → adapter-binding-DQchUtrK.d.mts} +0 -0
  366. /package/dist/{ajv-C8r45sFs.mjs → ajv-DD3SIL2i.mjs} +0 -0
  367. /package/dist/{attach-error-DCnzW-Yz.mjs → attach-error-C3tngg6J.mjs} +0 -0
  368. /package/dist/{await-trigger-UceeyCyi.mjs → await-trigger-I3lrepb8.mjs} +0 -0
  369. /package/dist/{base-orchestrator-5yH3l39s.d.mts → base-orchestrator-BilsQNW1.d.mts} +0 -0
  370. /package/dist/{capability-service-BzKBK0n2.mjs → capability-service-BqiLlRGA.mjs} +0 -0
  371. /package/dist/{client-DYEHDiJN.d.mts → client-B--e2qcU.d.mts} +0 -0
  372. /package/dist/{client-binary-version-verifier-C12PvQmz.d.mts → client-binary-version-verifier-CgjM_vGF.d.mts} +0 -0
  373. /package/dist/{client-binary-version-verifier-Dv7TGFxh.mjs → client-binary-version-verifier-taewmKTY.mjs} +0 -0
  374. /package/dist/{clients-namespace-DcFmhtLv.d.mts → clients-namespace-DfxjG2ZP.d.mts} +0 -0
  375. /package/dist/{config-namespace-DmP7NVju.d.mts → config-namespace-BCqvufbD.d.mts} +0 -0
  376. /package/dist/{create-static-mount-BLbqGmva.mjs → create-static-mount-bbQhTt6W.mjs} +0 -0
  377. /package/dist/{cross-spawn-BXxQUsPS.mjs → cross-spawn-B57KZuns.mjs} +0 -0
  378. /package/dist/{cursor-storage-DCj4uUxr.mjs → cursor-storage-DIFK_9hg.mjs} +0 -0
  379. /package/dist/{definition-BEvV7tbD.d.mts → definition-gnKgXU91.d.mts} +0 -0
  380. /package/dist/{definitions-C1pgx0Nq.mjs → definitions-xrrY0wgz.mjs} +0 -0
  381. /package/dist/{descriptor-to-package-VfB8lK5w.mjs → descriptor-to-package-DvF08krT.mjs} +0 -0
  382. /package/dist/{drizzle-oCH9H53q.mjs → drizzle-z_0SiGY8.mjs} +0 -0
  383. /package/dist/{esm-ClQELElL.mjs → esm-CltRnX8_.mjs} +0 -0
  384. /package/dist/{event-BOLVCfhH.mjs → event-CmVjR6Ib.mjs} +0 -0
  385. /package/dist/{extension-discovery-B6p3iZaV.d.mts → extension-discovery-CQRdbVQ6.d.mts} +0 -0
  386. /package/dist/{extension-namespace-vrh4ERXR.mjs → extension-namespace-Yu41YepM.mjs} +0 -0
  387. /package/dist/{facet-DqPBpqkl.mjs → facet-BCI00njh.mjs} +0 -0
  388. /package/dist/{filesystem-service-CGdboor3.d.mts → filesystem-service-CQ9yVkSz.d.mts} +0 -0
  389. /package/dist/{handler-GGOD_ofd.mjs → handler-Cbv9FqDO.mjs} +0 -0
  390. /package/dist/{hook-responses-Dg8wDvRo.d.mts → hook-responses-Dh1PWXqJ.d.mts} +0 -0
  391. /package/dist/{host-BfgdjlII.mjs → host-Caq6ZfSJ.mjs} +0 -0
  392. /package/dist/{identity-BmEHHoBw.mjs → identity-D6guMtmi.mjs} +0 -0
  393. /package/dist/{index-DEchpaya.d.mts → index-BIdsFcQs2.d.mts} +0 -0
  394. /package/dist/{index-DquI_1X5.d.mts → index-BVRQEpAg.d.mts} +0 -0
  395. /package/dist/{index-Brdc35b-.d.mts → index-BaZeoZoS.d.mts} +0 -0
  396. /package/dist/{index-BSmwpgkR.d.mts → index-ByKi34v5.d.mts} +0 -0
  397. /package/dist/{index-oYGf2zIe.d.mts → index-CGZQVTid.d.mts} +0 -0
  398. /package/dist/{index-Chy9aknK.d.mts → index-CMJZ2Z8m.d.mts} +0 -0
  399. /package/dist/{index-Bd1GC1kU2.d.mts → index-CjdRdsd0.d.mts} +0 -0
  400. /package/dist/{index-DYUxNOIX.d.mts → index-Cv-o5Krs.d.mts} +0 -0
  401. /package/dist/{index-DC0yVsYL.d.mts → index-DN4NOCqN2.d.mts} +0 -0
  402. /package/dist/{index-CcsJnJOD.d.mts → index-DR40QWlw.d.mts} +0 -0
  403. /package/dist/{index-BG9-vQHD.d.mts → index-DZunhZec.d.mts} +0 -0
  404. /package/dist/{index-BsBvs0aK.d.mts → index-DjgLchuQ.d.mts} +0 -0
  405. /package/dist/{index-pgYFJ5h6.d.mts → index-Dm1nUxCF.d.mts} +0 -0
  406. /package/dist/{index-C96LlS5m.d.mts → index-Ds5_rDEJ.d.mts} +0 -0
  407. /package/dist/{index-GYZs75UP.d.mts → index-dtsLKOID.d.mts} +0 -0
  408. /package/dist/{index-8fJ6dkzR.d.mts → index-gUhidukN.d.mts} +0 -0
  409. /package/dist/{index-BgpYhR2z.d.mts → index-jTaAHsul.d.mts} +0 -0
  410. /package/dist/{index-Ci3_i-WC2.d.mts → index-sS6KUlrx.d.mts} +0 -0
  411. /package/dist/{index-CFeY8lfU.d.mts → index-vA--0lOM.d.mts} +0 -0
  412. /package/dist/{index-BUYyZm5I.d.mts → index-vcSj12YQ.d.mts} +0 -0
  413. /package/dist/{index-CdEhEXlY.d.mts → index-ye0oklfU.d.mts} +0 -0
  414. /package/dist/{json-value-BwVdTylT.d.mts → json-value-Brslhqbm.d.mts} +0 -0
  415. /package/dist/{jsonl-transport-D8RBF0dK.mjs → jsonl-transport-bQl3JwIu.mjs} +0 -0
  416. /package/dist/{lib-3_xcE8J-.mjs → lib-DOBXZmYX.mjs} +0 -0
  417. /package/dist/{model-registry-CoegIvks.mjs → model-registry-CmgcPDH3.mjs} +0 -0
  418. /package/dist/{model-registry-BneK5SGo.mjs → model-registry-xyBKSye-.mjs} +0 -0
  419. /package/dist/{namespace-CDO4rY11.mjs → namespace-B8uKAzWJ.mjs} +0 -0
  420. /package/dist/{namespace-BsF9IxJ9.d.mts → namespace-BOkKoq34.d.mts} +0 -0
  421. /package/dist/{namespace-SQAGytmu.d.mts → namespace-Blp4c8GK.d.mts} +0 -0
  422. /package/dist/{namespace-BeED_Ojz.mjs → namespace-C-9si-fV.mjs} +0 -0
  423. /package/dist/{namespace-De9Mg3zv.d.mts → namespace-CErHuXtb.d.mts} +0 -0
  424. /package/dist/{namespace-BHj13hbA.mjs → namespace-CWGKCNZm.mjs} +0 -0
  425. /package/dist/{namespace-D7pE2QWv.mjs → namespace-CWUDFGOy.mjs} +0 -0
  426. /package/dist/{namespace-D9HNjIdc.d.mts → namespace-Cv1RFP7n.d.mts} +0 -0
  427. /package/dist/{namespace-CI313bRv.d.mts → namespace-Dkod-w11.d.mts} +0 -0
  428. /package/dist/{namespace-lWlqWTKu.d.mts → namespace-GPA7zots.d.mts} +0 -0
  429. /package/dist/{namespace-DWwWnLBu.mjs → namespace-HO2J9sO8.mjs} +0 -0
  430. /package/dist/{namespace-C238RqwB.mjs → namespace-YxU1xf-K.mjs} +0 -0
  431. /package/dist/{namespace-BetqZA7Z.d.mts → namespace-YytVKIgI.d.mts} +0 -0
  432. /package/dist/{namespace-B9CYb9Gh.d.mts → namespace-jDhZjw-i.d.mts} +0 -0
  433. /package/dist/{namespace-BSXHdCVh2.d.mts → namespace-tGRAod3o.d.mts} +0 -0
  434. /package/dist/{orchestrator-shared-BB6j8ezL.d.mts → orchestrator-shared-BHCv-l2O.d.mts} +0 -0
  435. /package/dist/{out-CFkI17mk.mjs → out-CvjtANXN.mjs} +0 -0
  436. /package/dist/{packages-DeIgn0Hn.d.mts → packages-BZ6pzFIq.d.mts} +0 -0
  437. /package/dist/{platform-CWhGFQFX.mjs → platform-Bv8llU9c.mjs} +0 -0
  438. /package/dist/{providers-CUnrif24.mjs → providers-Co5UszRH.mjs} +0 -0
  439. /package/dist/{providers-namespace-sPbGcZ6I.d.mts → providers-namespace-DjFkmvBR.d.mts} +0 -0
  440. /package/dist/{quick-lru-CTBjxfgD.mjs → quick-lru-CrOpWwrf.mjs} +0 -0
  441. /package/dist/{schema-cus0dJ81.mjs → schema-Db-y-09L.mjs} +0 -0
  442. /package/dist/{schema-introspection-BsWLmoFp.mjs → schema-introspection-DgWQCpwx.mjs} +0 -0
  443. /package/dist/{schemas-DYvvMd3c.d.mts → schemas-B1NWNASS.d.mts} +0 -0
  444. /package/dist/{schemas-CMyv7l7-.mjs → schemas-BGExwp3j.mjs} +0 -0
  445. /package/dist/{schemas-Dmij0PIc.d.mts → schemas-BO7uOum6.d.mts} +0 -0
  446. /package/dist/{schemas-BGS9RfqV.mjs → schemas-Bfxskx_2.mjs} +0 -0
  447. /package/dist/{schemas-BKKpQC4X2.d.mts → schemas-BtZqovRH.d.mts} +0 -0
  448. /package/dist/{schemas-BAvt2HDy.d.mts → schemas-CQyRBqD6.d.mts} +0 -0
  449. /package/dist/{schemas-D55eXBgl.d.mts → schemas-CR8hSqTy.d.mts} +0 -0
  450. /package/dist/{schemas-CWxf_Yut.mjs → schemas-CqRm0i9a.mjs} +0 -0
  451. /package/dist/{schemas-CiWCNQ9a2.d.mts → schemas-CwbYk_kZ.d.mts} +0 -0
  452. /package/dist/{schemas-CbMWN9-z.d.mts → schemas-DuIlOWR3.d.mts} +0 -0
  453. /package/dist/{schemas-B4FyOOJj.d.mts → schemas-miYxK_Z1.d.mts} +0 -0
  454. /package/dist/{semver-D3Y7uMEb.mjs → semver-DlM8znk4.mjs} +0 -0
  455. /package/dist/{server-lifecycle-C-3OgoKi.d.mts → server-lifecycle-Dsq56aqC.d.mts} +0 -0
  456. /package/dist/{server-lifecycle-DV6NMsgH.mjs → server-lifecycle-kmQ5PUDv.mjs} +0 -0
  457. /package/dist/{shared-schemas-BNCPgGYP.mjs → shared-schemas-DXwyMCwZ.mjs} +0 -0
  458. /package/dist/{src-ftBp6GpR.mjs → src-CCu8TwL6.mjs} +0 -0
  459. /package/dist/{storage-namespace-B1GI4elv.mjs → storage-namespace-BSrv0vXR.mjs} +0 -0
  460. /package/dist/{storage-namespace-definition-V8sc3drq.d.mts → storage-namespace-definition-BvlX0QV_.d.mts} +0 -0
  461. /package/dist/{storage-namespace-definition-4UYuij1r.mjs → storage-namespace-definition-CkMKt7-I.mjs} +0 -0
  462. /package/dist/{storage-namespace-9N9R61pI.d.mts → storage-namespace-dfywhXR3.d.mts} +0 -0
  463. /package/dist/{supports-color-DwW9N6YC.mjs → supports-color-DUugCQsK.mjs} +0 -0
  464. /package/dist/{telemetry-B42EMbZt.mjs → telemetry-Pr3oP2rk.mjs} +0 -0
  465. /package/dist/{timeout-CvONPl0l.mjs → timeout-DWDhddRJ.mjs} +0 -0
  466. /package/dist/{tray-menu-service-Dgedanv-.mjs → tray-menu-service-BBLa-Rcv.mjs} +0 -0
  467. /package/dist/{types-DkFvBdIY.d.mts → types-BrcjaNPZ.d.mts} +0 -0
  468. /package/dist/{types-DVLq657Y.d.mts → types-DHmPneIO.d.mts} +0 -0
  469. /package/dist/{types-Bju4dmAg.d.mts → types-b54n1o57.d.mts} +0 -0
  470. /package/dist/{ui-config-B2L3Xgqo.mjs → ui-config-CyCdlns_.mjs} +0 -0
  471. /package/dist/{variant-ByI-RZua.mjs → variant-krjlTdJt.mjs} +0 -0
  472. /package/dist/{window-registry-Qcnvlhp7.d.mts → window-registry-BDnZLPVx.d.mts} +0 -0
  473. /package/dist/{window-registry-DsWnCc8z.mjs → window-registry-I-imZHV_.mjs} +0 -0
@@ -1,4 +1,4 @@
1
- import { _ as LogImporter, i as LogFileChangeEvent, n as LogOrchestratorConfig, t as BaseLogOrchestrator } from "../base-orchestrator-5yH3l39s.mjs";
1
+ import { _ as LogImporter, i as LogFileChangeEvent, n as LogOrchestratorConfig, t as BaseLogOrchestrator } from "../base-orchestrator-BilsQNW1.mjs";
2
2
 
3
3
  //#region adapters/core/src/log-importer/jsonl-parser.d.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import{o as e,t}from"../chunk-DTipWd-i.mjs";import{i as n,r}from"../cursor-storage-DCj4uUxr.mjs";import{t as i}from"../globby-DWp7V-P2.mjs";import*as a from"node:fs/promises";import*as o from"node:path";import{MakaioBus as s}from"@makaio/framework/bus";import{AdapterSubjects as c,ClientSubjects as l,SessionStorageSubjects as u,SessionSubjects as d}from"@makaio/framework/contracts";const f=65536;async function p(e){let{filePath:t,startOffset:n=0}=e,r=[],i=[],o=n,s;try{s=await a.open(t,`r`);let e=await s.stat();if(n>=e.size)return{records:r,bytesRead:n,errors:i};let c=Buffer.alloc(f),l=``,u=n,d=0;for(n>0&&(d=await v(s,n));u<e.size;){let{bytesRead:e}=await s.read(c,0,f,u);if(e===0)break;l+=c.toString(`utf8`,0,e),u+=e;let t=l.split(`
1
+ import{o as e,t}from"../chunk-DTipWd-i.mjs";import{i as n,r}from"../cursor-storage-DIFK_9hg.mjs";import{t as i}from"../globby-1yCVCk8s.mjs";import*as a from"node:fs/promises";import*as o from"node:path";import{MakaioBus as s}from"@makaio/framework/bus";import{AdapterSubjects as c,ClientSubjects as l,SessionStorageSubjects as u,SessionSubjects as d}from"@makaio/framework/contracts";const f=65536;async function p(e){let{filePath:t,startOffset:n=0}=e,r=[],i=[],o=n,s;try{s=await a.open(t,`r`);let e=await s.stat();if(n>=e.size)return{records:r,bytesRead:n,errors:i};let c=Buffer.alloc(f),l=``,u=n,d=0;for(n>0&&(d=await v(s,n));u<e.size;){let{bytesRead:e}=await s.read(c,0,f,u);if(e===0)break;l+=c.toString(`utf8`,0,e),u+=e;let t=l.split(`
2
2
  `),n=t.pop();for(let e of t){if(d++,e.trim()===``){o+=Buffer.byteLength(e,`utf8`)+1;continue}let t=g(e,d);t.success?r.push(t.record):i.push(t.error),o+=Buffer.byteLength(e,`utf8`)+1}l=n??``}return{records:r,bytesRead:o,errors:i}}finally{s&&await s.close()}}async function m(e,t){let n=[],r;try{r=await a.open(e,`r`);let i=Buffer.alloc(f),o=``,s=0;for(;n.length<t;){let{bytesRead:e}=await r.read(i,0,f,s);if(e===0)break;o+=i.toString(`utf8`,0,e),s+=e;let a=o.split(`
3
3
  `);o=a.pop()??``;for(let e of a){if(n.length>=t)break;let r=e.trim();if(r!==``)try{n.push(JSON.parse(r))}catch{}}}return n}finally{r&&await r.close()}}async function h(e,t){let n;try{n=await a.open(e,`r`);let r=Buffer.alloc(f),i=``,o=0;for(;;){let{bytesRead:e}=await n.read(r,0,f,o);if(e===0)break;i+=r.toString(`utf8`,0,e),o+=e;let a=i.split(`
4
4
  `);i=a.pop()??``;for(let e of a){let n=e.trim();if(n!==``)try{if(t(JSON.parse(n)))return!0}catch{}}}return!1}finally{n&&await n.close()}}function g(e,t){try{return{success:!0,record:JSON.parse(e)}}catch(n){return{success:!1,error:{line:t,error:n instanceof Error?n.message:String(n),content:_(e)}}}}function _(e){return e.length<=200?e:e.slice(0,200)+`...`}async function v(e,t){let n=0,r=Buffer.alloc(f),i=0;for(;i<t;){let a=Math.min(f,t-i),{bytesRead:o}=await e.read(r,0,a,i);if(o===0)break;for(let e=0;e<o;e++)r[e]===10&&n++;i+=o}return n}var y=e(t(((e,t)=>{var n=Object.prototype.hasOwnProperty,r=`~`;function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1));function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,n,i,o){if(typeof n!=`function`)throw TypeError(`The listener must be a function`);var s=new a(n,i||e,o),c=r?r+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){--e._eventsCount===0?e._events=new i:delete e._events[t]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)n.call(t,i)&&e.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e},c.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,o=Array(a);i<a;i++)o[i]=n[i].fn;return o},c.prototype.listenerCount=function(e){var t=r?r+e:e,n=this._events[t];return n?n.fn?1:n.length:0},c.prototype.emit=function(e,t,n,i,a,o){var s=r?r+e:e;if(!this._events[s])return!1;var c=this._events[s],l=arguments.length,u,d;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,i),!0;case 5:return c.fn.call(c.context,t,n,i,a),!0;case 6:return c.fn.call(c.context,t,n,i,a,o),!0}for(d=1,u=Array(l-1);d<l;d++)u[d-1]=arguments[d];c.fn.apply(c.context,u)}else{var f=c.length,p;for(d=0;d<f;d++)switch(c[d].once&&this.removeListener(e,c[d].fn,void 0,!0),l){case 1:c[d].fn.call(c[d].context);break;case 2:c[d].fn.call(c[d].context,t);break;case 3:c[d].fn.call(c[d].context,t,n);break;case 4:c[d].fn.call(c[d].context,t,n,i);break;default:if(!u)for(p=1,u=Array(l-1);p<l;p++)u[p-1]=arguments[p];c[d].fn.apply(c[d].context,u)}}return!0},c.prototype.on=function(e,t,n){return o(this,e,t,n,!1)},c.prototype.once=function(e,t,n){return o(this,e,t,n,!0)},c.prototype.removeListener=function(e,t,n,i){var a=r?r+e:e;if(!this._events[a])return this;if(!t)return s(this,a),this;var o=this._events[a];if(o.fn)o.fn===t&&(!i||o.once)&&(!n||o.context===n)&&s(this,a);else{for(var c=0,l=[],u=o.length;c<u;c++)(o[c].fn!==t||i&&!o[c].once||n&&o[c].context!==n)&&l.push(o[c]);l.length?this._events[a]=l.length===1?l[0]:l:s(this,a)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=r?r+e:e,this._events[t]&&s(this,t)):(this._events=new i,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=r,c.EventEmitter=c,t!==void 0&&(t.exports=c)}))(),1),b=class e extends Error{name=`TimeoutError`;constructor(t,n){super(t,n),Error.captureStackTrace?.(this,e)}};const x=e=>e.reason??new DOMException(`This operation was aborted.`,`AbortError`);function S(e,t){let{milliseconds:n,fallback:r,message:i,customTimers:a={setTimeout,clearTimeout},signal:o}=t,s,c,l=new Promise((t,l)=>{if(typeof n!=`number`||Math.sign(n)!==1)throw TypeError(`Expected \`milliseconds\` to be a positive number, got \`${n}\``);if(o?.aborted){l(x(o));return}if(o&&(c=()=>{l(x(o))},o.addEventListener(`abort`,c,{once:!0})),e.then(t,l),n===1/0)return;let u=new b;s=a.setTimeout.call(void 0,()=>{if(r){try{t(r())}catch(e){l(e)}return}typeof e.cancel==`function`&&e.cancel(),i===!1?t():i instanceof Error?l(i):(u.message=i??`Promise timed out after ${n} milliseconds`,l(u))},n)}).finally(()=>{l.clear(),c&&o&&o.removeEventListener(`abort`,c)});return l.clear=()=>{a.clearTimeout.call(void 0,s),s=void 0},l}function C(e,t,n){let r=0,i=e.length;for(;i>0;){let a=Math.trunc(i/2),o=r+a;n(e[o],t)<=0?(r=++o,i-=a+1):i=a}return r}var w=class{#e=[];#t=0;enqueue(e,t){let{priority:n=0,id:r}=t??{},{size:i}=this,a={priority:n,id:r,run:e};if(i===0){this.#e.length=0,this.#t=0,this.#e.push(a);return}if(this.#e.at(-1).priority>=n){this.#e.push(a);return}this.#n();let o=C(this.#e,a,(e,t)=>t.priority-e.priority);this.#e.splice(o,0,a)}setPriority(e,t){let n=this.#e.findIndex((t,n)=>n>=this.#t&&t.id===e);if(n===-1)throw ReferenceError(`No promise function with the id "${e}" exists in the queue.`);let[r]=this.#e.splice(n,1);this.enqueue(r.run,{priority:t,id:e})}remove(e){let t=this.#e.findIndex((t,n)=>n<this.#t?!1:typeof e==`string`?t.id===e:t.run===e);t!==-1&&this.#e.splice(t,1)}dequeue(){if(this.#t===this.#e.length)return;let e=this.#e[this.#t];return this.#t++,this.#t===this.#e.length?(this.#e.length=0,this.#t=0):this.#t>100&&this.#t>this.#e.length/2&&this.#n(),e?.run}filter(e){let t=[];for(let n=this.#t;n<this.#e.length;n++){let r=this.#e[n];r.priority===e.priority&&t.push(r.run)}return t}get size(){return this.#e.length-this.#t}#n(){this.#t!==0&&(this.#e.splice(0,this.#t),this.#t=0)}},T=class extends y.default{#e;#t;#n=0;#r;#i=!1;#a=!1;#o;#s=0;#c=0;#l;#u;#d;#f=[];#p=0;#m;#h;#g=0;#_;#v;#y=1n;#b=new Map;#x=new Set;timeout;constructor(e){if(super(),e={carryoverIntervalCount:!1,intervalCap:1/0,interval:0,concurrency:1/0,autoStart:!0,queueClass:w,strict:!1,...e},!(typeof e.intervalCap==`number`&&e.intervalCap>=1))throw TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??``}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??``}\` (${typeof e.interval})`);if(e.strict&&e.interval===0)throw TypeError("The `strict` option requires a non-zero `interval`");if(e.strict&&e.intervalCap===1/0)throw TypeError("The `strict` option requires a finite `intervalCap`");if(this.#e=e.carryoverIntervalCount??e.carryoverConcurrencyCount??!1,this.#t=e.intervalCap===1/0||e.interval===0,this.#r=e.intervalCap,this.#o=e.interval,this.#d=e.strict,this.#m=new e.queueClass,this.#h=e.queueClass,this.concurrency=e.concurrency,e.timeout!==void 0&&!(Number.isFinite(e.timeout)&&e.timeout>0))throw TypeError(`Expected \`timeout\` to be a positive finite number, got \`${e.timeout}\` (${typeof e.timeout})`);this.timeout=e.timeout,this.#v=e.autoStart===!1,this.#z()}#S(e){for(;this.#p<this.#f.length;){let t=this.#f[this.#p];if(t!==void 0&&e-t>=this.#o)this.#p++;else break}(this.#p>100&&this.#p>this.#f.length/2||this.#p===this.#f.length)&&(this.#f=this.#f.slice(this.#p),this.#p=0)}#C(e){this.#d?this.#f.push(e):this.#n++}#w(){this.#d?this.#f.length>this.#p&&this.#f.pop():this.#n>0&&this.#n--}#T(){return this.#f.length-this.#p}get#E(){return this.#t?!0:this.#d?this.#T()<this.#r:this.#n<this.#r}get#D(){return this.#g<this.#_}#O(){this.#g--,this.#g===0&&this.emit(`pendingZero`),this.#P(),this.emit(`next`)}#k(){this.#u=void 0,this.#I(),this.#F()}#A(e){if(this.#d){if(this.#S(e),this.#T()>=this.#r){let t=this.#f[this.#p],n=this.#o-(e-t);return this.#j(n),!0}return!1}if(this.#l===void 0){let t=this.#s-e;if(t<0){if(this.#c>0){let t=e-this.#c;if(t<this.#o)return this.#j(this.#o-t),!0}this.#n=this.#e?this.#g:0}else return this.#j(t),!0}return!1}#j(e){this.#u===void 0&&(this.#u=setTimeout(()=>{this.#k()},e))}#M(){this.#l&&=(clearInterval(this.#l),void 0)}#N(){this.#u&&=(clearTimeout(this.#u),void 0)}#P(){if(this.#m.size===0){if(this.#M(),this.emit(`empty`),this.#g===0){if(this.#N(),this.#d&&this.#p>0){let e=Date.now();this.#S(e)}this.emit(`idle`)}return!1}let e=!1;if(!this.#v){let t=Date.now(),n=!this.#A(t);if(this.#E&&this.#D){let r=this.#m.dequeue();this.#t||(this.#C(t),this.#B()),this.emit(`active`),r(),n&&this.#F(),e=!0}}return e}#F(){this.#t||this.#l!==void 0||this.#d||(this.#l=setInterval(()=>{this.#I()},this.#o),this.#s=Date.now()+this.#o)}#I(){this.#d||(this.#n===0&&this.#g===0&&this.#l&&this.#M(),this.#n=this.#e?this.#g:0),this.#L(),this.#B()}#L(){for(;this.#P(););}get concurrency(){return this.#_}set concurrency(e){if(!(typeof e==`number`&&e>=1))throw TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#_=e,this.#L()}setPriority(e,t){if(typeof t!=`number`||!Number.isFinite(t))throw TypeError(`Expected \`priority\` to be a finite number, got \`${t}\` (${typeof t})`);this.#m.setPriority(e,t)}async add(e,t={}){return t={timeout:this.timeout,...t,id:t.id??(this.#y++).toString()},new Promise((n,r)=>{let i=Symbol(`task-${t.id}`),a=()=>void 0,o=async()=>{a(),this.#g++,this.#b.set(i,{id:t.id,priority:t.priority??0,startTime:Date.now(),timeout:t.timeout});let o;try{try{t.signal?.throwIfAborted()}catch(e){throw this.#V(),this.#b.delete(i),e}this.#c=Date.now();let r=e({signal:t.signal});if(t.timeout&&(r=S(Promise.resolve(r),{milliseconds:t.timeout,message:`Task timed out after ${t.timeout}ms (queue has ${this.#g} running, ${this.#m.size} waiting)`})),t.signal){let{signal:e}=t;r=Promise.race([r,new Promise((t,n)=>{o=()=>{n(e.reason)},e.addEventListener(`abort`,o,{once:!0})})])}let a=await r;n(a),this.emit(`completed`,a)}catch(e){r(e),this.emit(`error`,e)}finally{o&&t.signal?.removeEventListener(`abort`,o),this.#b.delete(i),queueMicrotask(()=>{this.#O()})}};this.#m.enqueue(o,t);let s=()=>{if(this.#m instanceof w){this.#m.remove(o);return}this.#m.remove?.(t.id)};if(t.signal){let{signal:e}=t,n=()=>{a(),s(),r(e.reason),this.#P(),this.emit(`next`)};if(a=()=>{e.removeEventListener(`abort`,n),this.#x.delete(a)},e.aborted){n();return}e.addEventListener(`abort`,n,{once:!0}),this.#x.add(a)}this.emit(`add`),this.#P()})}async addAll(e,t){return Promise.all(e.map(async e=>this.add(e,t)))}start(){return this.#v?(this.#v=!1,this.#L(),this):this}pause(){this.#v=!0}clear(){for(let e of this.#x)e();this.#m=new this.#h,this.#M(),this.#H(),this.emit(`empty`),this.#g===0&&(this.#N(),this.emit(`idle`)),this.emit(`next`)}async onEmpty(){this.#m.size!==0&&await this.#R(`empty`)}async onSizeLessThan(e){this.#m.size<e||await this.#R([`next`,`active`],()=>this.#m.size<e)}async onIdle(){this.#g===0&&this.#m.size===0||await this.#R(`idle`)}async onPendingZero(){this.#g!==0&&await this.#R(`pendingZero`)}async onRateLimit(){this.isRateLimited||await this.#R(`rateLimit`)}async onRateLimitCleared(){this.isRateLimited&&await this.#R(`rateLimitCleared`)}onError(){return new Promise((e,t)=>{let n=e=>{this.off(`error`,n),t(e)};this.on(`error`,n)})}async#R(e,t){let n=Array.isArray(e)?e:[e];return new Promise(e=>{let r=()=>{if(!(t&&!t())){for(let e of n)this.off(e,r);e()}};for(let e of n)this.on(e,r)})}get size(){return this.#m.size}sizeBy(e){return this.#m.filter(e).length}get pending(){return this.#g}get isPaused(){return this.#v}#z(){this.#t||(this.on(`add`,()=>{this.#m.size>0&&this.#B()}),this.on(`next`,()=>{this.#B()}))}#B(){this.#t||this.#a||(this.#a=!0,queueMicrotask(()=>{this.#a=!1,this.#H()}))}#V(){this.#t||(this.#w(),this.#B())}#H(){let e=this.#i;if(this.#t||this.#m.size===0){e&&(this.#i=!1,this.emit(`rateLimitCleared`));return}let t;if(this.#d){let e=Date.now();this.#S(e),t=this.#T()}else t=this.#n;let n=t>=this.#r;n!==e&&(this.#i=n,this.emit(n?`rateLimit`:`rateLimitCleared`))}get isRateLimited(){return this.#i}get isSaturated(){return this.#g===this.#_&&this.#m.size>0||this.isRateLimited&&this.#m.size>0}get runningTasks(){return[...this.#b.values()].map(e=>({...e,timeoutRemaining:e.timeout?Math.max(0,e.startTime+e.timeout-Date.now()):void 0}))}},E=class{eventQueue;cursorQueue;onEventEmitted;constructor(e){this.onEventEmitted=e.onEventEmitted,this.eventQueue=new T({concurrency:1,interval:1e3,intervalCap:e.eventsPerSecond}),this.cursorQueue=new T({concurrency:1})}queueEvent(e){return this.eventQueue.add(async()=>{await s.emit(e.subject,e.payload),this.onEventEmitted()})}queueAfterEvents(e,t=[]){let n=Promise.all(t);return n.catch(()=>void 0),this.cursorQueue.add(async()=>{await n,await e()})}async drain(){await Promise.all([this.eventQueue.onIdle(),this.cursorQueue.onIdle()])}async onIdle(){await this.drain()}},D=class{options;emittery=new n;trackedFiles=new Map;pollTimer;isPolling=!1;isDisposed=!1;inFlightChecks=new Map;constructor(e){if(!o.isAbsolute(e.directory))throw Error(`Directory must be an absolute path: ${e.directory}`);this.options={directory:e.directory,pattern:e.pattern,pollIntervalMs:e.pollIntervalMs??1e4}}on(e,t){return this.emittery.on(e,t)}once(e,t){return this.emittery.once(e,t)}async start(){this.isDisposed||this.pollTimer===void 0&&(await this.poll(),this.pollTimer=setInterval(()=>{this.poll()},this.options.pollIntervalMs))}stop(){this.pollTimer!==void 0&&(clearInterval(this.pollTimer),this.pollTimer=void 0)}dispose(){this.isDisposed=!0,this.stop(),this.emittery.clearListeners(),this.trackedFiles.clear(),this.inFlightChecks.clear()}isRunning(){return this.pollTimer!==void 0}getTrackedFiles(){return this.trackedFiles}seedFromCursors(e){for(let t of e)this.trackedFiles.set(t.filePath,{size:t.bytesRead,mtimeMs:new Date(t.lastModified).getTime()})}async poll(){if(!this.isDisposed&&!this.isPolling){this.isPolling=!0;try{let e=await this.discoverFiles(),t=new Set(e);for(let e of this.trackedFiles.keys())if(!t.has(e)){if(this.isDisposed)return;this.trackedFiles.delete(e),await this.emittery.emit(`deleted`,{filePath:e})}for(let t of e)try{await this.runFileCheck(t)}catch(e){await this.emitWatcherError(e,t)}if(this.isDisposed)return;await this.emittery.emit(`polled`,{trackedFilePaths:new Set(this.trackedFiles.keys())})}catch(e){await this.emitWatcherError(e)}finally{this.isPolling=!1}}}async discoverFiles(){return i(this.options.pattern,{cwd:this.options.directory,absolute:!0,onlyFiles:!0})}async checkFile(e){if(this.isDisposed)return;let t=await a.stat(e);if(this.isDisposed)return;let n={size:t.size,mtimeMs:t.mtimeMs},r=this.trackedFiles.get(e);if(!r){if(this.trackedFiles.set(e,n),this.isDisposed){this.trackedFiles.delete(e);return}await this.emittery.emit(`change`,{filePath:e,stat:{size:t.size,mtime:t.mtime},changeType:`created`});return}if(n.mtimeMs!==r.mtimeMs){let i=n.size<r.size?`rotated`:`modified`;if(this.trackedFiles.set(e,n),this.isDisposed)return;await this.emittery.emit(`change`,{filePath:e,stat:{size:t.size,mtime:t.mtime},changeType:i})}}clearTrackedFile(e){return this.trackedFiles.delete(e)}clearAllTrackedFiles(){this.trackedFiles.clear()}triggerImmediatePoll(e){this.runFileCheck(e).catch(t=>{this.emitWatcherError(t,e)})}async runFileCheck(e){if(this.isDisposed)return;let t=this.inFlightChecks.get(e);if(t){await t;return}let n=(async()=>{try{await this.checkFile(e)}finally{this.inFlightChecks.delete(e)}})();this.inFlightChecks.set(e,n),await n}async emitWatcherError(e,t){let n=e instanceof Error?e:Error(String(e));try{await this.emittery.emit(`error`,{error:n,filePath:t})}catch(e){console.error(`[LogFileWatcher] Error listener failed:`,e instanceof Error?e.message:String(e))}}},O=class{watcher;constructor(e){this.watcher=new D(e)}isRunning(){return this.watcher.isRunning()}async start(){await this.watcher.start()}stop(){this.watcher.stop()}dispose(){this.watcher.dispose()}onChange(e){return this.watcher.on(`change`,e)}onError(e){return this.watcher.on(`error`,e)}onDeleted(e){return this.watcher.on(`deleted`,e)}onPolled(e){return this.watcher.on(`polled`,({trackedFilePaths:t})=>e(t))}getTrackedFileMtimeMs(e){return this.watcher.getTrackedFiles().get(e)?.mtimeMs}triggerImmediatePoll(e){this.watcher.triggerImmediatePoll(e)}seedFromCursors(e){this.watcher.seedFromCursors(e)}},k=class{filesProcessed=0;eventsEmitted=0;sessionsImported=new Set;sessionsSkipped=new Set;lastLoggedEventCount=0;lastLoggedSnapshot=``;reset(){this.filesProcessed=0,this.eventsEmitted=0,this.sessionsImported.clear(),this.sessionsSkipped.clear(),this.lastLoggedEventCount=0,this.lastLoggedSnapshot=``}recordFileProcessed(){this.filesProcessed++}recordEventEmitted(e){this.eventsEmitted++,!(this.eventsEmitted-this.lastLoggedEventCount<1e3)&&(console.info(`${e} Imported ${this.eventsEmitted} events (${this.sessionsImported.size} sessions)...`),this.lastLoggedEventCount=this.eventsEmitted)}recordSessionImported(e){this.sessionsImported.add(e)}recordSessionSkipped(e){this.sessionsSkipped.add(e)}hasActivity(){return this.eventsEmitted>0||this.filesProcessed>0}stoppedMessage(e){return`${e} Stopped - ${this.eventsEmitted} events from ${this.sessionsImported.size} sessions (${this.sessionsSkipped.size} skipped)`}logProgress(e){if(!this.hasActivity())return;let t=JSON.stringify({eventsEmitted:this.eventsEmitted,filesProcessed:this.filesProcessed,sessionsImported:this.sessionsImported.size,sessionsSkipped:this.sessionsSkipped.size});t!==this.lastLoggedSnapshot&&(this.lastLoggedSnapshot=t,console.info(`${e} Progress: ${this.eventsEmitted} events, ${this.sessionsImported.size} sessions, ${this.filesProcessed} files, ${this.sessionsSkipped.size} skipped`))}};function A(e){return async t=>{try{if(e!==void 0)try{let n=await s.requestOptional(l.runtime.isAdapterManaged,{adapterSessionId:t,clientId:e});if(n.handled&&n.data.managed)return!0}catch{}let n=await s.request(d.getByAdapterSessionId,{adapterSessionId:t});return n.session!==null&&!n.session.isImported}catch{return!1}}}var j=class{checkedSessions=new Map;inFlight=new Map;generations=new Map;async isSkipped(e,t,n){for(;;){let r=this.checkedSessions.get(e);if(r!==void 0)return r;let i=this.generations.get(e)??0,a=this.inFlight.get(e),o;if(a&&a.generation===i?o=a.promise:(o=t(e).then(t=>((this.generations.get(e)??0)===i&&(this.checkedSessions.set(e,t),t&&n(e)),t)).finally(()=>{let t=this.inFlight.get(e);t&&t.generation===i&&this.inFlight.delete(e)}),this.inFlight.set(e,{generation:i,promise:o})),await o,(this.generations.get(e)??0)===i){let t=this.checkedSessions.get(e);if(t!==void 0)return t;continue}}}invalidate(e){this.checkedSessions.delete(e),this.inFlight.delete(e),this.generations.set(e,(this.generations.get(e)??0)+1)}clear(){this.checkedSessions.clear(),this.inFlight.clear(),this.generations.clear()}};function M(e,t,n,r){return!n||!e||r===`rotated`?!1:new Date(e)>=t}function N(e,t,n){for(let r of n??[]){let n=r.line===void 0?``:` at line ${r.line}`;console.warn(`${e} Parse error in ${t}${n}: ${r.error}`)}}async function P(e,t,n,i){let{cursor:a}=await s.request(r.get,{filePath:e});return a&&a.bytesRead>0&&!a.sessionContext&&!t?(await s.request(r.delete,{filePath:e}).catch(()=>{}),i(n),`retry`):a}async function F(e,t,n,r,i,a){let o=await a.parseFile(e,0);N(i,e,o.errors);let s=a.validateRecords(o.records);s.length>0&&await a.handleFirstRead(e,s,o.bytesRead??0,t,n,0,r)}function I(e,t,n,r,i){let a=[];n&&(a.push(i(t.sessionEvent)),a.push(i(t.startedEvent)));let o=r(e,t);for(let e of o)a.push(i(e));return a}function L(e,t){let n=[];for(let r of e)n.push(t(r));return n}function R(e){return typeof e==`object`&&!!e&&`compactionDetected`in e&&e.compactionDetected===!0}function z(e,t,n){return{...e,state:n(t)}}var B=class{tasks=new Set;track(e){this.tasks.add(e),e.finally(()=>{this.tasks.delete(e)})}async drain(){for(;this.tasks.size>0;)await Promise.allSettled([...this.tasks])}},V=class{config;watcher;eventQueue;importer;managedSessionCache=new j;unsubscribeChange;unsubscribeError;unsubscribeDeleted;unsubscribeRuntimeStarted;stats=new k;watcherTasks=new B;progressTimer;constructor(e,t){this.importer=t;let n=e.directory??t.getLogDirectory();this.config={enabled:e.enabled,directory:e.directory,pollIntervalMs:e.pollIntervalMs??1e4,eventsPerSecond:e.eventsPerSecond??100,adapterId:e.adapterId,adapterName:e.adapterName,checkMakaioManaged:e.checkMakaioManaged,clientId:e.clientId,machineId:e.machineId},this.watcher=new O({directory:n,pattern:this.getLogFilePattern(),pollIntervalMs:this.config.pollIntervalMs}),this.eventQueue=new E({eventsPerSecond:this.config.eventsPerSecond,onEventEmitted:()=>{this.stats.recordEventEmitted(this.logPrefix)}})}shouldSkipFile(e){return!1}validateRecords(e){return e}getMaxRecords(){}buildCursorSessionContext(e){let{adapterSessionId:t,sessionEvent:n,startedEvent:r,state:i,...a}=e;return{...a,adapterSessionId:t,sessionEvent:n,startedEvent:r,state:this.importer.serializeState(i)}}usesJsonFormat(){let e=this.getLogFilePattern();return e.includes(`.json`)&&!e.includes(`.jsonl`)}isEnabled(){return this.config.enabled}isRunning(){return this.watcher.isRunning()}async start(){if(!this.config.enabled||this.isRunning())return;let e=this.config.directory??this.importer.getLogDirectory();console.info(`${this.logPrefix} Starting - watching ${e}`),this.stats.reset(),this.managedSessionCache.clear(),this.progressTimer=setInterval(()=>this.stats.logProgress(this.logPrefix),1e4),this.unsubscribeChange=this.watcher.onChange(e=>{this.trackFileChange(e)}),this.unsubscribeError=this.watcher.onError(({error:e,filePath:t})=>{console.warn(`${this.logPrefix} Error${t?` for ${t}`:``}: ${e.message}`)}),this.unsubscribeDeleted=this.watcher.onDeleted(({filePath:e})=>{this.watcherTasks.track(s.request(r.delete,{filePath:e}).then(()=>void 0).catch(()=>{}))}),this.unsubscribeRuntimeStarted=s.on(l.runtime.started,e=>{e.payload.source.layer===`adapter`&&e.payload.adapterSessionId!==void 0&&this.managedSessionCache.invalidate(e.payload.adapterSessionId)}),await this.watcher.start()}async stop(){this.progressTimer&&=(clearInterval(this.progressTimer),void 0),this.unsubscribeChange?.(),this.unsubscribeError?.(),this.unsubscribeDeleted?.(),this.unsubscribeRuntimeStarted?.(),this.unsubscribeChange=void 0,this.unsubscribeError=void 0,this.unsubscribeDeleted=void 0,this.unsubscribeRuntimeStarted=void 0,this.watcher.stop(),await this.watcherTasks.drain(),await this.eventQueue.drain(),this.stats.hasActivity()&&console.info(this.stats.stoppedMessage(this.logPrefix))}async dispose(){await this.stop(),this.watcher.dispose(),this.managedSessionCache.clear()}static createDefaultCheckMakaioManaged(e){return A(e)}async updateCursor(e,t,n,i){await s.request(r.set,{filePath:e,bytesRead:t,lastModified:n.toISOString(),sessionContext:i})}async handleFileChange(e){let{filePath:t,changeType:n,stat:i}=e;if(this.shouldSkipFile(t))return;let a=this.usesJsonFormat();n===`rotated`&&await s.request(r.delete,{filePath:t}).catch(()=>{});let o=await P(t,a,e,e=>this.trackFileChange(e));if(o===`retry`)return;let c=o?.sessionContext!==void 0,l=c?o?.bytesRead??0:0;if(M(o?.lastModified,i.mtime,a,n))return;let u=await this.parseFile(t,a?0:l,this.getMaxRecords());N(this.logPrefix,t,u.errors),this.stats.recordFileProcessed();let d=this.validateRecords(u.records),f=u.bytesRead??0;if(d.length===0){await this.maybeUpdateCursor(t,f,l,i.mtime,a,o?.sessionContext);return}c&&o?.sessionContext?await this.handleIncrementalRead(t,d,o.sessionContext,f,i.mtime,a,l):await this.handleFirstRead(t,d,f,i.mtime,a,l)}trackFileChange(e){let t=this.handleFileChange(e).catch(e=>{console.error(`${this.logPrefix} Error handling file change:`,e instanceof Error?e.message:String(e))});this.watcherTasks.track(t)}async handleFirstRead(e,t,n,r,i,a,o=!0){let s=this.importer.extractSessionContext(t);if(await this.isSessionSkipped(s.adapterSessionId)){await this.maybeUpdateCursor(e,n,a,r,i,this.buildCursorSessionContext(s));return}let c=I(t,s,o,(e,t)=>this.importer.processRecords(e,t),e=>this.queueEvent(e));this.trackImportedSession(s.adapterSessionId),await this.queueCursorUpdate(e,n,a,r,i,this.buildCursorSessionContext(s),c)}trackImportedSession(e){this.stats.recordSessionImported(e)}async handleIncrementalRead(e,t,n,i,a,o,c){if(await this.isSessionSkipped(n.adapterSessionId)){await this.maybeUpdateCursor(e,i,c,a,o,n);return}let l;try{l=this.importer.deserializeState(n.state)}catch(t){console.warn(`${this.logPrefix} Corrupted cursor state for ${e}, deleting cursor and re-importing.`,t instanceof Error?t.message:String(t)),await s.request(r.delete,{filePath:e}).catch(t=>{console.warn(`${this.logPrefix} Failed to delete corrupted cursor for ${e}.`,t instanceof Error?t.message:String(t))}),await F(e,a,o,!0,this.logPrefix,{parseFile:(e,t)=>this.parseFile(e,t),validateRecords:e=>this.validateRecords(e),handleFirstRead:(e,t,n,r,i,a,o)=>this.handleFirstRead(e,t,n,r,i,a,o)});return}let u={adapterSessionId:n.adapterSessionId,model:n.model,cwd:n.cwd,sessionEvent:n.sessionEvent,startedEvent:n.startedEvent,state:l},d=this.importer.processRecords(t,u);if(R(u.state)){await F(e,a,o,!1,this.logPrefix,{parseFile:(e,t)=>this.parseFile(e,t),validateRecords:e=>this.validateRecords(e),handleFirstRead:(e,t,n,r,i,a,o)=>this.handleFirstRead(e,t,n,r,i,a,o)});return}let f=L(d,e=>this.queueEvent(e)),p=z(n,u.state,e=>this.importer.serializeState(e));await this.queueCursorUpdate(e,i,c,a,o,p,f)}async maybeUpdateCursor(e,t,n,r,i,a){(t>n||i)&&await this.updateCursor(e,t,r,a)}async isSessionSkipped(e){return this.managedSessionCache.isSkipped(e,e=>this.importer.isMakaioManaged(e),e=>this.stats.recordSessionSkipped(e))}queueEvent(e){return this.eventQueue.queueEvent(e)}queueCursorUpdate(e,t,n,r,i,a,o=[]){return this.eventQueue.queueAfterEvents(()=>this.maybeUpdateCursor(e,t,n,r,i,a),o)}},H=class extends V{trackingFilePaths=new Set;trackingInactiveCount=new Map;lastSeenMtimeMs=new Map;unsubscribePolled;constructor(e,t){super(e,t)}clearTrackingState(e){this.trackingFilePaths.delete(e),this.trackingInactiveCount.delete(e),this.lastSeenMtimeMs.delete(e)}async persistImportedStatus(e){let{session:t}=await s.request(u.getByLogFilePath,{logFilePath:e});return!t||t.importStatus!==`tracking`||(await s.request(u.updateImportStatus,{sessionId:t.sessionId,importStatus:`imported`})).success?!0:(console.warn(`${this.logPrefix} Failed to persist imported status for ${e}`),!1)}async start(){!this.isEnabled()||this.isRunning()||(await super.start(),this.unsubscribePolled=this.watcher.onPolled(e=>{this.onPollCycle(e).catch(e=>{console.error(`${this.logPrefix} Error handling poll cycle:`,e instanceof Error?e.message:String(e))})}),await this.restorePersistedTrackingState())}async stop(){this.unsubscribePolled?.(),this.unsubscribePolled=void 0,await super.stop()}async dispose(){this.trackingFilePaths.clear(),this.trackingInactiveCount.clear(),this.lastSeenMtimeMs.clear(),await super.dispose()}async handleFileChange(e){let{filePath:t,changeType:n,stat:i}=e;if(this.shouldSkipFile(t))return;let{cursor:a}=await s.request(r.get,{filePath:t});if(!a){await this.discoverNewFile(e);return}n===`modified`&&await this.handleModifiedImportedFile(t,e,i.mtime)}async restorePersistedTrackingState(){this.trackingFilePaths.clear(),this.trackingInactiveCount.clear(),this.lastSeenMtimeMs.clear();try{let{sessions:e}=await s.request(u.listImported,{source:this.config.adapterName,importStatus:`tracking`});for(let t of e){if(t.source!==this.config.adapterName)continue;if(!t.logFilePath){(await s.request(u.updateImportStatus,{sessionId:t.sessionId,importStatus:`imported`})).success||console.warn(`${this.logPrefix} Failed to reset tracking status for session ${t.sessionId}`);continue}let e=this.watcher.getTrackedFileMtimeMs(t.logFilePath);if(e===void 0){(await s.request(u.updateImportStatus,{sessionId:t.sessionId,importStatus:`imported`})).success||console.warn(`${this.logPrefix} Failed to reset tracking status for ${t.logFilePath}`);continue}this.trackingFilePaths.add(t.logFilePath),this.trackingInactiveCount.set(t.logFilePath,0),this.lastSeenMtimeMs.set(t.logFilePath,e)}}catch(e){console.warn(`[DiscoveryOrchestrator] Failed to restore persisted tracking state:`,e instanceof Error?e.message:String(e))}}async discoverNewFile(e){let{filePath:t,stat:n}=e,r=await this.importer.extractDiscoveryMetadata(t);if(!(r.hasMessages??!1)){await this.updateCursor(t,0,n.mtime);return}if(await this.isSessionSkipped(r.adapterSessionId)){await this.updateCursor(t,0,n.mtime);return}let i=this.queueEvent({subject:c.session.discovered,payload:{adapterId:this.config.adapterId,adapterName:this.config.adapterName,adapterSessionId:r.adapterSessionId,model:r.model??null,cwd:r.cwd??null,title:r.title,parentAdapterSessionId:r.parentAdapterSessionId??null,forkPointMessageId:r.forkPointMessageId??null,kind:r.kind??`root`,startedAt:r.startedAt,logFilePath:t}});await this.eventQueue.queueAfterEvents(()=>this.updateCursor(t,0,n.mtime),[i])}async handleModifiedImportedFile(e,t,n){let{session:r}=await s.request(u.getByLogFilePath,{logFilePath:e});if(!r){await this.discoverNewFile(t);return}if(r.source===this.config.adapterName&&!(r.importStatus!==`imported`&&r.importStatus!==`tracking`)){if(await super.handleFileChange(t),r.importStatus===`imported`&&!(await s.request(u.updateImportStatus,{sessionId:r.sessionId,importStatus:`tracking`})).success){console.warn(`${this.logPrefix} Failed to persist tracking status for ${e}`);return}this.trackingFilePaths.add(e),this.lastSeenMtimeMs.set(e,n.getTime()),this.trackingInactiveCount.delete(e),this.watcher.triggerImmediatePoll(e)}}async onPollCycle(e){for(let t of[...this.trackingFilePaths]){if(!e.has(t)){await this.persistImportedStatus(t)&&this.clearTrackingState(t);continue}let n=this.watcher.getTrackedFileMtimeMs(t),r=this.lastSeenMtimeMs.get(t);if(!(n===void 0||r===void 0))try{if(n===r){let e=(this.trackingInactiveCount.get(t)??0)+1;e>=3?await this.persistImportedStatus(t)&&this.clearTrackingState(t):this.trackingInactiveCount.set(t,e)}else this.lastSeenMtimeMs.set(t,n),this.trackingInactiveCount.delete(t)}catch(e){console.warn(`${this.logPrefix} Failed to process tracked file ${t}:`,e instanceof Error?e.message:String(e))}}}};export{V as BaseLogOrchestrator,H as DiscoveryOrchestrator,p as parseJsonlFile,m as readFirstJsonlRecords,h as someJsonlRecord};
@@ -1 +1 @@
1
- import{Q as e,Z as t,a as n,d as r,f as i,l as a,m as o,n as s,o as c,r as l,s as u,x as d}from"./schemas-BRxU_oqL.mjs";import{z as f}from"zod";import{createBusNamespace as p}from"@makaio/framework/core";function m(e){let{$schema:t,...n}=f.toJSONSchema(e);return n}function h(e){return{...e,toRegistration:()=>({kind:e.kind,description:e.description,schemaVersion:e.schemaVersion,dataSchema:m(e.dataSchema),...e.scopeSchema?{scopeSchema:m(e.scopeSchema)}:{},...e.observationSchema?{observationSchema:m(e.observationSchema)}:{},...e.discriminator===void 0?{}:{discriminator:typeof e.discriminator==`string`?e.discriminator:Array.from(e.discriminator)},conflictPolicy:e.conflictPolicy,...e.status?{status:{...e.status,...e.status.values?{values:[...e.status.values]}:{}}}:{},...e.lifecycle?{lifecycle:e.lifecycle}:{},...e.indexedFields?{indexedFields:[...e.indexedFields]}:{},...e.searchableFields?{searchableFields:[...e.searchableFields]}:{},...e.projection?{projection:{...e.projection,...e.projection.semanticEvents?{semanticEvents:[...e.projection.semanticEvents]}:{},...e.projection.projectedFields?{projectedFields:e.projection.projectedFields.map(e=>({...e}))}:{},...e.projection.affordances?{affordances:e.projection.affordances.map(e=>structuredClone(e))}:{}}}:{},...e.defaultContext?{defaultContext:structuredClone(e.defaultContext)}:{}})}}function g(e){return{hooks:[...e.hooks]}}function _(e){return JSON.stringify([e.kind,e.id,e.revision])}const v=f.enum([`not-selected`,`not-found`,`depth-exceeded`,`unsupported-ref-class`,`cycle-detected`]),y=f.object({target:i,sourceRef:a,relationType:f.string().min(1),hint:t,status:f.enum([`resolved`,`unresolved`]),reason:v.optional()}).superRefine((e,t)=>{e.status===`unresolved`&&e.reason===void 0&&t.addIssue({code:f.ZodIssueCode.custom,path:[`reason`],message:`reason is required for unresolved artifact context refs`}),e.status===`resolved`&&e.reason!==void 0&&t.addIssue({code:f.ZodIssueCode.custom,path:[`reason`],message:`reason must be omitted for resolved artifact context refs`}),e.status===`resolved`&&e.target.refClass!==`artifact`&&t.addIssue({code:f.ZodIssueCode.custom,path:[`target`],message:`resolved artifact context refs must target an artifact revision`})}),b=f.object({rootRef:a,refs:f.array(y),resolved:f.array(o)}).superRefine((e,t)=>{let n=new Set(e.resolved.map(_));n.has(_(e.rootRef))||t.addIssue({code:f.ZodIssueCode.custom,path:[`resolved`],message:`resolved artifact context wire payloads must include the root artifact revision`}),e.refs.forEach((e,r)=>{n.has(_(e.sourceRef))||t.addIssue({code:f.ZodIssueCode.custom,path:[`refs`,r,`sourceRef`],message:`artifact context ref sources must have a matching revision in resolved`}),!(e.status!==`resolved`||e.target.refClass!==`artifact`)&&(n.has(_(e.target))||t.addIssue({code:f.ZodIssueCode.custom,path:[`refs`,r,`target`],message:`resolved artifact context refs must have a matching revision in resolved`}))})});function x(e){let t=b.parse(e),n=new Map(t.resolved.map(e=>[E(e),e])),r=new Map;for(let e of t.refs){let t=E(e.sourceRef),n=r.get(t);n||(n=[],r.set(t,n)),n.push(e)}let i=n.get(E(t.rootRef));if(!i)throw Error(`Resolved artifact context is missing root artifact '${E(t.rootRef)}'`);let a=S(t.rootRef,i,`inline`,r,n);return{root:a,flatten(){let e=[];return T(a,e),e}}}function S(e,t,n,r,i){return{status:`resolved`,ref:e,artifact:t,hint:n,children:w(e,r,i,new Set([E(e)]))}}function C(e,t,n,r,i,a,o){let s=E(e),c=new Set(o);return c.add(s),{status:`resolved`,ref:e,artifact:t,relation:n,hint:r,children:w(e,i,a,c)}}function w(e,t,n,r){return(t.get(E(e))??[]).map(e=>{if(e.status===`unresolved`)return{status:`unresolved`,target:e.target,relation:e.relationType,hint:e.hint,reason:e.reason};if(e.target.refClass!==`artifact`)throw Error(`Resolved artifact context refs must target an artifact revision`);let i=E(e.target),a=n.get(i);if(!a)throw Error(`Resolved artifact context is missing target artifact '${i}'`);return r.has(i)?{status:`unresolved`,target:e.target,relation:e.relationType,hint:e.hint,reason:`cycle-detected`}:C(e.target,a,e.relationType,e.hint,t,n,r)})}function T(e,t){if(e.status!==`unresolved`){t.push(e.artifact);for(let n of e.children)T(n,t)}}function E(e){return JSON.stringify([e.kind,e.id,e.revision])}const D={"kind.register":{request:n,response:f.object({registered:f.boolean()})},"kind.list":{request:f.object({kind:f.string().min(1).optional()}),response:f.object({kinds:f.array(n)})},"relation-type.register":{request:d,response:f.object({registered:f.boolean()})},"relation-type.list":{request:f.object({type:f.string().min(1).optional()}),response:f.object({relationTypes:f.array(d)})},create:{request:o.omit({id:!0,revision:!0,timestamp:!0}),response:f.object({artifact:o})},revise:{request:f.object({previous:a,revision:o.omit({id:!0,revision:!0,timestamp:!0})}),response:f.object({artifact:o})},resolve:{request:f.object({ref:a}),response:f.object({artifact:o.nullable()})},query:{request:u,response:f.object({artifacts:f.array(o)})},compare:{request:s,response:l},resolveContext:{request:f.object({ref:a,selectors:e.optional(),maxDepth:f.number().int().min(1).max(20).default(5)}),response:f.object({context:b})},created:f.object({artifact:o}),revised:f.object({previous:a,artifact:o}),"relation.added":f.object({artifact:a,relation:r}),"observation.added":f.object({artifact:a,observation:c}),"status.changed":f.object({artifact:a,path:f.string().min(1),previous:f.unknown().optional(),current:f.unknown().optional()}),"kind.changed":f.object({kind:f.string().min(1),schemaVersion:f.string().min(1)})},O=p(`artifact`,D),k=O.subjects;export{y as a,g as c,x as i,h as l,D as n,v as o,k as r,b as s,O as t};
1
+ import{Q as e,Z as t,a as n,d as r,f as i,l as a,m as o,n as s,o as c,r as l,s as u,x as d}from"./schemas-CRB2O5zo.mjs";import{z as f}from"zod";import{createBusNamespace as p}from"@makaio/framework/core";function m(e){let{$schema:t,...n}=f.toJSONSchema(e);return n}function h(e){return{...e,toRegistration:()=>({kind:e.kind,description:e.description,schemaVersion:e.schemaVersion,dataSchema:m(e.dataSchema),...e.scopeSchema?{scopeSchema:m(e.scopeSchema)}:{},...e.observationSchema?{observationSchema:m(e.observationSchema)}:{},...e.discriminator===void 0?{}:{discriminator:typeof e.discriminator==`string`?e.discriminator:Array.from(e.discriminator)},conflictPolicy:e.conflictPolicy,...e.status?{status:{...e.status,...e.status.values?{values:[...e.status.values]}:{}}}:{},...e.lifecycle?{lifecycle:e.lifecycle}:{},...e.indexedFields?{indexedFields:[...e.indexedFields]}:{},...e.searchableFields?{searchableFields:[...e.searchableFields]}:{},...e.projection?{projection:{...e.projection,...e.projection.semanticEvents?{semanticEvents:[...e.projection.semanticEvents]}:{},...e.projection.projectedFields?{projectedFields:e.projection.projectedFields.map(e=>({...e}))}:{},...e.projection.affordances?{affordances:e.projection.affordances.map(e=>structuredClone(e))}:{}}}:{},...e.defaultContext?{defaultContext:structuredClone(e.defaultContext)}:{}})}}function g(e){return{hooks:[...e.hooks]}}function _(e){return JSON.stringify([e.kind,e.id,e.revision])}const v=f.enum([`not-selected`,`not-found`,`depth-exceeded`,`unsupported-ref-class`,`cycle-detected`]),y=f.object({target:i,sourceRef:a,relationType:f.string().min(1),hint:t,status:f.enum([`resolved`,`unresolved`]),reason:v.optional()}).superRefine((e,t)=>{e.status===`unresolved`&&e.reason===void 0&&t.addIssue({code:f.ZodIssueCode.custom,path:[`reason`],message:`reason is required for unresolved artifact context refs`}),e.status===`resolved`&&e.reason!==void 0&&t.addIssue({code:f.ZodIssueCode.custom,path:[`reason`],message:`reason must be omitted for resolved artifact context refs`}),e.status===`resolved`&&e.target.refClass!==`artifact`&&t.addIssue({code:f.ZodIssueCode.custom,path:[`target`],message:`resolved artifact context refs must target an artifact revision`})}),b=f.object({rootRef:a,refs:f.array(y),resolved:f.array(o)}).superRefine((e,t)=>{let n=new Set(e.resolved.map(_));n.has(_(e.rootRef))||t.addIssue({code:f.ZodIssueCode.custom,path:[`resolved`],message:`resolved artifact context wire payloads must include the root artifact revision`}),e.refs.forEach((e,r)=>{n.has(_(e.sourceRef))||t.addIssue({code:f.ZodIssueCode.custom,path:[`refs`,r,`sourceRef`],message:`artifact context ref sources must have a matching revision in resolved`}),!(e.status!==`resolved`||e.target.refClass!==`artifact`)&&(n.has(_(e.target))||t.addIssue({code:f.ZodIssueCode.custom,path:[`refs`,r,`target`],message:`resolved artifact context refs must have a matching revision in resolved`}))})});function x(e){let t=b.parse(e),n=new Map(t.resolved.map(e=>[E(e),e])),r=new Map;for(let e of t.refs){let t=E(e.sourceRef),n=r.get(t);n||(n=[],r.set(t,n)),n.push(e)}let i=n.get(E(t.rootRef));if(!i)throw Error(`Resolved artifact context is missing root artifact '${E(t.rootRef)}'`);let a=S(t.rootRef,i,`inline`,r,n);return{root:a,flatten(){let e=[];return T(a,e),e}}}function S(e,t,n,r,i){return{status:`resolved`,ref:e,artifact:t,hint:n,children:w(e,r,i,new Set([E(e)]))}}function C(e,t,n,r,i,a,o){let s=E(e),c=new Set(o);return c.add(s),{status:`resolved`,ref:e,artifact:t,relation:n,hint:r,children:w(e,i,a,c)}}function w(e,t,n,r){return(t.get(E(e))??[]).map(e=>{if(e.status===`unresolved`)return{status:`unresolved`,target:e.target,relation:e.relationType,hint:e.hint,reason:e.reason};if(e.target.refClass!==`artifact`)throw Error(`Resolved artifact context refs must target an artifact revision`);let i=E(e.target),a=n.get(i);if(!a)throw Error(`Resolved artifact context is missing target artifact '${i}'`);return r.has(i)?{status:`unresolved`,target:e.target,relation:e.relationType,hint:e.hint,reason:`cycle-detected`}:C(e.target,a,e.relationType,e.hint,t,n,r)})}function T(e,t){if(e.status!==`unresolved`){t.push(e.artifact);for(let n of e.children)T(n,t)}}function E(e){return JSON.stringify([e.kind,e.id,e.revision])}const D={"kind.register":{request:n,response:f.object({registered:f.boolean()})},"kind.list":{request:f.object({kind:f.string().min(1).optional()}),response:f.object({kinds:f.array(n)})},"relation-type.register":{request:d,response:f.object({registered:f.boolean()})},"relation-type.list":{request:f.object({type:f.string().min(1).optional()}),response:f.object({relationTypes:f.array(d)})},create:{request:o.omit({id:!0,revision:!0,timestamp:!0}),response:f.object({artifact:o})},revise:{request:f.object({previous:a,revision:o.omit({id:!0,revision:!0,timestamp:!0})}),response:f.object({artifact:o})},resolve:{request:f.object({ref:a}),response:f.object({artifact:o.nullable()})},query:{request:u,response:f.object({artifacts:f.array(o)})},compare:{request:s,response:l},resolveContext:{request:f.object({ref:a,selectors:e.optional(),maxDepth:f.number().int().min(1).max(20).default(5)}),response:f.object({context:b})},created:f.object({artifact:o}),revised:f.object({previous:a,artifact:o}),"relation.added":f.object({artifact:a,relation:r}),"observation.added":f.object({artifact:a,observation:c}),"status.changed":f.object({artifact:a,path:f.string().min(1),previous:f.unknown().optional(),current:f.unknown().optional()}),"kind.changed":f.object({kind:f.string().min(1),schemaVersion:f.string().min(1)})},O=p(`artifact`,D),k=O.subjects;export{y as a,g as c,x as i,h as l,D as n,v as o,k as r,b as s,O as t};
@@ -0,0 +1 @@
1
+ import{ProviderAllocationRefSchema as e,WorkerNodeAllocationLifetimeSchema as t,WorkflowRunResultSchema as n}from"@makaio/framework/contracts";function r(e){let t=Date.parse(e);if(Number.isNaN(t))throw Error(`Expected an ISO-8601 timestamp, received '${e}'`);return t}function i(e){return new Date(r(e)).toISOString()}function a(e){return typeof e==`object`&&!!e}function o(e){if(!(!a(e)||Object.isFrozen(e))){Object.freeze(e);for(let t of Object.values(e))o(t)}}function s(e,t){let n=t(structuredClone(e));return o(n),n}function c(t){return s(t,t=>e.parse(t))}function l(e){return s(e,e=>n.parse(e))}function u(e){return t.parse(e)}function d(t){let n=e.parse(t.currentRef),r=c(t.nextRef);if(n.providerId!==r.providerId)throw Error(`Allocation reference evolution must keep one provider, received '${n.providerId}' and '${r.providerId}'`);return{currentRef:n,nextRef:r}}function f(e,t){if(e.providerId!==t.providerId)throw Error(`Allocation reference for attempt '${e.executionAttemptId}' names provider '${t.providerId}' but the attempt is bound to '${e.providerId??`no provider`}'`)}function p(e,t){let n=r(e.createdAt)-r(t.createdAt);return n===0?e.executionAttemptId<t.executionAttemptId?-1:+(e.executionAttemptId>t.executionAttemptId):n}function m(e){let{status:t,claimable:n,settlementKind:r,allocationRef:i,providerId:a}=e,{allocationLifetime:o,provisionerIncarnationId:s}=e;if(t!==`allocated`||n!==!0||r!=null||i===null||a===null||o===null||s===null)throw Error(`Attempt '${e.executionAttemptId}' was selected as recoverable but is not: status '${t}', claimable '${String(n)}', settlement '${String(r)}', allocation '${i===null?`none`:`present`}', provider '${String(a)}', lifetime '${String(o)}', provisioner '${String(s)}'`);return{...e,status:t,claimable:!0,settlementKind:null,allocationRef:i,providerId:a,allocationLifetime:o,provisionerIncarnationId:s}}export{c as a,f as c,u as i,m as l,r as n,d as o,i as r,l as s,p as t};
@@ -1 +1 @@
1
- import{i as e,r as t}from"./definitions-C1pgx0Nq.mjs";import{n}from"./selection-YRuVSdck.mjs";import"./resolved-O2XXjTeu.mjs";import{z as r}from"zod";const i=r.union([r.string(),r.number().finite(),r.boolean(),r.null()]);function a(e){return Object.keys(e).length>0}const o=r.string().trim().min(1),s=r.record(e,t).refine(a,{message:`Process-environment delivery fields must not be empty.`}),c=r.record(e,o).refine(a,{message:`Connector delivery fields must not be empty.`}),l=r.object({kind:r.literal(`process-env`),fields:s}).strict(),u=r.object({kind:r.literal(`connector`),target:r.string().trim().min(1),fields:c,constants:r.record(o,i).optional()}).strict(),d=r.object({kind:r.literal(`native-client`),clientId:r.string().trim().min(1)}).strict(),f=r.object({kind:r.literal(`none`)}).strict(),p=r.discriminatedUnion(`kind`,[l,u,d,f]),m=r.tuple([p]).rest(p),h=r.object({method:n,deliveries:m}).strict().superRefine((e,t)=>{e.deliveries.some(({kind:e})=>e===`none`)&&e.deliveries.length!==1&&t.addIssue({code:r.ZodIssueCode.custom,message:`A none delivery must be the only delivery in its binding.`,path:[`deliveries`]});for(let[n,i]of e.deliveries.entries())i.kind===`native-client`&&(e.method.owner!==`client`||e.method.clientId!==i.clientId)&&t.addIssue({code:r.ZodIssueCode.custom,message:`Native-client delivery must target the client that owns the bound auth method.`,path:[`deliveries`,n,`clientId`]})});function g(e){return JSON.stringify(e.owner===`provider`?[e.owner,e.providerDefinitionId,e.methodId]:[e.owner,e.clientId,e.methodId])}const _=r.object({bindings:r.array(h).min(1),scrubEnvVars:r.array(t)}).strict().superRefine((e,t)=>{let n=new Set;for(let[i,a]of e.bindings.entries()){let e=g(a.method);n.has(e)?t.addIssue({code:r.ZodIssueCode.custom,message:`Adapter auth bindings must reference unique methods.`,path:[`bindings`,i,`method`]}):n.add(e)}let i=new Set;for(let[n,a]of e.scrubEnvVars.entries())i.has(a)?t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate scrub environment variable "${a}".`,path:[`scrubEnvVars`,n]}):i.add(a)}).brand();function v(e){return _.parse(e)}var y=class extends Error{code;constructor(e,t){super(t),this.code=e,this.name=`AdapterAuthBindingValidationError`}};function b(e,t){if(e.method.methodId!==t.id)throw new y(`method-mismatch`,`Adapter authentication binding method "${e.method.methodId}" does not match definition "${t.id}".`);if(x(e,t),t.mode!==`explicit`)return;let n=new Set(t.fields.map(e=>e.id)),r=new Set,i=new Set,a=new Set;for(let t of e.deliveries){if(t.kind===`process-env`){for(let[e,a]of Object.entries(t.fields))S(n,e),r.add(e),C(i,a,`process-target-collision`,`process environment`);continue}if(t.kind!==`connector`)continue;C(a,t.target,`connector-target-collision`,`connector operation`);let e=new Set;for(let[i,a]of Object.entries(t.fields))S(n,i),r.add(i),C(e,a,`connector-value-target-collision`,`connector operation "${t.target}" value`);for(let n of Object.keys(t.constants??{}))C(e,n,`connector-value-target-collision`,`connector operation "${t.target}" value`)}for(let e of t.fields)if(e.required&&!r.has(e.id))throw new y(`required-field-undelivered`,`Required authentication field "${e.id}" has no adapter delivery.`)}function x(e,t){if(t.mode===`explicit`){if(e.deliveries.some(({kind:e})=>e!==`process-env`&&e!==`connector`))throw new y(`delivery-mode-mismatch`,`Explicit authentication requires process-environment or connector deliveries.`);return}if(t.mode===`inferred`){let t=e.deliveries[0];if(e.deliveries.length!==1||t?.kind!==`native-client`)throw new y(`delivery-mode-mismatch`,`Inferred authentication requires exactly one native-client delivery.`);if(e.method.owner!==`client`||e.method.clientId!==t.clientId)throw new y(`native-client-mismatch`,`Native-client delivery must target the client that owns the bound auth method.`);return}if(e.deliveries.length!==1||e.deliveries[0]?.kind!==`none`)throw new y(`delivery-mode-mismatch`,`No-authentication methods require exactly one none delivery.`)}function S(e,t){if(!e.has(t))throw new y(`unknown-field`,`Adapter authentication delivery references unknown field "${t}".`)}function C(e,t,n,r){if(e.has(t))throw new y(n,`Adapter authentication has duplicate ${r} target "${t}".`);e.add(t)}export{_ as a,f as c,p as i,l,h as n,u as o,i as r,d as s,b as t,v as u};
1
+ import{i as e,r as t}from"./definitions-xrrY0wgz.mjs";import{n}from"./selection-BNwTKEVT.mjs";import"./resolved-DZgqql2Z.mjs";import{z as r}from"zod";const i=r.union([r.string(),r.number().finite(),r.boolean(),r.null()]);function a(e){return Object.keys(e).length>0}const o=r.string().trim().min(1),s=r.record(e,t).refine(a,{message:`Process-environment delivery fields must not be empty.`}),c=r.record(e,o).refine(a,{message:`Connector delivery fields must not be empty.`}),l=r.object({kind:r.literal(`process-env`),fields:s}).strict(),u=r.object({kind:r.literal(`connector`),target:r.string().trim().min(1),fields:c,constants:r.record(o,i).optional()}).strict(),d=r.object({kind:r.literal(`native-client`),clientId:r.string().trim().min(1)}).strict(),f=r.object({kind:r.literal(`none`)}).strict(),p=r.discriminatedUnion(`kind`,[l,u,d,f]),m=r.tuple([p]).rest(p),h=r.object({method:n,deliveries:m}).strict().superRefine((e,t)=>{e.deliveries.some(({kind:e})=>e===`none`)&&e.deliveries.length!==1&&t.addIssue({code:r.ZodIssueCode.custom,message:`A none delivery must be the only delivery in its binding.`,path:[`deliveries`]});for(let[n,i]of e.deliveries.entries())i.kind===`native-client`&&(e.method.owner!==`client`||e.method.clientId!==i.clientId)&&t.addIssue({code:r.ZodIssueCode.custom,message:`Native-client delivery must target the client that owns the bound auth method.`,path:[`deliveries`,n,`clientId`]})});function g(e){return JSON.stringify(e.owner===`provider`?[e.owner,e.providerDefinitionId,e.methodId]:[e.owner,e.clientId,e.methodId])}const _=r.object({bindings:r.array(h).min(1),scrubEnvVars:r.array(t)}).strict().superRefine((e,t)=>{let n=new Set;for(let[i,a]of e.bindings.entries()){let e=g(a.method);n.has(e)?t.addIssue({code:r.ZodIssueCode.custom,message:`Adapter auth bindings must reference unique methods.`,path:[`bindings`,i,`method`]}):n.add(e)}let i=new Set;for(let[n,a]of e.scrubEnvVars.entries())i.has(a)?t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate scrub environment variable "${a}".`,path:[`scrubEnvVars`,n]}):i.add(a)}).brand();function v(e){return _.parse(e)}var y=class extends Error{code;constructor(e,t){super(t),this.code=e,this.name=`AdapterAuthBindingValidationError`}};function b(e,t){if(e.method.methodId!==t.id)throw new y(`method-mismatch`,`Adapter authentication binding method "${e.method.methodId}" does not match definition "${t.id}".`);if(x(e,t),t.mode!==`explicit`)return;let n=new Set(t.fields.map(e=>e.id)),r=new Set,i=new Set,a=new Set;for(let t of e.deliveries){if(t.kind===`process-env`){for(let[e,a]of Object.entries(t.fields))S(n,e),r.add(e),C(i,a,`process-target-collision`,`process environment`);continue}if(t.kind!==`connector`)continue;C(a,t.target,`connector-target-collision`,`connector operation`);let e=new Set;for(let[i,a]of Object.entries(t.fields))S(n,i),r.add(i),C(e,a,`connector-value-target-collision`,`connector operation "${t.target}" value`);for(let n of Object.keys(t.constants??{}))C(e,n,`connector-value-target-collision`,`connector operation "${t.target}" value`)}for(let e of t.fields)if(e.required&&!r.has(e.id))throw new y(`required-field-undelivered`,`Required authentication field "${e.id}" has no adapter delivery.`)}function x(e,t){if(t.mode===`explicit`){if(e.deliveries.some(({kind:e})=>e!==`process-env`&&e!==`connector`))throw new y(`delivery-mode-mismatch`,`Explicit authentication requires process-environment or connector deliveries.`);return}if(t.mode===`inferred`){let t=e.deliveries[0];if(e.deliveries.length!==1||t?.kind!==`native-client`)throw new y(`delivery-mode-mismatch`,`Inferred authentication requires exactly one native-client delivery.`);if(e.method.owner!==`client`||e.method.clientId!==t.clientId)throw new y(`native-client-mismatch`,`Native-client delivery must target the client that owns the bound auth method.`);return}if(e.deliveries.length!==1||e.deliveries[0]?.kind!==`none`)throw new y(`delivery-mode-mismatch`,`No-authentication methods require exactly one none delivery.`)}function S(e,t){if(!e.has(t))throw new y(`unknown-field`,`Adapter authentication delivery references unknown field "${t}".`)}function C(e,t,n,r){if(e.has(t))throw new y(n,`Adapter authentication has duplicate ${r} target "${t}".`);e.add(t)}export{_ as a,f as c,p as i,l,h as n,u as o,i as r,d as s,b as t,v as u};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-DTipWd-i.mjs";import{t}from"./ajv-DD3SIL2i.mjs";import{z as n}from"zod";import{execFile as r}from"node:child_process";import{isDeepStrictEqual as i}from"node:util";import{isAbsolute as a,relative as o,resolve as s}from"node:path";import{realpathSync as c}from"node:fs";import{localSubject as l}from"@makaio/framework/core";import{NoHandlerError as u}from"@makaio/framework/bus";import{ArtifactSubjects as d,ExecutionLinkListQuerySchema as f,ExecutionLinkSchema as p,ExecutionListQuerySchema as m,ExecutionStatusSchema as h,ExecutionsByArtifactRefsQuerySchema as g,GateInstanceListQuerySchema as _,JsonPatchOperationSchema as v,JsonValueSchema as y,SessionSubjects as b,SpanRecordSchema as x,SubagentSubjects as S,WORKFLOW_CANCELLED_REASON as ee,WorkLogFrameEntrySchema as te,WorkerNodeSubjects as ne,WorkflowDefinitionSchema as re,WorkflowError as ie,WorkflowErrorCode as ae,WorkflowExecutionSchema as C,WorkflowFinalizationClaimSchema as w,WorkflowFinalizerIdSchema as oe,WorkflowFrameStateSchema as se,WorkflowGateInstanceSchema as T,WorkflowListQuerySchema as ce,WorkflowRunContextSchema as le,WorkflowSchemas as ue,WorkflowSubjects as de,WorkflowSubjects as E,createStepCancelSubject as fe,createWorkflowDelegateResultFinalizerNamespace as pe,walkWorkflowDefinition as me}from"@makaio/framework/contracts";import{index as D,primaryKey as he,uniqueIndex as ge}from"drizzle-orm/sqlite-core";import{index as O,primaryKey as _e,uniqueIndex as ve}from"drizzle-orm/pg-core";import{defineDualTable as k}from"@makaio/framework/storage/drizzle";import{sql as ye}from"drizzle-orm";import{createStorageNamespaceDefinition as be}from"@makaio/framework/storage";import{evaluateSync as A,resolveTemplate as j}from"@makaio/framework/expression";import*as xe from"node:os";const Se=k(`workflow_finalizations`,e=>({executionId:e.text(`execution_id`).primaryKey().references(()=>M.columnPair(`id`),{onDelete:`cascade`}),workflowId:e.text(`workflow_id`).notNull(),finalizerId:e.text(`finalizer_id`).notNull(),transitionKey:e.text(`transition_key`).notNull(),claimToken:e.text(`claim_token`).notNull(),intent:e.jsonCol(`intent`).notNull(),state:e.textEnum(`state`,{enum:[`claimed`,`acknowledged`,`failed`]}).notNull(),claimedAt:e.epochMs(`claimed_at`).notNull(),settledAt:e.epochMs(`settled_at`),failure:e.text(`failure`),publishedAt:e.epochMs(`published_at`)}),{sqlite:e=>[ge(`uniq_workflow_finalizations_transition`).on(e.transitionKey),D(`idx_workflow_finalizations_recovery`).on(e.finalizerId,e.state)],postgres:e=>[ve(`uniq_workflow_finalizations_transition`).on(e.transitionKey),O(`idx_workflow_finalizations_recovery`).on(e.finalizerId,e.state)]}),Ce=Se.sqlite;Se.postgres;function we(e){return{scopeType:e.textEnum(`scope_type`,{enum:[`global`,`workspace`,`session`,`external`]}).notNull().$type(),scopeKind:e.text(`scope_kind`).notNull().default(``),scopeId:e.text(`scope_id`).notNull().default(``)}}const Te=k(`workflow_definitions`,e=>({id:e.text(`id`).primaryKey(),name:e.text(`name`).notNull(),description:e.text(`description`),root:e.jsonCol(`root`).notNull(),inputSchema:e.jsonCol(`input_schema`),configSchema:e.jsonCol(`config_schema`),outputSchema:e.jsonCol(`output_schema`),state:e.jsonCol(`state`),artifact:e.jsonCol(`artifact`),triggers:e.jsonCol(`triggers`),...we(e),createdAt:e.epochMs(`created_at`).notNull(),updatedAt:e.epochMs(`updated_at`).notNull(),canvasLayout:e.jsonCol(`canvas_layout`),source:e.jsonCol(`source`),executableSource:e.jsonCol(`executable_source`),requirements:e.jsonCol(`requirements`),successFinalizerId:e.text(`success_finalizer_id`)}),{sqlite:e=>[ge(`uniq_workflow_definitions_name_scope`).on(e.name,e.scopeType,e.scopeKind,e.scopeId),D(`idx_workflow_definitions_scope`).on(e.scopeType,e.scopeKind,e.scopeId)],postgres:e=>[ve(`uniq_workflow_definitions_name_scope`).on(e.name,e.scopeType,e.scopeKind,e.scopeId),O(`idx_workflow_definitions_scope`).on(e.scopeType,e.scopeKind,e.scopeId)]}),Ee=Te.sqlite,M=k(`workflow_executions`,e=>({id:e.text(`id`).primaryKey(),workflowId:e.text(`workflow_id`).notNull(),coordinatorSessionId:e.text(`coordinator_session_id`),status:e.textEnum(`status`,{enum:[`pending`,`running`,`paused`,`finalizing`,`completed`,`failed`,`cancelled`]}).notNull(),inputs:e.jsonCol(`inputs`),error:e.text(`error`),reason:e.text(`reason`),startedAt:e.epochMs(`started_at`).notNull(),completedAt:e.epochMs(`completed_at`),externalSettlementFingerprint:e.text(`external_settlement_fingerprint`),externalRegistrationFrameId:e.text(`external_registration_frame_id`),triggerPayload:e.jsonCol(`trigger_payload`),artifactKind:e.text(`artifact_kind`),artifactId:e.text(`artifact_id`),...we(e)}),{sqlite:e=>[D(`idx_workflow_executions_status`).on(e.status),D(`idx_workflow_executions_scope_started`).on(e.scopeType,e.scopeKind,e.scopeId,e.startedAt),D(`idx_workflow_executions_workflow_started`).on(e.workflowId,e.startedAt),D(`idx_workflow_executions_artifact`).on(e.artifactKind,e.artifactId,e.startedAt)],postgres:e=>[O(`idx_workflow_executions_status`).on(e.status),O(`idx_workflow_executions_scope_started`).on(e.scopeType,e.scopeKind,e.scopeId,e.startedAt),O(`idx_workflow_executions_workflow_started`).on(e.workflowId,e.startedAt),O(`idx_workflow_executions_artifact`).on(e.artifactKind,e.artifactId,e.startedAt)]}),De=M.sqlite,Oe=k(`workflow_execution_frames`,e=>({frameId:e.text(`frame_id`).primaryKey(),executionId:e.text(`execution_id`).notNull().references(()=>M.columnPair(`id`),{onDelete:`cascade`}),nodeId:e.text(`node_id`).notNull(),nodeType:e.text(`node_type`).notNull().$type(),path:e.jsonCol(`path`).notNull(),parentFrameId:e.text(`parent_frame_id`),status:e.text(`status`).notNull().default(`pending`).$type(),attempt:e.int4(`attempt`).notNull().default(0),iteration:e.int4(`iteration`),branchKey:e.text(`branch_key`),output:e.jsonCol(`output`),outputPresent:e.bool(`output_present`).notNull().default(!1),error:e.text(`error`),startedAt:e.epochMs(`started_at`),completedAt:e.epochMs(`completed_at`)}),{sqlite:e=>[D(`idx_workflow_execution_frames_execution`).on(e.executionId),D(`idx_workflow_execution_frames_parent`).on(e.parentFrameId)],postgres:e=>[O(`idx_workflow_execution_frames_execution`).on(e.executionId),O(`idx_workflow_execution_frames_parent`).on(e.parentFrameId)]}),ke=Oe.sqlite,Ae=k(`workflow_gate_instances`,e=>({id:e.text(`id`).primaryKey(),executionId:e.text(`execution_id`).notNull().references(()=>M.columnPair(`id`),{onDelete:`cascade`}),nodeId:e.text(`node_id`).notNull(),frameId:e.text(`frame_id`).notNull(),schema:e.jsonCol(`schema`).notNull(),prompt:e.text(`prompt`),status:e.text(`status`).notNull().default(`waiting`).$type(),autoAction:e.textEnum(`auto_action`,{enum:[`approve`,`reject`]}).notNull().default(`reject`),timeoutMs:e.int4(`timeout_ms`),resumeData:e.jsonCol(`resume_data`),reason:e.text(`reason`),resumeDataPresent:e.bool(`resume_data_present`).notNull().default(!1),createdAt:e.epochMs(`created_at`).notNull(),resolvedAt:e.epochMs(`resolved_at`)}),{sqlite:e=>[D(`idx_workflow_gate_instances_execution`).on(e.executionId),D(`idx_workflow_gate_instances_frame`).on(e.frameId)],postgres:e=>[O(`idx_workflow_gate_instances_execution`).on(e.executionId),O(`idx_workflow_gate_instances_frame`).on(e.frameId)]}),je=Ae.sqlite,Me=k(`workflow_step_spans`,e=>({executionId:e.text(`execution_id`).notNull().references(()=>M.columnPair(`id`),{onDelete:`cascade`}),frameId:e.text(`frame_id`).notNull(),stepId:e.text(`step_id`).notNull(),stepType:e.text(`step_type`).notNull(),status:e.text(`status`).$type().notNull(),startedAt:e.epochMs(`started_at`),completedAt:e.epochMs(`completed_at`),durationMs:e.int4(`duration_ms`),inputTokens:e.int4(`input_tokens`),outputTokens:e.int4(`output_tokens`),estimatedCost:e.float8(`estimated_cost`),toolCallCount:e.int4(`tool_call_count`),input:e.text(`input`),output:e.text(`output`)}),{sqlite:e=>[he({columns:[e.executionId,e.frameId]}),D(`idx_workflow_step_spans_status`).on(e.status)],postgres:e=>[_e({columns:[e.executionId,e.frameId]}),O(`idx_workflow_step_spans_status`).on(e.status)]}),Ne=Me.sqlite,Pe=k(`workflow_execution_links`,e=>({sourceExecutionId:e.text(`source_execution_id`).notNull().references(()=>M.columnPair(`id`),{onDelete:`cascade`}),targetExecutionId:e.text(`target_execution_id`).notNull().references(()=>M.columnPair(`id`),{onDelete:`cascade`}),linkType:e.text(`link_type`).$type().notNull(),metadata:e.jsonCol(`metadata`)}),{sqlite:e=>[he({columns:[e.sourceExecutionId,e.targetExecutionId]}),D(`idx_workflow_execution_links_target`).on(e.targetExecutionId)],postgres:e=>[_e({columns:[e.sourceExecutionId,e.targetExecutionId]}),O(`idx_workflow_execution_links_target`).on(e.targetExecutionId)]}),Fe=Pe.sqlite,Ie=k(`workflow_run_contexts`,e=>({executionId:e.text(`execution_id`).primaryKey().references(()=>M.columnPair(`id`),{onDelete:`cascade`}),workflowId:e.text(`workflow_id`).notNull(),coordinatorSessionId:e.text(`coordinator_session_id`).notNull(),sourceKind:e.text(`source_kind`).notNull(),sourcePath:e.text(`source_path`),sourceFilename:e.text(`source_filename`),sourceCode:e.text(`source_code`),definitionSnapshot:e.jsonCol(`definition_snapshot`),workerManifest:e.jsonCol(`worker_manifest`).notNull(),inputs:e.jsonCol(`inputs`),config:e.jsonCol(`config`).notNull().default(ye`'{}'`),triggerPayload:e.jsonCol(`trigger_payload`).notNull(),artifactRef:e.jsonCol(`artifact_ref`),dispatchMetadata:e.jsonCol(`dispatch_metadata`),scopeType:e.textEnum(`scope_type`,{enum:[`global`,`workspace`,`session`,`external`]}).notNull().default(`global`).$type(),scopeKind:e.text(`scope_kind`).notNull().default(``),scopeId:e.text(`scope_id`).notNull().default(``),cancelSubject:e.text(`cancel_subject`).notNull(),env:e.jsonCol(`env`).notNull(),createdAt:e.epochMs(`created_at`).notNull(),suspensionStrategy:e.text(`suspension_strategy`).$type(),terminalAuthority:e.text(`terminal_authority`).$type(),materializationSpec:e.jsonCol(`materialization_spec`)}),{sqlite:e=>[D(`idx_run_contexts_workflow`).on(e.workflowId)],postgres:e=>[O(`idx_run_contexts_workflow`).on(e.workflowId)]}),Le=Ie.sqlite,Re=k(`worklog_summaries`,e=>({executionId:e.text(`execution_id`).primaryKey().references(()=>M.columnPair(`id`),{onDelete:`cascade`}),workflowId:e.text(`workflow_id`).notNull(),workflowName:e.text(`workflow_name`),status:e.textEnum(`status`,{enum:[`pending`,`running`,`paused`,`finalizing`,`completed`,`failed`,`cancelled`]}).notNull(),startedAt:e.epochMs(`started_at`).notNull(),completedAt:e.epochMs(`completed_at`),durationMs:e.int4(`duration_ms`),totalInputTokens:e.int4(`total_input_tokens`),totalOutputTokens:e.int4(`total_output_tokens`),totalEstimatedCost:e.float8(`total_estimated_cost`),error:e.text(`error`),failedNodeId:e.text(`failed_node_id`)}),{sqlite:e=>[D(`idx_worklog_summaries_workflow_started`).on(e.workflowId,e.startedAt),D(`idx_worklog_summaries_status`).on(e.status)],postgres:e=>[O(`idx_worklog_summaries_workflow_started`).on(e.workflowId,e.startedAt),O(`idx_worklog_summaries_status`).on(e.status)]}),ze=Re.sqlite,Be=k(`worklog_frame_entries`,e=>({frameId:e.text(`frame_id`).primaryKey(),executionId:e.text(`execution_id`).notNull().references(()=>M.columnPair(`id`),{onDelete:`cascade`}),nodeId:e.text(`node_id`).notNull(),nodeType:e.text(`node_type`).notNull().$type(),path:e.jsonCol(`path`).notNull(),status:e.textEnum(`status`,{enum:[`pending`,`running`,`waiting`,`completed`,`failed`,`skipped`,`cancelled`]}).notNull(),attempt:e.int4(`attempt`).notNull().default(0),iteration:e.int4(`iteration`),branchKey:e.text(`branch_key`),startedAt:e.epochMs(`started_at`),completedAt:e.epochMs(`completed_at`),durationMs:e.int4(`duration_ms`),inputTokens:e.int4(`input_tokens`),outputTokens:e.int4(`output_tokens`),estimatedCost:e.float8(`estimated_cost`),error:e.text(`error`)}),{sqlite:e=>[D(`idx_worklog_frame_entries_execution`).on(e.executionId)],postgres:e=>[O(`idx_worklog_frame_entries_execution`).on(e.executionId)]}),Ve=Be.sqlite,He=k(`worklog_artifact_writes`,e=>({id:e.text(`id`).primaryKey(),executionId:e.text(`execution_id`).notNull().references(()=>M.columnPair(`id`),{onDelete:`cascade`}),frameId:e.text(`frame_id`).notNull(),nodeId:e.text(`node_id`).notNull(),artifact:e.jsonCol(`artifact`).notNull(),revision:e.text(`revision`),writtenAt:e.epochMs(`written_at`).notNull()}),{sqlite:e=>[D(`idx_worklog_artifact_writes_execution`).on(e.executionId)],postgres:e=>[O(`idx_worklog_artifact_writes_execution`).on(e.executionId)]}),Ue=He.sqlite,We=k(`worklog_gate_events`,e=>({id:e.text(`id`).primaryKey(),executionId:e.text(`execution_id`).notNull().references(()=>M.columnPair(`id`),{onDelete:`cascade`}),nodeId:e.text(`node_id`).notNull(),frameId:e.text(`frame_id`).notNull(),status:e.textEnum(`status`,{enum:[`waiting`,`resumed`,`rejected`,`timed-out`,`cancelled`]}).notNull().$type(),prompt:e.text(`prompt`),openedAt:e.epochMs(`opened_at`).notNull(),resolvedAt:e.epochMs(`resolved_at`),resumeData:e.jsonCol(`resume_data`)}),{sqlite:e=>[D(`idx_worklog_gate_events_execution`).on(e.executionId),D(`idx_worklog_gate_events_status`).on(e.status)],postgres:e=>[O(`idx_worklog_gate_events_execution`).on(e.executionId),O(`idx_worklog_gate_events_status`).on(e.status)]}),Ge=We.sqlite,Ke=k(`workflow_execution_state`,e=>({executionId:e.text(`execution_id`).primaryKey().references(()=>M.columnPair(`id`),{onDelete:`cascade`}),sequence:e.int4(`sequence`).notNull().default(0),value:e.jsonCol(`value`).notNull(),updatedAt:e.epochMs(`updated_at`).notNull()})),qe=Ke.sqlite,Je=k(`workflow_execution_state_events`,e=>({executionId:e.text(`execution_id`).notNull().references(()=>M.columnPair(`id`),{onDelete:`cascade`}),sequence:e.int4(`sequence`).notNull(),patch:e.jsonCol(`patch`).notNull(),value:e.jsonCol(`value`).notNull(),createdAt:e.epochMs(`created_at`).notNull()}),{sqlite:e=>[he({columns:[e.executionId,e.sequence]})],postgres:e=>[_e({columns:[e.executionId,e.sequence]})]}),Ye=Je.sqlite,Xe=n.object({executionId:n.string().min(1),status:h.optional(),error:n.string().nullable().optional(),reason:n.string().nullable().optional(),completedAt:n.number().nullable().optional()}),Ze=n.enum([`completed`,`failed`,`cancelled`]),Qe=te.extend({status:n.literal(`running`),startedAt:n.number().int().nonnegative()}),$e=te.extend({status:Ze,startedAt:n.number().int().nonnegative(),completedAt:n.number().int().nonnegative(),durationMs:n.number().int().nonnegative()}),et=be(`workflow`,{schemas:{get:{request:n.object({id:n.string()}),response:n.object({workflow:re.nullable()})},set:{request:n.object({workflow:re}),response:n.object({id:n.string()})},delete:{request:n.object({id:n.string()}),response:n.object({deleted:n.boolean()})},list:{request:ce,response:n.object({workflows:n.array(re)})},getExecution:{request:n.object({executionId:n.string()}),response:n.object({execution:C.nullable()})},setExecution:{request:n.object({execution:C}),response:n.object({id:n.string()})},setExecutionStart:{request:n.object({execution:C,runContext:le,initialState:y.optional(),executionLinks:n.array(p).optional()}),response:n.object({id:n.string(),executionId:n.string()})},setExternalExecutionStart:l({request:n.object({execution:C.extend({status:n.literal(`running`)}),frame:Qe.optional()}),response:n.object({executionId:n.string(),frameId:n.string().optional()})}),settleExternalExecution:l({request:n.object({executionId:n.string().min(1),status:Ze,error:n.string().min(1).optional(),reason:n.string().min(1).optional(),completedAt:n.number().int().nonnegative().optional(),frame:$e.optional()}),response:n.object({success:n.boolean()})}),updateExecution:{request:Xe,response:n.object({success:n.boolean()})},pauseRunningExecution:l({request:n.object({executionId:n.string().min(1)}),response:n.object({paused:n.boolean()})}),claimFinalization:l({request:n.object({claim:w}),response:n.object({claimed:n.boolean()})}),listClaimedFinalizations:l({request:n.object({finalizerId:oe}),response:n.object({claims:n.array(w)})}),listUnpublishedFinalizations:l({request:n.object({finalizerId:oe}),response:n.object({claims:n.array(w)})}),publishFinalization:l({request:n.object({claim:w}),response:n.object({})}),acknowledgeFinalization:l({request:n.object({executionId:n.string().min(1),claimToken:n.string().min(1),settledAt:n.number().int().nonnegative()}),response:n.object({acknowledged:n.boolean()})}),failFinalization:l({request:n.object({executionId:n.string().min(1),claimToken:n.string().min(1),error:n.string().min(1),settledAt:n.number().int().nonnegative()}),response:n.object({failed:n.boolean()})}),cancelPausedExecution:{request:n.object({executionId:n.string().min(1),completedAt:n.number(),reason:n.string().optional()}),response:n.object({cancelled:n.boolean(),gates:n.array(T.extend({status:n.literal(`cancelled`)}))})},listExecutions:{request:m,response:n.object({executions:n.array(C)})},listExecutionsByArtifactRefs:{request:g,response:n.object({executionsByRef:n.record(n.string(),n.array(C))})},setFrame:{request:n.object({executionId:n.string().min(1),frame:se}),response:n.object({frameId:n.string()})},getFrame:{request:n.object({frameId:n.string().min(1)}),response:n.object({frame:se.nullable()})},listFrames:{request:n.object({executionId:n.string().min(1)}),response:n.object({frames:n.array(se)})},setGateInstance:{request:n.object({gate:T}),response:n.object({id:n.string()})},resolveWaitingGateInstance:{request:n.object({gate:T.extend({status:n.enum([`resumed`,`rejected`])})}),response:n.object({accepted:n.boolean()})},restorePausedGateResumeState:{request:n.object({execution:C.extend({status:n.literal(`paused`)}),gate:T.extend({status:n.literal(`waiting`)})}),response:n.object({executionId:n.string(),gateId:n.string()})},getGateInstance:{request:n.object({executionId:n.string().min(1),nodeId:n.string().min(1),frameId:n.string().min(1).optional()}),response:n.object({gate:T.nullable()})},listGateInstances:{request:_,response:n.object({gates:n.array(T)})},listPausedGateTimeouts:l({request:n.object({}),response:n.object({gates:n.array(T)})}),setSpan:{request:n.object({span:x}),response:n.object({id:n.string()})},listSpans:{request:n.object({executionId:n.string()}),response:n.object({spans:n.array(x)})},setExecutionLink:{request:n.object({link:p}),response:n.object({id:n.string()})},listExecutionLinks:{request:f,response:n.object({links:n.array(p)})},setRunContext:l({request:n.object({runContext:le,initialState:y.optional()}),response:n.object({executionId:n.string()})}),getRunContext:l({request:n.object({executionId:n.string().min(1)}),response:n.object({runContext:le.nullable()})}),initializeState:l({request:n.object({executionId:n.string().min(1),initialValue:y}),response:n.object({})}),getState:l({request:n.object({executionId:n.string().min(1)}),response:n.object({state:n.object({executionId:n.string().min(1),sequence:n.number().int().nonnegative(),value:y}).nullable()})}),patchState:l({request:n.object({executionId:n.string().min(1),expectedSequence:n.number().int().nonnegative(),nextValue:y}),response:n.object({executionId:n.string().min(1),sequence:n.number().int().positive(),patch:n.array(v),value:y})})},extensions:{drizzle:{workflowDefinitions:Ee,workflowExecutions:De,workflowExecutionFrames:ke,workflowGateInstances:je,workflowStepSpans:Ne,workflowExecutionLinks:Fe,workflowRunContexts:Le,worklogSummaries:ze,worklogFrameEntries:Ve,worklogArtifactWrites:Ue,worklogGateEvents:Ge,workflowExecutionState:qe,workflowExecutionStateEvents:Ye,workflowFinalizations:Ce}}}),N=et.subjects;var tt=e(t(),1);function nt(e){let t=e.transport?.peer;if(t?.authenticated!==!0||t.kind!==`workflow-execution-attempt`)return null;let n=t.id,r=t.claims?.executionId;return typeof n!=`string`||n.length===0||typeof r!=`string`||r.length===0?null:{executionAttemptId:n,executionId:r}}function rt(e,t){return e.origin.local?!0:nt(e)?.executionId===t}function it(e,t){let n=[];return at(n,``,e,t),n}function at(e,t,n,r){if(Array.isArray(n)&&Array.isArray(r)){st(e,t,n,r);return}if(ct(n)&&ct(r)){ot(e,t,n,r);return}dt(n,r)||e.push({op:`replace`,path:t,value:r})}function ot(e,t,n,r){let i=Array.from(new Set([...Object.keys(n),...Object.keys(r)])).sort();for(let a of i){let i=lt(n,a),o=lt(r,a),s=`${t}/${ut(a)}`;if(!i&&o){e.push({op:`add`,path:s,value:r[a]});continue}if(i&&!o){e.push({op:`remove`,path:s});continue}at(e,s,n[a],r[a])}}function st(e,t,n,r){let i=Math.min(n.length,r.length);for(let a=0;a<i;a++)at(e,`${t}/${String(a)}`,n[a],r[a]);for(let i=n.length-1;i>=r.length;i--)e.push({op:`remove`,path:`${t}/${String(i)}`});for(let i=n.length;i<r.length;i++)e.push({op:`add`,path:`${t}/${String(i)}`,value:r[i]})}function ct(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function lt(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function ut(e){return e.replaceAll(`~`,`~0`).replaceAll(`/`,`~1`)}function dt(e,t){return Object.is(e,t)}const ft={stepTimeoutMs:300*1e3,stepCooldownMs:500,busAuth:{kind:`none`},platformDefaults:{cwd:process.cwd()},cancelTimeoutMs:1e4},pt=new tt.default({allErrors:!0,strict:!1}),mt=new Map,ht=new Map;function gt(e){let t=e.$id;return typeof t==`string`?t:void 0}function _t(e,t,n){let r=gt(t);return r===void 0?`workflow:${e}:${n}`:`schema-id:${r}`}function vt(e,t){try{return JSON.stringify(yt(t))}catch(t){let n=t instanceof Error?t.message:String(t);throw Error(`Workflow '${e}' state schema is invalid: ${n}`)}}function yt(e){if(Array.isArray(e))return e.map(yt);if(typeof e!=`object`||!e)return e;let t=e;return Object.fromEntries(Object.keys(t).sort().map(e=>[e,yt(t[e])]))}function bt(e,t,n){let r=ht.get(t);if(r!==void 0&&r!==n)throw Error(`Workflow '${e}' state schema reuses JSON Schema $id '${t}' with different content`);return pt.getSchema(t)}function xt(e){return e==null||e.length===0?`schema validation failed`:e.map(e=>`${e.instancePath.length>0?e.instancePath:`<root>`} ${e.message??`is invalid`}`).join(`; `)}function St(e,t){let n=vt(e,t),r=_t(e,t,n),i=mt.get(r);if(i!==void 0)return i;let a=gt(t);if(a!==void 0){let t=bt(e,a,n);if(t!==void 0)return mt.set(r,t),t}try{let e=pt.compile(t);return mt.set(r,e),a!==void 0&&ht.set(a,n),e}catch(t){let n=t instanceof Error?t.message:String(t);throw Error(`Workflow '${e}' state schema is invalid: ${n}`)}}function Ct(e,t,n){if(e.state===void 0)return;let r=St(e.id,e.state.schema);if(r(t))return;let i=n===`initial`?`initial state`:`next state`;throw Error(`Workflow '${e.id}' ${i} does not match workflow state schema: ${xt(r.errors)}`)}function wt(e){if(e.state===void 0)return;let t=e.state.initial===void 0?{}:e.state.initial;return Ct(e,t,`initial`),t}function P(e){return`${e}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}function Tt(e,t,n){let r=e?j(e,n):t,i=s(t),l=s(a(r)?r:s(t,r)),u,d;try{u=c(i),d=c(l)}catch{return null}let f=o(process.platform===`win32`?u.toLowerCase():u,process.platform===`win32`?d.toLowerCase():d);return f===``||!f.startsWith(`..`)&&!a(f)?d:null}function Et(e){return e instanceof Error&&(`code`in e||`killed`in e)}function Dt(e){let t=e[0];return t===void 0||t.trim()===``?null:t}function Ot(e){let{command:t,cwd:n,env:i,timeoutMs:a,signal:o}=e,s=Dt(t);if(s===null)return Promise.reject(Error(`Shell step command is empty`));let c=t.slice(1);return new Promise((e,t)=>{let l=null,u=!1,d=r(s,c,{cwd:n,env:{...process.env,...i},timeout:0,maxBuffer:10*1024*1024,shell:!1},(n,r,i)=>{n?t(Object.assign(n,{stdout:r,stderr:i,aborted:u})):e({stdout:r,stderr:i})}),f=()=>{d.exitCode===null&&(d.kill(`SIGTERM`),l=setTimeout(()=>{d.exitCode===null&&d.kill(`SIGKILL`)},5e3))},p=setTimeout(()=>{f()},a);if(d.on(`close`,()=>{clearTimeout(p),l!==null&&clearTimeout(l)}),o){let e=()=>{u=!0,f()};o.aborted?e():(o.addEventListener(`abort`,e,{once:!0}),d.on(`close`,()=>o.removeEventListener(`abort`,e)))}})}async function kt(e){let{step:t,workspaceRoot:n,expressionContext:r,signal:i}=e,a=Tt(t.cwd,n,r);if(a===null)return{status:`failed`,error:`Shell step cwd '${t.cwd}' is outside workspace root '${n}'`};let o=t.command.map(e=>j(e,r));if(Dt(o)===null)return{status:`failed`,error:`Shell step command is empty`};let s=Object.fromEntries(Object.entries(t.env??{}).map(([e,t])=>[e,j(t,r)])),c=t.timeoutMs??3e5;try{let{stdout:e}=await Ot({command:o,cwd:a,env:s,timeoutMs:c,signal:i});return{status:`completed`,stdout:e}}catch(e){if(!Et(e))return{status:`failed`,error:String(e)};let t=e.aborted===!0,n=!t&&(e.killed===!0||e.signal!=null);return{status:`failed`,error:t?`Command cancelled`:n?`Command timed out after ${c}ms`:e.stderr?.trim()||e.stdout?.trim()||e.message}}}async function At(e,t,n){if(!(await e.request(N.updateExecution,{executionId:t.id,status:n.status,error:n.error,reason:n.reason,completedAt:n.completedAt})).success)throw Error(`Workflow execution not found: ${t.id}`)}function jt(e,t){return e===t||t===`completed`&&e===`finalizing`}async function Mt(e,t,n){let r=e.durableLifecycleTransitions.get(t)??Promise.resolve(),i=Promise.withResolvers(),a=r.catch(()=>void 0).then(()=>i.promise);e.durableLifecycleTransitions.set(t,a),await r.catch(()=>void 0);try{return await n()}finally{i.resolve(),e.durableLifecycleTransitions.get(t)===a&&e.durableLifecycleTransitions.delete(t)}}async function F(e,t,n,r){let i,a,o=!0,s=await Mt(e,t,async()=>{let s=await n(),c=Promise.withResolvers(),l=e.lifecyclePublications.get(t)??Promise.resolve();return o=!e.publishingLifecycleExecutions.has(t),a=l.catch(()=>void 0).then(async()=>{await c.promise,e.publishingLifecycleExecutions.add(t);try{await r(s)}finally{e.publishingLifecycleExecutions.delete(t)}}),e.lifecyclePublications.set(t,a),i=c.resolve,s});if(i?.(),a!==void 0){let n=a;n.then(()=>{e.lifecyclePublications.get(t)===n&&e.lifecyclePublications.delete(t)},()=>{e.lifecyclePublications.get(t)===n&&e.lifecyclePublications.delete(t)}),o&&await n}return s}async function Nt(e,t,n){if(!(await e.bus.request(t.finalizeSubject,n)).accepted){let r=`Workflow success finalizer "${t.finalizerId}" rejected transition ${n.transitionKey}`,i=Date.now(),{failed:a}=await e.bus.request(N.failFinalization,{executionId:n.executionId,claimToken:n.claimToken,error:r,settledAt:i});return}}async function Pt(e){for(let t of e.successFinalizers?.values()??[]){let{claims:n}=await e.bus.request(N.listClaimedFinalizations,{finalizerId:t.finalizerId});for(let r of n)await Nt(e,t,r);let{claims:r}=await e.bus.request(N.listUnpublishedFinalizations,{finalizerId:t.finalizerId});for(let t of r)await e.bus.request(N.publishFinalization,{claim:t})}}async function Ft(e,t,n,r){let i=e.resolveSuccessFinalizerId?.(n),a=i===void 0?void 0:e.successFinalizers?.get(i);if(i!==void 0&&a===void 0){await I(e,t,n,`Workflow success finalizer "${i}" is unavailable`);return}if(a!==void 0){let r=Date.now(),i={executionId:n,workflowId:t.workflowId,finalizerId:a.finalizerId,transitionKey:`${n}:terminal`,claimToken:crypto.randomUUID(),intent:{status:`completed`,completedAt:r},claimedAt:r};await F(e,n,async()=>(await e.bus.request(N.getExecution,{executionId:n})).execution?.status!==`running`||!(await e.bus.request(N.claimFinalization,{claim:i})).claimed?!1:(t.status=`finalizing`,e.activeExecutions.delete(n),!0),async t=>{t&&await Nt(e,a,i)});return}let o=Date.now();await F(e,n,async()=>(await e.bus.request(N.getExecution,{executionId:n})).execution?.status===`running`?(t.status=`completed`,t.completedAt=o,await At(e.bus,t,{status:t.status,completedAt:o}),e.activeExecutions.delete(n),!0):!1,async i=>{i&&await e.bus.emit(E.execution.completed,{executionId:n,workflowId:t.workflowId,totalDuration:o-r,completedAt:o})})}async function I(e,t,n,r,i){let a=Date.now();await F(e,n,async()=>(await e.bus.request(N.getExecution,{executionId:n})).execution?.status===`running`?(t.status=`failed`,t.error=r,t.completedAt=a,await At(e.bus,t,{status:t.status,error:r,completedAt:a}),e.activeExecutions.delete(n),!0):!1,async o=>{if(o){try{await i?.()}catch(e){console.error(`[WorkflowFinalizer] Failed to run failure pre-emit hook:`,e)}await e.bus.emit(E.execution.failed,{executionId:n,workflowId:t.workflowId,error:r,completedAt:a})}})}function It(e,t,n){let{activeRunnerSteps:r,bus:i}=e,a=`${t}:`;for(let[e,o]of r){if(!e.startsWith(a))continue;let r=e.slice(a.length);o.controller.abort(),i.emit(fe(o.cancelSubject),{executionId:t,stepId:r,reason:n}).catch(t=>{console.error(`[WorkflowFinalizer] Failed to emit cancellation for ${e}:`,t)})}}async function Lt(e,t,n){let r=await e.bus.request(N.getExecution,{executionId:t});if(r.execution==null)return;let i=r.execution.workflowId;if(i===void 0)throw Error(`Paused execution ${t} is missing stored workflowId`);let a=Date.now(),{cancelled:o,gates:s}=await e.bus.request(N.cancelPausedExecution,{executionId:t,completedAt:a,reason:n});if(o)return e.activeExecutions.delete(t),{workflowId:i,completedAt:a,gates:s}}async function Rt(e,t,n){let r=e.activeExecutions.get(t);if(!r||r.execution.status!==`running`)return Lt(e,t,n);let{execution:i}=r;i.status=`cancelled`,i.reason=n,i.completedAt=Date.now();try{for(let[n,r]of e.shellAbortControllers)n.startsWith(`${t}:`)&&(r.abort(),e.shellAbortControllers.delete(n));It(e,t,n),await At(e.bus,i,{status:i.status,reason:n,completedAt:i.completedAt})}finally{e.activeExecutions.delete(t)}return{workflowId:i.workflowId,completedAt:i.completedAt,gates:[]}}async function zt(e,t,n){return await F(e,t,()=>Rt(e,t,n),async r=>{if(r!==void 0){for(let n of r.gates)await e.bus.emit(E.gate.resolved,{executionId:t,stepId:n.nodeId,stepType:`gate`,frameId:n.frameId,source:`cancelled`}).catch(e=>{console.error(`[WorkflowFinalizer] Failed to emit cancelled gate resolution for ${n.frameId}:`,e)});await e.bus.emit(E.execution.cancelled,{executionId:t,workflowId:r.workflowId,reason:n,completedAt:r.completedAt})}})!==void 0}function Bt(e,t){return t}function Vt(e,t){return{...t}}function Ht(e){return e.reason instanceof Error?e.reason.message:typeof e.reason==`string`&&e.reason.length>0?e.reason:ee}async function Ut(e,t,n){let r=e.activeExecutions.get(t);if(!r||r.execution.status!==`running`)return;let i=e.buildFinalizerDeps(),{execution:a}=await i.bus.request(N.getExecution,{executionId:t});a?.status===`running`&&(r.execution=a,await zt(i,t,Ht(n))||console.error(`[WorkflowExecutor] Failed to persist runner cancellation for ${t}: execution not active`))}async function Wt(e,t){if(t.pausedAtGateId===void 0||t.pausedAtFrameId===void 0)throw Error(`Paused runner result for '${t.executionId}' is missing gate identity`);let n=e.buildFinalizerDeps();await F(n,t.executionId,async()=>{let{paused:r}=await n.bus.request(N.pauseRunningExecution,{executionId:t.executionId});if(!r){let{execution:e}=await n.bus.request(N.getExecution,{executionId:t.executionId});if(e?.status!==`paused`)return!1}let i=e.activeExecutions.get(t.executionId);return i!==void 0&&(i.execution.status=`paused`),e.activeExecutions.delete(t.executionId),r},async e=>{e&&await n.bus.emit(E.execution.paused,{executionId:t.executionId,workflowId:t.workflowId,pausedAtGateId:t.pausedAtGateId,pausedAtFrameId:t.pausedAtFrameId})})}async function Gt(e,t){let n=e.activeExecutions.get(t.executionId);if(!n||n.execution.status!==`running`)return;let r=e.buildFinalizerDeps(),{execution:i}=await r.bus.request(N.getExecution,{executionId:t.executionId});if(i?.status===`running`){if(n.execution=i,t.status===`completed`){await Ft(r,n.execution,t.executionId,n.execution.startedAt);return}if(t.status===`cancelled`){await zt(r,t.executionId,t.reason??ee);return}if(t.status===`failed`){await I(r,n.execution,t.executionId,t.error);return}}}async function Kt(e,t){let{result:n}=t;if(t.state===`authority-committed`){let{execution:t}=await e.buildFinalizerDeps().bus.request(N.getExecution,{executionId:n.executionId});if(!t||t.workflowId!==n.workflowId||!jt(t.status,n.status))throw Error(`Authority-committed runner result was not durably converged for '${n.executionId}'`);e.activeExecutions.delete(n.executionId);return}if(n.status===`paused`){await Wt(e,n);return}await Gt(e,n)}function qt(e,t){return{source:{kind:`path`,path:t.filePath},executionId:t.executionId,workflowId:t.workflowId,triggerPayload:t.sanitizedTriggerPayload,inputs:t.boundInputs,config:t.boundConfig,...t.artifactRef===void 0?{}:{artifactRef:t.artifactRef},scope:t.scope,busUrl:e.config.busUrl,busAuth:e.config.busAuth,env:e.config.platformDefaults.env??{},coordinatorSessionId:t.coordinatorSessionId,cancelSubject:`workflow.${t.executionId}.cancel`,suspensionStrategy:`wait-in-process`,materializationSpec:t.materializationSpec}}function Jt(e,t){let{executionId:n}=t,{workflowRunner:r,workflowAbortControllers:i,executionTasks:a,activeExecutions:o}=e,s=new AbortController;i.set(n,s);let c=qt(e,t);return Promise.resolve().then(()=>r.run(c,s.signal)).then(async t=>{await Kt(e,t)}).catch(async t=>{if(s.signal.aborted){await Ut(e,n,s.signal).catch(e=>{console.error(`[WorkflowExecutor] Failed to persist file runner cancellation for ${n}:`,e)});return}let r=o.get(n);if(r){let i=t instanceof Error?t.message:String(t);await I(e.buildFinalizerDeps(),r.execution,n,i).catch(e=>{console.error(`[WorkflowExecutor] Failed to persist file runner boot failure for ${n}:`,e)})}}).finally(()=>{i.delete(n),a.delete(n),o.delete(n)})}function Yt(e,t){let{config:n}=e,r=t.definitionSnapshot??(t.source.kind===`definition`?t.workflow:void 0);return{source:t.source,...r===void 0?{}:{definition:r},executionId:t.executionId,workflowId:t.workflowId,triggerPayload:t.sanitizedTriggerPayload,inputs:t.boundInputs,config:t.boundConfig,...t.artifactRef===void 0?{}:{artifactRef:t.artifactRef},scope:t.scope,busUrl:n.busUrl,busAuth:n.busAuth,env:n.platformDefaults.env??{},coordinatorSessionId:t.coordinatorSessionId,cancelSubject:`workflow.${t.executionId}.cancel`,suspensionStrategy:t.suspensionStrategy??`wait-in-process`,...t.terminalAuthority!==void 0&&{terminalAuthority:t.terminalAuthority},...t.materializationSpec===void 0?{}:{materializationSpec:t.materializationSpec}}}function Xt(e,t){let{executionId:n}=t,{workflowRunner:r,workflowAbortControllers:i,executionTasks:a,activeExecutions:o}=e,s=new AbortController;i.set(n,s);let c=Yt(e,t),l=t.dispatchMetadata===void 0?void 0:{dispatchMetadata:t.dispatchMetadata};return Promise.resolve().then(()=>r.run(c,s.signal,void 0,l)).then(async t=>{await Kt(e,t)}).catch(async t=>{if(s.signal.aborted){await Ut(e,n,s.signal).catch(e=>{console.error(`[WorkflowExecutor] Failed to persist runner cancellation for ${n}:`,e)});return}let r=o.get(n);if(r){let i=t instanceof Error?t.message:String(t);await I(e.buildFinalizerDeps(),r.execution,n,i).catch(e=>{console.error(`[WorkflowExecutor] Failed to persist runner boot failure for ${n}:`,e)})}}).finally(()=>{i.delete(n),a.delete(n),o.delete(n)})}function Zt(e,t,n={}){let r=Qt(e,n);return{executionId:e.executionId,workflowId:e.workflowId,workflow:t,...e.definitionSnapshot===void 0?{}:{definitionSnapshot:e.definitionSnapshot},source:e.source,coordinatorSessionId:e.coordinatorSessionId,sanitizedTriggerPayload:e.triggerPayload,boundInputs:e.inputs,boundConfig:e.config??{},...e.artifactRef===void 0?{}:{artifactRef:e.artifactRef},scope:e.scope,...e.materializationSpec===void 0?{}:{materializationSpec:e.materializationSpec},suspensionStrategy:e.suspensionStrategy,terminalAuthority:e.terminalAuthority??`authority`,...r===void 0?{}:{dispatchMetadata:r}}}function Qt(e,t){return t.resume===!0?{...e.dispatchMetadata,resume:!0}:e.dispatchMetadata}const $t=/(?:^|[_-])(authorization|token|cookie|password|set[_-]?cookie|api[_-]?key|secret|credential|private[_-]?key|api[_-]?secret)(?:$|[_-])/i;function en(e){if(!e)return;let t={remainingBytes:65536},n={},r=Object.entries(e).slice(0,100);for(let[e,i]of r){if(t.remainingBytes<=0)break;let r=tn(e,i,0,t);r!==void 0&&(n[e]=r)}return Object.keys(n).length>0?n:void 0}function tn(e,t,n,r){if(!(r.remainingBytes<=0||n>6)&&(r.remainingBytes-=e.length,!(r.remainingBytes<=0))){if($t.test(e))return r.remainingBytes-=10,`[REDACTED]`;if(t===null)return r.remainingBytes-=4,null;if(typeof t==`string`){let e=t.slice(0,2e3);return r.remainingBytes-=e.length,e}if(typeof t==`number`||typeof t==`boolean`)return r.remainingBytes-=String(t).length,t;if(Array.isArray(t)){let i=[];for(let a of t.slice(0,100)){if(r.remainingBytes<=0)break;let t=tn(e,a,n+1,r);t!==void 0&&i.push(t)}return i}if(typeof t==`object`){let e={},i=Object.entries(t).slice(0,100);for(let[t,a]of i){if(r.remainingBytes<=0)break;let i=tn(t,a,n+1,r);i!==void 0&&(e[t]=i)}return e}}}async function nn(e){let{authority:t,executionId:n,dispatch:r}=e,i=await t.createAttempt(n),a=t.waitForOutcome(i.executionAttemptId);if(a===void 0)throw Error(`No outcome waiter for attempt '${i.executionAttemptId}': waiter was not installed during attempt creation`);a.catch(()=>void 0);try{await r(i.executionAttemptId)}catch(e){return rn({authority:t,executionId:n,executionAttemptId:i.executionAttemptId,outcomePromise:a,dispatchError:e})}return an(a)}async function rn(e){let{authority:t,executionId:n,executionAttemptId:r,outcomePromise:i,dispatchError:a}=e,o;try{o=await t.abandonPendingAttempt(r,n)}catch(e){throw t.discardWaiter(r),AggregateError([a,e],`Dispatch acknowledgement failed and pending attempt '${r}' could not be abandoned`,{cause:a})}switch(o.kind){case`abandoned`:case`already-abandoned`:throw t.discardWaiter(r),a;case`allocated`:case`provisioning`:case`already-settled`:return an(i);case`fenced`:t.settleOutcome(r,{kind:`fenced`});try{return await an(i)}catch(e){throw AggregateError([a,e],`Dispatch acknowledgement failed after attempt '${r}' was fenced`,{cause:a})}}}async function an(e){return{state:`authority-committed`,result:await e}}function on(e){return e===void 0?!1:(e.customCapabilities??[]).length>0||e.persistentStorage!==void 0||e.maxRuntimeMs!==void 0||e.recoverableAllocation!==void 0||e.materializationModes!==void 0&&e.materializationModes.length>0}function sn(e){let{bus:t,requirements:n,dispatchMetadata:r,authority:i}=e;if(on(n))return{run:(e,a)=>nn({authority:i,executionId:e.executionId,dispatch:i=>t.request(ne.dispatch,{executionAttemptId:i,config:e,requirements:n,...r===void 0?{}:{metadata:r}},{signal:a})})}}function cn(e,t){if(e.executionAttemptAuthority!==void 0){let n=sn({bus:e.bus,requirements:t.workflow.requirements,dispatchMetadata:t.dispatchMetadata,authority:e.executionAttemptAuthority});if(n!==void 0)return Xt(e.buildRunnerTaskDeps(n),{...t,terminalAuthority:`authority`})}return e.workflowRunner===void 0?e.runExecution(t.executionId).finally(()=>{e.executionTasks.delete(t.executionId)}):Xt(e.buildRunnerTaskDeps(e.workflowRunner),t)}async function ln(e,t,n,r){let i=wt(r);await e.request(N.setExecutionStart,{execution:t,runContext:n,initialState:i})}async function un(e,t){try{await e.emit(E.execution.started,t)}catch(e){console.error(`[WorkflowExecutor] execution.started listener failed:`,e)}}async function dn(e,t){await e.request(b.close,{sessionId:t}).catch(e=>{console.error(`[WorkflowExecutor] Failed to close coordinator session "${t}" after launch failure:`,e)})}function fn(e,t,n,r,i,a,o,s,c){let l={id:t,workflowId:n.id,coordinatorSessionId:r,status:`running`,inputs:i,config:a,startedAt:Date.now(),triggerPayload:o,...c.artifactRef===void 0?{}:{artifactRef:c.artifactRef},scope:s};return e.set(t,{execution:l,workflow:n,runContext:c,runtimeHandlers:new Map,runtimeLoopGates:new Map}),l}async function pn(e,t,n,r,i){await e.request(N.setExecutionStart,{execution:t,runContext:n,...r===void 0?{}:{initialState:r},...i!==void 0&&i.length>0?{executionLinks:[...i]}:{}})}function mn(e,t){return e.executableSource??{kind:`definition`,workflowId:t}}function hn(e,t){return e.kind===`definition`||t!==void 0}function gn(e,t,n){if(!(t.kind===`definition`||e.workflowRunner!==void 0))throw new ie(ae.NOT_EXECUTABLE,`Workflow source execution '${n}' requires a workflow runner.`)}async function _n(e,t,n){if(t.source.kind===`path`){if(n!==void 0)return n;for(let n of e.materializationSpecResolvers){let e=await n.resolve({executionId:t.executionId,workflowId:t.workflowId,sourcePath:t.source.path,workspaceRoot:t.workspaceRoot});if(e!==void 0)return e}throw Error(`[WorkflowExecutor] path-backed execution requires a resolved materializationSpec`)}}async function vn(e,t,n){let r=await _n(e,t,n);return{source:t.source.kind===`path`&&r!==void 0?{kind:`path`,path:r.sourcePath}:t.source,materializationSpec:r}}async function yn(e,t,n,r){return e.set(t,n),await r,t}async function bn(e,t){let{workflow:n}=await e.request(N.get,{id:t});if(!n)throw Error(`Workflow not found: ${t}`);return n}async function xn(e,t,n,r){let{sessionId:i}=await e.request(b.create,{parentSessionId:t,branchKind:`coordinator`,title:`Workflow: ${n}`,targetWorkingDirectory:r});return i}async function Sn(e,t,n={}){let r=await bn(e.bus,t);return Cn(e,t,{...n,workflow:r})}async function Cn(e,t,n){let{bus:r,activeExecutions:i,executionTasks:a}=e,{workflow:o,parentSessionId:s,triggerPayload:c,artifactRef:l,scopeOverride:u}=n,d=P(`wfx`),f=en(c),p=Bt(o,n.input===void 0?{}:n.input),m=Vt(o,n.config??{}),h=u??o.scope,g=await e.resolveExecutionWorkspaceRoot(s),_=n.executionSource??mn(o,t),v=n.definitionSnapshot??o;gn(e,_,t);let{source:y,materializationSpec:b}=await vn(e,{executionId:d,workflowId:t,source:_,workspaceRoot:g},n.materializationSpec),x=await xn(r,s,o.name,g),S=!1;try{let s=e.buildRunContext({executionId:d,workflowId:t,coordinatorSessionId:x,source:y,...v===void 0?{}:{definitionSnapshot:v},inputs:p,config:m,scope:h,triggerPayload:f??{},...l===void 0?{}:{artifactRef:l},...b===void 0?{}:{materializationSpec:b}}),c=fn(i,d,o,x,p,m,f,h,s);await pn(r,c,s,_.kind===`definition`?wt(o):void 0,n.executionLinks?.(d));let u=c.startedAt,g=un(r,{executionId:d,workflowId:t,coordinatorSessionId:x,startedAt:u,...l===void 0?{}:{artifactRef:l}}),ee=cn(e,{executionId:d,workflowId:t,workflow:o,...hn(_,n.definitionSnapshot)?{definitionSnapshot:v}:{},source:_,coordinatorSessionId:x,sanitizedTriggerPayload:f??{},boundInputs:p,boundConfig:m,scope:h,...l===void 0?{}:{artifactRef:l},suspensionStrategy:s.suspensionStrategy,...b===void 0?{}:{materializationSpec:b}});return S=!0,yn(a,d,ee,g)}catch(e){throw S||(i.delete(d),a.delete(d),await dn(r,x)),e}}function wn(e,t,n,r,i){e.set(t.id,{execution:t,workflow:{id:t.workflowId,name:n,scope:r,root:{id:`${t.workflowId}-root`,type:`sequence`,nodes:[]}},runContext:i,runtimeHandlers:new Map,runtimeLoopGates:new Map})}async function Tn(e,t,n,r){let{sessionId:i}=await e.request(b.create,{...t===void 0?{}:{parentSessionId:t},branchKind:`coordinator`,title:`Workflow: ${n}`,targetWorkingDirectory:r});return i}async function En(e,t,n={}){let{bus:r,activeExecutions:i,executionTasks:a}=e,{artifactRef:o,parentSessionId:s,triggerPayload:c,scopeOverride:l}=n,u=P(`wfx`),d=en(c),f=n.input===void 0?{}:n.input,p=n.config??{},m=l??{type:`global`},h=await e.resolveExecutionWorkspaceRoot(s);if(e.workflowRunner===void 0)throw Error(`[WorkflowExecutor] startFileExecution called without a workflow runner`);let g=u,_=await _n(e,{executionId:u,workflowId:g,source:{kind:`path`,path:t},workspaceRoot:h},n.materializationSpec),v=await Tn(r,s,t,h),y={id:u,workflowId:g,coordinatorSessionId:v,status:`running`,inputs:f,config:p,startedAt:Date.now(),triggerPayload:d,...o===void 0?{}:{artifactRef:o},scope:m},b=!1;try{let{workflowRunner:s}=e;if(_===void 0)throw Error(`[WorkflowExecutor] path-backed execution requires a resolved materializationSpec`);let c=e.buildRunContext({executionId:u,workflowId:g,coordinatorSessionId:v,source:{kind:`path`,path:_.sourcePath},inputs:f,config:p,scope:m,triggerPayload:d??{},...o===void 0?{}:{artifactRef:o},materializationSpec:_});await pn(r,y,c,void 0,n.executionLinks?.(u)),wn(i,y,t,m,c);let l=un(r,{executionId:u,workflowId:g,coordinatorSessionId:v,startedAt:y.startedAt,...o===void 0?{}:{artifactRef:o}}),h=Jt(e.buildRunnerTaskDeps(s),{executionId:u,workflowId:g,filePath:t,coordinatorSessionId:v,sanitizedTriggerPayload:d??{},boundInputs:f,boundConfig:p,...o===void 0?{}:{artifactRef:o},scope:m,materializationSpec:_});return b=!0,yn(a,u,h,l)}catch(e){throw b||(i.delete(u),a.delete(u),await dn(r,v)),e}}function Dn(e){let t={};for(let[n,r]of Object.entries(e))r.status===`completed`?t[n]={status:`completed`,output:r.output}:r.status===`skipped`&&(t[n]={status:`skipped`});return t}function L(e){let t={...e,input:e.inputs,steps:e.frames};return{...t,ctx:t}}function On(e,t){let n=process.platform===`win32`?`win32`:process.platform===`darwin`?`darwin`:`linux`;return{repoPath:e??process.cwd(),makaioHome:t??process.env.MAKAIO_HOME??`${xe.homedir()}/.makaio`,os:n,arch:process.arch}}function kn(){return{context:On(),env:{}}}function An(e){return{...e,path:[...e.path]}}function jn(e){if(e===`station`||e===`delegate-agent`||e===`delegate-role`||e===`gate`)return e}function Mn(e,t){let n=jn(t.nodeType);if(n===void 0||t.status!==`running`&&t.status!==`completed`&&t.status!==`failed`&&t.status!==`skipped`)return;let r=t.startedAt!==void 0&&t.completedAt!==void 0?Math.max(0,t.completedAt-t.startedAt):void 0;return{executionId:e,frameId:t.frameId,stepId:t.nodeId,stepType:n,status:t.status,...t.startedAt===void 0?{}:{startedAt:t.startedAt},...t.completedAt===void 0?{}:{completedAt:t.completedAt},...r===void 0?{}:{durationMs:r},...t.output===void 0?{}:{output:JSON.stringify(t.output)}}}var Nn=class e{executionId;workflowId;definition;execution;runtimeHandlers;bus;signal;frameRegistry;framePersistenceTasks=new Map;artifactBinding;constructor(e,t,n,r,i,a,o,s,c,l=kn(),u={}){this.executionId=e,this.workflowId=t,this.definition=n,this.execution=r,this.runtimeHandlers=i,this.bus=a,this.signal=o,this.frameRegistry=s??new Map,this.artifactBinding=c,this.platformContext=l.context,this.env=l.env,this.suspensionStrategy=u.suspensionStrategy??`wait-in-process`,this.resumeFrames=u.resumeFrames,this.runtimeLoopGates=u.runtimeLoopGates??new Map}platformContext;env;suspensionStrategy;resumeFrames;runtimeLoopGates;withSignal(t){return new e(this.executionId,this.workflowId,this.definition,this.execution,this.runtimeHandlers,this.bus,t,this.frameRegistry,this.artifactBinding,{context:this.platformContext,env:this.env},{suspensionStrategy:this.suspensionStrategy,resumeFrames:this.resumeFrames,runtimeLoopGates:this.runtimeLoopGates})}buildExpressionContext(){return{inputs:this.execution.inputs,config:this.execution.config??{},trigger:this.execution.triggerPayload??{},frames:{},previousSteps:{}}}createFrame(e){let t=P(`frm`),n=[...e.path,t],r={frameId:t,nodeId:e.nodeId,nodeType:e.nodeType,path:n,parentFrameId:e.parentFrameId,status:`pending`,attempt:0,iteration:e.iteration,branchKey:e.branchKey};return this.frameRegistry.set(t,r),this.persistFrame(r).catch(()=>void 0),r}async persistFrame(e,t={}){let n=t.requireFrameStorage===!0||this.suspensionStrategy!==`wait-in-process`,r=An(e),i=Mn(this.executionId,r),a=(this.framePersistenceTasks.get(e.frameId)??Promise.resolve()).catch(()=>void 0).then(async()=>{n?await this.bus.request(N.setFrame,{executionId:this.executionId,frame:r}):await this.bus.requestOptional(N.setFrame,{executionId:this.executionId,frame:r}),i!==void 0&&await this.bus.requestOptional(N.setSpan,{span:i})}).catch(t=>{if(n)throw t;console.warn(`[RuntimeContext] Failed to persist frame ${e.frameId}:`,t)});this.framePersistenceTasks.set(e.frameId,a);try{await a}finally{this.framePersistenceTasks.get(e.frameId)===a&&this.framePersistenceTasks.delete(e.frameId)}}async updateFrame(e,t,n={}){let r=this.frameRegistry.get(e);if(!r)throw Error(`Frame not found: ${e}`);Object.assign(r,t),await this.persistFrame(r,n)}getFrame(e){return this.frameRegistry.get(e)}getFramesByNodeId(e){let t=[];for(let n of this.frameRegistry.values())n.nodeId===e&&t.push(n);return t.sort((e,t)=>(e.startedAt??0)-(t.startedAt??0))}async emitFrameStarted(e){try{await this.bus.emit(E.frame.started,{executionId:this.executionId,frameId:e.frameId,nodeId:e.nodeId,nodeType:e.nodeType,path:e.path,parentFrameId:e.parentFrameId,startedAt:e.startedAt})}catch(t){console.error(`[RuntimeContext] frame.started observer failed for ${e.frameId}:`,t)}}async emitFrameCompleted(e,t){try{await this.bus.emit(E.frame.completed,{executionId:this.executionId,frameId:e.frameId,nodeId:e.nodeId,output:e.output,duration:t,completedAt:e.completedAt})}catch(t){console.error(`[RuntimeContext] frame.completed observer failed for ${e.frameId}:`,t)}}async emitFrameFailed(e,t,n){try{await this.bus.emit(E.frame.failed,{executionId:this.executionId,frameId:e.frameId,nodeId:e.nodeId,error:t,duration:n,completedAt:e.completedAt})}catch(t){console.error(`[RuntimeContext] frame.failed observer failed for ${e.frameId}:`,t)}}};function Pn(e){return{kind:`workflow-execution`,id:e,displayName:`Workflow Engine`}}function Fn(e,t,n){return{inputs:n.inputs,config:n.config??{},trigger:n.triggerPayload,scope:n.scope,env:n.env,execution:{id:t.id,workflowId:t.workflowId,scope:t.scope},workflow:{id:e.id,name:e.name,scope:e.scope}}}function In(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Ln(e){if(e!=null){if(In(e)&&typeof e.kind==`string`&&typeof e.id==`string`)return{kind:e.kind,id:e.id};throw Error(`Artifact resolve expression must return an object with string kind and id fields.`)}}function Rn(e){if(e!==void 0){if(In(e))return e;throw Error(`Artifact create expression must return an object.`)}}async function zn(e){let{bindingOptions:t,binding:n,existingArtifactRef:r,executionId:i,scope:a,initialData:o,bus:s}=e,c=null;if(r!==void 0){let e=await s.request(d.query,{kind:r.kind,ids:[r.id],currentOnly:!0});if(e.artifacts.length>0)c=e.artifacts[0];else return}else c=(await s.request(d.create,{kind:n.kind,schemaVersion:n.schemaVersion,scope:a??n.scope,data:o??{},relations:[],actor:Pn(i)})).artifact;return{current:c,schemaVersion:n.schemaVersion,statusPath:t.statusPath,zodSchema:t.schema}}async function Bn(e){let{definition:t,execution:n,runContext:r,zodSchema:i,bus:a}=e,o=t.artifact;if(o===void 0)return;let s=Fn(t,n,r),c=r.artifactRef??(o.resolve===void 0?void 0:Ln(A(o.resolve,s))),l=c===void 0&&o.create!==void 0?Rn(A(o.create,s)):void 0,u=await zn({bindingOptions:{kind:o.kind,schemaVersion:o.schemaVersion,scope:o.scope,...o.resolve===void 0?{}:{resolve:o.resolve},...o.create===void 0?{}:{create:o.create},...o.statusPath===void 0?{}:{statusPath:o.statusPath},...i===void 0?{}:{schema:i}},binding:o,existingArtifactRef:c,executionId:n.id,scope:o.scope,initialData:l,bus:a});if(u===void 0)throw Error(`Workflow artifact binding could not be resolved for the configured artifact reference.`);return u}const Vn=new WeakMap;function Hn(e,t){let n=(Vn.get(e)??Promise.resolve()).catch(()=>void 0).then(t);return Vn.set(e,n.then(()=>void 0,()=>void 0)),n}function Un(e,t){switch(t.operation){case`set`:return t.data;case`merge`:return{...e,...t.data};case`append`:{let n={...e};for(let[r,i]of Object.entries(t.data)){let t=e[r];Array.isArray(t)&&Array.isArray(i)?n[r]=[...t,...i]:n[r]=i}return n}}}function Wn(e,t,n){let[r,...i]=t;if(i.length===0)return{...e,[r]:n};let a=e[r]!==null&&typeof e[r]==`object`&&!Array.isArray(e[r])?e[r]:{};return{...e,[r]:Wn(a,i,n)}}function Gn(e,t,n){return Wn(e,t.startsWith(`/`)?t.slice(1).split(`/`):t.split(`.`),n)}function Kn(e,t,n){if(n===`set`||n===`functional`)return[];let r=[];for(let n of Object.keys(t))e[n]!==t[n]&&r.push(`/${n}`);return r}async function qn(e,t){if(typeof t==`function`)return{nextData:await t(Object.freeze({...e})),operationLabel:`functional`,changedPaths:[]};let n=Un(e,t),r=Kn(e,n,t.operation);return{nextData:n,operationLabel:t.operation,changedPaths:r}}function Jn(e){let{executionId:t,frameId:n,bindingState:r,bus:i}=e,a=Object.freeze({...r.current.data}),o=async e=>Hn(r,async()=>{let a=r.current,{nextData:o,operationLabel:s,changedPaths:c}=await qn(a.data,e);if(r.zodSchema!==void 0){let e=r.zodSchema.safeParse(o);if(!e.success)throw Error(`Artifact data validation failed: ${e.error.message}`)}let l=await i.request(d.revise,{previous:{refClass:`artifact`,kind:a.kind,id:a.id,revision:a.revision},revision:{kind:a.kind,schemaVersion:r.schemaVersion,scope:a.scope,data:o,relations:a.relations,actor:Pn(t)}});r.current=l.artifact;let u=l.artifact.revision;return i.emit(de.artifact.updated,{executionId:t,frameId:n,artifactRef:{kind:l.artifact.kind,id:l.artifact.id},paths:c,operation:s,revision:u}).catch(e=>{console.error(`[ArtifactContext] Failed to emit artifact.updated event:`,e)}),u});return{data:a,updateArtifact:o,updateStatus:async e=>{if(r.statusPath===void 0)throw Error(`updateStatus() called but no statusPath is configured on the artifact binding. Set statusPath in the .artifact() builder call to use updateStatus().`);let t=r.statusPath;return o(n=>Gn(n,t,e))}}}function Yn(e,t){return{async get(){return(await t.request(E.state.get,{executionId:e})).value},async update(n){let r=await t.request(E.state.get,{executionId:e}),i=structuredClone(r.value),a=await n(i),o=a===void 0?i:a,s=it(r.value,o);return(await t.request(E.state.patch,{executionId:e,expectedSequence:r.sequence,patch:s,nextValue:o})).value}}}function Xn(e,t,n){let r=e.providerContext?.state===`resolved`?e.providerContext:void 0,i=e.providerConfigId??r?.providerConfigId;return{durationMs:t,...n===void 0?{}:{...n.inputTokens===void 0?{}:{inputTokens:n.inputTokens},...n.cachedInputTokens===void 0?{}:{cachedInputTokens:n.cachedInputTokens},...n.outputTokens===void 0?{}:{outputTokens:n.outputTokens},toolCallCount:n.toolCallCount},binding:{adapterName:e.adapterName,...i===void 0?{}:{providerConfigId:i},...r===void 0?{}:{providerDefinitionId:r.definitionId},...e.model===void 0?{}:{model:e.model},...r===void 0?{}:{auth:{mode:r.auth.mode,owner:r.auth.method.owner,methodId:r.auth.method.methodId}}}}}async function Zn(e,t,n){if(t.signal.aborted)return{status:`cancelled`};let r=await t.bus.requestOptional(E.resolveRole,{roleId:e.roleId});if(!r.handled)return{status:`failed`,error:e.unresolvedRoleError};let i=j(e.prompt,L(n)),a=e.completion===void 0?r.data:{...r.data,completion:e.completion};return Qn({...e,task:i,resolvedConfig:a},t)}async function Qn(e,t){if(t.signal.aborted)return{status:`cancelled`};let n=performance.now(),r=await t.bus.requestOptional(S.spawn,{parentSessionId:t.execution.coordinatorSessionId??t.executionId,depth:1,config:ar(e.task,e.resolvedConfig,e.outputSchema)});if(!r.handled)return{status:`failed`,error:e.unavailableRuntimeError};let i=await tr(e,t,r.data.subagentId,{attempts:5}),a=await or(e,t,r.data.subagentId);if(a===`aborted`)return{status:`cancelled`};if(i||await tr(e,t,r.data.subagentId,{attempts:1}),!a.handled)return await R(e,t,r.data.subagentId,`Workflow execution '${t.executionId}' could not await ${e.cancellationLabel} '${e.nodeId}'`),{status:`failed`,error:e.unavailableAwaitError};if(t.signal.aborted||a.data.status===`cancelled`)return{status:`cancelled`};if(a.data.status===`completed`){let r=a.data.result??null;try{return{status:`completed`,output:await $n({...e,toolObservations:a.data.toolObservations,usage:a.data.usage},t,r,er(n))}}catch(e){if(t.signal.aborted)return{status:`cancelled`};throw e}}return(a.data.status===`timeout`||a.data.status===`waiting_input`)&&await R(e,t,r.data.subagentId,`Workflow execution '${t.executionId}' abandoned non-terminal ${e.cancellationLabel} '${e.nodeId}'`),{status:`failed`,error:`${e.nodeLabel} '${e.nodeId}' subagent ${a.data.status}: ${a.data.error??`no result`}`}}async function $n(e,t,n,r=0){if(e.resultFinalizerId===void 0)return n;if(e.frameId===void 0||e.delegateNodeType===void 0)throw Error(`Delegate result finalizer '${e.resultFinalizerId}' requires frame and delegate node identity`);let i={finalizerId:e.resultFinalizerId,executionId:t.executionId,workflowId:t.workflowId,frameId:e.frameId,nodeId:e.nodeId,nodeType:e.delegateNodeType,rawResult:n,toolObservations:[...e.toolObservations??[]],...e.resolvedConfig===void 0?{}:{economics:Xn(e.resolvedConfig,r,e.usage)}},a=await t.bus.requestOptional(E.finalizeDelegateResult,i,{signal:t.signal});if(a.handled)return a.data.output;let{subjects:o}=pe(e.resultFinalizerId),{finalizerId:s,...c}=i;return(await t.bus.request(o.finalize,c,{signal:t.signal})).output}function er(e){let t=performance.now()-e;return!Number.isFinite(t)||t<=0?0:Math.min(2**53-1,Math.round(t))}async function tr(e,t,n,r){if(e.frameId===void 0)return!0;try{let i=await nr(t,n,r.attempts);return i===void 0?!1:(await t.bus.emit(E.frame.sessionLinked,{executionId:t.executionId,frameId:e.frameId,sessionId:i}),!0)}catch(t){return console.warn(`[workflow-engine] Failed to emit frame.sessionLinked for frame '${e.frameId}' and subagent '${n}'`,t),!1}}async function nr(e,t,n){for(let r=0;r<n;r+=1){if(e.signal?.aborted)return;let i=await rr(e,t);if(i===void 0||!i.handled)return;if(i.data.childSessionId!==void 0)return i.data.childSessionId;if(r<n-1&&!await ir(e.signal,20))return}}async function rr(e,t){try{return await e.bus.requestOptional(S.getStatus,{subagentId:t},{timeout:25,signal:e.signal})}catch{return}}function ir(e,t){return e.aborted?Promise.resolve(!1):new Promise(n=>{let r,i=t=>{r!==void 0&&(clearTimeout(r),r=void 0),e.removeEventListener(`abort`,a),n(t)},a=()=>i(!1);r=setTimeout(()=>i(!0),t),e.addEventListener(`abort`,a,{once:!0}),e.aborted&&i(!1)})}function ar(e,t,n){return{task:e,adapterName:t.adapterName,...t.providerConfigId===void 0?{}:{providerConfigId:t.providerConfigId},...t.model===void 0?{}:{model:t.model},...t.reasoningEffort===void 0?{}:{reasoningEffort:t.reasoningEffort},...t.harnessId===void 0?{}:{harnessId:t.harnessId},...t.systemPrompt===void 0?{}:{systemPrompt:t.systemPrompt},...t.contextMode===void 0?{}:{contextMode:t.contextMode},...t.providerContext===void 0?{}:{providerContext:t.providerContext},...t.adapterConfig===void 0?{}:{adapterConfig:t.adapterConfig},...t.tools===void 0?{}:{tools:t.tools},...t.disallowedTools===void 0?{}:{disallowedTools:t.disallowedTools},...t.allowedDirectories===void 0?{}:{allowedDirectories:t.allowedDirectories},...t.completion===void 0?{}:{completion:t.completion},...n===void 0?{}:{responseSchema:n}}}async function or(e,t,n){if(t.signal.aborted)return await R(e,t,n),`aborted`;let r=t.bus.requestOptional(S.await,{subagentId:n,...e.timeoutMs===void 0?{}:{timeoutMs:e.timeoutMs}},{timeout:0});if(t.signal.aborted)return await R(e,t,n),`aborted`;let i,a=new Promise(e=>{i=()=>e(`aborted`),t.signal.addEventListener(`abort`,i,{once:!0})});try{let i=await Promise.race([r,a]);return i===`aborted`&&await R(e,t,n),i}catch(r){throw await R(e,t,n,`Workflow execution '${t.executionId}' failed awaiting ${e.cancellationLabel} '${e.nodeId}'`),r}finally{i!==void 0&&t.signal.removeEventListener(`abort`,i)}}async function R(e,t,n,r){try{await t.bus.requestOptional(S.kill,{subagentId:n,reason:r??`Workflow execution '${t.executionId}' cancelled ${e.cancellationLabel} '${e.nodeId}'`})}catch(t){console.warn(`[workflow-engine] Best-effort subagent kill failed for '${n}' (${e.cancellationLabel} '${e.nodeId}')`,t)}}async function sr(e,t,n,r){if(t.signal.aborted)return{status:`cancelled`};let i=Dn(n.frames),a=t.runtimeHandlers.get(e.id);if(a===void 0)return cr(e,t,n,r);let o=t.artifactBinding!==void 0&&r!==void 0?Jn({executionId:t.executionId,frameId:r,bindingState:t.artifactBinding,bus:t.bus}):void 0,s=t.definition.state===void 0?void 0:Yn(t.executionId,t.bus);async function c(n){if(r===void 0){console.warn(`[station-node] updateProgress called without frameId for node '${e.id}'; skipping emit`);return}let i=ue[`execution.progress`].parse({executionId:t.executionId,workflowId:t.workflowId,frameId:r,nodeId:e.id,progress:n,emittedAt:Date.now()});try{await t.bus.emit(E.execution.progress,i)}catch(t){console.error(`[station-node] execution.progress observer failed for ${e.id}:`,t)}}let l;try{l=await a({...t.platformContext,env:t.env,executionId:t.executionId,workflowId:t.workflowId,inputs:t.execution.inputs,config:t.execution.config??{},trigger:t.execution.triggerPayload??{},previousSteps:i,...n.item!==void 0&&{item:n.item},...n.index!==void 0&&{index:n.index},...n.previous!==void 0&&{previous:n.previous},signal:t.signal,...o!==void 0&&{artifact:o},...s!==void 0&&{state:s},bus:t.bus,updateProgress:c})}catch(e){return{status:`failed`,error:e instanceof Error?e.message:String(e)}}return{status:`completed`,output:l}}async function cr(e,t,n,r){if(e.role===void 0)return{status:`failed`,error:`No handler registered for station node '${e.id}'`};let i=e.outputSchema===void 0?void 0:{schema:e.outputSchema};return Zn({nodeId:e.id,nodeLabel:`Station node`,roleId:e.role,prompt:e.prompt,...i===void 0?{}:{outputSchema:i},...e.timeoutMs===void 0?{}:{timeoutMs:e.timeoutMs},...e.completion===void 0?{}:{completion:e.completion},unresolvedRoleError:`No runtime handler registered for station node '${e.id}', and role '${e.role}' could not be resolved`,unavailableRuntimeError:`Subagent runtime is not available for station node '${e.id}'`,unavailableAwaitError:`Subagent runtime cannot await station node '${e.id}'`,cancellationLabel:`station`,...r===void 0?{}:{frameId:r}},t,n)}function lr(e,t){return t===void 0?e:{...e,tools:[...t],disallowedTools:void 0}}function ur(e,t){let n=lr({...t,...e.completion===void 0?{}:{completion:e.completion}},e.allowedTools);return fr(n)?{...n,contextMode:`fresh`}:n}function dr(e,t){return lr({...t,completion:e.completion??t.completion??`tool`},e.allowedTools)}function fr(e){return e.completion===`turn`&&[e.harnessId,e.contextMode,e.adapterConfig,e.tools,e.disallowedTools,e.allowedDirectories].every(e=>e===void 0)}async function pr(e,t,n,r){if(t.signal.aborted)return{status:`cancelled`};let i=await t.bus.requestOptional(E.resolveAgent,{agentId:e.agentId});if(!i.handled)return{status:`failed`,error:`Agent '${e.agentId}' could not be resolved for delegate-agent node '${e.id}'`};if(t.signal.aborted)return{status:`cancelled`};let a=hr(e,n);if(a.status===`failed`)return a;let o=e.outputSchema===void 0?void 0:{schema:e.outputSchema},s=dr(e,i.data);return Qn({nodeId:e.id,nodeLabel:`Delegate-agent node`,task:a.task,resolvedConfig:s,...o===void 0?{}:{outputSchema:o},unavailableRuntimeError:`Subagent runtime is not available for delegate-agent node '${e.id}'`,unavailableAwaitError:`Subagent runtime cannot await delegate-agent node '${e.id}'`,cancellationLabel:`delegate-agent`,...r===void 0?{}:{frameId:r},...e.resultFinalizerId===void 0?{}:{resultFinalizerId:e.resultFinalizerId},delegateNodeType:`delegate-agent`},t)}async function mr(e,t,n,r){if(t.signal.aborted)return{status:`cancelled`};let i=await t.bus.requestOptional(E.resolveRole,{roleId:e.role});if(!i.handled)return{status:`failed`,error:`Role '${e.role}' could not be resolved for delegate-role node '${e.id}'`};let a=e.outputSchema===void 0?void 0:{schema:e.outputSchema},o=j(e.prompt,L(n)),s=ur(e,i.data);return Qn({nodeId:e.id,nodeLabel:`Delegate-role node`,task:o,resolvedConfig:s,...a===void 0?{}:{outputSchema:a},...e.timeoutMs===void 0?{}:{timeoutMs:e.timeoutMs},unavailableRuntimeError:`Subagent runtime is not available for delegate-role node '${e.id}'`,unavailableAwaitError:`Subagent runtime cannot await delegate-role node '${e.id}'`,cancellationLabel:`delegate-role`,...r===void 0?{}:{frameId:r},...e.resultFinalizerId===void 0?{}:{resultFinalizerId:e.resultFinalizerId},delegateNodeType:`delegate-role`},t)}function hr(e,t){try{let n=L(t);return{status:`completed`,task:gr(e.inputExpression===void 0?n:A(e.inputExpression,n))}}catch(t){let n=t instanceof Error?t.message:String(t);return{status:`failed`,error:`delegate-agent node '${e.id}': input expression evaluation failed: ${n}`}}}function gr(e){if(typeof e==`string`)return e;if(e===void 0)return``;try{return JSON.stringify(e,null,2)??``}catch{return String(e)}}function _r(e,t,n,r){try{let i=A(n,L(r));return Array.isArray(i)?i:{status:`failed`,error:`${t} node '${e}': collection expression did not resolve to an array (got ${typeof i})`}}catch(n){return{status:`failed`,error:`${t} node '${e}': collection expression evaluation failed: ${n instanceof Error?n.message:String(n)}`}}}function vr(e,t,n){for(let r of[...e.nodes].reverse()){let e=n.getFramesByNodeId(r.id);for(let n of e)if(n.parentFrameId===t&&n.status===`completed`)return n.output}}function yr(e,t,n){return vr(e.body,t,n)}function br(e){if(e.length===0)return;let t=new Map,n=new Map;for(let r of e){n.set(r.frameId,r);let e=t.get(r.nodeId)??[];e.push(r),t.set(r.nodeId,e)}return{byNodeId:t,byFrameId:n}}const xr=new Set([`completed`,`skipped`,`waiting`]);function z(e,t,n){let r=e?.byNodeId.get(t)??[],i=n.statuses??xr;return r.find(e=>e.parentFrameId===n.parentFrameId&&e.branchKey===n.branchKey&&e.iteration===n.iteration&&i.has(e.status))}function B(e,t,n){let r={...e.frames,[t]:n};return{...e,frames:r,previousSteps:Dn(r),output:n.status===`completed`?n.output:e.output}}function Sr(e,t){if(typeof AbortSignal.any==`function`)return AbortSignal.any([e,t]);let n=new AbortController,r=()=>n.abort();return e.addEventListener(`abort`,r,{once:!0}),t.addEventListener(`abort`,r,{once:!0}),n.signal}const Cr=new Set([`completed`,`running`]);function wr(e,t){return e.status===`running`&&t.pauseSignal?.aborted===!0&&!t.outerSignal.aborted}async function Tr(e,t,n,r,i,a,o=`all-settled`){if(t.signal.aborted)return{status:`cancelled`};let s=Object.entries(e.branches);if(s.length===0)return{status:`completed`,output:Or({},o)};let c=new AbortController,l=new AbortController,u=t.suspensionStrategy!==`wait-in-process`,d=o===`fail-fast`?Sr(c.signal,l.signal):u?l.signal:void 0,f=d===void 0?t.signal:Sr(t.signal,d),p=f===t.signal?t:t.withSignal(f),m=s.map(([s,c])=>Er(s,c,e,p,n,r,i,a,{outerSignal:t.signal,pauseSignal:o===`fail-fast`||u?l.signal:void 0}));if(o===`all-settled`){let e=await Promise.all(u?m.map(e=>e.then(e=>(e.status===`paused`&&l.abort(),e))):m),t=e.find(e=>e.status===`paused`);return t===void 0?{status:`completed`,output:Or(kr(s,e),o)}:t}let h=await Dr(s,m,c,l);return h.type===`cancelled`?{status:`cancelled`}:h.type===`paused`?h.outcome:h.type===`failed`?{status:`failed`,error:h.error}:{status:`completed`,output:Or(kr(s,h.outcomes),o)}}async function Er(e,t,n,r,i,a,o,s,c){if(r.signal.aborted)return{status:`cancelled`};let l=z(r.resumeFrames,n.id,{parentFrameId:o,branchKey:e,statuses:Cr});if(l?.status===`completed`)return{status:`completed`,...l.output===void 0?{}:{output:l.output}};let u=l??r.createFrame({nodeId:n.id,nodeType:`parallel`,path:s,parentFrameId:o,branchKey:e});if(r.signal.aborted)return wr(u,c)||await $(u,r),{status:`cancelled`};l===void 0&&await X(u,r);let d;try{d=await a(t,r,i,u.frameId,u.path)}catch(e){let t=e instanceof Error?e.message:String(e);return await Q(u,r,t),{status:`failed`,error:t}}switch(d.status){case`completed`:{let e=vr(t,u.frameId,r);return await Z(u,r,e),{status:`completed`,output:e}}case`skipped`:return await Z(u,r),{status:`completed`};case`cancelled`:return wr(u,c)||await $(u,r),{status:`cancelled`};case`paused`:return d;case`failed`:return await Q(u,r,d.error),{status:`failed`,error:d.error}}}async function Dr(e,t,n,r){let i,a,o=t.map(e=>e.then(e=>(e.status===`failed`&&i===void 0?(i=e.error,n.abort()):e.status===`paused`&&a===void 0&&(a=e,r.abort()),e),e=>{let t=e instanceof Error?e.message:String(e);return i===void 0&&(i=t,n.abort()),{status:`failed`,error:t}})),s=await Promise.all(o);return a===void 0?s.some(e=>e.status===`cancelled`)&&i===void 0?{type:`cancelled`}:i===void 0?{type:`completed`,outcomes:s}:{type:`failed`,error:i}:{type:`paused`,outcome:a}}function Or(e,t){return{mode:t,branches:e}}function kr(e,t){let n={};for(let r=0;r<e.length;r++){let[i]=e[r],a=t[r];n[i]=Ar(a)}return n}function Ar(e){switch(e.status){case`completed`:return{status:`fulfilled`,...e.output===void 0?{}:{value:e.output}};case`skipped`:return{status:`fulfilled`,value:null};case`cancelled`:return{status:`cancelled`};case`paused`:return{status:`paused`,pausedAtGateId:e.pausedAtGateId,pausedAtFrameId:e.pausedAtFrameId};case`failed`:return{status:`rejected`,reason:e.error}}}const jr=new tt.default({allErrors:!0,strict:!1});function V(e,t){if(t===void 0)return{status:`ok`};try{return{status:`ok`,validator:jr.compile(t)}}catch(t){return{status:`failed`,error:`Gate '${e}' has an invalid resumeSchema: ${t instanceof Error?t.message:String(t)}`}}}function H(e,t){return e===void 0||e(t)?{valid:!0}:{valid:!1,error:Mr(e.errors??[])}}function U(e,t,n){let r=V(e,t);return r.status===`failed`?{valid:!1,error:r.error}:H(r.validator,n)}function Mr(e){return e.length===0?`schema validation failed`:e.map(e=>`${e.instancePath.length>0?e.instancePath:`/`} ${e.message??`is invalid`}`).join(`; `)}function Nr(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}const Pr={action:`approve`,source:`timeout`};function Fr(e){return e===void 0?{}:{reason:e}}async function Ir(e,t,n,r){let i=()=>{t.value&&(t.value=!1,e.reject(`cancelled`))};n.addEventListener(`abort`,i,{once:!0}),n.aborted&&i();let a=[e.promise],o;if(r!==null){let e=Nr();o=setTimeout(()=>{t.value&&(t.value=!1,n.removeEventListener(`abort`,i),e.reject(`timed-out`))},r),a.push(e.promise)}try{let e=await Promise.race(a);return n.removeEventListener(`abort`,i),o!==void 0&&clearTimeout(o),{action:e.action,resumeData:e.resumeData,timedOut:!1,wasCancelled:!1,reason:e.reason}}catch(e){return o!==void 0&&clearTimeout(o),n.removeEventListener(`abort`,i),e===`timed-out`?{action:`reject`,resumeData:null,timedOut:!0,wasCancelled:!1}:{action:`reject`,resumeData:null,timedOut:!1,wasCancelled:!0}}}async function Lr(e,t,n,r,i,a){let o={required:e.suspensionStrategy!==`wait-in-process`};if(a.timedOut){let a=Date.now();if(r.autoAction===`approve`){let s=H(i,Pr);return s.valid?(await W(e,{...r,status:`resumed`,resumeData:Pr,resolvedAt:a},o),await G(e,t.id,n,{action:`approve`,source:`timeout`}),{status:`completed`,output:{resumeData:Pr}}):(await W(e,{...r,status:`timed-out`,resolvedAt:a},o),await G(e,t.id,n,{action:`reject`,source:`timeout`}),{status:`failed`,error:`Gate '${t.id}' auto-approve timeout resume data does not match resumeSchema: ${s.error}`})}return await W(e,{...r,status:`timed-out`,resolvedAt:a},o),await G(e,t.id,n,{action:`reject`,source:`timeout`}),{status:`failed`,error:`Gate '${t.id}' timed out after ${String(r.timeoutMs)}ms and auto-rejected`}}if(a.wasCancelled||e.signal.aborted)return await W(e,{...r,status:`cancelled`,resolvedAt:Date.now()},o),await G(e,t.id,n,{source:`cancelled`}),{status:`cancelled`};let s=Date.now();await W(e,{...r,status:a.action===`reject`?`rejected`:`resumed`,resumeData:a.resumeData,...Fr(a.reason),resolvedAt:s},o);try{await e.bus.emit(E.gate.resumed,{executionId:e.executionId,frameId:n,nodeId:t.id,resumeData:a.resumeData}),await G(e,t.id,n,{action:a.action,source:`user`,...Fr(a.reason)})}catch(e){console.error(`[GateNode] gate.resumed emit failed for '${t.id}':`,e)}return{status:`completed`,output:{resumeData:a.resumeData}}}async function Rr(e,t,n,r){if(t.signal.aborted)return{status:`cancelled`};let i=e.resumeSchema??{};if(t.suspensionStrategy!==`wait-in-process`){let n=await Hr(t,e,r);if(n!==void 0)return n}let a=V(e.id,e.resumeSchema);return a.status===`failed`?{status:`failed`,error:a.error}:zr(t,e,n,r,i,a.validator)}async function zr(e,t,n,r,i,a){let o=j(t.prompt,L(n)),s={executionId:e.executionId,nodeId:t.id,frameId:r,schema:i,prompt:o,status:`waiting`,autoAction:t.autoAction,timeoutMs:t.timeoutMs,createdAt:Date.now()},c=e.suspensionStrategy!==`wait-in-process`;if(await W(e,s,{required:c}),await e.updateFrame(r,{status:`waiting`},{requireFrameStorage:c}),c)return await Br(e,t,r,i,o,s.createdAt),{status:`paused`,pausedAtGateId:t.id,pausedAtFrameId:r};let l={value:!0},d=Nr(),f=e.bus.on(E.gate.respond,async n=>{let{executionId:i,gateId:o,frameId:s,action:c,resumeData:f,reason:p}=n.payload;if(i!==e.executionId||o!==t.id||s!==void 0&&s!==r){try{await n.next()}catch(e){if(e instanceof u)n.setResult({accepted:!1});else throw e}return}if(!l.value){n.setResult({accepted:!1});return}if(!H(a,f).valid){n.setResult({accepted:!1});return}l.value=!1,n.setResult({accepted:!0}),d.resolve({action:c,resumeData:f,reason:p})});await Br(e,t,r,i,o,s.createdAt);let p=await Ir(d,l,e.signal,t.timeoutMs);return f(),Lr(e,t,r,s,a,p)}async function Br(e,t,n,r,i,a){try{await e.bus.emit(E.gate.suspended,{executionId:e.executionId,frameId:n,nodeId:t.id,schema:r,prompt:i,...t.title!==void 0&&{title:t.title},autoAction:t.autoAction,timeoutMs:t.timeoutMs,openedAt:a})}catch(e){console.error(`[GateNode] gate.suspended emit failed for '${t.id}':`,e)}}async function Vr(e,t,n){if(e.suspensionStrategy!==`wait-in-process`)return(await e.bus.request(N.getGateInstance,{executionId:e.executionId,nodeId:t,frameId:n})).gate;let r=await e.bus.requestOptional(N.getGateInstance,{executionId:e.executionId,nodeId:t,frameId:n});return r.handled?r.data.gate:null}async function Hr(e,t,n){let r=await Vr(e,t.id,n);if((r?.status===`resumed`||r?.status===`rejected`)&&r.resumeData!==void 0){let i=U(t.id,r.schema,r.resumeData);if(!i.valid)return{status:`failed`,error:`Gate '${t.id}' persisted resumeData is invalid: ${i.error}`};try{await e.bus.emit(E.gate.resumed,{executionId:e.executionId,frameId:n,nodeId:t.id,resumeData:r.resumeData})}catch(e){console.error(`[GateNode] gate.resumed emit failed for '${t.id}':`,e)}return await G(e,t.id,n,{action:r.status===`rejected`?`reject`:`approve`,source:`user`,...Fr(r.reason)}),{status:`completed`,output:{resumeData:r.resumeData}}}if(r?.status===`waiting`){if(r.timeoutMs!==null&&Date.now()>=r.createdAt+r.timeoutMs){let i=V(t.id,r.schema);return i.status===`failed`?{status:`failed`,error:i.error}:Lr(e,t,n,r,i.validator,{action:`reject`,resumeData:null,timedOut:!0,wasCancelled:!1})}return{status:`paused`,pausedAtGateId:t.id,pausedAtFrameId:n}}if((r?.status===`resumed`||r?.status===`rejected`)&&r.resumeData===void 0)return{status:`failed`,error:`Gate '${t.id}' has status '${r.status}' but resumeData is missing — cannot reconstruct output`};if(r!==null)return{status:`failed`,error:`Gate '${t.id}' cannot resume from status '${r.status}'`}}async function W(e,t,n={}){try{n.required===!0?await e.bus.request(N.setGateInstance,{gate:t}):await e.bus.requestOptional(N.setGateInstance,{gate:t})}catch(e){if(n.required===!0)throw e;console.warn(`[GateNode] Failed to upsert gate instance for '${t.nodeId}':`,e)}}async function G(e,t,n,r){try{await e.bus.emit(E.gate.resolved,{executionId:e.executionId,stepId:t,stepType:`gate`,frameId:n,...r})}catch(e){console.error(`[GateNode] gate.resolved emit failed for '${t}':`,e)}}function K(e){return{status:`fulfilled`,...e===void 0?{}:{value:e}}}const Ur=new Set([`completed`,`running`]);function Wr(e,t){return e.status===`running`&&t.pauseSignal?.aborted===!0&&!t.outerSignal.aborted}async function Gr(e,t,n,r,i,a){if(t.signal.aborted)return{status:`cancelled`};let o=_r(e.id,`iterate`,e.collection,n);if(!Array.isArray(o))return o;let s=o;if(s.length===0)return{status:`completed`,output:Yr([])};let c=await Kr(s,e,t,n,r,i,a,e.concurrency!==void 0&&e.concurrency>0?e.concurrency:0);if(t.signal.aborted&&c.every(e=>e.status===`cancelled`))return{status:`cancelled`};let l=c.find(e=>e.status===`paused`);return l===void 0?{status:`completed`,output:Yr(c)}:{status:`paused`,pausedAtGateId:l.pausedAtGateId,pausedAtFrameId:l.pausedAtFrameId}}async function Kr(e,t,n,r,i,a,o,s){let c=new AbortController,l=n.suspensionStrategy!==`wait-in-process`,u=l?Sr(n.signal,c.signal):n.signal,d=u===n.signal?n:n.withSignal(u),f={outerSignal:n.signal,...l?{pauseSignal:c.signal}:{}};if(s===0){let n=e.map((e,n)=>Jr(e,n,t,d,r,i,a,o,f));return Promise.all(l?n.map(e=>qr(e,c)):n)}let p=Array(e.length);for(let n=0;n<e.length;n+=s){if(d.signal.aborted){for(let t=n;t<e.length;t++)p[t]={status:`cancelled`};break}let u=Math.min(n+s,e.length),m=[];for(let s=n;s<u;s++)m.push(Jr(e[s],s,t,d,r,i,a,o,f));let h=await Promise.all(l?m.map(e=>qr(e,c)):m);for(let e=0;e<h.length;e++)p[n+e]=h[e];if(h.some(e=>e.status===`paused`)){for(let t=u;t<e.length;t++)p[t]={status:`cancelled`};break}}return p}function qr(e,t){return e.then(e=>(e.status===`paused`&&t.abort(),e))}async function Jr(e,t,n,r,i,a,o,s,c){if(r.signal.aborted)return{status:`cancelled`};let l={...i,item:e,index:t},u=z(r.resumeFrames,n.id,{parentFrameId:o,iteration:t,statuses:Ur});if(u?.status===`completed`)return K(u.output);let d=u??r.createFrame({nodeId:n.id,nodeType:`iterate`,path:s,parentFrameId:o,iteration:t});if(r.signal.aborted)return Wr(d,c)||await $(d,r),{status:`cancelled`};u===void 0&&await X(d,r);let f;try{f=await a(n.body,r,l,d.frameId,d.path)}catch(e){let t=e instanceof Error?e.message:String(e);return await Q(d,r,t),{status:`rejected`,reason:t}}switch(f.status){case`completed`:{let e=yr(n,d.frameId,r);return await Z(d,r,e),K(e)}case`skipped`:return await Z(d,r),K();case`cancelled`:return Wr(d,c)||await $(d,r),{status:`cancelled`};case`paused`:return f;case`failed`:return await Q(d,r,f.error),{status:`rejected`,reason:f.error}}}function Yr(e){return{items:e}}const Xr=new Set([`completed`,`running`]);async function Zr(e,t,n,r,i,a){if(t.signal.aborted)return{status:`cancelled`};let o=_r(e.id,`iterate-chain`,e.collection,n);if(!Array.isArray(o))return o;let s=o;if(s.length===0)return{status:`completed`,output:$r([])};let c=[],l;for(let o=0;o<s.length;o++){if(t.signal.aborted)return{status:`cancelled`};let u=s[o],d=await Qr(u,o,l,e,t,n,r,i,a);switch(c.push(d),d.status){case`fulfilled`:l=d.value;break;case`rejected`:return{status:`failed`,error:d.reason};case`cancelled`:return{status:`cancelled`};case`paused`:return{status:`paused`,pausedAtGateId:d.pausedAtGateId,pausedAtFrameId:d.pausedAtFrameId}}}return{status:`completed`,output:$r(c)}}async function Qr(e,t,n,r,i,a,o,s,c){if(i.signal.aborted)return{status:`cancelled`};let l={...a,item:e,index:t,...n!==void 0&&{previous:n}},u=z(i.resumeFrames,r.id,{parentFrameId:s,iteration:t,statuses:Xr});if(u?.status===`completed`)return K(u.output);let d=u??i.createFrame({nodeId:r.id,nodeType:`iterate-chain`,path:c,parentFrameId:s,iteration:t});if(i.signal.aborted)return await $(d,i),{status:`cancelled`};u===void 0&&await X(d,i);let f;try{f=await o(r.body,i,l,d.frameId,d.path)}catch(e){let t=e instanceof Error?e.message:String(e);return await Q(d,i,t),{status:`rejected`,reason:t}}switch(f.status){case`completed`:{let e=yr(r,d.frameId,i);return await Z(d,i,e),K(e)}case`skipped`:return await Z(d,i),K();case`cancelled`:return await $(d,i),{status:`cancelled`};case`paused`:return f;case`failed`:return await Q(d,i,f.error),{status:`rejected`,reason:f.error}}}function $r(e){return{items:e}}async function ei(e,t,n,r){let i=()=>{t.value&&(t.value=!1,e.reject(`cancelled`))};n.addEventListener(`abort`,i,{once:!0}),n.aborted&&i();let a=[e.promise],o;if(r!==null){let e=new Promise((e,a)=>{o=setTimeout(()=>{t.value&&(t.value=!1,n.removeEventListener(`abort`,i),a(`timed-out`))},r)});a.push(e)}try{return{status:`resolved`,value:await Promise.race(a)}}catch(e){if(e===`timed-out`)return{status:`timed-out`};if(e===`cancelled`)return{status:`cancelled`};throw e}finally{o!==void 0&&clearTimeout(o),n.removeEventListener(`abort`,i)}}const ti={action:`approve`,source:`timeout`};async function q(e,t,n){try{n?await e.bus.request(N.setGateInstance,{gate:t}):await e.bus.requestOptional(N.setGateInstance,{gate:t})}catch(e){if(n)throw e;console.warn(`[LoopNode] Failed to upsert escalation gate for '${t.nodeId}':`,e)}}async function ni(e,t,n,r,i,a){try{await e.bus.emit(E.gate.suspended,{executionId:e.executionId,frameId:n,nodeId:t.id,schema:r,prompt:i,...t.gate.escalation?.title!==void 0&&{title:t.gate.escalation.title},autoAction:t.gate.escalation?.autoAction??`reject`,timeoutMs:t.gate.escalation?.timeoutMs??null,openedAt:a})}catch(e){console.error(`[LoopNode] gate.suspended emit failed for '${t.id}':`,e)}}async function J(e,t,n,r){try{await e.bus.emit(E.gate.resolved,{executionId:e.executionId,stepId:t,stepType:`gate`,frameId:n,...r})}catch(e){console.error(`[LoopNode] gate.resolved emit failed for '${t}':`,e)}}function ri(e){let{node:t,ctx:n,parentFrameId:r,validator:i,pending:a,deferred:o}=e;return n.bus.on(E.gate.respond,async e=>{let{executionId:s,gateId:c,frameId:l,action:d,resumeData:f,reason:p}=e.payload;if(s!==n.executionId||c!==t.id||l!==void 0&&l!==r){try{await e.next()}catch(t){if(t instanceof u)e.setResult({accepted:!1});else throw t}return}if(!a.value){e.setResult({accepted:!1});return}if(!H(i,f).valid){e.setResult({accepted:!1});return}a.value=!1,e.setResult({accepted:!0}),o.resolve({action:d,resumeData:f,reason:p})})}async function ii(e,t,n,r,i,a,o){let s=V(e.id,e.gate.escalation?.resumeSchema);if(s.status===`failed`)return{status:`failed`,error:s.error};let c={value:!0},l=Nr(),u=ri({node:e,ctx:t,parentFrameId:n,validator:s.validator,pending:c,deferred:l});await ni(t,e,n,r.schema,r.prompt??``,r.createdAt);try{let s=await ei(l,c,t.signal,r.timeoutMs);return s.status===`timed-out`?si(t,e,n,r,i,a,o,!1):s.status===`resolved`?ai(t,e.id,n,r,s.value,i,a,o):(await q(t,{...r,status:`cancelled`,resolvedAt:Date.now()},!1),await J(t,e.id,n,{source:`cancelled`}),{status:`cancelled`})}finally{u()}}async function ai(e,t,n,r,i,a,o,s){let c=Date.now(),l=i.action===`reject`?`rejected`:`resumed`;await q(e,{...r,status:l,resumeData:i.resumeData,...i.reason===void 0?{}:{reason:i.reason},resolvedAt:c},!1);try{await e.bus.emit(E.gate.resumed,{executionId:e.executionId,frameId:n,nodeId:t,resumeData:i.resumeData}),await J(e,t,n,{action:i.action,source:`user`,...i.reason===void 0?{}:{reason:i.reason}})}catch(e){console.error(`[LoopNode] gate.resumed emit failed for '${t}':`,e)}return{status:`completed`,output:Y(`escalate`,o,a,s,i.resumeData)}}async function oi(e,t,n,r,i,a,o){let s=e.gate.escalation;if(s===void 0)return{status:`completed`,output:Y(`escalate`,a,i,o)};let c=j(s.prompt,L(n)),l=s.resumeSchema??{},u={executionId:t.executionId,nodeId:e.id,frameId:r,schema:l,prompt:c,status:`waiting`,autoAction:s.autoAction??`reject`,timeoutMs:s.timeoutMs??null,createdAt:Date.now()},d=t.suspensionStrategy!==`wait-in-process`;return await q(t,u,d),await t.updateFrame(r,{status:`waiting`},{requireFrameStorage:d}),d?(await ni(t,e,r,l,c,u.createdAt),{status:`paused`,pausedAtGateId:e.id,pausedAtFrameId:r}):ii(e,t,r,u,i,a,o)}async function si(e,t,n,r,i,a,o,s=!0){let c=Date.now();if(r.autoAction===`approve`){let l=U(t.id,r.schema,ti);return l.valid?(await q(e,{...r,status:`resumed`,resumeData:ti,resolvedAt:c},s),await J(e,t.id,n,{action:`approve`,source:`timeout`}),{status:`completed`,output:Y(`escalate`,a,i,o,ti)}):(await q(e,{...r,status:`timed-out`,resolvedAt:c},s),await J(e,t.id,n,{action:`reject`,source:`timeout`}),{status:`failed`,error:`Loop '${t.id}' escalation gate auto-approve timeout resume data does not match resumeSchema: ${l.error}`})}return await q(e,{...r,status:`timed-out`,resolvedAt:c},s),await J(e,t.id,n,{action:`reject`,source:`timeout`}),{status:`failed`,error:`Loop '${t.id}' escalation gate timed out after ${String(r.timeoutMs)}ms and auto-rejected`}}async function ci(e,t,n){if(e.suspensionStrategy!==`wait-in-process`)return(await e.bus.request(N.getGateInstance,{executionId:e.executionId,nodeId:t,frameId:n})).gate;let r=await e.bus.requestOptional(N.getGateInstance,{executionId:e.executionId,nodeId:t,frameId:n});return r.handled?r.data.gate:null}async function li(e,t,n,r,i,a){let o=await ci(e,t.id,n);if(o!==null){if((o.status===`resumed`||o.status===`rejected`)&&o.resumeData!==void 0){let s=U(t.id,o.schema,o.resumeData);if(!s.valid)return{status:`failed`,error:`Loop '${t.id}' escalation gate resumeData is invalid: ${s.error}`};try{await e.bus.emit(E.gate.resumed,{executionId:e.executionId,frameId:n,nodeId:t.id,resumeData:o.resumeData})}catch(e){console.error(`[LoopNode] gate.resumed emit failed for '${t.id}':`,e)}return await J(e,t.id,n,{action:o.status===`rejected`?`reject`:`approve`,source:`user`,...o.reason===void 0?{}:{reason:o.reason}}),{status:`completed`,output:Y(`escalate`,i,r,a,o.resumeData)}}return o.status===`waiting`?o.timeoutMs!==null&&Date.now()>=o.createdAt+o.timeoutMs?si(e,t,n,o,r,i,a):{status:`paused`,pausedAtGateId:t.id,pausedAtFrameId:n}:(o.status===`resumed`||o.status===`rejected`)&&o.resumeData===void 0?{status:`failed`,error:`Loop '${t.id}' escalation gate has status '${o.status}' but resumeData is missing`}:{status:`failed`,error:`Loop '${t.id}' escalation gate cannot resume from status '${o.status}'`}}}const ui=new Set([`completed`,`running`]);async function di(e,t,n,r,i,a,o){let s=z(n.resumeFrames,e.id,{parentFrameId:a,iteration:t,statuses:ui});if(s?.status===`completed`)return{terminal:!1,output:s.output??null,replayed:!0,gateExpressionCtx:pi(e,n,r,s.frameId)};let c=s??n.createFrame({nodeId:e.id,nodeType:`loop`,path:o,parentFrameId:a,iteration:t});if(n.signal.aborted)return await $(c,n),{terminal:!0,outcome:{status:`cancelled`}};s===void 0&&await X(c,n);let l=await mi(e,c,n,r,i);if(l!==void 0)return{terminal:!0,outcome:l};let u=vr(e.body,c.frameId,n)??null;return await Z(c,n,u),{terminal:!1,output:u,replayed:!1,gateExpressionCtx:pi(e,n,r,c.frameId)}}function fi(e,t,n,r){return z(n.resumeFrames,e.id,{parentFrameId:r,iteration:t,statuses:ui})!==void 0}function pi(e,t,n,r){let i=n;for(let n of e.body.nodes){let e=t.getFramesByNodeId(n.id).find(e=>e.parentFrameId===r&&e.status===`completed`);e!==void 0&&(i=B(i,n.id,{status:`completed`,...e.output===void 0?{}:{output:e.output}}))}return i}async function mi(e,t,n,r,i){let a;try{a=await i(e.body,n,r,t.frameId,t.path)}catch(e){let r=e instanceof Error?e.message:String(e);return await Q(t,n,r),{status:`failed`,error:r}}switch(a.status){case`failed`:return await Q(t,n,a.error),{status:`failed`,error:a.error};case`cancelled`:return await $(t,n),{status:`cancelled`};case`paused`:return a;case`skipped`:case`completed`:return}}function hi(e,t,n,r,i){let a=null;if(e.gate.input!==void 0)try{let t=L(r);a=A(e.gate.input,t)}catch(t){let n=t instanceof Error?t.message:String(t);return{status:`failed`,error:`Loop node '${e.id}': gate input expression evaluation failed: ${n}`}}let o=e.gate.config??null,s=i(a,o,{executionId:n.executionId,nodeId:e.id,round:t+1,maxRounds:e.maxRounds});return s.kind===`loop`&&t+1>=e.maxRounds?{kind:`escalate`,reason:`max_rounds_reached`}:s}async function gi(e,t,n,r,i,a){if(t.signal.aborted)return{status:`cancelled`};let o=t.runtimeLoopGates.get(e.gate.handler);if(o===void 0)return{status:`failed`,error:`Loop node '${e.id}': no gate handler registered for '${e.gate.handler}'`};let s=[],c=0;for(;;){if(t.signal.aborted)return{status:`cancelled`};let l=await di(e,c,t,n,r,i,a);if(l.terminal)return l.outcome;if(s.push(l.output),l.replayed){if(c++,fi(e,c,t,i))continue;if(e.gate.escalation!==void 0&&t.suspensionStrategy!==`wait-in-process`){let n=await li(t,e,i,{kind:`escalate`,reason:`resumed_from_gate`},c,s);if(n!==void 0)return n}continue}let u=hi(e,c,t,l.gateExpressionCtx,o);if(`status`in u)return u;if(u.kind===`pass`)return{status:`completed`,output:Y(`pass`,c+1,u,s)};if(u.kind===`escalate`)return e.gate.escalation===void 0?{status:`completed`,output:Y(`escalate`,c+1,u,s)}:oi(e,t,n,i,u,c+1,s);c++}}function Y(e,t,n,r,i){return{outcome:e,rounds:t,lastGateOutcome:n,bodyOutputs:r,...i===void 0?{}:{resumeData:i}}}async function X(e,t){e.status=`running`,e.startedAt=Date.now(),await t.persistFrame(e),await t.emitFrameStarted(e)}async function Z(e,t,n){let r=Date.now(),i=e.startedAt===void 0?void 0:Math.max(0,r-e.startedAt);e.status=`completed`,e.output=n,e.completedAt=r,await t.persistFrame(e),await t.emitFrameCompleted(e,i)}async function Q(e,t,n){let r=Date.now(),i=e.startedAt===void 0?void 0:Math.max(0,r-e.startedAt);e.status=`failed`,e.error=n,e.completedAt=r,await t.persistFrame(e),await t.emitFrameFailed(e,n,i)}async function _i(e,t){e.status=`skipped`,e.completedAt=Date.now(),await t.persistFrame(e)}async function $(e,t){e.status=`cancelled`,e.completedAt=Date.now(),await t.persistFrame(e)}function vi(e,t){return!!A(e,L(t))}async function yi(e,t,n,r,i,a=[]){if(t.signal.aborted)return{status:`cancelled`};switch(e.type){case`sequence`:return r(e,t,n,i,a);case`station`:return sr(e,t,n,i);case`delegate-agent`:return pr(e,t,n,i);case`delegate-role`:return mr(e,t,n,i);case`parallel`:return Tr(e,t,n,r,i??``,a,e.mode??`all-settled`);case`gate`:return Rr(e,t,n,i??``);case`iterate`:return Gr(e,t,n,r,i??``,a);case`iterate-chain`:return Zr(e,t,n,r,i??``,a);case`loop`:return gi(e,t,n,r,i??``,a);default:return{status:`failed`,error:`Unknown node type: ${String(e.type)}`}}}const bi=new Set([`completed`,`skipped`,`waiting`,`running`]);function xi(e){return e.type===`parallel`||e.type===`iterate`||e.type===`iterate-chain`||e.type===`loop`}function Si(e,t,n){return z(e.resumeFrames,t.id,{parentFrameId:n,...xi(t)?{statuses:bi}:{}})}function Ci(e,t,n){if(n?.status===`completed`)return B(e,t.id,{status:`completed`,...n.output===void 0?{}:{output:n.output}});if(n?.status===`skipped`)return B(e,t.id,{status:`skipped`})}async function wi(e,t,n,r,i,a,o){try{return{result:vi(e,i)}}catch(e){let i=e instanceof Error?e.message:String(e);return await Q(r.createFrame({nodeId:n.id,nodeType:n.type,path:a,parentFrameId:o}),r,`'${t}' condition evaluation failed: ${i}`),{status:`failed`,error:`'${t}' condition evaluation failed for '${n.id}': ${i}`}}}async function Ti(e,t,n,r,i,a){let o=a??t.createFrame({nodeId:e.id,nodeType:e.type,path:r,parentFrameId:i});if(t.signal.aborted)return await $(o,t),{updatedCtx:n,outcome:{status:`cancelled`}};a===void 0&&await X(o,t);let s;try{s=await yi(e,t,n,Ei,o.frameId,o.path)}catch(e){let r=e instanceof Error?e.message:String(e);return await Q(o,t,r),{updatedCtx:n,outcome:{status:`failed`,error:r}}}switch(s.status){case`completed`:return await Z(o,t,s.output),{updatedCtx:B(n,e.id,{status:`completed`,output:s.output})};case`skipped`:return await _i(o,t),{updatedCtx:B(n,e.id,{status:`skipped`})};case`cancelled`:return await $(o,t),{updatedCtx:n,outcome:{status:`cancelled`}};case`paused`:return{updatedCtx:n,outcome:s};case`failed`:return await Q(o,t,s.error),{updatedCtx:n,outcome:{status:`failed`,error:s.error}}}}async function Ei(e,t,n,r,i=[]){let a=n;for(let n of e.nodes){if(t.signal.aborted)return{status:`cancelled`};let e=Si(t,n,r),o=Ci(a,n,e);if(o!==void 0){a=o;continue}if(n.when!==void 0){let e=await wi(n.when,`when`,n,t,a,i,r);if(`status`in e)return e;if(!e.result){await _i(t.createFrame({nodeId:n.id,nodeType:n.type,path:i,parentFrameId:r}),t),a=B(a,n.id,{status:`skipped`});continue}}if(n.skip!==void 0){let e=await wi(n.skip,`skip`,n,t,a,i,r);if(`status`in e)return e;if(e.result){await _i(t.createFrame({nodeId:n.id,nodeType:n.type,path:i,parentFrameId:r}),t),a=B(a,n.id,{status:`skipped`});continue}}let s=e?.status===`waiting`&&n.type===`gate`||(e?.status===`running`||e?.status===`waiting`)&&xi(n)?e:void 0,{updatedCtx:c,outcome:l}=await Ti(n,t,a,i,r,s);if(a=c,l!==void 0)return l}return{status:`completed`}}function Di(e,t){let n=new Set;if(me(e.root,{enter(e){if(e.type!==`loop`)return;let r=e;t.has(r.gate.handler)||n.add(r.gate.handler)}}),n.size>0)throw Error(`Workflow '${e.id}' is missing loop gate handler(s): ${[...n].join(`, `)}`)}const Oi=new Set;async function ki(e,t,n){if((await e.requestOptional(N.getRunContext,{executionId:t.executionId})).handled){await Ai(e,t.executionId,n);return}await e.request(E.bootstrapAuthorityState,{executionId:t.executionId,terminalAuthority:`authority`,definition:n})}async function Ai(e,t,n){return await ji(e,t,n)!==void 0}async function ji(e,t,n){let r=await e.request(N.getRunContext,{executionId:t});if(r.runContext===null)return;if(r.runContext.executionId!==t)throw Error(`Authority bootstrap identity mismatch for '${t}'`);let i=r.runContext.definitionSnapshot;if(i===void 0){await e.request(N.setRunContext,{runContext:{...r.runContext,terminalAuthority:`authority`}});return}if(!Mi(i,n))throw Error(`Authority bootstrap definition mismatch for '${t}'`);let a=i;return await e.request(N.setRunContext,{runContext:{...r.runContext,terminalAuthority:`authority`,definitionSnapshot:a},initialState:wt(a)}),a}function Mi(e,t){return i(JSON.parse(JSON.stringify(e)),JSON.parse(JSON.stringify(t)))}function Ni(e,t){return e.on(E.bootstrapAuthorityState,async n=>{if(!rt(n,n.payload.executionId))throw Error(`authority state bootstrap is execution-bound`);let r=await ji(e,n.payload.executionId,n.payload.definition);if(r!==void 0){t?.(n.payload.executionId,r);for(let t of Oi)await t({bus:e,executionId:n.payload.executionId,definition:r,transport:n.transport})}n.setResult({persisted:r!==void 0})})}export{Ve as $,nt as A,Ke as B,Pt as C,ft as D,Ct as E,ke as F,je as G,Je as H,Oe as I,Ie as J,Ae as K,Fe as L,N as M,Ee as N,it as O,Te as P,He as Q,Pe as R,jt as S,kt as T,De as U,Ye as V,M as W,Me as X,Ne as Y,Ue as Z,Zt as _,Nr as a,Ce as at,I as b,Bn as c,E as ct,ln as d,Be as et,Sn as f,nn as g,cn as h,Ei as i,Re as it,et as j,rt as k,Nn as l,Cn as m,Ni as n,We as nt,U as o,Se as ot,En as p,Le as q,Di as r,ze as rt,br as s,ue as st,ki as t,Ge as tt,On as u,Gt as v,P as w,Ft as x,zt as y,qe as z};