@makaio/framework 1.0.0-dev-1783705652236 → 1.0.0-dev-1783973359164

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 (460) hide show
  1. package/dist/.makaio-build.json +2 -2
  2. package/dist/account-identity-BYfeWLe-.mjs +1 -0
  3. package/dist/adapter-auth-runtime-a4O7cSNP.mjs +1 -0
  4. package/dist/adapter-binding-DDUyv1JK.d.mts +254 -0
  5. package/dist/{adapter-CA8rPIUz.mjs → adapter-nl_xz9dz.mjs} +1 -1
  6. package/dist/adapter-subsystem/index.d.mts +120 -5
  7. package/dist/adapter-subsystem/index.mjs +1 -1
  8. package/dist/adapters/acp-client/index.d.mts +10 -0
  9. package/dist/adapters/acp-client/index.mjs +2 -2
  10. package/dist/adapters/config/index.d.mts +176 -153
  11. package/dist/adapters/config/index.mjs +1 -1
  12. package/dist/adapters/index.d.mts +1021 -1005
  13. package/dist/adapters/index.mjs +6 -6
  14. package/dist/adapters/node.d.mts +1 -1
  15. package/dist/adapters/node.mjs +1 -1
  16. package/dist/adapters/stream-session/index.d.mts +7 -5
  17. package/dist/adapters/stream-session/index.mjs +1 -1
  18. package/dist/auth-C3NOWqTU.mjs +1 -0
  19. package/dist/authority-state-bootstrap-CEuKScnL.mjs +1 -0
  20. package/dist/{base-orchestrator-J1WKAUkF.d.mts → base-orchestrator-BiShpVKL.d.mts} +6 -0
  21. package/dist/bus/index.d.mts +10 -10
  22. package/dist/bus/index.mjs +1 -1
  23. package/dist/{canonical-model-DV-Z8gsb.mjs → canonical-model-C31NaBJs.mjs} +1 -1
  24. package/dist/client-BkpLM8Fx.mjs +1 -0
  25. package/dist/client-binary-version-verifier-BK_vIjIo.mjs +2 -0
  26. package/dist/client-binary-version-verifier-BwrMTAh2.d.mts +179 -0
  27. package/dist/clients/index.d.mts +69 -85
  28. package/dist/clients/index.mjs +1 -2
  29. package/dist/clients/managed-install.d.mts +2 -0
  30. package/dist/clients/managed-install.mjs +1 -0
  31. package/dist/{clients-namespace-Bt_VTkEU.d.mts → clients-namespace-B96QIJOs.d.mts} +224 -21
  32. package/dist/compression-CZ_6fYq8.mjs +1 -0
  33. package/dist/config-namespace-DTA6EQL8.mjs +1 -0
  34. package/dist/{config-namespace-DqdFE6zk.d.mts → config-namespace-x0fuhEXe.d.mts} +73 -1
  35. package/dist/contracts/adapter/index.d.mts +3 -3
  36. package/dist/contracts/adapter/index.mjs +1 -1
  37. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  38. package/dist/contracts/artifact/index.d.mts +1 -1
  39. package/dist/contracts/auth/index.d.mts +3 -0
  40. package/dist/contracts/auth/index.mjs +1 -0
  41. package/dist/contracts/canonical-model/index.d.mts +1 -1
  42. package/dist/contracts/canonical-model/index.mjs +1 -1
  43. package/dist/contracts/client/index.d.mts +3 -3
  44. package/dist/contracts/client/index.mjs +1 -1
  45. package/dist/contracts/common/index.d.mts +1 -1
  46. package/dist/contracts/config/index.d.mts +20 -93
  47. package/dist/contracts/config/index.mjs +1 -1
  48. package/dist/contracts/extension/index.d.mts +3 -3
  49. package/dist/contracts/extension/index.mjs +1 -1
  50. package/dist/contracts/facet/index.d.mts +1 -1
  51. package/dist/contracts/facet/index.mjs +1 -1
  52. package/dist/contracts/harness/index.d.mts +1 -1
  53. package/dist/contracts/harness/index.mjs +1 -1
  54. package/dist/contracts/host/index.d.mts +1 -1
  55. package/dist/contracts/host/index.mjs +1 -1
  56. package/dist/contracts/index.d.mts +1161 -140
  57. package/dist/contracts/index.mjs +1 -1
  58. package/dist/contracts/materialization/index.d.mts +3 -3
  59. package/dist/contracts/materialization/index.mjs +1 -1
  60. package/dist/contracts/model-registry/index.d.mts +1 -1
  61. package/dist/contracts/model-registry/index.mjs +1 -1
  62. package/dist/contracts/native-session-supervisor/index.d.mts +2 -2
  63. package/dist/contracts/native-session-supervisor/index.mjs +1 -1
  64. package/dist/contracts/platform/index.d.mts +1 -1
  65. package/dist/contracts/platform/index.mjs +1 -1
  66. package/dist/contracts/provider/index.d.mts +2 -2
  67. package/dist/contracts/provider/index.mjs +1 -1
  68. package/dist/contracts/session/index.d.mts +3 -3
  69. package/dist/contracts/session/index.mjs +1 -1
  70. package/dist/contracts/shared/index.d.mts +2 -2
  71. package/dist/contracts/shared/index.mjs +1 -1
  72. package/dist/contracts/skill/index.d.mts +1 -1
  73. package/dist/contracts/skill/index.mjs +1 -1
  74. package/dist/contracts/telemetry/index.d.mts +1 -1
  75. package/dist/contracts/telemetry/index.mjs +1 -1
  76. package/dist/contracts/timeout/index.d.mts +1 -1
  77. package/dist/contracts/timeout/index.mjs +1 -1
  78. package/dist/contracts/toast/index.mjs +1 -1
  79. package/dist/contracts/variant/index.d.mts +1 -1
  80. package/dist/contracts/variant/index.mjs +1 -1
  81. package/dist/contracts/workflow/index.d.mts +3 -3
  82. package/dist/contracts/workflow/index.mjs +1 -1
  83. package/dist/{definition-s9PIua2B.d.mts → definition-Bj9Vr16H.d.mts} +1 -1
  84. package/dist/{definition-Cllhr9mi.d.mts → definition-BsTlOz99.d.mts} +36 -4
  85. package/dist/{definition-CuJvtYeG.d.mts → definition-Cbl0k6Fc.d.mts} +31 -1
  86. package/dist/definition-K3m51lgO.mjs +1 -0
  87. package/dist/definitions-C1pgx0Nq.mjs +1 -0
  88. package/dist/{detached-extension-handle-Cx6-0eqg.mjs → detached-extension-handle-vDK194QV.mjs} +1 -1
  89. package/dist/drizzle/0026_m_mrgvi7fq.sql +16 -0
  90. package/dist/drizzle/0027_m_mrgw0uzg.sql +1 -0
  91. package/dist/drizzle/0028_m_mrgx04i1.sql +1 -0
  92. package/dist/drizzle/0029_terminal-authority.sql +1 -0
  93. package/dist/drizzle/meta/_journal.json +28 -0
  94. package/dist/execution-target-Bg2wpfML.mjs +1 -0
  95. package/dist/{extension-CJClssfp.mjs → extension-CjTu6mzW.mjs} +1 -1
  96. package/dist/extension-D4iKUUMG.mjs +1 -0
  97. package/dist/{filesystem-service-Bmyqo6po.mjs → filesystem-service-maY_P3yA.mjs} +1 -1
  98. package/dist/git/index.mjs +1 -1
  99. package/dist/{globby-D4SANVoq.mjs → globby-CisClzat.mjs} +1 -1
  100. package/dist/handlers-RGs3eC9X.mjs +57 -0
  101. package/dist/{harness-DkUpbsuY.mjs → harness-DflvHAGV.mjs} +1 -1
  102. package/dist/index-9dISOTLT.d.mts +174 -0
  103. package/dist/{index-B9d_8_V2.d.mts → index-9g0agW_p.d.mts} +55 -55
  104. package/dist/{index-DScUb-hF.d.mts → index-BDr2Ba122.d.mts} +34 -11
  105. package/dist/{index-BcvG3wPv.d.mts → index-BKZAAWo2.d.mts} +185 -45
  106. package/dist/{index-CaerrEDH.d.mts → index-Bbr5LEUc.d.mts} +2 -2
  107. package/dist/{index-C23g_M_J2.d.mts → index-BmsPH78f2.d.mts} +50 -5
  108. package/dist/index-ButbwvVY.d.mts +1175 -0
  109. package/dist/index-BxuiHVFi.d.mts +284 -0
  110. package/dist/{index-DnnKUwHm.d.mts → index-C2C1qH1Y.d.mts} +38 -32
  111. package/dist/{index-ntS1EXlf.d.mts → index-C6LZOiDv.d.mts} +150 -2
  112. package/dist/{index-C9FCWOhp.d.mts → index-COC9jCdc.d.mts} +124 -22
  113. package/dist/{index-Cx1Bm6WD.d.mts → index-CVs0Qxks.d.mts} +8 -8
  114. package/dist/index-CagRgpXI2.d.mts +84 -0
  115. package/dist/{index-DoEF9LAc.d.mts → index-CtjLeK1F.d.mts} +3 -3
  116. package/dist/{index-DZPNuWMc.d.mts → index-Cx8jGKOs.d.mts} +4 -4
  117. package/dist/{index-h5go5Dtd.d.mts → index-D75FnT0B.d.mts} +1 -1
  118. package/dist/{index-FFVwQMad.d.mts → index-DNkR5yTY.d.mts} +3401 -594
  119. package/dist/{index-wq7XeqyG.d.mts → index-DXBiCH2y.d.mts} +27 -1
  120. package/dist/{index-B2DjrVb8.d.mts → index-DpZbaS7y.d.mts} +1194 -87
  121. package/dist/{index-BvTd61i5.d.mts → index-T96ydgVk.d.mts} +260 -160
  122. package/dist/{index-DLNRgZPo2.d.mts → index-j2YlW_Fc.d.mts} +1 -1
  123. package/dist/{index-PIlYSC73.d.mts → index-x2gFj3BK.d.mts} +41 -28
  124. package/dist/kernel/cli/index.d.mts +2 -2
  125. package/dist/kernel/cli/index.mjs +1 -1
  126. package/dist/kernel/cli/register.d.mts +1 -1
  127. package/dist/kernel/cli/register.mjs +1 -1
  128. package/dist/kernel/cli/schemas.mjs +1 -1
  129. package/dist/kernel/extension/index.d.mts +1 -1
  130. package/dist/kernel/extension/index.mjs +1 -1
  131. package/dist/kernel/index.d.mts +5 -5
  132. package/dist/kernel/index.mjs +1 -1
  133. package/dist/kernel/namespace/index.d.mts +1 -1
  134. package/dist/kernel/namespace/index.mjs +1 -1
  135. package/dist/kernel/observability/index.d.mts +1 -1
  136. package/dist/kernel/observability/index.mjs +1 -1
  137. package/dist/kernel/providers/index.d.mts +1 -1
  138. package/dist/kernel/providers/index.mjs +1 -1
  139. package/dist/kernel/window/index.d.mts +1 -1
  140. package/dist/kernel/window/index.mjs +1 -1
  141. package/dist/{lib-BOmKyjWD.mjs → lib-DIVnpS8e.mjs} +1 -1
  142. package/dist/{lib-DLZYp5z3.mjs → lib-DymjnkAP.mjs} +1 -1
  143. package/dist/{load-extensions-DNRIy4zC.d.mts → load-extensions-_EnedkUp.d.mts} +1 -1
  144. package/dist/{load-extensions-Cze1RHcG.mjs → load-extensions-nqL5WAKj.mjs} +1 -1
  145. package/dist/mcp-http-server/index.d.mts +27 -90
  146. package/dist/mcp-http-server/index.mjs +2 -2
  147. package/dist/model-uE5IyUFJ.mjs +1 -0
  148. package/dist/namespace-C05pkLbN.mjs +1 -0
  149. package/dist/{namespace-D9PLFmPQ.d.mts → namespace-CCZXyxSe.d.mts} +18 -18
  150. package/dist/namespace-D7pE2QWv.mjs +1 -0
  151. package/dist/{namespace-dFBD2ZmS.mjs → namespace-DwQtzlY-.mjs} +1 -1
  152. package/dist/namespace-HsI0Jbbr.mjs +1 -0
  153. package/dist/namespace-VmsT_tLJ.d.mts +3729 -0
  154. package/dist/namespace-Xp9-g_r-.mjs +1 -0
  155. package/dist/{native-session-supervisor-7ElwM6Is.mjs → native-session-supervisor-CdtVGWA9.mjs} +1 -1
  156. package/dist/node/bus-server/index.d.mts +1 -1
  157. package/dist/node/bus-server/index.mjs +1 -1
  158. package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
  159. package/dist/node/bus-server/server-lifecycle.mjs +1 -1
  160. package/dist/node/transports/index.d.mts +36 -1
  161. package/dist/node/transports/index.mjs +2 -2
  162. package/dist/{orchestrator-shared-ChygCvR1.mjs → orchestrator-shared-DAkGOu9H.mjs} +1 -1
  163. package/dist/{orchestrator-shared-DFLb1otg.d.mts → orchestrator-shared-pxtyNu3W.d.mts} +13 -6
  164. package/dist/package-BYpWkSuQ.mjs +1 -0
  165. package/dist/package-CsFFT9iR.mjs +7 -0
  166. package/dist/{package-DmVZxufT.d.mts → package-DG9GSY8M.d.mts} +52 -1
  167. package/dist/package.json +1 -1
  168. package/dist/{profile-BMBXUqqh.mjs → profile-D2m94ZYD.mjs} +1 -1
  169. package/dist/provider-context-BYkMl--1.mjs +1 -0
  170. package/dist/provider-context-DOsjOjiR.mjs +1 -0
  171. package/dist/{providers-namespace-5GoTlHXz.d.mts → providers-namespace-O4de1tgO.d.mts} +161 -14
  172. package/dist/resolved-O2XXjTeu.mjs +1 -0
  173. package/dist/rules/index.d.mts +1 -1
  174. package/dist/rules/index.mjs +1 -1
  175. package/dist/rules/schemas.d.mts +1 -1
  176. package/dist/runtime-bun/index.mjs +1 -1
  177. package/dist/runtime-node/client-binary-strategy-dependencies.d.mts +34 -0
  178. package/dist/runtime-node/client-binary-strategy-dependencies.mjs +1 -0
  179. package/dist/runtime-node/extension-discovery.d.mts +1 -1
  180. package/dist/runtime-node/extension-validation.d.mts +1 -1
  181. package/dist/runtime-node/extension-validation.mjs +1 -1
  182. package/dist/runtime-node/index.d.mts +25 -84
  183. package/dist/runtime-node/index.mjs +24 -24
  184. package/dist/runtime-node/makaio-config.d.mts +1 -1
  185. package/dist/runtime-node/makaio-config.mjs +1 -1
  186. package/dist/runtime-node/workflow-worker/index.d.mts +2 -2
  187. package/dist/runtime-node/workflow-worker/index.mjs +1 -1
  188. package/dist/runtime-node/workflow-worker/worker-entry.mjs +1 -1
  189. package/dist/{schema-7aKBGB7S.mjs → schema-BI0aCHvV.mjs} +1 -1
  190. package/dist/schemas-C-J4W1ID.mjs +1 -0
  191. package/dist/{schemas-Br-rSxPE2.d.mts → schemas-CoJCTFod2.d.mts} +8 -8
  192. package/dist/schemas-K3Td_WdR.d.mts +3175 -0
  193. package/dist/schemas-n9Ff6_RX.mjs +1 -0
  194. package/dist/schemas-th_nuC5t.mjs +1 -0
  195. package/dist/selection-YRuVSdck.mjs +1 -0
  196. package/dist/service-base/index.d.mts +4 -3
  197. package/dist/service-base/index.mjs +1 -1
  198. package/dist/services/adapter-runtime/index.d.mts +3 -3
  199. package/dist/services/adapter-runtime/index.mjs +1 -1
  200. package/dist/services/adapter-runtime/namespace.d.mts +1 -1
  201. package/dist/services/adapter-runtime/schemas.d.mts +1 -1
  202. package/dist/services/adapter-subsystem/index.d.mts +4 -3
  203. package/dist/services/adapter-subsystem/index.mjs +1 -1
  204. package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
  205. package/dist/services/adapter-subsystem/namespace.mjs +1 -1
  206. package/dist/services/agent-runtime/index.d.mts +2 -2
  207. package/dist/services/agent-runtime/namespace.d.mts +1 -1
  208. package/dist/services/agent-runtime/schemas.d.mts +1 -1
  209. package/dist/services/capability/index.d.mts +1 -1
  210. package/dist/services/capability/index.mjs +1 -1
  211. package/dist/services/codebase/index.d.mts +2 -2
  212. package/dist/services/codebase/namespace.d.mts +1 -1
  213. package/dist/services/codebase/schemas.d.mts +1 -1
  214. package/dist/services/compression/index.d.mts +2 -2
  215. package/dist/services/compression/namespace.d.mts +1 -1
  216. package/dist/services/compression/schemas.d.mts +1 -1
  217. package/dist/services/context-rules/index.d.mts +4 -4
  218. package/dist/services/context-rules/index.mjs +1 -1
  219. package/dist/services/definition/namespace.d.mts +1 -19
  220. package/dist/services/definition/schemas.d.mts +0 -9
  221. package/dist/services/definition/schemas.mjs +1 -1
  222. package/dist/services/execution-target/index.d.mts +4 -4
  223. package/dist/services/execution-target/index.mjs +1 -1
  224. package/dist/services/execution-target/namespace.d.mts +1 -1
  225. package/dist/services/execution-target/namespace.mjs +1 -1
  226. package/dist/services/execution-target/schemas.d.mts +1 -1
  227. package/dist/services/execution-target/schemas.mjs +1 -1
  228. package/dist/services/filesystem/index.d.mts +1 -1
  229. package/dist/services/filesystem/index.mjs +1 -1
  230. package/dist/services/git/namespace.mjs +1 -1
  231. package/dist/services/git/schemas.mjs +1 -1
  232. package/dist/services/harness/index.d.mts +6 -6
  233. package/dist/services/harness/index.mjs +1 -1
  234. package/dist/services/index.d.mts +1591 -173
  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.mjs +1 -1
  241. package/dist/services/log-import/schemas.mjs +1 -1
  242. package/dist/services/model-registry/index.d.mts +1 -1
  243. package/dist/services/model-registry/index.mjs +1 -1
  244. package/dist/services/preferences/index.d.mts +2 -2
  245. package/dist/services/preferences/schemas.d.mts +1 -1
  246. package/dist/services/preferences/storage-namespace.d.mts +2 -2
  247. package/dist/services/provider-context/index.d.mts +2 -2
  248. package/dist/services/provider-context/index.mjs +1 -1
  249. package/dist/services/provider-runtime/index.d.mts +18 -0
  250. package/dist/services/provider-runtime/index.mjs +1 -1
  251. package/dist/services/session/handlers/index.d.mts +1 -1
  252. package/dist/services/session/handlers/index.mjs +1 -1
  253. package/dist/services/session/index.d.mts +10 -10
  254. package/dist/services/session/index.mjs +1 -1
  255. package/dist/services/session/messages/namespace.d.mts +1 -1
  256. package/dist/services/session/messages/namespace.mjs +1 -1
  257. package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
  258. package/dist/services/session/orchestrator-testing/index.mjs +1 -1
  259. package/dist/services/session/session-events/namespace.d.mts +1 -1
  260. package/dist/services/session/session-events/namespace.mjs +1 -1
  261. package/dist/services/session/storage/namespace.d.mts +1 -1
  262. package/dist/services/session/storage/schema.d.mts +1 -1
  263. package/dist/services/session/testing/index.d.mts +2 -2
  264. package/dist/services/session/testing/index.mjs +10 -10
  265. package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
  266. package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
  267. package/dist/services/session/turns/namespace.d.mts +1 -1
  268. package/dist/services/session/turns/namespace.mjs +1 -1
  269. package/dist/services/session-editor/index.d.mts +1 -1
  270. package/dist/services/session-editor/index.mjs +1 -1
  271. package/dist/services/settings/index.d.mts +3 -3
  272. package/dist/services/settings/index.mjs +1 -1
  273. package/dist/services/settings/namespace.d.mts +18 -25
  274. package/dist/services/settings/namespace.mjs +1 -1
  275. package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
  276. package/dist/services/settings/storage/clients-namespace.mjs +1 -1
  277. package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
  278. package/dist/services/settings/storage/index.d.mts +3 -3
  279. package/dist/services/settings/storage/index.mjs +1 -1
  280. package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
  281. package/dist/services/settings/storage/providers-namespace.mjs +1 -1
  282. package/dist/services/subagent/index.d.mts +2 -2
  283. package/dist/services/subagent/index.mjs +1 -1
  284. package/dist/services/subagent-template/index.d.mts +2 -2
  285. package/dist/services/subagent-template/namespace.d.mts +1 -1
  286. package/dist/services/subagent-template/schemas.d.mts +1 -1
  287. package/dist/services/tool-approval/index.d.mts +1 -1
  288. package/dist/services/tool-approval/index.mjs +1 -1
  289. package/dist/services/tools/index.d.mts +1 -1
  290. package/dist/services/tools/index.mjs +1 -1
  291. package/dist/services/tray-menu/index.d.mts +3 -3
  292. package/dist/services/tray-menu/index.mjs +1 -1
  293. package/dist/services/tray-menu/namespace.d.mts +1 -1
  294. package/dist/services/tray-menu/schemas.d.mts +1 -1
  295. package/dist/services/turn/index.d.mts +1 -1
  296. package/dist/services/turn/namespace.d.mts +1 -1
  297. package/dist/session-CAjudDuJ.mjs +76 -0
  298. package/dist/{session-DBfQkgdy.mjs → session-lRd8HZNZ.mjs} +1 -1
  299. package/dist/{shared-BVW-3Dhy.mjs → shared-RP_KARKF.mjs} +1 -1
  300. package/dist/{skill-N-ttlp1i.mjs → skill-CpNjWFuE.mjs} +1 -1
  301. package/dist/{src-Ck2sbaDa.mjs → src-Bo2eA51B.mjs} +1 -1
  302. package/dist/storage/drizzle/client.d.mts +1 -1
  303. package/dist/storage/drizzle/client.mjs +1 -1
  304. package/dist/storage/drizzle/index.d.mts +9 -2
  305. package/dist/storage/drizzle/index.mjs +1 -1
  306. package/dist/storage/handlers/drizzle/index.d.mts +1 -1
  307. package/dist/storage/handlers/drizzle/index.mjs +1 -1
  308. package/dist/storage/handlers/index.d.mts +1 -1
  309. package/dist/storage/handlers/index.mjs +1 -1
  310. package/dist/{tool-approval-service-DEiMKTv9.mjs → tool-approval-service-Dh0XI21f.mjs} +1 -1
  311. package/dist/tools/index.d.mts +1 -1
  312. package/dist/tools-PC_L6g2m.mjs +1 -0
  313. package/dist/{transition-OzGXyy3p.d.mts → transition-CwUIm1hJ.d.mts} +10 -2
  314. package/dist/{types-BWduCvRU.d.mts → types-B-xY9WW2.d.mts} +1 -1
  315. package/dist/{types-CBLPaQXe.d.mts → types-BaDYigzD.d.mts} +486 -25
  316. package/dist/{types-BrUOVfwe.d.mts → types-DvKaEOOn.d.mts} +252 -19
  317. package/dist/ui-hooks/index.d.mts +103 -14
  318. package/dist/ui-hooks/index.mjs +1 -1
  319. package/dist/ui-kernel/index.d.mts +3 -3
  320. package/dist/ui-kernel/pages/schemas.d.mts +1 -1
  321. package/dist/utils/keychain.mjs +1 -1
  322. package/dist/{version-DoV_pSzT.mjs → version-C1-VD-XL.mjs} +1 -1
  323. package/dist/workflow-DFJYGjq_.mjs +1 -0
  324. package/dist/workflow-engine/index.d.mts +663 -60
  325. package/dist/workflow-engine/index.mjs +1 -1
  326. package/dist/workflow-engine/package.d.mts +1 -1
  327. package/dist/workflow-engine/package.mjs +1 -1
  328. package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
  329. package/dist/workflow-worker-BEFjCccX.mjs +1 -0
  330. package/package.json +13 -8
  331. package/dist/account-identity-C7Kx_ieU.mjs +0 -1
  332. package/dist/cleanEnvForAdapter-BooAgM2R.mjs +0 -1
  333. package/dist/client-DaR4mzqn.mjs +0 -1
  334. package/dist/compression-C5JAWdgZ.mjs +0 -1
  335. package/dist/config-namespace-CY9leBnE.mjs +0 -1
  336. package/dist/credential-ref-YWQQENEo.mjs +0 -1
  337. package/dist/definition-C-GVz7uw.mjs +0 -1
  338. package/dist/execution-target-BR8bLkCR.mjs +0 -1
  339. package/dist/extension-BS_4BOeO.mjs +0 -1
  340. package/dist/handlers-B74FvKlA.mjs +0 -57
  341. package/dist/index-BcwOnvUh.d.mts +0 -749
  342. package/dist/index-D6aAzr32.d.mts +0 -997
  343. package/dist/index-DtwGhFFQ.d.mts +0 -40
  344. package/dist/loop-gate-handlers-o2B5FPdF.mjs +0 -1
  345. package/dist/namespace-B4cV_pk3.d.mts +0 -1317
  346. package/dist/namespace-BO3tODGC.mjs +0 -1
  347. package/dist/namespace-CVMZVqB5.mjs +0 -1
  348. package/dist/namespace-DBHwyhME.mjs +0 -1
  349. package/dist/namespace-DibbhCPP.mjs +0 -1
  350. package/dist/package-CF_Zm2v4.mjs +0 -1
  351. package/dist/package-Co_GO3UD.mjs +0 -7
  352. package/dist/provider-context-CqMgPOWF.mjs +0 -1
  353. package/dist/provider-context-DC_eq7es.mjs +0 -1
  354. package/dist/schemas-CVo8qAK-.mjs +0 -1
  355. package/dist/schemas-CuG17U3L.mjs +0 -1
  356. package/dist/session-CX6QDhi2.mjs +0 -76
  357. package/dist/tools-CGFZkB7F.mjs +0 -1
  358. package/dist/workflow-C3dgVwTY.mjs +0 -1
  359. package/dist/workflow-worker-dH70EbjE.mjs +0 -1
  360. /package/dist/{ajv-B5dPIck0.mjs → ajv-DfHhgdS5.mjs} +0 -0
  361. /package/dist/{await-trigger-DwVldnMt.mjs → await-trigger-DP-fTQc4.mjs} +0 -0
  362. /package/dist/{capability-service-XlymTzz1.mjs → capability-service-Dg2bU8qc.mjs} +0 -0
  363. /package/dist/{client-CebV_fZc.d.mts → client-DmJwprw1.d.mts} +0 -0
  364. /package/dist/{create-static-mount-DkK28kKW.mjs → create-static-mount-CBTXRtbN.mjs} +0 -0
  365. /package/dist/{cross-spawn-CDXy3BjE.mjs → cross-spawn-D9WWFl2a.mjs} +0 -0
  366. /package/dist/{cursor-storage-luQAg7E_.mjs → cursor-storage-Bw-7ROzx.mjs} +0 -0
  367. /package/dist/{descriptor-to-package-DdpjpT7n.mjs → descriptor-to-package-Rs-OjOQU.mjs} +0 -0
  368. /package/dist/{drizzle-DVTAl7Us.mjs → drizzle-DYfaDzlO.mjs} +0 -0
  369. /package/dist/{esm-CQG9Pc7n.mjs → esm-C_WW4-pP.mjs} +0 -0
  370. /package/dist/{event-DguYjV6D.mjs → event-DTM0-qWP.mjs} +0 -0
  371. /package/dist/{extension-discovery-CIZn5bkq.d.mts → extension-discovery-APMf1Tes.d.mts} +0 -0
  372. /package/dist/{extension-namespace-v3K0qVry.mjs → extension-namespace-vrh4ERXR.mjs} +0 -0
  373. /package/dist/{facet-BM4y4aQP.mjs → facet-DqPBpqkl.mjs} +0 -0
  374. /package/dist/{filesystem-service-Cwp0sWNc.d.mts → filesystem-service-Bx0bR2Lb.d.mts} +0 -0
  375. /package/dist/{handler-BFNvtv5t.mjs → handler-4pKQi3eo.mjs} +0 -0
  376. /package/dist/{host-vY07gek-.mjs → host-BfgdjlII.mjs} +0 -0
  377. /package/dist/{identity-DC3Pk0ps.mjs → identity-2qUT1NME.mjs} +0 -0
  378. /package/dist/{index-COI1tjAf.d.mts → index-BZ_DSGnE.d.mts} +0 -0
  379. /package/dist/{index-D7rWAEY0.d.mts → index-Bd52mmj9.d.mts} +0 -0
  380. /package/dist/{index-Dfi8Rorw.d.mts → index-BkAKfh4d.d.mts} +0 -0
  381. /package/dist/{index-CuHqL95P.d.mts → index-Bv9lm0Kf.d.mts} +0 -0
  382. /package/dist/{index-C4nStEdA.d.mts → index-C18Pn3zP.d.mts} +0 -0
  383. /package/dist/{index-Cr9lh21j.d.mts → index-CarbJsC92.d.mts} +0 -0
  384. /package/dist/{index-BjoOSg95.d.mts → index-Ctw617Tj.d.mts} +0 -0
  385. /package/dist/{index-DUD7wikz2.d.mts → index-D0eUQjTU2.d.mts} +0 -0
  386. /package/dist/{index-O08Q2ikz.d.mts → index-DHGW7dFf.d.mts} +0 -0
  387. /package/dist/{index-DEzdNQum.d.mts → index-DfVSWBBp.d.mts} +0 -0
  388. /package/dist/{index-WHUV7neB.d.mts → index-DlAfs3RD.d.mts} +0 -0
  389. /package/dist/{index-D3ahzHwb.d.mts → index-DnWZdG6C.d.mts} +0 -0
  390. /package/dist/{index-CpKikwK4.d.mts → index-DoLdETfR.d.mts} +0 -0
  391. /package/dist/{index-B92mToDo2.d.mts → index-DvaPrL6C.d.mts} +0 -0
  392. /package/dist/{index-D7Hkmrr3.d.mts → index-DwDBa2mb.d.mts} +0 -0
  393. /package/dist/{index-Y8rMeYYX.d.mts → index-FDyqQIt5.d.mts} +0 -0
  394. /package/dist/{index-BWIkf5oJ.d.mts → index-Lp0T_V1W.d.mts} +0 -0
  395. /package/dist/{index-OGIC4puQ.d.mts → index-Rhcr4YNA.d.mts} +0 -0
  396. /package/dist/{index-BvLXySoB2.d.mts → index-S-mAqWwq.d.mts} +0 -0
  397. /package/dist/{index-DOOrKin9.d.mts → index-_zsihEmk.d.mts} +0 -0
  398. /package/dist/{json-value-DtIkQN7g.d.mts → json-value-C8duSh9X.d.mts} +0 -0
  399. /package/dist/{jsonl-transport-CGPgD8iU.mjs → jsonl-transport-l5NPcQ_2.mjs} +0 -0
  400. /package/dist/{lib-ZKtnbCqH.mjs → lib-ClRTNIuz.mjs} +0 -0
  401. /package/dist/{materialization-CUYxZCfk.mjs → materialization-BwTORtBr.mjs} +0 -0
  402. /package/dist/{model-registry-C2VXobZj.mjs → model-registry-BneK5SGo.mjs} +0 -0
  403. /package/dist/{model-registry-rYICIwyR.mjs → model-registry-C8MInDtX.mjs} +0 -0
  404. /package/dist/{namespace-65uwTpbg.d.mts → namespace-3YVLQ_bM.d.mts} +0 -0
  405. /package/dist/{namespace-BGIeqwfU.d.mts → namespace-B0uZIZYT.d.mts} +0 -0
  406. /package/dist/{namespace-CQ8uza7o.d.mts → namespace-BcDHt-ww.d.mts} +0 -0
  407. /package/dist/{namespace-BigVYQyx.d.mts → namespace-BhVlHfoO.d.mts} +0 -0
  408. /package/dist/{namespace-j7vFsmYL.d.mts → namespace-Bl1UhLnK.d.mts} +0 -0
  409. /package/dist/{namespace-CfvtDD_U.d.mts → namespace-BoA6u44C.d.mts} +0 -0
  410. /package/dist/{namespace-Dk4OslmY.d.mts → namespace-BsEoWXV_.d.mts} +0 -0
  411. /package/dist/{namespace-DYSFDC2G.mjs → namespace-C238RqwB.mjs} +0 -0
  412. /package/dist/{namespace-BdO4e1Fm.mjs → namespace-CDO4rY11.mjs} +0 -0
  413. /package/dist/{namespace-CZK2ff3B.d.mts → namespace-CukqFYHf2.d.mts} +0 -0
  414. /package/dist/{namespace-wke7juzy.mjs → namespace-DDx4NVJm.mjs} +0 -0
  415. /package/dist/{namespace-D1_9WVCo.d.mts → namespace-Dar3O6iT.d.mts} +0 -0
  416. /package/dist/{namespace-DAj_riOn.d.mts → namespace-DoNigVgx.d.mts} +0 -0
  417. /package/dist/{namespace-D2s-4pyg.d.mts → namespace-Dvi66QS6.d.mts} +0 -0
  418. /package/dist/{namespace-D8P8Sxce2.d.mts → namespace-rO-C2Dgu2.d.mts} +0 -0
  419. /package/dist/{out-BoEZjBNz.mjs → out-BB6Kb4Xu.mjs} +0 -0
  420. /package/dist/{platform-DnbSvm2u.mjs → platform-CWhGFQFX.mjs} +0 -0
  421. /package/dist/{providers-Bd7BOZs0.mjs → providers-CUnrif24.mjs} +0 -0
  422. /package/dist/{quick-lru-6e7I1Bgf.mjs → quick-lru-BLaSzINB.mjs} +0 -0
  423. /package/dist/{registry-U_3aYSin.mjs → registry-TJjQgTgp.mjs} +0 -0
  424. /package/dist/{schema-B5vHi7Uu.d.mts → schema-aOwmHxaF.d.mts} +0 -0
  425. /package/dist/{schema-CHp6I33k.mjs → schema-cus0dJ81.mjs} +0 -0
  426. /package/dist/{schema-introspection-B7xODt4I.mjs → schema-introspection-BsWLmoFp.mjs} +0 -0
  427. /package/dist/{schemas-KlH1hB7u.d.mts → schemas-9QJf1FtS.d.mts} +0 -0
  428. /package/dist/{schemas-CJ2JvA7d.d.mts → schemas-BolSW7pQ.d.mts} +0 -0
  429. /package/dist/{schemas-D4zaFE2p.d.mts → schemas-CLsbsX1W.d.mts} +0 -0
  430. /package/dist/{schemas-XeIBqwvE.mjs → schemas-CMyv7l7-.mjs} +0 -0
  431. /package/dist/{schemas-CPI00yvh.mjs → schemas-CWxf_Yut.mjs} +0 -0
  432. /package/dist/{schemas-BemsLc_V.d.mts → schemas-D_9X_CRo.d.mts} +0 -0
  433. /package/dist/{schemas-DZGnr9Tl.mjs → schemas-DwfTUQIa.mjs} +0 -0
  434. /package/dist/{schemas-CoFCV42v.d.mts → schemas-OaBqeEUT.d.mts} +0 -0
  435. /package/dist/{schemas-B6tEKf9T.d.mts → schemas-XRhqOgVE.d.mts} +0 -0
  436. /package/dist/{schemas-DKncXGnb.d.mts → schemas-fRLDhefF.d.mts} +0 -0
  437. /package/dist/{schemas-DWfo0wp4.d.mts → schemas-jDRSOXJL.d.mts} +0 -0
  438. /package/dist/{schemas-lnE9YoG7.d.mts → schemas-qpo1Goit.d.mts} +0 -0
  439. /package/dist/{schemas-t6h9oSct.d.mts → schemas-qt5QTjVc.d.mts} +0 -0
  440. /package/dist/{semver-CIhHqMkw.mjs → semver-BccS1s9R.mjs} +0 -0
  441. /package/dist/{server-lifecycle-C5Z5PSMD.mjs → server-lifecycle-D-jxVr_0.mjs} +0 -0
  442. /package/dist/{server-lifecycle-_AA6EfzL.d.mts → server-lifecycle-r5Tkk8bU.d.mts} +0 -0
  443. /package/dist/{session-lineage-C1M7-O3C.d.mts → session-lineage-YShrn77v.d.mts} +0 -0
  444. /package/dist/{shared-schemas-BEVG96xW.mjs → shared-schemas-BNCPgGYP.mjs} +0 -0
  445. /package/dist/{src-_VODAJnf.mjs → src-Ci_WY9uw.mjs} +0 -0
  446. /package/dist/{storage-namespace-D5q9CrBp.mjs → storage-namespace-BzE2M4Hq.mjs} +0 -0
  447. /package/dist/{storage-namespace-Di1A3DMm.d.mts → storage-namespace-DWKFqEW-.d.mts} +0 -0
  448. /package/dist/{storage-namespace-definition-CzXPW45M.mjs → storage-namespace-definition-4UYuij1r.mjs} +0 -0
  449. /package/dist/{storage-namespace-definition-BffdI5Bz.d.mts → storage-namespace-definition-BZJGSaX3.d.mts} +0 -0
  450. /package/dist/{supports-color-DcXkvGDF.mjs → supports-color-Dzp6WuF5.mjs} +0 -0
  451. /package/dist/{telemetry-Cvi4rxiE.mjs → telemetry-B42EMbZt.mjs} +0 -0
  452. /package/dist/{timeout-XsYIOKrc.mjs → timeout-CvONPl0l.mjs} +0 -0
  453. /package/dist/{tray-menu-service-B2AxiQqL.mjs → tray-menu-service-Bonl2KXf.mjs} +0 -0
  454. /package/dist/{types-Bo78h9e3.d.mts → types-BCW9kr4L.d.mts} +0 -0
  455. /package/dist/{types-DCvp_swt.d.mts → types-CrJ7KEZ0.d.mts} +0 -0
  456. /package/dist/{types-BNW5n6qm.d.mts → types-DWNoZ3Sd.d.mts} +0 -0
  457. /package/dist/{ui-config-9bDRwFZr.mjs → ui-config-B2L3Xgqo.mjs} +0 -0
  458. /package/dist/{variant-5huHjUTm.mjs → variant-ByI-RZua.mjs} +0 -0
  459. /package/dist/{window-registry-PkrFIwX2.mjs → window-registry-DsWnCc8z.mjs} +0 -0
  460. /package/dist/{window-registry-ofIUQnfo.d.mts → window-registry-WsWu-rcK.d.mts} +0 -0
@@ -1 +1 @@
1
- import{C as e,F as t,G as n,N as r,S as i,T as a,V as o,Y as s,j as c,v as l}from"../loop-gate-handlers-o2B5FPdF.mjs";import{a as u,c as d,i as f,l as p,n as m,o as h,r as g,s as _,t as v}from"../package-Co_GO3UD.mjs";import{JsonValueSchema as y,WorkflowFrameStateSchema as b}from"@makaio/framework/contracts";const x=new Set([...b.shape.status.options]);function S(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function C(e){if(!S(e))return!1;for(let t of Object.values(e))if(!S(t)||typeof t.status!=`string`||!x.has(t.status)||`result`in t&&t.result!==void 0&&!y.safeParse(t.result).success)return!1;return!0}function w(e){let t={trigger:S(e.trigger)?e.trigger:{},steps:C(e.steps)?e.steps:{},inputs:y.safeParse(e.inputs).success?e.inputs:{}};return`item`in e&&(t.item=e.item),typeof e.index==`number`&&(t.index=e.index),t}export{f as WorkflowEngineService,v as WorkflowEngineToken,u as WorkflowExecutor,i as WorkflowStorageNamespace,e as WorkflowStorageSubjects,w as buildWorkflowExpressionContextFromResolvedInputs,m as createWorkflowEnginePackage,_ as getWorkflowState,d as initializeWorkflowState,p as patchWorkflowState,h as registerDrizzleWorkflowStorage,l as runShellStep,a as workflowDefinitionsDual,g as workflowEnginePackage,c as workflowExecutionStateDual,r as workflowExecutionStateEventsDual,t as workflowExecutionsDual,o as workflowStepSpansDual,n as worklogFrameEntriesDual,s as worklogSummariesDual};
1
+ import{A as e,B as t,C as n,D as r,I as i,K as a,O as o,R as s,X as c,et as l,nt as u}from"../authority-state-bootstrap-CEuKScnL.mjs";import{a as d,c as f,i as p,l as m,n as h,o as g,r as _,s as v,t as y}from"../package-CsFFT9iR.mjs";import{JsonValueSchema as b,WorkflowFrameStateSchema as x}from"@makaio/framework/contracts";const S=new Set([...x.shape.status.options]);function C(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function w(e){if(!C(e))return!1;for(let t of Object.values(e))if(!C(t)||typeof t.status!=`string`||!S.has(t.status)||`result`in t&&t.result!==void 0&&!b.safeParse(t.result).success)return!1;return!0}function T(e){let t={trigger:C(e.trigger)?e.trigger:{},steps:w(e.steps)?e.steps:{},inputs:b.safeParse(e.inputs).success?e.inputs:{}};return`item`in e&&(t.item=e.item),typeof e.index==`number`&&(t.index=e.index),t}export{p as WorkflowEngineService,y as WorkflowEngineToken,d as WorkflowExecutor,r as WorkflowStorageNamespace,o as WorkflowStorageSubjects,T as buildWorkflowExpressionContextFromResolvedInputs,h as createWorkflowEnginePackage,v as getWorkflowState,f as initializeWorkflowState,m as patchWorkflowState,g as registerDrizzleWorkflowStorage,n as runShellStep,e as workflowDefinitionsDual,_ as workflowEnginePackage,i as workflowExecutionStateDual,s as workflowExecutionStateEventsDual,t as workflowExecutionsDual,u as workflowFinalizationsDual,a as workflowStepSpansDual,c as worklogFrameEntriesDual,l as worklogSummariesDual};
@@ -1,2 +1,2 @@
1
- import { n as createWorkflowEnginePackage, r as workflowEnginePackage, t as WorkflowEngineToken } from "../package-DmVZxufT.mjs";
1
+ import { n as createWorkflowEnginePackage, r as workflowEnginePackage, t as WorkflowEngineToken } from "../package-DG9GSY8M.mjs";
2
2
  export { WorkflowEngineToken, createWorkflowEnginePackage, workflowEnginePackage };
@@ -1 +1 @@
1
- import{n as e,r as t,t as n}from"../package-Co_GO3UD.mjs";export{n as WorkflowEngineToken,e as createWorkflowEnginePackage,t as workflowEnginePackage};
1
+ import{n as e,r as t,t as n}from"../package-CsFFT9iR.mjs";export{n as WorkflowEngineToken,e as createWorkflowEnginePackage,t as workflowEnginePackage};
@@ -1 +1 @@
1
- import{C as e,Z as t,a as n,b as r,i,m as a,n as o,o as s,s as c,t as l}from"../loop-gate-handlers-o2B5FPdF.mjs";import{WORKFLOW_CANCELLED_REASON as u}from"@makaio/framework/contracts";async function d(n,r,i,a){let o=await g(n,r,i);return await n.request(e.setExecution,{execution:o}),i===`completed`?await n.emit(t.execution.completed,{executionId:r.executionId,workflowId:r.workflowId,totalDuration:0,completedAt:o.completedAt}):await n.emit(t.execution.cancelled,{executionId:r.executionId,workflowId:r.workflowId,reason:a,completedAt:o.completedAt}),i===`cancelled`?{executionId:r.executionId,workflowId:r.workflowId,status:`cancelled`,...a===void 0?{}:{reason:a}}:{executionId:r.executionId,workflowId:r.workflowId,status:`completed`}}function f(e,t){return t.status===`completed`?{executionId:e.executionId,workflowId:e.workflowId,status:`completed`,...t.artifact===void 0?{}:{artifact:t.artifact}}:t.status===`cancelled`?{executionId:e.executionId,workflowId:e.workflowId,status:`cancelled`,...t.reason===void 0?{}:{reason:t.reason}}:t.status===`paused`?{executionId:e.executionId,workflowId:e.workflowId,status:`paused`,pausedAtGateId:t.pausedAtGateId,pausedAtFrameId:t.pausedAtFrameId}:{executionId:e.executionId,workflowId:e.workflowId,status:`failed`,error:t.error}}function p(e){let t,n=()=>{t=a({bus:e.bus,activeExecutions:e.activeExecutions,shellAbortControllers:e.shellAbortControllers,activeRunnerSteps:e.activeRunnerSteps,cancelTimeoutMs:r.cancelTimeoutMs},e.executionId,u).catch(t=>(console.error(`[WorkflowOrchestrator] Failed to persist cancellation for ${e.executionId}:`,t),!1))};return e.signal.addEventListener(`abort`,n,{once:!0}),e.signal.aborted&&n(),async()=>(e.signal.removeEventListener(`abort`,n),t??!1)}async function m(t,n){let r=await t.requestOptional(e.getExecution,{executionId:n});return r.handled?r.data.execution?.startedAt??void 0:void 0}async function h(e,t){return{id:t.executionId,workflowId:t.workflowId,coordinatorSessionId:t.coordinatorSessionId,status:`running`,inputs:t.inputs,config:t.config??{},startedAt:await m(e,t.executionId)??Date.now(),triggerPayload:t.triggerPayload,...t.artifactRef===void 0?{}:{artifactRef:t.artifactRef},scope:t.scope}}async function g(e,t,n){let r=Date.now();return{id:t.executionId,workflowId:t.workflowId,coordinatorSessionId:t.coordinatorSessionId,status:n,inputs:t.inputs,config:t.config??{},startedAt:await m(e,t.executionId)??r,completedAt:r,triggerPayload:t.triggerPayload,...t.artifactRef===void 0?{}:{artifactRef:t.artifactRef},scope:t.scope}}async function _(e,t,r,i,a,c,l,d,f){let p=e.suspensionStrategy===`wait-in-process`?void 0:await v(e.executionId,l,{required:!0}),m=await n({definition:t,execution:r,runContext:i,zodSchema:f?.artifact,bus:l}),h=new s(e.executionId,e.workflowId,t,r,a,l,d,void 0,m,{context:e.context,env:e.env},{suspensionStrategy:e.suspensionStrategy,resumeFrames:p,runtimeLoopGates:c}),g=h.buildExpressionContext(),_=await o(t.root,h,g);return _.status===`failed`?{status:`failed`,error:_.error}:_.status===`paused`?{status:`paused`,pausedAtGateId:_.pausedAtGateId,pausedAtFrameId:_.pausedAtFrameId}:_.status===`cancelled`||d.aborted?{status:`cancelled`,reason:u}:{status:`completed`,artifact:m?.current}}async function v(t,n,r={}){try{let a=await n.requestOptional(e.listFrames,{executionId:t});if(!a.handled){if(r.required===!0)throw Error(`Frame storage handler is required to resume execution '${t}'.`);return}return a.data.frames.length===0?void 0:i(a.data.frames)}catch(e){if(r.required===!0)throw e;return}}function y(e,t){return{executionId:e.executionId,workflowId:e.workflowId,source:e.source,definitionSnapshot:e.source.kind===`definition`?e.definition??t:t,workerManifest:{packages:[]},inputs:e.inputs,config:e.config??{},scope:e.scope,triggerPayload:e.triggerPayload,...e.artifactRef===void 0?{}:{artifactRef:e.artifactRef},...e.executionHints===void 0?{}:{executionHints:e.executionHints},coordinatorSessionId:e.coordinatorSessionId,cancelSubject:e.cancelSubject,context:e.context,env:e.env,createdAt:Date.now(),suspensionStrategy:e.suspensionStrategy}}async function b(n,r,i,a,o){i.status=`paused`,await n.request(e.setExecution,{execution:i}),await n.emit(t.execution.paused,{executionId:r.executionId,workflowId:r.workflowId,pausedAtGateId:a,pausedAtFrameId:o})}async function x(e,n,r,i,a,o){r===`completed`?await e.emit(t.execution.completed,{executionId:n.executionId,workflowId:n.workflowId,totalDuration:a-i.startedAt,completedAt:a}):r===`cancelled`?await e.emit(t.execution.cancelled,{executionId:n.executionId,workflowId:n.workflowId,reason:u,completedAt:a}):await e.emit(t.execution.failed,{executionId:n.executionId,workflowId:n.workflowId,error:o??`Workflow execution failed`,completedAt:a})}async function S(t){let{config:n,loaded:r,bus:i,signal:a}=t,{definition:o}=r;if(a.aborted)return d(i,n,`cancelled`,u);let s=await h(i,n),m=y(n,o);await c(i,s,m,o);let g=new Map(r.runtimeHandlers),v=r.runtimeLoopGates??new Map,S=new Map,C=new Map,w=new Map;S.set(n.executionId,{execution:s,workflow:o,runContext:m,runtimeHandlers:g,runtimeLoopGates:new Map(v)});let T=p({signal:a,executionId:n.executionId,bus:i,activeExecutions:S,shellAbortControllers:C,activeRunnerSteps:w}),E={status:`completed`},D=!1;try{o.root.nodes.length>0&&(l(o,v),E=await _(n,o,s,m,g,v,i,a,r.zodSchemas))}catch(e){E={status:`failed`,error:e instanceof Error?e.message:String(e)}}finally{D=await T(),S.clear()}if(D)return f(n,{status:`cancelled`,reason:u});if((a.aborted||s.status===`cancelled`)&&(E={status:`cancelled`,reason:u}),E.status===`paused`)return await b(i,n,s,E.pausedAtGateId,E.pausedAtFrameId),f(n,E);let O=Date.now(),k=E.status===`failed`?E.error:void 0;return s.status=E.status,s.completedAt=O,s.error=k,await i.request(e.setExecution,{execution:s}),await x(i,n,E.status,s,O,k),f(n,E)}export{S as runWorkflowOrchestrator};
1
+ import{O as e,T as t,_ as n,c as r,i,it as a,l as o,o as s,r as c,s as l,t as u}from"../authority-state-bootstrap-CEuKScnL.mjs";import{WORKFLOW_CANCELLED_REASON as d}from"@makaio/framework/contracts";async function f(t,n,r,i){let o=await _(t,n,r);return await t.request(e.setExecution,{execution:o}),r===`completed`?await t.emit(a.execution.completed,{executionId:n.executionId,workflowId:n.workflowId,totalDuration:0,completedAt:o.completedAt}):await t.emit(a.execution.cancelled,{executionId:n.executionId,workflowId:n.workflowId,reason:i,completedAt:o.completedAt}),r===`cancelled`?{executionId:n.executionId,workflowId:n.workflowId,status:`cancelled`,...i===void 0?{}:{reason:i}}:{executionId:n.executionId,workflowId:n.workflowId,status:`completed`}}function p(e,t){return t.status===`completed`?{executionId:e.executionId,workflowId:e.workflowId,status:`completed`,...t.artifact===void 0?{}:{artifact:t.artifact}}:t.status===`cancelled`?{executionId:e.executionId,workflowId:e.workflowId,status:`cancelled`,...t.reason===void 0?{}:{reason:t.reason}}:t.status===`paused`?{executionId:e.executionId,workflowId:e.workflowId,status:`paused`,pausedAtGateId:t.pausedAtGateId,pausedAtFrameId:t.pausedAtFrameId}:{executionId:e.executionId,workflowId:e.workflowId,status:`failed`,error:t.error}}function m(e){let r,i=()=>{r=n({bus:e.bus,activeExecutions:e.activeExecutions,shellAbortControllers:e.shellAbortControllers,activeRunnerSteps:e.activeRunnerSteps,durableLifecycleTransitions:e.durableLifecycleTransitions,lifecyclePublications:e.lifecyclePublications,publishingLifecycleExecutions:e.publishingLifecycleExecutions,cancelTimeoutMs:t.cancelTimeoutMs},e.executionId,d).catch(t=>(console.error(`[WorkflowOrchestrator] Failed to persist cancellation for ${e.executionId}:`,t),!1))};return e.signal.addEventListener(`abort`,i,{once:!0}),e.signal.aborted&&i(),async()=>(e.signal.removeEventListener(`abort`,i),r??!1)}async function h(t,n){let r=await t.requestOptional(e.getExecution,{executionId:n});return r.handled?r.data.execution?.startedAt??void 0:void 0}async function g(e,t){return{id:t.executionId,workflowId:t.workflowId,coordinatorSessionId:t.coordinatorSessionId,status:`running`,inputs:t.inputs,config:t.config??{},startedAt:await h(e,t.executionId)??Date.now(),triggerPayload:t.triggerPayload,...t.artifactRef===void 0?{}:{artifactRef:t.artifactRef},scope:t.scope}}async function _(e,t,n){let r=Date.now();return{id:t.executionId,workflowId:t.workflowId,coordinatorSessionId:t.coordinatorSessionId,status:n,inputs:t.inputs,config:t.config??{},startedAt:await h(e,t.executionId)??r,completedAt:r,triggerPayload:t.triggerPayload,...t.artifactRef===void 0?{}:{artifactRef:t.artifactRef},scope:t.scope}}async function v(e,t,n,a,o,s,c,u,f){let p=e.suspensionStrategy===`wait-in-process`?void 0:await y(e.executionId,c,{required:!0}),m=await l({definition:t,execution:n,runContext:a,zodSchema:f?.artifact,bus:c}),h=new r(e.executionId,e.workflowId,t,n,o,c,u,void 0,m,{context:e.context,env:e.env},{suspensionStrategy:e.suspensionStrategy,resumeFrames:p,runtimeLoopGates:s}),g=h.buildExpressionContext(),_=await i(t.root,h,g);return _.status===`failed`?{status:`failed`,error:_.error}:_.status===`paused`?{status:`paused`,pausedAtGateId:_.pausedAtGateId,pausedAtFrameId:_.pausedAtFrameId}:_.status===`cancelled`||u.aborted?{status:`cancelled`,reason:d}:{status:`completed`,artifact:m?.current}}async function y(t,n,r={}){try{let i=await n.requestOptional(e.listFrames,{executionId:t});if(!i.handled){if(r.required===!0)throw Error(`Frame storage handler is required to resume execution '${t}'.`);return}return i.data.frames.length===0?void 0:s(i.data.frames)}catch(e){if(r.required===!0)throw e;return}}function b(e,t){return{executionId:e.executionId,workflowId:e.workflowId,source:e.source,definitionSnapshot:e.source.kind===`definition`?e.definition??t:t,workerManifest:{packages:[]},inputs:e.inputs,config:e.config??{},scope:e.scope,triggerPayload:e.triggerPayload,...e.artifactRef===void 0?{}:{artifactRef:e.artifactRef},...e.executionHints===void 0?{}:{executionHints:e.executionHints},coordinatorSessionId:e.coordinatorSessionId,cancelSubject:e.cancelSubject,context:e.context,env:e.env,createdAt:Date.now(),suspensionStrategy:e.suspensionStrategy,...e.terminalAuthority===void 0?{}:{terminalAuthority:e.terminalAuthority}}}async function x(t,n,r,i,o){r.status=`paused`,await t.request(e.setExecution,{execution:r}),await t.emit(a.execution.paused,{executionId:n.executionId,workflowId:n.workflowId,pausedAtGateId:i,pausedAtFrameId:o})}async function S(e,t,n,r,i,o){n===`completed`?await e.emit(a.execution.completed,{executionId:t.executionId,workflowId:t.workflowId,totalDuration:i-r.startedAt,completedAt:i}):n===`cancelled`?await e.emit(a.execution.cancelled,{executionId:t.executionId,workflowId:t.workflowId,reason:d,completedAt:i}):await e.emit(a.execution.failed,{executionId:t.executionId,workflowId:t.workflowId,error:o??`Workflow execution failed`,completedAt:i})}async function C(t){let{config:n,loaded:r,bus:i,signal:a}=t,{definition:s}=r;if(a.aborted)return n.terminalAuthority===`authority`?{executionId:n.executionId,workflowId:n.workflowId,status:`cancelled`,reason:d}:f(i,n,`cancelled`,d);let l=await g(i,n),h=b(n,s);n.terminalAuthority===`authority`?await u(i,h,s):await o(i,l,h,s);let _=new Map(r.runtimeHandlers),y=r.runtimeLoopGates??new Map,C=new Map,w=new Map,T=new Map,E=new Map,D=new Map,O=new Set;C.set(n.executionId,{execution:l,workflow:s,runContext:h,runtimeHandlers:_,runtimeLoopGates:new Map(y)});let k=n.terminalAuthority===`authority`?async()=>!1:m({signal:a,executionId:n.executionId,bus:i,activeExecutions:C,shellAbortControllers:w,activeRunnerSteps:T,durableLifecycleTransitions:E,lifecyclePublications:D,publishingLifecycleExecutions:O}),A={status:`completed`},j=!1;try{s.root.nodes.length>0&&(c(s,y),A=await v(n,s,l,h,_,y,i,a,r.zodSchemas))}catch(e){A={status:`failed`,error:e instanceof Error?e.message:String(e)}}finally{j=await k(),C.clear()}if(j)return p(n,{status:`cancelled`,reason:d});if((a.aborted||l.status===`cancelled`)&&(A={status:`cancelled`,reason:d}),A.status===`paused`)return n.terminalAuthority!==`authority`&&await x(i,n,l,A.pausedAtGateId,A.pausedAtFrameId),p(n,A);if(n.terminalAuthority===`authority`)return p(n,A);let M=Date.now(),N=A.status===`failed`?A.error:void 0;return l.status=A.status,l.completedAt=M,l.error=N,await i.request(e.setExecution,{execution:l}),await S(i,n,A.status,l,M,N),p(n,A)}export{C as runWorkflowOrchestrator};
@@ -0,0 +1 @@
1
+ import{i as e,o as t,t as n}from"./chunk-DTipWd-i.mjs";import{n as r,o as i,t as a}from"./await-trigger-DP-fTQc4.mjs";import{basename as o,join as s}from"node:path";import{createBusInstance as c}from"@makaio/framework/bus";import{AdapterSubjects as l,FrameworkContractNamespaces as u,FrameworkStorageNamespaces as d,WorkerNodeCapabilitiesSchema as f,WorkerNodeSubjects as p,WorkflowWorkerConfigSchema as m}from"@makaio/framework/contracts";import{AdapterRuntimeSubjects as h,registerAdapterRuntimeIdentityHandlers as g}from"@makaio/framework/services/adapter-runtime";import{ExtensionCoordinator as _,KernelSubjects as v}from"@makaio/framework/kernel";import{AdapterSubsystemSubjects as y}from"@makaio/framework/services/adapter-subsystem";import{createClientsCorePackage as b}from"@makaio/framework/clients";import{AdapterSubsystemToken as x,createAdapterSubsystemContributionProcessor as S,createAdapterSubsystemPackage as C}from"@makaio/framework/adapter-subsystem";import{ToolRegistryToken as w,createSubagentServicePackage as T,createToolContributionProcessor as E,sessionBridgePackage as D,sessionPackage as O,sessionStoragePackage as k,toolRegistryPackage as ee}from"@makaio/framework/services";import{runWorkflowOrchestrator as A}from"@makaio/framework/workflow-engine/workflow-orchestrator";function j(e){return e.on(l.getCapabilities,async t=>{let{adapterName:n,adapterId:r}=t.payload;if(r){await t.next();return}if(n){let r=await e.requestOptional(h.resolveId,{adapterName:n}),i=r.handled?r.data.adapterId:void 0;i&&(t.payload.adapterId=i)}await t.next()},{priority:20})}function M(e){let{coordinator:t,configRepository:n,platformDefaults:r,prepareAuthRuntime:i,runtimeSnapshotHandlerPriority:a,runtimeDefinitionHandlerPriority:o}=e,s=C({configRepository:n,coordinator:t,platformDefaults:r,...i!==void 0&&{prepareAuthRuntime:i},...a!==void 0&&{runtimeSnapshotHandlerPriority:a},...o!==void 0&&{runtimeDefinitionHandlerPriority:o}});return t.registerContributionProcessor(S({getAdapterSubsystemService:()=>t.getExtensionService(x)})),{adapterSubsystemPackage:s}}function N(e){let{bus:t,currentMachineId:n}=e,r=g(t,{currentMachineId:n,listKnownAdapterNames:e.listKnownAdapterNames??(async()=>{let{configs:e}=await t.request(y.listAdapterConfigs,{});return e.map(e=>e.name)})}),i=j(t);return{cleanup:()=>{r.cleanup(),i()}}}function P(e,t){if(!(e instanceof Error))return!1;let{rootPackageName:n,subpath:r}=te(t),i=(r===void 0?[t]:[t,n]).flatMap(e=>[`Cannot find package '${e}'`,`Cannot find module '${e}'`,`Cannot find package "${e}"`,`Cannot find module "${e}"`]),a=e;return(a.code===`ERR_MODULE_NOT_FOUND`||a.code===`MODULE_NOT_FOUND`)&&i.some(t=>e.message.includes(t))||a.code===`ERR_PACKAGE_PATH_NOT_EXPORTED`&&r!==void 0&&e.message.includes(`Package subpath '${r}' is not defined by "exports"`)&&ne(e.message,n)?!0:i.some(t=>e.message.includes(t))}async function F(e){try{return await import(e)}catch(t){if(P(t,e))return null;throw t}}function te(e){let t=e.split(`/`);return e.startsWith(`@`)?{rootPackageName:t.slice(0,2).join(`/`),subpath:t.length>2?`./${t.slice(2).join(`/`)}`:void 0}:{rootPackageName:t[0]??e,subpath:t.length>1?`./${t.slice(1).join(`/`)}`:void 0}}function ne(e,t){let n=t,r=t.replaceAll(`/`,`\\`);return e.includes(`/${n}/package.json`)||e.includes(`\\${r}\\package.json`)}var re=n(((e,t)=>{t.exports={name:`piscina`,version:`5.2.0`,description:`A fast, efficient Node.js Worker Thread Pool implementation`,main:`./dist/main.js`,types:`./dist/index.d.ts`,exports:{types:`./dist/index.d.ts`,import:`./dist/esm-wrapper.mjs`,require:`./dist/main.js`},engines:{node:`>=20.x`},scripts:{build:`tsc && gen-esm-wrapper . dist/esm-wrapper.mjs`,lint:`eslint`,test:`node scripts/run-tests.js`,"test:jest":`jest --config test/jest/jest.config.js`,"test:ci":`npm run lint && npm run build && npm run test:coverage && npm run test:jest`,"test:coverage":`node scripts/run-tests.js --coverage`,prepack:`npm run build`,benchmark:`node --allow-natives-syntax benchmark/index.js --scope all`,"benchmark:ci":`node --allow-natives-syntax benchmark/index.js --scope all --reporter json | jq '.[] | .name, .opsSec'`,"benchmark:simple":`node --allow-natives-syntax benchmark/index.js --scope simple:all`,"benchmark:simple:default":`node --allow-natives-syntax benchmark/index.js --scope simple`,"benchmark:simple:async":`node --allow-natives-syntax benchmark/index.js --scope simple:async`,"benchmark:startup":`node --allow-natives-syntax benchmark/index.js --scope startup`,"benchmark:queue":`node --allow-natives-syntax benchmark/index.js --scope queue`},repository:{type:`git`,url:`git+https://github.com/piscinajs/piscina.git`},keywords:[`fast`,`worker threads`,`thread pool`,`wade wilson`],author:`James M Snell <jasnell@gmail.com>`,contributors:[`Anna Henningsen <anna@addaleax.net>`,`Matteo Collina <matteo.collina@gmail.com>`,`Carlos Fuentes <me@metcoder.dev>`],license:`MIT`,devDependencies:{"@types/jest":`^30.0.0`,"@types/node":`^22.4.1`,"abort-controller":`^3.0.0`,"bench-node":`^0.7.0`,"concat-stream":`^2.0.0`,eslint:`^9.16.0`,"gen-esm-wrapper":`^1.1.1`,glob:`^13.0.1`,jest:`^30.2.0`,neostandard:`^0.13.0`,"ts-jest":`^29.4.6`,tsx:`^4.20.3`,typescript:`5.8.3`},optionalDependencies:{"@napi-rs/nice":`^1.0.4`},bugs:{url:`https://github.com/piscinajs/piscina/issues`},homepage:`https://github.com/piscinajs/piscina#readme`,directories:{example:`examples`,test:`test`}}})),I=n((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.kFieldCount=e.kResponseCountField=e.kRequestCountField=e.kQueueOptions=e.kValue=e.kTransferable=e.kWorkerData=e.kMovable=void 0,e.kMovable=Symbol(`Piscina.kMovable`),e.kWorkerData=Symbol(`Piscina.kWorkerData`),e.kTransferable=Symbol.for(`Piscina.transferable`),e.kValue=Symbol.for(`Piscina.valueOf`),e.kQueueOptions=Symbol.for(`Piscina.queueOptions`),e.kRequestCountField=0,e.kResponseCountField=1,e.kFieldCount=2})),L=n((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.AbortError=void 0,e.onabort=t,e.AbortError=class extends Error{constructor(e){super(`The task has been aborted`,{cause:e})}get name(){return`AbortError`}};function t(e,t){return`addEventListener`in e?(e.addEventListener(`abort`,t,{once:!0}),()=>e.removeEventListener(`abort`,t)):(e.once(`abort`,t),()=>e.removeListener(`abort`,t))}})),R=n((t=>{Object.defineProperty(t,`__esModule`,{value:!0}),t.commonState=t.READY=void 0,t.isTransferable=a,t.isMovable=o,t.markMovable=s,t.maybeFileURLToPath=c,t.getAvailableParallelism=l,t.promiseResolvers=u;let n=e(`node:url`),r=e(`node:os`),i=I();t.READY=`_WORKER_READY`;function a(e){return typeof e==`object`&&!!e&&i.kTransferable in e&&i.kValue in e}function o(e){return a(e)&&e[i.kMovable]===!0}function s(e){Object.defineProperty(e,i.kMovable,{enumerable:!1,configurable:!0,writable:!0,value:!0})}t.commonState={isWorkerThread:!1,workerData:void 0};function c(e){return e.startsWith(`file:`)?(0,n.fileURLToPath)(new n.URL(e)):e}function l(){return(0,r.availableParallelism)()}function u(){if(Promise.withResolvers!=null)return Promise.withResolvers();let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}})),ie=n((t=>{var n=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,`__esModule`,{value:!0}),t.ArrayTaskQueue=void 0;let r=n(e(`node:assert`));t.ArrayTaskQueue=class{constructor(){this.tasks=[]}get size(){return this.tasks.length}shift(){return this.tasks.shift()??null}push(e){this.tasks.push(e)}remove(e){let t=this.tasks.indexOf(e);r.default.notStrictEqual(t,-1),this.tasks.splice(t,1)}}})),ae=n((t=>{var n=t&&t.__classPrivateFieldGet||function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},r=t&&t.__classPrivateFieldSet||function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},i=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},a;Object.defineProperty(t,`__esModule`,{value:!0}),t.FixedQueue=void 0;let o=i(e(`node:assert`)),s=2048,c=s-1;var l=class{constructor(){this.bottom=0,this.top=0,this.list=Array(s),this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&c)===this.bottom}push(e){this.list[this.top]=e,this.top=this.top+1&c}shift(){let e=this.list[this.bottom];return e===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&c,e)}remove(e){let t=this.list.indexOf(e);o.default.notStrictEqual(t,-1);let n=t;for(;;){let e=n+1&c;if(this.list[n]=this.list[e],this.list[n]===void 0)break;if(e===t){this.list[n]=void 0;break}n=e}this.top=this.top-1&c}};t.FixedQueue=class{constructor(){a.set(this,0),this.head=this.tail=new l}isEmpty(){return this.head.isEmpty()}push(e){var t;this.head.isFull()&&(this.head=this.head.next=new l),this.head.push(e),r(this,a,(t=n(this,a,`f`),t++,t),`f`)}shift(){var e;let t=this.tail,i=t.shift();return i!==null&&r(this,a,(e=n(this,a,`f`),e--,e),`f`),t.isEmpty()&&t.next!==null&&(this.tail=t.next,t.next=null),i}remove(e){var t;let i=null,o=this.tail;for(;;){if(o.list.includes(e)){o.remove(e),r(this,a,(t=n(this,a,`f`),t--,t),`f`);break}if(o.next===null)break;i=o,o=o.next}o.isEmpty()&&(i===null?o.next!==null&&(this.tail=o.next):o.next===null?this.head=i:i.next=o.next)}get size(){return n(this,a,`f`)}},a=new WeakMap})),oe=n((t=>{Object.defineProperty(t,`__esModule`,{value:!0}),t.TaskInfo=t.FixedQueue=t.ArrayTaskQueue=void 0,t.isTaskQueue=l;let n=e(`node:perf_hooks`),r=e(`node:async_hooks`),i=L(),a=R(),o=I();var s=ie();Object.defineProperty(t,`ArrayTaskQueue`,{enumerable:!0,get:function(){return s.ArrayTaskQueue}});var c=ae();Object.defineProperty(t,`FixedQueue`,{enumerable:!0,get:function(){return c.FixedQueue}});function l(e){return typeof e==`object`&&!!e&&`size`in e&&typeof e.shift==`function`&&typeof e.remove==`function`&&typeof e.push==`function`}let u=0;t.TaskInfo=class extends r.AsyncResource{constructor({task:e,transferList:t,filename:r,name:i,abortSignal:s,triggerAsyncId:c},l){super(`Piscina.Task`,{requireManualDestroy:!0,triggerAsyncId:c}),this.workerInfo=null,this.aborted=!1,this._abortListener=()=>{this.aborted=!0},this._abortCleaner=null,this.callback=l,this.task=e,this.transferList=t,(0,a.isMovable)(e)&&(this.transferList??=[],this.transferList=this.transferList.concat(e[o.kTransferable]),this.task=e[o.kValue]),this.filename=r,this.name=i,this.taskId=u++,this.abortSignal=s,this.created=n.performance.now(),this.started=0}onAbort(e){this._abortListener=()=>{this.aborted=!0,e()}}setAbortListener(e){this._abortCleaner=(0,i.onabort)(e,this._abortListener)}releaseTask(){let e=this.task;return this.task=null,e}onResponse(e){}done(e,t){var n;this.runInAsyncScope(this.callback,null,e,t),this.emitDestroy(),(n=this._abortCleaner)==null||n.call(this)}get[o.kQueueOptions](){return this.task?.[o.kQueueOptions]??null}get interface(){return{taskId:this.taskId,filename:this.filename,name:this.name,created:this.created,isAbortable:this.abortSignal!==null,[o.kQueueOptions]:this[o.kQueueOptions]}}}})),z=n((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.Errors=void 0,e.Errors={ThreadTermination:()=>Error(`Terminating worker thread`),FilenameNotProvided:()=>Error(`filename must be provided to run() or in options object`),TaskQueueAtLimit:()=>Error(`Task queue is at limit`),NoTaskQueueAvailable:()=>Error(`No task queue available and all Workers are busy`),CloseTimeout:()=>Error(`Close operation timed out`)}})),B=n((t=>{var n=t&&t.__classPrivateFieldSet||function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},r=t&&t.__classPrivateFieldGet||function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},i,a;Object.defineProperty(t,`__esModule`,{value:!0}),t.PiscinaHistogramHandler=void 0;let o=e(`node:perf_hooks`);t.PiscinaHistogramHandler=class e{constructor(){i.set(this,void 0),a.set(this,void 0),n(this,i,(0,o.createHistogram)(),`f`),n(this,a,(0,o.createHistogram)(),`f`)}get runTimeSummary(){return e.createHistogramSummary(r(this,i,`f`))}get waitTimeSummary(){return e.createHistogramSummary(r(this,a,`f`))}get runTimeCount(){return r(this,i,`f`).count}recordRunTime(t){r(this,i,`f`).record(e.toHistogramIntegerNano(t))}recordWaitTime(t){r(this,a,`f`).record(e.toHistogramIntegerNano(t))}resetWaitTime(){r(this,a,`f`).reset()}resetRunTime(){r(this,i,`f`).reset()}static createHistogramSummary(e){let{mean:t,stddev:n,min:r,max:i}=e;return{average:t/1e3,mean:t/1e3,stddev:n/1e3,min:r/1e3,max:i/1e3,p0_001:e.percentile(.001)/1e3,p0_01:e.percentile(.01)/1e3,p0_1:e.percentile(.1)/1e3,p1:e.percentile(1)/1e3,p2_5:e.percentile(2.5)/1e3,p10:e.percentile(10)/1e3,p25:e.percentile(25)/1e3,p50:e.percentile(50)/1e3,p75:e.percentile(75)/1e3,p90:e.percentile(90)/1e3,p97_5:e.percentile(97.5)/1e3,p99:e.percentile(99)/1e3,p99_9:e.percentile(99.9)/1e3,p99_99:e.percentile(99.99)/1e3,p99_999:e.percentile(99.999)/1e3}}static toHistogramIntegerNano(e){return Math.max(1,Math.trunc(e*1e3))}},i=new WeakMap,a=new WeakMap})),se=n((t=>{var n=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,`__esModule`,{value:!0}),t.AsynchronouslyCreatedResourcePool=t.AsynchronouslyCreatedResource=void 0;let r=n(e(`node:assert`));t.AsynchronouslyCreatedResource=class{constructor(){this.onreadyListeners=[],this.ondestroyListeners=[]}markAsReady(){let e=this.onreadyListeners;(0,r.default)(e!=null),this.onreadyListeners=null;for(let t of e)t()}isReady(){return this.onreadyListeners==null}onReady(e){if(this.onreadyListeners==null){e();return}this.onreadyListeners.push(e)}onDestroy(e){this.ondestroyListeners!=null&&this.ondestroyListeners.push(e)}markAsDestroyed(){let e=this.ondestroyListeners;(0,r.default)(e!=null),this.ondestroyListeners=null;for(let t of e)t()}isDestroyed(){return this.ondestroyListeners==null}},t.AsynchronouslyCreatedResourcePool=class{constructor(e){this.pendingItems=new Set,this.readyItems=new Set,this.maximumUsage=e,this.onAvailableListeners=[],this.onTaskDoneListeners=[]}add(e){this.pendingItems.add(e),e.onReady(()=>{this.pendingItems.has(e)&&(this.pendingItems.delete(e),this.readyItems.add(e),this.maybeAvailable(e))})}delete(e){this.pendingItems.delete(e),this.readyItems.delete(e)}*[Symbol.iterator](){yield*this.pendingItems,yield*this.readyItems}get size(){return this.pendingItems.size+this.readyItems.size}maybeAvailable(e){if(e.currentUsage()<this.maximumUsage)for(let t of this.onAvailableListeners)t(e)}onAvailable(e){this.onAvailableListeners.push(e)}taskDone(e){for(let t=0;t<this.onTaskDoneListeners.length;t++)this.onTaskDoneListeners[t](e)}onTaskDone(e){this.onTaskDoneListeners.push(e)}getCurrentUsage(){let e=0;for(let t of this.readyItems){let n=t.currentUsage();Number.isFinite(n)&&(e+=n)}return e}}})),V=n((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.LeastBusyBalancer=t;function t(e){let{maximumUsage:t}=e;return(e,n)=>{let r=null,i=t;for(let t of n){if(t.currentUsage===0){r=t;break}t.isRunningAbortableTask||e.isAbortable===!1&&t.currentUsage<i&&(r=t,i=t.currentUsage)}return r}}})),H=n((t=>{var n=t&&t.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),r=t&&t.__exportStar||function(e,t){for(var r in e)r!==`default`&&!Object.prototype.hasOwnProperty.call(t,r)&&n(t,e,r)},i=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,`__esModule`,{value:!0}),t.AsynchronouslyCreatedResourcePool=t.WorkerInfo=void 0;let a=e(`node:worker_threads`),o=e(`node:perf_hooks`),s=i(e(`node:assert`)),c=z(),l=I(),u=B(),d=se();Object.defineProperty(t,`AsynchronouslyCreatedResourcePool`,{enumerable:!0,get:function(){return d.AsynchronouslyCreatedResourcePool}}),r(V(),t),t.WorkerInfo=class extends d.AsynchronouslyCreatedResource{constructor({worker:e,port:t,enableHistogram:n},r){super(),this.idleTimeout=null,this.lastSeenResponseCount=0,this.terminating=!1,this.destroyed=!1;let{filename:i,...s}=e;this.worker=new a.Worker(i,s),this.port=t,this.onMessage=r,this.port.on(`message`,this._handleResponse.bind(this)),this.taskInfos=new Map,this.sharedBuffer=new Int32Array(new SharedArrayBuffer(l.kFieldCount*Int32Array.BYTES_PER_ELEMENT)),this.histogram=n?(0,o.createHistogram)():null}get id(){return this.worker.threadId}onWorkerMessage(e){this.worker.on(`message`,e)}onWorkerError(e){this.worker.on(`error`,e)}onWorkerExit(e){this.worker.on(`exit`,e)}onPortClose(e){this.port.on(`close`,e)}init(e,t){return this.worker.postMessage(e,t),this}workerRef(){return this.worker.ref(),this}workerUnref(){return this.worker.unref(),this}destroy(){if(!(this.terminating||this.destroyed)){this.terminating=!0,this.clearIdleTimeout(),this.worker.terminate(),this.port.close();for(let e of this.taskInfos.values())e.done(c.Errors.ThreadTermination());this.taskInfos.clear(),this.terminating=!1,this.destroyed=!0,this.markAsDestroyed()}}setIdleTimeout(e,t,...n){this.idleTimeout=setTimeout(e,t,...n).unref()}clearIdleTimeout(){this.idleTimeout!=null&&(clearTimeout(this.idleTimeout),this.idleTimeout=null)}ref(){return this.port.ref(),this}unref(){return this.port.unref(),this}_handleResponse(e){var t;(t=this.histogram)==null||t.record(u.PiscinaHistogramHandler.toHistogramIntegerNano(e?.time)),this.onMessage(e),this.taskInfos.size===0&&this.unref()}postTask(e){(0,s.default)(!this.taskInfos.has(e.taskId)),(0,s.default)(!this.terminating&&!this.destroyed);let t={task:e.releaseTask(),taskId:e.taskId,filename:e.filename,name:e.name,histogramEnabled:this.histogram==null?0:1};try{this.port.postMessage(t,e.transferList),queueMicrotask(()=>this.clearIdleTimeout()),e.workerInfo=this,this.taskInfos.set(e.taskId,e),this.ref(),Atomics.add(this.sharedBuffer,l.kRequestCountField,1),Atomics.notify(this.sharedBuffer,l.kRequestCountField,1)}catch(t){e.done(t)}}processPendingMessages(){if(this.destroyed)return;let e=Atomics.load(this.sharedBuffer,l.kResponseCountField);if(e!==this.lastSeenResponseCount){this.lastSeenResponseCount=e;let t;for(;(t=(0,a.receiveMessageOnPort)(this.port))!=null;)this._handleResponse(t.message)}}isRunningAbortableTask(){if(this.taskInfos.size!==1)return!1;let[[,e]]=this.taskInfos;return e.abortSignal!=null}currentUsage(){return this.isRunningAbortableTask()?1/0:this.taskInfos.size}popTask(e){let t=this.taskInfos.get(e)??null;return t!=null&&this.taskInfos.delete(e),t}get interface(){let e=this;return{get id(){return e.worker.threadId},get currentUsage(){return e.currentUsage()},get isRunningAbortableTask(){return e.isRunningAbortableTask()},get histogram(){return e.histogram==null?null:u.PiscinaHistogramHandler.createHistogramSummary(e.histogram)},get terminating(){return e.terminating},get destroyed(){return e.destroyed},[l.kWorkerData]:e}}}})),U=n((t=>{var n=t&&t.__classPrivateFieldSet||function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},r=t&&t.__classPrivateFieldGet||function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},i,a,o,s;Object.defineProperty(t,`__esModule`,{value:!0}),t.workerData=t.isWorkerThread=t.move=t.ArrayTaskQueue=t.FixedQueue=t.version=t.queueOptionsSymbol=t.valueSymbol=t.transferableSymbol=t.Piscina=void 0;let c=e(`node:worker_threads`),l=e(`node:events`),u=e(`node:path`),d=e(`node:util`),f=e(`node:perf_hooks`),p=e(`node:timers/promises`),m=re();Object.defineProperty(t,`version`,{enumerable:!0,get:function(){return m.version}});let h=I();Object.defineProperty(t,`queueOptionsSymbol`,{enumerable:!0,get:function(){return h.kQueueOptions}}),Object.defineProperty(t,`transferableSymbol`,{enumerable:!0,get:function(){return h.kTransferable}}),Object.defineProperty(t,`valueSymbol`,{enumerable:!0,get:function(){return h.kValue}});let g=oe();Object.defineProperty(t,`ArrayTaskQueue`,{enumerable:!0,get:function(){return g.ArrayTaskQueue}}),Object.defineProperty(t,`FixedQueue`,{enumerable:!0,get:function(){return g.FixedQueue}});let _=H(),v=L(),y=B(),b=z(),x=R(),S=(0,x.getAvailableParallelism)(),C={filename:null,name:`default`,minThreads:Math.max(Math.floor(S/2),1),maxThreads:S*1.5,idleTimeout:0,maxQueue:1/0,concurrentTasksPerWorker:1,atomics:`sync`,taskQueue:new g.ArrayTaskQueue,niceIncrement:0,trackUnmanagedFds:!0,closeTimeout:3e4,recordTiming:!0,workerHistogram:!1},w={transferList:void 0,filename:null,signal:null,name:null},T={force:!1};var E=class{constructor(e){i.set(this,void 0),n(this,i,e,`f`)}get[(i=new WeakMap,h.kTransferable)](){return r(this,i,`f`)}get[h.kValue](){return r(this,i,`f`)}},D=class{constructor(e){a.set(this,void 0),n(this,a,e,`f`)}get[(a=new WeakMap,h.kTransferable)](){return r(this,a,`f`).buffer}get[h.kValue](){return r(this,a,`f`)}},O=class{constructor(e,t){this.skipQueue=[],this.completed=0,this.histogram=null,this.start=f.performance.now(),this.inProcessPendingMessages=!1,this.startingUp=!1,this.closingUp=!1,this.workerFailsDuringBootstrap=!1,this.destroying=!1,this.publicInterface=e,this.taskQueue=t.taskQueue??new g.FixedQueue;let n=t.filename?(0,x.maybeFileURLToPath)(t.filename):null;this.options={...C,...t,filename:n,maxQueue:0},this.options.recordTiming&&(this.histogram=new y.PiscinaHistogramHandler),t.maxThreads!==void 0&&this.options.minThreads>=t.maxThreads&&(this.options.minThreads=t.maxThreads),t.minThreads!==void 0&&this.options.maxThreads<=t.minThreads&&(this.options.maxThreads=t.minThreads),t.maxQueue===`auto`?this.options.maxQueue=this.options.maxThreads**2:this.options.maxQueue=t.maxQueue??C.maxQueue,this.balancer=this.options.loadBalancer??(0,_.LeastBusyBalancer)({maximumUsage:this.options.concurrentTasksPerWorker}),this.workers=new _.AsynchronouslyCreatedResourcePool(this.options.concurrentTasksPerWorker),this.workers.onTaskDone(this._onWorkerTaskDone.bind(this)),this.maxCapacity=this.options.maxThreads*this.options.concurrentTasksPerWorker,this.startingUp=!0,this._ensureMinimumWorkers(),this.startingUp=!1,this._needsDrain=!1}_ensureMinimumWorkers(){if(!(this.closingUp||this.destroying))for(;this.workers.size<this.options.minThreads;)this._addNewWorker()}_addNewWorker(){if(this.closingUp===!0)return;let{port1:e,port2:t}=new c.MessageChannel,n=new _.WorkerInfo({worker:{filename:(0,u.resolve)(__dirname,`worker.js`),env:this.options.env,argv:this.options.argv,execArgv:this.options.execArgv,resourceLimits:this.options.resourceLimits,workerData:this.options.workerData,trackUnmanagedFds:this.options.trackUnmanagedFds},port:e,enableHistogram:this.options.workerHistogram},i.bind(this)),r={filename:this.options.filename,name:this.options.name,port:t,sharedBuffer:n.sharedBuffer,atomics:this.options.atomics,niceIncrement:this.options.niceIncrement};n.onDestroy(()=>{this.publicInterface.emit(`workerDestroy`,n.interface)}),n.onWorkerMessage(s.bind(this)),n.onWorkerError(l.bind(this)),n.onWorkerExit(f.bind(this)),n.onPortClose(()=>{n.workerRef()}),this.startingUp===!0?(n.markAsReady(),queueMicrotask(()=>{this.publicInterface.emit(`workerCreate`,n.interface),this._onWorkerReady(n)})):n.onReady(()=>{this.publicInterface.emit(`workerCreate`,n.interface),this._onWorkerReady(n)}),n.init(r,[t]).workerUnref(),this.workers.add(n);function i(e){let{taskId:t,result:r}=e,i=n.popTask(t);if(this.workers.taskDone(n),i==null){let t=Error(`Unexpected message from Worker: ${(0,d.inspect)(e)}`);this.publicInterface.emit(`error`,t)}else i.done(e.error,r);this._processPendingMessages()}function a(){n.currentUsage()===0&&n.unref(),n.isReady()===!1&&n.markAsReady()}function o(e){this.publicInterface.emit(`message`,e)}function s(e){e instanceof Object&&x.READY in e||typeof e==`object`&&e&&x.READY in e?a():o.call(this,e)}function l(e){this._onError(n,e,!1)}function f(e){if(this.destroying===!1){let t=Error(`worker exited with code: ${e}`);this._onError(n,t,!0)}}}_onError(e,t,n){let r=[...e.taskInfos.values()];if(e.taskInfos.clear(),this._removeWorker(e),e.isReady()&&!this.workerFailsDuringBootstrap?this._ensureMinimumWorkers():this.workerFailsDuringBootstrap=!0,r.length>0)for(let e of r)e.done(t,null);else n||this.publicInterface.emit(`error`,t)}_processPendingMessages(){if(!(this.inProcessPendingMessages||this.options.atomics===`disabled`)){this.inProcessPendingMessages=!0;try{for(let e of this.workers)e.processPendingMessages()}finally{this.inProcessPendingMessages=!1}}}_removeWorker(e){e.destroy(),this.workers.delete(e)}_removeTaskFromQueue(e){this.taskQueue.remove(e);let t=this.skipQueue.indexOf(e);t!==-1&&this.skipQueue.splice(t,1)}_onWorkerReady(e){this._onWorkerAvailable(e)}_onWorkerTaskDone(e){this._onWorkerAvailable(e)}_onWorkerAvailable(e){let t=null;for(;this.taskQueue.size>0||this.skipQueue.length>0;){let e=this.skipQueue.shift()||this.taskQueue.shift();if(t??=[...this.workers].map(e=>e.interface),!this._distributeTask(e,t))if(this.workers.size<this.options.maxThreads){this._addNewWorker();continue}else break}this.options.idleTimeout!==1/0&&e.currentUsage()===0&&this.workers.size>this.options.minThreads&&e.setIdleTimeout(()=>{e.currentUsage()===0&&this.workers.size>this.options.minThreads&&this._removeWorker(e)},this.options.idleTimeout)}_distributeTask(e,t){var n;if(e.aborted)return!0;let r=this.balancer(e.interface,t);if(r!=null&&r[h.kWorkerData]!=null){let t=f.performance.now();return(n=this.histogram)==null||n.recordWaitTime(t-e.created),e.started=t,r[h.kWorkerData].postTask(e),queueMicrotask(()=>this._maybeDrain()),!0}return e.abortSignal==null?this.taskQueue.push(e):this.skipQueue.push(e),!1}runTask(e,t){let{filename:n,name:r}=t,{transferList:i=[]}=t;if(n??=this.options.filename,r??=this.options.name,typeof n!=`string`)return Promise.reject(b.Errors.FilenameNotProvided());n=(0,x.maybeFileURLToPath)(n);let a;if(this.closingUp||this.destroying){let e=new AbortController;e.abort(`queue is being terminated`),a=e.signal}else a=t.signal??null;let{promise:o,resolve:s,reject:c}=(0,x.promiseResolvers)(),l=new g.TaskInfo({task:e,transferList:i,filename:n,name:r,abortSignal:a,triggerAsyncId:this.publicInterface.asyncResource.asyncId()},(e,t)=>{var n;this.completed++,l.started&&((n=this.histogram)==null||n.recordRunTime(f.performance.now()-l.started)),e===null?s(t):c(e),queueMicrotask(this._maybeDrain.bind(this))});if(a!=null){if(a.aborted)return c(new v.AbortError(a.reason)),o;l.onAbort(()=>{c(new v.AbortError(a.reason)),l.workerInfo==null?this._removeTaskFromQueue(l):(this._removeWorker(l.workerInfo),this._ensureMinimumWorkers())}),l.setAbortListener(a)}if(this.taskQueue.size>0){let e=this.options.maxQueue+this.pendingCapacity();return this.taskQueue.size>=e?this.options.maxQueue===0?c(b.Errors.NoTaskQueueAvailable()):c(b.Errors.TaskQueueAtLimit()):(this.taskQueue.push(l),this.workers.size<this.options.maxThreads&&this._addNewWorker()),queueMicrotask(this._maybeDrain.bind(this)),o}let u=[...this.workers.readyItems].map(e=>e.interface);return this._distributeTask(l,u)||(this.workers.size<this.options.maxThreads&&this._addNewWorker(),this.options.maxQueue<=0&&this.pendingCapacity()===0&&c(b.Errors.NoTaskQueueAvailable())),queueMicrotask(this._maybeDrain.bind(this)),o}pendingCapacity(){return this.workers.pendingItems.size*this.options.concurrentTasksPerWorker}_maybeDrain(){let{maxCapacity:e}=this,t=this.workers.getCurrentUsage();e===t?(this._needsDrain=!0,queueMicrotask(()=>this.publicInterface.emit(`needsDrain`))):e>t&&this._needsDrain&&(this._needsDrain=!1,queueMicrotask(()=>this.publicInterface.emit(`drain`)))}async destroy(){for(this.destroying=!0;this.skipQueue.length>0;)this.skipQueue.shift().done(Error(`Terminating worker thread`));for(;this.taskQueue.size>0;)this.taskQueue.shift().done(Error(`Terminating worker thread`));let e=[];for(;this.workers.size>0;){let[t]=this.workers;e.push((0,l.once)(t.worker,`exit`)),this._removeWorker(t)}await Promise.allSettled(e),this.destroying=!1}async close(e){if(this.closingUp=!0,e.force){let e=this.skipQueue.length;for(let t=0;t<e;t++){let e=this.skipQueue.shift();e.workerInfo===null?e.done(new v.AbortError(`pool is closed`)):this.skipQueue.push(e)}let t=this.taskQueue.size;for(let e=0;e<t;e++){let e=this.taskQueue.shift();e.workerInfo===null?e.done(new v.AbortError(`pool is closed`)):this.taskQueue.push(e)}}let t=()=>new Promise(e=>{let t=this.workers.size;if(t===0){e();return}let n=0,r=r=>{r.taskInfos.size===0&&n++,t===n&&e()};this.workers.onTaskDone(r);for(let e of this.workers)r(e),this.workers.onTaskDone(r)}),n=async e=>{throw await(0,p.setTimeout)(e,null,{ref:!1}),b.Errors.CloseTimeout()};try{await Promise.race([t(),n(this.options.closeTimeout)])}catch(e){this.publicInterface.emit(`error`,e)}finally{await this.destroy(),this.publicInterface.emit(`close`),this.closingUp=!1}}},k=class e extends l.EventEmitterAsyncResource{constructor(e={}){let t={...e,"__proto__":null};if(super({...t,name:`Piscina`}),o.set(this,void 0),s.set(this,null),typeof t.filename!=`string`&&t.filename!=null)throw TypeError(`options.filename must be a string or null`);if(typeof t.name!=`string`&&t.name!=null)throw TypeError(`options.name must be a string or null`);if(t.minThreads!==void 0&&(typeof t.minThreads!=`number`||t.minThreads<0))throw TypeError(`options.minThreads must be a non-negative integer`);if(t.maxThreads!==void 0&&(typeof t.maxThreads!=`number`||t.maxThreads<1))throw TypeError(`options.maxThreads must be a positive integer`);if(t.minThreads!==void 0&&t.maxThreads!==void 0&&t.minThreads>t.maxThreads)throw RangeError(`options.minThreads and options.maxThreads must not conflict`);if(t.idleTimeout!==void 0&&(typeof t.idleTimeout!=`number`||t.idleTimeout<0))throw TypeError(`options.idleTimeout must be a non-negative integer`);if(t.maxQueue!==void 0&&t.maxQueue!==`auto`&&(typeof t.maxQueue!=`number`||t.maxQueue<0))throw TypeError(`options.maxQueue must be a non-negative integer`);if(t.concurrentTasksPerWorker!==void 0&&(typeof t.concurrentTasksPerWorker!=`number`||t.concurrentTasksPerWorker<1))throw TypeError(`options.concurrentTasksPerWorker must be a positive integer`);if(t.atomics!=null&&(typeof t.atomics!=`string`||![`sync`,`async`,`disabled`].includes(t.atomics)))throw TypeError(`options.atomics should be a value of sync, sync or disabled.`);if(t.resourceLimits!==void 0&&(typeof t.resourceLimits!=`object`||t.resourceLimits===null))throw TypeError(`options.resourceLimits must be an object`);if(t.taskQueue!==void 0&&!(0,g.isTaskQueue)(t.taskQueue))throw TypeError(`options.taskQueue must be a TaskQueue object`);if(t.niceIncrement!==void 0&&(typeof t.niceIncrement!=`number`||t.niceIncrement<0&&process.platform!==`win32`))throw TypeError(`options.niceIncrement must be a non-negative integer on Unix systems`);if(t.trackUnmanagedFds!==void 0&&typeof t.trackUnmanagedFds!=`boolean`)throw TypeError(`options.trackUnmanagedFds must be a boolean value`);if(t.closeTimeout!==void 0&&(typeof t.closeTimeout!=`number`||t.closeTimeout<0))throw TypeError(`options.closeTimeout must be a non-negative integer`);if(t.loadBalancer!==void 0&&(typeof t.loadBalancer!=`function`||t.loadBalancer.length<1))throw TypeError(`options.loadBalancer must be a function with at least two args`);if(t.workerHistogram!==void 0&&typeof t.workerHistogram!=`boolean`)throw TypeError(`options.workerHistogram must be a boolean`);n(this,o,new O(this,t),`f`)}run(e,t=w){if(typeof t!=`object`||!t)return Promise.reject(TypeError(`options must be an object`));let{transferList:n,signal:i}=t,a=Object.prototype.hasOwnProperty.call(t,`filename`)?t.filename:null,s=Object.prototype.hasOwnProperty.call(t,`name`)?t.name:null;return n!==void 0&&!Array.isArray(n)?Promise.reject(TypeError(`transferList argument must be an Array`)):a!=null&&typeof a!=`string`?Promise.reject(TypeError(`filename argument must be a string`)):s!=null&&typeof s!=`string`?Promise.reject(TypeError(`name argument must be a string`)):i!=null&&typeof i!=`object`?Promise.reject(TypeError(`signal argument must be an object`)):r(this,o,`f`).runTask(e,{transferList:n,filename:a,name:s,signal:i})}async close(e=T){if(typeof e!=`object`||!e)throw TypeError(`options must be an object`);let{force:t}=e;return t!==void 0&&typeof t!=`boolean`?Promise.reject(TypeError(`force argument must be a boolean`)):(t??=T.force,r(this,o,`f`).close({force:t}))}destroy(){return r(this,o,`f`).destroy()}[(o=new WeakMap,s=new WeakMap,Symbol.dispose)](){this.close()}[Symbol.asyncDispose](){return this.close()}get maxThreads(){return r(this,o,`f`).options.maxThreads}get minThreads(){return r(this,o,`f`).options.minThreads}get options(){return r(this,o,`f`).options}get threads(){let e=[];for(let t of r(this,o,`f`).workers)e.push(t.worker);return e}get idleThreads(){let e=0;for(let t of r(this,o,`f`).workers.readyItems)t.currentUsage()===0&&e++;return e}get queueSize(){let e=r(this,o,`f`);return Math.max(e.taskQueue.size+e.skipQueue.length-e.pendingCapacity(),0)}get completed(){return r(this,o,`f`).completed}get histogram(){if(r(this,s,`f`)==null){let e={get runTime(){return this.histogram?.runTimeSummary},get waitTime(){return this.histogram?.waitTimeSummary},resetRunTime(){var e;(e=this.histogram)==null||e.resetRunTime()},resetWaitTime(){var e;(e=this.histogram)==null||e.resetWaitTime()}};Object.defineProperty(e,`histogram`,{value:r(this,o,`f`).histogram,writable:!1,enumerable:!1,configurable:!1}),n(this,s,e,`f`)}return r(this,s,`f`)}get utilization(){if(r(this,o,`f`).histogram==null)return 0;let e=r(this,o,`f`).histogram.runTimeCount;if(e===0)return 0;let t=this.duration*r(this,o,`f`).options.maxThreads;return r(this,o,`f`).histogram.runTimeSummary.mean/1e3*e/t}get duration(){return f.performance.now()-r(this,o,`f`).start}get needsDrain(){return r(this,o,`f`)._needsDrain}static get isWorkerThread(){return x.commonState.isWorkerThread}static get workerData(){return x.commonState.workerData}static get version(){return m.version}static get Piscina(){return e}static get FixedQueue(){return g.FixedQueue}static get ArrayTaskQueue(){return g.ArrayTaskQueue}static move(e){return typeof e==`object`&&e&&typeof e!=`function`&&((0,x.isTransferable)(e)||(e=d.types.isArrayBufferView(e)?new D(e):new E(e)),(0,x.markMovable)(e)),e}static get transferableSymbol(){return h.kTransferable}static get valueSymbol(){return h.kValue}static get queueOptionsSymbol(){return h.kQueueOptions}};t.default=k,t.Piscina=k,t.move=k.move,t.isWorkerThread=k.isWorkerThread,t.workerData=k.workerData})),W=t(n(((e,t)=>{t.exports=(e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}})(U()).default}))(),1),G=W.default;W.default.ArrayTaskQueue,W.default.FixedQueue,W.default.Piscina,W.default.isWorkerThread,W.default.move,W.default.queueOptionsSymbol,W.default.transferableSymbol,W.default.valueSymbol,W.default.version,W.default.workerData;var K=class{pool;constructor(e){this.pool=new G({filename:e.workerEntry,maxThreads:e.maxConcurrency??4,idleTimeout:e.idleTimeoutMs??3e4})}async run(e,t){return this.pool.run(e,{signal:t})}onMessage(e){return this.pool.on(`message`,e),()=>this.pool.off(`message`,e)}async dispose(){await this.pool.destroy()}},q=class{options;manifest;pool;constructor(e){this.options=e,this.manifest=e.manifest}async run(e,t,n){return this.pool??=new K(this.options),this.pool.run({config:e,manifest:n??this.manifest},t)}runWithReadiness(e,t,n){this.pool??=new K(this.options);let r=this.pool,a,o=!1,s,c=new Promise((t,n)=>{s=n,a=r.onMessage(n=>{i(n)&&(n.executionId!==e.executionId||n.cancelSubject!==e.cancelSubject||(o=!0,a?.(),t(n)))})}),l=r.run({config:e,manifest:n??this.manifest},t);return l.then(()=>{o||(o=!0,a?.(),s(Error(`Workflow worker completed before ready signal: ${e.executionId}`)))},e=>{o||(o=!0,a?.(),s(e instanceof Error?e:Error(String(e))))}),{result:l,ready:c}}async dispose(){await this.pool?.dispose()}};function J(e){return e.mode===`source`?s(e.moduleDir,`workflow-worker`,`worker-entry.ts`):s(e.moduleDir,`workflow-worker`,`worker-entry.mjs`)}function ce(e,t){let n=t.executionHints?.requirements?.capabilities??[];if(n.length===0)return e;let r=e?.customCapabilities??[];return{...e,customCapabilities:[...new Set([...r,...n])]}}var Y=class{options;constructor(e){this.options=e}run(e,t,n,r){let i=n??this.options.manifest,a=ce(this.options.requirements,e),o=r?.dispatchMetadata;return this.options.dispatch({config:e,...i!==void 0&&{manifest:i},...a!==void 0&&{requirements:a},...o!==void 0&&{metadata:o}},t)}},X=class{#e;constructor(e){this.#e=e.bus}async run(e,t,n){let i=m.parse(e),o=await r(i);return A({config:await a(i,o,this.#e,t),loaded:o,bus:this.#e,signal:t})}};function le(){return{packages:[]}}function ue(e){let t=o(e.runtimeModuleDir)===`src`?`source`:`dist`,n=Z({moduleDir:e.runtimeModuleDir,defaultWorkerEntryMode:t,runner:e.workflowRunner,bus:e.bus});return{...n!==void 0&&{workflowRunner:n},executorConfig:{busUrl:e.busUrl,busAuth:{kind:`none`},platformDefaults:e.platformDefaults,makaioHome:e.makaioHome}}}function Z(e){let{runner:t}=e;if(t)switch(t.mode){case void 0:case`in-process`:if(e.bus===void 0)throw Error(`InProcessWorkflowRunner requires a bus instance. Pass 'bus' to createNodeWorkflowRunner when runner.mode is 'in-process'.`);return new X({bus:e.bus});case`worker-node`:{let n=e.bus,r=t.dispatch??(n===void 0?void 0:(e,t)=>n.request(p.dispatch,{config:e.config,manifest:e.manifest,requirements:e.requirements,metadata:e.metadata},{signal:t}));if(r===void 0)throw Error(`WorkerNodeRunner requires either a dispatch function or a bus instance. Pass 'bus' to createNodeWorkflowRunner when runner.mode is 'worker-node'.`);return new Y({dispatch:r,...t.manifest!==void 0&&{manifest:t.manifest},...t.requirements!==void 0&&{requirements:t.requirements}})}case`piscina`:return new q({workerEntry:t.workerEntry??J({moduleDir:e.moduleDir,mode:t.workerEntryMode??e.defaultWorkerEntryMode}),manifest:t.manifest??le(),maxConcurrency:t.maxConcurrency,idleTimeoutMs:t.idleTimeoutMs})}}function Q(e){return e instanceof Error?e:Error(String(e??`WorkerNode wait aborted`))}function de(e){return typeof e.runWithReadiness==`function`}const $={persistentStorage:!0,customCapabilities:[`workflow.local-runtime`,`workflow.thin-runner`],suspensionStrategy:`wait-in-process`};var fe=class{options;environment=`piscina`;baseCapabilities;constructor(e){this.options=e,this.baseCapabilities=f.parse({...$,...e.baseCapabilities,suspensionStrategy:e.baseCapabilities?.suspensionStrategy??$.suspensionStrategy})}get id(){return this.options.id}get displayName(){return this.options.displayName}async provision(e){let t=new AbortController,n=de(this.options.runner)?this.options.runner.runWithReadiness(e.workerConfig,t.signal,e.workerManifest):{result:this.options.runner.run(e.workerConfig,t.signal,e.workerManifest),ready:void 0},r=n.result,i=n.ready?.then(e=>({adapters:e.adapters}));return i?.catch(()=>void 0),r.catch(()=>void 0),{nodeId:e.nodeId,...i!==void 0&&{ready:i},waitForResult:async e=>{if(e.aborted)return t.abort(e.reason),Promise.reject(Q(e.reason));let n,i=new Promise((e,t)=>{n=t}),a=()=>{t.abort(e.reason),n(Q(e.reason))};e.addEventListener(`abort`,a,{once:!0});try{return await Promise.race([r,i])}finally{e.removeEventListener(`abort`,a)}},cancel:e=>(t.abort(e??`WorkerNode cancelled`),Promise.resolve()),terminate:()=>(t.abort(`WorkerNode terminated`),Promise.resolve())}}};async function pe(e){let t=c();t.registerNamespaces([...u,...d]);let{context:n}=e,r=new _(t,{surface:`headless`,extensionContextBase:{cwd:n.cwd,platform:n.platform,homedir:n.homedir,makaioHome:n.makaioHome,username:n.username,machineId:n.machineId,tryImport:F}}),i,a,o=()=>(a??=(async()=>{try{i?.cleanup()}finally{i=void 0;try{await r.shutdown()}finally{await t.disconnect()}}})(),a);try{await e.connectAuthority(t);let a=[...e.contributedPackages,...await e.loadContributedPackages?.(t)??[]],{adapterSubsystemPackage:s}=M({coordinator:r,configRepository:e.configRepository,platformDefaults:{cwd:n.cwd},runtimeSnapshotHandlerPriority:1,runtimeDefinitionHandlerPriority:1,...e.prepareAuthRuntime!==void 0&&{prepareAuthRuntime:e.prepareAuthRuntime}}),c=b({definitions:a.flatMap(e=>e.clients??[]),binaryResolutionPolicy:`global-only`});r.registerContributionProcessor(E()),r.load([k,D,O,T(1),ee,c,s,...a]),await r.startAll(),i=N({bus:t,currentMachineId:n.machineId});let l=r.getExtensionService(w);if(l===void 0)throw Error(`Isolated workflow tool registry did not start.`);for(let t of e.toolsets)await l.register(t);return await t.emit(v.ready,{machineId:n.machineId}),{bus:t,coordinator:r,machineId:n.machineId,shutdown:o}}catch(e){throw await o().catch(()=>void 0),e}}export{X as a,q as c,N as d,M as f,ue as i,P as l,fe as n,Y as o,j as p,Z as r,J as s,pe as t,F as u};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@makaio/framework",
3
- "version": "1.0.0-dev-1783705652236",
3
+ "version": "1.0.0-dev-1783973359164",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/makaio-ai/makaio-framework.git",
@@ -29,12 +29,6 @@
29
29
  "ws": "^8.21.0",
30
30
  "zod": "4.4.3"
31
31
  },
32
- "peerDependencies": {
33
- "react": "^18.0.0 || ^19.0.0",
34
- "react-dom": "^18.0.0 || ^19.0.0",
35
- "react-resizable": "3.1.3",
36
- "vitest": "^4.1.0"
37
- },
38
32
  "peerDependenciesMeta": {
39
33
  "react": {
40
34
  "optional": true
@@ -95,6 +89,10 @@
95
89
  "types": "./dist/contracts/artifact/index.d.mts",
96
90
  "default": "./dist/contracts/artifact/index.mjs"
97
91
  },
92
+ "./contracts/auth": {
93
+ "types": "./dist/contracts/auth/index.d.mts",
94
+ "default": "./dist/contracts/auth/index.mjs"
95
+ },
98
96
  "./contracts/adapter/schemas/session-lineage": {
99
97
  "types": "./dist/contracts/adapter/schemas/session-lineage.d.mts",
100
98
  "default": "./dist/contracts/adapter/schemas/session-lineage.mjs"
@@ -527,5 +525,12 @@
527
525
  "types": "./dist/utils/workspace-root.d.mts",
528
526
  "default": "./dist/utils/workspace-root.mjs"
529
527
  }
528
+ },
529
+ "private": false,
530
+ "peerDependencies": {
531
+ "react": "^18.0.0 || ^19.0.0",
532
+ "react-dom": "^18.0.0 || ^19.0.0",
533
+ "react-resizable": "3.1.3",
534
+ "vitest": "^4.1.0"
530
535
  }
531
- }
536
+ }
@@ -1 +0,0 @@
1
- import{t as e}from"./json-value-DmU8ibo_.mjs";import"./shared-BVW-3Dhy.mjs";import{g as t,h as n}from"./profile-BMBXUqqh.mjs";import{n as r}from"./version-DoV_pSzT.mjs";import{z as i}from"zod";const a=i.enum([`strong`,`alias`]),o=i.object({scheme:t,value:t,strength:a}),s=i.object({key:t,label:i.string(),usedPercentage:i.number().finite().min(0).max(100),resetsAt:n.optional()}),c=i.object({windows:i.array(s)}),l=i.record(i.string(),i.unknown()).optional(),u=i.object({clientId:t,found:i.boolean(),version:i.string().optional(),warningMessage:i.string().optional()}),d=i.object({clientId:t,binaryName:t,supportedVersions:r.optional()}),f=i.object({clientAccountId:t,clientId:t,observedAt:n,source:t,displayLabel:i.string().optional(),usage:c,metadata:l}),p=i.discriminatedUnion(`kind`,[i.object({kind:i.literal(`session`),sessionId:t}),i.object({kind:i.literal(`adapter-session`),adapterSessionId:t}),i.object({kind:i.literal(`both`),sessionId:t,adapterSessionId:t})]),m=i.object({clientId:i.string(),source:i.string(),kind:i.string(),observedAt:n,payload:e}),h={request:i.object({clientId:t,observedAt:n.optional(),displayLabel:i.string().optional(),identifiers:i.array(o).min(1),metadata:l}),response:i.object({clientAccountId:t,displayLabel:i.string().optional()})},g={request:m.extend({locator:p}),response:i.object({handled:i.boolean(),sessionId:t.nullable(),clientAccountId:t.nullable(),changed:i.boolean()})},_={request:i.object({clientId:t,observedAt:n,source:t,account:i.object({displayLabel:i.string().optional(),identifiers:i.array(o).min(1)}),usage:c,metadata:l}),response:i.object({clientAccountId:t,snapshot:f})};export{l as a,g as c,f as d,s as f,m as i,p as l,h as n,u as o,c as p,a as r,d as s,o as t,_ as u};
@@ -1 +0,0 @@
1
- function e(e,t={}){let n={};if(e)for(let[t,r]of Object.entries(e))r!==void 0&&(n[t]=r);delete n.NODE_OPTIONS,delete n.CLAUDECODE;for(let e of t.omitEnvVars??[])delete n[e];return n}export{e as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./schemas-XeIBqwvE.mjs";import{_ as t,a as n,g as r,h as i,m as a,n as ee,o as te}from"./profile-BMBXUqqh.mjs";import{n as ne,t as o}from"./version-DoV_pSzT.mjs";import{c as re,d as ie,n as ae,o as oe,s as se,t as ce,u as le}from"./account-identity-C7Kx_ieU.mjs";import{z as s}from"zod";import{createBusNamespace as ue,observability as c}from"@makaio/framework/core";const l=s.object({tag:s.string(),description:s.string().optional()}),u=s.object({name:s.string(),friendlyName:s.string(),description:s.string().optional(),category:s.string().optional(),capabilities:s.array(l).default([])}),d=s.object({id:s.string(),name:s.string(),description:s.string().optional(),glob:s.string().optional()}),f=s.object({name:s.string().min(1),frameworkSubject:s.string().min(1).optional(),mode:s.enum([`event`,`request`]).default(`event`)}),p=s.object({envVar:r.regex(/^[A-Za-z_][A-Za-z0-9_]*$/,{message:`envVar must be a valid environment variable name (letters, digits, underscores)`}),defaultPath:r.refine(e=>e===`~`||e.startsWith(`~/`)||t(e),{message:`defaultPath must be absolute, '~', or start with '~/'`}),pathKind:s.enum([`directory`,`file`]).default(`directory`)});function de(e){if(!e.startsWith(`@`))return!e.includes(`@`);let t=e.indexOf(`/`);return t>1&&!e.slice(t+1).includes(`@`)}const m=s.object({type:s.literal(`npm`),package:s.string().min(1).refine(de,{message:"package must not include an inline `@version` suffix; use the version field instead"}),version:o}),h=s.object({type:s.literal(`signed-binary-bucket`),version:o,config:s.object({baseUrl:s.string().url(),manifestPathTemplate:s.string().min(1),manifestSignaturePathTemplate:s.string().min(1),publicKeyUrl:s.string().url(),publicKeyFingerprint:s.string().min(1),binaryPathTemplate:s.string().min(1),platforms:s.record(s.string().min(1),s.string().min(1))})}),g=s.discriminatedUnion(`type`,[m,h]),_=s.object({executable:s.union([s.string().min(1),s.object({default:s.string().min(1),darwin:s.string().min(1).optional(),linux:s.string().min(1).optional(),win32:s.string().min(1).optional()}).strict()]),args:s.array(s.string()).default([])}).strict(),v=s.object({kind:s.string().min(1),payload:s.record(s.string(),s.unknown()).optional()}),y=s.object({supportsHooks:s.boolean().default(!1),supportsStatusline:s.boolean().default(!1),supportsSupervisorLaunch:s.boolean().default(!1),supportsManagedBinary:s.boolean().default(!1),hookEvents:s.array(f).default([])}).refine(e=>e.supportsHooks||e.hookEvents.length===0,{message:`hookEvents must be empty when supportsHooks is false`,path:[`hookEvents`]}),b=s.object({name:s.string().min(1),supportedVersions:ne}).strict(),x=s.object({id:s.string(),name:s.string(),version:o,description:s.string().optional(),binary:b.optional(),nativeTools:s.array(u).default([]),defaultApprovalPolicy:e,logSources:s.array(d).optional(),defaultProviderId:s.string().optional(),runtimeCapabilities:y.optional().transform(e=>y.parse(e??{})),managedInstall:g.optional(),versionCommand:_.optional(),postInstall:v.optional(),configIsolation:p.optional()}).strict().refine(e=>!e.runtimeCapabilities.supportsManagedBinary||e.managedInstall!==void 0,{message:`managedInstall is required when runtimeCapabilities.supportsManagedBinary is true`,path:[`managedInstall`]}).refine(e=>e.managedInstall===void 0||e.runtimeCapabilities.supportsManagedBinary,{message:`runtimeCapabilities.supportsManagedBinary must be true when managedInstall is provided`,path:[`runtimeCapabilities`,`supportsManagedBinary`]}).refine(e=>e.managedInstall===void 0||e.versionCommand!==void 0,{message:`versionCommand is required when managedInstall is provided`,path:[`versionCommand`]}).superRefine((e,t)=>{if(e.managedInstall===void 0||e.versionCommand===void 0)return;let{executable:n}=e.versionCommand,r=typeof n==`string`?[{path:n,issuePath:[`versionCommand`,`executable`]}]:[{path:n.default,issuePath:[`versionCommand`,`executable`,`default`]},...n.darwin===void 0?[]:[{path:n.darwin,issuePath:[`versionCommand`,`executable`,`darwin`]}],...n.linux===void 0?[]:[{path:n.linux,issuePath:[`versionCommand`,`executable`,`linux`]}],...n.win32===void 0?[]:[{path:n.win32,issuePath:[`versionCommand`,`executable`,`win32`]}]];for(let{path:e,issuePath:n}of r){let r=e.startsWith(`/`),i=/^[A-Za-z]:/.test(e),a=e.startsWith(`\\`);if(r||i||a){t.addIssue({code:s.ZodIssueCode.custom,path:n,message:`${n.join(`.`)} must be a relative path within the install directory`});continue}e.split(/[/\\]/).some(e=>e===`..`)&&t.addIssue({code:s.ZodIssueCode.custom,path:n,message:`${n.join(`.`)} must be a relative path within the install directory`})}}),S=s.object({binaryPath:a.nullable(),env:s.record(s.string(),s.string()),configDir:a.nullable(),source:s.enum([`managed`,`global`]),version:r.nullable()}),C={request:s.object({clientId:r,sessionId:r.optional(),projectDir:a.optional(),preferSource:s.enum([`managed`,`global`]).optional(),harnessId:r.optional()}),response:S},w=s.enum([`npm`,`signed-binary-bucket`]),T=s.object({version:r,installPath:a,installedAt:i,isActive:s.boolean()}),E=s.object({clientId:r,installedVersions:s.array(T),activeVersion:r.nullable(),pinnedVersion:o,updateAvailable:s.boolean()}).strict(),D={request:s.object({forceRefresh:s.boolean().optional()}),response:s.object({clients:s.array(E)})},O={request:s.object({clientId:r,version:o.optional()}),response:s.object({jobId:r,requestedVersion:o.nullable(),resolvedVersion:o.nullable()})},k={request:s.object({clientId:r,version:r}),response:s.object({clientId:r,removedVersion:r,activeVersion:r.nullable()})},fe={request:s.object({clientId:r}),response:s.object({jobId:r,resolvedVersion:o.nullable()})},A={request:s.object({clientId:r,version:r}),response:s.object({clientId:r,activeVersion:r})},j=s.enum([`resolving`,`downloading`,`verifying`,`extracting`,`installing`,`post-install`,`activating`]),M=s.object({jobId:r,clientId:r,version:r.optional(),strategy:w,stage:j,progress:s.number().min(0).max(100).nullable(),installPath:a.optional(),activeAfterCompletion:s.boolean().optional(),metadata:s.record(s.string(),s.unknown()).optional()}),N=s.object({message:s.string(),code:s.string().optional()}),P=s.object({jobId:r,clientId:r,version:r.optional(),strategy:w,status:s.enum([`success`,`error`]),installPath:a.optional(),activeVersion:r.nullable(),error:N.optional(),metadata:s.record(s.string(),s.unknown()).optional()}),F=s.object({clientId:r,previousActiveVersion:r.nullable(),activeVersion:r.nullable(),reason:s.enum([`install`,`update`,`set-active`,`uninstall`])}),I=s.enum([`supervisor`,`adapter`,`client-hook`,`statusline`,`cli-wrapper`]),L=s.object({layer:I,producer:r}),R=s.object({supervisorSessionId:r.optional(),pid:s.number().int().positive().optional(),parentPid:s.number().int().positive().optional(),adapterSessionId:r.optional(),sessionId:r.optional(),cwd:s.string().optional(),argv:s.array(s.string()).optional(),metadata:s.record(s.string(),s.unknown()).optional()}),z={request:s.object({clientId:r,source:L,observedAt:i}).merge(R).refine(e=>e.supervisorSessionId!==void 0||e.pid!==void 0||e.adapterSessionId!==void 0,{message:`At least one hard-evidence field is required (supervisorSessionId, pid, or adapterSessionId)`}),response:s.object({clientRuntimeId:r,created:s.boolean(),promoted:s.boolean()})},B=R.extend({clientRuntimeId:r,clientId:r,status:s.enum([`observed`,`started`]),source:L,observedAt:i}),V={request:s.object({adapterSessionId:r,clientId:r}),response:s.object({managed:s.boolean()})},H=s.object({clientId:c.attribute(r,`makaio.client.id`),source:c.attribute(r,`makaio.client.lifecycle.source`),observedAt:c.attribute(i,`event.observed_at`),sessionId:c.attribute(s.string(),`makaio.session.id`).optional(),adapterSessionId:c.attribute(s.string(),`makaio.adapter.session_id`).optional(),metadata:s.record(s.string(),s.unknown()).optional()}),U=[`fresh`,`fork`,`resume`,`clear`,`compact`],W=s.enum(U),G=H.extend({transcriptPath:s.string().optional(),cwd:s.string().optional(),machineId:c.attribute(s.string(),`makaio.machine.id`).optional(),startMode:c.attribute(W,`makaio.session.start_mode`).optional(),parentAdapterSessionId:c.attribute(s.string(),`makaio.session.parent_adapter_session_id`).optional()}),K=H.extend({prompt:r.optional()}),q=H.extend({}),J=H.extend({transcriptPath:s.string().optional()}),Y=H.extend({toolName:c.attribute(r,`tool.name`).optional(),toolCallId:c.attribute(r,`tool.call_id`).optional()}),pe=H.extend({toolName:c.attribute(r,`tool.name`).optional(),toolCallId:c.attribute(r,`tool.call_id`).optional(),success:c.attribute(s.boolean(),`tool.success`).optional()}),me=s.object({group:r,name:r,installed:s.boolean(),command:r}),he=s.enum([`provider-reported`,`client-reported`,`estimated`]),X=s.number().finite().nonnegative(),Z=s.number().finite().min(0).max(100),ge=s.object({clientId:c.attribute(r,`makaio.client.id`),clientAccountId:c.attribute(r,`makaio.client.account_id`).optional(),sessionId:c.attribute(r,`makaio.session.id`).optional(),adapterSessionId:c.attribute(r,`makaio.adapter.session_id`).optional(),source:c.attribute(r,`makaio.client.usage.source`),observedAt:c.attribute(i,`event.observed_at`),clientVersion:c.attribute(r,`makaio.client.version`).optional(),modelId:c.attribute(r,`llm.model`).optional(),modelDisplayName:c.attribute(r,`llm.model.display_name`).optional(),modelFamily:c.attribute(r,`llm.model.family`).optional(),latestRequestInputTokens:c.attribute(X,`llm.tokens.latest_request.input`).optional(),latestRequestOutputTokens:c.attribute(X,`llm.tokens.latest_request.output`).optional(),latestRequestCacheReadTokens:c.attribute(X,`llm.tokens.latest_request.cache_read`).optional(),latestRequestCacheWriteTokens:c.attribute(X,`llm.tokens.latest_request.cache_write`).optional(),currentContextInputTokens:c.attribute(X,`llm.context.tokens.input`).optional(),currentContextOutputTokens:c.attribute(X,`llm.context.tokens.output`).optional(),contextWindowSizeTokens:c.attribute(X,`llm.context.window_size`).optional(),contextUsedPercentage:c.attribute(Z,`llm.context.used_percentage`).optional(),contextRemainingPercentage:c.attribute(Z,`llm.context.remaining_percentage`).optional(),contextThresholdExceeded:c.attribute(s.boolean(),`llm.context.threshold_exceeded`).optional(),totalCost:c.attribute(X,`llm.cost.total`).optional(),costCurrency:c.attribute(r,`llm.cost.currency`).optional(),costProvenance:c.attribute(he,`llm.cost.provenance`).optional(),totalDurationMs:c.attribute(X,`makaio.session.duration_ms`).optional(),totalApiDurationMs:c.attribute(X,`llm.duration.total_api_ms`).optional(),totalLinesAdded:c.attribute(X,`code.lines_added`).optional(),totalLinesRemoved:c.attribute(X,`code.lines_removed`).optional(),totalEdits:c.attribute(X,`code.edits`).optional()}).strict().superRefine((e,t)=>{let n=[`totalCost`,`costCurrency`,`costProvenance`],r=n.filter(t=>e[t]!==void 0).length;if(!(r===0||r===n.length))for(let r of n)e[r]===void 0&&t.addIssue({code:s.ZodIssueCode.custom,path:[r],message:`totalCost, costCurrency, and costProvenance must be supplied together`})}),_e={"runtime.observe":z,"runtime.started":B,"runtime.isAdapterManaged":V,scan:{request:s.object({targets:s.array(se).optional()}),response:s.object({results:s.array(oe)})},"session.account.observe":re,"account.observe":ae,"account.activate":{request:s.object({clientId:r,clientAccountId:r,identifiers:s.array(ce).min(1),displayLabel:s.string().optional()}),response:s.object({accepted:s.boolean()})},"account.getActive":{request:s.object({clientId:r}),response:s.object({identity:s.object({clientAccountId:r,identifiers:s.array(ce).min(1),displayLabel:s.string().optional()}).nullable()})},"usage.ingest":le,"usage.snapshot":ie,"session.usage.snapshot":ge,"session.started":G,"session.userPrompt.submitted":K,"session.turn.started":q,"session.turn.completed":J,"session.tool.pre":Y,"session.tool.post":pe,"wiring.list":{request:s.object({clientId:r.optional(),projectDir:a.optional(),makaioCommand:r}),response:s.object({results:s.array(s.object({clientId:r,entries:s.array(me)}))})},list:D,install:O,uninstall:k,update:fe,setActive:A,"installJob.progress":M,"installJob.completed":P,"version.changed":F,resolveBinary:C,...n,...te,"config.prime":ee},Q=ue(`client`,_e),ve=Q.subjects;function $(e){if(Array.isArray(e)){for(let t of e)$(t);return Object.freeze(e)}if(e&&typeof e==`object`){for(let t of Object.values(e))$(t);return Object.freeze(e)}return e}function ye(e){return $(x.parse(e))}export{fe as A,f as B,E as C,D,O as E,w as F,d as G,l as H,S as I,v as J,g as K,C as L,N as M,j as N,A as O,T as P,b as R,B as S,M as T,u as U,y as V,p as W,_ as X,h as Y,R as _,he as a,I as b,H as c,pe as d,Y as f,me as g,K as h,_e as i,F as j,k,W as l,q as m,Q as n,ge as o,J as p,m as q,ve as r,U as s,ye as t,G as u,V as v,P as w,L as x,z as y,x as z};
@@ -1 +0,0 @@
1
- import{t as e}from"./json-value-DmU8ibo_.mjs";import{a as t}from"./visibility-Cb62p9bv.mjs";import"./credential-ref-YWQQENEo.mjs";import{f as n}from"./shared-BVW-3Dhy.mjs";import{z as r}from"zod";const i=`adapter identity must be provided at the top level; contextOverrides cannot supply adapter identity`;function a(e){let t={adapterId:e.adapterId,adapterName:e.adapterName},n={adapterId:e.contextOverrides?.adapterId,adapterName:e.contextOverrides?.adapterName},r=[];!o(t)&&o(n)&&(n.adapterId!==void 0&&r.push({field:`adapterId`,message:i}),n.adapterName!==void 0&&r.push({field:`adapterName`,message:i}));for(let e of[`adapterId`,`adapterName`]){let i=n[e];if(i===void 0)continue;let a=t[e];if(a===void 0){o(t)&&r.push({field:e,message:`contextOverrides.${e} cannot supply adapter identity when top-level adapter identity is present`});continue}a!==i&&r.push({field:e,message:`contextOverrides.${e} must match top-level ${e} when both are provided`})}return{issues:r,effectiveIdentity:{adapterId:t.adapterId??n.adapterId,adapterName:t.adapterName??n.adapterName}}}function o(e){return e.adapterId!==void 0||e.adapterName!==void 0}const s=r.object({readOnly:r.boolean().optional(),destructive:r.boolean().optional(),idempotent:r.boolean().optional(),requiresApproval:r.boolean().optional()}),c=r.object({name:r.string(),description:r.string(),annotations:s.optional(),toolsetName:r.string()}),l=r.object({code:r.string(),message:r.string(),details:r.unknown().optional()}),u=r.object({toolName:r.string(),toolsetName:r.string()}),d=c.extend({inputSchema:r.record(r.string(),r.unknown()).optional()}),f=r.object({name:r.string(),description:r.string(),version:r.string(),toolCount:r.number(),configSchema:r.record(r.string(),r.unknown()).optional()}),p=r.object({cwd:r.string().optional(),env:r.record(r.string(),r.string()).optional(),sessionId:r.string().optional(),agentId:r.string().optional(),adapterId:r.string().optional(),adapterName:r.string().optional(),adapterSessionId:r.string().optional(),turnId:r.string().optional(),turnContext:r.record(r.string(),r.unknown()).optional(),reasoning:r.string().optional(),toolCallId:r.string().optional(),constraints:r.record(r.string(),r.unknown()).optional()});function m(e,t){let{issues:n}=a(e);for(let e of n)t.addIssue({code:r.ZodIssueCode.custom,message:e.message,path:[`contextOverrides`,e.field]})}const h=r.object({toolName:r.string(),input:r.unknown(),adapterId:r.string().optional(),adapterName:r.string().optional(),contextOverrides:p.optional()}).superRefine(m),g={list:{request:r.object({toolsetName:r.string().optional(),adapterId:r.string().optional(),adapterName:r.string().optional()}),response:r.object({tools:r.array(d),toolsets:r.array(f)})},execute:{request:h,response:r.discriminatedUnion(`success`,[r.object({success:r.literal(!0),data:r.unknown()}),r.object({success:r.literal(!1),error:l})])},registered:r.object({toolsetName:r.string(),toolsetVersion:r.string(),toolNames:r.array(r.string())}),started:u.extend({executionId:r.string(),timestamp:r.number()}),completed:u.extend({executionId:r.string(),timestamp:r.number(),durationMs:r.number()}),error:u.extend({executionId:r.string(),timestamp:r.number(),error:l}),registryChanged:r.object({revision:r.number().int().positive(),reason:r.enum([`toolset-registered`,`toolset-unregistered`,`plugin-loaded`,`plugin-unloaded`]),toolsetName:r.string()})},_=r.object({name:r.string(),permission_policy:r.enum([`always_allow`,`always_ask`,`always_deny`])}),v=r.array(_).superRefine((e,t)=>{let n=new Set;e.forEach((e,i)=>{if(n.has(e.name)){t.addIssue({code:r.ZodIssueCode.custom,path:[i,`name`],message:`Duplicate MCP tool policy name "${e.name}"`});return}n.add(e.name)})}),y=r.object({type:r.literal(`stdio`),command:r.string(),args:r.array(r.string()).optional(),env:r.record(r.string(),r.string()).optional(),alwaysLoad:r.boolean().optional()}),b=r.object({url:r.string().url(),headers:r.record(r.string(),r.string()).optional(),tools:v.optional(),alwaysLoad:r.boolean().optional()}),x=b.extend({type:r.literal(`sse`)}),S=b.extend({type:r.literal(`http`)}),C=r.discriminatedUnion(`type`,[y,x,S]),w=r.enum([`direct`,`discovery`,`hidden`]),T=w.exclude([`hidden`]),E=r.record(r.string(),w).optional(),D=r.string().max(256).refine(e=>(e.match(/\*/g)?.length??0)<=10,{message:`Pattern must contain at most 10 wildcard characters`}),O=r.object({transport:C,exposureMode:T.optional(),toolExposure:E}),k=r.object({enabled:r.boolean(),maxAttempts:r.number().int().positive(),baseDelayMs:r.number().int().positive(),maxDelayMs:r.number().int().positive()}).refine(e=>e.maxDelayMs>=e.baseDelayMs,{message:`maxDelayMs must be >= baseDelayMs`,path:[`maxDelayMs`]});r.object({servers:r.record(r.string(),O),hideTools:r.array(D).optional(),exposeTools:r.array(D).optional(),defaultExposureMode:T.optional(),autoReconnect:k.optional()}),r.object({servers:r.array(r.string()).optional(),exposeTools:r.array(D).optional(),hideTools:r.array(D).optional(),serverOverrides:r.record(r.string(),r.object({exposureMode:T.optional(),toolExposure:E})).optional()});const A=r.object({directTools:r.array(D).optional(),discoveryTools:r.array(D).optional(),toolExposure:E}),j=r.object({name:r.string(),transport:C,exposureMode:T}),M=r.object({fullName:r.string(),originalName:r.string(),serverName:r.string(),description:r.string().optional(),inputSchema:r.record(r.string(),r.unknown()),exposureMode:w,enabled:r.boolean(),enabledBy:r.enum([`discovery`,`toolset`]).optional(),enabledAt:r.number().int().nonnegative().optional(),exposed:r.boolean()}),N=r.object({sessionId:r.string(),projectId:r.string().nullable(),profileId:r.string().nullable(),servers:r.array(j),directTools:r.array(M),discoverableTools:r.array(M)}),P=N.omit({projectId:!0,profileId:!0}),F=r.object({agentId:r.string(),adapterId:r.string(),adapterName:r.string(),adapterSessionId:r.string(),sessionId:r.string()}),I={"server.connected":r.object({serverName:r.string(),toolCount:r.number().int().nonnegative()}),"server.disconnected":r.object({serverName:r.string(),reason:r.string()}),"server.reconnecting":r.object({serverName:r.string(),attempt:r.number().int().positive()}),"server.error":r.object({serverName:r.string(),error:r.string()}),"tools.updated":r.object({added:r.array(r.string()),removed:r.array(r.string())}),"tools.enabled":r.object({tools:r.array(r.string()),source:r.enum([`discovery`,`toolset`])}),"session.resolve":{request:r.object({sessionId:r.string(),profileId:r.string().nullable(),projectId:r.string().nullable(),profileMcpConfig:A.optional()}),response:N},"session.register":{request:F.extend({contextOverrides:p,pinned:r.boolean().optional()}),response:r.object({port:r.number().int().positive()})},"session.unregister":{request:r.object({adapterSessionId:r.string()}),response:r.object({})}},L=r.looseObject({kind:r.string(),providerConfigId:r.string().optional(),model:r.string().optional(),reasoningEffort:t.optional(),cwd:r.string().optional(),systemPrompt:n.optional(),allowedTools:r.array(r.string()).optional(),disallowedTools:r.array(r.string()).optional(),env:r.record(r.string(),r.string()).optional(),mcpSessionContext:P.optional(),allowedDirectories:r.array(r.string()).optional(),adapterConfig:e.optional()}),R=L.extend({kind:r.literal(`adapter`),adapterName:r.string().trim().min(1).optional(),adapterId:r.string().trim().min(1).optional()}).refine(e=>!!e.adapterName||!!e.adapterId,{message:`AdapterSelection requires at least one of 'adapterName' or 'adapterId'`}),z=L,B=L.safeExtend({kind:r.literal(`canonical-model`),model:r.string().trim().min(1)}),V=r.enum([`auto`,`manual`,`off`]);export{z as a,T as c,I as d,N as f,a as g,g as h,L as i,A as l,C as m,B as n,k as o,D as p,R as r,w as s,V as t,P as u};
@@ -1 +0,0 @@
1
- import{z as e}from"zod";import{createBusNamespace as t}from"@makaio/framework/core";const n=e.object({$schema:e.literal(`makaio/config/v1`).default(`makaio/config/v1`),mode:e.enum([`local`,`remote`,`hybrid`]).default(`local`),role:e.enum([`main-dev-machine`,`server`]).default(`main-dev-machine`),bus:e.object({remote:e.object({url:e.string().url().optional(),secret:e.string().optional()}).optional()}).optional(),relay:e.object({url:e.string().url().optional(),token:e.string().optional(),autoReconnect:e.boolean().optional().default(!0),maxReconnectAttempts:e.number().int().min(0).optional().default(5),heartbeatInterval:e.number().int().positive().optional().default(3e4)}).optional(),features:e.object({voiceBridge:e.boolean().default(!1)}).optional(),fileWatcher:e.object({backend:e.enum([`auto`,`watchman`,`parcel`,`chokidar`]).default(`auto`)}).optional()}),r={get:{request:e.object({}),response:e.object({config:n})},update:{request:e.object({config:n}),response:e.object({success:e.boolean()})}},i=t(`config`,r),a=i.subjects;export{n as i,a as n,r,i as t};
@@ -1 +0,0 @@
1
- import"./visibility-Cb62p9bv.mjs";import{z as e}from"zod";const t=`stored:providerConfig:`,n=`account-manager:`;function r(e){if(!e.startsWith(t))return null;let n=e.slice(22),r=n.lastIndexOf(`:`);if(r===-1)return null;let i=n.slice(0,r),a=n.slice(r+1);return!i||!a||a.includes(`:`)?null:{configId:i,key:a}}function i(e,t){if(!e.startsWith(t))return!1;let n=e.slice(t.length),r=n.indexOf(`:`);return!(r<=0||r>=n.length-1)}function a(e){if(!e.startsWith(n))return null;try{let t=JSON.parse(e.slice(16));return!Array.isArray(t)||t.length!==2||typeof t[0]!=`string`||typeof t[1]!=`string`||t[0].length===0||t[1].length===0?null:{clientId:t[0],accountId:t[1]}}catch{return null}}function o(e){if(r(e))return!0;if(e.startsWith(`env:`)){let t=e.slice(4);return/^[A-Za-z_][A-Za-z0-9_]*$/.test(t)}return e.startsWith(`file:`)?e.length>5:!!(i(e,`keychain:`)||a(e))}function s(e){return a(e)!==null}const c=e.string().refine(o,{message:`Invalid credential reference format.`}).brand();function l(e,n){if(n.includes(`:`))throw Error(`Credential key must not contain colons: "${n}"`);return c.parse(`${t}${e}:${n}`)}function u(e,t){return c.parse(`${n}${JSON.stringify([e,t])}`)}function d(e){return r(e)}function f(e){if(!e)return;let t={};for(let[n,r]of Object.entries(e))t[n]=c.parse(r);return t}function p(e){if(e)return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,t]))}export{s as a,l as i,f as n,d as o,u as r,p as s,c as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./json-value-DmU8ibo_.mjs";import{i as t,t as n}from"./visibility-Cb62p9bv.mjs";import{z as r}from"zod";const i=r.enum([`anthropic`,`openai`]),a=r.object({anthropic:r.string().url(),openai:r.string().url()}).partial().refine(e=>Object.keys(e).length>0,{message:`At least one protocol endpoint must be specified`}),o=e,s=r.object({id:r.string().min(1),name:r.string().min(1),description:r.string().optional(),endpoints:a.optional(),defaultModel:r.string().optional(),fastModel:r.string().optional(),primaryTestModel:r.string().optional(),secondaryTestModel:r.string().optional(),availableModels:r.array(t).default([]),defaultModelFilterMode:n.optional(),credentialEnvVars:r.record(r.string(),r.string()).optional(),capabilities:o.optional()});export{s as i,i as n,o as r,a as t};
@@ -1 +0,0 @@
1
- import"./services/execution-target/schemas.mjs";import"./services/execution-target/namespace.mjs";import{z as e}from"zod";import{createBusNamespace as t}from"@makaio/framework/core";const n=e.object({busAuthSecret:e.string().optional(),relayPeer:e.object({id:e.string().min(1),signingPublicKey:e.string().min(1)}).optional(),relayIdentity:e.object({id:e.string().min(1),signingPublicKey:e.string().min(1),signingPrivateKeyPem:e.string().min(1)}).optional(),gitToken:e.string().optional(),credentialEnv:e.record(e.string(),e.string()).optional(),providerEnv:e.record(e.string(),e.string()).optional()}),r=e.enum([`simple`,`full`]),i=e.enum([`created`,`running`,`stopped`,`destroyed`]),a=e.object({sessionId:e.string(),executionId:e.string().optional(),adapter:e.string(),runtime:r.default(`simple`),image:e.string().optional(),env:e.record(e.string(),e.string()).optional(),bootstrapConfig:n.optional()}),o=a.extend({mode:e.literal(`container-local`),repoPath:e.string(),baseBranch:e.string(),worktreeBranch:e.string().optional()}),s=a.extend({mode:e.literal(`container-isolated`),repoUrl:e.string(),branch:e.string().optional(),busMode:e.enum([`host`,`relay`]),relayUrl:e.string().optional()}),c=e.discriminatedUnion(`mode`,[o,s]),l=e.object({containerId:e.string(),worktreePath:e.string().optional(),worktreeBranch:e.string().optional()}),u=e.object({containerId:e.string(),deleteBranch:e.boolean().default(!1)}),d=e.object({success:e.boolean()}),f=e.object({containerId:e.string()}),p=e.object({state:i,sessionId:e.string(),worktreePath:e.string().optional()}),m=e.object({containerId:e.string(),sessionId:e.string(),worktreePath:e.string().optional()}),h=e.object({containerId:e.string(),sessionId:e.string(),worktreePath:e.string().optional()}),g=e.object({containerId:e.string(),sessionId:e.string(),exitCode:e.number()}),_=e.object({containerId:e.string(),sessionId:e.string()}),v=t(`docker`,{"container.spawn":{request:c,response:l},"container.stop":{request:u,response:d},"container.status":{request:f,response:p},"container.created":m,"container.started":h,"container.stopped":g,"container.destroyed":_}),y=v.subjects,b=v,x=y;export{p as _,n as a,s as c,h as d,i as f,f as g,l as h,y as i,o as l,c as m,x as n,m as o,g as p,v as r,_ as s,b as t,r as u,u as v,d as y};
@@ -1 +0,0 @@
1
- import{n as e}from"./definition-C-GVz7uw.mjs";import{n as t,t as n}from"./version-DoV_pSzT.mjs";import{z as r}from"zod";const i=r.object({entrypoint:r.string().startsWith(`/`,{message:`Entrypoint must be a URL path starting with "/"`})}),a=r.object({endpoint:r.string().url().optional()}),o=r.union([e,r.object({anthropic:a.optional(),openai:a.optional()}).refine(e=>Object.keys(e).length>0,{message:`ProtocolRef config object must specify at least one protocol`})]),s=r.object({id:r.string().min(1),version:t,binaryVersion:t.optional()}),c=r.object({name:r.string().min(1),displayName:r.string().min(1).optional(),description:r.string().optional(),clients:r.array(s).readonly().optional(),protocols:r.array(o).min(1).readonly(),defaultProvider:r.string().min(1).optional()}),l=r.object({id:r.string().min(1),name:r.string().min(1),description:r.string().optional(),binary:r.object({name:r.string().min(1),managed:r.boolean().optional(),version:n.optional()}).strict().refine(e=>e.managed!==!0||e.version!==void 0,{message:`binary.version is required when binary.managed is true`,path:[`version`]}).refine(e=>e.version===void 0||e.managed===!0,{message:`binary.managed must be true when binary.version is provided`,path:[`managed`]}).optional()}).strict(),u=r.object({id:r.string().min(1),name:r.string().min(1),description:r.string().optional()}),d=r.object({prefix:r.string().min(1),description:r.string().optional(),stage:r.enum([`gather`,`transform`,`action`]).optional()}),f=r.object({adapterName:r.string().min(1),displayName:r.string().min(1),logFilePattern:r.string().min(1).optional()}),p=r.object({id:r.string().min(1),label:r.string().min(1),description:r.string().optional(),icon:r.string().min(1).optional(),selectionMode:r.enum([`single`,`multi`]),messageRoles:r.array(r.enum([`user`,`assistant`])).readonly().optional()}),m=r.enum([`beforeCreate`,`beforeRevise`,`afterCreate`,`afterRevise`,`afterStatusChanged`,`afterObservationAdded`]),h=r.object({id:r.string().min(1),event:m,kind:r.string().min(1).optional(),schemaVersion:r.string().min(1).optional()}),g=r.object({tiles:r.boolean().optional(),widgets:r.boolean().optional(),pages:r.boolean().optional(),routes:r.boolean().optional()}),_={adapters:`adapter`,clients:`client`,providers:`provider`,triggers:`trigger`,logImporters:`log importer`,sessionEventActions:`session event action`,artifactLifecycleHooks:`artifact lifecycle hook`};function v(e,t,n){e.addIssue({code:r.ZodIssueCode.custom,path:[t],message:`Duplicate ${_[t]} contribution identifier "${n}"`})}function y(e,t){let n=new Set,r=new Set,i=[];for(let a of e??[]){let e=t(a);if(n.has(e)){r.has(e)||(r.add(e),i.push(e));continue}n.add(e)}return i}const b=r.object({adapters:r.array(c).readonly().optional(),clients:r.array(l).readonly().optional(),providers:r.array(u).readonly().optional(),triggers:r.array(d).readonly().optional(),logImporters:r.array(f).readonly().optional(),sessionEventActions:r.array(p).readonly().optional(),artifactLifecycleHooks:r.array(h).readonly().optional(),create:r.boolean().optional(),tools:r.boolean().optional(),bootstrap:r.boolean().optional(),namespace:r.boolean().optional(),configSchema:r.boolean().optional(),uiConfig:r.boolean().optional(),ui:g.optional()}).superRefine((e,t)=>{for(let n of y(e.adapters,e=>e.name))v(t,`adapters`,n);for(let n of y(e.clients,e=>e.id))v(t,`clients`,n);for(let n of y(e.providers,e=>e.id))v(t,`providers`,n);for(let n of y(e.triggers,e=>e.prefix))v(t,`triggers`,n);for(let n of y(e.logImporters,e=>e.adapterName))v(t,`logImporters`,n);for(let n of y(e.sessionEventActions,e=>e.id))v(t,`sessionEventActions`,n);for(let n of y(e.artifactLifecycleHooks,e=>e.id))v(t,`artifactLifecycleHooks`,n)}),x=r.string().trim().min(1).transform(e=>e),S=r.object({name:r.string().min(1),required:r.boolean().optional()}),C=r.object({id:r.string(),style:r.enum([`tray-popover`,`utility`,`panel`]),width:r.number().optional(),height:r.number().optional(),singleton:r.boolean().optional(),params:r.array(S).readonly().optional()}).superRefine((e,t)=>{let n=new Set;for(let[i,a]of e.params?.entries()??[]){if(!n.has(a.name)){n.add(a.name);continue}t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate window param "${a.name}"`,path:[`params`,i,`name`]})}}),w=r.object({label:r.string(),section:r.enum([`utilities`,`tools`,`views`]).optional(),opensWindow:r.string().optional(),action:r.string().optional()}),T=r.object({name:r.string().min(1),description:r.string(),required:r.boolean().optional(),positional:r.boolean().optional(),short:r.string().regex(/^-[A-Za-z0-9]$/,`Expected a short flag like -p`).optional(),type:r.enum([`string`,`boolean`,`number`]).optional()}),E=r.object({name:r.string().min(1),description:r.string(),args:r.array(T).readonly().optional()}),D=r.object({name:r.string().min(1),description:r.string(),subcommands:r.array(E).readonly().optional(),hasInteractive:r.boolean().optional(),canProvideBus:r.boolean().optional()}),O=[`sqlite`,`postgres`];function k(e){if(e!==void 0)return typeof e==`string`?e:e.sqlite??Object.values(e).find(e=>e!==void 0)}function A(e){if(e===void 0)return[];if(typeof e==`string`)return[e];let t=new Set;for(let n of Object.values(e))n!==void 0&&t.add(n);return[...t]}const j=r.string().min(1).refine(e=>!/^(?:[\\/]|[A-Za-z]:)/.test(e),`Expected a relative path`).refine(e=>!e.split(/[\\/]/).some(e=>e===``||e===`.`||e===`..`),`Path must not contain empty or dot segments`),M=r.object({migrations:r.union([j,r.object({sqlite:j.optional(),postgres:j.optional()}).strict().refine(e=>Object.values(e).some(e=>e!==void 0),`Per-dialect storage.migrations must declare at least one chain`)]).optional(),migrationSourceId:r.string().min(1).optional()}),N=r.object({type:r.literal(`extension`),name:r.string().min(1),version:t,optional:r.boolean().optional()});function P(e,t=`>=0.1.0`,n){return n===void 0?{type:`extension`,name:e,version:t}:{type:`extension`,name:e,version:t,optional:n}}const F=r.discriminatedUnion(`type`,[r.object({type:r.literal(`host`),id:r.string().min(1)}),r.object({type:r.literal(`capability`),id:r.string().min(1),version:t.optional()})]),I=r.object({name:r.string().min(1).regex(/^(@[^/\\]+\/)?[^/\\]+$/,`Extension name must be a plain identifier or an npm-scoped name (@scope/pkg)`).refine(e=>(e.startsWith(`@`)?e.split(`/`):[e]).every(e=>e!==`.`&&e!==`..`),`Extension name must not be a dot-segment`),displayName:r.string().min(1),version:n,surface:r.enum([`interactive`,`headless`,`any`]).optional(),dependencies:r.array(N).readonly().optional(),requires:r.array(F).readonly().optional(),provides:r.array(x).readonly().optional(),windows:r.array(C).readonly().optional(),tray:w.optional(),cli:D.optional(),storage:M.optional(),browser:i.optional(),contributions:b.optional()});function L(e){return Object.freeze({name:e})}const R=r.object({command:r.string().min(1),args:r.array(r.string()).optional(),env:r.record(r.string(),r.string()).optional(),healthTimeoutMs:r.number().int().positive().optional(),shutdownTimeoutMs:r.number().int().positive().optional()}),z=r.enum([`none`,`on-crash`,`always`]),B=R.extend({restartPolicy:z.optional()}),V=r.discriminatedUnion(`type`,[B.extend({type:r.literal(`bus-stdio`)}),B.extend({type:r.literal(`bus-websocket`)}),R.extend({type:r.literal(`mcp-stdio`)})]);function H(e){if(e.includes(`\\`)||e.startsWith(`./`)||e.startsWith(`../`)||e.startsWith(`/`))return!1;let t=e.split(`/`),n=t.at(-1);return!n||n.includes(`.`)?!1:t.every(e=>e!==``&&e!==`.`&&e!==`..`&&e!==`src`&&e!==`dist`)}const U=r.union([r.literal(!0),r.string().min(1).refine(H,{message:`entrypoint stem must use forward-slash path stems, must not contain empty, . or .. segments, must not include a dotted final segment, and must not contain src or dist segments`})]),W=r.object({server:U.optional(),browser:U.optional(),cli:U.optional()}).refine(e=>e.server!==void 0||e.browser!==void 0||e.cli!==void 0,{message:`at least one entrypoint must be declared`});function G(e){return e.execution===`detached`}const K=I.extend({version:n,makaio:r.object({framework:t}).strict().readonly(),entrypoints:W.optional(),execution:r.enum([`embedded`,`detached`]).optional(),transport:V.optional(),config:r.object({defaults:r.record(r.string(),r.unknown()).optional()}).optional()}).superRefine((e,t)=>{e.execution===`detached`?(e.transport===void 0&&t.addIssue({code:r.ZodIssueCode.custom,message:`detached extensions must declare a 'transport' config`,path:[`transport`]}),e.entrypoints!==void 0&&t.addIssue({code:r.ZodIssueCode.custom,message:`detached extensions must not declare entrypoints`,path:[`entrypoints`]})):(e.entrypoints===void 0&&t.addIssue({code:r.ZodIssueCode.custom,message:`embedded extensions must declare at least one entrypoint`,path:[`entrypoints`]}),e.transport!==void 0&&t.addIssue({code:r.ZodIssueCode.custom,message:`embedded extensions must not declare a transport config`,path:[`transport`]}))});function q(e){return e}function J(e){return q(K.parse(e))}function Y(e){let t=K.safeParse(e);return t.success?{success:!0,data:q(t.data)}:t}const X=r.discriminatedUnion(`kind`,[r.object({kind:r.literal(`configure-integration`),clientId:r.string().min(1),bundle:r.string().min(1)}),r.object({kind:r.literal(`install-extension`),extensionName:r.string().min(1)}),r.object({kind:r.literal(`open-url`),url:r.string().url()}),r.object({kind:r.literal(`run-command`),command:r.string().min(1)})]),Z=r.enum([`info`,`recommended`,`degraded`]),Q=r.object({severity:Z,title:r.string().min(1),message:r.string().min(1),action:X.optional()});function $(e){switch(e.kind){case`configure-integration`:return`Configure`;case`install-extension`:return`Install`;case`open-url`:return`Open`;case`run-command`:return`Run`}}const ee=r.object({extensionName:r.string().min(1),warnings:r.array(Q)});function te(e,t){return e.parse(t??{})}function ne(e){return JSON.stringify([e.extensionId,e.type,e.name,e.filename])}export{s as A,p as B,w as C,P as D,A as E,b as F,g as H,f as I,a as L,m as M,h as N,k as O,l as P,o as R,M as S,S as T,i as U,d as V,E as _,Q as a,F as b,V as c,G as d,J as f,D as g,T as h,ee as i,c as j,x as k,K as l,L as m,te as n,Z as o,Y as p,X as r,$ as s,ne as t,W as u,N as v,C as w,O as x,I as y,u as z};
@@ -1,57 +0,0 @@
1
- import{agents as e}from"./services/session/storage/schema.mjs";import{n as t,t as n}from"./schema-CHp6I33k.mjs";import{i as r,n as i,r as a}from"./namespace-dFBD2ZmS.mjs";import{TurnStorageSubjects as o}from"./services/turn/namespace.mjs";import{SessionStorageSubjects as s}from"./services/session/storage/namespace.mjs";import{n as c}from"./namespace-DBHwyhME.mjs";import{r as l,t as u}from"./provider-context-DC_eq7es.mjs";import{AdapterRuntimeSubjects as d}from"./services/adapter-runtime/namespace.mjs";import{ProviderStorageSubjects as f}from"./services/settings/storage/providers-namespace.mjs";import{ExecutionTargetSubjects as p}from"./services/execution-target/namespace.mjs";import{MessageStorageSubjects as m}from"./services/session/messages/namespace.mjs";import"./services/session/turns/namespace.mjs";import{ExtractedContextSchema as h}from"./services/compression/schemas.mjs";import{PreferencesSubjects as g}from"./services/preferences/storage-namespace.mjs";import{z as _}from"zod";import{AdapterSubjects as v,AgentResolutionSubjects as y,AgentStatusSchema as b,AgentSubjects as x,MakaioSessionAgentSchema as S,ProviderContextSchema as C,SessionSubjects as w,TurnInitiatorSchema as T,TurnUsageSchema as E}from"@makaio/framework/contracts";import{defineDialectSchema as D,getRawSqlExecutor as ee,getStorageEngine as te,resolveSchema as O}from"@makaio/framework/storage/drizzle";import{and as k,asc as A,desc as j,eq as M,gt as ne,inArray as N,lt as re,sql as P}from"drizzle-orm";import{createStorageNamespaceDefinition as ie}from"@makaio/framework/storage";import{HookAbortError as ae}from"@makaio/framework/hooks";import{AdapterRuntimeSubjects as oe}from"@makaio/framework/services/adapter-runtime";import{buildProviderContext as se}from"@makaio/framework/services/provider-context";function ce(e,t,n,r){return e.on(i.append,e=>{let{event:i}=e.payload,a=t.get(i.sessionId)??[];if(n.has(i.eventId)){e.setResult({success:!0});return}a.push(i),t.set(i.sessionId,a),n.set(i.eventId,r()),e.setResult({success:!0})})}function le(e,t,n){return e.on(i.getEvents,e=>{let{sessionId:r,options:i}=e.payload,a=t.get(r)??[],o=i?.order??`asc`,s=o===`desc`?[...a].reverse():a,c=0;if(i?.after&&/^\d+$/.test(i.after)){let t=Number(i.after),r=s.findIndex(e=>{let r=n.get(e.eventId)??-1;return o===`desc`?r<t:r>t});if(r===-1){e.setResult({events:[],nextCursor:null,totalCount:a.length});return}c=r}let l=s.slice(c);if(i?.types&&i.types.length>0){let e=new Set(i.types);l=l.filter(t=>e.has(t.type))}let u=i?.limit??100,d=l.length>u,f=l.slice(0,u),p=null;if(d&&f.length>0){let e=f[f.length-1],t=n.get(e.eventId);t!==void 0&&(p=t.toString())}e.setResult({events:f,nextCursor:p,totalCount:a.length})})}function ue(e,t){return e.on(i.getByIds,e=>{let{sessionId:n,eventIds:r}=e.payload,i=t.get(n)??[],a=new Set(r),o=i.filter(e=>a.has(e.eventId));e.setResult({events:o})})}function de(e,t,n){return e.on(i.deleteBySession,e=>{let{sessionId:r}=e.payload,i=t.get(r);if(i)for(let e of i)n.delete(e.eventId);let a=i?.length??0;t.delete(r),e.setResult({success:!0,deletedCount:a})})}function fe(e,t){return e.on(i.getEventsBySessions,e=>{let{sessionIds:n,types:r,limitPerSession:i=50}=e.payload;if(n.length===0||r.length===0){e.setResult({eventsBySession:{}});return}let a=new Set(r),o={};for(let e of n){let n=(t.get(e)??[]).filter(e=>a.has(e.type)).reverse().slice(0,i);n.length>0&&(o[e]=n)}e.setResult({eventsBySession:o})})}function pe(e){let t=new Map,n=new Map,r=1,i=[ce(e,t,n,()=>r++),le(e,t,n),ue(e,t),de(e,t,n),fe(e,t)];return()=>i.forEach(e=>e())}const me=r.postgres,he=D({sessionEvents:a},{sessionEvents:me}),ge=[`sessionId`,`agentId`,`adapterId`,`messageId`,`turnId`];function _e(e){let t=e.payload,n={};for(let[e,r]of Object.entries(t))ge.includes(e)||(n[e]=r);return n}function F(e){let t=JSON.parse(e.payload),n=e.type===`message`?e.messageId:e.originatingMessageId,r={...t,sessionId:e.sessionId,...e.agentId&&{agentId:e.agentId},...e.adapterId&&{adapterId:e.adapterId},...n&&{messageId:n},...e.type===`message`?{turnId:e.turnId??null}:e.turnId&&{turnId:e.turnId}};return{sessionId:e.sessionId,eventId:e.eventId,timestamp:e.timestamp,type:e.type,payload:r}}function ve(e){switch(e.type){case`user_message.sent`:{let t=e.payload.content;return typeof t==`string`?t:(Array.isArray(t.blocks)?t.blocks:[t.blocks]).filter(e=>e.type===`text`).map(e=>e.content).join(`
2
- `)}case`agent.added`:case`user_message.acknowledged`:case`user_message.completed`:case`turn.started`:case`turn.completed`:case`message`:case`branch.created`:case`branch.merged`:case`squash`:return null;default:return ye(e.payload)}}function ye(e){let t=e.contentText;if(typeof t==`string`&&t.length>0)return t;let n=e.summary;return typeof n==`string`&&n.length>0?n:null}function be({bus:e,db:t,sessionEvents:n}){return e.on(i.append,async e=>{let{event:r}=e.payload,i=`payload`in r&&`agentId`in r.payload?r.payload.agentId:null,a=`payload`in r&&`adapterId`in r.payload?r.payload.adapterId:null,o=`payload`in r&&`turnId`in r.payload?r.payload.turnId:null,s=`payload`in r&&`messageId`in r.payload?r.payload.messageId:null,c=r.type===`message`?s:null,l=r.type===`message`?null:s,u={sessionId:r.sessionId,eventId:r.eventId,timestamp:r.timestamp,type:r.type,agentId:i,adapterId:a,messageId:c,originatingMessageId:l,turnId:o,contentText:ve(r),payload:JSON.stringify(_e(r))};await t.insert(n).values(u).onConflictDoNothing(),e.setResult({success:!0})})}function xe({bus:e,db:t,sessionEvents:n}){return e.on(i.getEvents,async e=>{let{sessionId:r,options:i}=e.payload,a=[M(n.sessionId,r)],o=i?.order??`asc`;if(i?.after){let e=parseInt(i.after,10);!isNaN(e)&&e>0&&(o===`desc`?a.push(re(n.id,e)):a.push(ne(n.id,e)))}i?.types&&i.types.length>0&&a.push(N(n.type,i.types));let s=i?.limit??100,c=o===`desc`?j:A,l=await t.select().from(n).where(k(...a)).orderBy(c(n.id)).limit(s+1),u=l.length>s,d=u?l.slice(0,s):l,f=d.map(F),p=u&&d.length>0?d[d.length-1].id.toString():null;e.setResult({events:f,nextCursor:p})})}function Se({bus:e,db:t,sessionEvents:n}){return e.on(i.getByIds,async e=>{let{sessionId:r,eventIds:i}=e.payload,a=(await t.select().from(n).where(k(M(n.sessionId,r),N(n.eventId,i))).orderBy(A(n.timestamp))).map(F);e.setResult({events:a})})}function Ce({bus:e,db:t,sessionEvents:n}){return e.on(i.deleteBySession,async e=>{let{sessionId:r}=e.payload,i=(await t.select().from(n).where(M(n.sessionId,r))).length;await t.delete(n).where(M(n.sessionId,r)),e.setResult({success:!0,deletedCount:i})})}function we({bus:e,db:t,sessionEvents:n}){return e.on(i.getEventsBySessions,async e=>{let{sessionIds:r,types:i,limitPerSession:a=50}=e.payload;if(r.length===0||i.length===0){e.setResult({eventsBySession:{}});return}let o={};for(let e of r){let r=await t.select().from(n).where(k(M(n.sessionId,e),N(n.type,i))).orderBy(j(n.timestamp)).limit(a);r.length>0&&(o[e]=r.map(F))}e.setResult({eventsBySession:o})})}function Te(e,t){let{sessionEvents:n}=O(t,he),r={bus:e,db:t,sessionEvents:n},i=[be(r),xe(r),Se(r),Ce(r),we(r)];return()=>i.forEach(e=>e())}async function I(e,t,n){let r={sessionId:t.sessionId,eventId:t.eventId??crypto.randomUUID(),timestamp:t.timestamp??Date.now(),type:t.type,payload:t.payload},a=n?n(r):r;a&&await e.requestOptional(i.append,{event:a})}async function Ee(e,t){await I(e,{type:`turn.started`,sessionId:t.sessionId,payload:t}),await e.emit(w.turn.started,t)}function De(e,t){let n=[e.on(w.agent.added,async n=>{await Oe(e,{type:`agent.added`,sessionId:n.payload.sessionId,payload:n.payload},t)}),e.on(w.branch.created,async n=>{await Oe(e,{type:`branch.created`,sessionId:n.payload.sessionId,payload:n.payload},t)})];return()=>{for(let e of n)e()}}async function Oe(e,t,n){try{await I(e,t,n)}catch(e){console.warn(`[session-lifecycle-events] Failed to persist subscription lifecycle event`,{type:t.type,sessionId:t.sessionId,error:e instanceof Error?e.message:String(e)})}}async function L(e,t){let{verdict:n}=t;if(n.kind===`native`)return;let r=crypto.randomUUID(),i=Date.now(),a={sessionId:t.sessionId,eventId:r,timestamp:i,intent:t.intent,...t.agentId!==void 0&&{agentId:t.agentId},...t.adapterId!==void 0&&{adapterId:t.adapterId},...t.turnId!==void 0&&{turnId:t.turnId}},o=n.kind===`degrade`?{...a,verdictKind:`degrade`,reason:n.reason}:{...a,verdictKind:`foreign`,foreignMachineId:n.machineId};try{await I(e,{type:`locality.degraded`,sessionId:t.sessionId,eventId:r,timestamp:i,payload:o})}catch(e){console.warn(`[session-lifecycle-events] Failed to persist locality.degraded event`,{sessionId:t.sessionId,error:e instanceof Error?e.message:String(e)})}try{await e.emit(w.locality.degraded,o)}catch(e){console.warn(`[session-lifecycle-events] Failed to emit live locality.degraded event`,{sessionId:t.sessionId,error:e instanceof Error?e.message:String(e)})}}const R=ie(`agent`,{schemas:{get:{request:_.object({agentId:_.string()}),response:_.object({agent:S.nullable()})},set:{request:_.object({agentId:_.string(),agent:S}),response:_.object({success:_.boolean()})},delete:{request:_.object({agentId:_.string()}),response:_.object({success:_.boolean()})},listByAdapter:{request:_.object({adapterName:_.string(),status:_.enum([`idle`,`active`,`dead`,`disposed`,`all`]).optional()}),response:_.object({agents:_.array(S)})},listBySession:{request:_.object({sessionId:_.string()}),response:_.object({agents:_.array(S)})},updateStatus:{request:_.object({agentId:_.string(),status:b}),response:_.object({success:_.boolean()})},updateActivity:{request:_.object({agentId:_.string(),lastActivityAt:_.number()}),response:_.object({success:_.boolean()})},updateRuntime:{request:_.object({agentId:_.string(),adapterId:_.string().optional(),adapterSessionId:_.string().optional(),cwd:_.string().optional(),model:_.string().optional(),allowedDirectories:_.array(_.string()).optional(),providerConfigId:_.string().optional()}).refine(e=>e.adapterId!==void 0||e.adapterSessionId!==void 0||e.cwd!==void 0||e.model!==void 0||e.allowedDirectories!==void 0||e.providerConfigId!==void 0,{message:`At least one runtime field (adapterId, adapterSessionId, cwd, model, allowedDirectories, or providerConfigId) must be provided`}),response:_.object({success:_.boolean()})}},extensions:{drizzle:{agents:e}}}),ke=R.subjects;async function z(e,t,n){let{adapterId:r}=await e.request(d.resolveId,{adapterName:t,...n!==void 0&&{machineId:n}});return r}async function Ae(e,t,n){if(!(!t||!n))try{let{config:r}=await e.request(c.getProviderConfig,{id:t});if(!r)return;let{provider:i}=await e.request(f.get,{id:r.definitionId}),a=i?.availableModels?.find(e=>e.name===n);return a?{supportedReasoningLevels:a.supportedReasoningLevels}:void 0}catch{return}}async function je(e,t){let{executionTarget:n}=await e.request(p.resolve,t);return n}async function Me(e,t){let{sessionId:n,limit:r}=t,a=[],o=!1,s=!1,c;do{let{events:t,nextCursor:l}=await e.request(i.getEvents,{sessionId:n,options:{limit:1e4,...c&&{after:c}}});for(let i of t){if(i.type===`squash`){o=!0,a.length=0;let e=i.payload,t={messageId:`squash-${i.eventId}`,sessionId:n,turnId:null,role:`assistant`,contentText:e.summaryJson,blocks:[{type:`text`,content:e.summaryJson}],timestamp:i.timestamp};a.push(t)}else if(i.type===`message`){let t=i.payload,{message:n}=await e.request(m.get,{messageId:t.messageId});n&&a.push(n)}if(r&&a.length>=r){s=!0;break}}if(r&&a.length>=r)break;c=l??void 0}while(c);return{messages:a,hasSquashBoundary:o,sessionChain:[n],truncated:s,incomplete:!1}}const B=new class{actions=new Map;register(e){if(this.actions.has(e.id))throw Error(`Action already registered: ${e.id}`);this.actions.set(e.id,e)}get(e){return this.actions.get(e)}getAll(){return Array.from(this.actions.values())}getByCategory(e){return this.getAll().filter(t=>t.category===e)}reset(){this.actions.clear()}};async function V(e,t,n){let r=e,i,a;for(let e of t){let t=B.get(e.actionId);if(!t)throw Error(`Unknown action: ${e.actionId}`);let o={...n,...e.options},s=await t.execute(r,o);if(s.kind===`messages`)r=s.messages;else{i=s.json,a=s.tokenEstimate,r=[];break}}if(!i&&r.length>0){let e=r.reduce((e,t)=>e+JSON.stringify(t.blocks).length,0);a=Math.ceil(e/4)}return{messages:r,contextJson:i,tokenEstimate:a}}function Ne(e){return e.map(e=>({...e,blocks:e.blocks.filter(e=>e.type!==`reasoning`)}))}const Pe={id:`strip-reasoning`,label:`Strip Reasoning`,description:`Remove reasoning/thinking blocks from messages`,category:`transformation`,async execute(e){return{kind:`messages`,messages:Ne(e)}}};function Fe(e){return e.map(e=>({...e,blocks:e.blocks.map(e=>{if(e.type===`tool_output`){let t=e.output.length;return{...e,output:`[output removed - ${t} chars]`}}return e})}))}const Ie={id:`strip-tool-outputs`,label:`Strip Tool Outputs`,description:`Remove tool output contents, keep structure`,category:`transformation`,async execute(e){return{kind:`messages`,messages:Fe(e)}}};async function H(e,t){let n=[],r=[],i=[],a=!1,o=!1,c=!1,l=[],u,d=t,f;for(;d;){let n=await e.request(s.get,{sessionId:d});if(!n.session){c=!0;break}d===t&&(u=n.session.forkTransforms??void 0),l.unshift({sessionId:d,forkPointMessageId:n.session.forkPointMessageId??void 0}),f=n.session.parentSessionId??void 0,d=f}for(let t=0;t<l.length;t++){let{sessionId:s}=l[t],c=t===l.length-1,u=l[t+1]?.forkPointMessageId;n.push(s);let d=await Me(e,{sessionId:s});if(d.hasSquashBoundary&&(a=!0,c||(r.length=0)),d.truncated&&(o=!0),c)i=d.messages;else for(let e of d.messages)if(r.push(e),u&&e.messageId===u)break}return u&&(r=await Le(r,u)),{messages:[...r,...i],hasSquashBoundary:a,sessionChain:n,truncated:o,incomplete:c}}async function Le(e,t){if(t.segments?.length){let n=t.segments[0].fromMessageId,r=t.segments[t.segments.length-1].toMessageId,i=e.findIndex(e=>e.messageId===n),a=e.findIndex(e=>e.messageId===r);if(i===-1||a===-1||i>a)return ze(e,t.segments);let o=e.slice(0,i),s=e.slice(i,a+1),c=e.slice(a+1),l=ze(s,t.segments);return[...o,...l,...c]}let n=e;if(t.removedMessageIds?.length){let e=new Set(t.removedMessageIds);n=n.filter(t=>!e.has(t.messageId))}return t.appliedPipeline?.length&&(n=(await V(n,t.appliedPipeline)).messages),n}function Re(e,t){let n=e;return t.stripReasoning&&(n=Ne(n)),t.stripToolOutputs&&(n=Fe(n)),n}function ze(e,t){let n=new Map;for(let t=0;t<e.length;t++)n.set(e[t].messageId,t);let r=[];for(let i of t){let t=n.get(i.fromMessageId),a=n.get(i.toMessageId);if(t===void 0||a===void 0){console.warn(`[getFullConversation] Skipping segment with missing boundary IDs`,{segmentKey:`${i.fromMessageId}..${i.toMessageId}`,fromMessageId:i.fromMessageId,toMessageId:i.toMessageId,hasFrom:t!==void 0,hasTo:a!==void 0});continue}let o=e.slice(t,a+1),s;switch(i.policy){case`exclude`:s=[];break;case`summarize`:if(i.summaryText){if(o.length===0)throw Error(`Cannot create synthetic summary message for empty segment: ${i.fromMessageId}..${i.toMessageId}`);s=[{messageId:`summary-${i.fromMessageId}-${i.toMessageId}`,turnId:null,sessionId:o[0].sessionId,role:`assistant`,contentText:i.summaryText,blocks:[{type:`text`,content:i.summaryText}],timestamp:o[o.length-1].timestamp}]}else s=o;break;default:s=o;break}if((i.policy!==`summarize`||!i.summaryText)&&i.overrides&&Object.keys(i.overrides).length>0){let e=new Set(Object.entries(i.overrides).filter(([,e])=>e===`exclude`).map(([e])=>e));s=s.filter(t=>!e.has(t.messageId))}s=Re(s,i),r.push(...s)}return r}function U(e){return{role:e.role,blocks:e.blocks}}async function Be(e,t){return{messageHistory:(await H(e,t.sessionId)).messages.map(U),isFirstTurn:!0}}async function Ve(e,t,n,r){if(t.cwd===n)return{swapped:!1};let i=await e.request(x.cwd.change,{agentId:t.agentId,adapterId:t.adapterId,adapterName:t.adapterName,adapterSessionId:t.adapterSessionId??``,sessionId:t.sessionId,newCwd:n,...r?.skipWarning?{skipWarning:!0}:{}});if(!i.success)throw Error(`Failed to change cwd for agent ${t.agentId}: ${i.reason??`unknown`}`);return i.previousCwd?(t.cwd=n,{swapped:!0,previousCwd:i.previousCwd}):(t.cwd=n,{swapped:!1})}async function He(e,t,n,r){let i=n===void 0||t.model===n,a=r?.reasoningEffort===void 0,o=!r?.providerConfigId;if(i&&a&&o)return{changed:!1};let s=r?.providerConfigId?await l(e,r.providerConfigId):void 0,c=await e.request(x.model.change,{agentId:t.agentId,adapterId:t.adapterId,adapterName:t.adapterName,adapterSessionId:t.adapterSessionId??``,...n!==void 0&&{newModel:n},...r?.reasoningEffort!==void 0&&{reasoningEffort:r.reasoningEffort},...r?.skipWarning!==void 0&&{skipWarning:r.skipWarning},...s!==void 0&&{providerContext:s}});if(!c.success)throw Error(`Failed to change model for agent ${t.agentId}: ${c.reason??`unknown`}`);return n!==void 0&&(t.model=n),{changed:!0,swapped:c.swapped??!1}}async function Ue(e,t,n){let r=[],i=new Set;for(let a of t){let t=await e.requestOptional(v.getAgent,{adapterId:a.adapterId,agentId:a.agentId});if(t.handled&&t.data.agent!==null)r.push(a);else{let t=await Ge(e,a,n);r.push(t),i.add(t.agentId)}}return{verifiedAgents:r,recoveredAgentIds:i}}async function We(e,t,n){let r=await H(e,t.sessionId),i=n?.pipeline??[];return{messageHistory:(i.length>0?(await V(r.messages,i)).messages:r.messages).map(U),isFirstTurn:!0}}async function Ge(e,t,n){let r=await z(e,t.adapterName).catch(()=>t.adapterId);return await e.request(v.rehydrateAgent,{adapterId:r,agentId:t.agentId,cwd:n.cwd,model:n.model??t.model,...t.adapterSessionId!==void 0&&{adapterSessionId:t.adapterSessionId},...n.resumeAdapterSessionId!==void 0&&{resumeAdapterSessionId:n.resumeAdapterSessionId}}),t.adapterId=r,t}function Ke(e,t){return t?.hasNewTransforms===!0||e.forkTransforms!==void 0}function qe(e,t){return e.adapterName!==void 0&&t!==e.adapterName}function W(e){let{session:t,sessionContext:n}=e;return e.adapterSupportsNative?qe(t,e.targetAdapterName)?{kind:`degrade`,reason:`adapter-mismatch`}:t.adapterSessionId?!t.machineId||!e.localMachineId?{kind:`degrade`,reason:`missing-machine-id`}:t.machineId===e.localMachineId?t.isImported&&t.isOrchestrated===!0?{kind:`degrade`,reason:`hybrid-imported-orchestrated`}:n?.hasCompression?{kind:`degrade`,reason:`compression-present`}:Ke(t,n)?{kind:`degrade`,reason:`transforms-present`}:n?.hasConnectorSwap?{kind:`degrade`,reason:`connector-swap`}:e.currentCwd&&e.targetCwd&&e.currentCwd!==e.targetCwd?{kind:`degrade`,reason:`cwd-mismatch`}:e.intent===`fork`&&t.forkPointMessageId&&e.midHistoryForkSupported!==!0?{kind:`degrade`,reason:`mid-history-unsupported`}:{kind:`native`}:{kind:`foreign`,machineId:t.machineId}:{kind:`degrade`,reason:`no-adapter-session`}:{kind:`degrade`,reason:`adapter-unsupported`}}const Je=t.postgres,G=D({turns:n},{turns:Je});async function Ye(e,t){let n=te(e.dialect);for(let r=1;;r++)try{await e.run(t());return}catch(e){if(r>=32||!n.capabilities.maxCounterAssignmentRaces||!n.errors.isUniqueViolationError(e,`uniq_turns_session_number`))throw e}}function Xe(e){if(e)try{let t=JSON.parse(e),n=E.safeParse(t);return n.success?n.data:void 0}catch{return}}function K(e){return e?JSON.stringify(e):null}function Ze(e){if(e)try{let t=JSON.parse(e),n=T.safeParse(t);return n.success?n.data:void 0}catch{return}}function q(e){let t=Ze(e.initiator);return{turnId:e.turnId,sessionId:e.sessionId,turnNumber:e.turnNumber,startedAt:e.startedAt,completedAt:e.completedAt??void 0,status:e.status,error:e.error??void 0,usage:Xe(e.usage),...t!==void 0&&{initiator:t}}}function Qe(e,t){let n=[$e(e,t),et(e,t),tt(e,t),nt(e,t),rt(e,t),it(e,t),at(e,t),ot(e,t)];return()=>n.forEach(e=>e())}function $e(e,t){let n=ee(t),{turns:r}=O(t,G);return e.on(o.create,async e=>{let{sessionId:i,turnId:a,initiator:o}=e.payload,s=Date.now(),c=a??crypto.randomUUID(),l=K(o);await Ye(n,()=>P`
3
- WITH next_num AS (
4
- SELECT COALESCE(MAX(turn_number), 0) + 1 AS n
5
- FROM turns
6
- WHERE session_id = ${i}
7
- )
8
- INSERT INTO turns (turn_id, session_id, turn_number, started_at, status, initiator)
9
- SELECT ${c}, ${i}, n, ${s}, ${`active`}, ${l}
10
- FROM next_num
11
- `);let[u]=await t.select({turnNumber:r.turnNumber}).from(r).where(M(r.turnId,c)),d={turnId:c,sessionId:i,turnNumber:u.turnNumber,startedAt:s,status:`active`,...o!==void 0&&{initiator:o}};e.setResult({turn:d})})}function et(e,t){let n=ee(t),{turns:r}=O(t,G);return e.on(o.ingestCompleted,async e=>{let{sessionId:i,turnAnchorId:a,startedAt:o,completedAt:s,status:c,error:l,usage:u,initiator:d}=e.payload,f=crypto.randomUUID(),p=K(d),m=u===void 0?null:JSON.stringify(u);await Ye(n,()=>P`
12
- WITH next_num AS (
13
- SELECT COALESCE(MAX(turn_number), 0) + 1 AS n
14
- FROM turns
15
- WHERE session_id = ${i}
16
- )
17
- INSERT INTO turns (turn_id, session_id, turn_number, started_at, completed_at, status, error, usage, initiator, turn_anchor_id)
18
- SELECT ${f}, ${i}, n, ${o}, ${s}, ${c}, ${l??null}, ${m}, ${p}, ${a}
19
- FROM next_num
20
- WHERE true
21
- ON CONFLICT(session_id, turn_anchor_id) DO UPDATE SET
22
- completed_at = excluded.completed_at,
23
- status = excluded.status,
24
- error = excluded.error,
25
- usage = excluded.usage
26
- `);let[h]=await t.select().from(r).where(k(M(r.sessionId,i),M(r.turnAnchorId,a))).limit(1);e.setResult({turn:q(h),created:h.turnId===f})})}function tt(e,t){let{turns:n}=O(t,G);return e.on(o.complete,async e=>{let{turnId:r,status:i,expectedStatus:a,error:o,usage:s}=e.payload,c=Date.now(),l=a?k(M(n.turnId,r),M(n.status,a),P`${n.status} not in ('completed', 'error')`):k(M(n.turnId,r),P`${n.status} not in ('completed', 'error')`),u={completedAt:c,status:i,error:o??null,...s!==void 0&&{usage:JSON.stringify(s)}},[d]=await t.update(n).set(u).where(l).returning();if(d){e.setResult({turn:q(d),transitioned:!0});return}let[f]=await t.select().from(n).where(M(n.turnId,r)).limit(1);if(!f)throw Error(`Turn not found: ${r}`);if(a){e.setResult({turn:q(f),transitioned:!1});return}if(!(f.status===`completed`||f.status===`error`)||s===void 0){e.setResult({turn:q(f),transitioned:!1});return}let[p]=await t.update(n).set({usage:JSON.stringify(s)}).where(k(M(n.turnId,r),P`${n.status} in ('completed', 'error')`)).returning();e.setResult({turn:q(p??f),transitioned:!1})})}function nt(e,t){let{turns:n}=O(t,G);return e.on(o.set,async e=>{let{turn:r}=e.payload,i={turnId:r.turnId,sessionId:r.sessionId,turnNumber:r.turnNumber,startedAt:r.startedAt,completedAt:r.completedAt??null,status:r.status,error:r.error??null,usage:r.usage?JSON.stringify(r.usage):null,initiator:K(r.initiator)};await t.insert(n).values(i).onConflictDoUpdate({target:n.turnId,set:i}),e.setResult({turn:r})})}function rt(e,t){let{turns:n}=O(t,G);return e.on(o.get,async e=>{let{turnId:r}=e.payload,[i]=await t.select().from(n).where(M(n.turnId,r)).limit(1);e.setResult({turn:i?q(i):null})})}function it(e,t){let{turns:n}=O(t,G);return e.on(o.getBySession,async e=>{let{sessionId:r,limit:i,status:a}=e.payload,o=t.select().from(n).where(M(n.sessionId,r)).orderBy(A(n.turnNumber));a&&(o=t.select().from(n).where(k(M(n.sessionId,r),M(n.status,a))).orderBy(A(n.turnNumber))),i&&(o=o.limit(i));let s=await o;e.setResult({turns:s.map(q)})})}function at(e,t){let{turns:n}=O(t,G);return e.on(o.getActive,async e=>{let{sessionId:r}=e.payload,[i]=await t.select().from(n).where(k(M(n.sessionId,r),M(n.status,`active`))).orderBy(j(n.turnNumber)).limit(1);e.setResult({turn:i?q(i):null})})}function ot(e,t){let{turns:n}=O(t,G);return e.on(o.listActive,async e=>{let r=await t.select().from(n).where(M(n.status,`active`)).orderBy(A(n.startedAt));e.setResult({turns:r.map(q)})})}function st(e){let t=new Map,n=new Map,r=new Map,i=ct(t,n,r),a=new Map,o=[lt(e,i,r),ut(e,t,i,r,a),dt(e,t,i),ft(e,i),pt(e,t),mt(e,t,n),ht(e,t,n),gt(e,t)];return()=>o.forEach(e=>e())}function ct(e,t,n){return r=>{e.set(r.turnId,r);let i=t.get(r.sessionId)??[];i.includes(r.turnId)||i.push(r.turnId),t.set(r.sessionId,i);let a=n.get(r.sessionId)??0;r.turnNumber>a&&n.set(r.sessionId,r.turnNumber)}}function lt(e,t,n){return e.on(o.create,e=>{let{sessionId:r,turnId:i,initiator:a}=e.payload,o=Date.now(),s={turnId:i??crypto.randomUUID(),sessionId:r,turnNumber:(n.get(r)??0)+1,startedAt:o,status:`active`,...a!==void 0&&{initiator:a}};t(s),e.setResult({turn:s})})}function ut(e,t,n,r,i){return e.on(o.ingestCompleted,e=>{let{sessionId:a,turnAnchorId:o,startedAt:s,completedAt:c,status:l,error:u,usage:d,initiator:f}=e.payload,p=i.get(a)??new Map,m=p.get(o);if(m!==void 0){let r=t.get(m);if(!r)throw Error(`Turn not found for anchor in session: ${a}`);let i={...r,completedAt:c,status:l,error:u??void 0,usage:d??void 0};n(i),e.setResult({turn:i,created:!1});return}let h={turnId:crypto.randomUUID(),sessionId:a,turnNumber:(r.get(a)??0)+1,startedAt:s,completedAt:c,status:l,error:u??void 0,usage:d??void 0,...f!==void 0&&{initiator:f}};n(h),p.set(o,h.turnId),i.set(a,p),e.setResult({turn:h,created:!0})})}function dt(e,t,n){return e.on(o.complete,e=>{let{turnId:r,status:i,expectedStatus:a,error:o,usage:s}=e.payload,c=t.get(r);if(!c)throw Error(`Turn not found: ${r}`);if(a&&c.status!==a){e.setResult({turn:c,transitioned:!1});return}let l=c.status===`completed`||c.status===`error`,u=l?{...c,usage:s??c.usage}:{...c,completedAt:Date.now(),status:i,error:o??void 0,usage:s??c.usage};n(u),e.setResult({turn:u,transitioned:!l})})}function ft(e,t){return e.on(o.set,e=>{let{turn:n}=e.payload;t(n),e.setResult({turn:n})})}function pt(e,t){return e.on(o.get,e=>{e.setResult({turn:t.get(e.payload.turnId)??null})})}function mt(e,t,n){return e.on(o.getBySession,e=>{let{sessionId:r,status:i,limit:a}=e.payload,o=(n.get(r)??[]).map(e=>t.get(e)).filter(e=>!!e);i&&(o=o.filter(e=>e.status===i)),o.sort((e,t)=>e.turnNumber-t.turnNumber),a&&(o=o.slice(0,a)),e.setResult({turns:o})})}function ht(e,t,n){return e.on(o.getActive,e=>{let{sessionId:r}=e.payload,i=(n.get(r)??[]).map(e=>t.get(e)).filter(e=>!!e).filter(e=>e.status===`active`).sort((e,t)=>t.turnNumber-e.turnNumber).at(0);e.setResult({turn:i??null})})}function gt(e,t){return e.on(o.listActive,e=>{let n=[...t.values()].filter(e=>e.status===`active`).sort((e,t)=>e.startedAt-t.startedAt);e.setResult({turns:n})})}function _t(e){return{source:e.source,...e.sourceId!==void 0&&{sourceId:e.sourceId}}}var vt=class{turnId;sessionId;turnNumber;startedAt;_initiator;_agentIds;_messageIds=[];_pendingMessageAppends=new Set;_completedAgents=new Set;_erroredAgents=new Map;constructor(e){if(!Number.isInteger(e.turnNumber)||e.turnNumber<1)throw Error(`turnNumber must be a positive integer`);this.turnId=e.turnId??crypto.randomUUID(),this.sessionId=e.sessionId,this.turnNumber=e.turnNumber,this.startedAt=e.startedAt??Date.now(),this._initiator=Object.freeze(_t(e.initiator??{source:`user`})),this._agentIds=Object.freeze([...e.agentIds])}get agentIds(){return this._agentIds}get initiator(){return _t(this._initiator)}get messageIds(){return this._messageIds}get hasPendingMessageAppends(){return this._pendingMessageAppends.size>0}get completedAgents(){return this._completedAgents}get erroredAgents(){return this._erroredAgents}addMessage(e){this._pendingMessageAppends.delete(e),this._messageIds.push(e)}claimMessageAppend(e){this._pendingMessageAppends.add(e)}releaseMessageAppend(e){this._pendingMessageAppends.delete(e)}markAgentCompleted(e){return this.getAgentTerminalOutcome(e)===void 0?(this._completedAgents.add(e),this.checkCompletion()):{turnComplete:!1}}markAgentErrored(e,t){return this.getAgentTerminalOutcome(e)===void 0?(this._erroredAgents.set(e,t),this.checkCompletion()):{turnComplete:!1}}hasAgent(e){return this._agentIds.includes(e)}isComplete(){return new Set([...this._completedAgents,...this._erroredAgents.keys()]).size>=this._agentIds.length}getResult(){return{success:this._erroredAgents.size===0,errors:Array.from(this._erroredAgents.values())}}getContext(){if(this._messageIds.length===0)throw Error(`Turn ${this.turnId} has no messages yet`);return{turnId:this.turnId,messageId:this._messageIds[this._messageIds.length-1]}}getContextForMessage(e){return{turnId:this.turnId,messageId:e}}getAgentTerminalOutcome(e){if(this._completedAgents.has(e))return`completed`;if(this._erroredAgents.has(e))return`errored`}checkCompletion(){return this.isComplete()?{turnComplete:!0,result:this.getResult()}:{turnComplete:!1}}};function J(e){return typeof e==`string`?e:(Array.isArray(e.blocks)?e.blocks:[e.blocks]).filter(e=>e.type===`text`).map(e=>e.content).join(`
27
- `)}function yt(e){return e}function bt(e){return typeof e==`string`?[{type:`text`,content:e}]:(Array.isArray(e.blocks)?e.blocks:[e.blocks]).map(yt)}async function xt(e,t,n,r,i){let{session:a}=await e.request(w.get,{sessionId:t});if(a){if(a.status!==`active`)throw Error(`[getOrCreateSession] Session is not active: ${t}`);return{sessionId:t,session:a}}await e.request(w.create,{sessionId:t,originWindowId:r,...i!==void 0&&{machineId:i}});let{session:o}=await e.request(w.get,{sessionId:t});if(!o)throw Error(`[getOrCreateSession] Failed to create session: ${t}`);return{sessionId:t,session:o}}function St(e,t){if(t===void 0){let t=e.agents.find(t=>t.agentId===e.leadAgentId);if(!t)throw Error(`[resolveTargetAgents] Lead agent not found: ${e.leadAgentId}`);return[t]}if(t===`all`)return e.agents;let n=new Set(t);return e.agents.filter(e=>n.has(e.agentId))}function Ct(e,t){for(let n of e.values())if(n.hasAgent(t))return n}function wt(e,t){if(e===`extension`){let e=t?.trim();if(!e)throw Error(`extensionId is required when source is "extension"`);return{source:`extension`,sourceId:e}}return e?{source:e}:{source:`user`}}function Y(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}async function Tt(e,t,n,r){let{adapterName:i}=await e.request(d.resolveName,{adapterId:t});if(n&&i!==n)throw Error(`${r}adapterName "${n}" does not match adapterId "${t}"`);return i}async function Et(e,t,n,r){if(r!==void 0&&t!==void 0&&t!==r.providerConfigId)throw Error(`[attach-handler] providerConfigId '${t}' does not match resolved provider context '${r.providerConfigId}'`);let i=t??r?.providerConfigId??n?.providerConfigId;return r===void 0?{providerConfigId:i,providerContext:i===void 0?void 0:await l(e,i)}:{providerConfigId:i,providerContext:r}}async function Dt(e,t,n,r,i,a,o){try{return await kt(e,t,r,i,a,o)}catch(t){throw console.error(`[attach-handler] Failed to set up initial-message turn, rolling back started agent`,{sessionId:r,agentId:i,adapterId:n.adapterId,error:t}),await Ot(e,n,r,`initial-message turn setup failure`),t}}async function Ot(e,t,n,r){try{await e.request(v.stopAgent,{adapterId:t.adapterId,agentId:t.agentId})}catch(e){console.error(`[attach-handler] Failed to rollback started agent after ${r}`,{sessionId:n,agentId:t.agentId,adapterId:t.adapterId,error:e})}}async function kt(e,t,n,r,i,a){let{turn:s}=await e.request(o.create,{sessionId:n}),c=new vt({sessionId:n,agentIds:[r],turnId:s.turnId,turnNumber:s.turnNumber});try{await e.requestOptional(m.append,{message:{messageId:i,turnId:c.turnId,sessionId:n,role:`user`,contentText:J(a),blocks:bt(a),timestamp:Date.now()}})}catch(t){console.warn(`[attach-handler] Failed to store initial user message`,{sessionId:n,messageId:i,error:t instanceof Error?t.message:String(t)});try{await e.requestOptional(o.complete,{turnId:c.turnId,status:`error`,expectedStatus:`active`,error:`initial-message-persistence-failed`})}catch(e){console.error(`[attach-handler] Failed to rollback initial-message turn after message persistence failure`,{sessionId:n,turnId:c.turnId,error:e})}throw t}c.addMessage(i),t.set(n,c);try{await At(e,n,c,r,i,a)}catch(e){throw t.get(n)?.turnId===c.turnId&&t.delete(n),e}return{messageId:i,turnId:c.turnId}}async function At(e,t,n,r,i,a){await Ee(e,{sessionId:t,turnId:n.turnId,turnNumber:n.turnNumber,messageId:i,agentIds:[...n.agentIds],ingestionMarker:`live`}),await e.emit(w.user_message.sent,{sessionId:t,turnId:n.turnId,turnNumber:n.turnNumber,messageId:i,content:a,agentIds:[...n.agentIds]}),await e.emit(w.user_message.acknowledged,{sessionId:t,turnId:n.turnId,turnNumber:n.turnNumber,messageId:i,agentId:r})}function jt(e){return{...e.model!==void 0&&{model:e.model},...e.reasoningEffort!==void 0&&{reasoningEffort:e.reasoningEffort},...e.cwd!==void 0&&{cwd:e.cwd},...e.allowedTools!==void 0&&{allowedTools:e.allowedTools},...e.disallowedTools!==void 0&&{disallowedTools:e.disallowedTools},...e.allowedDirectories!==void 0&&{allowedDirectories:e.allowedDirectories},...e.env!==void 0&&{env:e.env},...e.mcpSessionContext!==void 0&&{mcpSessionContext:e.mcpSessionContext},...e.adapterConfig!==void 0&&{adapterConfig:e.adapterConfig},...e.systemPrompt!==void 0&&{systemPrompt:e.systemPrompt}}}function Mt(e,t,n){let r=e.model??t?.model,i=e.cwd;return{runtimeOptions:Pt({model:r,reasoningEffort:e.reasoningEffort??t?.reasoningEffort,cwd:i,allowedTools:e.allowedTools??t?.allowedTools,disallowedTools:e.disallowedTools??t?.disallowedTools,allowedDirectories:e.allowedDirectories??t?.allowedDirectories,env:e.env,mcpSessionContext:e.mcpSessionContext,adapterConfig:e.adapterConfig,systemPrompt:e.systemPrompt??t?.systemPrompt,providerContext:n}),mergedModel:r,mergedCwd:i}}function Nt(e,t,n){let r=e??t;return{effectiveCwd:r,effectiveRuntimeOptions:r!==void 0&&n.cwd===void 0?{...n,cwd:r}:n}}function Pt(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0))}function Ft(e,t,n,r,i,a,o,s){return a?{mode:`resume`,adapterId:e,sessionId:t,adapterSessionId:a,role:r,...i,...n!==void 0&&{initialMessage:n},...o!==void 0&&{harnessId:o}}:{adapterId:e,sessionId:t,role:r,...i,...n!==void 0&&{initialMessage:n},...o!==void 0&&{harnessId:o},...s!==void 0&&{sessionContext:s}}}async function It(e,t){let{adapterId:n,sessionId:r,initialMessage:i,role:a,effectiveRuntimeOptions:o,resumeAdapterSessionId:s,harnessId:c,attachSessionContext:l,providerContext:d}=t,f=Ft(n,r,i,a,o,s,c,l);d!==void 0&&await u(e,d);let p=await e.request(v.startAgent,f);if(!p.success)throw Error(`[attach-handler] Failed to start agent: ${p.message}`);return p}async function Lt(e,t,n){let r=await H(e,t);if(r.messages.length===0)return n;let i=r.messages.map(U);return{...n,messageHistory:i,isFirstTurn:!0}}function Rt(e,t,n){let r=e.on(w.agent.attach,async r=>{r.setResult(await Ut(e,t,n,r.payload))}),i=e.on(w.agent.attachResolved,async r=>{if(!r.origin.local)throw Error(`[attach-handler] session.agent.attachResolved requires a local-origin request`);r.setResult(await Ut(e,t,n,{...r.payload,resolvedProviderContext:r.payload.agent.providerContext===void 0?void 0:C.parse(r.payload.agent.providerContext)}))});return()=>{r(),i()}}async function zt(e,t){try{let n=await e();return n.handled?t(n.data):!1}catch{return!1}}async function Bt(e,t){return zt(()=>e.requestOptional(v.getCapabilities,{adapterId:t}),e=>new Set(e.capabilities).has(`session:resume`))}async function Vt(e,t,n){return zt(()=>e.requestOptional(v.listAgents,{adapterId:t}),e=>e.agents.some(e=>e.adapterSessionId===n))}async function Ht(e){let{bus:t,adapterId:n,adapterName:r,session:i,machineId:a,effectiveCwd:o}=e,s=W({intent:`resume`,session:i,localMachineId:a,adapterSupportsNative:await Bt(t,n),targetAdapterName:r,currentCwd:i.targetWorkingDirectory,targetCwd:o});if(s.kind===`native`&&i.adapterSessionId!==void 0&&await Vt(t,n,i.adapterSessionId)){let e={kind:`degrade`,reason:`agent-already-started`};return L(t,{sessionId:i.sessionId,intent:`resume`,verdict:e,adapterId:n}),{resumeAdapterSessionId:void 0,attachSessionContext:{nativeLocality:e}}}return s.kind!==`native`&&L(t,{sessionId:i.sessionId,intent:`resume`,verdict:s,adapterId:n}),{resumeAdapterSessionId:s.kind===`native`?i.adapterSessionId:void 0,attachSessionContext:s.kind===`native`?void 0:{nativeLocality:s}}}async function Ut(e,t,n,r){let{sessionId:i,agent:a,initialMessage:o,role:s,resolvedProviderContext:c}=r,l=jt(a),u=await Jt(e,i),d=await qt(e,i,o,a),f=Gt(a,d),{adapterName:p,adapterId:m}=await Kt(e,f.adapterName,f.adapterId,n),{providerConfigId:h,providerContext:g}=await Et(e,a.providerConfigId,d,c),{runtimeOptions:_,mergedModel:v,mergedCwd:y}=Mt(l,d,g),{effectiveCwd:b,effectiveRuntimeOptions:x}=Nt(y,u.targetWorkingDirectory,_),S=Yt(u,s),C=await Ht({bus:e,adapterId:m,adapterName:p,session:u,machineId:n,effectiveCwd:b}),{resumeAdapterSessionId:w}=C,T=C.attachSessionContext?await Lt(e,i,C.attachSessionContext):void 0,E=await It(e,{adapterId:m,sessionId:i,initialMessage:o,role:S,effectiveRuntimeOptions:x,resumeAdapterSessionId:w,harnessId:d?.harnessId,attachSessionContext:T,providerContext:g});await Zt(e,E,{adapterName:p,sessionId:i,role:S,timestamp:Date.now(),personaId:Wt(a),profileId:d?.profileId,harnessId:d?.harnessId,providerConfigId:h,compressionMode:d?.compressionMode,model:v,cwd:b});let D=o&&E.messageId?await Dt(e,t,E,i,E.agentId,E.messageId,o):void 0;return{agentId:E.agentId,adapterSessionId:E.adapterSessionId,role:S,...D&&{messageId:D.messageId,turnId:D.turnId}}}function Wt(e){return e.kind===`persona`?e.personaId:void 0}function Gt(e,t){return{adapterName:e.kind===`adapter`&&`adapterName`in e?e.adapterName:t?.adapterName,adapterId:e.kind===`adapter`&&`adapterId`in e?e.adapterId:void 0}}async function Kt(e,t,n,r){let i=Y(t),a=Y(n);if(!i&&!a)throw Error(`[attach-handler] adapterName or adapterId is required — provide one explicitly or via persona/profile/virtualModel resolution`);if(a)return{adapterName:await Tt(e,a,i,`[attach-handler] `),adapterId:a};let o=i;return{adapterName:o,adapterId:await z(e,o,r)}}async function qt(e,t,n,r){if(r.kind===`adapter`)return null;let i=n?J(n):void 0;return e.request(y.resolve,{selection:r,context:{sessionId:t,promptText:i}})}async function Jt(e,t){let{session:n}=await e.request(w.get,{sessionId:t});if(!n)throw Error(`[attach-handler] Session not found: ${t}`);if(n.status!==`active`)throw Error(`[attach-handler] Session is not active: ${t}`);return n}function Yt(e,t){let n=e.agents.length===0;return t??(n?`lead`:`member`)}async function Xt(e,t){!t.personaId&&!t.profileId&&!t.harnessId&&!t.providerConfigId||await e.request(ke.set,{agentId:t.agentId,agent:{agentId:t.agentId,adapterId:t.adapterId,adapterName:t.adapterName,sessionId:t.sessionId,role:t.role,status:`idle`,personaId:t.personaId,profileId:t.profileId,harnessId:t.harnessId,providerConfigId:t.providerConfigId,createdAt:t.timestamp,lastActivityAt:t.timestamp,...t.model!==void 0&&{model:t.model},...t.cwd!==void 0&&{cwd:t.cwd},...t.compressionMode!==void 0&&{compressionMode:t.compressionMode}}})}async function Zt(e,t,n){try{await Xt(e,{agentId:t.agentId,adapterId:t.adapterId,adapterName:n.adapterName,sessionId:n.sessionId,role:n.role,timestamp:n.timestamp,personaId:n.personaId,profileId:n.profileId,harnessId:n.harnessId,providerConfigId:n.providerConfigId,compressionMode:n.compressionMode,model:n.model,cwd:n.cwd})}catch(r){throw console.error(`[attach-handler] Failed to persist agent identity, rolling back started agent`,{sessionId:n.sessionId,agentId:t.agentId,adapterId:t.adapterId,error:r}),await Ot(e,t,n.sessionId,`identity persistence failure`),r}}function X(e){if(e instanceof ae)return e;if(e instanceof Error&&e.cause instanceof ae)return e.cause}async function Qt(e,t,n,r,i,a,o,s,c,l){let u=n.map(async n=>{try{await e.request(x.sendMessage,{agentId:n.agentId,adapterId:n.adapterId,message:r,deliveryMode:o,messageId:i,turnId:a.turnId,sessionId:t.sessionId,sessionContext:c,...l!==void 0&&{responseSchema:l}}),await e.emit(w.user_message.acknowledged,{sessionId:a.sessionId,turnId:a.turnId,turnNumber:a.turnNumber,messageId:i,agentId:n.agentId})}catch(t){if(X(t)!==void 0){await e.emit(w.user_message.completed,{sessionId:a.sessionId,turnId:a.turnId,turnNumber:a.turnNumber,messageId:i,agentId:n.agentId,outcome:`cancelled`});let t=a.markAgentCompleted(n.agentId);t.turnComplete&&await s(a,t.result);return}let r=t instanceof Error?t.message:String(t),o=a.markAgentErrored(n.agentId,r);await e.emit(w.user_message.completed,{sessionId:a.sessionId,turnId:a.turnId,turnNumber:a.turnNumber,messageId:i,agentId:n.agentId,outcome:`error`,error:r}),o.turnComplete&&await s(a,o.result)}});await Promise.all(u)}function $t(e){return e.on(w.abandon,async t=>{let{parentSessionId:n,childSessionId:r}=t.payload,{session:i}=await e.request(w.get,{sessionId:r});if(!i)throw Error(`[abandon-handler] Child session not found: ${r}`);if(i.parentSessionId!==n)throw Error(`[abandon-handler] Invalid parent-child relationship: session ${r} is not a child of ${n}`+(i.parentSessionId?` (actual parent: ${i.parentSessionId})`:` (session has no parent)`));if(!(await e.request(w.close,{sessionId:r})).success)throw Error(`[abandon-handler] Failed to close child session: ${r}`);await e.emit(w.abandoned,{sessionId:r,parentSessionId:n}),t.setResult({success:!0})})}const en={id:`messages-to-context`,label:`Export as Context`,description:`Convert messages to context JSON (final step)`,category:`extraction`,async execute(e){let t=e.map(e=>({role:e.role,content:e.blocks.map(e=>e.type===`text`?e.content:e.type===`reasoning`?`[reasoning: ${e.content}]`:e.type===`tool_call`?`[tool: ${e.name}]`:e.type===`tool_output`?e.output:``).filter(Boolean).join(`
28
- `)})),n=t.reduce((e,t)=>e+t.content.length,0),r=Math.ceil(n/4);return{kind:`context`,json:{type:`compressed-messages`,messageCount:e.length,messages:t},tokenEstimate:r}}},tn={id:`llm-summarize`,label:`Summarize`,description:`LLM-generated summary of selected messages`,category:`transformation`,async execute(e){return{kind:`messages`,messages:e}}};function nn(e){let t=[];for(let n of e){let e=n.blocks.filter(e=>e.type===`text`).map(e=>e.content).join(`
29
- `);e&&(n.role===`user`?t.push(`[human]\n${e}\n[/human]`):n.role===`assistant`&&t.push(`[assistant]\n${e}\n[/assistant]`))}return`<conversation>\n${t.join(`
30
-
31
- `)}\n</conversation>`}function rn(e){return{id:`llm-extract`,label:`LLM Extract`,description:`Extract structured context using a cheap LLM model (requires virtualModelId in options)`,category:`extraction`,async execute(t,n){let r={kind:`messages`,messages:t},i=n?.virtualModelId;if(typeof i!=`string`)return r;let a=(typeof n?.sessionId==`string`&&n.sessionId.length>0?n.sessionId:void 0)??t[0]?.sessionId;if(typeof a!=`string`||a.length===0)return r;try{let n=await e.request(y.resolve,{selection:{kind:`virtual-model`,virtualModelId:i},context:{sessionId:a}}),{adapterId:r}=await e.request(oe.resolveId,{adapterName:n.adapterName}),o=nn(t),s=n.providerConfigId?await se(e,n.providerConfigId):void 0,{text:c}=await e.request(v.infer,{adapterId:r,prompt:o,model:n.model,systemPrompt:`You are a context extraction assistant. Analyze the following conversation and extract structured information. Respond with ONLY valid JSON matching this exact schema — no markdown, no explanation, no code fences:
32
-
33
- {
34
- "resolved_items": ["string — completed work with resolution details"],
35
- "known_bugs": [{ "issue": "string", "location": "string", "impact": "string" }],
36
- "todos": [{ "issue": "string", "location": "string", "priority": "high|medium|low" }],
37
- "key_decisions_and_rationale": ["string — decision with reasoning"],
38
- "technical_details": {
39
- "files": ["string — file paths mentioned"],
40
- "schemas": {},
41
- "apis": ["string — API endpoints or contracts"],
42
- "config": {}
43
- },
44
- "constraints_and_requirements": ["string — constraints or non-negotiable requirements"],
45
- "current_state": "string — one paragraph summary of where work stands now",
46
- "roadmap": ["string — future work items in priority order"],
47
- "data_flows": ["string — key data movement patterns"],
48
- "component_interactions": { "ComponentName": "string — description of its role" },
49
- "key_files": { "filepath": "string — what this file does" },
50
- "helpful_hint": ["string — quick reference hints for resuming work"]
51
- }
52
-
53
- Rules:
54
- - Omit array items you have no evidence for (prefer empty array over fabrication).
55
- - current_state MUST be present; write "No summary available" if you cannot determine it.
56
- - Extract only facts stated or clearly implied in the conversation. Do not invent.
57
- - key_files and component_interactions should only include items explicitly mentioned.`,...s!==void 0&&{providerContext:s}}),l=c.trim().replace(/^```(?:json)?\s*/i,``).replace(/\s*```$/i,``).trim(),u=JSON.parse(l),d=h.parse(u),f=Math.ceil(JSON.stringify(d).length/4);return{kind:`context`,json:{...d},tokenEstimate:f}}catch(e){return console.warn(`[llm-extract] action failed`,{action:`llm-extract`,sessionId:a,error:e}),r}}}}let Z=!1,Q=!1;function an(e){Z||(Z=!0,B.register(Pe),B.register(Ie),B.register(en),B.register(tn)),e&&!Q&&(Q=!0,B.register(rn(e)))}function on(){Z=!1,Q=!1}function sn(e){return an(e),e.on(w.compress,async t=>{let{sessionId:n,pipeline:r}=t.payload,{messages:a}=await e.request(m.getBySession,{sessionId:n,limit:1e4}),o=await V(a,r,{sessionId:n});if(!o.contextJson)throw Error(`[compress-handler] Compress pipeline must produce context JSON (sessionId=${n})`);let s=a.map(e=>e.messageId),c=Math.ceil(a.reduce((e,t)=>e+JSON.stringify(t.blocks).length/4,0)),l=crypto.randomUUID();await e.request(i.append,{event:{sessionId:n,eventId:l,timestamp:Date.now(),type:`squash`,payload:{summaryJson:JSON.stringify(o.contextJson),tokensBefore:c,tokensAfter:o.tokenEstimate,compressedMessageIds:s}}}),await e.emit(w.compressed,{sessionId:n,eventId:l}),t.setResult({eventId:l,contextJson:o.contextJson,tokensBefore:c,tokensAfter:o.tokenEstimate})})}async function cn(e,t,n,r){if(!n.segments?.length)return!1;let i=[],a;do{let{messages:n,nextCursor:o}=await e.request(m.getBySession,{sessionId:t,order:`asc`,limit:200,after:a});i.push(...n),a=r&&n.some(e=>e.messageId===r)?void 0:o??void 0}while(a);if(i.length===0)throw Error(`[fork-handler] Segment transforms require at least one source message (sourceSessionId=${t})`);let o=i;if(r){let e=i.findIndex(e=>e.messageId===r);if(e===-1)throw Error(`[fork-handler] Fork point message not found in source message list: ${r} (sourceSessionId=${t})`);o=i.slice(0,e+1)}let s=new Map;o.forEach((e,t)=>{s.set(e.messageId,t)});let c=-1;for(let e of n.segments){if(!e.fromMessageId||!e.toMessageId)throw Error(`[fork-handler] Segment must have fromMessageId and toMessageId (sourceSessionId=${t})`);let n=s.get(e.fromMessageId),r=s.get(e.toMessageId);if(n===void 0||r===void 0)throw Error(`[fork-handler] Segment boundaries must reference source messages: ${e.fromMessageId}..${e.toMessageId} (sourceSessionId=${t})`);if(n>r)throw Error(`[fork-handler] Segment range is reversed: ${e.fromMessageId}..${e.toMessageId} (sourceSessionId=${t})`);if(n<=c)throw Error(`[fork-handler] Segments must not overlap and must be ordered (sourceSessionId=${t})`);if(n!==c+1)throw Error(`[fork-handler] Segments must be contiguous without gaps (sourceSessionId=${t})`);c=r}if(c!==o.length-1)throw Error(`[fork-handler] Segments must cover the entire source message range (sourceSessionId=${t})`);return!0}function ln(e){if(!e.segments?.length&&e.appliedPipeline?.length)for(let t of e.appliedPipeline){let e=B.get(t.actionId);if(!e)throw Error(`[fork-handler] Unknown action in pipeline: ${t.actionId}`);if(e.category!==`transformation`)throw Error(`[fork-handler] Action '${t.actionId}' is category '${e.category}', but only 'transformation' actions are allowed in fork transforms`)}}function un(e,t){return e.on(w.fork,async n=>{let{sourceSessionId:r,fromMessageId:i,name:a,branchKind:o=`fork`,transforms:s,targetWorkingDirectory:c,metadata:l,existingSessionId:u}=n.payload,{session:d}=await e.request(w.get,{sessionId:r});if(!d)throw Error(`[fork-handler] Source session not found: ${r}`);if(i){let{message:t}=await e.request(m.get,{messageId:i});if(!t)throw Error(`[fork-handler] Fork point message not found: ${i} (sourceSessionId=${r})`);if(t.sessionId!==r)throw Error(`[fork-handler] Fork point message ${i} does not belong to session ${r}`)}s&&(await cn(e,r,s,i)||ln(s));let{sessionId:f}=await e.request(w.create,{...u?{sessionId:u}:{},parentSessionId:r,forkPointMessageId:i,branchKind:o,forkTransforms:s,...t!==void 0&&{machineId:t},...a?{title:a}:{},...c?{targetWorkingDirectory:c}:{},...l?{metadata:l}:{}});await e.emit(w.branch.created,{sessionId:r,childSessionId:f,parentSessionId:r,kind:o,forkPointMessageId:i,transforms:s}),await e.emit(w.forked,{parentSessionId:r,childSessionId:f,forkPoint:i}),n.setResult({sessionId:f})})}function dn(e){return e.on(w.merge,async t=>{let{parentSessionId:n,childSessionId:r,summary:a}=t.payload,o=`merge:${n}:${r}`,{session:s}=await e.request(w.get,{sessionId:n});if(!s)throw Error(`[merge-handler] Parent session not found: ${n}`);if(s.status!==`active`)throw Error(`[merge-handler] Parent session is not active: ${n}`);let{session:c}=await e.request(w.get,{sessionId:r});if(!c)throw Error(`[merge-handler] Child session not found: ${r}`);if(c.parentSessionId!==n)throw Error(`[merge-handler] Invalid parent-child relationship: session ${r} is not a child of ${n}`+(c.parentSessionId?` (actual parent: ${c.parentSessionId})`:` (session has no parent)`));await e.emit(w.merging,{parentSessionId:n,childSessionId:r});let l=a??`Child session ${r} merged.`;if(!(await e.request(w.close,{sessionId:r})).success)throw Error(`[merge-handler] Failed to close child session: ${r}`);let u=JSON.stringify({handoff:l});await e.request(i.append,{event:{sessionId:n,eventId:o,timestamp:Date.now(),type:`branch.merged`,payload:{childSessionId:r,parentSessionId:n,resultJson:u}}}),await e.emit(w.branch.merged,{sessionId:n,childSessionId:r,parentSessionId:n,resultJson:u}),await e.emit(w.merged,{parentSessionId:n,childSessionId:r,handoff:l}),t.setResult({success:!0,handoff:l})})}const $={enabled:!0,template:`User changed working directory from {oldCwd} to {newCwd}`};function fn(e,t,n){return e.replace(/\{oldCwd\}/g,t).replace(/\{newCwd\}/g,n)}function pn(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.enabled==`boolean`&&typeof t.template==`string`}async function mn(e){try{let t=await e.request(g.get,{key:{scope:`global`,surface:`ui`,context:`cwdChangeNotification`},category:`chat-display`});if(t.value!==null&&t.value!==void 0)return pn(t.value)?t.value:$}catch{}return $}function hn(e,t){return e??t.adapterName??``}async function gn(e,t,n,r,i){L(e,{sessionId:t,intent:`fork`,verdict:i});let a=(await H(e,t)).messages.map(U);return{...n,messageHistory:a,isFirstTurn:!0,hasNewTransforms:r.forkTransforms!==void 0,nativeLocality:i}}async function _n(e,t){let{message:n}=await e.request(m.get,{messageId:t});return n?.adapterMessageId??void 0}async function vn(e,t,n,r,i,a,c,l,u){if(!(t.parentSessionId!==void 0&&(t.contextInheritance===`parent-history`||t.contextInheritance===void 0&&t.branchKind!==`subagent`))||r?.messageHistory)return r;let{turns:d}=await e.request(o.getBySession,{sessionId:n,limit:2});if(!(i&&d.length<=1))return r;let f=t.parentSessionId;if(f===void 0)return r;let{session:p}=await e.request(s.get,{sessionId:f});if(p===null)return r;let m=l??t.targetWorkingDirectory,h=W({intent:`fork`,session:{...p,forkPointMessageId:t.forkPointMessageId,forkTransforms:t.forkTransforms},localMachineId:a,adapterSupportsNative:c?.adapterSupportsNativeFork===!0,targetAdapterName:hn(u,p),currentCwd:p.targetWorkingDirectory,targetCwd:m,sessionContext:r,midHistoryForkSupported:c?.midHistoryForkSupported===!0}),g=p.adapterSessionId;if(h.kind===`native`&&g!==void 0){if(t.forkPointMessageId!==void 0){let i=await _n(e,t.forkPointMessageId);if(i===void 0)return gn(e,n,r,t,{kind:`degrade`,reason:`fork-point-unresolvable`});let a={sourceSessionId:f,sourceAdapterSessionId:g,forkPointMessageId:i,...t.targetWorkingDirectory!==void 0&&{targetWorkingDirectory:t.targetWorkingDirectory}};return{...r,nativeLocality:h,nativeFork:a,isFirstTurn:!0}}let i={sourceSessionId:f,sourceAdapterSessionId:g,...t.targetWorkingDirectory!==void 0&&{targetWorkingDirectory:t.targetWorkingDirectory}};return{...r,nativeLocality:h,nativeFork:i,isFirstTurn:!0}}return gn(e,n,r,t,h)}async function yn(e,t,n){if(t.parentSessionId===void 0)return;let r=[...new Set(n.map(e=>e.adapterId))];if(r.length===0)return{adapterSupportsNativeFork:!1,midHistoryForkSupported:!1};let i=await Promise.all(r.map(async t=>{try{let n=await e.requestOptional(v.getCapabilities,{adapterId:t}),r=n.handled?new Set(n.data.capabilities):new Set;return{supportsNativeFork:r.has(`session:fork`),supportsMidHistoryFork:r.has(`session:forkAtMessage`)}}catch{return{supportsNativeFork:!1,supportsMidHistoryFork:!1}}}));return{adapterSupportsNativeFork:i.every(e=>e.supportsNativeFork),midHistoryForkSupported:i.every(e=>e.supportsMidHistoryFork)}}function bn(e){let{baseContext:t,recoveryContext:n,isRecovered:r,isSwapped:i,swapMeta:a,cwdMessage:o,freshMessageHistory:s}=e,c=r&&n?{...t,...n}:t;if(!i)return c;let l=a&&o!==void 0?{cwdChange:{previousCwd:a.previousCwd,newCwd:a.newCwd,message:o}}:void 0;return c={...c,hasConnectorSwap:!0,...s!==void 0&&{messageHistory:s},...l&&{turnContext:{...c?.turnContext,...l}}},c}async function xn(e,t){let{agentId:n,adapterId:r,message:i,deliveryMode:a,messageId:o,turnId:s,sessionId:c,sessionContext:l,responseSchema:u,turn:d}=t;await e.request(x.sendMessage,{agentId:n,adapterId:r,message:i,deliveryMode:a,messageId:o,turnId:s,sessionId:c,sessionContext:l,...u!==void 0&&{responseSchema:u}}),await e.emit(w.user_message.acknowledged,{sessionId:d.sessionId,turnId:d.turnId,turnNumber:d.turnNumber,messageId:o,agentId:n})}async function Sn(e,t,n){return{messageHistory:(await H(e,t.sessionId)).messages.filter(e=>e.messageId!==n).map(U),isFirstTurn:!0}}async function Cn(e,t,n,r){let{agentId:i,adapterId:a,message:o,deliveryMode:s,messageId:c,turnId:l,sessionId:u,responseSchema:d,turn:f}=n;try{await e.request(x.sendMessage,{agentId:i,adapterId:a,message:o,deliveryMode:s,messageId:c,turnId:l,sessionId:u,sessionContext:r,...d!==void 0&&{responseSchema:d}})}catch(n){if(X(n))throw n;let o={kind:`degrade`,reason:`native-attempt-failed`};L(e,{sessionId:u,intent:r.nativeFork?`fork`:`resume`,verdict:o,agentId:i,adapterId:a,turnId:l});let s=await Sn(e,t,c);return{...r,...s,nativeLocality:o,nativeFork:void 0}}return await e.emit(w.user_message.acknowledged,{sessionId:f.sessionId,turnId:f.turnId,turnNumber:f.turnNumber,messageId:c,agentId:i}),null}async function wn(e){let{bus:t,session:n,turn:r,message:i,messageId:a,deliveryMode:o,onTurnComplete:s,agent:c,responseSchema:l}=e,{agentContext:u}=e,d={agentId:c.agentId,adapterId:c.adapterId,message:i,deliveryMode:o,messageId:a,turnId:r.turnId,sessionId:n.sessionId,responseSchema:l,turn:r};try{if(u?.nativeLocality?.kind===`native`){let e=await Cn(t,n,d,u);if(e===null)return;u=e}await xn(t,{agentId:c.agentId,adapterId:c.adapterId,message:i,deliveryMode:o,messageId:a,turnId:r.turnId,sessionId:n.sessionId,sessionContext:u,responseSchema:l,turn:r})}catch(e){if(X(e)){await t.emit(w.user_message.completed,{sessionId:r.sessionId,turnId:r.turnId,turnNumber:r.turnNumber,messageId:a,agentId:c.agentId,outcome:`cancelled`});let e=r.markAgentCompleted(c.agentId);e.turnComplete&&await s(r,e.result);return}let n=e instanceof Error?e.message:String(e),i=r.markAgentErrored(c.agentId,n);await t.emit(w.user_message.completed,{sessionId:r.sessionId,turnId:r.turnId,turnNumber:r.turnNumber,messageId:a,agentId:c.agentId,outcome:`error`,error:n}),i.turnComplete&&await s(r,i.result)}}async function Tn(e,t,n){let r={kind:`degrade`,reason:`agent-already-started`};L(e,{sessionId:t.sessionId,intent:`fork`,verdict:r});let i=(await H(e,t.sessionId)).messages.map(U);return{...n,messageHistory:i,nativeFork:void 0,nativeLocality:r}}async function En(e){let{bus:t,session:n,agents:r,message:i,messageId:a,turn:o,deliveryMode:s,onTurnComplete:c,sessionContext:l,turnContextEnricher:u,isNewTurn:d,recoveryContext:f,recoveredAgentIds:p,swappedAgentIds:m,swappedAgentCwd:h,freshMessageHistory:g,responseSchema:_,localMachineId:v}=e,y=await yn(t,n,r),b=await vn(t,n,n.sessionId,l,d,v,y);b?.nativeFork&&(b=await Tn(t,n,b));let x=u?await u.enrichForDeliveryMode(b?.messageHistory,o.turnId,s):b?.messageHistory,S=b?{...b,messageHistory:x}:void 0,C=m?.size?await mn(t):$,w=r.map(async e=>{let r=h?.get(e.agentId),l=r&&C.enabled?fn(C.template,r.previousCwd,r.newCwd):void 0;await wn({bus:t,session:n,turn:o,message:i,messageId:a,deliveryMode:s,onTurnComplete:c,agent:e,agentContext:bn({baseContext:S,recoveryContext:f,isRecovered:p?.has(e.agentId)??!1,isSwapped:m?.has(e.agentId)??!1,swapMeta:r,cwdMessage:l,freshMessageHistory:g}),responseSchema:_})});await Promise.all(w)}export{B as A,Te as B,We as C,Ue as D,Ge as E,R as F,ke as I,I as L,z as M,je as N,Be as O,Ae as P,Ee as R,W as S,He as T,pe as V,J as _,sn as a,st as b,$t as c,Y as d,Tt as f,St as g,xt as h,un as i,Me as j,H as k,Qt as l,Ct as m,vn as n,an as o,wt as p,dn as r,on as s,En as t,Rt as u,bt as v,Ve as w,Qe as x,vt as y,De as z};