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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. package/dist/.makaio-build.json +2 -2
  2. package/dist/{adapter-B9vVBwli.mjs → adapter-CYobxqN_.mjs} +1 -1
  3. package/dist/adapters/claude/index.mjs +2 -2
  4. package/dist/adapters/config/index.d.mts +1 -1
  5. package/dist/adapters/config/index.mjs +1 -1
  6. package/dist/adapters/index.d.mts +2 -2
  7. package/dist/adapters/index.mjs +2 -2
  8. package/dist/adapters/node.d.mts +1 -1
  9. package/dist/adapters/node.mjs +1 -1
  10. package/dist/artifact-DCkizHkS.mjs +1 -0
  11. package/dist/attach-error-DCnzW-Yz.mjs +1 -0
  12. package/dist/authority-state-bootstrap-C_-F_dtq.mjs +1 -0
  13. package/dist/bus/index.d.mts +99 -4
  14. package/dist/bus/index.mjs +1 -1
  15. package/dist/bus-B6SAjgOC.mjs +2 -0
  16. package/dist/bus-C2l3K74u.mjs +1 -0
  17. package/dist/{canonical-model-C31NaBJs.mjs → canonical-model-EMRYCVjX.mjs} +1 -1
  18. package/dist/client-OYk0Ttck.mjs +1 -0
  19. package/dist/client-binary-version-verifier-Dv7TGFxh.mjs +2 -0
  20. package/dist/clients/index.d.mts +383 -13
  21. package/dist/clients/index.mjs +1 -1
  22. package/dist/clients/managed-install.d.mts +1 -1
  23. package/dist/clients/managed-install.mjs +1 -1
  24. package/dist/{context-resolution-D5jHK1w-.d.mts → context-resolution-DZSBOCKY.d.mts} +10 -10
  25. package/dist/contracts/adapter/index.d.mts +2 -2
  26. package/dist/contracts/adapter/index.mjs +1 -1
  27. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  28. package/dist/contracts/artifact/index.d.mts +2 -2
  29. package/dist/contracts/artifact/index.mjs +1 -1
  30. package/dist/contracts/auth/index.d.mts +2 -2
  31. package/dist/contracts/canonical-model/index.d.mts +1 -1
  32. package/dist/contracts/canonical-model/index.mjs +1 -1
  33. package/dist/contracts/client/index.d.mts +3 -3
  34. package/dist/contracts/client/index.mjs +1 -1
  35. package/dist/contracts/common/index.d.mts +1 -1
  36. package/dist/contracts/config/index.d.mts +1 -1
  37. package/dist/contracts/extension/index.d.mts +5 -4
  38. package/dist/contracts/facet/index.d.mts +1 -1
  39. package/dist/contracts/harness/index.d.mts +1 -1
  40. package/dist/contracts/host/index.d.mts +1 -1
  41. package/dist/contracts/index.d.mts +133 -94
  42. package/dist/contracts/index.mjs +1 -1
  43. package/dist/contracts/materialization/index.d.mts +4 -4
  44. package/dist/contracts/materialization/index.mjs +1 -1
  45. package/dist/contracts/model-registry/index.d.mts +1 -1
  46. package/dist/contracts/native-session-supervisor/index.d.mts +1 -1
  47. package/dist/contracts/platform/index.d.mts +1 -1
  48. package/dist/contracts/provider/index.d.mts +2 -2
  49. package/dist/contracts/session/index.d.mts +2 -2
  50. package/dist/contracts/session/index.mjs +1 -1
  51. package/dist/contracts/shared/index.d.mts +2 -2
  52. package/dist/contracts/skill/index.d.mts +1 -1
  53. package/dist/contracts/telemetry/index.d.mts +1 -1
  54. package/dist/contracts/timeout/index.d.mts +1 -1
  55. package/dist/contracts/variant/index.d.mts +1 -1
  56. package/dist/contracts/workflow/index.d.mts +2 -2
  57. package/dist/contracts/workflow/index.mjs +1 -1
  58. package/dist/core/index.d.mts +78 -3
  59. package/dist/core/index.mjs +1 -1
  60. package/dist/{detached-extension-handle-BVM-Ic-4.mjs → detached-extension-handle-BsywhHfk.mjs} +1 -1
  61. package/dist/{filesystem-service-qR9Zy5-r.mjs → filesystem-service-Cupz_Z7S.mjs} +1 -1
  62. package/dist/git/index.mjs +1 -1
  63. package/dist/{globby-DE358g5u.mjs → globby-DWp7V-P2.mjs} +1 -1
  64. package/dist/handlers-cMBmexF4.mjs +57 -0
  65. package/dist/hook-responses-mmqRa2Dq.d.mts +825 -0
  66. package/dist/{index-Du-AJm69.d.mts → index-0Ju2i8gV.d.mts} +20 -6
  67. package/dist/{index-DD9inq5h.d.mts → index-4NQLoI7R.d.mts} +1 -1
  68. package/dist/{index-DAVLhzkq.d.mts → index-8fJ6dkzR.d.mts} +2 -1
  69. package/dist/{index-BdsuBxEz.d.mts → index-BHQXXd-O.d.mts} +4 -4
  70. package/dist/{index-ZGPSCZdC.d.mts → index-BKeJ-Act.d.mts} +24 -10
  71. package/dist/{index-BPBSMsc8.d.mts → index-BWvTZJxe.d.mts} +20 -20
  72. package/dist/{index-BM7u_OTo.d.mts → index-B_aBwkE-.d.mts} +111 -94
  73. package/dist/{index-ChB3K_a12.d.mts → index-BhXCCgJV2.d.mts} +1 -1
  74. package/dist/{index-BcqWLD6J.d.mts → index-BsBvs0aK.d.mts} +117 -45
  75. package/dist/{index-D_lLZ2dU.d.mts → index-C81hMexK.d.mts} +129 -37
  76. package/dist/{index-DoJRv-c3.d.mts → index-CFqShlHD.d.mts} +85 -85
  77. package/dist/{index-DHejCnq8.d.mts → index-CHxWUmmA.d.mts} +3 -3
  78. package/dist/{index-BfNfKh4y.d.mts → index-CKccv4s2.d.mts} +20 -26
  79. package/dist/{index-TWs1TQ2-.d.mts → index-Cw7_69gV.d.mts} +1 -1
  80. package/dist/{index-DE29b4QM.d.mts → index-CzKLLQLw.d.mts} +8 -8
  81. package/dist/{index-CSyR9Fie2.d.mts → index-D73PTKXG2.d.mts} +3 -3
  82. package/dist/{index-DA5S_dj8.d.mts → index-DRiTICBU.d.mts} +1 -1
  83. package/dist/{index-XzetMf0e.d.mts → index-DitLUuR5.d.mts} +126 -42
  84. package/dist/{index-B_KmL_z8.d.mts → index-jbgHR5J2.d.mts} +1 -1
  85. package/dist/{index-B96HlWaM.d.mts → index-pjATMrvJ.d.mts} +10 -4
  86. package/dist/{index-CrbFA2kp.d.mts → index-t9fTvyq6.d.mts} +4 -4
  87. package/dist/kernel/cli/index.d.mts +2 -2
  88. package/dist/kernel/cli/register.d.mts +1 -1
  89. package/dist/kernel/extension/index.d.mts +1 -1
  90. package/dist/kernel/index.d.mts +5 -5
  91. package/dist/kernel/namespace/index.d.mts +1 -1
  92. package/dist/kernel/observability/index.d.mts +1 -1
  93. package/dist/kernel/providers/index.d.mts +1 -1
  94. package/dist/kernel/window/index.d.mts +1 -1
  95. package/dist/{lib-DhbCgfYD.mjs → lib-B7TpTzkG.mjs} +3 -3
  96. package/dist/{lib-6P8_sBCe.mjs → lib-BeMM738r.mjs} +1 -1
  97. package/dist/{load-extensions-jGQgvw6Z.d.mts → load-extensions-BLdG90Zi.d.mts} +1 -1
  98. package/dist/{load-extensions-5VckHXuw.mjs → load-extensions-CUmFCcYi.mjs} +1 -1
  99. package/dist/materialization-s8eR1eQ4.mjs +1 -0
  100. package/dist/mcp-http-server/index.mjs +1 -1
  101. package/dist/{namespace-C_phrzqu2.d.mts → namespace-BWsPZGiq2.d.mts} +5 -5
  102. package/dist/{namespace-CzZmsumy.d.mts → namespace-BeV7LST-.d.mts} +2 -2
  103. package/dist/{namespace-BTp6-zD8.d.mts → namespace-BsF9IxJ9.d.mts} +53 -5
  104. package/dist/{namespace-CpSZfHLv.d.mts → namespace-Db_PFX3v.d.mts} +36 -18
  105. package/dist/{namespace-Bldr5X64.d.mts → namespace-Dvo_7BQw.d.mts} +2 -2
  106. package/dist/{namespace-BwAiuQ2_.d.mts → namespace-lWlqWTKu.d.mts} +48 -4
  107. package/dist/node/bus-server/index.d.mts +1 -1
  108. package/dist/node/bus-server/index.mjs +1 -1
  109. package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
  110. package/dist/node/bus-server/server-lifecycle.mjs +1 -1
  111. package/dist/node/transports/index.d.mts +5 -3
  112. package/dist/node/transports/index.mjs +2 -2
  113. package/dist/package-DKnzOvoR.mjs +1 -0
  114. package/dist/{package-Brt4dhRC.mjs → package-DW1Upu8E.mjs} +1 -1
  115. package/dist/package.json +1 -1
  116. package/dist/{packages-BBJsifai.d.mts → packages-DeIgn0Hn.d.mts} +2 -2
  117. package/dist/packages-zDnokBpl.mjs +1 -0
  118. package/dist/rules/index.d.mts +1 -1
  119. package/dist/rules/index.mjs +1 -1
  120. package/dist/rules/schemas.d.mts +1 -1
  121. package/dist/runtime-bun/index.mjs +1 -1
  122. package/dist/runtime-node/extension-discovery.d.mts +1 -1
  123. package/dist/runtime-node/extension-validation.d.mts +1 -1
  124. package/dist/runtime-node/extension-validation.mjs +1 -1
  125. package/dist/runtime-node/index.d.mts +3 -3
  126. package/dist/runtime-node/index.mjs +22 -22
  127. package/dist/runtime-node/makaio-config.d.mts +1 -1
  128. package/dist/runtime-node/makaio-config.mjs +1 -1
  129. package/dist/runtime-node/workflow-worker/index.d.mts +1 -1
  130. package/dist/runtime-node/workflow-worker/index.mjs +1 -1
  131. package/dist/runtime-node/workflow-worker/worker-entry.mjs +1 -1
  132. package/dist/schemas-BJ8VMXhO.mjs +1 -0
  133. package/dist/schemas-BRxU_oqL.mjs +1 -0
  134. package/dist/schemas-Dgj3WaOI.mjs +1 -0
  135. package/dist/{schemas-BLJ2k226.d.mts → schemas-SsGbBOZ-.d.mts} +2 -2
  136. package/dist/{schemas-Ca3BLPH5.d.mts → schemas-oTIqxZN_.d.mts} +17 -17
  137. package/dist/scoped-bus-C9BdNwfM.mjs +1 -0
  138. package/dist/services/adapter-runtime/index.d.mts +3 -3
  139. package/dist/services/adapter-runtime/index.mjs +1 -1
  140. package/dist/services/adapter-runtime/namespace.d.mts +1 -1
  141. package/dist/services/adapter-runtime/schemas.d.mts +1 -1
  142. package/dist/services/adapter-subsystem/index.d.mts +3 -3
  143. package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
  144. package/dist/services/agent-runtime/index.d.mts +2 -2
  145. package/dist/services/agent-runtime/namespace.d.mts +1 -1
  146. package/dist/services/agent-runtime/schemas.d.mts +1 -1
  147. package/dist/services/capability/index.d.mts +1 -1
  148. package/dist/services/capability/index.mjs +1 -1
  149. package/dist/services/codebase/index.d.mts +2 -2
  150. package/dist/services/codebase/namespace.d.mts +1 -1
  151. package/dist/services/codebase/schemas.d.mts +1 -1
  152. package/dist/services/compression/index.d.mts +2 -2
  153. package/dist/services/compression/namespace.d.mts +1 -1
  154. package/dist/services/compression/schemas.d.mts +1 -1
  155. package/dist/services/context-rules/index.d.mts +4 -4
  156. package/dist/services/context-rules/index.mjs +1 -1
  157. package/dist/services/execution-target/index.d.mts +3 -3
  158. package/dist/services/execution-target/index.mjs +1 -1
  159. package/dist/services/execution-target/namespace.d.mts +1 -1
  160. package/dist/services/execution-target/schemas.d.mts +1 -1
  161. package/dist/services/filesystem/index.d.mts +1 -1
  162. package/dist/services/filesystem/index.mjs +1 -1
  163. package/dist/services/git/namespace.d.mts +2 -2
  164. package/dist/services/git/namespace.mjs +1 -1
  165. package/dist/services/git/schemas.d.mts +1 -1
  166. package/dist/services/git/schemas.mjs +1 -1
  167. package/dist/services/harness/index.d.mts +3 -3
  168. package/dist/services/harness/index.mjs +1 -1
  169. package/dist/services/index.d.mts +73 -51
  170. package/dist/services/index.mjs +1 -1
  171. package/dist/services/log-import/browser.d.mts +2 -2
  172. package/dist/services/log-import/index.d.mts +2 -2
  173. package/dist/services/log-import/log-import.d.mts +1 -1
  174. package/dist/services/log-import/log-import.mjs +1 -1
  175. package/dist/services/log-import/namespace.mjs +1 -1
  176. package/dist/services/log-import/schemas.mjs +1 -1
  177. package/dist/services/materialization/index.d.mts +5 -5
  178. package/dist/services/materialization/index.mjs +1 -1
  179. package/dist/services/model-registry/index.d.mts +1 -1
  180. package/dist/services/model-registry/index.mjs +1 -1
  181. package/dist/services/preferences/index.d.mts +2 -2
  182. package/dist/services/preferences/schemas.d.mts +1 -1
  183. package/dist/services/preferences/storage-namespace.d.mts +2 -2
  184. package/dist/services/provider-context/index.d.mts +1 -1
  185. package/dist/services/provider-runtime/index.mjs +1 -1
  186. package/dist/services/session/handlers/index.d.mts +1 -1
  187. package/dist/services/session/handlers/index.mjs +1 -1
  188. package/dist/services/session/index.d.mts +9 -9
  189. package/dist/services/session/index.mjs +1 -1
  190. package/dist/services/session/messages/namespace.d.mts +1 -1
  191. package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
  192. package/dist/services/session/orchestrator-testing/index.mjs +1 -1
  193. package/dist/services/session/session-events/namespace.d.mts +1 -1
  194. package/dist/services/session/storage/namespace.d.mts +1 -1
  195. package/dist/services/session/storage/schema.d.mts +1 -1
  196. package/dist/services/session/testing/index.mjs +2 -2
  197. package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
  198. package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
  199. package/dist/services/session/turns/namespace.d.mts +1 -1
  200. package/dist/services/session-editor/index.d.mts +1 -1
  201. package/dist/services/session-editor/index.mjs +1 -1
  202. package/dist/services/settings/index.d.mts +3 -3
  203. package/dist/services/settings/namespace.d.mts +14 -14
  204. package/dist/services/settings/namespace.mjs +1 -1
  205. package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
  206. package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
  207. package/dist/services/settings/storage/index.d.mts +3 -3
  208. package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
  209. package/dist/services/subagent/index.d.mts +1 -1
  210. package/dist/services/subagent/index.mjs +1 -1
  211. package/dist/services/subagent-template/index.d.mts +2 -2
  212. package/dist/services/subagent-template/namespace.d.mts +1 -1
  213. package/dist/services/subagent-template/schemas.d.mts +1 -1
  214. package/dist/services/tool-approval/index.d.mts +1 -1
  215. package/dist/services/tool-approval/index.mjs +1 -1
  216. package/dist/services/tools/index.d.mts +1 -1
  217. package/dist/services/tools/index.mjs +1 -1
  218. package/dist/services/tray-menu/index.d.mts +3 -3
  219. package/dist/services/tray-menu/index.mjs +1 -1
  220. package/dist/services/tray-menu/namespace.d.mts +1 -1
  221. package/dist/services/tray-menu/schemas.d.mts +1 -1
  222. package/dist/services/turn/index.d.mts +1 -1
  223. package/dist/services/turn/namespace.d.mts +1 -1
  224. package/dist/services/turn/schemas.d.mts +24 -2
  225. package/dist/services/turn/schemas.mjs +1 -1
  226. package/dist/{session-BxWogVkD.mjs → session-Carng3Yk.mjs} +1 -1
  227. package/dist/session-idI1jk5X.mjs +76 -0
  228. package/dist/{session-lineage-CWlcOKBZ.d.mts → session-lineage-Cte63dGx.d.mts} +1 -1
  229. package/dist/src-XihJcAQS.mjs +1 -0
  230. package/dist/storage/drizzle/client.d.mts +1 -1
  231. package/dist/storage/drizzle/client.mjs +1 -1
  232. package/dist/storage/drizzle/index.d.mts +1 -1
  233. package/dist/storage/drizzle/index.mjs +1 -1
  234. package/dist/storage/handlers/drizzle/index.d.mts +1 -1
  235. package/dist/storage/handlers/drizzle/index.mjs +1 -1
  236. package/dist/storage/handlers/index.d.mts +1 -1
  237. package/dist/storage/handlers/index.mjs +1 -1
  238. package/dist/{tool-approval-service-BgSn_6NT.mjs → tool-approval-service-fIZ9x0kL.mjs} +1 -1
  239. package/dist/{tools-CWSuNk-M.mjs → tools-Cs2DwjCC.mjs} +1 -1
  240. package/dist/{transition-CukPcOG5.d.mts → transition-BMYk_IVK.d.mts} +2 -2
  241. package/dist/{types-DiZJnwN0.d.mts → types-CtSkJqzV.d.mts} +104 -14
  242. package/dist/{types-Be7wY1De.d.mts → types-LspCUW09.d.mts} +1 -1
  243. package/dist/ui-components/index.d.mts +4 -4
  244. package/dist/ui-components/index.mjs +2 -2
  245. package/dist/ui-kernel/index.d.mts +1 -1
  246. package/dist/ui-kernel/pages/schemas.d.mts +1 -1
  247. package/dist/{view-builder-DQiA4wDH.d.mts → view-builder-CpKzgyS2.d.mts} +77 -18
  248. package/dist/workflow-BX-FxDb0.mjs +1 -0
  249. package/dist/workflow-engine/index.d.mts +76 -76
  250. package/dist/workflow-engine/index.mjs +1 -1
  251. package/dist/workflow-engine/package.d.mts +1 -1
  252. package/dist/workflow-engine/package.mjs +1 -1
  253. package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
  254. package/dist/workflow-worker-DR9qYOFc.mjs +1 -0
  255. package/package.json +4 -4
  256. package/dist/artifact-Dnpy5ei_.mjs +0 -1
  257. package/dist/authority-state-bootstrap-BlbmQ9A5.mjs +0 -1
  258. package/dist/bus-D-ioC0DE.mjs +0 -1
  259. package/dist/bus-rgUFuO2a.mjs +0 -2
  260. package/dist/client-CzPCSeyE.mjs +0 -1
  261. package/dist/client-binary-version-verifier-CaFlNNjs.mjs +0 -2
  262. package/dist/definition-ClKlXenJ.d.mts +0 -413
  263. package/dist/handlers-RGs3eC9X.mjs +0 -57
  264. package/dist/materialization-BBxXhthv.mjs +0 -1
  265. package/dist/package-3cW8oIkI.mjs +0 -1
  266. package/dist/packages-I0D3JP9L.mjs +0 -1
  267. package/dist/schemas-6H-dlMrB.mjs +0 -1
  268. package/dist/schemas-DyJHJ8Pm.mjs +0 -1
  269. package/dist/schemas-th_nuC5t.mjs +0 -1
  270. package/dist/scoped-bus-CZId-Df8.mjs +0 -1
  271. package/dist/session-CAjudDuJ.mjs +0 -76
  272. package/dist/src-T5DtFSyU.mjs +0 -1
  273. package/dist/workflow-DPeE6-Ta.mjs +0 -1
  274. package/dist/workflow-worker-CPCh68Qf.mjs +0 -1
  275. /package/dist/{adapter-auth-runtime-CotG_6M4.mjs → adapter-auth-runtime-DFBLXD5K.mjs} +0 -0
  276. /package/dist/{adapter-binding-DQ1HrGcH.d.mts → adapter-binding-Dfk_g-lP.d.mts} +0 -0
  277. /package/dist/{ajv-WvFKnw8d.mjs → ajv-C8r45sFs.mjs} +0 -0
  278. /package/dist/{await-trigger-COHFNyNi.mjs → await-trigger-UceeyCyi.mjs} +0 -0
  279. /package/dist/{base-orchestrator-p3zIcnaJ.d.mts → base-orchestrator-5yH3l39s.d.mts} +0 -0
  280. /package/dist/{capability-service-TCOwWrLi.mjs → capability-service-BzKBK0n2.mjs} +0 -0
  281. /package/dist/{client-CGEyBWKl.d.mts → client-DYEHDiJN.d.mts} +0 -0
  282. /package/dist/{client-binary-version-verifier-WsNRplFB.d.mts → client-binary-version-verifier-C12PvQmz.d.mts} +0 -0
  283. /package/dist/{clients-namespace-ClKm1GLT.d.mts → clients-namespace-DcFmhtLv.d.mts} +0 -0
  284. /package/dist/{config-namespace-DOw8R5eb.d.mts → config-namespace-DmP7NVju.d.mts} +0 -0
  285. /package/dist/{create-static-mount-DM9qO98Q.mjs → create-static-mount-BLbqGmva.mjs} +0 -0
  286. /package/dist/{cross-spawn-CVfmnMVP.mjs → cross-spawn-BXxQUsPS.mjs} +0 -0
  287. /package/dist/{cursor-storage-BoFVjVGq.mjs → cursor-storage-DCj4uUxr.mjs} +0 -0
  288. /package/dist/{definition-BZrouYAq.d.mts → definition-BEvV7tbD.d.mts} +0 -0
  289. /package/dist/{descriptor-to-package-DCwvJoUE.mjs → descriptor-to-package-VfB8lK5w.mjs} +0 -0
  290. /package/dist/{drizzle-BQDvlDL2.mjs → drizzle-oCH9H53q.mjs} +0 -0
  291. /package/dist/{esm-1UzF2r1U.mjs → esm-ClQELElL.mjs} +0 -0
  292. /package/dist/{event-Ddxe4yp9.mjs → event-BOLVCfhH.mjs} +0 -0
  293. /package/dist/{execution-target-D6PoGaO8.mjs → execution-target-CsZXIvli.mjs} +0 -0
  294. /package/dist/{extension-discovery-Cce4FmRu.d.mts → extension-discovery-B6p3iZaV.d.mts} +0 -0
  295. /package/dist/{filesystem-service-CWBzOEAA.d.mts → filesystem-service-CGdboor3.d.mts} +0 -0
  296. /package/dist/{handler-Bxs0moLY.mjs → handler-GGOD_ofd.mjs} +0 -0
  297. /package/dist/{identity-D481xSkS.mjs → identity-BmEHHoBw.mjs} +0 -0
  298. /package/dist/{index-BoCL9IHT.d.mts → index-BDDbcWNI.d.mts} +0 -0
  299. /package/dist/{index-p1N3ZuqF.d.mts → index-BG9-vQHD.d.mts} +0 -0
  300. /package/dist/{index-C2PHX5Em.d.mts → index-BSmwpgkR.d.mts} +0 -0
  301. /package/dist/{index-M8rNEeH8.d.mts → index-BUYyZm5I.d.mts} +0 -0
  302. /package/dist/{index-Jec13bI-2.d.mts → index-Bd1GC1kU2.d.mts} +0 -0
  303. /package/dist/{index-D3cH5U0n.d.mts → index-BgpYhR2z.d.mts} +0 -0
  304. /package/dist/{index-BrvsExEF.d.mts → index-Brdc35b-.d.mts} +0 -0
  305. /package/dist/{index-4b-ig5Uf.d.mts → index-C96LlS5m.d.mts} +0 -0
  306. /package/dist/{index-RtP5Mi4D.d.mts → index-CFeY8lfU.d.mts} +0 -0
  307. /package/dist/{index-NZ-gfUOw.d.mts → index-CcsJnJOD.d.mts} +0 -0
  308. /package/dist/{index-XLGBNeu0.d.mts → index-CdEhEXlY.d.mts} +0 -0
  309. /package/dist/{index-DKCFz7dL.d.mts → index-Chy9aknK.d.mts} +0 -0
  310. /package/dist/{index-BRdPSBFH2.d.mts → index-Ci3_i-WC2.d.mts} +0 -0
  311. /package/dist/{index-ChsmMZmN.d.mts → index-DC0yVsYL.d.mts} +0 -0
  312. /package/dist/{index-DIAmg04s.d.mts → index-DEchpaya.d.mts} +0 -0
  313. /package/dist/{index-CNS1jyBU.d.mts → index-DYUxNOIX.d.mts} +0 -0
  314. /package/dist/{index-fFSPF7N0.d.mts → index-DaMfTvfz.d.mts} +0 -0
  315. /package/dist/{index-Dx6P-ajY.d.mts → index-DquI_1X5.d.mts} +0 -0
  316. /package/dist/{index-DbP0yaRw.d.mts → index-GYZs75UP.d.mts} +0 -0
  317. /package/dist/{index-CQco6KNL.d.mts → index-oYGf2zIe.d.mts} +0 -0
  318. /package/dist/{index-BOlzcjwS.d.mts → index-pgYFJ5h6.d.mts} +0 -0
  319. /package/dist/{json-value-BsWNQQbr.d.mts → json-value-BwVdTylT.d.mts} +0 -0
  320. /package/dist/{jsonl-transport-B70HQ9l1.mjs → jsonl-transport-D8RBF0dK.mjs} +0 -0
  321. /package/dist/{lib-C_apP_9s.mjs → lib-3_xcE8J-.mjs} +0 -0
  322. /package/dist/{model-registry-C3NX834K.mjs → model-registry-CoegIvks.mjs} +0 -0
  323. /package/dist/{namespace-Bogua97s.d.mts → namespace-8-GrdcbF.d.mts} +0 -0
  324. /package/dist/{namespace-DNgZ_rfi.d.mts → namespace-B9CYb9Gh.d.mts} +0 -0
  325. /package/dist/{namespace-DDx4NVJm.mjs → namespace-BHj13hbA.mjs} +0 -0
  326. /package/dist/{namespace-Dzbt8LqQ.d.mts → namespace-BHliaabz.d.mts} +0 -0
  327. /package/dist/{namespace-BqlDkdht2.d.mts → namespace-BSXHdCVh2.d.mts} +0 -0
  328. /package/dist/{namespace-CU1jSw6E.d.mts → namespace-Bd49QmzS.d.mts} +0 -0
  329. /package/dist/{namespace-kIjqar0Y.mjs → namespace-BeED_Ojz.mjs} +0 -0
  330. /package/dist/{namespace-SwgMs4rw.d.mts → namespace-D9HNjIdc.d.mts} +0 -0
  331. /package/dist/{namespace-B1_egU5J.mjs → namespace-DWwWnLBu.mjs} +0 -0
  332. /package/dist/{namespace-UCwUrFRx.d.mts → namespace-De9Mg3zv.d.mts} +0 -0
  333. /package/dist/{namespace-CddQuUvG.d.mts → namespace-SQAGytmu.d.mts} +0 -0
  334. /package/dist/{orchestrator-shared-DrEFeZYw.d.mts → orchestrator-shared-BB6j8ezL.d.mts} +0 -0
  335. /package/dist/{orchestrator-shared-jYk9mi5C.mjs → orchestrator-shared-CY7Tu7kZ.mjs} +0 -0
  336. /package/dist/{out-B6fO6go6.mjs → out-CFkI17mk.mjs} +0 -0
  337. /package/dist/{package-BVm1EakP.d.mts → package-BSG1681x.d.mts} +0 -0
  338. /package/dist/{providers-namespace-Bl3M8Ibo.d.mts → providers-namespace-sPbGcZ6I.d.mts} +0 -0
  339. /package/dist/{quick-lru-Coxb6GVa.mjs → quick-lru-CTBjxfgD.mjs} +0 -0
  340. /package/dist/{registry-ElIHcMM2.mjs → registry-Dw6l7k3e.mjs} +0 -0
  341. /package/dist/{schema-DOPEco97.d.mts → schema-CfMsufSb.d.mts} +0 -0
  342. /package/dist/{schemas-B3K1ekm7.d.mts → schemas-B4FyOOJj.d.mts} +0 -0
  343. /package/dist/{schemas-Dq_g7Giu.d.mts → schemas-B5tMYfhC.d.mts} +0 -0
  344. /package/dist/{schemas-D_H0ztxl.d.mts → schemas-BAvt2HDy.d.mts} +0 -0
  345. /package/dist/{schemas-FiDj_kLq.mjs → schemas-BGS9RfqV.mjs} +0 -0
  346. /package/dist/{schemas-BKgUDm_a2.d.mts → schemas-BKKpQC4X2.d.mts} +0 -0
  347. /package/dist/{schemas-CzT0LApM.d.mts → schemas-ChF2z4RB.d.mts} +0 -0
  348. /package/dist/{schemas-DfZ85CRF2.d.mts → schemas-CiWCNQ9a2.d.mts} +0 -0
  349. /package/dist/{schemas-pl0mzEtO.d.mts → schemas-D55eXBgl.d.mts} +0 -0
  350. /package/dist/{schemas-CVbfHPw-.d.mts → schemas-DYvvMd3c.d.mts} +0 -0
  351. /package/dist/{schemas-DPosZWw-.d.mts → schemas-Dmij0PIc.d.mts} +0 -0
  352. /package/dist/{server-lifecycle-DzO3rjKP.d.mts → server-lifecycle-C-3OgoKi.d.mts} +0 -0
  353. /package/dist/{server-lifecycle-DLdh0-4H.mjs → server-lifecycle-DV6NMsgH.mjs} +0 -0
  354. /package/dist/{src-Dqa1n_kI.mjs → src-ftBp6GpR.mjs} +0 -0
  355. /package/dist/{storage-namespace-D4yQ--Sp.d.mts → storage-namespace-9N9R61pI.d.mts} +0 -0
  356. /package/dist/{storage-namespace-B1_x8Ho2.mjs → storage-namespace-B1GI4elv.mjs} +0 -0
  357. /package/dist/{storage-namespace-definition-BzSaRLtZ.d.mts → storage-namespace-definition-V8sc3drq.d.mts} +0 -0
  358. /package/dist/{supports-color-CCdGjFUY.mjs → supports-color-DwW9N6YC.mjs} +0 -0
  359. /package/dist/{tray-menu-service-BJ9r7IY3.mjs → tray-menu-service-Dgedanv-.mjs} +0 -0
  360. /package/dist/{types-Diu9uAnB.d.mts → types-Bju4dmAg.d.mts} +0 -0
  361. /package/dist/{types-C8_OhAFv.d.mts → types-DBb5jY4Z.d.mts} +0 -0
  362. /package/dist/{types-Bgb8eQkd.d.mts → types-DVLq657Y.d.mts} +0 -0
  363. /package/dist/{types-B9QOZAZ5.d.mts → types-DkFvBdIY.d.mts} +0 -0
  364. /package/dist/{window-registry-CHv3cgSN.d.mts → window-registry-Qcnvlhp7.d.mts} +0 -0
@@ -214,6 +214,17 @@ interface RequestContext<Payload, Response> extends BaseMessageContext {
214
214
  payload: Payload;
215
215
  /** AbortSignal supplied by the originating request, if any. */
216
216
  signal?: AbortSignal;
217
+ /**
218
+ * Absolute Unix timestamp (ms) when this request expires.
219
+ *
220
+ * Computed once at the request entry point as `Date.now() + effectiveTimeout`
221
+ * and propagated unchanged through every local and remote handler in the
222
+ * dispatch chain. Handlers can compare `deadline` to `Date.now()` to determine
223
+ * their remaining time budget.
224
+ *
225
+ * Undefined when no deadline was set (timeout: 0).
226
+ */
227
+ readonly deadline?: number;
217
228
  /** Set the response value (ends the handler chain) */
218
229
  setResult: (result: Response) => void;
219
230
  /**
@@ -412,6 +423,20 @@ type ChannelSubjectSchema<T extends EventSchema | RequestSchema = EventSchema |
412
423
  readonly __channel: true;
413
424
  readonly schema: T;
414
425
  };
426
+ /**
427
+ * Wrapper to mark a request subject as host-local.
428
+ *
429
+ * Host-local requests accept direct remote ingress (a transport may deliver
430
+ * the request to this host), but the receiving bus must never relay the
431
+ * request onward to other transports. Only request schemas are accepted;
432
+ * events are rejected at the type level.
433
+ *
434
+ * Use `hostLocalRequest()` from `@makaio/core` to create these.
435
+ */
436
+ type HostLocalRequestSubjectSchema<T extends RequestSchema = RequestSchema> = {
437
+ readonly __hostLocalRequest: true;
438
+ readonly schema: T;
439
+ };
415
440
  /**
416
441
  * Wrapper to set a subject-level default transport routing policy.
417
442
  *
@@ -429,7 +454,7 @@ type BaseSubjectSchema = EventSchema | RequestSchema;
429
454
  /**
430
455
  * Union of all subject schema types (including metadata wrappers).
431
456
  */
432
- type SubjectSchema = BaseSubjectSchema | LocalSubjectSchema | CollectorOnlySubjectSchema | ChannelSubjectSchema | DefaultTransportsSubjectSchema;
457
+ type SubjectSchema = BaseSubjectSchema | LocalSubjectSchema | CollectorOnlySubjectSchema | ChannelSubjectSchema | HostLocalRequestSubjectSchema | DefaultTransportsSubjectSchema;
433
458
  type SchemaRecord = Record<string, SubjectSchema>;
434
459
  //#endregion
435
460
  //#region core/makaio-core/src/types/type-helpers.d.ts
@@ -446,6 +471,9 @@ type UnwrapSchema<S> = S extends {
446
471
  } ? Inner : S extends {
447
472
  readonly __channel: true;
448
473
  readonly schema: infer Inner;
474
+ } ? Inner : S extends {
475
+ readonly __hostLocalRequest: true;
476
+ readonly schema: infer Inner;
449
477
  } ? Inner : S extends {
450
478
  readonly __defaultTransports: TransportRoutingDefault;
451
479
  readonly schema: infer Inner;
@@ -486,7 +514,14 @@ type InferSubjectMeta<S extends SubjectSchema, Ns extends string> = {
486
514
  response: z.ZodType;
487
515
  } ? true : false; /** True when the subject is wrapped with `localSubject()`. */
488
516
  local: S extends LocalSubjectSchema ? true : false; /** True when the subject is wrapped with `channelSubject()`. */
489
- channel: S extends ChannelSubjectSchema ? true : false; /** Inferred payload type (request/response pair or event payload). */
517
+ channel: S extends ChannelSubjectSchema ? true : false;
518
+ /**
519
+ * True when the subject is wrapped with `hostLocalRequest()`.
520
+ *
521
+ * Host-local requests accept direct remote ingress but must never be
522
+ * relayed onward to other transports after ingress.
523
+ */
524
+ hostLocalRequest: S extends HostLocalRequestSubjectSchema ? true : false; /** Inferred payload type (request/response pair or event payload). */
490
525
  payload: InferSchemaPayload<S>; /** The namespace this subject belongs to. */
491
526
  namespace: Ns;
492
527
  } & (S extends DefaultTransportsSubjectSchema<EventSchema | RequestSchema, infer Default> ? {
@@ -521,6 +556,11 @@ type SubjectDefinitionMeta<Subject extends SubjectRecord = SubjectRecord<'defaul
521
556
  * DirectChannel encrypted point-to-point transport.
522
557
  */
523
558
  channel: boolean;
559
+ /**
560
+ * If true, this subject accepts direct remote ingress but must never be
561
+ * relayed onward to other transports after ingress.
562
+ */
563
+ hostLocalRequest?: boolean;
524
564
  /**
525
565
  * Default transport routing for bus calls on this subject when the caller
526
566
  * does not provide an explicit `transports` option.
@@ -883,6 +923,41 @@ declare function isChannelSchema(schema: SubjectSchema): schema is ChannelSubjec
883
923
  */
884
924
  declare function channelSubject<T extends EventSchema | RequestSchema>(schema: T): ChannelSubjectSchema<T>;
885
925
  //#endregion
926
+ //#region core/makaio-core/src/subject-helpers/host-local-request-schema.d.ts
927
+ /**
928
+ * Check if a schema is wrapped as a host-local request subject.
929
+ * @param schema - The schema to check
930
+ * @returns True if the schema is a HostLocalRequestSubjectSchema wrapper
931
+ */
932
+ declare function isHostLocalRequestSchema(schema: SubjectSchema): schema is HostLocalRequestSubjectSchema;
933
+ /**
934
+ * Create a host-local request subject schema wrapper.
935
+ *
936
+ * Host-local requests accept direct remote ingress — a transport may deliver
937
+ * the request to this host — but the receiving bus must never relay the
938
+ * request onward to other transports after ingress. This is the correct
939
+ * wrapper for request subjects that should be answerable only by the
940
+ * receiving host, not forwarded across the bus topology.
941
+ *
942
+ * Only request schemas (with `request` and `response` fields) are accepted;
943
+ * plain event schemas are rejected at the type level.
944
+ * @param schema - The request schema to mark as host-local
945
+ * @returns A HostLocalRequestSubjectSchema wrapper
946
+ * @example
947
+ * ```typescript
948
+ * import { hostLocalRequest } from '@makaio/framework/core';
949
+ *
950
+ * const AgentSchemas = {
951
+ * // Host-local request — answered locally, never relayed
952
+ * resolveCapability: hostLocalRequest({
953
+ * request: z.object({ capabilityId: z.string() }),
954
+ * response: z.object({ available: z.boolean() }),
955
+ * }),
956
+ * };
957
+ * ```
958
+ */
959
+ declare function hostLocalRequest<T extends RequestSchema>(schema: T): HostLocalRequestSubjectSchema<T>;
960
+ //#endregion
886
961
  //#region core/makaio-core/src/subject-helpers/default-transports-schema.d.ts
887
962
  /**
888
963
  * Check if a schema carries a subject-level default transport routing policy.
@@ -1260,4 +1335,4 @@ declare const observability: {
1260
1335
  attribute<TSchema extends z.ZodType>(schema: TSchema, attributeName?: string): TSchema;
1261
1336
  };
1262
1337
  //#endregion
1263
- export { type AnyHandler, type AnyMessageContext, AuthenticationError, type BaseMessageContext, type BaseSubjectSchema, type BusNamespaceDefinition, type BusSubjects, type ChannelSubjectSchema, type CollectorOnlySubjectSchema, ConfigError, type ContextForSubjectDefinition, type CreateBusNamespaceOptions, type DefaultTransportsSubjectSchema, DirectoryNotFoundError, type EventContext, type EventHandler, type EventMessagePayload, type EventSchema, type ExtractSubjectPayload, type ExtractSubjectResponse, type FilterOperator, type FilterPayloadFromSchemas, type FilterablePayloadIntersection, type FlatSubjectDefinitions, type HandlerForSubjectDefinition, type IConfigStorage, type InferSchemaPayload, type InferSubjectMeta, InvalidModelError, type LocalSubjectSchema, type MakaioBusLike, type MakaioContext, MakaioError, type MessageOrigin, type MessagePayload, ModelUnavailableError, type NamespaceRegistrationOptions, type NestedSubjectDefinitions, OBSERVABILITY_META_KEY, type ObservabilityFieldPolicy, type ObservabilityFieldVisibility, type ObservabilitySchemaPolicy, type OptionalResult, type PayloadFilter, type PrincipalContext, QuotaExceededError, RateLimitError, type RegistrableBusNamespaceDefinition, type RequestContext, type RequestHandler, type RequestMessagePayload, type RequestSchema, type SchemaRecord, type SchemaViolationReport, type ScopedSubjectDefinition, type SubjectDefinition, type SubjectRecord, type SubjectRecordFromSchemaRecord, type SubjectSchema, type TransportPeerContext, type TransportReceiveContext, type TransportRoutingDefault, type TypedPayloadFilter, type WildcardContext, type WildcardSubject, type WildcardSubjectDefinition, WildcardSubjectKey, type WildcardUnifiedHandler, channelSubject, collectorOnlySubject, createBusNamespace, createMakaioContext, defaultTransports, getFullSubjectForSubjectDefinition, getObservabilityFieldPolicy, getObservabilitySchemaPolicy, isChannelSchema, isCollectorOnlySchema, isDefaultTransportsSchema, isLocalSchema, isOperatorObject, isRequestSchema, localSubject, nestSubjectDefinitions, observability, unwrapSchema };
1338
+ export { type AnyHandler, type AnyMessageContext, AuthenticationError, type BaseMessageContext, type BaseSubjectSchema, type BusNamespaceDefinition, type BusSubjects, type ChannelSubjectSchema, type CollectorOnlySubjectSchema, ConfigError, type ContextForSubjectDefinition, type CreateBusNamespaceOptions, type DefaultTransportsSubjectSchema, DirectoryNotFoundError, type EventContext, type EventHandler, type EventMessagePayload, type EventSchema, type ExtractSubjectPayload, type ExtractSubjectResponse, type FilterOperator, type FilterPayloadFromSchemas, type FilterablePayloadIntersection, type FlatSubjectDefinitions, type HandlerForSubjectDefinition, type HostLocalRequestSubjectSchema, type IConfigStorage, type InferSchemaPayload, type InferSubjectMeta, InvalidModelError, type LocalSubjectSchema, type MakaioBusLike, type MakaioContext, MakaioError, type MessageOrigin, type MessagePayload, ModelUnavailableError, type NamespaceRegistrationOptions, type NestedSubjectDefinitions, OBSERVABILITY_META_KEY, type ObservabilityFieldPolicy, type ObservabilityFieldVisibility, type ObservabilitySchemaPolicy, type OptionalResult, type PayloadFilter, type PrincipalContext, QuotaExceededError, RateLimitError, type RegistrableBusNamespaceDefinition, type RequestContext, type RequestHandler, type RequestMessagePayload, type RequestSchema, type SchemaRecord, type SchemaViolationReport, type ScopedSubjectDefinition, type SubjectDefinition, type SubjectRecord, type SubjectRecordFromSchemaRecord, type SubjectSchema, type TransportPeerContext, type TransportReceiveContext, type TransportRoutingDefault, type TypedPayloadFilter, type WildcardContext, type WildcardSubject, type WildcardSubjectDefinition, WildcardSubjectKey, type WildcardUnifiedHandler, channelSubject, collectorOnlySubject, createBusNamespace, createMakaioContext, defaultTransports, getFullSubjectForSubjectDefinition, getObservabilityFieldPolicy, getObservabilitySchemaPolicy, hostLocalRequest, isChannelSchema, isCollectorOnlySchema, isDefaultTransportsSchema, isHostLocalRequestSchema, isLocalSchema, isOperatorObject, isRequestSchema, localSubject, nestSubjectDefinitions, observability, unwrapSchema };
@@ -1 +1 @@
1
- import{z as e}from"zod";function t(e){if(typeof e!=`object`||!e)return!1;let t=e;return`$in`in t||`$ne`in t||`$exists`in t||`$startsWith`in t||`$endsWith`in t}const n=`*`;function r(t){return typeof t==`object`&&!!t&&`request`in t&&`response`in t&&t.request instanceof e.ZodType&&t.response instanceof e.ZodType}function i(e){return typeof e==`object`&&!!e&&`__channel`in e&&e.__channel===!0&&`schema`in e}function a(e){return{__channel:!0,schema:e}}function o(e){return typeof e==`object`&&!!e&&`__local`in e&&e.__local===!0&&`schema`in e}function s(e){return{__local:!0,schema:e}}function c(e){return typeof e==`object`&&!!e&&`__defaultTransports`in e&&(e.__defaultTransports===`all`||e.__defaultTransports===`local-only`)&&`schema`in e}function l(e,t){return{__defaultTransports:t,schema:e}}function u(e){return typeof e==`object`&&!!e&&`__collectorOnly`in e&&e.__collectorOnly===!0&&`schema`in e}function d(e){return{__collectorOnly:!0,schema:e}}function f(e){return o(e)||u(e)||i(e)||c(e)?e.schema:e}function p(e,t,n){let a={};for(let[s,l]of Object.entries(t)){let t=s.split(`.`),u=a;for(let e=0;e<t.length-1;e++)u[t[e]]??={},u=u[t[e]];let d=o(l),p=i(l),m=c(l)?l.__defaultTransports:n,h={subject:s,$meta:{namespace:e,isRequest:r(f(l)),local:d,channel:p,...m!==void 0&&{defaultTransports:m}}};u[t[t.length-1]]=h}return a.$all={subject:`*`,$meta:{namespace:e,isRequest:!1,local:!1,channel:!1}},a}function m(e){return`${e.$meta.namespace}.${e.subject}`}function h(e,t,n){let r=n?.defaultTransports,i;if(n!==void 0){let{defaultTransports:e,...t}=n;i=Object.keys(t).length>0?t:void 0}return{name:e,subjects:p(e,t,r),schemas:t,...i===void 0?{}:{options:i},...r===void 0?{}:{defaultTransports:r}}}e.object({cwd:e.string(),env:e.record(e.string(),e.string()),platform:e.enum([`posix`,`windows`]),signal:e.custom().optional(),constraints:e.record(e.string(),e.unknown()).optional(),sessionId:e.string().optional(),subagentId:e.string().optional(),subagentDepth:e.number().optional()});function g(){return typeof process>`u`?`posix`:process.platform===`win32`?`windows`:`posix`}const _=[`API_KEY`,`APIKEY`,`SECRET`,`TOKEN`,`PASSWORD`,`CREDENTIAL`,`PRIVATE_KEY`,`PRIVATEKEY`,`AUTH`,`BEARER`,`ACCESS_KEY`,`ACCESSKEY`];function v(e){let t=e.toUpperCase();return _.some(e=>t.includes(e))}function y(e){let t={};for(let[n,r]of Object.entries(e))r!==void 0&&!v(n)&&(t[n]=r);return t}function b(e){let t=typeof process<`u`?process.cwd():`/`,n=typeof process<`u`?y(process.env):{};return{cwd:e?.cwd??t,env:e?.env??n,platform:e?.platform??g(),signal:e?.signal,constraints:e?.constraints,sessionId:e?.sessionId,subagentId:e?.subagentId,subagentDepth:e?.subagentDepth}}var x=class extends Error{subject;constructor(e,t){super(e),this.subject=t,this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}},S=class extends x{subject;constructor(e,t){super(`Invalid model specified: ${e}`),this.subject=t,this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}},C=class extends x{subject;constructor(e,t){super(`Directory does not exist: ${e}`),this.subject=t,this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}},w=class extends x{subject;constructor(e,t){super(e),this.subject=t,this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}},T=class extends x{code=`rate_limit`},E=class extends x{code=`auth`},D=class extends x{code=`model_unavailable`},O=class extends x{code=`quota_exceeded`};const k=`makaio.observability`;function A(e){let t=e.meta()?.[k];if(typeof t!=`object`||!t)return;let n=t;return n.kind===`schema`||n.kind===`field`?n:void 0}function j(e,t){return e.meta({...e.meta(),[k]:t})}function M(t){if(t instanceof e.ZodOptional||t instanceof e.ZodNullable||t instanceof e.ZodDefault||t instanceof e.ZodCatch||t instanceof e.ZodReadonly)return t.unwrap()}function N(e){let t=e;for(;t;){let e=A(t);if(e?.kind===`field`)return e;t=M(t)}}function P(e){let t=A(e);if(t?.kind===`schema`)return{traceAll:t.traceAll}}function F(e){let t=N(e);if(t)return{visibility:t.visibility,attributeName:t.attributeName}}const I={schema(e,t){return j(e,{kind:`schema`,traceAll:t.traceAll})},field(e,t){return j(e,{kind:`field`,visibility:t.visibility,attributeName:t.attributeName})},hidden(e){return j(e,{kind:`field`,visibility:`hidden`})},count(e,t){return j(e,{kind:`field`,visibility:`count`,attributeName:t})},attribute(e,t){return j(e,{kind:`field`,visibility:`attribute`,attributeName:t})}};export{E as AuthenticationError,w as ConfigError,C as DirectoryNotFoundError,S as InvalidModelError,x as MakaioError,D as ModelUnavailableError,k as OBSERVABILITY_META_KEY,O as QuotaExceededError,T as RateLimitError,n as WildcardSubjectKey,a as channelSubject,d as collectorOnlySubject,h as createBusNamespace,b as createMakaioContext,l as defaultTransports,m as getFullSubjectForSubjectDefinition,F as getObservabilityFieldPolicy,P as getObservabilitySchemaPolicy,i as isChannelSchema,u as isCollectorOnlySchema,c as isDefaultTransportsSchema,o as isLocalSchema,t as isOperatorObject,r as isRequestSchema,s as localSubject,p as nestSubjectDefinitions,I as observability,f as unwrapSchema};
1
+ import{z as e}from"zod";function t(e){if(typeof e!=`object`||!e)return!1;let t=e;return`$in`in t||`$ne`in t||`$exists`in t||`$startsWith`in t||`$endsWith`in t}const n=`*`;function r(t){return typeof t==`object`&&!!t&&`request`in t&&`response`in t&&t.request instanceof e.ZodType&&t.response instanceof e.ZodType}function i(e){return typeof e==`object`&&!!e&&`__channel`in e&&e.__channel===!0&&`schema`in e}function a(e){return{__channel:!0,schema:e}}function o(e){return typeof e==`object`&&!!e&&`__local`in e&&e.__local===!0&&`schema`in e}function s(e){return{__local:!0,schema:e}}function c(e){return typeof e==`object`&&!!e&&`__hostLocalRequest`in e&&e.__hostLocalRequest===!0&&`schema`in e}function l(e){return{__hostLocalRequest:!0,schema:e}}function u(e){return typeof e==`object`&&!!e&&`__defaultTransports`in e&&(e.__defaultTransports===`all`||e.__defaultTransports===`local-only`)&&`schema`in e}function d(e,t){return{__defaultTransports:t,schema:e}}function f(e){return typeof e==`object`&&!!e&&`__collectorOnly`in e&&e.__collectorOnly===!0&&`schema`in e}function p(e){return{__collectorOnly:!0,schema:e}}function m(e){return o(e)||f(e)||i(e)||c(e)||u(e)?e.schema:e}function h(e,t,n){let a={};for(let[s,l]of Object.entries(t)){let t=s.split(`.`),d=a;for(let e=0;e<t.length-1;e++)d[t[e]]??={},d=d[t[e]];let f=o(l),p=i(l),h=c(l),g=u(l)?l.__defaultTransports:n,_={subject:s,$meta:{namespace:e,isRequest:r(m(l)),local:f,channel:p,...h&&{hostLocalRequest:h},...g!==void 0&&{defaultTransports:g}}};d[t[t.length-1]]=_}return a.$all={subject:`*`,$meta:{namespace:e,isRequest:!1,local:!1,channel:!1}},a}function g(e){return`${e.$meta.namespace}.${e.subject}`}function _(e,t,n){let r=n?.defaultTransports,i;if(n!==void 0){let{defaultTransports:e,...t}=n;i=Object.keys(t).length>0?t:void 0}return{name:e,subjects:h(e,t,r),schemas:t,...i===void 0?{}:{options:i},...r===void 0?{}:{defaultTransports:r}}}e.object({cwd:e.string(),env:e.record(e.string(),e.string()),platform:e.enum([`posix`,`windows`]),signal:e.custom().optional(),constraints:e.record(e.string(),e.unknown()).optional(),sessionId:e.string().optional(),subagentId:e.string().optional(),subagentDepth:e.number().optional()});function v(){return typeof process>`u`?`posix`:process.platform===`win32`?`windows`:`posix`}const y=[`API_KEY`,`APIKEY`,`SECRET`,`TOKEN`,`PASSWORD`,`CREDENTIAL`,`PRIVATE_KEY`,`PRIVATEKEY`,`AUTH`,`BEARER`,`ACCESS_KEY`,`ACCESSKEY`];function b(e){let t=e.toUpperCase();return y.some(e=>t.includes(e))}function x(e){let t={};for(let[n,r]of Object.entries(e))r!==void 0&&!b(n)&&(t[n]=r);return t}function S(e){let t=typeof process<`u`?process.cwd():`/`,n=typeof process<`u`?x(process.env):{};return{cwd:e?.cwd??t,env:e?.env??n,platform:e?.platform??v(),signal:e?.signal,constraints:e?.constraints,sessionId:e?.sessionId,subagentId:e?.subagentId,subagentDepth:e?.subagentDepth}}var C=class extends Error{subject;constructor(e,t){super(e),this.subject=t,this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}},w=class extends C{subject;constructor(e,t){super(`Invalid model specified: ${e}`),this.subject=t,this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}},T=class extends C{subject;constructor(e,t){super(`Directory does not exist: ${e}`),this.subject=t,this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}},E=class extends C{subject;constructor(e,t){super(e),this.subject=t,this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}},D=class extends C{code=`rate_limit`},O=class extends C{code=`auth`},k=class extends C{code=`model_unavailable`},A=class extends C{code=`quota_exceeded`};const j=`makaio.observability`;function M(e){let t=e.meta()?.[j];if(typeof t!=`object`||!t)return;let n=t;return n.kind===`schema`||n.kind===`field`?n:void 0}function N(e,t){return e.meta({...e.meta(),[j]:t})}function P(t){if(t instanceof e.ZodOptional||t instanceof e.ZodNullable||t instanceof e.ZodDefault||t instanceof e.ZodCatch||t instanceof e.ZodReadonly)return t.unwrap()}function F(e){let t=e;for(;t;){let e=M(t);if(e?.kind===`field`)return e;t=P(t)}}function I(e){let t=M(e);if(t?.kind===`schema`)return{traceAll:t.traceAll}}function L(e){let t=F(e);if(t)return{visibility:t.visibility,attributeName:t.attributeName}}const R={schema(e,t){return N(e,{kind:`schema`,traceAll:t.traceAll})},field(e,t){return N(e,{kind:`field`,visibility:t.visibility,attributeName:t.attributeName})},hidden(e){return N(e,{kind:`field`,visibility:`hidden`})},count(e,t){return N(e,{kind:`field`,visibility:`count`,attributeName:t})},attribute(e,t){return N(e,{kind:`field`,visibility:`attribute`,attributeName:t})}};export{O as AuthenticationError,E as ConfigError,T as DirectoryNotFoundError,w as InvalidModelError,C as MakaioError,k as ModelUnavailableError,j as OBSERVABILITY_META_KEY,A as QuotaExceededError,D as RateLimitError,n as WildcardSubjectKey,a as channelSubject,p as collectorOnlySubject,_ as createBusNamespace,S as createMakaioContext,d as defaultTransports,g as getFullSubjectForSubjectDefinition,L as getObservabilityFieldPolicy,I as getObservabilitySchemaPolicy,l as hostLocalRequest,i as isChannelSchema,f as isCollectorOnlySchema,u as isDefaultTransportsSchema,c as isHostLocalRequestSchema,o as isLocalSchema,t as isOperatorObject,r as isRequestSchema,s as localSubject,h as nestSubjectDefinitions,R as observability,m as unwrapSchema};
@@ -1 +1 @@
1
- import{t as e}from"./descriptor-to-package-DCwvJoUE.mjs";import{t}from"./jsonl-transport-B70HQ9l1.mjs";import{z as n}from"zod";import{createBusNamespace as r}from"@makaio/framework/core";const i={idle:[`starting`],starting:[`running`,`crashed`,`stopping`],running:[`stopping`,`crashed`],stopping:[`stopped`],stopped:[`starting`],crashed:[`starting`,`stopped`]};function a(e,t){if(!i[e].includes(t))throw Error(`Invalid state transition: ${e} → ${t}`)}function o(e){return new Promise(t=>{if(e.exitCode!==null||e.signalCode!==null){t(!0);return}e.once(`exit`,()=>t(!0))})}function s(e){let{spawn:n,healthTimeoutMs:r=3e4,shutdownTimeoutMs:i=5e3,restartPolicy:s=`none`,onReady:c,onExit:l,onStateChange:u}=e,d=`idle`,f;function p(e){a(d,e),d=e,u?.(d)}function m(e){let t=f;if(f=void 0,t?.close(),d===`stopping`){p(`stopped`),l?.(e);return}if(d===`running`){if(e!==0){p(`crashed`),l?.(e),(s===`on-crash`||s===`always`)&&h().catch(e=>{console.error(`[ProcessLifecycle:${n.processName??n.command}] Restart failed:`,e instanceof Error?e.message:e)});return}p(`stopping`),p(`stopped`),l?.(e),s===`always`&&h().catch(e=>{console.error(`[ProcessLifecycle:${n.processName??n.command}] Restart failed:`,e instanceof Error?e.message:e)})}}async function h(){p(`starting`);let e=t(n);f=e;let i=e.process;await new Promise((t,a)=>{let o=!1;function s(e){o||(o=!0,clearTimeout(u),d(),i.off(`exit`,h),e())}let u=setTimeout(()=>{s(()=>{e.close(),f=void 0;try{p(`crashed`)}catch{}a(Error(`Process health timeout after ${r}ms: ${n.processName??n.command}`))})},r),d=e.onMessage(()=>{s(()=>{try{p(`running`)}catch(e){a(e);return}c?.(),i.once(`exit`,m),t()})});function h(e){s(()=>{f=void 0;try{p(`crashed`)}catch{}l?.(e),a(Error(`Process exited with code ${String(e)} before signaling readiness`))})}i.once(`exit`,h)})}async function g(){if(d===`stopped`||d===`idle`)return;if(d===`crashed`){f?.close(),f=void 0,p(`stopped`);return}if(d!==`stopping`&&p(`stopping`),!f){d===`stopping`&&p(`stopped`);return}let e=f,t=e.process;if(t.exitCode!==null){e.close(),f===e&&(f=void 0),d===`stopping`&&p(`stopped`);return}t.kill(`SIGTERM`);let n;await Promise.race([o(t).then(()=>(clearTimeout(n),!0)),new Promise(e=>{n=setTimeout(()=>e(!1),i)})])||(t.kill(`SIGKILL`),await o(t)),d===`stopping`&&p(`stopped`),e.close(),f===e&&(f=void 0)}return{get transport(){return f},get state(){return d},start:h,stop:g}}const c=n.object({dataDir:n.string().optional(),machineId:n.string().optional(),makaioHome:n.string().optional(),platform:n.string().optional(),username:n.string().optional()}),l={init:{request:n.object({config:n.unknown().optional(),context:c.optional()}),response:n.object({ready:n.boolean()})},ready:n.object({ready:n.boolean(),config:n.unknown().optional(),context:c.optional()}).passthrough(),destroy:{request:n.object({reason:n.string().optional()}),response:n.object({stopped:n.boolean()})},stopped:n.object({stopped:n.boolean()}).passthrough()};function u(e,t){return e.bus.registerNamespace(r(`extension.${t}`,l)).subjects}function d(e,t){let n;return()=>(n??=u(e,t),n)}function f(e){return{dataDir:e.dataDir,machineId:e.machineId,makaioHome:e.makaioHome,platform:e.platform,username:e.username}}var p=class{descriptor;ctx;extensionPath;getLifecycleSubjects;transport=null;unregister=null;constructor(e,t,n){this.descriptor=e,this.ctx=t,this.extensionPath=n,this.getLifecycleSubjects=d(t,e.name)}async init(){let{StdioServerTransport:e}=await import(`./src-T5DtFSyU.mjs`),{transport:t}=this.descriptor,n=this.getLifecycleSubjects(),r=new e({name:this.descriptor.name,spawn:{command:t.command,args:t.args,cwd:this.extensionPath,env:t.env,processName:this.descriptor.name}}),i=null;try{let e=this.ctx.bus.registerTransport(r);i=e.unregister,await r.connect(),await r.ready,await e.ready,this.transport=r,this.unregister=i,await this.ctx.bus.request(n.init,{config:this.ctx.config??this.descriptor.config?.defaults,context:f(this.ctx)},{timeout:t.healthTimeoutMs})}catch(e){throw i?.(),await r.disconnect(),this.transport=null,this.unregister=null,e}}async destroy(){if(this.transport!==null){let e=this.getLifecycleSubjects();try{await this.ctx.bus.request(e.destroy,{reason:`runtime-shutdown`},{timeout:this.descriptor.transport.shutdownTimeoutMs})}catch(e){console.warn(`[extensions] ${this.descriptor.name}: detached destroy lifecycle request did not complete before disconnect:`,e instanceof Error?e.message:e)}}this.unregister?.(),this.unregister=null,await this.transport?.disconnect(),this.transport=null}},m=class{descriptor;ctx;extensionPath;getLifecycleSubjects;lifecycle=null;constructor(e,t,n){this.descriptor=e,this.ctx=t,this.extensionPath=n,this.getLifecycleSubjects=d(t,e.name)}async init(){let{transport:e}=this.descriptor;if(!this.ctx.busUrl)throw Error(`[extensions] ${this.descriptor.name}: bus-websocket transport requires NodeExtensionContext.busUrl`);let t=this.getLifecycleSubjects();this.lifecycle=s({spawn:{command:e.command,args:e.args,cwd:this.extensionPath,env:{...e.env,MAKAIO_BUS_TRANSPORT:`websocket`,MAKAIO_BUS_URL:this.ctx.busUrl,MAKAIO_EXTENSION_NAME:this.descriptor.name},processName:this.descriptor.name},healthTimeoutMs:e.healthTimeoutMs,shutdownTimeoutMs:e.shutdownTimeoutMs,restartPolicy:`restartPolicy`in e?e.restartPolicy:void 0});try{await this.lifecycle.start(),await this.ctx.bus.request(t.init,{config:this.ctx.config??this.descriptor.config?.defaults,context:f(this.ctx)},{timeout:e.healthTimeoutMs})}catch(e){throw await this.lifecycle.stop(),this.lifecycle=null,e}}async destroy(){if(this.lifecycle!==null){let e=this.getLifecycleSubjects();try{await this.ctx.bus.request(e.destroy,{reason:`runtime-shutdown`},{timeout:this.descriptor.transport.shutdownTimeoutMs})}catch(e){console.warn(`[extensions] ${this.descriptor.name}: detached destroy lifecycle request did not complete before process stop:`,e instanceof Error?e.message:e)}await this.lifecycle.stop(),this.lifecycle=null}}},h=class{descriptor;ctx;extensionPath;bridge=null;constructor(e,t,n){this.descriptor=e,this.ctx=t,this.extensionPath=n}async init(){let{startMcpClientBridge:e}=await import(`@makaio/framework/mcp-http-server`),{transport:t}=this.descriptor;this.bridge=await e({command:t.command,args:t.args,env:t.env,cwd:this.extensionPath,extensionName:this.descriptor.name,bus:this.ctx.bus})}async destroy(){this.bridge!==null&&(await this.bridge.close(),this.bridge=null)}};function g(t,n){return{...e(t),create(e){return t.transport.type===`bus-stdio`?new p(t,e,n):t.transport.type===`mcp-stdio`?new h(t,e,n):new m(t,e,n)}}}export{g as createDetachedExtensionPackage};
1
+ import{t as e}from"./descriptor-to-package-VfB8lK5w.mjs";import{t}from"./jsonl-transport-D8RBF0dK.mjs";import{z as n}from"zod";import{createBusNamespace as r}from"@makaio/framework/core";const i={idle:[`starting`],starting:[`running`,`crashed`,`stopping`],running:[`stopping`,`crashed`],stopping:[`stopped`],stopped:[`starting`],crashed:[`starting`,`stopped`]};function a(e,t){if(!i[e].includes(t))throw Error(`Invalid state transition: ${e} → ${t}`)}function o(e){return new Promise(t=>{if(e.exitCode!==null||e.signalCode!==null){t(!0);return}e.once(`exit`,()=>t(!0))})}function s(e){let{spawn:n,healthTimeoutMs:r=3e4,shutdownTimeoutMs:i=5e3,restartPolicy:s=`none`,onReady:c,onExit:l,onStateChange:u}=e,d=`idle`,f;function p(e){a(d,e),d=e,u?.(d)}function m(e){let t=f;if(f=void 0,t?.close(),d===`stopping`){p(`stopped`),l?.(e);return}if(d===`running`){if(e!==0){p(`crashed`),l?.(e),(s===`on-crash`||s===`always`)&&h().catch(e=>{console.error(`[ProcessLifecycle:${n.processName??n.command}] Restart failed:`,e instanceof Error?e.message:e)});return}p(`stopping`),p(`stopped`),l?.(e),s===`always`&&h().catch(e=>{console.error(`[ProcessLifecycle:${n.processName??n.command}] Restart failed:`,e instanceof Error?e.message:e)})}}async function h(){p(`starting`);let e=t(n);f=e;let i=e.process;await new Promise((t,a)=>{let o=!1;function s(e){o||(o=!0,clearTimeout(u),d(),i.off(`exit`,h),e())}let u=setTimeout(()=>{s(()=>{e.close(),f=void 0;try{p(`crashed`)}catch{}a(Error(`Process health timeout after ${r}ms: ${n.processName??n.command}`))})},r),d=e.onMessage(()=>{s(()=>{try{p(`running`)}catch(e){a(e);return}c?.(),i.once(`exit`,m),t()})});function h(e){s(()=>{f=void 0;try{p(`crashed`)}catch{}l?.(e),a(Error(`Process exited with code ${String(e)} before signaling readiness`))})}i.once(`exit`,h)})}async function g(){if(d===`stopped`||d===`idle`)return;if(d===`crashed`){f?.close(),f=void 0,p(`stopped`);return}if(d!==`stopping`&&p(`stopping`),!f){d===`stopping`&&p(`stopped`);return}let e=f,t=e.process;if(t.exitCode!==null){e.close(),f===e&&(f=void 0),d===`stopping`&&p(`stopped`);return}t.kill(`SIGTERM`);let n;await Promise.race([o(t).then(()=>(clearTimeout(n),!0)),new Promise(e=>{n=setTimeout(()=>e(!1),i)})])||(t.kill(`SIGKILL`),await o(t)),d===`stopping`&&p(`stopped`),e.close(),f===e&&(f=void 0)}return{get transport(){return f},get state(){return d},start:h,stop:g}}const c=n.object({dataDir:n.string().optional(),machineId:n.string().optional(),makaioHome:n.string().optional(),platform:n.string().optional(),username:n.string().optional()}),l={init:{request:n.object({config:n.unknown().optional(),context:c.optional()}),response:n.object({ready:n.boolean()})},ready:n.object({ready:n.boolean(),config:n.unknown().optional(),context:c.optional()}).passthrough(),destroy:{request:n.object({reason:n.string().optional()}),response:n.object({stopped:n.boolean()})},stopped:n.object({stopped:n.boolean()}).passthrough()};function u(e,t){return e.bus.registerNamespace(r(`extension.${t}`,l)).subjects}function d(e,t){let n;return()=>(n??=u(e,t),n)}function f(e){return{dataDir:e.dataDir,machineId:e.machineId,makaioHome:e.makaioHome,platform:e.platform,username:e.username}}var p=class{descriptor;ctx;extensionPath;getLifecycleSubjects;transport=null;unregister=null;constructor(e,t,n){this.descriptor=e,this.ctx=t,this.extensionPath=n,this.getLifecycleSubjects=d(t,e.name)}async init(){let{StdioServerTransport:e}=await import(`./src-XihJcAQS.mjs`),{transport:t}=this.descriptor,n=this.getLifecycleSubjects(),r=new e({name:this.descriptor.name,spawn:{command:t.command,args:t.args,cwd:this.extensionPath,env:t.env,processName:this.descriptor.name}}),i=null;try{let e=this.ctx.bus.registerTransport(r);i=e.unregister,await r.connect(),await r.ready,await e.ready,this.transport=r,this.unregister=i,await this.ctx.bus.request(n.init,{config:this.ctx.config??this.descriptor.config?.defaults,context:f(this.ctx)},{timeout:t.healthTimeoutMs})}catch(e){throw i?.(),await r.disconnect(),this.transport=null,this.unregister=null,e}}async destroy(){if(this.transport!==null){let e=this.getLifecycleSubjects();try{await this.ctx.bus.request(e.destroy,{reason:`runtime-shutdown`},{timeout:this.descriptor.transport.shutdownTimeoutMs})}catch(e){console.warn(`[extensions] ${this.descriptor.name}: detached destroy lifecycle request did not complete before disconnect:`,e instanceof Error?e.message:e)}}this.unregister?.(),this.unregister=null,await this.transport?.disconnect(),this.transport=null}},m=class{descriptor;ctx;extensionPath;getLifecycleSubjects;lifecycle=null;constructor(e,t,n){this.descriptor=e,this.ctx=t,this.extensionPath=n,this.getLifecycleSubjects=d(t,e.name)}async init(){let{transport:e}=this.descriptor;if(!this.ctx.busUrl)throw Error(`[extensions] ${this.descriptor.name}: bus-websocket transport requires NodeExtensionContext.busUrl`);let t=this.getLifecycleSubjects();this.lifecycle=s({spawn:{command:e.command,args:e.args,cwd:this.extensionPath,env:{...e.env,MAKAIO_BUS_TRANSPORT:`websocket`,MAKAIO_BUS_URL:this.ctx.busUrl,MAKAIO_EXTENSION_NAME:this.descriptor.name},processName:this.descriptor.name},healthTimeoutMs:e.healthTimeoutMs,shutdownTimeoutMs:e.shutdownTimeoutMs,restartPolicy:`restartPolicy`in e?e.restartPolicy:void 0});try{await this.lifecycle.start(),await this.ctx.bus.request(t.init,{config:this.ctx.config??this.descriptor.config?.defaults,context:f(this.ctx)},{timeout:e.healthTimeoutMs})}catch(e){throw await this.lifecycle.stop(),this.lifecycle=null,e}}async destroy(){if(this.lifecycle!==null){let e=this.getLifecycleSubjects();try{await this.ctx.bus.request(e.destroy,{reason:`runtime-shutdown`},{timeout:this.descriptor.transport.shutdownTimeoutMs})}catch(e){console.warn(`[extensions] ${this.descriptor.name}: detached destroy lifecycle request did not complete before process stop:`,e instanceof Error?e.message:e)}await this.lifecycle.stop(),this.lifecycle=null}}},h=class{descriptor;ctx;extensionPath;bridge=null;constructor(e,t,n){this.descriptor=e,this.ctx=t,this.extensionPath=n}async init(){let{startMcpClientBridge:e}=await import(`@makaio/framework/mcp-http-server`),{transport:t}=this.descriptor;this.bridge=await e({command:t.command,args:t.args,env:t.env,cwd:this.extensionPath,extensionName:this.descriptor.name,bus:this.ctx.bus})}async destroy(){this.bridge!==null&&(await this.bridge.close(),this.bridge=null)}};function g(t,n){return{...e(t),create(e){return t.transport.type===`bus-stdio`?new p(t,e,n):t.transport.type===`mcp-stdio`?new h(t,e,n):new m(t,e,n)}}}export{g as createDetachedExtensionPackage};
@@ -1 +1 @@
1
- import{FileSystemSubjects as e,FsSubjects as t}from"./services/filesystem/namespace.mjs";import*as n from"node:fs/promises";import*as r from"node:path";import{BaseService as i}from"@makaio/framework/service-base";import*as a from"node:os";const o=[`node_modules`,`.git`,`dist`,`build`,`.next`,`coverage`,`.turbo`,`.cache`];function s(e){return e.split(r.sep).filter(Boolean)}function c(e){let t=r.dirname(e);return t===e?null:t}function l(e){let t=s(e),n=[],i=r.parse(e).root;for(let e of t)i=r.join(i,e),n.push({name:e,path:i});return n}async function u(e,t){let i=r.resolve(e),a=await n.readdir(i,{withFileTypes:!0}),u=t?.includeHidden??!1,d=new Set(t?.excludeNames??o),f=[],p=[];for(let e of a){if(e.name.startsWith(`.`)&&!u||d.has(e.name))continue;let t=r.join(i,e.name),a=e.isDirectory();try{let i=!1;if(a)try{await n.access(r.join(t,`.git`)),i=!0}catch{}let o=await n.stat(t);f.push({name:e.name,path:t,type:a?`directory`:`file`,isGitRepo:a?i:void 0,size:a?void 0:o.size,modified:o.mtimeMs})}catch(t){let n=t;p.push({name:e.name,code:n.code??`UNKNOWN`,message:n.message})}}f.sort((e,t)=>e.type===t.type?e.name.localeCompare(t.name):e.type===`directory`?-1:1);let m=!1;try{await n.access(r.join(i,`.git`)),m=!0}catch{}return{entries:f,isGitRepo:m,path:i,parentPath:c(i),segments:s(i),breadcrumbs:l(i),errors:p.length>0?p:void 0}}var d=class extends i{machineId;label;constructor(e,t,n=`Local`){super(e),this.machineId=t,this.label=n}async onInit(){this.registerHandler(e.listSources,e=>{e.identify?.(this.machineId),e.setResult({sources:[{machineId:this.machineId,label:this.label}]})}),this.addCleanup(this.bus.on(e.listDirectory,async e=>{let t=await u(e.payload.path??a.homedir(),e.payload.options);e.setResult(t)},{filter:{machineId:this.machineId}})),this.addCleanup(this.bus.on(e.getHomeDir,e=>{e.setResult({path:a.homedir()})},{filter:{machineId:this.machineId}})),this.registerHandler(t.glob,async e=>{let{pattern:t,cwd:i,limit:a=100,offset:o=0,ignore:s=[],machineId:c}=e.payload;if(this.requireMachineIdForRemote(e,c),c!==void 0&&!this.shouldHandle(c))return;let{globby:l}=await import(`./globby-DE358g5u.mjs`).then(e=>e.n),u=await l(t,{cwd:i,ignore:[`node_modules/**`,`.git/**`,...s],absolute:!0,onlyFiles:!1,expandDirectories:!1}),d=u.length,f=o+a<d,p=u.slice(o,o+a),m=await Promise.all(p.map(async e=>{let t=r.relative(i,e),a=`file`,o;try{let t=await n.stat(e);a=t.isDirectory()?`directory`:`file`,o=t.isFile()?t.size:void 0}catch{}return{path:e,relativePath:t,type:a,size:o}}));e.setResult({files:m,truncated:f,total:d})}),this.registerHandler(t.readFile,async e=>{let{path:t,machineId:r,encoding:i=`utf-8`}=e.payload;if(this.requireMachineIdForRemote(e,r),r!==void 0&&!this.shouldHandle(r))return;let a=await n.readFile(t,{encoding:i});e.setResult({content:a})}),this.registerHandler(t.writeFile,async e=>{let{path:t,content:r,machineId:i,encoding:a=`utf-8`}=e.payload;this.requireMachineIdForRemote(e,i),!(i!==void 0&&!this.shouldHandle(i))&&(await n.writeFile(t,r,{encoding:a}),e.setResult({success:!0}))})}requireMachineIdForRemote(e,t){if(!this.isHostOwnedOrigin(e)&&t===void 0)throw Error(`machineId is required for remote filesystem access`)}isHostOwnedOrigin(e){return e.origin.local||e.transport?.transportName===`worker`&&e.transport.peer===void 0}shouldHandle(e){return e===this.machineId}};export{d as t};
1
+ import{FileSystemSubjects as e,FsSubjects as t}from"./services/filesystem/namespace.mjs";import*as n from"node:fs/promises";import*as r from"node:path";import{BaseService as i}from"@makaio/framework/service-base";import*as a from"node:os";const o=[`node_modules`,`.git`,`dist`,`build`,`.next`,`coverage`,`.turbo`,`.cache`];function s(e){return e.split(r.sep).filter(Boolean)}function c(e){let t=r.dirname(e);return t===e?null:t}function l(e){let t=s(e),n=[],i=r.parse(e).root;for(let e of t)i=r.join(i,e),n.push({name:e,path:i});return n}async function u(e,t){let i=r.resolve(e),a=await n.readdir(i,{withFileTypes:!0}),u=t?.includeHidden??!1,d=new Set(t?.excludeNames??o),f=[],p=[];for(let e of a){if(e.name.startsWith(`.`)&&!u||d.has(e.name))continue;let t=r.join(i,e.name),a=e.isDirectory();try{let i=!1;if(a)try{await n.access(r.join(t,`.git`)),i=!0}catch{}let o=await n.stat(t);f.push({name:e.name,path:t,type:a?`directory`:`file`,isGitRepo:a?i:void 0,size:a?void 0:o.size,modified:o.mtimeMs})}catch(t){let n=t;p.push({name:e.name,code:n.code??`UNKNOWN`,message:n.message})}}f.sort((e,t)=>e.type===t.type?e.name.localeCompare(t.name):e.type===`directory`?-1:1);let m=!1;try{await n.access(r.join(i,`.git`)),m=!0}catch{}return{entries:f,isGitRepo:m,path:i,parentPath:c(i),segments:s(i),breadcrumbs:l(i),errors:p.length>0?p:void 0}}var d=class extends i{machineId;label;constructor(e,t,n=`Local`){super(e),this.machineId=t,this.label=n}async onInit(){this.registerHandler(e.listSources,e=>{e.identify?.(this.machineId),e.setResult({sources:[{machineId:this.machineId,label:this.label}]})}),this.addCleanup(this.bus.on(e.listDirectory,async e=>{let t=await u(e.payload.path??a.homedir(),e.payload.options);e.setResult(t)},{filter:{machineId:this.machineId}})),this.addCleanup(this.bus.on(e.getHomeDir,e=>{e.setResult({path:a.homedir()})},{filter:{machineId:this.machineId}})),this.registerHandler(t.glob,async e=>{let{pattern:t,cwd:i,limit:a=100,offset:o=0,ignore:s=[],machineId:c}=e.payload;if(this.requireMachineIdForRemote(e,c),c!==void 0&&!this.shouldHandle(c))return;let{globby:l}=await import(`./globby-DWp7V-P2.mjs`).then(e=>e.n),u=await l(t,{cwd:i,ignore:[`node_modules/**`,`.git/**`,...s],absolute:!0,onlyFiles:!1,expandDirectories:!1}),d=u.length,f=o+a<d,p=u.slice(o,o+a),m=await Promise.all(p.map(async e=>{let t=r.relative(i,e),a=`file`,o;try{let t=await n.stat(e);a=t.isDirectory()?`directory`:`file`,o=t.isFile()?t.size:void 0}catch{}return{path:e,relativePath:t,type:a,size:o}}));e.setResult({files:m,truncated:f,total:d})}),this.registerHandler(t.readFile,async e=>{let{path:t,machineId:r,encoding:i=`utf-8`}=e.payload;if(this.requireMachineIdForRemote(e,r),r!==void 0&&!this.shouldHandle(r))return;let a=await n.readFile(t,{encoding:i});e.setResult({content:a})}),this.registerHandler(t.writeFile,async e=>{let{path:t,content:r,machineId:i,encoding:a=`utf-8`}=e.payload;this.requireMachineIdForRemote(e,i),!(i!==void 0&&!this.shouldHandle(i))&&(await n.writeFile(t,r,{encoding:a}),e.setResult({success:!0}))})}requireMachineIdForRemote(e,t){if(!this.isHostOwnedOrigin(e)&&t===void 0)throw Error(`machineId is required for remote filesystem access`)}isHostOwnedOrigin(e){return e.origin.local||e.transport?.transportName===`worker`&&e.transport.peer===void 0}shouldHandle(e){return e===this.machineId}};export{d as t};
@@ -1,4 +1,4 @@
1
- import{i as e,o as t,t as n}from"../chunk-DTipWd-i.mjs";import{t as r}from"../supports-color-CCdGjFUY.mjs";import{t as i}from"../quick-lru-Coxb6GVa.mjs";import*as a from"node:fs/promises";import{readFile as o}from"node:fs/promises";import*as s from"node:path";import c,{normalize as l}from"node:path";import{createHash as u}from"node:crypto";import{GitHookSubjects as d}from"@makaio/framework/contracts";import{BaseService as f}from"@makaio/framework/service-base";import{FsSubjects as p}from"@makaio/framework/services/filesystem/namespace";import{GitSubjects as m,GitSubjects as h}from"@makaio/framework/services/git/namespace";import{promisify as ee}from"util";import{exec as g,spawn as _}from"child_process";import{EventEmitter as te}from"node:events";import v from"path";import{FsSubjects as ne}from"@makaio/framework/services/filesystem";var y=n(((e,t)=>{var n=1e3,r=n*60,i=r*60,a=i*24,o=a*7,s=a*365.25;t.exports=function(e,t){t||={};var n=typeof e;if(n===`string`&&e.length>0)return c(e);if(n===`number`&&isFinite(e))return t.long?u(e):l(e);throw Error(`val is not a non-empty string or a valid number. val=`+JSON.stringify(e))};function c(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var c=parseFloat(t[1]);switch((t[2]||`ms`).toLowerCase()){case`years`:case`year`:case`yrs`:case`yr`:case`y`:return c*s;case`weeks`:case`week`:case`w`:return c*o;case`days`:case`day`:case`d`:return c*a;case`hours`:case`hour`:case`hrs`:case`hr`:case`h`:return c*i;case`minutes`:case`minute`:case`mins`:case`min`:case`m`:return c*r;case`seconds`:case`second`:case`secs`:case`sec`:case`s`:return c*n;case`milliseconds`:case`millisecond`:case`msecs`:case`msec`:case`ms`:return c;default:return}}}}function l(e){var t=Math.abs(e);return t>=a?Math.round(e/a)+`d`:t>=i?Math.round(e/i)+`h`:t>=r?Math.round(e/r)+`m`:t>=n?Math.round(e/n)+`s`:e+`ms`}function u(e){var t=Math.abs(e);return t>=a?d(e,t,a,`day`):t>=i?d(e,t,i,`hour`):t>=r?d(e,t,r,`minute`):t>=n?d(e,t,n,`second`):e+` ms`}function d(e,t,n,r){var i=t>=n*1.5;return Math.round(e/n)+` `+r+(i?`s`:``)}})),b=n(((e,t)=>{function n(e){n.debug=n,n.default=n,n.coerce=c,n.disable=o,n.enable=i,n.enabled=s,n.humanize=y(),n.destroy=l,Object.keys(e).forEach(t=>{n[t]=e[t]}),n.names=[],n.skips=[],n.formatters={};function t(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return n.colors[Math.abs(t)%n.colors.length]}n.selectColor=t;function n(e){let t,i=null,a,o;function s(...e){if(!s.enabled)return;let r=s,i=Number(new Date);r.diff=i-(t||i),r.prev=t,r.curr=i,t=i,e[0]=n.coerce(e[0]),typeof e[0]!=`string`&&e.unshift(`%O`);let a=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,(t,i)=>{if(t===`%%`)return`%`;a++;let o=n.formatters[i];if(typeof o==`function`){let n=e[a];t=o.call(r,n),e.splice(a,1),a--}return t}),n.formatArgs.call(r,e),(r.log||n.log).apply(r,e)}return s.namespace=e,s.useColors=n.useColors(),s.color=n.selectColor(e),s.extend=r,s.destroy=n.destroy,Object.defineProperty(s,`enabled`,{enumerable:!0,configurable:!1,get:()=>i===null?(a!==n.namespaces&&(a=n.namespaces,o=n.enabled(e)),o):i,set:e=>{i=e}}),typeof n.init==`function`&&n.init(s),s}function r(e,t){let r=n(this.namespace+(t===void 0?`:`:t)+e);return r.log=this.log,r}function i(e){n.save(e),n.namespaces=e,n.names=[],n.skips=[];let t=(typeof e==`string`?e:``).trim().replace(/\s+/g,`,`).split(`,`).filter(Boolean);for(let e of t)e[0]===`-`?n.skips.push(e.slice(1)):n.names.push(e)}function a(e,t){let n=0,r=0,i=-1,a=0;for(;n<e.length;)if(r<t.length&&(t[r]===e[n]||t[r]===`*`))t[r]===`*`?(i=r,a=n,r++):(n++,r++);else if(i!==-1)r=i+1,a++,n=a;else return!1;for(;r<t.length&&t[r]===`*`;)r++;return r===t.length}function o(){let e=[...n.names,...n.skips.map(e=>`-`+e)].join(`,`);return n.enable(``),e}function s(e){for(let t of n.skips)if(a(e,t))return!1;for(let t of n.names)if(a(e,t))return!0;return!1}function c(e){return e instanceof Error?e.stack||e.message:e}function l(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return n.enable(n.load()),n}t.exports=n})),x=n(((e,t)=>{e.formatArgs=r,e.save=i,e.load=a,e.useColors=n,e.storage=o(),e.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),e.colors=`#0000CC.#0000FF.#0033CC.#0033FF.#0066CC.#0066FF.#0099CC.#0099FF.#00CC00.#00CC33.#00CC66.#00CC99.#00CCCC.#00CCFF.#3300CC.#3300FF.#3333CC.#3333FF.#3366CC.#3366FF.#3399CC.#3399FF.#33CC00.#33CC33.#33CC66.#33CC99.#33CCCC.#33CCFF.#6600CC.#6600FF.#6633CC.#6633FF.#66CC00.#66CC33.#9900CC.#9900FF.#9933CC.#9933FF.#99CC00.#99CC33.#CC0000.#CC0033.#CC0066.#CC0099.#CC00CC.#CC00FF.#CC3300.#CC3333.#CC3366.#CC3399.#CC33CC.#CC33FF.#CC6600.#CC6633.#CC9900.#CC9933.#CCCC00.#CCCC33.#FF0000.#FF0033.#FF0066.#FF0099.#FF00CC.#FF00FF.#FF3300.#FF3333.#FF3366.#FF3399.#FF33CC.#FF33FF.#FF6600.#FF6633.#FF9900.#FF9933.#FFCC00.#FFCC33`.split(`.`);function n(){if(typeof window<`u`&&window.process&&(window.process.type===`renderer`||window.process.__nwjs))return!0;if(typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return typeof document<`u`&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<`u`&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<`u`&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function r(e){if(e[0]=(this.useColors?`%c`:``)+this.namespace+(this.useColors?` %c`:` `)+e[0]+(this.useColors?`%c `:` `)+`+`+t.exports.humanize(this.diff),!this.useColors)return;let n=`color: `+this.color;e.splice(1,0,n,`color: inherit`);let r=0,i=0;e[0].replace(/%[a-zA-Z%]/g,e=>{e!==`%%`&&(r++,e===`%c`&&(i=r))}),e.splice(i,0,n)}e.log=console.debug||console.log||(()=>{});function i(t){try{t?e.storage.setItem(`debug`,t):e.storage.removeItem(`debug`)}catch{}}function a(){let t;try{t=e.storage.getItem(`debug`)||e.storage.getItem(`DEBUG`)}catch{}return!t&&typeof process<`u`&&`env`in process&&(t=process.env.DEBUG),t}function o(){try{return localStorage}catch{}}t.exports=b()(e);let{formatters:s}=t.exports;s.j=function(e){try{return JSON.stringify(e)}catch(e){return`[UnexpectedJSONParseError]: `+e.message}}})),re=n(((t,n)=>{let i=e(`tty`),a=e(`util`);t.init=f,t.log=l,t.formatArgs=s,t.save=u,t.load=d,t.useColors=o,t.destroy=a.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."),t.colors=[6,2,3,4,5,1];try{let e=r();e&&(e.stderr||e).level>=2&&(t.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}t.inspectOpts=Object.keys(process.env).filter(e=>/^debug_/i.test(e)).reduce((e,t)=>{let n=t.substring(6).toLowerCase().replace(/_([a-z])/g,(e,t)=>t.toUpperCase()),r=process.env[t];return r=/^(yes|on|true|enabled)$/i.test(r)?!0:/^(no|off|false|disabled)$/i.test(r)?!1:r===`null`?null:Number(r),e[n]=r,e},{});function o(){return`colors`in t.inspectOpts?!!t.inspectOpts.colors:i.isatty(process.stderr.fd)}function s(e){let{namespace:t,useColors:r}=this;if(r){let r=this.color,i=`\x1B[3`+(r<8?r:`8;5;`+r),a=` ${i};1m${t} \u001B[0m`;e[0]=a+e[0].split(`
1
+ import{i as e,o as t,t as n}from"../chunk-DTipWd-i.mjs";import{t as r}from"../supports-color-DwW9N6YC.mjs";import{t as i}from"../quick-lru-CTBjxfgD.mjs";import*as a from"node:fs/promises";import{readFile as o}from"node:fs/promises";import*as s from"node:path";import c,{normalize as l}from"node:path";import{createHash as u}from"node:crypto";import{GitHookSubjects as d}from"@makaio/framework/contracts";import{BaseService as f}from"@makaio/framework/service-base";import{FsSubjects as p}from"@makaio/framework/services/filesystem/namespace";import{GitSubjects as m,GitSubjects as h}from"@makaio/framework/services/git/namespace";import{promisify as ee}from"util";import{exec as g,spawn as _}from"child_process";import{EventEmitter as te}from"node:events";import v from"path";import{FsSubjects as ne}from"@makaio/framework/services/filesystem";var y=n(((e,t)=>{var n=1e3,r=n*60,i=r*60,a=i*24,o=a*7,s=a*365.25;t.exports=function(e,t){t||={};var n=typeof e;if(n===`string`&&e.length>0)return c(e);if(n===`number`&&isFinite(e))return t.long?u(e):l(e);throw Error(`val is not a non-empty string or a valid number. val=`+JSON.stringify(e))};function c(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var c=parseFloat(t[1]);switch((t[2]||`ms`).toLowerCase()){case`years`:case`year`:case`yrs`:case`yr`:case`y`:return c*s;case`weeks`:case`week`:case`w`:return c*o;case`days`:case`day`:case`d`:return c*a;case`hours`:case`hour`:case`hrs`:case`hr`:case`h`:return c*i;case`minutes`:case`minute`:case`mins`:case`min`:case`m`:return c*r;case`seconds`:case`second`:case`secs`:case`sec`:case`s`:return c*n;case`milliseconds`:case`millisecond`:case`msecs`:case`msec`:case`ms`:return c;default:return}}}}function l(e){var t=Math.abs(e);return t>=a?Math.round(e/a)+`d`:t>=i?Math.round(e/i)+`h`:t>=r?Math.round(e/r)+`m`:t>=n?Math.round(e/n)+`s`:e+`ms`}function u(e){var t=Math.abs(e);return t>=a?d(e,t,a,`day`):t>=i?d(e,t,i,`hour`):t>=r?d(e,t,r,`minute`):t>=n?d(e,t,n,`second`):e+` ms`}function d(e,t,n,r){var i=t>=n*1.5;return Math.round(e/n)+` `+r+(i?`s`:``)}})),b=n(((e,t)=>{function n(e){n.debug=n,n.default=n,n.coerce=c,n.disable=o,n.enable=i,n.enabled=s,n.humanize=y(),n.destroy=l,Object.keys(e).forEach(t=>{n[t]=e[t]}),n.names=[],n.skips=[],n.formatters={};function t(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return n.colors[Math.abs(t)%n.colors.length]}n.selectColor=t;function n(e){let t,i=null,a,o;function s(...e){if(!s.enabled)return;let r=s,i=Number(new Date);r.diff=i-(t||i),r.prev=t,r.curr=i,t=i,e[0]=n.coerce(e[0]),typeof e[0]!=`string`&&e.unshift(`%O`);let a=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,(t,i)=>{if(t===`%%`)return`%`;a++;let o=n.formatters[i];if(typeof o==`function`){let n=e[a];t=o.call(r,n),e.splice(a,1),a--}return t}),n.formatArgs.call(r,e),(r.log||n.log).apply(r,e)}return s.namespace=e,s.useColors=n.useColors(),s.color=n.selectColor(e),s.extend=r,s.destroy=n.destroy,Object.defineProperty(s,`enabled`,{enumerable:!0,configurable:!1,get:()=>i===null?(a!==n.namespaces&&(a=n.namespaces,o=n.enabled(e)),o):i,set:e=>{i=e}}),typeof n.init==`function`&&n.init(s),s}function r(e,t){let r=n(this.namespace+(t===void 0?`:`:t)+e);return r.log=this.log,r}function i(e){n.save(e),n.namespaces=e,n.names=[],n.skips=[];let t=(typeof e==`string`?e:``).trim().replace(/\s+/g,`,`).split(`,`).filter(Boolean);for(let e of t)e[0]===`-`?n.skips.push(e.slice(1)):n.names.push(e)}function a(e,t){let n=0,r=0,i=-1,a=0;for(;n<e.length;)if(r<t.length&&(t[r]===e[n]||t[r]===`*`))t[r]===`*`?(i=r,a=n,r++):(n++,r++);else if(i!==-1)r=i+1,a++,n=a;else return!1;for(;r<t.length&&t[r]===`*`;)r++;return r===t.length}function o(){let e=[...n.names,...n.skips.map(e=>`-`+e)].join(`,`);return n.enable(``),e}function s(e){for(let t of n.skips)if(a(e,t))return!1;for(let t of n.names)if(a(e,t))return!0;return!1}function c(e){return e instanceof Error?e.stack||e.message:e}function l(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return n.enable(n.load()),n}t.exports=n})),x=n(((e,t)=>{e.formatArgs=r,e.save=i,e.load=a,e.useColors=n,e.storage=o(),e.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),e.colors=`#0000CC.#0000FF.#0033CC.#0033FF.#0066CC.#0066FF.#0099CC.#0099FF.#00CC00.#00CC33.#00CC66.#00CC99.#00CCCC.#00CCFF.#3300CC.#3300FF.#3333CC.#3333FF.#3366CC.#3366FF.#3399CC.#3399FF.#33CC00.#33CC33.#33CC66.#33CC99.#33CCCC.#33CCFF.#6600CC.#6600FF.#6633CC.#6633FF.#66CC00.#66CC33.#9900CC.#9900FF.#9933CC.#9933FF.#99CC00.#99CC33.#CC0000.#CC0033.#CC0066.#CC0099.#CC00CC.#CC00FF.#CC3300.#CC3333.#CC3366.#CC3399.#CC33CC.#CC33FF.#CC6600.#CC6633.#CC9900.#CC9933.#CCCC00.#CCCC33.#FF0000.#FF0033.#FF0066.#FF0099.#FF00CC.#FF00FF.#FF3300.#FF3333.#FF3366.#FF3399.#FF33CC.#FF33FF.#FF6600.#FF6633.#FF9900.#FF9933.#FFCC00.#FFCC33`.split(`.`);function n(){if(typeof window<`u`&&window.process&&(window.process.type===`renderer`||window.process.__nwjs))return!0;if(typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return typeof document<`u`&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<`u`&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<`u`&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function r(e){if(e[0]=(this.useColors?`%c`:``)+this.namespace+(this.useColors?` %c`:` `)+e[0]+(this.useColors?`%c `:` `)+`+`+t.exports.humanize(this.diff),!this.useColors)return;let n=`color: `+this.color;e.splice(1,0,n,`color: inherit`);let r=0,i=0;e[0].replace(/%[a-zA-Z%]/g,e=>{e!==`%%`&&(r++,e===`%c`&&(i=r))}),e.splice(i,0,n)}e.log=console.debug||console.log||(()=>{});function i(t){try{t?e.storage.setItem(`debug`,t):e.storage.removeItem(`debug`)}catch{}}function a(){let t;try{t=e.storage.getItem(`debug`)||e.storage.getItem(`DEBUG`)}catch{}return!t&&typeof process<`u`&&`env`in process&&(t=process.env.DEBUG),t}function o(){try{return localStorage}catch{}}t.exports=b()(e);let{formatters:s}=t.exports;s.j=function(e){try{return JSON.stringify(e)}catch(e){return`[UnexpectedJSONParseError]: `+e.message}}})),re=n(((t,n)=>{let i=e(`tty`),a=e(`util`);t.init=f,t.log=l,t.formatArgs=s,t.save=u,t.load=d,t.useColors=o,t.destroy=a.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."),t.colors=[6,2,3,4,5,1];try{let e=r();e&&(e.stderr||e).level>=2&&(t.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}t.inspectOpts=Object.keys(process.env).filter(e=>/^debug_/i.test(e)).reduce((e,t)=>{let n=t.substring(6).toLowerCase().replace(/_([a-z])/g,(e,t)=>t.toUpperCase()),r=process.env[t];return r=/^(yes|on|true|enabled)$/i.test(r)?!0:/^(no|off|false|disabled)$/i.test(r)?!1:r===`null`?null:Number(r),e[n]=r,e},{});function o(){return`colors`in t.inspectOpts?!!t.inspectOpts.colors:i.isatty(process.stderr.fd)}function s(e){let{namespace:t,useColors:r}=this;if(r){let r=this.color,i=`\x1B[3`+(r<8?r:`8;5;`+r),a=` ${i};1m${t} \u001B[0m`;e[0]=a+e[0].split(`
2
2
  `).join(`
3
3
  `+a),e.push(i+`m+`+n.exports.humanize(this.diff)+`\x1B[0m`)}else e[0]=c()+t+` `+e[0]}function c(){return t.inspectOpts.hideDate?``:new Date().toISOString()+` `}function l(...e){return process.stderr.write(a.formatWithOptions(t.inspectOpts,...e)+`
4
4
  `)}function u(e){e?process.env.DEBUG=e:delete process.env.DEBUG}function d(){return process.env.DEBUG}function f(e){e.inspectOpts={};let n=Object.keys(t.inspectOpts);for(let r=0;r<n.length;r++)e.inspectOpts[n[r]]=t.inspectOpts[n[r]]}n.exports=b()(t);let{formatters:p}=n.exports;p.o=function(e){return this.inspectOpts.colors=this.useColors,a.inspect(e,this.inspectOpts).split(`
@@ -1 +1 @@
1
- import{o as e,r as t,t as n}from"./chunk-DTipWd-i.mjs";import{t as r}from"./out-B6fO6go6.mjs";import{execFile as i}from"node:child_process";import{promisify as a}from"node:util";import{fileURLToPath as o}from"node:url";import s from"node:fs/promises";import c from"node:path";import l from"node:fs";import"node:events";import u from"node:process";import"node:stream";import"node:stream/promises";var d=e(r(),1);async function f(e,t,n){if(typeof n!=`string`)throw TypeError(`Expected a string, got ${typeof n}`);try{return(await s[e](n))[t]()}catch(e){if(e.code===`ENOENT`)return!1;throw e}}function p(e,t,n){if(typeof n!=`string`)throw TypeError(`Expected a string, got ${typeof n}`);try{return l[e](n)[t]()}catch(e){if(e.code===`ENOENT`)return!1;throw e}}f.bind(void 0,`stat`,`isFile`);const m=f.bind(void 0,`stat`,`isDirectory`);f.bind(void 0,`lstat`,`isSymbolicLink`),p.bind(void 0,`statSync`,`isFile`),p.bind(void 0,`statSync`,`isDirectory`),p.bind(void 0,`lstatSync`,`isSymbolicLink`),a(i);function h(e){return e instanceof URL?o(e):e}var g=e(n(((e,t)=>{function n(e){return Array.isArray(e)?e:[e]}let r=/^\s+$/,i=/(?:[^\\]|^)\\$/,a=/^\\!/,o=/^\\#/,s=/\r?\n/g,c=/^\.{0,2}\/|^\.{1,2}$/,l=/\/$/,u=`node-ignore`;typeof Symbol<`u`&&(u=Symbol.for(`node-ignore`));let d=u,f=(e,t,n)=>(Object.defineProperty(e,t,{value:n}),n),p=/([0-z])-([0-z])/g,m=()=>!1,h=e=>e.replace(p,(e,t,n)=>t.charCodeAt(0)<=n.charCodeAt(0)?e:``),g=e=>{let{length:t}=e;return e.slice(0,t-t%2)},_=[[/^\uFEFF/,()=>``],[/((?:\\\\)*?)(\\?\s+)$/,(e,t,n)=>t+(n.indexOf(`\\`)===0?` `:``)],[/(\\+?)\s/g,(e,t)=>{let{length:n}=t;return t.slice(0,n-n%2)+` `}],[/[\\$.|*+(){^]/g,e=>`\\${e}`],[/(?!\\)\?/g,()=>`[^/]`],[/^\//,()=>`^`],[/\//g,()=>`\\/`],[/^\^*\\\*\\\*\\\//,()=>`^(?:.*\\/)?`],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?`^`:`(?:^|\\/)`}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(e,t,n)=>t+6<n.length?`(?:\\/[^\\/]+)*`:`\\/.+`],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(e,t,n)=>t+n.replace(/\\\*/g,`[^\\/]*`)],[/\\\\\\(?=[$.|*+(){^])/g,()=>`\\`],[/\\\\/g,()=>`\\`],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(e,t,n,r,i)=>t===`\\`?`\\[${n}${g(r)}${i}`:i===`]`&&r.length%2==0?`[${h(n)}${r}]`:`[]`],[/(?:[^*])$/,e=>/\/$/.test(e)?`${e}$`:`${e}(?=$|\\/$)`]],v=/(^|\\\/)?\\\*$/,y=`regex`,b=`checkRegex`,x={[y](e,t){return`${t?`${t}[^/]+`:`[^/]*`}(?=$|\\/$)`},[b](e,t){return`${t?`${t}[^/]*`:`[^/]*`}(?=$|\\/$)`}},S=e=>_.reduce((t,[n,r])=>t.replace(n,r.bind(e)),e),C=e=>typeof e==`string`,w=e=>e&&C(e)&&!r.test(e)&&!i.test(e)&&e.indexOf(`#`)!==0,T=e=>e.split(s).filter(Boolean);var E=class{constructor(e,t,n,r,i,a){this.pattern=e,this.mark=t,this.negative=i,f(this,`body`,n),f(this,`ignoreCase`,r),f(this,`regexPrefix`,a)}get regex(){let e=`_`+y;return this[e]?this[e]:this._make(y,e)}get checkRegex(){let e=`_`+b;return this[e]?this[e]:this._make(b,e)}_make(e,t){let n=this.regexPrefix.replace(v,x[e]),r=this.ignoreCase?new RegExp(n,`i`):new RegExp(n);return f(this,t,r)}};let D=({pattern:e,mark:t},n)=>{let r=!1,i=e;i.indexOf(`!`)===0&&(r=!0,i=i.substr(1)),i=i.replace(a,`!`).replace(o,`#`);let s=S(i);return new E(e,t,i,n,r,s)};var O=class{constructor(e){this._ignoreCase=e,this._rules=[]}_add(e){if(e&&e[d]){this._rules=this._rules.concat(e._rules._rules),this._added=!0;return}if(C(e)&&(e={pattern:e}),w(e.pattern)){let t=D(e,this._ignoreCase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,n(C(e)?T(e):e).forEach(this._add,this),this._added}test(e,t,n){let r=!1,i=!1,a;this._rules.forEach(o=>{let{negative:s}=o;i===s&&r!==i||s&&!r&&!i&&!t||o[n].test(e)&&(r=!s,i=s,a=s?void 0:o)});let o={ignored:r,unignored:i};return a&&(o.rule=a),o}};let k=(e,t)=>{throw new t(e)},A=(e,t,n)=>C(e)?e?A.isNotRelative(e)?n(`path should be a \`path.relative()\`d string, but got "${t}"`,RangeError):!0:n(`path must not be empty`,TypeError):n(`path must be a string, but got \`${t}\``,TypeError),j=e=>c.test(e);A.isNotRelative=j,A.convert=e=>e;var M=class{constructor({ignorecase:e=!0,ignoreCase:t=e,allowRelativePaths:n=!1}={}){f(this,d,!0),this._rules=new O(t),this._strictPathCheck=!n,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}add(e){return this._rules.add(e)&&this._initCache(),this}addPattern(e){return this.add(e)}_test(e,t,n,r){let i=e&&A.convert(e);return A(i,e,this._strictPathCheck?k:m),this._t(i,t,n,r)}checkIgnore(e){if(!l.test(e))return this.test(e);let t=e.split(`/`).filter(Boolean);if(t.pop(),t.length){let e=this._t(t.join(`/`)+`/`,this._testCache,!0,t);if(e.ignored)return e}return this._rules.test(e,!1,b)}_t(e,t,n,r){if(e in t)return t[e];if(r||=e.split(`/`).filter(Boolean),r.pop(),!r.length)return t[e]=this._rules.test(e,n,y);let i=this._t(r.join(`/`)+`/`,t,n,r);return t[e]=i.ignored?i:this._rules.test(e,n,y)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return n(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}};let N=e=>new M(e),P=e=>A(e&&A.convert(e),e,m),F=()=>{A.convert=e=>/^\\\\\?\\/.test(e)||/["<>|\u0000-\u001F]+/u.test(e)?e:e.replace(/\\/g,`/`);let e=/^[a-z]:\//i;A.isNotRelative=t=>e.test(t)||j(t)};typeof process<`u`&&process.platform===`win32`&&F(),t.exports=N,N.default=N,t.exports.isPathValid=P,f(t.exports,Symbol.for(`setupWindows`),F)}))(),1);function _(e){return e.startsWith(`\\\\?\\`)?e:e.replace(/\\/g,`/`)}const v=e=>e[0]===`!`,y=[`**/node_modules`,`**/flow-typed`,`**/coverage`,`**/.git`],b={absolute:!0,dot:!0},x=(e,t)=>v(e)?`!`+c.posix.join(t,e.slice(1)):c.posix.join(t,e),S=(e,t)=>{let n=_(c.relative(t,c.dirname(e.filePath)));return e.content.split(/\r?\n/).filter(e=>e&&!e.startsWith(`#`)).map(e=>x(e,n))},C=(e,t)=>{if(t=_(t),c.isAbsolute(e)){if(_(e).startsWith(t))return c.relative(t,e);throw Error(`Path ${e} is not in cwd ${t}`)}return e},w=(e,t)=>{let n=e.flatMap(e=>S(e,t)),r=(0,g.default)().add(n);return e=>(e=h(e),e=C(e,t),e?r.ignores(_(e)):!1)},T=(e={})=>({cwd:h(e.cwd)??u.cwd(),suppressErrors:!!e.suppressErrors,deep:typeof e.deep==`number`?e.deep:1/0,ignore:[...e.ignore??[],...y]}),E=async(e,t)=>{let{cwd:n,suppressErrors:r,deep:i,ignore:a}=T(t),o=await(0,d.default)(e,{cwd:n,suppressErrors:r,deep:i,ignore:a,...b});return w(await Promise.all(o.map(async e=>({filePath:e,content:await s.readFile(e,`utf8`)}))),n)};var D=t({globby:()=>U});const O=e=>{if(e.some(e=>typeof e!=`string`))throw TypeError(`Patterns must be a string or an array of strings`)},k=(e,t)=>{let n=v(e)?e.slice(1):e;return c.isAbsolute(n)?n:c.join(t,n)},A=({directoryPath:e,files:t,extensions:n})=>{let r=n?.length>0?`.${n.length>1?`{${n.join(`,`)}}`:n[0]}`:``;return t?t.map(t=>c.posix.join(e,`**/${c.extname(t)?t:`${t}${r}`}`)):[c.posix.join(e,`**${r?`/*${r}`:``}`)]},j=async(e,{cwd:t=u.cwd(),files:n,extensions:r}={})=>(await Promise.all(e.map(async e=>await m(k(e,t))?A({directoryPath:e,files:n,extensions:r}):e))).flat(),M=e=>(e=[...new Set([e].flat())],O(e),e),N=e=>{if(!e)return;let t;try{t=l.statSync(e)}catch{return}if(!t.isDirectory())throw Error("The `cwd` option must be a path to a directory")},P=(e={})=>(e={...e,ignore:e.ignore??[],expandDirectories:e.expandDirectories??!0,cwd:h(e.cwd)},N(e.cwd),e),F=e=>async(t,n)=>e(M(t),P(n)),I=e=>{let{ignoreFiles:t,gitignore:n}=e,r=t?M(t):[];return n&&r.push(`**/.gitignore`),r},L=async e=>{let t=I(e);return R(t.length>0&&await E(t,e))},R=e=>{let t=new Set;return n=>{let r=c.normalize(n.path??n);return t.has(r)||e&&e(r)?!1:(t.add(r),!0)}},z=(e,t)=>e.flat().filter(e=>t(e)),B=(e,t)=>{let n=[];for(;e.length>0;){let r=e.findIndex(e=>v(e));if(r===-1){n.push({patterns:e,options:t});break}let i=e[r].slice(1);for(let e of n)e.options.ignore.push(i);r!==0&&n.push({patterns:e.slice(0,r),options:{...t,ignore:[...t.ignore,i]}}),e=e.slice(r+1)}return n},V=(e,t)=>({...t?{cwd:t}:{},...Array.isArray(e)?{files:e}:e}),H=async(e,t)=>{let n=B(e,t),{cwd:r,expandDirectories:i}=t;if(!i)return n;let a=V(i,r);return Promise.all(n.map(async e=>{let{patterns:t,options:n}=e;return[t,n.ignore]=await Promise.all([j(t,a),j(n.ignore,{cwd:r})]),{patterns:t,options:n}}))},U=F(async(e,t)=>{let[n,r]=await Promise.all([H(e,t),L(t)]);return z(await Promise.all(n.map(e=>(0,d.default)(e.patterns,e.options))),r)}),{convertPathToPattern:W}=d.default;export{D as n,U as t};
1
+ import{o as e,r as t,t as n}from"./chunk-DTipWd-i.mjs";import{t as r}from"./out-CFkI17mk.mjs";import{execFile as i}from"node:child_process";import{promisify as a}from"node:util";import{fileURLToPath as o}from"node:url";import s from"node:fs/promises";import c from"node:path";import l from"node:fs";import"node:events";import u from"node:process";import"node:stream";import"node:stream/promises";var d=e(r(),1);async function f(e,t,n){if(typeof n!=`string`)throw TypeError(`Expected a string, got ${typeof n}`);try{return(await s[e](n))[t]()}catch(e){if(e.code===`ENOENT`)return!1;throw e}}function p(e,t,n){if(typeof n!=`string`)throw TypeError(`Expected a string, got ${typeof n}`);try{return l[e](n)[t]()}catch(e){if(e.code===`ENOENT`)return!1;throw e}}f.bind(void 0,`stat`,`isFile`);const m=f.bind(void 0,`stat`,`isDirectory`);f.bind(void 0,`lstat`,`isSymbolicLink`),p.bind(void 0,`statSync`,`isFile`),p.bind(void 0,`statSync`,`isDirectory`),p.bind(void 0,`lstatSync`,`isSymbolicLink`),a(i);function h(e){return e instanceof URL?o(e):e}var g=e(n(((e,t)=>{function n(e){return Array.isArray(e)?e:[e]}let r=/^\s+$/,i=/(?:[^\\]|^)\\$/,a=/^\\!/,o=/^\\#/,s=/\r?\n/g,c=/^\.{0,2}\/|^\.{1,2}$/,l=/\/$/,u=`node-ignore`;typeof Symbol<`u`&&(u=Symbol.for(`node-ignore`));let d=u,f=(e,t,n)=>(Object.defineProperty(e,t,{value:n}),n),p=/([0-z])-([0-z])/g,m=()=>!1,h=e=>e.replace(p,(e,t,n)=>t.charCodeAt(0)<=n.charCodeAt(0)?e:``),g=e=>{let{length:t}=e;return e.slice(0,t-t%2)},_=[[/^\uFEFF/,()=>``],[/((?:\\\\)*?)(\\?\s+)$/,(e,t,n)=>t+(n.indexOf(`\\`)===0?` `:``)],[/(\\+?)\s/g,(e,t)=>{let{length:n}=t;return t.slice(0,n-n%2)+` `}],[/[\\$.|*+(){^]/g,e=>`\\${e}`],[/(?!\\)\?/g,()=>`[^/]`],[/^\//,()=>`^`],[/\//g,()=>`\\/`],[/^\^*\\\*\\\*\\\//,()=>`^(?:.*\\/)?`],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?`^`:`(?:^|\\/)`}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(e,t,n)=>t+6<n.length?`(?:\\/[^\\/]+)*`:`\\/.+`],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(e,t,n)=>t+n.replace(/\\\*/g,`[^\\/]*`)],[/\\\\\\(?=[$.|*+(){^])/g,()=>`\\`],[/\\\\/g,()=>`\\`],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(e,t,n,r,i)=>t===`\\`?`\\[${n}${g(r)}${i}`:i===`]`&&r.length%2==0?`[${h(n)}${r}]`:`[]`],[/(?:[^*])$/,e=>/\/$/.test(e)?`${e}$`:`${e}(?=$|\\/$)`]],v=/(^|\\\/)?\\\*$/,y=`regex`,b=`checkRegex`,x={[y](e,t){return`${t?`${t}[^/]+`:`[^/]*`}(?=$|\\/$)`},[b](e,t){return`${t?`${t}[^/]*`:`[^/]*`}(?=$|\\/$)`}},S=e=>_.reduce((t,[n,r])=>t.replace(n,r.bind(e)),e),C=e=>typeof e==`string`,w=e=>e&&C(e)&&!r.test(e)&&!i.test(e)&&e.indexOf(`#`)!==0,T=e=>e.split(s).filter(Boolean);var E=class{constructor(e,t,n,r,i,a){this.pattern=e,this.mark=t,this.negative=i,f(this,`body`,n),f(this,`ignoreCase`,r),f(this,`regexPrefix`,a)}get regex(){let e=`_`+y;return this[e]?this[e]:this._make(y,e)}get checkRegex(){let e=`_`+b;return this[e]?this[e]:this._make(b,e)}_make(e,t){let n=this.regexPrefix.replace(v,x[e]),r=this.ignoreCase?new RegExp(n,`i`):new RegExp(n);return f(this,t,r)}};let D=({pattern:e,mark:t},n)=>{let r=!1,i=e;i.indexOf(`!`)===0&&(r=!0,i=i.substr(1)),i=i.replace(a,`!`).replace(o,`#`);let s=S(i);return new E(e,t,i,n,r,s)};var O=class{constructor(e){this._ignoreCase=e,this._rules=[]}_add(e){if(e&&e[d]){this._rules=this._rules.concat(e._rules._rules),this._added=!0;return}if(C(e)&&(e={pattern:e}),w(e.pattern)){let t=D(e,this._ignoreCase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,n(C(e)?T(e):e).forEach(this._add,this),this._added}test(e,t,n){let r=!1,i=!1,a;this._rules.forEach(o=>{let{negative:s}=o;i===s&&r!==i||s&&!r&&!i&&!t||o[n].test(e)&&(r=!s,i=s,a=s?void 0:o)});let o={ignored:r,unignored:i};return a&&(o.rule=a),o}};let k=(e,t)=>{throw new t(e)},A=(e,t,n)=>C(e)?e?A.isNotRelative(e)?n(`path should be a \`path.relative()\`d string, but got "${t}"`,RangeError):!0:n(`path must not be empty`,TypeError):n(`path must be a string, but got \`${t}\``,TypeError),j=e=>c.test(e);A.isNotRelative=j,A.convert=e=>e;var M=class{constructor({ignorecase:e=!0,ignoreCase:t=e,allowRelativePaths:n=!1}={}){f(this,d,!0),this._rules=new O(t),this._strictPathCheck=!n,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}add(e){return this._rules.add(e)&&this._initCache(),this}addPattern(e){return this.add(e)}_test(e,t,n,r){let i=e&&A.convert(e);return A(i,e,this._strictPathCheck?k:m),this._t(i,t,n,r)}checkIgnore(e){if(!l.test(e))return this.test(e);let t=e.split(`/`).filter(Boolean);if(t.pop(),t.length){let e=this._t(t.join(`/`)+`/`,this._testCache,!0,t);if(e.ignored)return e}return this._rules.test(e,!1,b)}_t(e,t,n,r){if(e in t)return t[e];if(r||=e.split(`/`).filter(Boolean),r.pop(),!r.length)return t[e]=this._rules.test(e,n,y);let i=this._t(r.join(`/`)+`/`,t,n,r);return t[e]=i.ignored?i:this._rules.test(e,n,y)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return n(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}};let N=e=>new M(e),P=e=>A(e&&A.convert(e),e,m),F=()=>{A.convert=e=>/^\\\\\?\\/.test(e)||/["<>|\u0000-\u001F]+/u.test(e)?e:e.replace(/\\/g,`/`);let e=/^[a-z]:\//i;A.isNotRelative=t=>e.test(t)||j(t)};typeof process<`u`&&process.platform===`win32`&&F(),t.exports=N,N.default=N,t.exports.isPathValid=P,f(t.exports,Symbol.for(`setupWindows`),F)}))(),1);function _(e){return e.startsWith(`\\\\?\\`)?e:e.replace(/\\/g,`/`)}const v=e=>e[0]===`!`,y=[`**/node_modules`,`**/flow-typed`,`**/coverage`,`**/.git`],b={absolute:!0,dot:!0},x=(e,t)=>v(e)?`!`+c.posix.join(t,e.slice(1)):c.posix.join(t,e),S=(e,t)=>{let n=_(c.relative(t,c.dirname(e.filePath)));return e.content.split(/\r?\n/).filter(e=>e&&!e.startsWith(`#`)).map(e=>x(e,n))},C=(e,t)=>{if(t=_(t),c.isAbsolute(e)){if(_(e).startsWith(t))return c.relative(t,e);throw Error(`Path ${e} is not in cwd ${t}`)}return e},w=(e,t)=>{let n=e.flatMap(e=>S(e,t)),r=(0,g.default)().add(n);return e=>(e=h(e),e=C(e,t),e?r.ignores(_(e)):!1)},T=(e={})=>({cwd:h(e.cwd)??u.cwd(),suppressErrors:!!e.suppressErrors,deep:typeof e.deep==`number`?e.deep:1/0,ignore:[...e.ignore??[],...y]}),E=async(e,t)=>{let{cwd:n,suppressErrors:r,deep:i,ignore:a}=T(t),o=await(0,d.default)(e,{cwd:n,suppressErrors:r,deep:i,ignore:a,...b});return w(await Promise.all(o.map(async e=>({filePath:e,content:await s.readFile(e,`utf8`)}))),n)};var D=t({globby:()=>U});const O=e=>{if(e.some(e=>typeof e!=`string`))throw TypeError(`Patterns must be a string or an array of strings`)},k=(e,t)=>{let n=v(e)?e.slice(1):e;return c.isAbsolute(n)?n:c.join(t,n)},A=({directoryPath:e,files:t,extensions:n})=>{let r=n?.length>0?`.${n.length>1?`{${n.join(`,`)}}`:n[0]}`:``;return t?t.map(t=>c.posix.join(e,`**/${c.extname(t)?t:`${t}${r}`}`)):[c.posix.join(e,`**${r?`/*${r}`:``}`)]},j=async(e,{cwd:t=u.cwd(),files:n,extensions:r}={})=>(await Promise.all(e.map(async e=>await m(k(e,t))?A({directoryPath:e,files:n,extensions:r}):e))).flat(),M=e=>(e=[...new Set([e].flat())],O(e),e),N=e=>{if(!e)return;let t;try{t=l.statSync(e)}catch{return}if(!t.isDirectory())throw Error("The `cwd` option must be a path to a directory")},P=(e={})=>(e={...e,ignore:e.ignore??[],expandDirectories:e.expandDirectories??!0,cwd:h(e.cwd)},N(e.cwd),e),F=e=>async(t,n)=>e(M(t),P(n)),I=e=>{let{ignoreFiles:t,gitignore:n}=e,r=t?M(t):[];return n&&r.push(`**/.gitignore`),r},L=async e=>{let t=I(e);return R(t.length>0&&await E(t,e))},R=e=>{let t=new Set;return n=>{let r=c.normalize(n.path??n);return t.has(r)||e&&e(r)?!1:(t.add(r),!0)}},z=(e,t)=>e.flat().filter(e=>t(e)),B=(e,t)=>{let n=[];for(;e.length>0;){let r=e.findIndex(e=>v(e));if(r===-1){n.push({patterns:e,options:t});break}let i=e[r].slice(1);for(let e of n)e.options.ignore.push(i);r!==0&&n.push({patterns:e.slice(0,r),options:{...t,ignore:[...t.ignore,i]}}),e=e.slice(r+1)}return n},V=(e,t)=>({...t?{cwd:t}:{},...Array.isArray(e)?{files:e}:e}),H=async(e,t)=>{let n=B(e,t),{cwd:r,expandDirectories:i}=t;if(!i)return n;let a=V(i,r);return Promise.all(n.map(async e=>{let{patterns:t,options:n}=e;return[t,n.ignore]=await Promise.all([j(t,a),j(n.ignore,{cwd:r})]),{patterns:t,options:n}}))},U=F(async(e,t)=>{let[n,r]=await Promise.all([H(e,t),L(t)]);return z(await Promise.all(n.map(e=>(0,d.default)(e.patterns,e.options))),r)}),{convertPathToPattern:W}=d.default;export{D as n,U as t};
@@ -0,0 +1,57 @@
1
+ import{agents as e}from"./services/session/storage/schema.mjs";import{n as t,t as n}from"./schema-cus0dJ81.mjs";import{i as r,n as i,r as a}from"./namespace-DwQtzlY-.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-D7pE2QWv.mjs";import{ProviderStorageSubjects as l}from"./services/settings/storage/providers-namespace.mjs";import{a as u,o as d}from"./provider-context-BYkMl--1.mjs";import{AdapterRuntimeSubjects as f}from"./services/adapter-runtime/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{t as h}from"./attach-error-DCnzW-Yz.mjs";import{ExtractedContextSchema as g}from"./services/compression/schemas.mjs";import{PreferencesSubjects as _}from"./services/preferences/storage-namespace.mjs";import{z as v}from"zod";import{AdapterSubjects as y,AgentResolutionSubjects as b,AgentStatusSchema as x,AgentSubjects as S,MakaioSessionAgentSchema as C,ProviderContextSchema as w,SessionSubjects as T,TurnInitiatorSchema as ee,TurnUsageSchema as E}from"@makaio/framework/contracts";import{defineDialectSchema as D,getRawSqlExecutor as O,getStorageEngine as k,resolveSchema as A}from"@makaio/framework/storage/drizzle";import{and as j,asc as M,desc as N,eq as P,gt as te,inArray as F,lt as ne,sql as I}from"drizzle-orm";import{createStorageNamespaceDefinition as re}from"@makaio/framework/storage";import{HookAbortError as ie}from"@makaio/framework/hooks";import{AdapterRuntimeSubjects as ae}from"@makaio/framework/services/adapter-runtime";import{resolveRuntimeProviderContext as oe}from"@makaio/framework/services/provider-context";function se(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 ce(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 le(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 ue(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 de(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 fe(e){let t=new Map,n=new Map,r=1,i=[se(e,t,n,()=>r++),ce(e,t,n),le(e,t),ue(e,t,n),de(e,t)];return()=>i.forEach(e=>e())}const pe=r.postgres,me=D({sessionEvents:a},{sessionEvents:pe}),he=[`sessionId`,`agentId`,`adapterId`,`messageId`,`turnId`];function ge(e){let t=e.payload,n={};for(let[e,r]of Object.entries(t))he.includes(e)||(n[e]=r);return n}function _e(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(ge(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=[P(n.sessionId,r)],o=i?.order??`asc`;if(i?.after){let e=parseInt(i.after,10);!isNaN(e)&&e>0&&(o===`desc`?a.push(ne(n.id,e)):a.push(te(n.id,e)))}i?.types&&i.types.length>0&&a.push(F(n.type,i.types));let s=i?.limit??100,c=o===`desc`?N:M,l=await t.select().from(n).where(j(...a)).orderBy(c(n.id)).limit(s+1),u=l.length>s,d=u?l.slice(0,s):l,f=d.map(_e),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(j(P(n.sessionId,r),F(n.eventId,i))).orderBy(M(n.timestamp))).map(_e);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(P(n.sessionId,r))).length;await t.delete(n).where(P(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(j(P(n.sessionId,e),F(n.type,i))).orderBy(N(n.timestamp)).limit(a);r.length>0&&(o[e]=r.map(_e))}e.setResult({eventsBySession:o})})}function Te(e,t){let{sessionEvents:n}=A(t,me),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 L(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 L(e,{type:`turn.started`,sessionId:t.sessionId,eventId:`turn.started:${t.turnId}`,payload:t});try{await e.emit(T.turn.started,t)}catch(e){console.error(`[SessionLifecycle] Failed to emit turn.started for turn ${t.turnId}:`,e)}}async function De(e,t){try{await e.emit(T.user_message.sent,t)}catch(e){console.error(`[SessionLifecycle] Failed to emit user_message.sent for turn ${t.turnId}:`,e)}}function Oe(e,t){let n=[e.on(T.agent.added,async n=>{await ke(e,{type:`agent.added`,sessionId:n.payload.sessionId,payload:n.payload},t)}),e.on(T.branch.created,async n=>{await ke(e,{type:`branch.created`,sessionId:n.payload.sessionId,payload:n.payload},t)})];return()=>{for(let e of n)e()}}async function ke(e,t,n){try{await L(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 R(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 L(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(T.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 Ae=re(`agent`,{schemas:{get:{request:v.object({agentId:v.string()}),response:v.object({agent:C.nullable()})},set:{request:v.object({agentId:v.string(),agent:C}),response:v.object({success:v.boolean()})},delete:{request:v.object({agentId:v.string()}),response:v.object({success:v.boolean()})},listByAdapter:{request:v.object({adapterName:v.string(),status:v.enum([`idle`,`active`,`dead`,`disposed`,`all`]).optional()}),response:v.object({agents:v.array(C)})},listBySession:{request:v.object({sessionId:v.string()}),response:v.object({agents:v.array(C)})},updateStatus:{request:v.object({agentId:v.string(),status:x}),response:v.object({success:v.boolean()})},updateActivity:{request:v.object({agentId:v.string(),lastActivityAt:v.number()}),response:v.object({success:v.boolean()})},updateRuntime:{request:v.object({agentId:v.string(),adapterId:v.string().optional(),adapterSessionId:v.string().optional(),cwd:v.string().optional(),model:v.string().optional(),allowedDirectories:v.array(v.string()).optional(),providerConfigId:v.string().nullable().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:v.object({success:v.boolean()})}},extensions:{drizzle:{agents:e}}}),z=Ae.subjects;async function B(e,t,n){let{adapterId:r}=await e.request(f.resolveId,{adapterName:t,...n!==void 0&&{machineId:n}});return r}async function je(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(l.get,{id:r.definitionId}),a=i?.availableModels?.find(e=>e.name===n);return a?{supportedReasoningLevels:a.supportedReasoningLevels}:void 0}catch{return}}async function Me(e,t){let{executionTarget:n}=await e.request(p.resolve,t);return n}async function Ne(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 V=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 H(e,t,n){let r=e,i,a;for(let e of t){let t=V.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 Pe(e){return e.map(e=>({...e,blocks:e.blocks.filter(e=>e.type!==`reasoning`)}))}const Fe={id:`strip-reasoning`,label:`Strip Reasoning`,description:`Remove reasoning/thinking blocks from messages`,category:`transformation`,async execute(e){return{kind:`messages`,messages:Pe(e)}}};function Ie(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 Le={id:`strip-tool-outputs`,label:`Strip Tool Outputs`,description:`Remove tool output contents, keep structure`,category:`transformation`,async execute(e){return{kind:`messages`,messages:Ie(e)}}};async function U(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 Ne(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 Re(r,u)),{messages:[...r,...i],hasSquashBoundary:a,sessionChain:n,truncated:o,incomplete:c}}async function Re(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 Be(e,t.segments);let o=e.slice(0,i),s=e.slice(i,a+1),c=e.slice(a+1),l=Be(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 H(n,t.appliedPipeline)).messages),n}function ze(e,t){let n=e;return t.stripReasoning&&(n=Pe(n)),t.stripToolOutputs&&(n=Ie(n)),n}function Be(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=ze(s,i),r.push(...s)}return r}function W(e){return{role:e.role,blocks:e.blocks}}async function Ve(e,t){return{messageHistory:(await U(e,t.sessionId)).messages.map(W),isFirstTurn:!0}}async function He(e,t,n,r){if(t.cwd===n)return{swapped:!1};let i=await e.request(S.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 Ue(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 d(e,{adapterName:t.adapterName,providerConfigId:r.providerConfigId}):void 0,c=await e.request(S.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 We(e,t,n){let r=[],i=new Set;for(let a of t){let t=await e.requestOptional(y.getAgent,{adapterId:a.adapterId,agentId:a.agentId});if(t.handled&&t.data.agent!==null)r.push(a);else{let t=await Ke(e,a,n);r.push(t),i.add(t.agentId)}}return{verifiedAgents:r,recoveredAgentIds:i}}async function Ge(e,t,n){let r=await U(e,t.sessionId),i=n?.pipeline??[];return{messageHistory:(i.length>0?(await H(r.messages,i)).messages:r.messages).map(W),isFirstTurn:!0}}async function Ke(e,t,n){let r=await B(e,t.adapterName).catch(()=>t.adapterId);return await e.request(y.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 qe(e,t){return t?.hasNewTransforms===!0||e.forkTransforms!==void 0}function Je(e,t){return e.adapterName!==void 0&&t!==e.adapterName}function G(e){let{session:t,sessionContext:n}=e;return e.adapterSupportsNative?Je(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`}:qe(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 Ye=t.postgres,K=D({turns:n},{turns:Ye});async function Xe(e,t){let n=k(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 Ze(e){if(e)try{let t=JSON.parse(e),n=E.safeParse(t);return n.success?n.data:void 0}catch{return}}function q(e){return e?JSON.stringify(e):null}function Qe(e){if(e)try{let t=JSON.parse(e),n=ee.safeParse(t);return n.success?n.data:void 0}catch{return}}function J(e){let t=Qe(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:Ze(e.usage),...t!==void 0&&{initiator:t}}}function $e(e,t){let n=[et(e,t),tt(e,t),nt(e,t),rt(e,t),it(e,t),at(e,t),ot(e,t),st(e,t)];return()=>n.forEach(e=>e())}function et(e,t){let n=O(t),{turns:r}=A(t,K);return e.on(o.create,async e=>{let{sessionId:i,turnId:a,initiator:o}=e.payload,s=Date.now(),c=a??crypto.randomUUID(),l=q(o);await Xe(n,()=>I`
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(P(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 tt(e,t){let n=O(t),{turns:r}=A(t,K);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=q(d),m=u===void 0?null:JSON.stringify(u);await Xe(n,()=>I`
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(j(P(r.sessionId,i),P(r.turnAnchorId,a))).limit(1);e.setResult({turn:J(h),created:h.turnId===f})})}function nt(e,t){let{turns:n}=A(t,K);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?j(P(n.turnId,r),P(n.status,a),I`${n.status} not in ('completed', 'error')`):j(P(n.turnId,r),I`${n.status} not in ('completed', 'error')`),u={completedAt:c,status:i,error:o??null,...s!==void 0&&{usage:s===null?null:JSON.stringify(s)}},[d]=await t.update(n).set(u).where(l).returning();if(d){e.setResult({turn:J(d),transitioned:!0});return}let[f]=await t.select().from(n).where(P(n.turnId,r)).limit(1);if(!f)throw Error(`Turn not found: ${r}`);if(a){e.setResult({turn:J(f),transitioned:!1});return}if(!(f.status===`completed`||f.status===`error`)||s===void 0){e.setResult({turn:J(f),transitioned:!1});return}let[p]=await t.update(n).set({usage:s===null?null:JSON.stringify(s)}).where(j(P(n.turnId,r),I`${n.status} in ('completed', 'error')`)).returning();e.setResult({turn:J(p??f),transitioned:!1})})}function rt(e,t){let{turns:n}=A(t,K);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:q(r.initiator)};await t.insert(n).values(i).onConflictDoUpdate({target:n.turnId,set:i}),e.setResult({turn:r})})}function it(e,t){let{turns:n}=A(t,K);return e.on(o.get,async e=>{let{turnId:r}=e.payload,[i]=await t.select().from(n).where(P(n.turnId,r)).limit(1);e.setResult({turn:i?J(i):null})})}function at(e,t){let{turns:n}=A(t,K);return e.on(o.getBySession,async e=>{let{sessionId:r,limit:i,status:a}=e.payload,o=t.select().from(n).where(P(n.sessionId,r)).orderBy(M(n.turnNumber));a&&(o=t.select().from(n).where(j(P(n.sessionId,r),P(n.status,a))).orderBy(M(n.turnNumber))),i&&(o=o.limit(i));let s=await o;e.setResult({turns:s.map(J)})})}function ot(e,t){let{turns:n}=A(t,K);return e.on(o.getActive,async e=>{let{sessionId:r}=e.payload,[i]=await t.select().from(n).where(j(P(n.sessionId,r),P(n.status,`active`))).orderBy(N(n.turnNumber)).limit(1);e.setResult({turn:i?J(i):null})})}function st(e,t){let{turns:n}=A(t,K);return e.on(o.listActive,async e=>{let r=await t.select().from(n).where(P(n.status,`active`)).orderBy(M(n.startedAt));e.setResult({turns:r.map(J)})})}function ct(e){let t=new Map,n=new Map,r=new Map,i=lt(t,n,r),a=new Map,o=[ut(e,i,r),dt(e,t,i,r,a),ft(e,t,i),pt(e,i),mt(e,t),ht(e,t,n),gt(e,t,n),_t(e,t)];return()=>o.forEach(e=>e())}function lt(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 ut(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 dt(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 ft(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=s===null?void 0:s??c.usage,d=l?{...c,usage:u}:{...c,completedAt:Date.now(),status:i,error:o??void 0,usage:u};n(d),e.setResult({turn:d,transitioned:!l})})}function pt(e,t){return e.on(o.set,e=>{let{turn:n}=e.payload;t(n),e.setResult({turn:n})})}function mt(e,t){return e.on(o.get,e=>{e.setResult({turn:t.get(e.payload.turnId)??null})})}function ht(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 gt(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 _t(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 Y(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}async function vt(e,t,n,r){let{adapterName:i}=await e.request(f.resolveName,{adapterId:t});if(n&&i!==n)throw Error(`${r}adapterName "${n}" does not match adapterId "${t}"`);return i}function X(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(T.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(T.create,{sessionId:t,originWindowId:r,...i!==void 0&&{machineId:i}});let{session:o}=await e.request(T.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`}}async function Tt(e,t,n,r,i){let a=i?.state===`resolved`?i.providerConfigId:void 0;if(a!==void 0&&n!==void 0&&n!==a)throw Error(`[attach-handler] providerConfigId '${n}' does not match resolved provider context '${a}'`);let o=n??a??r?.providerConfigId;if(i!==void 0){if(i.state!==`resolved`&&o!==void 0)throw new u(`provider-context-unresolved`,t,o);return{providerConfigId:o,providerContext:i}}return{providerConfigId:o,providerContext:o===void 0?void 0:await d(e,{adapterName:t,providerConfigId:o})}}function Et(e){if(e instanceof ie)return e;if(e instanceof Error&&e.cause instanceof ie)return e.cause}async function Dt(e,t){try{await e.emit(T.user_message.acknowledged,t)}catch(e){console.error(`[SessionRouting] Failed to emit user-message acknowledgement:`,e)}}async function Ot(e,t,n,r){await e.emit(T.turn.assistantPersistenceSettled,{sessionId:t.sessionId,turnId:t.turnId,messageId:n,agentId:r})}async function Z(e){let{bus:t,turn:n,messageId:r,agentId:i,outcome:a,error:o,onTurnComplete:s,turnManager:c}=e;try{await Ot(t,n,r,i)}catch(e){console.error(`[SessionRouting] Failed to emit terminal routing settlement:`,e)}await c.recordAgentCompletion(i,r,a,o,s,n.turnId)}async function kt(e,t,n,r,i,a,o,s,c,l,u,d){if(n.some(e=>!a.hasAdmittedPair(i,e.agentId)))throw Error(`Turn ${a.turnId} has no admitted fanout for message ${i}`);let f=n.map(async n=>{try{return d?.(),await e.request(S.sendMessage,{agentId:n.agentId,adapterId:n.adapterId,message:r,deliveryMode:o,messageId:i,turnId:a.turnId,sessionId:t.sessionId,sessionContext:l,...u!==void 0&&{responseSchema:u}}),await Dt(e,{sessionId:a.sessionId,turnId:a.turnId,turnNumber:a.turnNumber,messageId:i,agentId:n.agentId}),{agentId:n.agentId,kind:`dispatched`}}catch(t){if(Et(t)!==void 0)return await Z({bus:e,turn:a,messageId:i,agentId:n.agentId,outcome:`cancelled`,onTurnComplete:s,turnManager:c}),{agentId:n.agentId,kind:`cancelled`,error:t};let r=t instanceof Error?t.message:String(t);return await Z({bus:e,turn:a,messageId:i,agentId:n.agentId,outcome:`error`,error:r,onTurnComplete:s,turnManager:c}),{agentId:n.agentId,kind:`failed`,error:t}}});return await Promise.all(f)}async function At(e,t,n){try{let{session:t}=await e.request(T.get,{sessionId:n});if(!t||t.status!==`active`)throw Error(`[attach-handler] Session is no longer active after agent startup: ${n}`)}catch(r){throw await Q(e,t,n,`session closed during agent startup`),r}}async function jt(e,t,n,r,i,a,o,s,c){try{return await Nt(e,t,n,i,a,o,s,c)}catch(t){throw console.error(`[attach-handler] Failed to set up initial-message turn, rolling back started agent`,{sessionId:i,agentId:a,adapterId:r.adapterId,error:t}),await Q(e,r,i,`initial-message turn setup failure`),t}}async function Mt(e,t,n,r,i,a,o,s,c,l){try{l?.()}catch(t){throw await Q(e,r,i.sessionId,`initial-message admission rejection`),t}let u=await jt(e,t,n,r,i.sessionId,r.agentId,crypto.randomUUID(),a,s),d;try{d=await kt(e,i,[{agentId:r.agentId,adapterId:r.adapterId}],a,u.messageId,u.turn,void 0,t.completeTurn.bind(t),t,c,o,l)}catch(n){try{await t.retryTurnCompletion(u.turn.turnId)}catch(e){console.error(`[attach-handler] Failed to retry initial-message completion after routing failure`,{sessionId:i.sessionId,turnId:u.turn.turnId,error:e})}throw await Q(e,r,i.sessionId,`initial-message routing failure`),n}let f=d[0];if(!f||f.kind===`dispatched`)return{messageId:u.messageId,turnId:u.turn.turnId};throw await Q(e,r,i.sessionId,`initial-message routing failure`),f.error}async function Q(e,t,n,r){try{await e.request(y.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 Nt(e,t,n,r,i,a,o,s){let c=await t.createReservedTurn(n,[i],s),l=t.admitReservedMessage(c,a,[i]);try{if(!(await e.requestOptional(m.append,{message:{messageId:a,turnId:c.turnId,sessionId:r,role:`user`,contentText:X(o),blocks:bt(o),timestamp:Date.now()}})).handled)throw Error(`Message storage append handler is not registered`)}catch(e){console.warn(`[attach-handler] Failed to store initial user message`,{sessionId:r,messageId:a,error:e instanceof Error?e.message:String(e)});try{await l.rollback(`initial-message-persistence-failed`)}catch(e){console.error(`[attach-handler] Failed to finalize rejected initial-message persistence:`,e)}throw e}try{await Pt(e,r,c,a,o,s.source)}catch(e){try{await l.rollback(`initial-message-lifecycle-failed`)}catch(e){console.error(`[attach-handler] Failed to finalize rejected initial-message lifecycle:`,e)}throw e}return l.commit(),{messageId:a,turn:c}}async function Pt(e,t,n,r,i,a){await Ee(e,{sessionId:t,turnId:n.turnId,turnNumber:n.turnNumber,messageId:r,agentIds:[...n.agentIds],initiator:n.initiator,ingestionMarker:`live`}),await De(e,{sessionId:t,turnId:n.turnId,turnNumber:n.turnNumber,messageId:r,content:i,agentIds:[...n.agentIds],source:a})}async function Ft(e,t){return!t.personaId&&!t.profileId&&!t.harnessId&&!t.providerConfigId?!1:(await e.request(z.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}}}),!0)}async function It(e,t,n){try{return await Ft(e,{...n,...t})}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 Q(e,t,n.sessionId,`identity persistence failure`),r}}async function Lt(e,t,n){try{let{success:r}=await e.request(z.delete,{agentId:t});if(!r)throw Error(`Persisted agent identity was not deleted: ${t}`);return n}catch(e){return AggregateError([n,e],`Failed to rollback agent identity after attach failure: ${t}`)}}function Rt(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 zt(e,t,n){let r=e.model??t?.model,i=e.cwd;return{runtimeOptions:Vt({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 Bt(e,t,n){let r=e??t;return{effectiveCwd:r,effectiveRuntimeOptions:r!==void 0&&n.cwd===void 0?{...n,cwd:r}:n}}function Vt(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0))}function Ht(e,t,n,r,i,a,o){return i?{mode:`resume`,adapterId:e,sessionId:t,adapterSessionId:i,role:n,...r,...a!==void 0&&{harnessId:a}}:{adapterId:e,sessionId:t,role:n,...r,...a!==void 0&&{harnessId:a},...o!==void 0&&{sessionContext:o}}}async function Ut(e,t){let{adapterId:n,sessionId:r,role:i,effectiveRuntimeOptions:a,resumeAdapterSessionId:o,harnessId:s,attachSessionContext:c}=t,l=Ht(n,r,i,a,o,s,c),u=await e.request(y.startAgent,l);if(!u.success)throw Error(`[attach-handler] Failed to start agent: ${u.message}`);return u}async function Wt(e,t,n){let r=await U(e,t);if(r.messages.length===0)return n;let i=r.messages.map(W);return{...n,messageHistory:i,isFirstTurn:!0}}var Gt=class{closeClaims=new Map;registerCloseMiddleware(e){return e.on(T.close,async e=>{let t=this.beginClose(e.payload.sessionId);try{await e.next()}finally{t()}},{priority:1e4})}assertAttachCommitAllowed(e){if((this.closeClaims.get(e)??0)>0)throw Error(`[attach-handler] Session close won before agent attach committed: ${e}`)}beginClose(e){this.closeClaims.set(e,(this.closeClaims.get(e)??0)+1);let t=!1;return()=>{if(t)return;t=!0;let n=(this.closeClaims.get(e)??1)-1;n===0?this.closeClaims.delete(e):this.closeClaims.set(e,n)}}};function Kt(e,t,n){let r=new Gt,i=e.on(T.agent.attach,async i=>{i.setResult(await Zt(e,t,n,{...i.payload,assertAttachCommitAllowed:()=>r.assertAttachCommitAllowed(i.payload.sessionId)}))}),a=e.on(T.agent.attachResolved,async i=>{if(!i.origin.local)throw Error(`[attach-handler] session.agent.attachResolved requires a local-origin request`);let a=i.payload.assertInitialMessageAdmission;if(a!==void 0&&typeof a!=`function`)throw Error(`[attach-handler] assertInitialMessageAdmission must be a function`);i.setResult(await Zt(e,t,n,{...i.payload,assertAttachCommitAllowed:()=>r.assertAttachCommitAllowed(i.payload.sessionId),assertInitialMessageAdmission:a,resolvedProviderContext:i.payload.agent.providerContext===void 0?void 0:w.parse(i.payload.agent.providerContext)}))}),o=r.registerCloseMiddleware(e);return()=>{i(),a(),o()}}async function qt(e,t){try{let n=await e();return n.handled?t(n.data):!1}catch{return!1}}async function Jt(e,t){return qt(()=>e.requestOptional(y.getCapabilities,{adapterId:t}),e=>new Set(e.capabilities).has(`session:resume`))}async function Yt(e,t,n){return qt(()=>e.requestOptional(y.listAgents,{adapterId:t}),e=>e.agents.some(e=>e.adapterSessionId===n))}async function Xt(e){let{bus:t,adapterId:n,adapterName:r,session:i,machineId:a,effectiveCwd:o}=e,s=G({intent:`resume`,session:i,localMachineId:a,adapterSupportsNative:await Jt(t,n),targetAdapterName:r,currentCwd:i.targetWorkingDirectory,targetCwd:o});if(s.kind===`native`&&i.adapterSessionId!==void 0&&await Yt(t,n,i.adapterSessionId)){let e={kind:`degrade`,reason:`agent-already-started`};return R(t,{sessionId:i.sessionId,intent:`resume`,verdict:e,adapterId:n}),{resumeAdapterSessionId:void 0,attachSessionContext:{nativeLocality:e}}}return s.kind!==`native`&&R(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 Zt(e,t,n,r){let{sessionId:i,agent:a,initialMessage:o,responseSchema:s,source:c,extensionId:l,assertAttachCommitAllowed:u,assertInitialMessageAdmission:d,role:f,resolvedProviderContext:p}=r,m=Rt(a),h=await rn(e,i),g=await nn(e,i,o,a),_=en(a,g),{adapterName:v,adapterId:y}=await tn(e,_.adapterName,_.adapterId,n),{providerConfigId:b,providerContext:x}=await Tt(e,v,a.providerConfigId,g,p),{runtimeOptions:S,mergedModel:C,mergedCwd:w}=zt(m,g,x),{effectiveCwd:T,effectiveRuntimeOptions:ee}=Bt(w,h.targetWorkingDirectory,S),E=an(h,f),D=await Xt({bus:e,adapterId:y,adapterName:v,session:h,machineId:n,effectiveCwd:T}),{resumeAdapterSessionId:O}=D,k=D.attachSessionContext?await Wt(e,i,D.attachSessionContext):void 0;return Qt(e,t,{launch:{adapterId:y,sessionId:i,role:E,effectiveRuntimeOptions:ee,resumeAdapterSessionId:O,harnessId:r.harnessId??g?.harnessId,attachSessionContext:k},identity:{adapterName:v,sessionId:i,role:E,timestamp:Date.now(),personaId:$t(a),profileId:g?.profileId,harnessId:r.harnessId??g?.harnessId,providerConfigId:b,compressionMode:g?.compressionMode,model:C,cwd:T},session:h,initialMessage:o,responseSchema:s,initiator:wt(c,l),sessionContext:k,assertAttachCommitAllowed:()=>u?.(),assertInitialMessageAdmission:d})}async function Qt(e,t,n){let r;try{r=n.initialMessage===void 0?void 0:await t.reserveTurn(n.session.sessionId)}catch(e){throw new h(`initial_message`,e)}try{let i=!1,a;try{a=await Ut(e,n.launch),await At(e,a,n.session.sessionId),i=await It(e,a,n.identity)}catch(e){throw new h(`agent_attach`,e)}let o;if(r===void 0||n.initialMessage===void 0)try{n.assertAttachCommitAllowed()}catch(t){let r=i?await Lt(e,a.agentId,t):t;throw await Q(e,a,n.session.sessionId,`session close won attach commit`),new h(`agent_attach`,r)}else o=await Mt(e,t,r,a,n.session,n.initialMessage,n.responseSchema,n.initiator,n.sessionContext,()=>{n.assertAttachCommitAllowed(),n.assertInitialMessageAdmission?.()}).catch(async t=>{throw new h(`initial_message`,i?await Lt(e,a.agentId,t):t)});return{agentId:a.agentId,adapterSessionId:a.adapterSessionId,role:n.identity.role,...o&&{messageId:o.messageId,turnId:o.turnId}}}finally{r!==void 0&&t.releaseTurnReservation(r)}}function $t(e){return e.kind===`persona`?e.personaId:void 0}function en(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 tn(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 vt(e,a,i,`[attach-handler] `),adapterId:a};let o=i;return{adapterName:o,adapterId:await B(e,o,r)}}async function nn(e,t,n,r){if(r.kind===`adapter`)return null;let i=n?X(n):void 0;return e.request(b.resolve,{selection:r,context:{sessionId:t,promptText:i}})}async function rn(e,t){let{session:n}=await e.request(T.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 an(e,t){let n=e.agents.length===0;return t??(n?`lead`:`member`)}function on(e){return e.on(T.abandon,async t=>{let{parentSessionId:n,childSessionId:r}=t.payload,{session:i}=await e.request(T.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(T.close,{sessionId:r})).success)throw Error(`[abandon-handler] Failed to close child session: ${r}`);await e.emit(T.abandoned,{sessionId:r,parentSessionId:n}),t.setResult({success:!0})})}const sn={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}}},cn={id:`llm-summarize`,label:`Summarize`,description:`LLM-generated summary of selected messages`,category:`transformation`,async execute(e){return{kind:`messages`,messages:e}}};function ln(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 un(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(b.resolve,{selection:{kind:`virtual-model`,virtualModelId:i},context:{sessionId:a}}),{adapterId:r}=await e.request(ae.resolveId,{adapterName:n.adapterName}),o=ln(t),s=n.providerConfigId?await oe(e,{adapterName:n.adapterName,providerConfigId:n.providerConfigId}):void 0,{text:c}=await e.request(y.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=g.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 dn=!1,fn=!1;function pn(e){dn||(dn=!0,V.register(Fe),V.register(Le),V.register(sn),V.register(cn)),e&&!fn&&(fn=!0,V.register(un(e)))}function mn(){dn=!1,fn=!1}function hn(e){return pn(e),e.on(T.compress,async t=>{let{sessionId:n,pipeline:r}=t.payload,{messages:a}=await e.request(m.getBySession,{sessionId:n,limit:1e4}),o=await H(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(T.compressed,{sessionId:n,eventId:l}),t.setResult({eventId:l,contextJson:o.contextJson,tokensBefore:c,tokensAfter:o.tokenEstimate})})}async function gn(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 _n(e){if(!e.segments?.length&&e.appliedPipeline?.length)for(let t of e.appliedPipeline){let e=V.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 vn(e,t){return e.on(T.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(T.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 gn(e,r,s,i)||_n(s));let{sessionId:f}=await e.request(T.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(T.branch.created,{sessionId:r,childSessionId:f,parentSessionId:r,kind:o,forkPointMessageId:i,transforms:s}),await e.emit(T.forked,{parentSessionId:r,childSessionId:f,forkPoint:i}),n.setResult({sessionId:f})})}function yn(e){return e.on(T.merge,async t=>{let{parentSessionId:n,childSessionId:r,summary:a}=t.payload,o=`merge:${n}:${r}`,{session:s}=await e.request(T.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(T.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(T.merging,{parentSessionId:n,childSessionId:r});let l=a??`Child session ${r} merged.`;if(!(await e.request(T.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(T.branch.merged,{sessionId:n,childSessionId:r,parentSessionId:n,resultJson:u}),await e.emit(T.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 bn(e,t,n){return e.replace(/\{oldCwd\}/g,t).replace(/\{newCwd\}/g,n)}function xn(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.enabled==`boolean`&&typeof t.template==`string`}async function Sn(e){try{let t=await e.request(_.get,{key:{scope:`global`,surface:`ui`,context:`cwdChangeNotification`},category:`chat-display`});if(t.value!==null&&t.value!==void 0)return xn(t.value)?t.value:$}catch{}return $}function Cn(e,t){return e??t.adapterName??``}async function wn(e,t,n,r,i){R(e,{sessionId:t,intent:`fork`,verdict:i});let a=(await U(e,t)).messages.map(W);return{...n,messageHistory:a,isFirstTurn:!0,hasNewTransforms:r.forkTransforms!==void 0,nativeLocality:i}}async function Tn(e,t){let{message:n}=await e.request(m.get,{messageId:t});return n?.adapterMessageId??void 0}async function En(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=G({intent:`fork`,session:{...p,forkPointMessageId:t.forkPointMessageId,forkTransforms:t.forkTransforms},localMachineId:a,adapterSupportsNative:c?.adapterSupportsNativeFork===!0,targetAdapterName:Cn(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 Tn(e,t.forkPointMessageId);if(i===void 0)return wn(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 wn(e,n,r,t,h)}async function Dn(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(y.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 On(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 kn(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(S.sendMessage,{agentId:n,adapterId:r,message:i,deliveryMode:a,messageId:o,turnId:s,sessionId:c,sessionContext:l,...u!==void 0&&{responseSchema:u}}),await Dt(e,{sessionId:d.sessionId,turnId:d.turnId,turnNumber:d.turnNumber,messageId:o,agentId:n})}async function An(e,t,n){return{messageHistory:(await U(e,t.sessionId)).messages.filter(e=>e.messageId!==n).map(W),isFirstTurn:!0}}async function jn(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(S.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(Et(n))throw n;let o={kind:`degrade`,reason:`native-attempt-failed`};R(e,{sessionId:u,intent:r.nativeFork?`fork`:`resume`,verdict:o,agentId:i,adapterId:a,turnId:l});let s=await An(e,t,c);return{...r,...s,nativeLocality:o,nativeFork:void 0}}return await Dt(e,{sessionId:f.sessionId,turnId:f.turnId,turnNumber:f.turnNumber,messageId:c,agentId:i}),null}async function Mn(e){let{bus:t,session:n,turn:r,message:i,messageId:a,deliveryMode:o,onTurnComplete:s,agent:c,responseSchema:l,turnManager:u}=e,{agentContext:d}=e,f={agentId:c.agentId,adapterId:c.adapterId,message:i,deliveryMode:o,messageId:a,turnId:r.turnId,sessionId:n.sessionId,responseSchema:l,turn:r};try{if(d?.nativeLocality?.kind===`native`){let e=await jn(t,n,f,d);if(e===null)return;d=e}await kn(t,{agentId:c.agentId,adapterId:c.adapterId,message:i,deliveryMode:o,messageId:a,turnId:r.turnId,sessionId:n.sessionId,sessionContext:d,responseSchema:l,turn:r})}catch(e){if(Et(e)){await Z({bus:t,turn:r,messageId:a,agentId:c.agentId,outcome:`cancelled`,onTurnComplete:s,turnManager:u});return}let n=e instanceof Error?e.message:String(e);await Z({bus:t,turn:r,messageId:a,agentId:c.agentId,outcome:`error`,error:n,onTurnComplete:s,turnManager:u})}}async function Nn(e,t,n){let r={kind:`degrade`,reason:`agent-already-started`};R(e,{sessionId:t.sessionId,intent:`fork`,verdict:r});let i=(await U(e,t.sessionId)).messages.map(W);return{...n,messageHistory:i,nativeFork:void 0,nativeLocality:r}}async function Pn(e){let{bus:t,session:n,agents:r,message:i,messageId:a,turn:o,deliveryMode:s,onTurnComplete:c,turnManager:l,sessionContext:u,turnContextEnricher:d,isNewTurn:f,recoveryContext:p,recoveredAgentIds:m,swappedAgentIds:h,swappedAgentCwd:g,freshMessageHistory:_,responseSchema:v,localMachineId:y}=e,b=await Dn(t,n,r),x=await En(t,n,n.sessionId,u,f,y,b);x?.nativeFork&&(x=await Nn(t,n,x));let S=d?await d.enrichForDeliveryMode(x?.messageHistory,o.turnId,s):x?.messageHistory,C=x?{...x,messageHistory:S}:void 0,w=h?.size?await Sn(t):$,T=r.map(async e=>{let r=g?.get(e.agentId),u=r&&w.enabled?bn(w.template,r.previousCwd,r.newCwd):void 0;await Mn({bus:t,session:n,turn:o,message:i,messageId:a,deliveryMode:s,onTurnComplete:c,turnManager:l,agent:e,agentContext:On({baseContext:C,recoveryContext:p,isRecovered:m?.has(e.agentId)??!1,isSwapped:h?.has(e.agentId)??!1,swapMeta:r,cwdMessage:u,freshMessageHistory:_}),responseSchema:v})});await Promise.all(T)}export{Ne as A,Te as B,He as C,Ve as D,We as E,z as F,L as I,Ee as L,Me as M,je as N,U as O,Ae as P,De as R,Ge as S,Ke as T,fe as V,Y as _,hn as a,$e as b,on as c,wt as d,Ct as f,bt as g,X as h,vn as i,B as j,V as k,Kt as l,St as m,En as n,pn as o,xt as p,yn as r,mn as s,Pn as t,kt as u,vt as v,Ue as w,G as x,ct as y,Oe as z};