@makaio/framework 1.0.0-dev-1790614475240 → 1.0.0-dev-1790750768917

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 (418) hide show
  1. package/dist/.makaio-build.json +2 -2
  2. package/dist/adapters/config/index.d.mts +1 -1
  3. package/dist/adapters/config/index.mjs +1 -1
  4. package/dist/adapters/index.d.mts +2 -2
  5. package/dist/adapters/index.mjs +1 -1
  6. package/dist/adapters/node.d.mts +1 -1
  7. package/dist/adapters/node.mjs +1 -1
  8. package/dist/{attempt-record-codec-DXpdMgyI.mjs → attempt-record-codec-zQnXwJF-.mjs} +1 -1
  9. package/dist/{caller-owned-adapter-stub-D8RZEdRn.mjs → caller-owned-adapter-stub-BLbPeCP9.mjs} +1 -1
  10. package/dist/clients/hook-subjects.d.mts +158 -0
  11. package/dist/clients/hook-subjects.mjs +1 -0
  12. package/dist/clients/index.d.mts +3 -129
  13. package/dist/clients/index.mjs +1 -1
  14. package/dist/clients/managed-install.d.mts +1 -1
  15. package/dist/clients/managed-install.mjs +1 -1
  16. package/dist/code-execution/worker-entry.d.mts +1 -1
  17. package/dist/code-execution/worker-entry.mjs +1 -1
  18. package/dist/{code-execution-BspFbEdT.mjs → code-execution-Bdqurit9.mjs} +1 -1
  19. package/dist/{code-execution-DWSux6k1.mjs → code-execution-BwqsnOwu.mjs} +1 -1
  20. package/dist/contracts/adapter/index.d.mts +2 -2
  21. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  22. package/dist/contracts/artifact/index.d.mts +2 -2
  23. package/dist/contracts/auth/index.d.mts +2 -2
  24. package/dist/contracts/automation-trigger/index.d.mts +3 -3
  25. package/dist/contracts/canonical-model/index.d.mts +1 -1
  26. package/dist/contracts/capabilities/index.d.mts +1 -1
  27. package/dist/contracts/client/index.d.mts +2 -2
  28. package/dist/contracts/code-execution/index.d.mts +1 -1
  29. package/dist/contracts/common/index.d.mts +1 -1
  30. package/dist/contracts/config/index.d.mts +2 -2
  31. package/dist/contracts/extension/index.d.mts +5 -5
  32. package/dist/contracts/facet/index.d.mts +1 -1
  33. package/dist/contracts/harness/index.d.mts +1 -1
  34. package/dist/contracts/host/index.d.mts +1 -1
  35. package/dist/contracts/index.d.mts +90 -90
  36. package/dist/contracts/materialization/index.d.mts +2 -2
  37. package/dist/contracts/model-registry/index.d.mts +1 -1
  38. package/dist/contracts/native-session-supervisor/index.d.mts +1 -1
  39. package/dist/contracts/platform/index.d.mts +1 -1
  40. package/dist/contracts/provider/index.d.mts +2 -2
  41. package/dist/contracts/reaction/index.d.mts +1 -1
  42. package/dist/contracts/session/index.d.mts +2 -2
  43. package/dist/contracts/shared/index.d.mts +2 -2
  44. package/dist/contracts/skill/index.d.mts +1 -1
  45. package/dist/contracts/telemetry/index.d.mts +1 -1
  46. package/dist/contracts/timeout/index.d.mts +1 -1
  47. package/dist/contracts/variant/index.d.mts +1 -1
  48. package/dist/contracts/worker/index.d.mts +2 -2
  49. package/dist/contracts/workflow/index.d.mts +2 -2
  50. package/dist/{contribution-DTb65rRN.d.mts → contribution-CCVRsaNB.d.mts} +2 -2
  51. package/dist/{definition-DWhjp0db.d.mts → definition-i4PufQpo.d.mts} +1 -1
  52. package/dist/{detached-extension-handle-QrXVNUR2.mjs → detached-extension-handle-DtnyN7vI.mjs} +1 -1
  53. package/dist/{execution-attempt-owner-recovery-BZOEVYFH.mjs → execution-attempt-owner-recovery-CvnTavxP.mjs} +1 -1
  54. package/dist/{execution-target-CDeIBu4b.mjs → execution-target-BumuKpUR.mjs} +1 -1
  55. package/dist/{extension-kOwzAMud.mjs → extension-C9EyvptA.mjs} +1 -1
  56. package/dist/{extension-context-DH84KOm9.d.mts → extension-context-BWrjVPXR.d.mts} +1 -1
  57. package/dist/fast-connection-CAm0eRI4.mjs +1 -0
  58. package/dist/{filesystem-service-CIaAqTRi.mjs → filesystem-service-yIGQgXXP.mjs} +1 -1
  59. package/dist/{framework-packages-D2fycy02.mjs → framework-packages-blqho6Nk.mjs} +1 -1
  60. package/dist/git/index.mjs +1 -1
  61. package/dist/{globby-CxGKRBGC.mjs → globby-DBl3Lybh.mjs} +1 -1
  62. package/dist/{handlers-CfWqy2KP.mjs → handlers-DmEPQqPX.mjs} +1 -1
  63. package/dist/{hook-responses-OETFKaAL.d.mts → hook-responses-v6EA_7WC.d.mts} +1 -1
  64. package/dist/inbound-hooks/fast-connection.d.mts +37 -0
  65. package/dist/inbound-hooks/fast-connection.mjs +1 -0
  66. package/dist/inbound-hooks/index.d.mts +3 -42
  67. package/dist/inbound-hooks/index.mjs +1 -1
  68. package/dist/inbound-hooks/stdio.d.mts +42 -0
  69. package/dist/inbound-hooks/stdio.mjs +1 -0
  70. package/dist/{index-B1uHTa1l.d.mts → index-BBrLhtLK.d.mts} +1 -1
  71. package/dist/{index-DPsQ_cFG2.d.mts → index-BIf8JHBp2.d.mts} +1 -1
  72. package/dist/{index-wQB90bP1.d.mts → index-BytbaguH.d.mts} +4 -4
  73. package/dist/{index-_CsKmUOy.d.mts → index-C0NhPcTU.d.mts} +6 -6
  74. package/dist/{index-1mY0aNe3.d.mts → index-CBzHX2vt.d.mts} +1 -1
  75. package/dist/{index-DyWD9bfP.d.mts → index-CE6cAf_r.d.mts} +1 -1
  76. package/dist/{index-C0Jfr8UK.d.mts → index-CPPulAkE.d.mts} +2 -2
  77. package/dist/{index-3G70bNLs.d.mts → index-CexFpJGs.d.mts} +17 -17
  78. package/dist/{index-CU0AgN84.d.mts → index-CfGPuR1W.d.mts} +3 -3
  79. package/dist/{index-BfFi98B_.d.mts → index-CrZ-G2qH.d.mts} +1 -1
  80. package/dist/{index-BRXETFym.d.mts → index-Cxx1aoPR.d.mts} +1 -1
  81. package/dist/{index-DDCixELI.d.mts → index-D-1RUdHM.d.mts} +1 -1
  82. package/dist/{index-e3AB0Iyv.d.mts → index-DKPap20V.d.mts} +33 -33
  83. package/dist/{index-DHTLIeW62.d.mts → index-DUqPPB_X2.d.mts} +7 -7
  84. package/dist/{index-CLwnkYRD.d.mts → index-DWWP2cUb.d.mts} +1 -1
  85. package/dist/{index-bXozN5vc.d.mts → index-DZkpkd7L.d.mts} +8 -8
  86. package/dist/{index-DrfwkH1x.d.mts → index-D_fMdJbU.d.mts} +8 -8
  87. package/dist/{index-CdkIg4Gu.d.mts → index-DeXQczqV.d.mts} +1 -1
  88. package/dist/{index-CVRQS5jk.d.mts → index-Di2-G_3M.d.mts} +1 -1
  89. package/dist/{index-C-tLT_IE.d.mts → index-DpqO6tbz.d.mts} +14 -14
  90. package/dist/{index-CtwkMknv.d.mts → index-Fmdwbgei.d.mts} +8 -8
  91. package/dist/{index-D9BLsMs8.d.mts → index-OLasQ7NP.d.mts} +1 -1
  92. package/dist/{index-BM8oUon_.d.mts → index-gOYLLgKk.d.mts} +12 -12
  93. package/dist/{index-BYMgvz_a2.d.mts → index-hoGiyiqe2.d.mts} +8 -8
  94. package/dist/{index-t6LnywuE.d.mts → index-l8b_NgVk.d.mts} +1 -1
  95. package/dist/{index-6UlianLY2.d.mts → index-zD2RYwIn2.d.mts} +11 -11
  96. package/dist/kernel/cli/index.d.mts +2 -2
  97. package/dist/kernel/cli/index.mjs +1 -1
  98. package/dist/kernel/cli/register.d.mts +1 -1
  99. package/dist/kernel/cli/register.mjs +1 -1
  100. package/dist/kernel/cli/schemas.mjs +1 -1
  101. package/dist/kernel/extension/index.d.mts +2 -2
  102. package/dist/kernel/extension/index.mjs +1 -1
  103. package/dist/kernel/index.d.mts +5 -5
  104. package/dist/kernel/index.mjs +1 -1
  105. package/dist/kernel/namespace/index.d.mts +1 -1
  106. package/dist/kernel/namespace/index.mjs +1 -1
  107. package/dist/kernel/observability/index.d.mts +1 -1
  108. package/dist/kernel/observability/index.mjs +1 -1
  109. package/dist/kernel/providers/index.d.mts +1 -1
  110. package/dist/kernel/providers/index.mjs +1 -1
  111. package/dist/kernel/window/index.d.mts +1 -1
  112. package/dist/kernel/window/index.mjs +1 -1
  113. package/dist/{lib-BdyGVjpO.mjs → lib-BvRpcV8o.mjs} +1 -1
  114. package/dist/{lib-DxP3tPm9.mjs → lib-C0osDjMk.mjs} +1 -1
  115. package/dist/{load-extensions-eyXZhbRn.mjs → load-extensions-C4HK679X.mjs} +1 -1
  116. package/dist/{load-extensions-CCzTHlUE.d.mts → load-extensions-CMdXwAq-.d.mts} +1 -1
  117. package/dist/mcp-http-server/index.mjs +1 -1
  118. package/dist/{namespace-CHSwZhH7.d.mts → namespace-BH9U2C1O.d.mts} +2 -2
  119. package/dist/{namespace-B9iQN3FQ.d.mts → namespace-C42bZCbK.d.mts} +5 -5
  120. package/dist/namespace-CUKQ8osk.mjs +1 -0
  121. package/dist/{namespace-CMntzAPI.mjs → namespace-D-_gP6_l.mjs} +1 -1
  122. package/dist/{namespace-DAzOxaux.d.mts → namespace-D74MefGI.d.mts} +2 -2
  123. package/dist/{namespace-CNX4llM5.d.mts → namespace-DK5qZpST.d.mts} +6 -6
  124. package/dist/{namespace-D38Fmd0E.d.mts → namespace-DYnHI_Nk.d.mts} +6 -6
  125. package/dist/node/bus-server/index.d.mts +1 -1
  126. package/dist/node/bus-server/index.mjs +1 -1
  127. package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
  128. package/dist/node/bus-server/server-lifecycle.mjs +1 -1
  129. package/dist/{orchestrator-shared-CF-jPH91.mjs → orchestrator-shared-yQ-cLSjx.mjs} +1 -1
  130. package/dist/{ownership-memory-handler-C-y9zQf8.mjs → ownership-memory-handler-BkB4ondL.mjs} +1 -1
  131. package/dist/{package-CeEUAKHI.mjs → package-C-XcWpYW.mjs} +1 -1
  132. package/dist/{package-BSz4hbav.mjs → package-C_PVR-xw.mjs} +1 -1
  133. package/dist/{package-AlsbnlSt.mjs → package-CuXEeVP0.mjs} +1 -1
  134. package/dist/{package-BjtsXnaA.d.mts → package-Ir6SEHkA.d.mts} +1 -1
  135. package/dist/package.json +1 -1
  136. package/dist/{provider-context-D6GIZ5DC.mjs → provider-context-DHS1LRQA.mjs} +1 -1
  137. package/dist/rules/index.d.mts +1 -1
  138. package/dist/rules/index.mjs +1 -1
  139. package/dist/rules/schemas.d.mts +1 -1
  140. package/dist/runtime-bun/index.mjs +1 -1
  141. package/dist/runtime-node/code-execution/index.d.mts +2 -2
  142. package/dist/runtime-node/code-execution/index.mjs +1 -1
  143. package/dist/runtime-node/extension-discovery.d.mts +1 -1
  144. package/dist/runtime-node/extension-validation.d.mts +1 -1
  145. package/dist/runtime-node/extension-validation.mjs +1 -1
  146. package/dist/runtime-node/index.d.mts +5 -5
  147. package/dist/runtime-node/index.mjs +3 -3
  148. package/dist/runtime-node/makaio-config.d.mts +1 -1
  149. package/dist/runtime-node/makaio-config.mjs +1 -1
  150. package/dist/runtime-node/workflow-worker/index.d.mts +1 -1
  151. package/dist/runtime-node/workflow-worker/index.mjs +1 -1
  152. package/dist/runtime-node/workflow-worker/worker-entry.mjs +1 -1
  153. package/dist/{schema-Cz6-4_Dn.mjs → schema-C0lK_6u-.mjs} +1 -1
  154. package/dist/{schemas-BjhhkGN_.d.mts → schemas-BBMHnFq8.d.mts} +4 -4
  155. package/dist/{schemas-DnyXA-9o.d.mts → schemas-C8YaJLKz.d.mts} +2 -2
  156. package/dist/{schemas-BXkSHQaF.d.mts → schemas-CEc_v3dl.d.mts} +2 -2
  157. package/dist/{schemas-D9pXu76T.d.mts → schemas-CtL2su-K.d.mts} +4 -4
  158. package/dist/{schemas-feb64ScA.d.mts → schemas-DNP5mdxx.d.mts} +7 -7
  159. package/dist/{schemas-CBDNnyz4.d.mts → schemas-DnwAE1ao.d.mts} +1 -1
  160. package/dist/{schemas-RwAlAMbq2.d.mts → schemas-DrrpHMbF2.d.mts} +7 -7
  161. package/dist/services/adapter-runtime/index.d.mts +3 -3
  162. package/dist/services/adapter-runtime/index.mjs +1 -1
  163. package/dist/services/adapter-runtime/namespace.d.mts +1 -1
  164. package/dist/services/adapter-runtime/schemas.d.mts +1 -1
  165. package/dist/services/adapter-subsystem/index.d.mts +3 -3
  166. package/dist/services/adapter-subsystem/index.mjs +1 -1
  167. package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
  168. package/dist/services/adapter-subsystem/namespace.mjs +1 -1
  169. package/dist/services/agent-runtime/index.d.mts +2 -2
  170. package/dist/services/agent-runtime/namespace.d.mts +1 -1
  171. package/dist/services/agent-runtime/schemas.d.mts +1 -1
  172. package/dist/services/automation-trigger/index.mjs +1 -1
  173. package/dist/services/capability/index.d.mts +2 -2
  174. package/dist/services/capability/index.mjs +1 -1
  175. package/dist/services/code-execution/index.d.mts +1 -1
  176. package/dist/services/code-execution/index.mjs +1 -1
  177. package/dist/services/codebase/index.d.mts +2 -2
  178. package/dist/services/codebase/namespace.d.mts +1 -1
  179. package/dist/services/codebase/schemas.d.mts +1 -1
  180. package/dist/services/compression/index.d.mts +2 -2
  181. package/dist/services/compression/namespace.d.mts +1 -1
  182. package/dist/services/compression/schemas.d.mts +1 -1
  183. package/dist/services/context-rules/index.d.mts +4 -4
  184. package/dist/services/context-rules/index.mjs +1 -1
  185. package/dist/services/execution-target/index.d.mts +3 -3
  186. package/dist/services/execution-target/index.mjs +1 -1
  187. package/dist/services/execution-target/namespace.d.mts +1 -1
  188. package/dist/services/execution-target/namespace.mjs +1 -1
  189. package/dist/services/execution-target/schemas.d.mts +1 -1
  190. package/dist/services/execution-target/schemas.mjs +1 -1
  191. package/dist/services/filesystem/index.d.mts +1 -1
  192. package/dist/services/filesystem/index.mjs +1 -1
  193. package/dist/services/filesystem/namespace.d.mts +6 -6
  194. package/dist/services/filesystem/schemas.d.mts +3 -3
  195. package/dist/services/git/namespace.mjs +1 -1
  196. package/dist/services/git/schemas.mjs +1 -1
  197. package/dist/services/harness/index.d.mts +3 -3
  198. package/dist/services/harness/index.mjs +1 -1
  199. package/dist/services/index.d.mts +60 -60
  200. package/dist/services/index.mjs +1 -1
  201. package/dist/services/log-import/browser.d.mts +2 -2
  202. package/dist/services/log-import/index.d.mts +2 -2
  203. package/dist/services/log-import/log-import.d.mts +1 -1
  204. package/dist/services/log-import/log-import.mjs +1 -1
  205. package/dist/services/log-import/namespace.mjs +1 -1
  206. package/dist/services/log-import/schemas.mjs +1 -1
  207. package/dist/services/materialization/index.d.mts +1 -1
  208. package/dist/services/materialization/index.mjs +1 -1
  209. package/dist/services/model-registry/index.d.mts +1 -1
  210. package/dist/services/model-registry/index.mjs +1 -1
  211. package/dist/services/preferences/index.d.mts +2 -2
  212. package/dist/services/preferences/schemas.d.mts +1 -1
  213. package/dist/services/preferences/storage-namespace.d.mts +2 -2
  214. package/dist/services/provider-context/index.d.mts +1 -1
  215. package/dist/services/provider-context/index.mjs +1 -1
  216. package/dist/services/provider-runtime/index.mjs +1 -1
  217. package/dist/services/session/handlers/index.d.mts +1 -1
  218. package/dist/services/session/handlers/index.mjs +1 -1
  219. package/dist/services/session/index.d.mts +9 -9
  220. package/dist/services/session/index.mjs +1 -1
  221. package/dist/services/session/messages/namespace.d.mts +1 -1
  222. package/dist/services/session/messages/namespace.mjs +1 -1
  223. package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
  224. package/dist/services/session/orchestrator-testing/index.mjs +1 -1
  225. package/dist/services/session/session-events/namespace.d.mts +1 -1
  226. package/dist/services/session/session-events/namespace.mjs +1 -1
  227. package/dist/services/session/storage/namespace.d.mts +1 -1
  228. package/dist/services/session/storage/schema.d.mts +1 -1
  229. package/dist/services/session/testing/index.mjs +1 -1
  230. package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
  231. package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
  232. package/dist/services/session/turns/namespace.d.mts +1 -1
  233. package/dist/services/session/turns/namespace.mjs +1 -1
  234. package/dist/services/session-editor/index.d.mts +1 -1
  235. package/dist/services/session-editor/index.mjs +1 -1
  236. package/dist/services/settings/index.d.mts +3 -3
  237. package/dist/services/settings/index.mjs +1 -1
  238. package/dist/services/settings/namespace.d.mts +2 -2
  239. package/dist/services/settings/namespace.mjs +1 -1
  240. package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
  241. package/dist/services/settings/storage/clients-namespace.mjs +1 -1
  242. package/dist/services/settings/storage/index.d.mts +3 -3
  243. package/dist/services/settings/storage/index.mjs +1 -1
  244. package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
  245. package/dist/services/settings/storage/providers-namespace.mjs +1 -1
  246. package/dist/services/subagent/index.d.mts +1 -1
  247. package/dist/services/subagent/index.mjs +1 -1
  248. package/dist/services/subagent-template/index.d.mts +2 -2
  249. package/dist/services/subagent-template/namespace.d.mts +1 -1
  250. package/dist/services/subagent-template/schemas.d.mts +1 -1
  251. package/dist/services/tool-approval/index.d.mts +1 -1
  252. package/dist/services/tool-approval/index.mjs +1 -1
  253. package/dist/services/tools/index.d.mts +1 -1
  254. package/dist/services/tools/index.mjs +1 -1
  255. package/dist/services/tray-menu/index.d.mts +3 -3
  256. package/dist/services/tray-menu/index.mjs +1 -1
  257. package/dist/services/tray-menu/namespace.d.mts +1 -1
  258. package/dist/services/tray-menu/schemas.d.mts +1 -1
  259. package/dist/services/turn/index.d.mts +1 -1
  260. package/dist/services/turn/namespace.d.mts +1 -1
  261. package/dist/services/workflow-transitions/index.d.mts +1 -1
  262. package/dist/services/workflow-transitions/index.mjs +1 -1
  263. package/dist/{session-Tj_635zr.mjs → session-BjV4HPCQ.mjs} +1 -1
  264. package/dist/{session-lineage-BQ9NWlt6.d.mts → session-lineage-CLrQb1Hz.d.mts} +1 -1
  265. package/dist/{src-CkKKoY0M.mjs → src-BDw_ijvA.mjs} +1 -1
  266. package/dist/src-CnTMHQm0.mjs +1 -0
  267. package/dist/storage/drizzle/client.d.mts +1 -1
  268. package/dist/storage/drizzle/client.mjs +1 -1
  269. package/dist/storage/drizzle/index.d.mts +1 -1
  270. package/dist/storage/drizzle/index.mjs +1 -1
  271. package/dist/storage/handlers/drizzle/index.d.mts +1 -1
  272. package/dist/storage/handlers/drizzle/index.mjs +1 -1
  273. package/dist/storage/handlers/index.d.mts +1 -1
  274. package/dist/storage/handlers/index.mjs +1 -1
  275. package/dist/{storage-namespace-NHTWAjaX.d.mts → storage-namespace-DoxNJ9Cg.d.mts} +10 -10
  276. package/dist/{tool-approval-service-BCN4W8eS.mjs → tool-approval-service-Bc0IC6Hj.mjs} +1 -1
  277. package/dist/{tools-BCL_dtHe.mjs → tools-Cbuj-ClQ.mjs} +1 -1
  278. package/dist/{transition-DK43U3QJ.d.mts → transition-DNNBGMtx.d.mts} +2 -2
  279. package/dist/{types-CW-4Y0k_2.d.mts → types-BfuE1-1V2.d.mts} +1 -1
  280. package/dist/{types-jmH0Yad4.d.mts → types-DsZBnL7z.d.mts} +6 -6
  281. package/dist/ui-kernel/index.d.mts +4 -4
  282. package/dist/ui-kernel/pages/namespace.d.mts +4 -4
  283. package/dist/ui-kernel/pages/schemas.d.mts +1 -1
  284. package/dist/{view-builder-tgwZ1ucc.d.mts → view-builder-HU_v1Jg7.d.mts} +2 -2
  285. package/dist/workflow-engine/execution-attempt-repository.d.mts +1 -1
  286. package/dist/workflow-engine/execution-attempt-repository.mjs +1 -1
  287. package/dist/workflow-engine/index.d.mts +19 -19
  288. package/dist/workflow-engine/index.mjs +1 -1
  289. package/dist/workflow-engine/package.d.mts +1 -1
  290. package/dist/workflow-engine/package.mjs +1 -1
  291. package/dist/workflow-engine/provider-operation.d.mts +1 -1
  292. package/dist/workflow-engine/testing/conformance.d.mts +1 -1
  293. package/dist/workflow-engine/testing/conformance.mjs +1 -1
  294. package/dist/workflow-engine/testing/index.d.mts +1 -1
  295. package/dist/workflow-engine/testing/index.mjs +1 -1
  296. package/dist/workflow-engine/testing/sqlite.d.mts +1 -1
  297. package/dist/workflow-engine/testing/sqlite.mjs +1 -1
  298. package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
  299. package/dist/{workflow-transitions-7d9lGi08.mjs → workflow-transitions-CvT6P03B.mjs} +1 -1
  300. package/dist/{workflow-worker-BCLy_g_a.mjs → workflow-worker-CvQN2dmX.mjs} +1 -1
  301. package/package.json +13 -1
  302. package/dist/namespace-BPf6AbBO.mjs +0 -1
  303. package/dist/src-BZdw54VU.mjs +0 -1
  304. /package/dist/{adapter-auth-runtime-B6yX_QfG.mjs → adapter-auth-runtime-CYgj-Ht4.mjs} +0 -0
  305. /package/dist/{adapter-binding-DF-j-XHg.d.mts → adapter-binding-DG877aQO.d.mts} +0 -0
  306. /package/dist/{attach-error-wNJ8Q5uU.mjs → attach-error-mkj6SVd2.mjs} +0 -0
  307. /package/dist/{attempt-control-evidence-CHBnJoqN.mjs → attempt-control-evidence-DmNT2Wkb.mjs} +0 -0
  308. /package/dist/{attempt-fixtures-D3IsP0KH.mjs → attempt-fixtures-DPGw7peT.mjs} +0 -0
  309. /package/dist/{authority-state-bootstrap-4F5Wc_6l.mjs → authority-state-bootstrap-kIU-C2nI.mjs} +0 -0
  310. /package/dist/{base-orchestrator-DH6W4NQg.d.mts → base-orchestrator-CYU2iHqB.d.mts} +0 -0
  311. /package/dist/{bootstrap-start-client-9nOdeDYl.mjs → bootstrap-start-client-DyKCj6Eu.mjs} +0 -0
  312. /package/dist/{capability-service-BHcRd1td.d.mts → capability-service-BEVVEaTj.d.mts} +0 -0
  313. /package/dist/{client-Sx_N8LXo.d.mts → client-CkfU-f8m.d.mts} +0 -0
  314. /package/dist/{client-binary-version-verifier-DcHCFmsI.mjs → client-binary-version-verifier-CITusS9s.mjs} +0 -0
  315. /package/dist/{client-binary-version-verifier-C8gtKQFO.d.mts → client-binary-version-verifier-DgGke3gW.d.mts} +0 -0
  316. /package/dist/{clients-namespace-CASHxXUM.d.mts → clients-namespace-BRijqVIc.d.mts} +0 -0
  317. /package/dist/{config-namespace-Ctia-VDG.d.mts → config-namespace-9pC41Rtl.d.mts} +0 -0
  318. /package/dist/{create-static-mount-4B-mNtx1.mjs → create-static-mount-Dt-iC0Uq.mjs} +0 -0
  319. /package/dist/{credential-ref-MsnUkz9G.d.mts → credential-ref-DHhA4VTS.d.mts} +0 -0
  320. /package/dist/{cross-spawn-DGqEuNyT.mjs → cross-spawn-DIqCmSCD.mjs} +0 -0
  321. /package/dist/{cursor-storage-BvjxwBW6.mjs → cursor-storage-TgG0XBrI.mjs} +0 -0
  322. /package/dist/{definition-Cx175qXh.d.mts → definition-RnEMoWgj.d.mts} +0 -0
  323. /package/dist/{descriptor-to-package-BPIArq6N.mjs → descriptor-to-package-BmbVrmaM.mjs} +0 -0
  324. /package/dist/{drizzle-_w6sUR8p.mjs → drizzle-C9VHmFKj.mjs} +0 -0
  325. /package/dist/{esm-DwiWcwH0.mjs → esm-CC8hYyqN.mjs} +0 -0
  326. /package/dist/{event-D5_UaIBZ.mjs → event-DK8N_EOT.mjs} +0 -0
  327. /package/dist/{execution-attempt-repository-CY289HlC.mjs → execution-attempt-repository-BMbbbk7n.mjs} +0 -0
  328. /package/dist/{execution-attempt-repository-C2XKRZ3O.d.mts → execution-attempt-repository-Dyluu7wy.d.mts} +0 -0
  329. /package/dist/{extension-discovery-BqSPn73R.d.mts → extension-discovery-DmV1H6kV.d.mts} +0 -0
  330. /package/dist/{extension-namespace-CeRpt6C8.mjs → extension-namespace-BwNmFrd3.mjs} +0 -0
  331. /package/dist/{extension-package-provenance-ClpN3GHp.mjs → extension-package-provenance-DAc6EC8S.mjs} +0 -0
  332. /package/dist/{filesystem-service-5Ecp3nSV.d.mts → filesystem-service-RvR9ogzG.d.mts} +0 -0
  333. /package/dist/{handler-Cc1MhaR4.mjs → handler-BY2DDdyI.mjs} +0 -0
  334. /package/dist/{identity-DgTjgflr.mjs → identity-DBdzjf61.mjs} +0 -0
  335. /package/dist/{index-CwVSr7Ow.d.mts → index-2XwNyZAw.d.mts} +0 -0
  336. /package/dist/{index-B_Hf4XPX.d.mts → index-AtnMf7Qf.d.mts} +0 -0
  337. /package/dist/{index-BCuWtlv5.d.mts → index-B-ZgZuHg.d.mts} +0 -0
  338. /package/dist/{index-u0EteHlR2.d.mts → index-B4MBx8vA2.d.mts} +0 -0
  339. /package/dist/{index-Bmb7jPIe2.d.mts → index-BN4sKsLl2.d.mts} +0 -0
  340. /package/dist/{index-BjrbddkU.d.mts → index-BS3GYAN9.d.mts} +0 -0
  341. /package/dist/{index-CURT4JaX.d.mts → index-BrJ_6xi2.d.mts} +0 -0
  342. /package/dist/{index-w1AeWV4F.d.mts → index-BuRaseJB.d.mts} +0 -0
  343. /package/dist/{index-DmV9ybgT.d.mts → index-C5u82-qr.d.mts} +0 -0
  344. /package/dist/{index-DMgbNdEU.d.mts → index-C9G0Namh.d.mts} +0 -0
  345. /package/dist/{index-C9vF42jh.d.mts → index-CE-VlXE2.d.mts} +0 -0
  346. /package/dist/{index-2YW8DTb62.d.mts → index-CFet5T7v2.d.mts} +0 -0
  347. /package/dist/{index-rik4Uc5G.d.mts → index-CVQ852YA.d.mts} +0 -0
  348. /package/dist/{index-By1UhKYU2.d.mts → index-CVlnG_H22.d.mts} +0 -0
  349. /package/dist/{index-DOui-7u2.d.mts → index-C_LQ5NSy.d.mts} +0 -0
  350. /package/dist/{index-_OD_Nz3m.d.mts → index-Cc5kDe9y.d.mts} +0 -0
  351. /package/dist/{index-DDnY7JhE.d.mts → index-CnyQ2N42.d.mts} +0 -0
  352. /package/dist/{index-BOxMyaqG.d.mts → index-D-rTv5WO.d.mts} +0 -0
  353. /package/dist/{index-BEPn58tG.d.mts → index-D1es2sEA.d.mts} +0 -0
  354. /package/dist/{index-62OoZLGr.d.mts → index-DJZZS_H0.d.mts} +0 -0
  355. /package/dist/{index-N0-r5Hcd.d.mts → index-DggZJ6TT.d.mts} +0 -0
  356. /package/dist/{index-BV3nQpdO.d.mts → index-Do3__CB3.d.mts} +0 -0
  357. /package/dist/{index-DsmyofuM.d.mts → index-lJLrusa5.d.mts} +0 -0
  358. /package/dist/{index-BleQ0SR7.d.mts → index-riopop0h.d.mts} +0 -0
  359. /package/dist/{index-DAqAa9aL.d.mts → index-yfLm_tCv.d.mts} +0 -0
  360. /package/dist/{json-value--pv1-OHx.d.mts → json-value-B2gMynW3.d.mts} +0 -0
  361. /package/dist/{jsonl-transport-Ct1RWs0h.mjs → jsonl-transport-_zPQoMpM.mjs} +0 -0
  362. /package/dist/{lib-DomKag_k.mjs → lib-l8EW0aRq.mjs} +0 -0
  363. /package/dist/{model-registry-CeDu27XL.mjs → model-registry-BJbUh4uw.mjs} +0 -0
  364. /package/dist/{namespace-HLrZerLd.d.mts → namespace-B6S7ZFyX.d.mts} +0 -0
  365. /package/dist/{namespace-CqJhR19O.mjs → namespace-BG-DwVwA.mjs} +0 -0
  366. /package/dist/{namespace-Bo6-o_rW.mjs → namespace-BWTEnslo.mjs} +0 -0
  367. /package/dist/{namespace-Sd6qj6w22.d.mts → namespace-CO9J3NB-2.d.mts} +0 -0
  368. /package/dist/{namespace-CJ5sH_Bp.d.mts → namespace-CVO6bZ4F.d.mts} +0 -0
  369. /package/dist/{namespace-KomML5ti.d.mts → namespace-CytKzWBF.d.mts} +0 -0
  370. /package/dist/{namespace-C9xmGXbW.mjs → namespace-D1tJewLB.mjs} +0 -0
  371. /package/dist/{namespace-DbtfwD5Z.d.mts → namespace-D8pSI--d.d.mts} +0 -0
  372. /package/dist/{namespace-CnRQ8tCJ.mjs → namespace-DS4y8Kv9.mjs} +0 -0
  373. /package/dist/{namespace-J87EeVTm.mjs → namespace-DaFbUCqO.mjs} +0 -0
  374. /package/dist/{namespace-QV_2m25r.d.mts → namespace-Dcs8KeNG.d.mts} +0 -0
  375. /package/dist/{namespace-C_NGRHKs.d.mts → namespace-Dt7hJA-a.d.mts} +0 -0
  376. /package/dist/{namespace-CL9OyrHs.d.mts → namespace-F8g5LZte.d.mts} +0 -0
  377. /package/dist/{namespace-Bz0ZDWhE.d.mts → namespace-u4eoUCLp.d.mts} +0 -0
  378. /package/dist/{node-bridge-backend-DtRT--yn.mjs → node-bridge-backend-CsJ3_7CF.mjs} +0 -0
  379. /package/dist/{node-pty-backend-C72EgRws.mjs → node-pty-backend-o9xyqPMi.mjs} +0 -0
  380. /package/dist/{orchestrator-shared-Bvo0u-1D.d.mts → orchestrator-shared-B96yveBr.d.mts} +0 -0
  381. /package/dist/{out-EjlaPopg.mjs → out-GD8gVf9J.mjs} +0 -0
  382. /package/dist/{ownership-recovery-guard-C9h8K1jo.mjs → ownership-recovery-guard-C00rcqvz.mjs} +0 -0
  383. /package/dist/{package-BCKYMTYG.mjs → package-B6mFblgK.mjs} +0 -0
  384. /package/dist/{package-BwlW7N32.mjs → package-Dke3gaTJ.mjs} +0 -0
  385. /package/dist/{packages-vF9F4M41.mjs → packages-CZ2x-Ver.mjs} +0 -0
  386. /package/dist/{packages-KX9yofCa.d.mts → packages-Fy4a6vQy.d.mts} +0 -0
  387. /package/dist/{providers-CahjB0Kh.mjs → providers-CIb7WiA8.mjs} +0 -0
  388. /package/dist/{providers-namespace-B-l-OQZk.d.mts → providers-namespace-Bg03KVpr.d.mts} +0 -0
  389. /package/dist/{quick-lru-C1yB5RCQ.mjs → quick-lru-BgvUj18f.mjs} +0 -0
  390. /package/dist/{registry-DtaRGU8i.mjs → registry-mZnnYsTk.mjs} +0 -0
  391. /package/dist/{runtime-inputs-B7nWstrY.d.mts → runtime-inputs-qWXJyPAC.d.mts} +0 -0
  392. /package/dist/{schema-DLE6Dqyc.d.mts → schema-C58MdqlI.d.mts} +0 -0
  393. /package/dist/{schema-BnuyCklU.mjs → schema-CdUStsjr.mjs} +0 -0
  394. /package/dist/{schema-introspection-_Yw9L_mB.mjs → schema-introspection-CRLs6TZU.mjs} +0 -0
  395. /package/dist/{schemas-BNQtL3Ln.d.mts → schemas-BKE3qw_w.d.mts} +0 -0
  396. /package/dist/{schemas-C0Fb2-LN.d.mts → schemas-BNG5UOHC.d.mts} +0 -0
  397. /package/dist/{schemas-BNRFKQdz.mjs → schemas-BzzkGp4E.mjs} +0 -0
  398. /package/dist/{schemas-BOT1HUv6.d.mts → schemas-CUfqNSQj.d.mts} +0 -0
  399. /package/dist/{schemas-Djjq4LLs.mjs → schemas-D9hVAoP5.mjs} +0 -0
  400. /package/dist/{schemas-DekYSXka.mjs → schemas-dPLES84M.mjs} +0 -0
  401. /package/dist/{schemas-Dxfk39-v.d.mts → schemas-hXVl5GeF.d.mts} +0 -0
  402. /package/dist/{schemas-BGTuiO3u.d.mts → schemas-zWy59x9Y.d.mts} +0 -0
  403. /package/dist/{server-lifecycle-BjbuCO-s.mjs → server-lifecycle-CmsnIyst.mjs} +0 -0
  404. /package/dist/{server-lifecycle-BINetU26.d.mts → server-lifecycle-DJcc_FqN.d.mts} +0 -0
  405. /package/dist/{shared-schemas-CnOyMY42.mjs → shared-schemas-DwAPAqeD.mjs} +0 -0
  406. /package/dist/{src-CqQSqLQI.mjs → src-CHyuN-wv.mjs} +0 -0
  407. /package/dist/{storage-namespace-TBX8VgK3.mjs → storage-namespace-CYZOP3RS.mjs} +0 -0
  408. /package/dist/{storage-namespace-definition-DV3IipmH.d.mts → storage-namespace-definition--9lrtKns.d.mts} +0 -0
  409. /package/dist/{supports-color-CjiFmM1U.mjs → supports-color-BZuv8Isw.mjs} +0 -0
  410. /package/dist/{tray-menu-service-BRrnoqaY.mjs → tray-menu-service-DGhHTNyy.mjs} +0 -0
  411. /package/dist/{types-CjoaGe_E.d.mts → types-BfQSVqtV.d.mts} +0 -0
  412. /package/dist/{types-B_mVEuYd.d.mts → types-CA6i6flt.d.mts} +0 -0
  413. /package/dist/{types-wwuw7RkB.mjs → types-CGL_-qT6.mjs} +0 -0
  414. /package/dist/{types-CqVuKsLC.d.mts → types-D-Q9gxe2.d.mts} +0 -0
  415. /package/dist/{types-D7WtaoMR.d.mts → types-DEDjIt3d.d.mts} +0 -0
  416. /package/dist/{types-MFZzmywp.d.mts → types-DVZYa4bZ.d.mts} +0 -0
  417. /package/dist/{window-registry-2MZdZPdA.mjs → window-registry-BB_bd5Yu.mjs} +0 -0
  418. /package/dist/{window-registry-1jI3f9ir.d.mts → window-registry-DqVHgb6Y.d.mts} +0 -0
@@ -1,4 +1,4 @@
1
- import{o as e}from"../chunk-DTipWd-i.mjs";import{t}from"../ajv-Cvnmw2yn.mjs";import{t as n}from"../dist-onY7e-pd.mjs";import{t as r}from"../quick-lru-C1yB5RCQ.mjs";import{t as i}from"../cross-spawn-DGqEuNyT.mjs";import{AgentSubjects as a,McpSubjects as o,ToolSubjects as s}from"@makaio/framework/contracts";import{BaseService as c}from"@makaio/framework/service-base";import{ToolErrorCodes as l,ensureMcpObjectSchema as u,errorToToolResult as d,toolError as f,toolSuccess as p}from"@makaio/framework/tools";import m from"node:process";import{PassThrough as h}from"node:stream";import*as g from"zod/v4";import"zod/v3";import*as ee from"zod/v4-mini";import*as te from"node:http";import{getRequestListener as ne}from"@hono/node-server";function _(e){return!!e._zod}function v(e,t){return _(e)?ee.safeParse(e,t):e.safeParse(t)}function re(e){if(!e)return;let t;if(t=_(e)?e._zod?.def?.shape:e.shape,t){if(typeof t==`function`)try{return t()}catch{return}return t}}function ie(e){if(_(e)){let t=e._zod?.def;if(t){if(t.value!==void 0)return t.value;if(Array.isArray(t.values)&&t.values.length>0)return t.values[0]}}let t=e._def;if(t){if(t.value!==void 0)return t.value;if(Array.isArray(t.values)&&t.values.length>0)return t.values[0]}let n=e.value;if(n!==void 0)return n}const ae=`2025-11-25`,y=[ae,`2025-06-18`,`2025-03-26`,`2024-11-05`,`2024-10-07`],b=`io.modelcontextprotocol/related-task`,x=g.custom(e=>e!==null&&(typeof e==`object`||typeof e==`function`)),oe=g.union([g.string(),g.number().int()]),se=g.string();g.looseObject({ttl:g.number().optional(),pollInterval:g.number().optional()});const ce=g.object({ttl:g.number().optional()}),le=g.object({taskId:g.string()}),ue=g.looseObject({progressToken:oe.optional(),[b]:le.optional()}),S=g.object({_meta:ue.optional()}),C=S.extend({task:ce.optional()}),de=e=>C.safeParse(e).success,w=g.object({method:g.string(),params:S.loose().optional()}),T=g.object({_meta:ue.optional()}),E=g.object({method:g.string(),params:T.loose().optional()}),D=g.looseObject({_meta:ue.optional()}),O=g.union([g.string(),g.number().int()]),fe=g.object({jsonrpc:g.literal(`2.0`),id:O,...w.shape}).strict(),k=e=>fe.safeParse(e).success,pe=g.object({jsonrpc:g.literal(`2.0`),...E.shape}).strict(),me=e=>pe.safeParse(e).success,he=g.object({jsonrpc:g.literal(`2.0`),id:O,result:D}).strict(),A=e=>he.safeParse(e).success;var j;(function(e){e[e.ConnectionClosed=-32e3]=`ConnectionClosed`,e[e.RequestTimeout=-32001]=`RequestTimeout`,e[e.ParseError=-32700]=`ParseError`,e[e.InvalidRequest=-32600]=`InvalidRequest`,e[e.MethodNotFound=-32601]=`MethodNotFound`,e[e.InvalidParams=-32602]=`InvalidParams`,e[e.InternalError=-32603]=`InternalError`,e[e.UrlElicitationRequired=-32042]=`UrlElicitationRequired`})(j||={});const ge=g.object({jsonrpc:g.literal(`2.0`),id:O.optional(),error:g.object({code:g.number().int(),message:g.string(),data:g.unknown().optional()})}).strict(),M=e=>ge.safeParse(e).success,_e=g.union([fe,pe,he,ge]);g.union([he,ge]);const N=D.strict(),ve=T.extend({requestId:O.optional(),reason:g.string().optional()}),ye=E.extend({method:g.literal(`notifications/cancelled`),params:ve}),be=g.object({src:g.string(),mimeType:g.string().optional(),sizes:g.array(g.string()).optional(),theme:g.enum([`light`,`dark`]).optional()}),P=g.object({icons:g.array(be).optional()}),F=g.object({name:g.string(),title:g.string().optional()}),xe=F.extend({...F.shape,...P.shape,version:g.string(),websiteUrl:g.string().optional(),description:g.string().optional()}),Se=g.intersection(g.object({applyDefaults:g.boolean().optional()}),g.record(g.string(),g.unknown())),Ce=g.preprocess(e=>e&&typeof e==`object`&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,g.intersection(g.object({form:Se.optional(),url:x.optional()}),g.record(g.string(),g.unknown()).optional())),we=g.looseObject({list:x.optional(),cancel:x.optional(),requests:g.looseObject({sampling:g.looseObject({createMessage:x.optional()}).optional(),elicitation:g.looseObject({create:x.optional()}).optional()}).optional()}),Te=g.looseObject({list:x.optional(),cancel:x.optional(),requests:g.looseObject({tools:g.looseObject({call:x.optional()}).optional()}).optional()}),Ee=g.object({experimental:g.record(g.string(),x).optional(),sampling:g.object({context:x.optional(),tools:x.optional()}).optional(),elicitation:Ce.optional(),roots:g.object({listChanged:g.boolean().optional()}).optional(),tasks:we.optional(),extensions:g.record(g.string(),x).optional()}),De=S.extend({protocolVersion:g.string(),capabilities:Ee,clientInfo:xe}),Oe=w.extend({method:g.literal(`initialize`),params:De}),ke=e=>Oe.safeParse(e).success,Ae=g.object({experimental:g.record(g.string(),x).optional(),logging:x.optional(),completions:x.optional(),prompts:g.object({listChanged:g.boolean().optional()}).optional(),resources:g.object({subscribe:g.boolean().optional(),listChanged:g.boolean().optional()}).optional(),tools:g.object({listChanged:g.boolean().optional()}).optional(),tasks:Te.optional(),extensions:g.record(g.string(),x).optional()}),je=D.extend({protocolVersion:g.string(),capabilities:Ae,serverInfo:xe,instructions:g.string().optional()}),Me=E.extend({method:g.literal(`notifications/initialized`),params:T.optional()}),Ne=w.extend({method:g.literal(`ping`),params:S.optional()}),Pe=g.object({progress:g.number(),total:g.optional(g.number()),message:g.optional(g.string())}),Fe=g.object({...T.shape,...Pe.shape,progressToken:oe}),Ie=E.extend({method:g.literal(`notifications/progress`),params:Fe}),Le=S.extend({cursor:se.optional()}),I=w.extend({params:Le.optional()}),L=D.extend({nextCursor:se.optional()}),Re=g.enum([`working`,`input_required`,`completed`,`failed`,`cancelled`]),R=g.object({taskId:g.string(),status:Re,ttl:g.union([g.number(),g.null()]),createdAt:g.string(),lastUpdatedAt:g.string(),pollInterval:g.optional(g.number()),statusMessage:g.optional(g.string())}),z=D.extend({task:R}),ze=T.merge(R),B=E.extend({method:g.literal(`notifications/tasks/status`),params:ze}),Be=w.extend({method:g.literal(`tasks/get`),params:S.extend({taskId:g.string()})}),Ve=D.merge(R),He=w.extend({method:g.literal(`tasks/result`),params:S.extend({taskId:g.string()})});D.loose();const Ue=I.extend({method:g.literal(`tasks/list`)}),We=L.extend({tasks:g.array(R)}),Ge=w.extend({method:g.literal(`tasks/cancel`),params:S.extend({taskId:g.string()})}),Ke=D.merge(R),qe=g.object({uri:g.string(),mimeType:g.optional(g.string()),_meta:g.record(g.string(),g.unknown()).optional()}),Je=qe.extend({text:g.string()}),Ye=g.string().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:`Invalid Base64 string`}),Xe=qe.extend({blob:Ye}),V=g.enum([`user`,`assistant`]),H=g.object({audience:g.array(V).optional(),priority:g.number().min(0).max(1).optional(),lastModified:g.iso.datetime({offset:!0}).optional()}),Ze=g.object({...F.shape,...P.shape,uri:g.string(),description:g.optional(g.string()),mimeType:g.optional(g.string()),size:g.optional(g.number()),annotations:H.optional(),_meta:g.optional(g.looseObject({}))}),Qe=g.object({...F.shape,...P.shape,uriTemplate:g.string(),description:g.optional(g.string()),mimeType:g.optional(g.string()),annotations:H.optional(),_meta:g.optional(g.looseObject({}))}),$e=I.extend({method:g.literal(`resources/list`)}),et=L.extend({resources:g.array(Ze)}),tt=I.extend({method:g.literal(`resources/templates/list`)}),nt=L.extend({resourceTemplates:g.array(Qe)}),rt=S.extend({uri:g.string()}),it=rt,at=w.extend({method:g.literal(`resources/read`),params:it}),ot=D.extend({contents:g.array(g.union([Je,Xe]))}),st=E.extend({method:g.literal(`notifications/resources/list_changed`),params:T.optional()}),ct=rt,lt=w.extend({method:g.literal(`resources/subscribe`),params:ct}),ut=rt,dt=w.extend({method:g.literal(`resources/unsubscribe`),params:ut}),ft=T.extend({uri:g.string()}),pt=E.extend({method:g.literal(`notifications/resources/updated`),params:ft}),mt=g.object({name:g.string(),description:g.optional(g.string()),required:g.optional(g.boolean())}),ht=g.object({...F.shape,...P.shape,description:g.optional(g.string()),arguments:g.optional(g.array(mt)),_meta:g.optional(g.looseObject({}))}),gt=I.extend({method:g.literal(`prompts/list`)}),_t=L.extend({prompts:g.array(ht)}),vt=S.extend({name:g.string(),arguments:g.record(g.string(),g.string()).optional()}),yt=w.extend({method:g.literal(`prompts/get`),params:vt}),bt=g.object({type:g.literal(`text`),text:g.string(),annotations:H.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),xt=g.object({type:g.literal(`image`),data:Ye,mimeType:g.string(),annotations:H.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),St=g.object({type:g.literal(`audio`),data:Ye,mimeType:g.string(),annotations:H.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),Ct=g.object({type:g.literal(`tool_use`),name:g.string(),id:g.string(),input:g.record(g.string(),g.unknown()),_meta:g.record(g.string(),g.unknown()).optional()}),wt=g.object({type:g.literal(`resource`),resource:g.union([Je,Xe]),annotations:H.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),Tt=Ze.extend({type:g.literal(`resource_link`)}),Et=g.union([bt,xt,St,Tt,wt]),Dt=g.object({role:V,content:Et}),Ot=D.extend({description:g.string().optional(),messages:g.array(Dt)}),kt=E.extend({method:g.literal(`notifications/prompts/list_changed`),params:T.optional()}),At=g.object({title:g.string().optional(),readOnlyHint:g.boolean().optional(),destructiveHint:g.boolean().optional(),idempotentHint:g.boolean().optional(),openWorldHint:g.boolean().optional()}),jt=g.object({taskSupport:g.enum([`required`,`optional`,`forbidden`]).optional()}),Mt=g.object({...F.shape,...P.shape,description:g.string().optional(),inputSchema:g.object({type:g.literal(`object`),properties:g.record(g.string(),x).optional(),required:g.array(g.string()).optional()}).catchall(g.unknown()),outputSchema:g.object({type:g.literal(`object`),properties:g.record(g.string(),x).optional(),required:g.array(g.string()).optional()}).catchall(g.unknown()).optional(),annotations:At.optional(),execution:jt.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),Nt=I.extend({method:g.literal(`tools/list`)}),Pt=L.extend({tools:g.array(Mt)}),U=D.extend({content:g.array(Et).default([]),structuredContent:g.record(g.string(),g.unknown()).optional(),isError:g.boolean().optional()});U.or(D.extend({toolResult:g.unknown()}));const Ft=C.extend({name:g.string(),arguments:g.record(g.string(),g.unknown()).optional()}),It=w.extend({method:g.literal(`tools/call`),params:Ft}),Lt=E.extend({method:g.literal(`notifications/tools/list_changed`),params:T.optional()}),Rt=g.object({autoRefresh:g.boolean().default(!0),debounceMs:g.number().int().nonnegative().default(300)}),W=g.enum([`debug`,`info`,`notice`,`warning`,`error`,`critical`,`alert`,`emergency`]),zt=S.extend({level:W}),Bt=w.extend({method:g.literal(`logging/setLevel`),params:zt}),Vt=T.extend({level:W,logger:g.string().optional(),data:g.unknown()}),Ht=E.extend({method:g.literal(`notifications/message`),params:Vt}),Ut=g.object({name:g.string().optional()}),Wt=g.object({hints:g.array(Ut).optional(),costPriority:g.number().min(0).max(1).optional(),speedPriority:g.number().min(0).max(1).optional(),intelligencePriority:g.number().min(0).max(1).optional()}),Gt=g.object({mode:g.enum([`auto`,`required`,`none`]).optional()}),Kt=g.object({type:g.literal(`tool_result`),toolUseId:g.string().describe(`The unique identifier for the corresponding tool call.`),content:g.array(Et).default([]),structuredContent:g.object({}).loose().optional(),isError:g.boolean().optional(),_meta:g.record(g.string(),g.unknown()).optional()}),qt=g.discriminatedUnion(`type`,[bt,xt,St]),G=g.discriminatedUnion(`type`,[bt,xt,St,Ct,Kt]),Jt=g.object({role:V,content:g.union([G,g.array(G)]),_meta:g.record(g.string(),g.unknown()).optional()}),Yt=C.extend({messages:g.array(Jt),modelPreferences:Wt.optional(),systemPrompt:g.string().optional(),includeContext:g.enum([`none`,`thisServer`,`allServers`]).optional(),temperature:g.number().optional(),maxTokens:g.number().int(),stopSequences:g.array(g.string()).optional(),metadata:x.optional(),tools:g.array(Mt).optional(),toolChoice:Gt.optional()}),Xt=w.extend({method:g.literal(`sampling/createMessage`),params:Yt}),K=D.extend({model:g.string(),stopReason:g.optional(g.enum([`endTurn`,`stopSequence`,`maxTokens`]).or(g.string())),role:V,content:qt}),Zt=D.extend({model:g.string(),stopReason:g.optional(g.enum([`endTurn`,`stopSequence`,`maxTokens`,`toolUse`]).or(g.string())),role:V,content:g.union([G,g.array(G)])}),Qt=g.object({type:g.literal(`boolean`),title:g.string().optional(),description:g.string().optional(),default:g.boolean().optional()}),$t=g.object({type:g.literal(`string`),title:g.string().optional(),description:g.string().optional(),minLength:g.number().optional(),maxLength:g.number().optional(),format:g.enum([`email`,`uri`,`date`,`date-time`]).optional(),default:g.string().optional()}),en=g.object({type:g.enum([`number`,`integer`]),title:g.string().optional(),description:g.string().optional(),minimum:g.number().optional(),maximum:g.number().optional(),default:g.number().optional()}),tn=g.object({type:g.literal(`string`),title:g.string().optional(),description:g.string().optional(),enum:g.array(g.string()),default:g.string().optional()}),nn=g.object({type:g.literal(`string`),title:g.string().optional(),description:g.string().optional(),oneOf:g.array(g.object({const:g.string(),title:g.string()})),default:g.string().optional()}),rn=g.object({type:g.literal(`string`),title:g.string().optional(),description:g.string().optional(),enum:g.array(g.string()),enumNames:g.array(g.string()).optional(),default:g.string().optional()}),an=g.union([tn,nn]),on=g.object({type:g.literal(`array`),title:g.string().optional(),description:g.string().optional(),minItems:g.number().optional(),maxItems:g.number().optional(),items:g.object({type:g.literal(`string`),enum:g.array(g.string())}),default:g.array(g.string()).optional()}),sn=g.object({type:g.literal(`array`),title:g.string().optional(),description:g.string().optional(),minItems:g.number().optional(),maxItems:g.number().optional(),items:g.object({anyOf:g.array(g.object({const:g.string(),title:g.string()}))}),default:g.array(g.string()).optional()}),cn=g.union([on,sn]),ln=g.union([rn,an,cn]),un=g.union([ln,Qt,$t,en]),dn=C.extend({mode:g.literal(`form`).optional(),message:g.string(),requestedSchema:g.object({type:g.literal(`object`),properties:g.record(g.string(),un),required:g.array(g.string()).optional()})}),fn=C.extend({mode:g.literal(`url`),message:g.string(),elicitationId:g.string(),url:g.string().url()}),pn=g.union([dn,fn]),mn=w.extend({method:g.literal(`elicitation/create`),params:pn}),hn=T.extend({elicitationId:g.string()}),gn=E.extend({method:g.literal(`notifications/elicitation/complete`),params:hn}),q=D.extend({action:g.enum([`accept`,`decline`,`cancel`]),content:g.preprocess(e=>e===null?void 0:e,g.record(g.string(),g.union([g.string(),g.number(),g.boolean(),g.array(g.string())])).optional())}),_n=g.object({type:g.literal(`ref/resource`),uri:g.string()}),vn=g.object({type:g.literal(`ref/prompt`),name:g.string()}),yn=S.extend({ref:g.union([vn,_n]),argument:g.object({name:g.string(),value:g.string()}),context:g.object({arguments:g.record(g.string(),g.string()).optional()}).optional()}),bn=w.extend({method:g.literal(`completion/complete`),params:yn}),xn=D.extend({completion:g.looseObject({values:g.array(g.string()).max(100),total:g.optional(g.number().int()),hasMore:g.optional(g.boolean())})}),Sn=g.object({uri:g.string().startsWith(`file://`),name:g.string().optional(),_meta:g.record(g.string(),g.unknown()).optional()}),Cn=w.extend({method:g.literal(`roots/list`),params:S.optional()}),wn=D.extend({roots:g.array(Sn)}),Tn=E.extend({method:g.literal(`notifications/roots/list_changed`),params:T.optional()});g.union([Ne,Oe,bn,Bt,yt,gt,$e,tt,at,lt,dt,It,Nt,Be,He,Ue,Ge]),g.union([ye,Ie,Me,Tn,B]),g.union([N,K,Zt,q,wn,Ve,We,z]),g.union([Ne,Xt,mn,Cn,Be,He,Ue,Ge]),g.union([ye,Ie,Ht,pt,st,Lt,kt,B,gn]),g.union([N,je,xn,Ot,_t,et,nt,ot,U,Pt,Ve,We,z]);var J=class e extends Error{constructor(e,t,n){super(`MCP error ${e}: ${t}`),this.code=e,this.data=n,this.name=`McpError`}static fromError(t,n,r){if(t===j.UrlElicitationRequired&&r){let e=r;if(e.elicitations)return new En(e.elicitations,n)}return new e(t,n,r)}},En=class extends J{constructor(e,t=`URL elicitation${e.length>1?`s`:``} required`){super(j.UrlElicitationRequired,t,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function Y(e){return e===`completed`||e===`failed`||e===`cancelled`}function Dn(e){let t=re(e)?.method;if(!t)throw Error(`Schema is missing a method literal`);let n=ie(t);if(typeof n!=`string`)throw Error(`Schema method literal must be a string`);return n}function On(e,t){let n=v(e,t);if(!n.success)throw n.error;return n.data}var kn=class{constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(ye,e=>{this._oncancel(e)}),this.setNotificationHandler(Ie,e=>{this._onprogress(e)}),this.setRequestHandler(Ne,e=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(Be,async(e,t)=>{let n=await this._taskStore.getTask(e.params.taskId,t.sessionId);if(!n)throw new J(j.InvalidParams,`Failed to retrieve task: Task not found`);return{...n}}),this.setRequestHandler(He,async(e,t)=>{let n=async()=>{let r=e.params.taskId;if(this._taskMessageQueue){let e;for(;e=await this._taskMessageQueue.dequeue(r,t.sessionId);){if(e.type===`response`||e.type===`error`){let t=e.message,n=t.id,r=this._requestResolvers.get(n);if(r)if(this._requestResolvers.delete(n),e.type===`response`)r(t);else{let e=t;r(new J(e.error.code,e.error.message,e.error.data))}else{let t=e.type===`response`?`Response`:`Error`;this._onerror(Error(`${t} handler missing for request ${n}`))}continue}await this._transport?.send(e.message,{relatedRequestId:t.requestId})}}let i=await this._taskStore.getTask(r,t.sessionId);if(!i)throw new J(j.InvalidParams,`Task not found: ${r}`);if(!Y(i.status))return await this._waitForTaskUpdate(r,t.signal),await n();if(Y(i.status)){let e=await this._taskStore.getTaskResult(r,t.sessionId);return this._clearTaskQueue(r),{...e,_meta:{...e._meta,[b]:{taskId:r}}}}return await n()};return await n()}),this.setRequestHandler(Ue,async(e,t)=>{try{let{tasks:n,nextCursor:r}=await this._taskStore.listTasks(e.params?.cursor,t.sessionId);return{tasks:n,nextCursor:r,_meta:{}}}catch(e){throw new J(j.InvalidParams,`Failed to list tasks: ${e instanceof Error?e.message:String(e)}`)}}),this.setRequestHandler(Ge,async(e,t)=>{try{let n=await this._taskStore.getTask(e.params.taskId,t.sessionId);if(!n)throw new J(j.InvalidParams,`Task not found: ${e.params.taskId}`);if(Y(n.status))throw new J(j.InvalidParams,`Cannot cancel task in terminal status: ${n.status}`);await this._taskStore.updateTaskStatus(e.params.taskId,`cancelled`,`Client cancelled task execution.`,t.sessionId),this._clearTaskQueue(e.params.taskId);let r=await this._taskStore.getTask(e.params.taskId,t.sessionId);if(!r)throw new J(j.InvalidParams,`Task not found after cancellation: ${e.params.taskId}`);return{_meta:{},...r}}catch(e){throw e instanceof J?e:new J(j.InvalidRequest,`Failed to cancel task: ${e instanceof Error?e.message:String(e)}`)}}))}async _oncancel(e){e.params.requestId&&this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,t,n,r,i=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(r,t),startTime:Date.now(),timeout:t,maxTotalTimeout:n,resetTimeoutOnProgress:i,onTimeout:r})}_resetTimeout(e){let t=this._timeoutInfo.get(e);if(!t)return!1;let n=Date.now()-t.startTime;if(t.maxTotalTimeout&&n>=t.maxTotalTimeout)throw this._timeoutInfo.delete(e),J.fromError(j.RequestTimeout,`Maximum total timeout exceeded`,{maxTotalTimeout:t.maxTotalTimeout,totalElapsed:n});return clearTimeout(t.timeoutId),t.timeoutId=setTimeout(t.onTimeout,t.timeout),!0}_cleanupTimeout(e){let t=this._timeoutInfo.get(e);t&&(clearTimeout(t.timeoutId),this._timeoutInfo.delete(e))}async connect(e){if(this._transport)throw Error(`Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.`);this._transport=e;let t=this.transport?.onclose;this._transport.onclose=()=>{t?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=e=>{n?.(e),this._onerror(e)};let r=this._transport?.onmessage;this._transport.onmessage=(e,t)=>{r?.(e,t),A(e)||M(e)?this._onresponse(e):k(e)?this._onrequest(e,t):me(e)?this._onnotification(e):this._onerror(Error(`Unknown message type: ${JSON.stringify(e)}`))},await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let e of this._timeoutInfo.values())clearTimeout(e.timeoutId);this._timeoutInfo.clear();for(let e of this._requestHandlerAbortControllers.values())e.abort();this._requestHandlerAbortControllers.clear();let t=J.fromError(j.ConnectionClosed,`Connection closed`);this._transport=void 0,this.onclose?.();for(let n of e.values())n(t)}_onerror(e){this.onerror?.(e)}_onnotification(e){let t=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;t!==void 0&&Promise.resolve().then(()=>t(e)).catch(e=>this._onerror(Error(`Uncaught error in notification handler: ${e}`)))}_onrequest(e,t){let n=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,r=this._transport,i=e.params?._meta?.[b]?.taskId;if(n===void 0){let t={jsonrpc:`2.0`,id:e.id,error:{code:j.MethodNotFound,message:`Method not found`}};i&&this._taskMessageQueue?this._enqueueTaskMessage(i,{type:`error`,message:t,timestamp:Date.now()},r?.sessionId).catch(e=>this._onerror(Error(`Failed to enqueue error response: ${e}`))):r?.send(t).catch(e=>this._onerror(Error(`Failed to send an error response: ${e}`)));return}let a=new AbortController;this._requestHandlerAbortControllers.set(e.id,a);let o=de(e.params)?e.params.task:void 0,s=this._taskStore?this.requestTaskStore(e,r?.sessionId):void 0,c={signal:a.signal,sessionId:r?.sessionId,_meta:e.params?._meta,sendNotification:async t=>{if(a.signal.aborted)return;let n={relatedRequestId:e.id};i&&(n.relatedTask={taskId:i}),await this.notification(t,n)},sendRequest:async(t,n,r)=>{if(a.signal.aborted)throw new J(j.ConnectionClosed,`Request was cancelled`);let o={...r,relatedRequestId:e.id};i&&!o.relatedTask&&(o.relatedTask={taskId:i});let c=o.relatedTask?.taskId??i;return c&&s&&await s.updateTaskStatus(c,`input_required`),await this.request(t,n,o)},authInfo:t?.authInfo,requestId:e.id,requestInfo:t?.requestInfo,taskId:i,taskStore:s,taskRequestedTtl:o?.ttl,closeSSEStream:t?.closeSSEStream,closeStandaloneSSEStream:t?.closeStandaloneSSEStream};Promise.resolve().then(()=>{o&&this.assertTaskHandlerCapability(e.method)}).then(()=>n(e,c)).then(async t=>{if(a.signal.aborted)return;let n={result:t,jsonrpc:`2.0`,id:e.id};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:`response`,message:n,timestamp:Date.now()},r?.sessionId):await r?.send(n)},async t=>{if(a.signal.aborted)return;let n={jsonrpc:`2.0`,id:e.id,error:{code:Number.isSafeInteger(t.code)?t.code:j.InternalError,message:t.message??`Internal error`,...t.data!==void 0&&{data:t.data}}};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:`error`,message:n,timestamp:Date.now()},r?.sessionId):await r?.send(n)}).catch(e=>this._onerror(Error(`Failed to send response: ${e}`))).finally(()=>{this._requestHandlerAbortControllers.get(e.id)===a&&this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:t,...n}=e.params,r=Number(t),i=this._progressHandlers.get(r);if(!i){this._onerror(Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let a=this._responseHandlers.get(r),o=this._timeoutInfo.get(r);if(o&&a&&o.resetTimeoutOnProgress)try{this._resetTimeout(r)}catch(e){this._responseHandlers.delete(r),this._progressHandlers.delete(r),this._cleanupTimeout(r),a(e);return}i(n)}_onresponse(e){let t=Number(e.id),n=this._requestResolvers.get(t);if(n){this._requestResolvers.delete(t),A(e)?n(e):n(new J(e.error.code,e.error.message,e.error.data));return}let r=this._responseHandlers.get(t);if(r===void 0){this._onerror(Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(t),this._cleanupTimeout(t);let i=!1;if(A(e)&&e.result&&typeof e.result==`object`){let n=e.result;if(n.task&&typeof n.task==`object`){let e=n.task;typeof e.taskId==`string`&&(i=!0,this._taskProgressTokens.set(e.taskId,t))}}i||this._progressHandlers.delete(t),A(e)?r(e):r(J.fromError(e.error.code,e.error.message,e.error.data))}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,t,n){let{task:r}=n??{};if(!r){try{yield{type:`result`,result:await this.request(e,t,n)}}catch(e){yield{type:`error`,error:e instanceof J?e:new J(j.InternalError,String(e))}}return}let i;try{let r=await this.request(e,z,n);if(r.task)i=r.task.taskId,yield{type:`taskCreated`,task:r.task};else throw new J(j.InternalError,`Task creation did not return a task`);for(;;){let e=await this.getTask({taskId:i},n);if(yield{type:`taskStatus`,task:e},Y(e.status)){e.status===`completed`?yield{type:`result`,result:await this.getTaskResult({taskId:i},t,n)}:e.status===`failed`?yield{type:`error`,error:new J(j.InternalError,`Task ${i} failed`)}:e.status===`cancelled`&&(yield{type:`error`,error:new J(j.InternalError,`Task ${i} was cancelled`)});return}if(e.status===`input_required`){yield{type:`result`,result:await this.getTaskResult({taskId:i},t,n)};return}let r=e.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(e=>setTimeout(e,r)),n?.signal?.throwIfAborted()}}catch(e){yield{type:`error`,error:e instanceof J?e:new J(j.InternalError,String(e))}}}request(e,t,n){let{relatedRequestId:r,resumptionToken:i,onresumptiontoken:a,task:o,relatedTask:s}=n??{};return new Promise((c,l)=>{let u=e=>{l(e)};if(!this._transport){u(Error(`Not connected`));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),o&&this.assertTaskCapability(e.method)}catch(e){u(e);return}n?.signal?.throwIfAborted();let d=this._requestMessageId++,f={...e,jsonrpc:`2.0`,id:d};n?.onprogress&&(this._progressHandlers.set(d,n.onprogress),f.params={...e.params,_meta:{...e.params?._meta||{},progressToken:d}}),o&&(f.params={...f.params,task:o}),s&&(f.params={...f.params,_meta:{...f.params?._meta||{},[b]:s}});let p=e=>{this._responseHandlers.delete(d),this._progressHandlers.delete(d),this._cleanupTimeout(d),this._transport?.send({jsonrpc:`2.0`,method:`notifications/cancelled`,params:{requestId:d,reason:String(e)}},{relatedRequestId:r,resumptionToken:i,onresumptiontoken:a}).catch(e=>this._onerror(Error(`Failed to send cancellation: ${e}`))),l(e instanceof J?e:new J(j.RequestTimeout,String(e)))};this._responseHandlers.set(d,e=>{if(!n?.signal?.aborted){if(e instanceof Error)return l(e);try{let n=v(t,e.result);n.success?c(n.data):l(n.error)}catch(e){l(e)}}}),n?.signal?.addEventListener(`abort`,()=>{p(n?.signal?.reason)});let m=n?.timeout??6e4;this._setupTimeout(d,m,n?.maxTotalTimeout,()=>p(J.fromError(j.RequestTimeout,`Request timed out`,{timeout:m})),n?.resetTimeoutOnProgress??!1);let h=s?.taskId;h?(this._requestResolvers.set(d,e=>{let t=this._responseHandlers.get(d);t?t(e):this._onerror(Error(`Response handler missing for side-channeled request ${d}`))}),this._enqueueTaskMessage(h,{type:`request`,message:f,timestamp:Date.now()}).catch(e=>{this._cleanupTimeout(d),l(e)})):this._transport.send(f,{relatedRequestId:r,resumptionToken:i,onresumptiontoken:a}).catch(e=>{this._cleanupTimeout(d),l(e)})})}async getTask(e,t){return this.request({method:`tasks/get`,params:e},Ve,t)}async getTaskResult(e,t,n){return this.request({method:`tasks/result`,params:e},t,n)}async listTasks(e,t){return this.request({method:`tasks/list`,params:e},We,t)}async cancelTask(e,t){return this.request({method:`tasks/cancel`,params:e},Ke,t)}async notification(e,t){if(!this._transport)throw Error(`Not connected`);this.assertNotificationCapability(e.method);let n=t?.relatedTask?.taskId;if(n){let r={...e,jsonrpc:`2.0`,params:{...e.params,_meta:{...e.params?._meta||{},[b]:t.relatedTask}}};await this._enqueueTaskMessage(n,{type:`notification`,message:r,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!t?.relatedRequestId&&!t?.relatedTask){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let n={...e,jsonrpc:`2.0`};t?.relatedTask&&(n={...n,params:{...n.params,_meta:{...n.params?._meta||{},[b]:t.relatedTask}}}),this._transport?.send(n,t).catch(e=>this._onerror(e))});return}let r={...e,jsonrpc:`2.0`};t?.relatedTask&&(r={...r,params:{...r.params,_meta:{...r.params?._meta||{},[b]:t.relatedTask}}}),await this._transport.send(r,t)}setRequestHandler(e,t){let n=Dn(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(n,r)=>{let i=On(e,n);return Promise.resolve(t(i,r))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,t){let n=Dn(e);this._notificationHandlers.set(n,n=>{let r=On(e,n);return Promise.resolve(t(r))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){let t=this._taskProgressTokens.get(e);t!==void 0&&(this._progressHandlers.delete(t),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,t,n){if(!this._taskStore||!this._taskMessageQueue)throw Error(`Cannot enqueue task message: taskStore and taskMessageQueue are not configured`);let r=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,t,n,r)}async _clearTaskQueue(e,t){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(e,t);for(let t of n)if(t.type===`request`&&k(t.message)){let n=t.message.id,r=this._requestResolvers.get(n);r?(r(new J(j.InternalError,`Task cancelled or completed`)),this._requestResolvers.delete(n)):this._onerror(Error(`Resolver missing for request ${n} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,t){let n=this._options?.defaultTaskPollInterval??1e3;try{let t=await this._taskStore?.getTask(e);t?.pollInterval&&(n=t.pollInterval)}catch{}return new Promise((e,r)=>{if(t.aborted){r(new J(j.InvalidRequest,`Request cancelled`));return}let i=setTimeout(e,n);t.addEventListener(`abort`,()=>{clearTimeout(i),r(new J(j.InvalidRequest,`Request cancelled`))},{once:!0})})}requestTaskStore(e,t){let n=this._taskStore;if(!n)throw Error(`No task store configured`);return{createTask:async r=>{if(!e)throw Error(`No request provided`);return await n.createTask(r,e.id,{method:e.method,params:e.params},t)},getTask:async e=>{let r=await n.getTask(e,t);if(!r)throw new J(j.InvalidParams,`Failed to retrieve task: Task not found`);return r},storeTaskResult:async(e,r,i)=>{await n.storeTaskResult(e,r,i,t);let a=await n.getTask(e,t);if(a){let t=B.parse({method:`notifications/tasks/status`,params:a});await this.notification(t),Y(a.status)&&this._cleanupTaskProgressHandler(e)}},getTaskResult:e=>n.getTaskResult(e,t),updateTaskStatus:async(e,r,i)=>{let a=await n.getTask(e,t);if(!a)throw new J(j.InvalidParams,`Task "${e}" not found - it may have been cleaned up`);if(Y(a.status))throw new J(j.InvalidParams,`Cannot update task "${e}" from terminal status "${a.status}" to "${r}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(e,r,i,t);let o=await n.getTask(e,t);if(o){let t=B.parse({method:`notifications/tasks/status`,params:o});await this.notification(t),Y(o.status)&&this._cleanupTaskProgressHandler(e)}},listTasks:e=>n.listTasks(e,t)}}};function An(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function jn(e,t){let n={...e};for(let e in t){let r=e,i=t[r];if(i===void 0)continue;let a=n[r];An(a)&&An(i)?n[r]={...a,...i}:n[r]=i}return n}var Mn=e(t(),1),Nn=e(n(),1);function Pn(){let e=new Mn.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,Nn.default)(e),e}var Fn=class{constructor(e){this._ajv=e??Pn()}getValidator(e){let t=`$id`in e&&typeof e.$id==`string`?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return e=>t(e)?{valid:!0,data:e,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(t.errors)}}},In=class{constructor(e){this._server=e}requestStream(e,t,n){return this._server.requestStream(e,t,n)}createMessageStream(e,t){let n=this._server.getClientCapabilities();if((e.tools||e.toolChoice)&&!n?.sampling?.tools)throw Error(`Client does not support sampling tools capability.`);if(e.messages.length>0){let t=e.messages[e.messages.length-1],n=Array.isArray(t.content)?t.content:[t.content],r=n.some(e=>e.type===`tool_result`),i=e.messages.length>1?e.messages[e.messages.length-2]:void 0,a=i?Array.isArray(i.content)?i.content:[i.content]:[],o=a.some(e=>e.type===`tool_use`);if(r){if(n.some(e=>e.type!==`tool_result`))throw Error(`The last message must contain only tool_result content if any is present`);if(!o)throw Error(`tool_result blocks are not matching any tool_use from the previous message`)}if(o){let e=new Set(a.filter(e=>e.type===`tool_use`).map(e=>e.id)),t=new Set(n.filter(e=>e.type===`tool_result`).map(e=>e.toolUseId));if(e.size!==t.size||![...e].every(e=>t.has(e)))throw Error(`ids of tool_result blocks and tool_use blocks from previous message do not match`)}}return this.requestStream({method:`sampling/createMessage`,params:e},K,t)}elicitInputStream(e,t){let n=this._server.getClientCapabilities(),r=e.mode??`form`;switch(r){case`url`:if(!n?.elicitation?.url)throw Error(`Client does not support url elicitation.`);break;case`form`:if(!n?.elicitation?.form)throw Error(`Client does not support form elicitation.`);break}let i=r===`form`&&e.mode===void 0?{...e,mode:`form`}:e;return this.requestStream({method:`elicitation/create`,params:i},q,t)}async getTask(e,t){return this._server.getTask({taskId:e},t)}async getTaskResult(e,t,n){return this._server.getTaskResult({taskId:e},t,n)}async listTasks(e,t){return this._server.listTasks(e?{cursor:e}:void 0,t)}async cancelTask(e,t){return this._server.cancelTask({taskId:e},t)}};function Ln(e,t,n){if(!e)throw Error(`${n} does not support task creation (required for ${t})`);switch(t){case`tools/call`:if(!e.tools?.call)throw Error(`${n} does not support task creation for tools/call (required for ${t})`);break;default:break}}function Rn(e,t,n){if(!e)throw Error(`${n} does not support task creation (required for ${t})`);switch(t){case`sampling/createMessage`:if(!e.sampling?.createMessage)throw Error(`${n} does not support task creation for sampling/createMessage (required for ${t})`);break;case`elicitation/create`:if(!e.elicitation?.create)throw Error(`${n} does not support task creation for elicitation/create (required for ${t})`);break;default:break}}var zn=class extends kn{constructor(e,t){super(t),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(W.options.map((e,t)=>[e,t])),this.isMessageIgnored=(e,t)=>{let n=this._loggingLevels.get(t);return n?this.LOG_LEVEL_SEVERITY.get(e)<this.LOG_LEVEL_SEVERITY.get(n):!1},this._capabilities=t?.capabilities??{},this._instructions=t?.instructions,this._jsonSchemaValidator=t?.jsonSchemaValidator??new Fn,this.setRequestHandler(Oe,e=>this._oninitialize(e)),this.setNotificationHandler(Me,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(Bt,async(e,t)=>{let n=t.sessionId||t.requestInfo?.headers[`mcp-session-id`]||void 0,{level:r}=e.params,i=W.safeParse(r);return i.success&&this._loggingLevels.set(n,i.data),{}})}get experimental(){return this._experimental||={tasks:new In(this)},this._experimental}registerCapabilities(e){if(this.transport)throw Error(`Cannot register capabilities after connecting to transport`);this._capabilities=jn(this._capabilities,e)}setRequestHandler(e,t){let n=re(e)?.method;if(!n)throw Error(`Schema is missing a method literal`);let r;if(_(n)){let e=n;r=e._zod?.def?.value??e.value}else{let e=n;r=e._def?.value??e.value}if(typeof r!=`string`)throw Error(`Schema method literal must be a string`);return r===`tools/call`?super.setRequestHandler(e,async(e,n)=>{let r=v(It,e);if(!r.success){let e=r.error instanceof Error?r.error.message:String(r.error);throw new J(j.InvalidParams,`Invalid tools/call request: ${e}`)}let{params:i}=r.data,a=await Promise.resolve(t(e,n));if(i.task){let e=v(z,a);if(!e.success){let t=e.error instanceof Error?e.error.message:String(e.error);throw new J(j.InvalidParams,`Invalid task creation result: ${t}`)}return e.data}let o=v(U,a);if(!o.success){let e=o.error instanceof Error?o.error.message:String(o.error);throw new J(j.InvalidParams,`Invalid tools/call result: ${e}`)}return o.data}):super.setRequestHandler(e,t)}assertCapabilityForMethod(e){switch(e){case`sampling/createMessage`:if(!this._clientCapabilities?.sampling)throw Error(`Client does not support sampling (required for ${e})`);break;case`elicitation/create`:if(!this._clientCapabilities?.elicitation)throw Error(`Client does not support elicitation (required for ${e})`);break;case`roots/list`:if(!this._clientCapabilities?.roots)throw Error(`Client does not support listing roots (required for ${e})`);break;case`ping`:break}}assertNotificationCapability(e){switch(e){case`notifications/message`:if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${e})`);break;case`notifications/resources/updated`:case`notifications/resources/list_changed`:if(!this._capabilities.resources)throw Error(`Server does not support notifying about resources (required for ${e})`);break;case`notifications/tools/list_changed`:if(!this._capabilities.tools)throw Error(`Server does not support notifying of tool list changes (required for ${e})`);break;case`notifications/prompts/list_changed`:if(!this._capabilities.prompts)throw Error(`Server does not support notifying of prompt list changes (required for ${e})`);break;case`notifications/elicitation/complete`:if(!this._clientCapabilities?.elicitation?.url)throw Error(`Client does not support URL elicitation (required for ${e})`);break;case`notifications/cancelled`:break;case`notifications/progress`:break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case`completion/complete`:if(!this._capabilities.completions)throw Error(`Server does not support completions (required for ${e})`);break;case`logging/setLevel`:if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${e})`);break;case`prompts/get`:case`prompts/list`:if(!this._capabilities.prompts)throw Error(`Server does not support prompts (required for ${e})`);break;case`resources/list`:case`resources/templates/list`:case`resources/read`:if(!this._capabilities.resources)throw Error(`Server does not support resources (required for ${e})`);break;case`tools/call`:case`tools/list`:if(!this._capabilities.tools)throw Error(`Server does not support tools (required for ${e})`);break;case`tasks/get`:case`tasks/list`:case`tasks/result`:case`tasks/cancel`:if(!this._capabilities.tasks)throw Error(`Server does not support tasks capability (required for ${e})`);break;case`ping`:case`initialize`:break}}assertTaskCapability(e){Rn(this._clientCapabilities?.tasks?.requests,e,`Client`)}assertTaskHandlerCapability(e){this._capabilities&&Ln(this._capabilities.tasks?.requests,e,`Server`)}async _oninitialize(e){let t=e.params.protocolVersion;return this._clientCapabilities=e.params.capabilities,this._clientVersion=e.params.clientInfo,{protocolVersion:y.includes(t)?t:ae,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:`ping`},N)}async createMessage(e,t){if((e.tools||e.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw Error(`Client does not support sampling tools capability.`);if(e.messages.length>0){let t=e.messages[e.messages.length-1],n=Array.isArray(t.content)?t.content:[t.content],r=n.some(e=>e.type===`tool_result`),i=e.messages.length>1?e.messages[e.messages.length-2]:void 0,a=i?Array.isArray(i.content)?i.content:[i.content]:[],o=a.some(e=>e.type===`tool_use`);if(r){if(n.some(e=>e.type!==`tool_result`))throw Error(`The last message must contain only tool_result content if any is present`);if(!o)throw Error(`tool_result blocks are not matching any tool_use from the previous message`)}if(o){let e=new Set(a.filter(e=>e.type===`tool_use`).map(e=>e.id)),t=new Set(n.filter(e=>e.type===`tool_result`).map(e=>e.toolUseId));if(e.size!==t.size||![...e].every(e=>t.has(e)))throw Error(`ids of tool_result blocks and tool_use blocks from previous message do not match`)}}return e.tools?this.request({method:`sampling/createMessage`,params:e},Zt,t):this.request({method:`sampling/createMessage`,params:e},K,t)}async elicitInput(e,t){switch(e.mode??`form`){case`url`:{if(!this._clientCapabilities?.elicitation?.url)throw Error(`Client does not support url elicitation.`);let n=e;return this.request({method:`elicitation/create`,params:n},q,t)}case`form`:{if(!this._clientCapabilities?.elicitation?.form)throw Error(`Client does not support form elicitation.`);let n=e.mode===`form`?e:{...e,mode:`form`},r=await this.request({method:`elicitation/create`,params:n},q,t);if(r.action===`accept`&&r.content&&n.requestedSchema)try{let e=this._jsonSchemaValidator.getValidator(n.requestedSchema)(r.content);if(!e.valid)throw new J(j.InvalidParams,`Elicitation response content does not match requested schema: ${e.errorMessage}`)}catch(e){throw e instanceof J?e:new J(j.InternalError,`Error validating elicitation response: ${e instanceof Error?e.message:String(e)}`)}return r}}}createElicitationCompletionNotifier(e,t){if(!this._clientCapabilities?.elicitation?.url)throw Error(`Client does not support URL elicitation (required for notifications/elicitation/complete)`);return()=>this.notification({method:`notifications/elicitation/complete`,params:{elicitationId:e}},t)}async listRoots(e,t){return this.request({method:`roots/list`,params:e},wn,t)}async sendLoggingMessage(e,t){if(this._capabilities.logging&&!this.isMessageIgnored(e.level,t))return this.notification({method:`notifications/message`,params:e})}async sendResourceUpdated(e){return this.notification({method:`notifications/resources/updated`,params:e})}async sendResourceListChanged(){return this.notification({method:`notifications/resources/list_changed`})}async sendToolListChanged(){return this.notification({method:`notifications/tools/list_changed`})}async sendPromptListChanged(){return this.notification({method:`notifications/prompts/list_changed`})}};const Bn=`approve`;function Vn(){return{name:Bn,description:`Permission prompt handler - approves or denies tool usage requests`,inputSchema:{type:`object`,properties:{tool_name:{type:`string`},input:{type:`object`,additionalProperties:!0},tool_use_id:{type:`string`}},required:[`tool_name`,`input`,`tool_use_id`]}}}function Hn(e){if(typeof e!=`object`||!e)return`Arguments must be an object`;let t=e;return typeof t.tool_name==`string`?typeof t.tool_use_id==`string`?typeof t.input!=`object`||t.input===null||Array.isArray(t.input)?`input must be an object`:{tool_name:t.tool_name,tool_use_id:t.tool_use_id,input:t.input}:`tool_use_id must be a string`:`tool_name must be a string`}async function Un(e,t,n,r){let i=e=>({content:[{type:`text`,text:JSON.stringify({behavior:`deny`,message:e})}]}),a=n?t.get(n):void 0;if(!a)return i(`No agent context found for this session`);let o=Hn(e??{});if(typeof o==`string`)return i(`Invalid approve tool arguments: ${o}`);let s;try{s=await r({toolName:o.tool_name,args:o.input,toolCallId:o.tool_use_id,agentId:a.agentId,adapterId:a.adapterId,adapterName:a.adapterName,adapterSessionId:a.adapterSessionId,sessionId:a.sessionId})}catch(e){return i(`Tool approval request failed: ${e instanceof Error?e.message:`Unknown error`}`)}return{content:[{type:`text`,text:JSON.stringify(s.action===`allow`?{behavior:`allow`,updatedInput:s.updatedInput??o.input}:{behavior:`deny`,message:s.message??`Denied by policy`})}]}}function Wn(e,t){let n=t[e.toolsetName];return n?`${n}.${e.name}`:e.name}async function Gn(e,t,n){let r=t?.pluginToolsets??{},i=t?.staticFallback??[],a=await e.requestOptional(s.list,{adapterId:n?.adapterId,adapterName:n?.adapterName}),o=a.handled?a.data.tools:i,c=t?.getExposedTools?t.getExposedTools(o):o,l=c.map(e=>Wn(e,r)),u=new Map;for(let e of l)u.set(e,(u.get(e)??0)+1);let d=new Map,f=[];for(let e=0;e<c.length;e++){let t=c[e],n=l[e],r=(u.get(n)??1)>1?`${t.toolsetName}.${t.name}`:n,i={mcpName:r,sourceToolName:t.name,toolsetName:t.toolsetName};if(d.has(r))throw Error(`Duplicate resolved MCP tool name: ${r}`);d.set(r,i),f.push(Kn(t,r))}return{tools:f,byMcpName:d}}function Kn(e,t){return{name:t,description:e.description,inputSchema:u(e.inputSchema),annotations:e.annotations}}function qn(e){let t=!1;return()=>{t||(t=!0,e?.())}}function Jn(e){let t;return()=>t??=e()}async function Yn(e,t,n,r){try{await e.connect(t)}catch(e){try{await n()}catch(t){throw AggregateError([e,t],`Failed to start and clean up ${r}`)}throw e}}async function Xn(e,t){let n=(await Promise.allSettled(e)).filter(e=>e.status===`rejected`).map(e=>e.reason instanceof Error?e.reason:Error(String(e.reason)));if(n.length>0)throw AggregateError(n,t)}function Zn(e){if(e!==void 0){if(!Number.isSafeInteger(e)||e<=0||e>18e5)throw RangeError(`toolExecutionTimeoutMs must be a positive safe integer no greater than 1800000`);return e}}function Qn(e,t){if(e!==void 0){if(!Number.isFinite(e)||e<=0)throw RangeError(`${t} must be a positive finite number of milliseconds`);return e}}const $n=2147483647;function er(e,t){let n=Qn(e,t);if(n!==void 0&&n>$n)throw RangeError(`${t} must be no greater than ${$n} milliseconds`);return n}const tr=`adapterSessionId`,X=`x-adapter-session-id`;function nr(e){return e.success?{content:[{type:`text`,text:JSON.stringify(e.data,null,2)}]}:{content:[{type:`text`,text:JSON.stringify(e.error,null,2)}],isError:!0}}function rr(e){let t=e.requestInfo?.headers[X];return Array.isArray(t)?t[0]:t}function ir(e,t){if(!e||!t)return;let n=t.get(e);if(n)return{adapterId:n.adapterId,adapterName:n.adapterName}}function ar(e,t){let n=qn(t.on(s.registryChanged,()=>{e.sendToolListChanged().catch(e=>{console.error(`[MCP Server] Failed to send tools/list_changed notification:`,e)})})),r=e.onclose;e.onclose=()=>{n(),r?.()};let i=e.close.bind(e);e.close=async()=>{try{await i()}finally{n()}}}function or(e,t){return{cwd:e?.cwd??process.cwd(),sessionId:e?.sessionId??t,env:e?.env,agentId:e?.agentId,adapterSessionId:e?.adapterSessionId,turnId:e?.turnId,reasoning:e?.reasoning,toolCallId:e?.toolCallId,turnContext:e?.turnContext,constraints:e?.constraints}}async function sr(e,t,n){let{contextRegistry:r,toolDiscovery:i,resolveContextOverrides:o}=n??{},c=Zn(n?.toolExecutionTimeoutMs),l=new zn({name:`makaio`,version:`1.0.0`},{capabilities:{tools:{listChanged:!0}}}),u=t=>e.request(a.toolApprove,t);return l.setRequestHandler(Nt,async(t,n)=>({tools:[...(await Gn(e,i,ir(rr(n),r))).tools,...r?[Vn()]:[]]})),l.setRequestHandler(It,async(n,a)=>{let l=rr(a);if(n.params.name===`approve`)return r?Un(n.params.arguments,r,l,u):{content:[{type:`text`,text:JSON.stringify({behavior:`deny`,message:`Permission prompt tool is not available in this server mode`})}]};let d=ir(l,r),f=(await Gn(e,i,d)).byMcpName.get(n.params.name);if(!f)throw new J(j.InvalidParams,`Tool ${n.params.name} not found`);let p=or(await o?.(l),t),m={toolName:f.sourceToolName,input:n.params.arguments??{},adapterId:d?.adapterId,adapterName:d?.adapterName,contextOverrides:p},h=c===void 0?await e.requestOptional(s.execute,m):await e.requestOptional(s.execute,m,{timeout:c});if(!h.handled)throw new J(j.InternalError,`Tool execution handler unavailable`);return nr(h.data)}),ar(l,e),l}var cr=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(`
1
+ import{o as e}from"../chunk-DTipWd-i.mjs";import{t}from"../ajv-Cvnmw2yn.mjs";import{t as n}from"../dist-onY7e-pd.mjs";import{t as r}from"../quick-lru-BgvUj18f.mjs";import{t as i}from"../cross-spawn-DIqCmSCD.mjs";import{AgentSubjects as a,McpSubjects as o,ToolSubjects as s}from"@makaio/framework/contracts";import{BaseService as c}from"@makaio/framework/service-base";import{ToolErrorCodes as l,ensureMcpObjectSchema as u,errorToToolResult as d,toolError as f,toolSuccess as p}from"@makaio/framework/tools";import m from"node:process";import{PassThrough as h}from"node:stream";import*as g from"zod/v4";import"zod/v3";import*as ee from"zod/v4-mini";import*as te from"node:http";import{getRequestListener as ne}from"@hono/node-server";function _(e){return!!e._zod}function v(e,t){return _(e)?ee.safeParse(e,t):e.safeParse(t)}function re(e){if(!e)return;let t;if(t=_(e)?e._zod?.def?.shape:e.shape,t){if(typeof t==`function`)try{return t()}catch{return}return t}}function ie(e){if(_(e)){let t=e._zod?.def;if(t){if(t.value!==void 0)return t.value;if(Array.isArray(t.values)&&t.values.length>0)return t.values[0]}}let t=e._def;if(t){if(t.value!==void 0)return t.value;if(Array.isArray(t.values)&&t.values.length>0)return t.values[0]}let n=e.value;if(n!==void 0)return n}const ae=`2025-11-25`,y=[ae,`2025-06-18`,`2025-03-26`,`2024-11-05`,`2024-10-07`],b=`io.modelcontextprotocol/related-task`,x=g.custom(e=>e!==null&&(typeof e==`object`||typeof e==`function`)),oe=g.union([g.string(),g.number().int()]),se=g.string();g.looseObject({ttl:g.number().optional(),pollInterval:g.number().optional()});const ce=g.object({ttl:g.number().optional()}),le=g.object({taskId:g.string()}),ue=g.looseObject({progressToken:oe.optional(),[b]:le.optional()}),S=g.object({_meta:ue.optional()}),C=S.extend({task:ce.optional()}),de=e=>C.safeParse(e).success,w=g.object({method:g.string(),params:S.loose().optional()}),T=g.object({_meta:ue.optional()}),E=g.object({method:g.string(),params:T.loose().optional()}),D=g.looseObject({_meta:ue.optional()}),O=g.union([g.string(),g.number().int()]),fe=g.object({jsonrpc:g.literal(`2.0`),id:O,...w.shape}).strict(),k=e=>fe.safeParse(e).success,pe=g.object({jsonrpc:g.literal(`2.0`),...E.shape}).strict(),me=e=>pe.safeParse(e).success,he=g.object({jsonrpc:g.literal(`2.0`),id:O,result:D}).strict(),A=e=>he.safeParse(e).success;var j;(function(e){e[e.ConnectionClosed=-32e3]=`ConnectionClosed`,e[e.RequestTimeout=-32001]=`RequestTimeout`,e[e.ParseError=-32700]=`ParseError`,e[e.InvalidRequest=-32600]=`InvalidRequest`,e[e.MethodNotFound=-32601]=`MethodNotFound`,e[e.InvalidParams=-32602]=`InvalidParams`,e[e.InternalError=-32603]=`InternalError`,e[e.UrlElicitationRequired=-32042]=`UrlElicitationRequired`})(j||={});const ge=g.object({jsonrpc:g.literal(`2.0`),id:O.optional(),error:g.object({code:g.number().int(),message:g.string(),data:g.unknown().optional()})}).strict(),M=e=>ge.safeParse(e).success,_e=g.union([fe,pe,he,ge]);g.union([he,ge]);const N=D.strict(),ve=T.extend({requestId:O.optional(),reason:g.string().optional()}),ye=E.extend({method:g.literal(`notifications/cancelled`),params:ve}),be=g.object({src:g.string(),mimeType:g.string().optional(),sizes:g.array(g.string()).optional(),theme:g.enum([`light`,`dark`]).optional()}),P=g.object({icons:g.array(be).optional()}),F=g.object({name:g.string(),title:g.string().optional()}),xe=F.extend({...F.shape,...P.shape,version:g.string(),websiteUrl:g.string().optional(),description:g.string().optional()}),Se=g.intersection(g.object({applyDefaults:g.boolean().optional()}),g.record(g.string(),g.unknown())),Ce=g.preprocess(e=>e&&typeof e==`object`&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,g.intersection(g.object({form:Se.optional(),url:x.optional()}),g.record(g.string(),g.unknown()).optional())),we=g.looseObject({list:x.optional(),cancel:x.optional(),requests:g.looseObject({sampling:g.looseObject({createMessage:x.optional()}).optional(),elicitation:g.looseObject({create:x.optional()}).optional()}).optional()}),Te=g.looseObject({list:x.optional(),cancel:x.optional(),requests:g.looseObject({tools:g.looseObject({call:x.optional()}).optional()}).optional()}),Ee=g.object({experimental:g.record(g.string(),x).optional(),sampling:g.object({context:x.optional(),tools:x.optional()}).optional(),elicitation:Ce.optional(),roots:g.object({listChanged:g.boolean().optional()}).optional(),tasks:we.optional(),extensions:g.record(g.string(),x).optional()}),De=S.extend({protocolVersion:g.string(),capabilities:Ee,clientInfo:xe}),Oe=w.extend({method:g.literal(`initialize`),params:De}),ke=e=>Oe.safeParse(e).success,Ae=g.object({experimental:g.record(g.string(),x).optional(),logging:x.optional(),completions:x.optional(),prompts:g.object({listChanged:g.boolean().optional()}).optional(),resources:g.object({subscribe:g.boolean().optional(),listChanged:g.boolean().optional()}).optional(),tools:g.object({listChanged:g.boolean().optional()}).optional(),tasks:Te.optional(),extensions:g.record(g.string(),x).optional()}),je=D.extend({protocolVersion:g.string(),capabilities:Ae,serverInfo:xe,instructions:g.string().optional()}),Me=E.extend({method:g.literal(`notifications/initialized`),params:T.optional()}),Ne=w.extend({method:g.literal(`ping`),params:S.optional()}),Pe=g.object({progress:g.number(),total:g.optional(g.number()),message:g.optional(g.string())}),Fe=g.object({...T.shape,...Pe.shape,progressToken:oe}),Ie=E.extend({method:g.literal(`notifications/progress`),params:Fe}),Le=S.extend({cursor:se.optional()}),I=w.extend({params:Le.optional()}),L=D.extend({nextCursor:se.optional()}),Re=g.enum([`working`,`input_required`,`completed`,`failed`,`cancelled`]),R=g.object({taskId:g.string(),status:Re,ttl:g.union([g.number(),g.null()]),createdAt:g.string(),lastUpdatedAt:g.string(),pollInterval:g.optional(g.number()),statusMessage:g.optional(g.string())}),z=D.extend({task:R}),ze=T.merge(R),B=E.extend({method:g.literal(`notifications/tasks/status`),params:ze}),Be=w.extend({method:g.literal(`tasks/get`),params:S.extend({taskId:g.string()})}),Ve=D.merge(R),He=w.extend({method:g.literal(`tasks/result`),params:S.extend({taskId:g.string()})});D.loose();const Ue=I.extend({method:g.literal(`tasks/list`)}),We=L.extend({tasks:g.array(R)}),Ge=w.extend({method:g.literal(`tasks/cancel`),params:S.extend({taskId:g.string()})}),Ke=D.merge(R),qe=g.object({uri:g.string(),mimeType:g.optional(g.string()),_meta:g.record(g.string(),g.unknown()).optional()}),Je=qe.extend({text:g.string()}),Ye=g.string().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:`Invalid Base64 string`}),Xe=qe.extend({blob:Ye}),V=g.enum([`user`,`assistant`]),H=g.object({audience:g.array(V).optional(),priority:g.number().min(0).max(1).optional(),lastModified:g.iso.datetime({offset:!0}).optional()}),Ze=g.object({...F.shape,...P.shape,uri:g.string(),description:g.optional(g.string()),mimeType:g.optional(g.string()),size:g.optional(g.number()),annotations:H.optional(),_meta:g.optional(g.looseObject({}))}),Qe=g.object({...F.shape,...P.shape,uriTemplate:g.string(),description:g.optional(g.string()),mimeType:g.optional(g.string()),annotations:H.optional(),_meta:g.optional(g.looseObject({}))}),$e=I.extend({method:g.literal(`resources/list`)}),et=L.extend({resources:g.array(Ze)}),tt=I.extend({method:g.literal(`resources/templates/list`)}),nt=L.extend({resourceTemplates:g.array(Qe)}),rt=S.extend({uri:g.string()}),it=rt,at=w.extend({method:g.literal(`resources/read`),params:it}),ot=D.extend({contents:g.array(g.union([Je,Xe]))}),st=E.extend({method:g.literal(`notifications/resources/list_changed`),params:T.optional()}),ct=rt,lt=w.extend({method:g.literal(`resources/subscribe`),params:ct}),ut=rt,dt=w.extend({method:g.literal(`resources/unsubscribe`),params:ut}),ft=T.extend({uri:g.string()}),pt=E.extend({method:g.literal(`notifications/resources/updated`),params:ft}),mt=g.object({name:g.string(),description:g.optional(g.string()),required:g.optional(g.boolean())}),ht=g.object({...F.shape,...P.shape,description:g.optional(g.string()),arguments:g.optional(g.array(mt)),_meta:g.optional(g.looseObject({}))}),gt=I.extend({method:g.literal(`prompts/list`)}),_t=L.extend({prompts:g.array(ht)}),vt=S.extend({name:g.string(),arguments:g.record(g.string(),g.string()).optional()}),yt=w.extend({method:g.literal(`prompts/get`),params:vt}),bt=g.object({type:g.literal(`text`),text:g.string(),annotations:H.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),xt=g.object({type:g.literal(`image`),data:Ye,mimeType:g.string(),annotations:H.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),St=g.object({type:g.literal(`audio`),data:Ye,mimeType:g.string(),annotations:H.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),Ct=g.object({type:g.literal(`tool_use`),name:g.string(),id:g.string(),input:g.record(g.string(),g.unknown()),_meta:g.record(g.string(),g.unknown()).optional()}),wt=g.object({type:g.literal(`resource`),resource:g.union([Je,Xe]),annotations:H.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),Tt=Ze.extend({type:g.literal(`resource_link`)}),Et=g.union([bt,xt,St,Tt,wt]),Dt=g.object({role:V,content:Et}),Ot=D.extend({description:g.string().optional(),messages:g.array(Dt)}),kt=E.extend({method:g.literal(`notifications/prompts/list_changed`),params:T.optional()}),At=g.object({title:g.string().optional(),readOnlyHint:g.boolean().optional(),destructiveHint:g.boolean().optional(),idempotentHint:g.boolean().optional(),openWorldHint:g.boolean().optional()}),jt=g.object({taskSupport:g.enum([`required`,`optional`,`forbidden`]).optional()}),Mt=g.object({...F.shape,...P.shape,description:g.string().optional(),inputSchema:g.object({type:g.literal(`object`),properties:g.record(g.string(),x).optional(),required:g.array(g.string()).optional()}).catchall(g.unknown()),outputSchema:g.object({type:g.literal(`object`),properties:g.record(g.string(),x).optional(),required:g.array(g.string()).optional()}).catchall(g.unknown()).optional(),annotations:At.optional(),execution:jt.optional(),_meta:g.record(g.string(),g.unknown()).optional()}),Nt=I.extend({method:g.literal(`tools/list`)}),Pt=L.extend({tools:g.array(Mt)}),U=D.extend({content:g.array(Et).default([]),structuredContent:g.record(g.string(),g.unknown()).optional(),isError:g.boolean().optional()});U.or(D.extend({toolResult:g.unknown()}));const Ft=C.extend({name:g.string(),arguments:g.record(g.string(),g.unknown()).optional()}),It=w.extend({method:g.literal(`tools/call`),params:Ft}),Lt=E.extend({method:g.literal(`notifications/tools/list_changed`),params:T.optional()}),Rt=g.object({autoRefresh:g.boolean().default(!0),debounceMs:g.number().int().nonnegative().default(300)}),W=g.enum([`debug`,`info`,`notice`,`warning`,`error`,`critical`,`alert`,`emergency`]),zt=S.extend({level:W}),Bt=w.extend({method:g.literal(`logging/setLevel`),params:zt}),Vt=T.extend({level:W,logger:g.string().optional(),data:g.unknown()}),Ht=E.extend({method:g.literal(`notifications/message`),params:Vt}),Ut=g.object({name:g.string().optional()}),Wt=g.object({hints:g.array(Ut).optional(),costPriority:g.number().min(0).max(1).optional(),speedPriority:g.number().min(0).max(1).optional(),intelligencePriority:g.number().min(0).max(1).optional()}),Gt=g.object({mode:g.enum([`auto`,`required`,`none`]).optional()}),Kt=g.object({type:g.literal(`tool_result`),toolUseId:g.string().describe(`The unique identifier for the corresponding tool call.`),content:g.array(Et).default([]),structuredContent:g.object({}).loose().optional(),isError:g.boolean().optional(),_meta:g.record(g.string(),g.unknown()).optional()}),qt=g.discriminatedUnion(`type`,[bt,xt,St]),G=g.discriminatedUnion(`type`,[bt,xt,St,Ct,Kt]),Jt=g.object({role:V,content:g.union([G,g.array(G)]),_meta:g.record(g.string(),g.unknown()).optional()}),Yt=C.extend({messages:g.array(Jt),modelPreferences:Wt.optional(),systemPrompt:g.string().optional(),includeContext:g.enum([`none`,`thisServer`,`allServers`]).optional(),temperature:g.number().optional(),maxTokens:g.number().int(),stopSequences:g.array(g.string()).optional(),metadata:x.optional(),tools:g.array(Mt).optional(),toolChoice:Gt.optional()}),Xt=w.extend({method:g.literal(`sampling/createMessage`),params:Yt}),K=D.extend({model:g.string(),stopReason:g.optional(g.enum([`endTurn`,`stopSequence`,`maxTokens`]).or(g.string())),role:V,content:qt}),Zt=D.extend({model:g.string(),stopReason:g.optional(g.enum([`endTurn`,`stopSequence`,`maxTokens`,`toolUse`]).or(g.string())),role:V,content:g.union([G,g.array(G)])}),Qt=g.object({type:g.literal(`boolean`),title:g.string().optional(),description:g.string().optional(),default:g.boolean().optional()}),$t=g.object({type:g.literal(`string`),title:g.string().optional(),description:g.string().optional(),minLength:g.number().optional(),maxLength:g.number().optional(),format:g.enum([`email`,`uri`,`date`,`date-time`]).optional(),default:g.string().optional()}),en=g.object({type:g.enum([`number`,`integer`]),title:g.string().optional(),description:g.string().optional(),minimum:g.number().optional(),maximum:g.number().optional(),default:g.number().optional()}),tn=g.object({type:g.literal(`string`),title:g.string().optional(),description:g.string().optional(),enum:g.array(g.string()),default:g.string().optional()}),nn=g.object({type:g.literal(`string`),title:g.string().optional(),description:g.string().optional(),oneOf:g.array(g.object({const:g.string(),title:g.string()})),default:g.string().optional()}),rn=g.object({type:g.literal(`string`),title:g.string().optional(),description:g.string().optional(),enum:g.array(g.string()),enumNames:g.array(g.string()).optional(),default:g.string().optional()}),an=g.union([tn,nn]),on=g.object({type:g.literal(`array`),title:g.string().optional(),description:g.string().optional(),minItems:g.number().optional(),maxItems:g.number().optional(),items:g.object({type:g.literal(`string`),enum:g.array(g.string())}),default:g.array(g.string()).optional()}),sn=g.object({type:g.literal(`array`),title:g.string().optional(),description:g.string().optional(),minItems:g.number().optional(),maxItems:g.number().optional(),items:g.object({anyOf:g.array(g.object({const:g.string(),title:g.string()}))}),default:g.array(g.string()).optional()}),cn=g.union([on,sn]),ln=g.union([rn,an,cn]),un=g.union([ln,Qt,$t,en]),dn=C.extend({mode:g.literal(`form`).optional(),message:g.string(),requestedSchema:g.object({type:g.literal(`object`),properties:g.record(g.string(),un),required:g.array(g.string()).optional()})}),fn=C.extend({mode:g.literal(`url`),message:g.string(),elicitationId:g.string(),url:g.string().url()}),pn=g.union([dn,fn]),mn=w.extend({method:g.literal(`elicitation/create`),params:pn}),hn=T.extend({elicitationId:g.string()}),gn=E.extend({method:g.literal(`notifications/elicitation/complete`),params:hn}),q=D.extend({action:g.enum([`accept`,`decline`,`cancel`]),content:g.preprocess(e=>e===null?void 0:e,g.record(g.string(),g.union([g.string(),g.number(),g.boolean(),g.array(g.string())])).optional())}),_n=g.object({type:g.literal(`ref/resource`),uri:g.string()}),vn=g.object({type:g.literal(`ref/prompt`),name:g.string()}),yn=S.extend({ref:g.union([vn,_n]),argument:g.object({name:g.string(),value:g.string()}),context:g.object({arguments:g.record(g.string(),g.string()).optional()}).optional()}),bn=w.extend({method:g.literal(`completion/complete`),params:yn}),xn=D.extend({completion:g.looseObject({values:g.array(g.string()).max(100),total:g.optional(g.number().int()),hasMore:g.optional(g.boolean())})}),Sn=g.object({uri:g.string().startsWith(`file://`),name:g.string().optional(),_meta:g.record(g.string(),g.unknown()).optional()}),Cn=w.extend({method:g.literal(`roots/list`),params:S.optional()}),wn=D.extend({roots:g.array(Sn)}),Tn=E.extend({method:g.literal(`notifications/roots/list_changed`),params:T.optional()});g.union([Ne,Oe,bn,Bt,yt,gt,$e,tt,at,lt,dt,It,Nt,Be,He,Ue,Ge]),g.union([ye,Ie,Me,Tn,B]),g.union([N,K,Zt,q,wn,Ve,We,z]),g.union([Ne,Xt,mn,Cn,Be,He,Ue,Ge]),g.union([ye,Ie,Ht,pt,st,Lt,kt,B,gn]),g.union([N,je,xn,Ot,_t,et,nt,ot,U,Pt,Ve,We,z]);var J=class e extends Error{constructor(e,t,n){super(`MCP error ${e}: ${t}`),this.code=e,this.data=n,this.name=`McpError`}static fromError(t,n,r){if(t===j.UrlElicitationRequired&&r){let e=r;if(e.elicitations)return new En(e.elicitations,n)}return new e(t,n,r)}},En=class extends J{constructor(e,t=`URL elicitation${e.length>1?`s`:``} required`){super(j.UrlElicitationRequired,t,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function Y(e){return e===`completed`||e===`failed`||e===`cancelled`}function Dn(e){let t=re(e)?.method;if(!t)throw Error(`Schema is missing a method literal`);let n=ie(t);if(typeof n!=`string`)throw Error(`Schema method literal must be a string`);return n}function On(e,t){let n=v(e,t);if(!n.success)throw n.error;return n.data}var kn=class{constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(ye,e=>{this._oncancel(e)}),this.setNotificationHandler(Ie,e=>{this._onprogress(e)}),this.setRequestHandler(Ne,e=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(Be,async(e,t)=>{let n=await this._taskStore.getTask(e.params.taskId,t.sessionId);if(!n)throw new J(j.InvalidParams,`Failed to retrieve task: Task not found`);return{...n}}),this.setRequestHandler(He,async(e,t)=>{let n=async()=>{let r=e.params.taskId;if(this._taskMessageQueue){let e;for(;e=await this._taskMessageQueue.dequeue(r,t.sessionId);){if(e.type===`response`||e.type===`error`){let t=e.message,n=t.id,r=this._requestResolvers.get(n);if(r)if(this._requestResolvers.delete(n),e.type===`response`)r(t);else{let e=t;r(new J(e.error.code,e.error.message,e.error.data))}else{let t=e.type===`response`?`Response`:`Error`;this._onerror(Error(`${t} handler missing for request ${n}`))}continue}await this._transport?.send(e.message,{relatedRequestId:t.requestId})}}let i=await this._taskStore.getTask(r,t.sessionId);if(!i)throw new J(j.InvalidParams,`Task not found: ${r}`);if(!Y(i.status))return await this._waitForTaskUpdate(r,t.signal),await n();if(Y(i.status)){let e=await this._taskStore.getTaskResult(r,t.sessionId);return this._clearTaskQueue(r),{...e,_meta:{...e._meta,[b]:{taskId:r}}}}return await n()};return await n()}),this.setRequestHandler(Ue,async(e,t)=>{try{let{tasks:n,nextCursor:r}=await this._taskStore.listTasks(e.params?.cursor,t.sessionId);return{tasks:n,nextCursor:r,_meta:{}}}catch(e){throw new J(j.InvalidParams,`Failed to list tasks: ${e instanceof Error?e.message:String(e)}`)}}),this.setRequestHandler(Ge,async(e,t)=>{try{let n=await this._taskStore.getTask(e.params.taskId,t.sessionId);if(!n)throw new J(j.InvalidParams,`Task not found: ${e.params.taskId}`);if(Y(n.status))throw new J(j.InvalidParams,`Cannot cancel task in terminal status: ${n.status}`);await this._taskStore.updateTaskStatus(e.params.taskId,`cancelled`,`Client cancelled task execution.`,t.sessionId),this._clearTaskQueue(e.params.taskId);let r=await this._taskStore.getTask(e.params.taskId,t.sessionId);if(!r)throw new J(j.InvalidParams,`Task not found after cancellation: ${e.params.taskId}`);return{_meta:{},...r}}catch(e){throw e instanceof J?e:new J(j.InvalidRequest,`Failed to cancel task: ${e instanceof Error?e.message:String(e)}`)}}))}async _oncancel(e){e.params.requestId&&this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,t,n,r,i=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(r,t),startTime:Date.now(),timeout:t,maxTotalTimeout:n,resetTimeoutOnProgress:i,onTimeout:r})}_resetTimeout(e){let t=this._timeoutInfo.get(e);if(!t)return!1;let n=Date.now()-t.startTime;if(t.maxTotalTimeout&&n>=t.maxTotalTimeout)throw this._timeoutInfo.delete(e),J.fromError(j.RequestTimeout,`Maximum total timeout exceeded`,{maxTotalTimeout:t.maxTotalTimeout,totalElapsed:n});return clearTimeout(t.timeoutId),t.timeoutId=setTimeout(t.onTimeout,t.timeout),!0}_cleanupTimeout(e){let t=this._timeoutInfo.get(e);t&&(clearTimeout(t.timeoutId),this._timeoutInfo.delete(e))}async connect(e){if(this._transport)throw Error(`Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.`);this._transport=e;let t=this.transport?.onclose;this._transport.onclose=()=>{t?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=e=>{n?.(e),this._onerror(e)};let r=this._transport?.onmessage;this._transport.onmessage=(e,t)=>{r?.(e,t),A(e)||M(e)?this._onresponse(e):k(e)?this._onrequest(e,t):me(e)?this._onnotification(e):this._onerror(Error(`Unknown message type: ${JSON.stringify(e)}`))},await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let e of this._timeoutInfo.values())clearTimeout(e.timeoutId);this._timeoutInfo.clear();for(let e of this._requestHandlerAbortControllers.values())e.abort();this._requestHandlerAbortControllers.clear();let t=J.fromError(j.ConnectionClosed,`Connection closed`);this._transport=void 0,this.onclose?.();for(let n of e.values())n(t)}_onerror(e){this.onerror?.(e)}_onnotification(e){let t=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;t!==void 0&&Promise.resolve().then(()=>t(e)).catch(e=>this._onerror(Error(`Uncaught error in notification handler: ${e}`)))}_onrequest(e,t){let n=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,r=this._transport,i=e.params?._meta?.[b]?.taskId;if(n===void 0){let t={jsonrpc:`2.0`,id:e.id,error:{code:j.MethodNotFound,message:`Method not found`}};i&&this._taskMessageQueue?this._enqueueTaskMessage(i,{type:`error`,message:t,timestamp:Date.now()},r?.sessionId).catch(e=>this._onerror(Error(`Failed to enqueue error response: ${e}`))):r?.send(t).catch(e=>this._onerror(Error(`Failed to send an error response: ${e}`)));return}let a=new AbortController;this._requestHandlerAbortControllers.set(e.id,a);let o=de(e.params)?e.params.task:void 0,s=this._taskStore?this.requestTaskStore(e,r?.sessionId):void 0,c={signal:a.signal,sessionId:r?.sessionId,_meta:e.params?._meta,sendNotification:async t=>{if(a.signal.aborted)return;let n={relatedRequestId:e.id};i&&(n.relatedTask={taskId:i}),await this.notification(t,n)},sendRequest:async(t,n,r)=>{if(a.signal.aborted)throw new J(j.ConnectionClosed,`Request was cancelled`);let o={...r,relatedRequestId:e.id};i&&!o.relatedTask&&(o.relatedTask={taskId:i});let c=o.relatedTask?.taskId??i;return c&&s&&await s.updateTaskStatus(c,`input_required`),await this.request(t,n,o)},authInfo:t?.authInfo,requestId:e.id,requestInfo:t?.requestInfo,taskId:i,taskStore:s,taskRequestedTtl:o?.ttl,closeSSEStream:t?.closeSSEStream,closeStandaloneSSEStream:t?.closeStandaloneSSEStream};Promise.resolve().then(()=>{o&&this.assertTaskHandlerCapability(e.method)}).then(()=>n(e,c)).then(async t=>{if(a.signal.aborted)return;let n={result:t,jsonrpc:`2.0`,id:e.id};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:`response`,message:n,timestamp:Date.now()},r?.sessionId):await r?.send(n)},async t=>{if(a.signal.aborted)return;let n={jsonrpc:`2.0`,id:e.id,error:{code:Number.isSafeInteger(t.code)?t.code:j.InternalError,message:t.message??`Internal error`,...t.data!==void 0&&{data:t.data}}};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:`error`,message:n,timestamp:Date.now()},r?.sessionId):await r?.send(n)}).catch(e=>this._onerror(Error(`Failed to send response: ${e}`))).finally(()=>{this._requestHandlerAbortControllers.get(e.id)===a&&this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:t,...n}=e.params,r=Number(t),i=this._progressHandlers.get(r);if(!i){this._onerror(Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let a=this._responseHandlers.get(r),o=this._timeoutInfo.get(r);if(o&&a&&o.resetTimeoutOnProgress)try{this._resetTimeout(r)}catch(e){this._responseHandlers.delete(r),this._progressHandlers.delete(r),this._cleanupTimeout(r),a(e);return}i(n)}_onresponse(e){let t=Number(e.id),n=this._requestResolvers.get(t);if(n){this._requestResolvers.delete(t),A(e)?n(e):n(new J(e.error.code,e.error.message,e.error.data));return}let r=this._responseHandlers.get(t);if(r===void 0){this._onerror(Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(t),this._cleanupTimeout(t);let i=!1;if(A(e)&&e.result&&typeof e.result==`object`){let n=e.result;if(n.task&&typeof n.task==`object`){let e=n.task;typeof e.taskId==`string`&&(i=!0,this._taskProgressTokens.set(e.taskId,t))}}i||this._progressHandlers.delete(t),A(e)?r(e):r(J.fromError(e.error.code,e.error.message,e.error.data))}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,t,n){let{task:r}=n??{};if(!r){try{yield{type:`result`,result:await this.request(e,t,n)}}catch(e){yield{type:`error`,error:e instanceof J?e:new J(j.InternalError,String(e))}}return}let i;try{let r=await this.request(e,z,n);if(r.task)i=r.task.taskId,yield{type:`taskCreated`,task:r.task};else throw new J(j.InternalError,`Task creation did not return a task`);for(;;){let e=await this.getTask({taskId:i},n);if(yield{type:`taskStatus`,task:e},Y(e.status)){e.status===`completed`?yield{type:`result`,result:await this.getTaskResult({taskId:i},t,n)}:e.status===`failed`?yield{type:`error`,error:new J(j.InternalError,`Task ${i} failed`)}:e.status===`cancelled`&&(yield{type:`error`,error:new J(j.InternalError,`Task ${i} was cancelled`)});return}if(e.status===`input_required`){yield{type:`result`,result:await this.getTaskResult({taskId:i},t,n)};return}let r=e.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(e=>setTimeout(e,r)),n?.signal?.throwIfAborted()}}catch(e){yield{type:`error`,error:e instanceof J?e:new J(j.InternalError,String(e))}}}request(e,t,n){let{relatedRequestId:r,resumptionToken:i,onresumptiontoken:a,task:o,relatedTask:s}=n??{};return new Promise((c,l)=>{let u=e=>{l(e)};if(!this._transport){u(Error(`Not connected`));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),o&&this.assertTaskCapability(e.method)}catch(e){u(e);return}n?.signal?.throwIfAborted();let d=this._requestMessageId++,f={...e,jsonrpc:`2.0`,id:d};n?.onprogress&&(this._progressHandlers.set(d,n.onprogress),f.params={...e.params,_meta:{...e.params?._meta||{},progressToken:d}}),o&&(f.params={...f.params,task:o}),s&&(f.params={...f.params,_meta:{...f.params?._meta||{},[b]:s}});let p=e=>{this._responseHandlers.delete(d),this._progressHandlers.delete(d),this._cleanupTimeout(d),this._transport?.send({jsonrpc:`2.0`,method:`notifications/cancelled`,params:{requestId:d,reason:String(e)}},{relatedRequestId:r,resumptionToken:i,onresumptiontoken:a}).catch(e=>this._onerror(Error(`Failed to send cancellation: ${e}`))),l(e instanceof J?e:new J(j.RequestTimeout,String(e)))};this._responseHandlers.set(d,e=>{if(!n?.signal?.aborted){if(e instanceof Error)return l(e);try{let n=v(t,e.result);n.success?c(n.data):l(n.error)}catch(e){l(e)}}}),n?.signal?.addEventListener(`abort`,()=>{p(n?.signal?.reason)});let m=n?.timeout??6e4;this._setupTimeout(d,m,n?.maxTotalTimeout,()=>p(J.fromError(j.RequestTimeout,`Request timed out`,{timeout:m})),n?.resetTimeoutOnProgress??!1);let h=s?.taskId;h?(this._requestResolvers.set(d,e=>{let t=this._responseHandlers.get(d);t?t(e):this._onerror(Error(`Response handler missing for side-channeled request ${d}`))}),this._enqueueTaskMessage(h,{type:`request`,message:f,timestamp:Date.now()}).catch(e=>{this._cleanupTimeout(d),l(e)})):this._transport.send(f,{relatedRequestId:r,resumptionToken:i,onresumptiontoken:a}).catch(e=>{this._cleanupTimeout(d),l(e)})})}async getTask(e,t){return this.request({method:`tasks/get`,params:e},Ve,t)}async getTaskResult(e,t,n){return this.request({method:`tasks/result`,params:e},t,n)}async listTasks(e,t){return this.request({method:`tasks/list`,params:e},We,t)}async cancelTask(e,t){return this.request({method:`tasks/cancel`,params:e},Ke,t)}async notification(e,t){if(!this._transport)throw Error(`Not connected`);this.assertNotificationCapability(e.method);let n=t?.relatedTask?.taskId;if(n){let r={...e,jsonrpc:`2.0`,params:{...e.params,_meta:{...e.params?._meta||{},[b]:t.relatedTask}}};await this._enqueueTaskMessage(n,{type:`notification`,message:r,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!t?.relatedRequestId&&!t?.relatedTask){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let n={...e,jsonrpc:`2.0`};t?.relatedTask&&(n={...n,params:{...n.params,_meta:{...n.params?._meta||{},[b]:t.relatedTask}}}),this._transport?.send(n,t).catch(e=>this._onerror(e))});return}let r={...e,jsonrpc:`2.0`};t?.relatedTask&&(r={...r,params:{...r.params,_meta:{...r.params?._meta||{},[b]:t.relatedTask}}}),await this._transport.send(r,t)}setRequestHandler(e,t){let n=Dn(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(n,r)=>{let i=On(e,n);return Promise.resolve(t(i,r))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,t){let n=Dn(e);this._notificationHandlers.set(n,n=>{let r=On(e,n);return Promise.resolve(t(r))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){let t=this._taskProgressTokens.get(e);t!==void 0&&(this._progressHandlers.delete(t),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,t,n){if(!this._taskStore||!this._taskMessageQueue)throw Error(`Cannot enqueue task message: taskStore and taskMessageQueue are not configured`);let r=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,t,n,r)}async _clearTaskQueue(e,t){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(e,t);for(let t of n)if(t.type===`request`&&k(t.message)){let n=t.message.id,r=this._requestResolvers.get(n);r?(r(new J(j.InternalError,`Task cancelled or completed`)),this._requestResolvers.delete(n)):this._onerror(Error(`Resolver missing for request ${n} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,t){let n=this._options?.defaultTaskPollInterval??1e3;try{let t=await this._taskStore?.getTask(e);t?.pollInterval&&(n=t.pollInterval)}catch{}return new Promise((e,r)=>{if(t.aborted){r(new J(j.InvalidRequest,`Request cancelled`));return}let i=setTimeout(e,n);t.addEventListener(`abort`,()=>{clearTimeout(i),r(new J(j.InvalidRequest,`Request cancelled`))},{once:!0})})}requestTaskStore(e,t){let n=this._taskStore;if(!n)throw Error(`No task store configured`);return{createTask:async r=>{if(!e)throw Error(`No request provided`);return await n.createTask(r,e.id,{method:e.method,params:e.params},t)},getTask:async e=>{let r=await n.getTask(e,t);if(!r)throw new J(j.InvalidParams,`Failed to retrieve task: Task not found`);return r},storeTaskResult:async(e,r,i)=>{await n.storeTaskResult(e,r,i,t);let a=await n.getTask(e,t);if(a){let t=B.parse({method:`notifications/tasks/status`,params:a});await this.notification(t),Y(a.status)&&this._cleanupTaskProgressHandler(e)}},getTaskResult:e=>n.getTaskResult(e,t),updateTaskStatus:async(e,r,i)=>{let a=await n.getTask(e,t);if(!a)throw new J(j.InvalidParams,`Task "${e}" not found - it may have been cleaned up`);if(Y(a.status))throw new J(j.InvalidParams,`Cannot update task "${e}" from terminal status "${a.status}" to "${r}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(e,r,i,t);let o=await n.getTask(e,t);if(o){let t=B.parse({method:`notifications/tasks/status`,params:o});await this.notification(t),Y(o.status)&&this._cleanupTaskProgressHandler(e)}},listTasks:e=>n.listTasks(e,t)}}};function An(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function jn(e,t){let n={...e};for(let e in t){let r=e,i=t[r];if(i===void 0)continue;let a=n[r];An(a)&&An(i)?n[r]={...a,...i}:n[r]=i}return n}var Mn=e(t(),1),Nn=e(n(),1);function Pn(){let e=new Mn.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,Nn.default)(e),e}var Fn=class{constructor(e){this._ajv=e??Pn()}getValidator(e){let t=`$id`in e&&typeof e.$id==`string`?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return e=>t(e)?{valid:!0,data:e,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(t.errors)}}},In=class{constructor(e){this._server=e}requestStream(e,t,n){return this._server.requestStream(e,t,n)}createMessageStream(e,t){let n=this._server.getClientCapabilities();if((e.tools||e.toolChoice)&&!n?.sampling?.tools)throw Error(`Client does not support sampling tools capability.`);if(e.messages.length>0){let t=e.messages[e.messages.length-1],n=Array.isArray(t.content)?t.content:[t.content],r=n.some(e=>e.type===`tool_result`),i=e.messages.length>1?e.messages[e.messages.length-2]:void 0,a=i?Array.isArray(i.content)?i.content:[i.content]:[],o=a.some(e=>e.type===`tool_use`);if(r){if(n.some(e=>e.type!==`tool_result`))throw Error(`The last message must contain only tool_result content if any is present`);if(!o)throw Error(`tool_result blocks are not matching any tool_use from the previous message`)}if(o){let e=new Set(a.filter(e=>e.type===`tool_use`).map(e=>e.id)),t=new Set(n.filter(e=>e.type===`tool_result`).map(e=>e.toolUseId));if(e.size!==t.size||![...e].every(e=>t.has(e)))throw Error(`ids of tool_result blocks and tool_use blocks from previous message do not match`)}}return this.requestStream({method:`sampling/createMessage`,params:e},K,t)}elicitInputStream(e,t){let n=this._server.getClientCapabilities(),r=e.mode??`form`;switch(r){case`url`:if(!n?.elicitation?.url)throw Error(`Client does not support url elicitation.`);break;case`form`:if(!n?.elicitation?.form)throw Error(`Client does not support form elicitation.`);break}let i=r===`form`&&e.mode===void 0?{...e,mode:`form`}:e;return this.requestStream({method:`elicitation/create`,params:i},q,t)}async getTask(e,t){return this._server.getTask({taskId:e},t)}async getTaskResult(e,t,n){return this._server.getTaskResult({taskId:e},t,n)}async listTasks(e,t){return this._server.listTasks(e?{cursor:e}:void 0,t)}async cancelTask(e,t){return this._server.cancelTask({taskId:e},t)}};function Ln(e,t,n){if(!e)throw Error(`${n} does not support task creation (required for ${t})`);switch(t){case`tools/call`:if(!e.tools?.call)throw Error(`${n} does not support task creation for tools/call (required for ${t})`);break;default:break}}function Rn(e,t,n){if(!e)throw Error(`${n} does not support task creation (required for ${t})`);switch(t){case`sampling/createMessage`:if(!e.sampling?.createMessage)throw Error(`${n} does not support task creation for sampling/createMessage (required for ${t})`);break;case`elicitation/create`:if(!e.elicitation?.create)throw Error(`${n} does not support task creation for elicitation/create (required for ${t})`);break;default:break}}var zn=class extends kn{constructor(e,t){super(t),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(W.options.map((e,t)=>[e,t])),this.isMessageIgnored=(e,t)=>{let n=this._loggingLevels.get(t);return n?this.LOG_LEVEL_SEVERITY.get(e)<this.LOG_LEVEL_SEVERITY.get(n):!1},this._capabilities=t?.capabilities??{},this._instructions=t?.instructions,this._jsonSchemaValidator=t?.jsonSchemaValidator??new Fn,this.setRequestHandler(Oe,e=>this._oninitialize(e)),this.setNotificationHandler(Me,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(Bt,async(e,t)=>{let n=t.sessionId||t.requestInfo?.headers[`mcp-session-id`]||void 0,{level:r}=e.params,i=W.safeParse(r);return i.success&&this._loggingLevels.set(n,i.data),{}})}get experimental(){return this._experimental||={tasks:new In(this)},this._experimental}registerCapabilities(e){if(this.transport)throw Error(`Cannot register capabilities after connecting to transport`);this._capabilities=jn(this._capabilities,e)}setRequestHandler(e,t){let n=re(e)?.method;if(!n)throw Error(`Schema is missing a method literal`);let r;if(_(n)){let e=n;r=e._zod?.def?.value??e.value}else{let e=n;r=e._def?.value??e.value}if(typeof r!=`string`)throw Error(`Schema method literal must be a string`);return r===`tools/call`?super.setRequestHandler(e,async(e,n)=>{let r=v(It,e);if(!r.success){let e=r.error instanceof Error?r.error.message:String(r.error);throw new J(j.InvalidParams,`Invalid tools/call request: ${e}`)}let{params:i}=r.data,a=await Promise.resolve(t(e,n));if(i.task){let e=v(z,a);if(!e.success){let t=e.error instanceof Error?e.error.message:String(e.error);throw new J(j.InvalidParams,`Invalid task creation result: ${t}`)}return e.data}let o=v(U,a);if(!o.success){let e=o.error instanceof Error?o.error.message:String(o.error);throw new J(j.InvalidParams,`Invalid tools/call result: ${e}`)}return o.data}):super.setRequestHandler(e,t)}assertCapabilityForMethod(e){switch(e){case`sampling/createMessage`:if(!this._clientCapabilities?.sampling)throw Error(`Client does not support sampling (required for ${e})`);break;case`elicitation/create`:if(!this._clientCapabilities?.elicitation)throw Error(`Client does not support elicitation (required for ${e})`);break;case`roots/list`:if(!this._clientCapabilities?.roots)throw Error(`Client does not support listing roots (required for ${e})`);break;case`ping`:break}}assertNotificationCapability(e){switch(e){case`notifications/message`:if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${e})`);break;case`notifications/resources/updated`:case`notifications/resources/list_changed`:if(!this._capabilities.resources)throw Error(`Server does not support notifying about resources (required for ${e})`);break;case`notifications/tools/list_changed`:if(!this._capabilities.tools)throw Error(`Server does not support notifying of tool list changes (required for ${e})`);break;case`notifications/prompts/list_changed`:if(!this._capabilities.prompts)throw Error(`Server does not support notifying of prompt list changes (required for ${e})`);break;case`notifications/elicitation/complete`:if(!this._clientCapabilities?.elicitation?.url)throw Error(`Client does not support URL elicitation (required for ${e})`);break;case`notifications/cancelled`:break;case`notifications/progress`:break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case`completion/complete`:if(!this._capabilities.completions)throw Error(`Server does not support completions (required for ${e})`);break;case`logging/setLevel`:if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${e})`);break;case`prompts/get`:case`prompts/list`:if(!this._capabilities.prompts)throw Error(`Server does not support prompts (required for ${e})`);break;case`resources/list`:case`resources/templates/list`:case`resources/read`:if(!this._capabilities.resources)throw Error(`Server does not support resources (required for ${e})`);break;case`tools/call`:case`tools/list`:if(!this._capabilities.tools)throw Error(`Server does not support tools (required for ${e})`);break;case`tasks/get`:case`tasks/list`:case`tasks/result`:case`tasks/cancel`:if(!this._capabilities.tasks)throw Error(`Server does not support tasks capability (required for ${e})`);break;case`ping`:case`initialize`:break}}assertTaskCapability(e){Rn(this._clientCapabilities?.tasks?.requests,e,`Client`)}assertTaskHandlerCapability(e){this._capabilities&&Ln(this._capabilities.tasks?.requests,e,`Server`)}async _oninitialize(e){let t=e.params.protocolVersion;return this._clientCapabilities=e.params.capabilities,this._clientVersion=e.params.clientInfo,{protocolVersion:y.includes(t)?t:ae,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:`ping`},N)}async createMessage(e,t){if((e.tools||e.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw Error(`Client does not support sampling tools capability.`);if(e.messages.length>0){let t=e.messages[e.messages.length-1],n=Array.isArray(t.content)?t.content:[t.content],r=n.some(e=>e.type===`tool_result`),i=e.messages.length>1?e.messages[e.messages.length-2]:void 0,a=i?Array.isArray(i.content)?i.content:[i.content]:[],o=a.some(e=>e.type===`tool_use`);if(r){if(n.some(e=>e.type!==`tool_result`))throw Error(`The last message must contain only tool_result content if any is present`);if(!o)throw Error(`tool_result blocks are not matching any tool_use from the previous message`)}if(o){let e=new Set(a.filter(e=>e.type===`tool_use`).map(e=>e.id)),t=new Set(n.filter(e=>e.type===`tool_result`).map(e=>e.toolUseId));if(e.size!==t.size||![...e].every(e=>t.has(e)))throw Error(`ids of tool_result blocks and tool_use blocks from previous message do not match`)}}return e.tools?this.request({method:`sampling/createMessage`,params:e},Zt,t):this.request({method:`sampling/createMessage`,params:e},K,t)}async elicitInput(e,t){switch(e.mode??`form`){case`url`:{if(!this._clientCapabilities?.elicitation?.url)throw Error(`Client does not support url elicitation.`);let n=e;return this.request({method:`elicitation/create`,params:n},q,t)}case`form`:{if(!this._clientCapabilities?.elicitation?.form)throw Error(`Client does not support form elicitation.`);let n=e.mode===`form`?e:{...e,mode:`form`},r=await this.request({method:`elicitation/create`,params:n},q,t);if(r.action===`accept`&&r.content&&n.requestedSchema)try{let e=this._jsonSchemaValidator.getValidator(n.requestedSchema)(r.content);if(!e.valid)throw new J(j.InvalidParams,`Elicitation response content does not match requested schema: ${e.errorMessage}`)}catch(e){throw e instanceof J?e:new J(j.InternalError,`Error validating elicitation response: ${e instanceof Error?e.message:String(e)}`)}return r}}}createElicitationCompletionNotifier(e,t){if(!this._clientCapabilities?.elicitation?.url)throw Error(`Client does not support URL elicitation (required for notifications/elicitation/complete)`);return()=>this.notification({method:`notifications/elicitation/complete`,params:{elicitationId:e}},t)}async listRoots(e,t){return this.request({method:`roots/list`,params:e},wn,t)}async sendLoggingMessage(e,t){if(this._capabilities.logging&&!this.isMessageIgnored(e.level,t))return this.notification({method:`notifications/message`,params:e})}async sendResourceUpdated(e){return this.notification({method:`notifications/resources/updated`,params:e})}async sendResourceListChanged(){return this.notification({method:`notifications/resources/list_changed`})}async sendToolListChanged(){return this.notification({method:`notifications/tools/list_changed`})}async sendPromptListChanged(){return this.notification({method:`notifications/prompts/list_changed`})}};const Bn=`approve`;function Vn(){return{name:Bn,description:`Permission prompt handler - approves or denies tool usage requests`,inputSchema:{type:`object`,properties:{tool_name:{type:`string`},input:{type:`object`,additionalProperties:!0},tool_use_id:{type:`string`}},required:[`tool_name`,`input`,`tool_use_id`]}}}function Hn(e){if(typeof e!=`object`||!e)return`Arguments must be an object`;let t=e;return typeof t.tool_name==`string`?typeof t.tool_use_id==`string`?typeof t.input!=`object`||t.input===null||Array.isArray(t.input)?`input must be an object`:{tool_name:t.tool_name,tool_use_id:t.tool_use_id,input:t.input}:`tool_use_id must be a string`:`tool_name must be a string`}async function Un(e,t,n,r){let i=e=>({content:[{type:`text`,text:JSON.stringify({behavior:`deny`,message:e})}]}),a=n?t.get(n):void 0;if(!a)return i(`No agent context found for this session`);let o=Hn(e??{});if(typeof o==`string`)return i(`Invalid approve tool arguments: ${o}`);let s;try{s=await r({toolName:o.tool_name,args:o.input,toolCallId:o.tool_use_id,agentId:a.agentId,adapterId:a.adapterId,adapterName:a.adapterName,adapterSessionId:a.adapterSessionId,sessionId:a.sessionId})}catch(e){return i(`Tool approval request failed: ${e instanceof Error?e.message:`Unknown error`}`)}return{content:[{type:`text`,text:JSON.stringify(s.action===`allow`?{behavior:`allow`,updatedInput:s.updatedInput??o.input}:{behavior:`deny`,message:s.message??`Denied by policy`})}]}}function Wn(e,t){let n=t[e.toolsetName];return n?`${n}.${e.name}`:e.name}async function Gn(e,t,n){let r=t?.pluginToolsets??{},i=t?.staticFallback??[],a=await e.requestOptional(s.list,{adapterId:n?.adapterId,adapterName:n?.adapterName}),o=a.handled?a.data.tools:i,c=t?.getExposedTools?t.getExposedTools(o):o,l=c.map(e=>Wn(e,r)),u=new Map;for(let e of l)u.set(e,(u.get(e)??0)+1);let d=new Map,f=[];for(let e=0;e<c.length;e++){let t=c[e],n=l[e],r=(u.get(n)??1)>1?`${t.toolsetName}.${t.name}`:n,i={mcpName:r,sourceToolName:t.name,toolsetName:t.toolsetName};if(d.has(r))throw Error(`Duplicate resolved MCP tool name: ${r}`);d.set(r,i),f.push(Kn(t,r))}return{tools:f,byMcpName:d}}function Kn(e,t){return{name:t,description:e.description,inputSchema:u(e.inputSchema),annotations:e.annotations}}function qn(e){let t=!1;return()=>{t||(t=!0,e?.())}}function Jn(e){let t;return()=>t??=e()}async function Yn(e,t,n,r){try{await e.connect(t)}catch(e){try{await n()}catch(t){throw AggregateError([e,t],`Failed to start and clean up ${r}`)}throw e}}async function Xn(e,t){let n=(await Promise.allSettled(e)).filter(e=>e.status===`rejected`).map(e=>e.reason instanceof Error?e.reason:Error(String(e.reason)));if(n.length>0)throw AggregateError(n,t)}function Zn(e){if(e!==void 0){if(!Number.isSafeInteger(e)||e<=0||e>18e5)throw RangeError(`toolExecutionTimeoutMs must be a positive safe integer no greater than 1800000`);return e}}function Qn(e,t){if(e!==void 0){if(!Number.isFinite(e)||e<=0)throw RangeError(`${t} must be a positive finite number of milliseconds`);return e}}const $n=2147483647;function er(e,t){let n=Qn(e,t);if(n!==void 0&&n>$n)throw RangeError(`${t} must be no greater than ${$n} milliseconds`);return n}const tr=`adapterSessionId`,X=`x-adapter-session-id`;function nr(e){return e.success?{content:[{type:`text`,text:JSON.stringify(e.data,null,2)}]}:{content:[{type:`text`,text:JSON.stringify(e.error,null,2)}],isError:!0}}function rr(e){let t=e.requestInfo?.headers[X];return Array.isArray(t)?t[0]:t}function ir(e,t){if(!e||!t)return;let n=t.get(e);if(n)return{adapterId:n.adapterId,adapterName:n.adapterName}}function ar(e,t){let n=qn(t.on(s.registryChanged,()=>{e.sendToolListChanged().catch(e=>{console.error(`[MCP Server] Failed to send tools/list_changed notification:`,e)})})),r=e.onclose;e.onclose=()=>{n(),r?.()};let i=e.close.bind(e);e.close=async()=>{try{await i()}finally{n()}}}function or(e,t){return{cwd:e?.cwd??process.cwd(),sessionId:e?.sessionId??t,env:e?.env,agentId:e?.agentId,adapterSessionId:e?.adapterSessionId,turnId:e?.turnId,reasoning:e?.reasoning,toolCallId:e?.toolCallId,turnContext:e?.turnContext,constraints:e?.constraints}}async function sr(e,t,n){let{contextRegistry:r,toolDiscovery:i,resolveContextOverrides:o}=n??{},c=Zn(n?.toolExecutionTimeoutMs),l=new zn({name:`makaio`,version:`1.0.0`},{capabilities:{tools:{listChanged:!0}}}),u=t=>e.request(a.toolApprove,t);return l.setRequestHandler(Nt,async(t,n)=>({tools:[...(await Gn(e,i,ir(rr(n),r))).tools,...r?[Vn()]:[]]})),l.setRequestHandler(It,async(n,a)=>{let l=rr(a);if(n.params.name===`approve`)return r?Un(n.params.arguments,r,l,u):{content:[{type:`text`,text:JSON.stringify({behavior:`deny`,message:`Permission prompt tool is not available in this server mode`})}]};let d=ir(l,r),f=(await Gn(e,i,d)).byMcpName.get(n.params.name);if(!f)throw new J(j.InvalidParams,`Tool ${n.params.name} not found`);let p=or(await o?.(l),t),m={toolName:f.sourceToolName,input:n.params.arguments??{},adapterId:d?.adapterId,adapterName:d?.adapterName,contextOverrides:p},h=c===void 0?await e.requestOptional(s.execute,m):await e.requestOptional(s.execute,m,{timeout:c});if(!h.handled)throw new J(j.InternalError,`Tool execution handler unavailable`);return nr(h.data)}),ar(l,e),l}var cr=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(`
2
2
  `);if(e===-1)return null;let t=this._buffer.toString(`utf8`,0,e).replace(/\r$/,``);return this._buffer=this._buffer.subarray(e+1),lr(t)}clear(){this._buffer=void 0}};function lr(e){return _e.parse(JSON.parse(e))}function ur(e){return JSON.stringify(e)+`
3
3
  `}var dr=class{constructor(e=m.stdin,t=m.stdout){this._stdin=e,this._stdout=t,this._readBuffer=new cr,this._started=!1,this._ondata=e=>{this._readBuffer.append(e),this.processReadBuffer()},this._onerror=e=>{this.onerror?.(e)}}async start(){if(this._started)throw Error(`StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.`);this._started=!0,this._stdin.on(`data`,this._ondata),this._stdin.on(`error`,this._onerror)}processReadBuffer(){for(;;)try{let e=this._readBuffer.readMessage();if(e===null)break;this.onmessage?.(e)}catch(e){this.onerror?.(e)}}async close(){this._stdin.off(`data`,this._ondata),this._stdin.off(`error`,this._onerror),this._stdin.listenerCount(`data`)===0&&this._stdin.pause(),this._readBuffer.clear(),this.onclose?.()}send(e){return new Promise(t=>{let n=ur(e);this._stdout.write(n)?t():this._stdout.once(`drain`,t)})}},fr=class{constructor(e={}){this._started=!1,this._hasHandledRequest=!1,this._streamMapping=new Map,this._requestToStreamMapping=new Map,this._requestResponseMap=new Map,this._initialized=!1,this._enableJsonResponse=!1,this._standaloneSseStreamId=`_GET_stream`,this.sessionIdGenerator=e.sessionIdGenerator,this._enableJsonResponse=e.enableJsonResponse??!1,this._eventStore=e.eventStore,this._onsessioninitialized=e.onsessioninitialized,this._onsessionclosed=e.onsessionclosed,this._allowedHosts=e.allowedHosts,this._allowedOrigins=e.allowedOrigins,this._enableDnsRebindingProtection=e.enableDnsRebindingProtection??!1,this._retryInterval=e.retryInterval}async start(){if(this._started)throw Error(`Transport already started`);this._started=!0}createJsonErrorResponse(e,t,n,r){let i={code:t,message:n};return r?.data!==void 0&&(i.data=r.data),new Response(JSON.stringify({jsonrpc:`2.0`,error:i,id:null}),{status:e,headers:{"Content-Type":`application/json`,...r?.headers}})}validateRequestHeaders(e){if(this._enableDnsRebindingProtection){if(this._allowedHosts&&this._allowedHosts.length>0){let t=e.headers.get(`host`);if(!t||!this._allowedHosts.includes(t)){let e=`Invalid Host header: ${t}`;return this.onerror?.(Error(e)),this.createJsonErrorResponse(403,-32e3,e)}}if(this._allowedOrigins&&this._allowedOrigins.length>0){let t=e.headers.get(`origin`);if(t&&!this._allowedOrigins.includes(t)){let e=`Invalid Origin header: ${t}`;return this.onerror?.(Error(e)),this.createJsonErrorResponse(403,-32e3,e)}}}}async handleRequest(e,t){if(!this.sessionIdGenerator&&this._hasHandledRequest)throw Error(`Stateless transport cannot be reused across requests. Create a new transport per request.`);this._hasHandledRequest=!0;let n=this.validateRequestHeaders(e);if(n)return n;switch(e.method){case`POST`:return this.handlePostRequest(e,t);case`GET`:return this.handleGetRequest(e);case`DELETE`:return this.handleDeleteRequest(e);default:return this.handleUnsupportedRequest()}}async writePrimingEvent(e,t,n,r){if(!this._eventStore||r<`2025-11-25`)return;let i=await this._eventStore.storeEvent(n,{}),a=`id: ${i}\ndata: \n\n`;this._retryInterval!==void 0&&(a=`id: ${i}\nretry: ${this._retryInterval}\ndata: \n\n`),e.enqueue(t.encode(a))}async handleGetRequest(e){if(!e.headers.get(`accept`)?.includes(`text/event-stream`))return this.onerror?.(Error(`Not Acceptable: Client must accept text/event-stream`)),this.createJsonErrorResponse(406,-32e3,`Not Acceptable: Client must accept text/event-stream`);let t=this.validateSession(e);if(t)return t;let n=this.validateProtocolVersion(e);if(n)return n;if(this._eventStore){let t=e.headers.get(`last-event-id`);if(t)return this.replayEvents(t)}if(this._streamMapping.get(this._standaloneSseStreamId)!==void 0)return this.onerror?.(Error(`Conflict: Only one SSE stream is allowed per session`)),this.createJsonErrorResponse(409,-32e3,`Conflict: Only one SSE stream is allowed per session`);let r=new TextEncoder,i,a=new ReadableStream({start:e=>{i=e},cancel:()=>{this._streamMapping.delete(this._standaloneSseStreamId)}}),o={"Content-Type":`text/event-stream`,"Cache-Control":`no-cache, no-transform`,Connection:`keep-alive`};return this.sessionId!==void 0&&(o[`mcp-session-id`]=this.sessionId),this._streamMapping.set(this._standaloneSseStreamId,{controller:i,encoder:r,cleanup:()=>{this._streamMapping.delete(this._standaloneSseStreamId);try{i.close()}catch{}}}),new Response(a,{headers:o})}async replayEvents(e){if(!this._eventStore)return this.onerror?.(Error(`Event store not configured`)),this.createJsonErrorResponse(400,-32e3,`Event store not configured`);try{let t;if(this._eventStore.getStreamIdForEventId){if(t=await this._eventStore.getStreamIdForEventId(e),!t)return this.onerror?.(Error(`Invalid event ID format`)),this.createJsonErrorResponse(400,-32e3,`Invalid event ID format`);if(this._streamMapping.get(t)!==void 0)return this.onerror?.(Error(`Conflict: Stream already has an active connection`)),this.createJsonErrorResponse(409,-32e3,`Conflict: Stream already has an active connection`)}let n={"Content-Type":`text/event-stream`,"Cache-Control":`no-cache, no-transform`,Connection:`keep-alive`};this.sessionId!==void 0&&(n[`mcp-session-id`]=this.sessionId);let r=new TextEncoder,i,a=new ReadableStream({start:e=>{i=e},cancel:()=>{}}),o=await this._eventStore.replayEventsAfter(e,{send:async(e,t)=>{if(!this.writeSSEEvent(i,r,t,e)){this.onerror?.(Error(`Failed replay events`));try{i.close()}catch{}}}});return this._streamMapping.set(o,{controller:i,encoder:r,cleanup:()=>{this._streamMapping.delete(o);try{i.close()}catch{}}}),new Response(a,{headers:n})}catch(e){return this.onerror?.(e),this.createJsonErrorResponse(500,-32e3,`Error replaying events`)}}writeSSEEvent(e,t,n,r){try{let i=`event: message
4
4
  `;return r&&(i+=`id: ${r}\n`),i+=`data: ${JSON.stringify(n)}\n\n`,e.enqueue(t.encode(i)),!0}catch(e){return this.onerror?.(e),!1}}handleUnsupportedRequest(){return this.onerror?.(Error(`Method not allowed.`)),new Response(JSON.stringify({jsonrpc:`2.0`,error:{code:-32e3,message:`Method not allowed.`},id:null}),{status:405,headers:{Allow:`GET, POST, DELETE`,"Content-Type":`application/json`}})}async handlePostRequest(e,t){try{let n=e.headers.get(`accept`);if(!n?.includes(`application/json`)||!n.includes(`text/event-stream`))return this.onerror?.(Error(`Not Acceptable: Client must accept both application/json and text/event-stream`)),this.createJsonErrorResponse(406,-32e3,`Not Acceptable: Client must accept both application/json and text/event-stream`);let r=e.headers.get(`content-type`);if(!r||!r.includes(`application/json`))return this.onerror?.(Error(`Unsupported Media Type: Content-Type must be application/json`)),this.createJsonErrorResponse(415,-32e3,`Unsupported Media Type: Content-Type must be application/json`);let i={headers:Object.fromEntries(e.headers.entries()),url:new URL(e.url)},a;if(t?.parsedBody!==void 0)a=t.parsedBody;else try{a=await e.json()}catch{return this.onerror?.(Error(`Parse error: Invalid JSON`)),this.createJsonErrorResponse(400,-32700,`Parse error: Invalid JSON`)}let o;try{o=Array.isArray(a)?a.map(e=>_e.parse(e)):[_e.parse(a)]}catch{return this.onerror?.(Error(`Parse error: Invalid JSON-RPC message`)),this.createJsonErrorResponse(400,-32700,`Parse error: Invalid JSON-RPC message`)}let s=o.some(ke);if(s){if(this._initialized&&this.sessionId!==void 0)return this.onerror?.(Error(`Invalid Request: Server already initialized`)),this.createJsonErrorResponse(400,-32600,`Invalid Request: Server already initialized`);if(o.length>1)return this.onerror?.(Error(`Invalid Request: Only one initialization request is allowed`)),this.createJsonErrorResponse(400,-32600,`Invalid Request: Only one initialization request is allowed`);this.sessionId=this.sessionIdGenerator?.(),this._initialized=!0,this.sessionId&&this._onsessioninitialized&&await Promise.resolve(this._onsessioninitialized(this.sessionId))}if(!s){let t=this.validateSession(e);if(t)return t;let n=this.validateProtocolVersion(e);if(n)return n}if(!o.some(k)){for(let e of o)this.onmessage?.(e,{authInfo:t?.authInfo,requestInfo:i});return new Response(null,{status:202})}let c=crypto.randomUUID(),l=o.find(e=>ke(e)),u=l?l.params.protocolVersion:e.headers.get(`mcp-protocol-version`)??`2025-03-26`;if(this._enableJsonResponse)return new Promise(e=>{this._streamMapping.set(c,{resolveJson:e,cleanup:()=>{this._streamMapping.delete(c)}});for(let e of o)k(e)&&this._requestToStreamMapping.set(e.id,c);for(let e of o)this.onmessage?.(e,{authInfo:t?.authInfo,requestInfo:i})});let d=new TextEncoder,f,p=new ReadableStream({start:e=>{f=e},cancel:()=>{this._streamMapping.delete(c)}}),m={"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`};this.sessionId!==void 0&&(m[`mcp-session-id`]=this.sessionId);for(let e of o)k(e)&&(this._streamMapping.set(c,{controller:f,encoder:d,cleanup:()=>{this._streamMapping.delete(c);try{f.close()}catch{}}}),this._requestToStreamMapping.set(e.id,c));await this.writePrimingEvent(f,d,c,u);for(let e of o){let n,r;k(e)&&this._eventStore&&u>=`2025-11-25`&&(n=()=>{this.closeSSEStream(e.id)},r=()=>{this.closeStandaloneSSEStream()}),this.onmessage?.(e,{authInfo:t?.authInfo,requestInfo:i,closeSSEStream:n,closeStandaloneSSEStream:r})}return new Response(p,{status:200,headers:m})}catch(e){return this.onerror?.(e),this.createJsonErrorResponse(400,-32700,`Parse error`,{data:String(e)})}}async handleDeleteRequest(e){return this.validateSession(e)||this.validateProtocolVersion(e)||(await Promise.resolve(this._onsessionclosed?.(this.sessionId)),await this.close(),new Response(null,{status:200}))}validateSession(e){if(this.sessionIdGenerator===void 0)return;if(!this._initialized)return this.onerror?.(Error(`Bad Request: Server not initialized`)),this.createJsonErrorResponse(400,-32e3,`Bad Request: Server not initialized`);let t=e.headers.get(`mcp-session-id`);if(!t)return this.onerror?.(Error(`Bad Request: Mcp-Session-Id header is required`)),this.createJsonErrorResponse(400,-32e3,`Bad Request: Mcp-Session-Id header is required`);if(t!==this.sessionId)return this.onerror?.(Error(`Session not found`)),this.createJsonErrorResponse(404,-32001,`Session not found`)}validateProtocolVersion(e){let t=e.headers.get(`mcp-protocol-version`);if(t!==null&&!y.includes(t))return this.onerror?.(Error(`Bad Request: Unsupported protocol version: ${t} (supported versions: ${y.join(`, `)})`)),this.createJsonErrorResponse(400,-32e3,`Bad Request: Unsupported protocol version: ${t} (supported versions: ${y.join(`, `)})`)}async close(){this._streamMapping.forEach(({cleanup:e})=>{e()}),this._streamMapping.clear(),this._requestResponseMap.clear(),this.onclose?.()}closeSSEStream(e){let t=this._requestToStreamMapping.get(e);if(!t)return;let n=this._streamMapping.get(t);n&&n.cleanup()}closeStandaloneSSEStream(){let e=this._streamMapping.get(this._standaloneSseStreamId);e&&e.cleanup()}async send(e,t){let n=t?.relatedRequestId;if((A(e)||M(e))&&(n=e.id),n===void 0){if(A(e)||M(e))throw Error(`Cannot send a response on a standalone SSE stream unless resuming a previous client request`);let t;this._eventStore&&(t=await this._eventStore.storeEvent(this._standaloneSseStreamId,e));let n=this._streamMapping.get(this._standaloneSseStreamId);if(n===void 0)return;n.controller&&n.encoder&&this.writeSSEEvent(n.controller,n.encoder,e,t);return}let r=this._requestToStreamMapping.get(n);if(!r)throw Error(`No connection established for request ID: ${String(n)}`);let i=this._streamMapping.get(r);if(!this._enableJsonResponse&&i?.controller&&i?.encoder){let t;this._eventStore&&(t=await this._eventStore.storeEvent(r,e)),this.writeSSEEvent(i.controller,i.encoder,e,t)}if(A(e)||M(e)){this._requestResponseMap.set(n,e);let t=Array.from(this._requestToStreamMapping.entries()).filter(([e,t])=>t===r).map(([e])=>e);if(t.every(e=>this._requestResponseMap.has(e))){if(!i)throw Error(`No connection established for request ID: ${String(n)}`);if(this._enableJsonResponse&&i.resolveJson){let e={"Content-Type":`application/json`};this.sessionId!==void 0&&(e[`mcp-session-id`]=this.sessionId);let n=t.map(e=>this._requestResponseMap.get(e));n.length===1?i.resolveJson(new Response(JSON.stringify(n[0]),{status:200,headers:e})):i.resolveJson(new Response(JSON.stringify(n),{status:200,headers:e}))}else i.cleanup();for(let e of t)this._requestResponseMap.delete(e),this._requestToStreamMapping.delete(e)}}}},pr=class{constructor(e={}){this._requestContext=new WeakMap,this._webStandardTransport=new fr(e),this._requestListener=ne(async e=>{let t=this._requestContext.get(e);return this._webStandardTransport.handleRequest(e,{authInfo:t?.authInfo,parsedBody:t?.parsedBody})},{overrideGlobalObjects:!1})}get sessionId(){return this._webStandardTransport.sessionId}set onclose(e){this._webStandardTransport.onclose=e}get onclose(){return this._webStandardTransport.onclose}set onerror(e){this._webStandardTransport.onerror=e}get onerror(){return this._webStandardTransport.onerror}set onmessage(e){this._webStandardTransport.onmessage=e}get onmessage(){return this._webStandardTransport.onmessage}async start(){return this._webStandardTransport.start()}async close(){return this._webStandardTransport.close()}async send(e,t){return this._webStandardTransport.send(e,t)}async handleRequest(e,t,n){let r=e.auth;await ne(async e=>this._webStandardTransport.handleRequest(e,{authInfo:r,parsedBody:n}),{overrideGlobalObjects:!1})(e,t)}closeSSEStream(e){this._webStandardTransport.closeSSEStream(e)}closeStandaloneSSEStream(){this._webStandardTransport.closeStandaloneSSEStream()}};async function mr(e){await new Promise((t,n)=>{e.close(e=>{if(e&&e.code!==`ERR_SERVER_NOT_RUNNING`){n(e);return}t()})})}async function hr(e,t,n){return new Promise((r,i)=>{let a=t=>{e.off(`error`,o),n(t).then(()=>i(t),e=>i(AggregateError([t,e],`Failed during MCP server startup`)))},o=e=>a(e);e.once(`error`,o);try{e.listen(t,`127.0.0.1`,()=>{let t=e.address();if(!t||typeof t==`string`){a(Error(`Unexpected server address format`));return}e.off(`error`,o),r(t.port)})}catch(e){a(e instanceof Error?e:Error(String(e)))}})}function Z(e,t,n){return{status:e,body:{jsonrpc:`2.0`,error:{code:t,message:n},id:null}}}const gr=Z(404,-32001,`Session not found`),_r=Z(400,-32e3,`Bad Request: Mcp-Session-Id header is required`),vr=Z(503,-32e3,`Server is shutting down`),Q=Z(500,-32603,`Internal server error`);function yr(e){switch(e){case`unknown-session`:return gr;case`session-id-required`:return _r;case`closed`:return vr;case`create-failed`:return Q}}function br(e,t){e.writeHead(t.status,{"Content-Type":`application/json`}),e.end(JSON.stringify(t.body))}function xr(e){return new Response(JSON.stringify(e.body),{status:e.status,headers:{"Content-Type":`application/json`}})}var Sr=class{registry=new Map;register(e,t){this.registry.set(e,t)}get(e){return this.registry.get(e)}unregister(e){this.registry.delete(e)}};function Cr(e,t){typeof process>`u`||process.env?.MAKAIO_DEBUG!==`true`||console.debug(`[McpTransportRegistry] ${e}`,t)}function wr(e,t){let n=setInterval(e,t);return typeof n==`object`&&typeof n.unref==`function`&&n.unref(),n}function Tr(e){console.error(`[MCP Server] Failed to close an MCP client session:`,e)}function Er(e){return console.error(`[MCP Server] Failed to create an MCP client session:`,e),{outcome:`create-failed`,error:e}}function Dr(e,t){let n=e.getReader();return new ReadableStream({async pull(e){try{let{done:r,value:i}=await n.read();if(r){e.close(),t();return}e.enqueue(i)}catch(n){e.error(n),t()}},async cancel(e){t(),await n.cancel(e)}})}var Or=class{sessions=new Map;pending=new Set;startups=new Set;disposals=new Set;createSession;idleTimeoutMs;sweepTimer;closed=!1;closePromise;constructor(e){this.createSession=e.createSession,this.idleTimeoutMs=Qn(e.idleTimeoutMs,`idleTimeoutMs`)??6e5;let t=er(e.sweepIntervalMs,`sweepIntervalMs`)??6e4;this.sweepTimer=wr(()=>this.sweep(),t)}get size(){return this.sessions.size}async route(e){let t=await this.resolve(e);return Cr(`routed request`,{method:e.method,mcpSessionId:e.mcpSessionId,outcome:t.outcome,sessions:this.sessions.size}),t}closeAll(){return this.closePromise??=this.drainAll()}async drainAll(){this.closed=!0,clearInterval(this.sweepTimer),await Promise.allSettled(this.startups);let e=[...this.sessions.values(),...this.pending];this.sessions.clear(),this.pending.clear(),await Xn([...e.map(e=>e.server.close()),...this.disposals],`Failed to close MCP client sessions`)}disposeInBackground(e){let t=e.server.close();this.disposals.add(t),t.catch(Tr).finally(()=>this.disposals.delete(t))}async resolve(e){if(this.closed)return{outcome:`closed`};if(e.mcpSessionId!==void 0){let t=this.sessions.get(e.mcpSessionId);return t?this.lease(t):{outcome:`unknown-session`}}return e.method===`POST`?this.createPending():{outcome:`session-id-required`}}lease(e){e.openExchanges+=1,e.lastActivity=Date.now();let t=!1;return{outcome:`dispatch`,transport:e.transport,finish:()=>{t||(t=!0,--e.openExchanges,e.lastActivity=Date.now(),this.pending.delete(e)&&this.disposeInBackground(e))}}}async createPending(){let e=this.buildAndLeasePending();this.startups.add(e);try{return await e}finally{this.startups.delete(e)}}async buildAndLeasePending(){let e=e=>{this.pending.delete(i)&&this.sessions.set(e,i)},t;try{t=await this.createSession({onSessionInitialized:e})}catch(e){return Er(e)}let{transport:n,server:r}=t;n.onclose=()=>{let e=n.sessionId;e!==void 0&&this.sessions.delete(e)};try{await Yn(r,n,()=>r.close(),`MCP client session`)}catch(e){return Er(e)}let i={transport:n,server:r,lastActivity:Date.now(),openExchanges:0};return this.pending.add(i),this.closed?{outcome:`closed`}:this.lease(i)}sweep(){let e=Date.now()-this.idleTimeoutMs;for(let[t,n]of[...this.sessions])n.openExchanges>0||n.lastActivity>=e||(this.sessions.delete(t),this.disposeInBackground(n))}};function kr(e,t,n){Zn(t.toolExecutionTimeoutMs);let r=new Sr,i=t.agentContext?.adapterSessionId??crypto.randomUUID();t.agentContext&&r.register(i,t.agentContext);let a=new Or({createSession:async a=>{let o=n(a);return{server:await sr(e,i,{contextRegistry:r,toolDiscovery:t.toolDiscovery,resolveContextOverrides:t.resolveContextOverrides,toolExecutionTimeoutMs:t.toolExecutionTimeoutMs}),transport:o}},idleTimeoutMs:t.idleTimeoutMs,sweepIntervalMs:t.sweepIntervalMs}),o=qn(t.onclose);return{registry:a,contextRegistry:r,close:Jn(()=>a.closeAll().finally(o))}}function Ar(e){let t=e.url??`/`,n=t.indexOf(`?`);if(n===-1)return;let r=new URLSearchParams(t.slice(n+1)).get(tr);r&&(e.headers[X]=r,Object.defineProperty(e,`rawHeaders`,{value:[...e.rawHeaders,X,r],configurable:!0}))}function jr(e){let t=e.headers[`mcp-session-id`];return Array.isArray(t)?t[0]:t}async function Mr(e,t={}){let n=kr(e,t,e=>new pr({sessionIdGenerator:()=>crypto.randomUUID(),onsessioninitialized:t=>e.onSessionInitialized(t)})),r=async(e,t)=>{let r=await n.registry.route({method:e.method??`GET`,mcpSessionId:jr(e)});if(r.outcome!==`dispatch`){br(t,yr(r.outcome));return}if(t.once(`close`,r.finish),t.closed){r.finish();return}await r.transport.handleRequest(e,t)};return{handler:(e,t)=>{Ar(e),r(e,t).catch(e=>{console.error(`[MCP Server] Failed to handle request:`,e),!t.headersSent&&!t.writableEnded&&br(t,Q)})},contextRegistry:n.contextRegistry,close:n.close}}async function Nr(e,t={}){let n=await Mr(e,t),r=te.createServer(n.handler),i=await hr(r,t.port??0,async()=>{await Promise.allSettled([n.close(),mr(r)])});console.error(`[MCP Server] HTTP transport listening on port ${i}`);let a=Jn(async()=>{r.closeAllConnections(),await Xn([n.close(),mr(r)],`Failed to close HTTP MCP server resources`)});return{port:i,contextRegistry:n.contextRegistry,close:a}}async function Pr(e,t,n={transport:`stdio`}){if(n.transport===`http`)return Nr(e,n);let r=await sr(e,t,{toolDiscovery:n.toolDiscovery,resolveContextOverrides:n.resolveContextOverrides,toolExecutionTimeoutMs:n.toolExecutionTimeoutMs}),i=new dr,a=process.stdin,o=qn(n.onclose),s=Jn(async()=>{a.off(`end`,c),a.off(`close`,c),await r.close().finally(o)}),c=()=>{s().catch(e=>{console.error(`[MCP Server] Error closing server on stdin EOF:`,e)})};return i.onclose=()=>{a.off(`end`,c),a.off(`close`,c),o()},a.once(`end`,c),a.once(`close`,c),await Yn(r,i,s,`stdio MCP server`),console.error(`[MCP Server] Started and listening on stdio`),{close:async()=>{await s()}}}function Fr(e){if(!e.url.includes(`adapterSessionId`))return e;let t=new URL(e.url).searchParams.get(tr);if(!t)return e;let n=new Headers(e.headers);return n.set(X,t),new Request(e,{headers:n})}async function Ir(e,t={}){let n=kr(e,t,e=>new fr({sessionIdGenerator:()=>crypto.randomUUID(),onsessioninitialized:t=>e.onSessionInitialized(t)}));return{handler:async e=>{let t;try{let r=Fr(e);if(t=await n.registry.route({method:r.method,mcpSessionId:r.headers.get(`mcp-session-id`)??void 0}),t.outcome!==`dispatch`)return xr(yr(t.outcome));let i=await t.transport.handleRequest(r);return i.body===null?(t.finish(),i):new Response(Dr(i.body,t.finish),{status:i.status,statusText:i.statusText,headers:i.headers})}catch(e){return t?.outcome===`dispatch`&&t.finish(),console.error(`[MCP Server] Failed to handle request:`,e),xr(Q)}},contextRegistry:n.contextRegistry,close:n.close}}var Lr=class extends c{mcpHandle=null;startPromise=null;sessions=new r({maxSize:1e3,onEviction:e=>{this.mcpHandle?.contextRegistry.unregister(e)}});pinnedSessions=new Map;constructor(e){super(e)}async onInit(){this.registerHandler(o.session.register,async e=>{let{adapterSessionId:t,agentId:n,adapterId:r,adapterName:i,sessionId:a,contextOverrides:o,pinned:s}=e.payload,c=await this.ensureStarted();c.contextRegistry.register(t,{agentId:n,adapterId:r,adapterName:i,adapterSessionId:t,sessionId:a});let l={agentId:n,adapterId:r,adapterName:i,sessionId:a,contextOverrides:o,lastActivity:Date.now(),pinned:s??!1};this.pinnedSessions.delete(t),this.sessions.delete(t),s?(this.pinnedSessions.set(t,l),this.pinnedSessions.size>100&&console.warn(`[McpServerBridgeService] pinnedSessions size (${this.pinnedSessions.size}) exceeds the safety cap of 100. This likely indicates a bug in the unregister path — sessions are not being released.`)):this.sessions.set(t,l),e.setResult({port:c.port})}),this.registerHandler(o.session.unregister,e=>{let{adapterSessionId:t}=e.payload;this.pinnedSessions.delete(t),this.sessions.delete(t),this.mcpHandle?.contextRegistry.unregister(t),e.setResult({})});let e=setInterval(()=>{let e=Date.now()-18e5;for(let[t,n]of this.sessions)n.lastActivity<e&&(this.sessions.delete(t),this.mcpHandle?.contextRegistry.unregister(t))},6e4);e.unref(),this.addCleanup(()=>clearInterval(e))}resolveOverrides(e){let t=this.pinnedSessions.get(e);if(t)return t.lastActivity=Date.now(),t.contextOverrides;let n=this.sessions.get(e);return n&&(n.lastActivity=Date.now()),n?.contextOverrides}async ensureStarted(){return this.mcpHandle?this.mcpHandle:(this.startPromise||=Nr(this.bus,{resolveContextOverrides:e=>{if(e)return this.resolveOverrides(e)},onclose:()=>{this.startPromise=null;let e=this.mcpHandle;for(let[t]of this.pinnedSessions)e?.contextRegistry.unregister(t);this.pinnedSessions.clear();for(let[t]of this.sessions)e?.contextRegistry.unregister(t);this.sessions.clear(),this.mcpHandle=null}}).then(async e=>{if(this.startPromise=null,!this.initialized)throw await e.close(),Error(`MCP server bridge was destroyed during startup`);return this.mcpHandle=e,this.addCleanup(()=>e.close()),e}).catch(e=>{throw this.startPromise=null,e}),this.startPromise)}},Rr=class{constructor(e){this._client=e}async*callToolStream(e,t=U,n){let r=this._client,i={...n,task:n?.task??(r.isToolTask(e.name)?{}:void 0)},a=r.requestStream({method:`tools/call`,params:e},t,i),o=r.getToolOutputValidator(e.name);for await(let t of a){if(t.type===`result`&&o){let n=t.result;if(!n.structuredContent&&!n.isError){yield{type:`error`,error:new J(j.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`)};return}if(n.structuredContent)try{let e=o(n.structuredContent);if(!e.valid){yield{type:`error`,error:new J(j.InvalidParams,`Structured content does not match the tool's output schema: ${e.errorMessage}`)};return}}catch(e){if(e instanceof J){yield{type:`error`,error:e};return}yield{type:`error`,error:new J(j.InvalidParams,`Failed to validate structured content: ${e instanceof Error?e.message:String(e)}`)};return}}yield t}}async getTask(e,t){return this._client.getTask({taskId:e},t)}async getTaskResult(e,t,n){return this._client.getTaskResult({taskId:e},t,n)}async listTasks(e,t){return this._client.listTasks(e?{cursor:e}:void 0,t)}async cancelTask(e,t){return this._client.cancelTask({taskId:e},t)}requestStream(e,t,n){return this._client.requestStream(e,t,n)}};function $(e,t){if(!(!e||typeof t!=`object`||!t)){if(e.type===`object`&&e.properties&&typeof e.properties==`object`){let n=t,r=e.properties;for(let e of Object.keys(r)){let t=r[e];n[e]===void 0&&Object.prototype.hasOwnProperty.call(t,`default`)&&(n[e]=t.default),n[e]!==void 0&&$(t,n[e])}}if(Array.isArray(e.anyOf))for(let n of e.anyOf)typeof n!=`boolean`&&$(n,t);if(Array.isArray(e.oneOf))for(let n of e.oneOf)typeof n!=`boolean`&&$(n,t)}}function zr(e){if(!e)return{supportsFormMode:!1,supportsUrlMode:!1};let t=e.form!==void 0,n=e.url!==void 0;return{supportsFormMode:t||!t&&!n,supportsUrlMode:n}}var Br=class extends kn{constructor(e,t){super(t),this._clientInfo=e,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._listChangedDebounceTimers=new Map,this._capabilities=t?.capabilities??{},this._jsonSchemaValidator=t?.jsonSchemaValidator??new Fn,t?.listChanged&&(this._pendingListChangedConfig=t.listChanged)}_setupListChangedHandlers(e){e.tools&&this._serverCapabilities?.tools?.listChanged&&this._setupListChangedHandler(`tools`,Lt,e.tools,async()=>(await this.listTools()).tools),e.prompts&&this._serverCapabilities?.prompts?.listChanged&&this._setupListChangedHandler(`prompts`,kt,e.prompts,async()=>(await this.listPrompts()).prompts),e.resources&&this._serverCapabilities?.resources?.listChanged&&this._setupListChangedHandler(`resources`,st,e.resources,async()=>(await this.listResources()).resources)}get experimental(){return this._experimental||={tasks:new Rr(this)},this._experimental}registerCapabilities(e){if(this.transport)throw Error(`Cannot register capabilities after connecting to transport`);this._capabilities=jn(this._capabilities,e)}setRequestHandler(e,t){let n=re(e)?.method;if(!n)throw Error(`Schema is missing a method literal`);let r;if(_(n)){let e=n;r=e._zod?.def?.value??e.value}else{let e=n;r=e._def?.value??e.value}if(typeof r!=`string`)throw Error(`Schema method literal must be a string`);let i=r;return i===`elicitation/create`?super.setRequestHandler(e,async(e,n)=>{let r=v(mn,e);if(!r.success){let e=r.error instanceof Error?r.error.message:String(r.error);throw new J(j.InvalidParams,`Invalid elicitation request: ${e}`)}let{params:i}=r.data;i.mode=i.mode??`form`;let{supportsFormMode:a,supportsUrlMode:o}=zr(this._capabilities.elicitation);if(i.mode===`form`&&!a)throw new J(j.InvalidParams,`Client does not support form-mode elicitation requests`);if(i.mode===`url`&&!o)throw new J(j.InvalidParams,`Client does not support URL-mode elicitation requests`);let s=await Promise.resolve(t(e,n));if(i.task){let e=v(z,s);if(!e.success){let t=e.error instanceof Error?e.error.message:String(e.error);throw new J(j.InvalidParams,`Invalid task creation result: ${t}`)}return e.data}let c=v(q,s);if(!c.success){let e=c.error instanceof Error?c.error.message:String(c.error);throw new J(j.InvalidParams,`Invalid elicitation result: ${e}`)}let l=c.data,u=i.mode===`form`?i.requestedSchema:void 0;if(i.mode===`form`&&l.action===`accept`&&l.content&&u&&this._capabilities.elicitation?.form?.applyDefaults)try{$(u,l.content)}catch{}return l}):i===`sampling/createMessage`?super.setRequestHandler(e,async(e,n)=>{let r=v(Xt,e);if(!r.success){let e=r.error instanceof Error?r.error.message:String(r.error);throw new J(j.InvalidParams,`Invalid sampling request: ${e}`)}let{params:i}=r.data,a=await Promise.resolve(t(e,n));if(i.task){let e=v(z,a);if(!e.success){let t=e.error instanceof Error?e.error.message:String(e.error);throw new J(j.InvalidParams,`Invalid task creation result: ${t}`)}return e.data}let o=v(i.tools||i.toolChoice?Zt:K,a);if(!o.success){let e=o.error instanceof Error?o.error.message:String(o.error);throw new J(j.InvalidParams,`Invalid sampling result: ${e}`)}return o.data}):super.setRequestHandler(e,t)}assertCapability(e,t){if(!this._serverCapabilities?.[e])throw Error(`Server does not support ${e} (required for ${t})`)}async connect(e,t){if(await super.connect(e),e.sessionId===void 0)try{let n=await this.request({method:`initialize`,params:{protocolVersion:ae,capabilities:this._capabilities,clientInfo:this._clientInfo}},je,t);if(n===void 0)throw Error(`Server sent invalid initialize result: ${n}`);if(!y.includes(n.protocolVersion))throw Error(`Server's protocol version is not supported: ${n.protocolVersion}`);this._serverCapabilities=n.capabilities,this._serverVersion=n.serverInfo,e.setProtocolVersion&&e.setProtocolVersion(n.protocolVersion),this._instructions=n.instructions,await this.notification({method:`notifications/initialized`}),this._pendingListChangedConfig&&=(this._setupListChangedHandlers(this._pendingListChangedConfig),void 0)}catch(e){throw this.close(),e}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(e){switch(e){case`logging/setLevel`:if(!this._serverCapabilities?.logging)throw Error(`Server does not support logging (required for ${e})`);break;case`prompts/get`:case`prompts/list`:if(!this._serverCapabilities?.prompts)throw Error(`Server does not support prompts (required for ${e})`);break;case`resources/list`:case`resources/templates/list`:case`resources/read`:case`resources/subscribe`:case`resources/unsubscribe`:if(!this._serverCapabilities?.resources)throw Error(`Server does not support resources (required for ${e})`);if(e===`resources/subscribe`&&!this._serverCapabilities.resources.subscribe)throw Error(`Server does not support resource subscriptions (required for ${e})`);break;case`tools/call`:case`tools/list`:if(!this._serverCapabilities?.tools)throw Error(`Server does not support tools (required for ${e})`);break;case`completion/complete`:if(!this._serverCapabilities?.completions)throw Error(`Server does not support completions (required for ${e})`);break;case`initialize`:break;case`ping`:break}}assertNotificationCapability(e){switch(e){case`notifications/roots/list_changed`:if(!this._capabilities.roots?.listChanged)throw Error(`Client does not support roots list changed notifications (required for ${e})`);break;case`notifications/initialized`:break;case`notifications/cancelled`:break;case`notifications/progress`:break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case`sampling/createMessage`:if(!this._capabilities.sampling)throw Error(`Client does not support sampling capability (required for ${e})`);break;case`elicitation/create`:if(!this._capabilities.elicitation)throw Error(`Client does not support elicitation capability (required for ${e})`);break;case`roots/list`:if(!this._capabilities.roots)throw Error(`Client does not support roots capability (required for ${e})`);break;case`tasks/get`:case`tasks/list`:case`tasks/result`:case`tasks/cancel`:if(!this._capabilities.tasks)throw Error(`Client does not support tasks capability (required for ${e})`);break;case`ping`:break}}assertTaskCapability(e){Ln(this._serverCapabilities?.tasks?.requests,e,`Server`)}assertTaskHandlerCapability(e){this._capabilities&&Rn(this._capabilities.tasks?.requests,e,`Client`)}async ping(e){return this.request({method:`ping`},N,e)}async complete(e,t){return this.request({method:`completion/complete`,params:e},xn,t)}async setLoggingLevel(e,t){return this.request({method:`logging/setLevel`,params:{level:e}},N,t)}async getPrompt(e,t){return this.request({method:`prompts/get`,params:e},Ot,t)}async listPrompts(e,t){return this.request({method:`prompts/list`,params:e},_t,t)}async listResources(e,t){return this.request({method:`resources/list`,params:e},et,t)}async listResourceTemplates(e,t){return this.request({method:`resources/templates/list`,params:e},nt,t)}async readResource(e,t){return this.request({method:`resources/read`,params:e},ot,t)}async subscribeResource(e,t){return this.request({method:`resources/subscribe`,params:e},N,t)}async unsubscribeResource(e,t){return this.request({method:`resources/unsubscribe`,params:e},N,t)}async callTool(e,t=U,n){if(this.isToolTaskRequired(e.name))throw new J(j.InvalidRequest,`Tool "${e.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);let r=await this.request({method:`tools/call`,params:e},t,n),i=this.getToolOutputValidator(e.name);if(i){if(!r.structuredContent&&!r.isError)throw new J(j.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`);if(r.structuredContent)try{let e=i(r.structuredContent);if(!e.valid)throw new J(j.InvalidParams,`Structured content does not match the tool's output schema: ${e.errorMessage}`)}catch(e){throw e instanceof J?e:new J(j.InvalidParams,`Failed to validate structured content: ${e instanceof Error?e.message:String(e)}`)}}return r}isToolTask(e){return this._serverCapabilities?.tasks?.requests?.tools?.call?this._cachedKnownTaskTools.has(e):!1}isToolTaskRequired(e){return this._cachedRequiredTaskTools.has(e)}cacheToolMetadata(e){this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(let t of e){if(t.outputSchema){let e=this._jsonSchemaValidator.getValidator(t.outputSchema);this._cachedToolOutputValidators.set(t.name,e)}let e=t.execution?.taskSupport;(e===`required`||e===`optional`)&&this._cachedKnownTaskTools.add(t.name),e===`required`&&this._cachedRequiredTaskTools.add(t.name)}}getToolOutputValidator(e){return this._cachedToolOutputValidators.get(e)}async listTools(e,t){let n=await this.request({method:`tools/list`,params:e},Pt,t);return this.cacheToolMetadata(n.tools),n}_setupListChangedHandler(e,t,n,r){let i=Rt.safeParse(n);if(!i.success)throw Error(`Invalid ${e} listChanged options: ${i.error.message}`);if(typeof n.onChanged!=`function`)throw Error(`Invalid ${e} listChanged options: onChanged must be a function`);let{autoRefresh:a,debounceMs:o}=i.data,{onChanged:s}=n,c=async()=>{if(!a){s(null,null);return}try{s(null,await r())}catch(e){s(e instanceof Error?e:Error(String(e)),null)}};this.setNotificationHandler(t,()=>{if(o){let t=this._listChangedDebounceTimers.get(e);t&&clearTimeout(t);let n=setTimeout(c,o);this._listChangedDebounceTimers.set(e,n)}else c()})}async sendRootsListChanged(){return this.notification({method:`notifications/roots/list_changed`})}},Vr=e(i(),1);const Hr=m.platform===`win32`?[`APPDATA`,`HOMEDRIVE`,`HOMEPATH`,`LOCALAPPDATA`,`PATH`,`PROCESSOR_ARCHITECTURE`,`SYSTEMDRIVE`,`SYSTEMROOT`,`TEMP`,`USERNAME`,`USERPROFILE`,`PROGRAMFILES`]:[`HOME`,`LOGNAME`,`PATH`,`SHELL`,`TERM`,`USER`];function Ur(){let e={};for(let t of Hr){let n=m.env[t];n!==void 0&&(n.startsWith(`()`)||(e[t]=n))}return e}var Wr=class{constructor(e){this._readBuffer=new cr,this._stderrStream=null,this._serverParams=e,(e.stderr===`pipe`||e.stderr===`overlapped`)&&(this._stderrStream=new h)}async start(){if(this._process)throw Error(`StdioClientTransport already started! If using Client class, note that connect() calls start() automatically.`);return new Promise((e,t)=>{this._process=(0,Vr.default)(this._serverParams.command,this._serverParams.args??[],{env:{...Ur(),...this._serverParams.env},stdio:[`pipe`,`pipe`,this._serverParams.stderr??`inherit`],shell:!1,windowsHide:m.platform===`win32`,cwd:this._serverParams.cwd}),this._process.on(`error`,e=>{t(e),this.onerror?.(e)}),this._process.on(`spawn`,()=>{e()}),this._process.on(`close`,e=>{this._process=void 0,this.onclose?.()}),this._process.stdin?.on(`error`,e=>{this.onerror?.(e)}),this._process.stdout?.on(`data`,e=>{this._readBuffer.append(e),this.processReadBuffer()}),this._process.stdout?.on(`error`,e=>{this.onerror?.(e)}),this._stderrStream&&this._process.stderr&&this._process.stderr.pipe(this._stderrStream)})}get stderr(){return this._stderrStream?this._stderrStream:this._process?.stderr??null}get pid(){return this._process?.pid??null}processReadBuffer(){for(;;)try{let e=this._readBuffer.readMessage();if(e===null)break;this.onmessage?.(e)}catch(e){this.onerror?.(e)}}async close(){if(this._process){let e=this._process;this._process=void 0;let t=new Promise(t=>{e.once(`close`,()=>{t()})});try{e.stdin?.end()}catch{}if(await Promise.race([t,new Promise(e=>setTimeout(e,2e3).unref())]),e.exitCode===null){try{e.kill(`SIGTERM`)}catch{}await Promise.race([t,new Promise(e=>setTimeout(e,2e3).unref())])}if(e.exitCode===null)try{e.kill(`SIGKILL`)}catch{}}this._readBuffer.clear()}send(e){return new Promise(t=>{if(!this._process?.stdin)throw Error(`Not connected`);let n=ur(e);this._process.stdin.write(n)?t():this._process.stdin.once(`drain`,t)})}};function Gr(e){return{name:e.name,description:e.description??``,inputSchema:e.inputSchema}}function Kr(e){if(!(typeof e!=`object`||!e||Array.isArray(e)))return Object.fromEntries(Object.entries(e))}function qr(e,t){return e.map(e=>({name:e.name,description:e.description,toolsetName:t,inputSchema:Kr(e.inputSchema)}))}function Jr(e){return e.isError===!0?f(l.EXECUTION_ERROR,`MCP tool returned an error result`,e):p(e)}function Yr(e){return typeof e==`object`&&e&&!Array.isArray(e)?Object.fromEntries(Object.entries(e)):{}}function Xr(e){let{bus:t,client:n,extensionName:r,toolsetName:i,priority:a,getTools:o}=e;return[t.on(s.list,async e=>{await e.next();let t=e.result,n=o(),a=qr(n,i),s=e.payload.toolsetName===void 0||e.payload.toolsetName===i;e.setResult({tools:[...t?.tools??[],...s?a:[]],toolsets:[...t?.toolsets??[],...s?[{name:i,description:`MCP tools exposed by ${r}`,version:`1.0.0`,toolCount:n.length}]:[]]})},{priority:a}),t.on(s.execute,async e=>{let t=o().find(t=>t.name===e.payload.toolName);if(!t){await e.next();return}try{let r=await n.callTool({name:t.name,arguments:Yr(e.payload.input)});e.setResult(Jr(r))}catch(t){e.setResult(d(t))}},{priority:a})]}function Zr(e,t,n){return new Br({name:`makaio-${e}`,version:`1.0.0`},{...t?{listChanged:{tools:{autoRefresh:!0,onChanged:(t,r)=>{if(t){console.error(`[McpClientBridge:${e}] Failed to refresh tools:`,t);return}n((r??[]).map(Gr))}}}}:{}})}function Qr(e,t,n){e&&(t.revision+=1,e.emit(s.registryChanged,{revision:t.revision,reason:n,toolsetName:t.toolsetName}).catch(e=>{console.error(`[McpClientBridge:${t.extensionName}] Failed to emit tool registry change:`,e)}))}async function $r(e){let{command:t,args:n=[],env:r,cwd:i,extensionName:a,onToolsChanged:o,bus:s,toolsetName:c=a,busHandlerPriority:l=100}=e,u=[],d={revision:0,extensionName:a,toolsetName:c},f=[],p=e=>{u=e,o?.(e),Qr(s,d,`plugin-loaded`)},m=new Wr({command:t,args:[...n],env:r?{...r}:void 0,cwd:i}),h=Zr(a,o!==void 0||s!==void 0,p);await h.connect(m);try{u=((await h.listTools()).tools??[]).map(Gr)}catch(e){throw await h.close(),e}s&&(f.push(...Xr({bus:s,client:h,extensionName:a,toolsetName:c,priority:l,getTools:()=>u})),Qr(s,d,`toolset-registered`));let g=!1;return{get tools(){return u},get toolNames(){return u.map(e=>e.name)},async callTool(e,t){if(g)throw Error(`MCP bridge is closed`);let n={name:e,arguments:t};return h.callTool(n)},async close(){if(!g){for(g=!0;f.length>0;)f.pop()?.();Qr(s,d,`toolset-unregistered`),await h.close()}}}}export{X as ADAPTER_SESSION_ID_HEADER,tr as ADAPTER_SESSION_ID_PARAM,Bn as APPROVE_TOOL_NAME,Sr as McpContextRegistry,Lr as McpServerBridgeService,Or as McpTransportRegistry,Ir as createFetchMcpHandler,Mr as createHttpMcpHandler,kr as createMcpEndpoint,sr as createMcpServer,Gn as resolveMcpTools,Nr as startHttpMcpServer,$r as startMcpClientBridge,Pr as startMcpServer,Kn as toolInfoToMcpTool};
@@ -67,8 +67,8 @@ declare const ExecutionTargetNamespace: _$_makaio_core0.BusNamespaceDefinition<"
67
67
  name: _$zod.ZodString;
68
68
  image: _$zod.ZodOptional<_$zod.ZodString>;
69
69
  enabled: _$zod.ZodBoolean;
70
- busUrl: _$zod.ZodOptional<_$zod.ZodString>;
71
70
  scope: _$zod.ZodString;
71
+ busUrl: _$zod.ZodOptional<_$zod.ZodString>;
72
72
  }, _$zod_v4_core0.$strip>, _$zod.ZodObject<{
73
73
  type: _$zod.ZodLiteral<"container-isolated">;
74
74
  id: _$zod.ZodString;
@@ -338,8 +338,8 @@ declare const ExecutionTargetSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
338
338
  name: _$zod.ZodString;
339
339
  image: _$zod.ZodOptional<_$zod.ZodString>;
340
340
  enabled: _$zod.ZodBoolean;
341
- busUrl: _$zod.ZodOptional<_$zod.ZodString>;
342
341
  scope: _$zod.ZodString;
342
+ busUrl: _$zod.ZodOptional<_$zod.ZodString>;
343
343
  }, _$zod_v4_core0.$strip>, _$zod.ZodObject<{
344
344
  type: _$zod.ZodLiteral<"container-isolated">;
345
345
  id: _$zod.ZodString;
@@ -334,9 +334,9 @@ declare const MessageStorageNamespace$1: {
334
334
  output: _$zod.ZodString;
335
335
  isError: _$zod.ZodOptional<_$zod.ZodBoolean>;
336
336
  }, _$zod_v4_core0.$strip>], "type">>;
337
+ adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
337
338
  agentId: _$zod.ZodOptional<_$zod.ZodString>;
338
339
  turnId: _$zod.ZodNullable<_$zod.ZodString>;
339
- adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
340
340
  timestamp: _$zod.ZodNumber;
341
341
  contentText: _$zod.ZodString;
342
342
  adapterMessageId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -1119,9 +1119,9 @@ declare const MessageStorageNamespace$1: {
1119
1119
  output: _$zod.ZodString;
1120
1120
  isError: _$zod.ZodOptional<_$zod.ZodBoolean>;
1121
1121
  }, _$zod_v4_core0.$strip>], "type">>;
1122
+ adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
1122
1123
  agentId: _$zod.ZodOptional<_$zod.ZodString>;
1123
1124
  turnId: _$zod.ZodNullable<_$zod.ZodString>;
1124
- adapterSessionId: _$zod.ZodOptional<_$zod.ZodString>;
1125
1125
  timestamp: _$zod.ZodNumber;
1126
1126
  contentText: _$zod.ZodString;
1127
1127
  adapterMessageId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -1964,8 +1964,8 @@ declare const MessageStorageNamespace$1: {
1964
1964
  timestamp: number;
1965
1965
  contentText: string;
1966
1966
  origin?: "text" | "compact" | "voice" | undefined;
1967
- agentId?: string | undefined;
1968
1967
  adapterSessionId?: string | undefined;
1968
+ agentId?: string | undefined;
1969
1969
  adapterMessageId?: string | undefined;
1970
1970
  editOf?: string | undefined;
1971
1971
  messageId?: string | undefined;
@@ -2029,11 +2029,11 @@ declare const MessageStorageNamespace$1: {
2029
2029
  isError?: boolean | undefined;
2030
2030
  })[];
2031
2031
  messageId: string;
2032
+ adapterSessionId: never;
2032
2033
  agentId: never;
2033
2034
  turnId: string | null;
2034
- adapterSessionId: never;
2035
- timestamp: number;
2036
2035
  limit: never;
2036
+ timestamp: number;
2037
2037
  query: string;
2038
2038
  contentText: string;
2039
2039
  adapterMessageId: string;
@@ -0,0 +1 @@
1
+ import{t as e}from"./schemas-dPLES84M.mjs";import{createBusNamespace as t}from"@makaio/framework/core";const n=t(`kernel:cli`,e),r=n.subjects;export{r as n,n as t};
@@ -1 +1 @@
1
- import{sessionsDual as e}from"./services/session/storage/schema.mjs";import{n as t}from"./schema-BnuyCklU.mjs";import{t as n}from"./schema-Cz6-4_Dn.mjs";import{SessionEventStorageNamespace as r,SessionEventStorageSubjects as i}from"@makaio/framework/contracts";import{index as a}from"drizzle-orm/sqlite-core";import{customType as o,index as s,pgTable as c,text as l,uniqueIndex as u}from"drizzle-orm/pg-core";import{defineDialectSchema as d,defineDualTable as f}from"@makaio/framework/storage/drizzle";import{sql as p}from"drizzle-orm";import{epochMs as m}from"@makaio/framework/storage/drizzle/columns/postgres";const h=o({dataType(){return`tsvector`}}),g=c(`messages`,{messageId:l(`message_id`).primaryKey(),turnId:l(`turn_id`).references(()=>t.postgres.turnId,{onDelete:`cascade`}),sessionId:l(`session_id`).notNull().references(()=>e.postgres.sessionId,{onDelete:`cascade`}),role:l(`role`,{enum:[`user`,`assistant`]}).notNull(),contentText:l(`content_text`).notNull(),blocks:l(`blocks`).notNull().default(`[]`),agentId:l(`agent_id`),adapterSessionId:l(`adapter_session_id`),adapterMessageId:l(`adapter_message_id`),timestamp:m(`timestamp`).notNull(),editOf:l(`edit_of`).references(()=>g.messageId),origin:l(`origin`,{enum:[`voice`,`text`,`compact`]}),contentTsv:h(`content_tsv`).generatedAlwaysAs(p`to_tsvector('english', coalesce(content_text, ''))`)},e=>[s(`idx_messages_session`).on(e.sessionId,e.timestamp),s(`idx_messages_turn`).on(e.turnId,e.timestamp),s(`idx_messages_agent`).on(e.agentId,e.timestamp),u(`uniq_messages_adapter_message_id_session`).on(e.adapterMessageId,e.sessionId),s(`idx_messages_content_tsv`).using(`gin`,e.contentTsv)]),_=d({messages:n},{messages:g}),v=()=>({sqlite:n.messageId,postgres:g.messageId}),y=f(`session_events`,t=>({id:t.autoPk(`id`),sessionId:t.text(`session_id`).notNull().references(()=>e.columnPair(`sessionId`),{onDelete:`cascade`}),eventId:t.text(`event_id`).notNull().unique(),timestamp:t.epochMs(`timestamp`).notNull(),type:t.text(`type`).notNull(),agentId:t.text(`agent_id`),adapterId:t.text(`adapter_id`),originatingMessageId:t.text(`originating_message_id`),messageId:t.text(`message_id`).references(v,{onDelete:`cascade`}),turnId:t.text(`turn_id`),contentText:t.text(`content_text`),payload:t.text(`payload`).notNull()}),{sqlite:e=>[a(`idx_events_session_ts`).on(e.sessionId,e.timestamp),a(`idx_events_session_type`).on(e.sessionId,e.type),a(`idx_events_turn`).on(e.turnId),a(`idx_events_originating_message`).on(e.originatingMessageId)],postgres:e=>[s(`idx_events_session_ts`).on(e.sessionId,e.timestamp),s(`idx_events_session_type`).on(e.sessionId,e.type),s(`idx_events_turn`).on(e.turnId),s(`idx_events_originating_message`).on(e.originatingMessageId)]}),b=y.sqlite,x={...r,extensions:{drizzle:{sessionEvents:b}}};export{v as a,y as i,i as n,_ as o,b as r,x as t};
1
+ import{sessionsDual as e}from"./services/session/storage/schema.mjs";import{n as t}from"./schema-CdUStsjr.mjs";import{t as n}from"./schema-C0lK_6u-.mjs";import{SessionEventStorageNamespace as r,SessionEventStorageSubjects as i}from"@makaio/framework/contracts";import{index as a}from"drizzle-orm/sqlite-core";import{customType as o,index as s,pgTable as c,text as l,uniqueIndex as u}from"drizzle-orm/pg-core";import{defineDialectSchema as d,defineDualTable as f}from"@makaio/framework/storage/drizzle";import{sql as p}from"drizzle-orm";import{epochMs as m}from"@makaio/framework/storage/drizzle/columns/postgres";const h=o({dataType(){return`tsvector`}}),g=c(`messages`,{messageId:l(`message_id`).primaryKey(),turnId:l(`turn_id`).references(()=>t.postgres.turnId,{onDelete:`cascade`}),sessionId:l(`session_id`).notNull().references(()=>e.postgres.sessionId,{onDelete:`cascade`}),role:l(`role`,{enum:[`user`,`assistant`]}).notNull(),contentText:l(`content_text`).notNull(),blocks:l(`blocks`).notNull().default(`[]`),agentId:l(`agent_id`),adapterSessionId:l(`adapter_session_id`),adapterMessageId:l(`adapter_message_id`),timestamp:m(`timestamp`).notNull(),editOf:l(`edit_of`).references(()=>g.messageId),origin:l(`origin`,{enum:[`voice`,`text`,`compact`]}),contentTsv:h(`content_tsv`).generatedAlwaysAs(p`to_tsvector('english', coalesce(content_text, ''))`)},e=>[s(`idx_messages_session`).on(e.sessionId,e.timestamp),s(`idx_messages_turn`).on(e.turnId,e.timestamp),s(`idx_messages_agent`).on(e.agentId,e.timestamp),u(`uniq_messages_adapter_message_id_session`).on(e.adapterMessageId,e.sessionId),s(`idx_messages_content_tsv`).using(`gin`,e.contentTsv)]),_=d({messages:n},{messages:g}),v=()=>({sqlite:n.messageId,postgres:g.messageId}),y=f(`session_events`,t=>({id:t.autoPk(`id`),sessionId:t.text(`session_id`).notNull().references(()=>e.columnPair(`sessionId`),{onDelete:`cascade`}),eventId:t.text(`event_id`).notNull().unique(),timestamp:t.epochMs(`timestamp`).notNull(),type:t.text(`type`).notNull(),agentId:t.text(`agent_id`),adapterId:t.text(`adapter_id`),originatingMessageId:t.text(`originating_message_id`),messageId:t.text(`message_id`).references(v,{onDelete:`cascade`}),turnId:t.text(`turn_id`),contentText:t.text(`content_text`),payload:t.text(`payload`).notNull()}),{sqlite:e=>[a(`idx_events_session_ts`).on(e.sessionId,e.timestamp),a(`idx_events_session_type`).on(e.sessionId,e.type),a(`idx_events_turn`).on(e.turnId),a(`idx_events_originating_message`).on(e.originatingMessageId)],postgres:e=>[s(`idx_events_session_ts`).on(e.sessionId,e.timestamp),s(`idx_events_session_type`).on(e.sessionId,e.type),s(`idx_events_turn`).on(e.turnId),s(`idx_events_originating_message`).on(e.originatingMessageId)]}),b=y.sqlite,x={...r,extensions:{drizzle:{sessionEvents:b}}};export{v as a,y as i,i as n,_ as o,b as r,x as t};
@@ -47,8 +47,8 @@ declare const AdapterRuntimeNamespace: _$_makaio_core0.BusNamespaceDefinition<"a
47
47
  teardownCompleted: _$zod.ZodObject<{
48
48
  evidence: _$zod.ZodEnum<{
49
49
  unknown: "unknown";
50
- exited: "exited";
51
50
  closed: "closed";
51
+ exited: "exited";
52
52
  released: "released";
53
53
  detached: "detached";
54
54
  }>;
@@ -100,8 +100,8 @@ declare const AdapterRuntimeSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core
100
100
  teardownCompleted: _$zod.ZodObject<{
101
101
  evidence: _$zod.ZodEnum<{
102
102
  unknown: "unknown";
103
- exited: "exited";
104
103
  closed: "closed";
104
+ exited: "exited";
105
105
  released: "released";
106
106
  detached: "detached";
107
107
  }>;
@@ -17,13 +17,13 @@ declare const AdapterSubsystemNamespace: _$_makaio_core0.BusNamespaceDefinition<
17
17
  displayName: _$zod.ZodOptional<_$zod.ZodString>;
18
18
  protocol: _$zod.ZodOptional<_$zod.ZodString>;
19
19
  clientId: _$zod.ZodOptional<_$zod.ZodString>;
20
- settings: _$zod.ZodOptional<_$zod.ZodType<Record<string, unknown>, Record<string, unknown>, _$zod_v4_core0.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
21
20
  helpLinks: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodObject<{
22
21
  label: _$zod.ZodString;
23
22
  url: _$zod.ZodString;
24
23
  }, _$zod_v4_core0.$strict>>>;
25
24
  instructions: _$zod.ZodOptional<_$zod.ZodString>;
26
25
  providerDefinitionIds: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
26
+ settings: _$zod.ZodOptional<_$zod.ZodType<Record<string, unknown>, Record<string, unknown>, _$zod_v4_core0.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
27
27
  name: _$zod.ZodString;
28
28
  enabled: _$zod.ZodBoolean;
29
29
  bindings: _$zod.ZodArray<_$zod.ZodObject<{
@@ -42,13 +42,13 @@ declare const AdapterSubsystemNamespace: _$_makaio_core0.BusNamespaceDefinition<
42
42
  displayName: _$zod.ZodOptional<_$zod.ZodString>;
43
43
  protocol: _$zod.ZodOptional<_$zod.ZodString>;
44
44
  clientId: _$zod.ZodOptional<_$zod.ZodString>;
45
- settings: _$zod.ZodOptional<_$zod.ZodType<Record<string, unknown>, Record<string, unknown>, _$zod_v4_core0.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
46
45
  helpLinks: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodObject<{
47
46
  label: _$zod.ZodString;
48
47
  url: _$zod.ZodString;
49
48
  }, _$zod_v4_core0.$strict>>>;
50
49
  instructions: _$zod.ZodOptional<_$zod.ZodString>;
51
50
  providerDefinitionIds: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
51
+ settings: _$zod.ZodOptional<_$zod.ZodType<Record<string, unknown>, Record<string, unknown>, _$zod_v4_core0.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
52
52
  name: _$zod.ZodString;
53
53
  enabled: _$zod.ZodBoolean;
54
54
  bindings: _$zod.ZodArray<_$zod.ZodObject<{
@@ -1653,13 +1653,13 @@ declare const AdapterSubsystemNamespace: _$_makaio_core0.BusNamespaceDefinition<
1653
1653
  displayName: _$zod.ZodOptional<_$zod.ZodString>;
1654
1654
  protocol: _$zod.ZodOptional<_$zod.ZodString>;
1655
1655
  clientId: _$zod.ZodOptional<_$zod.ZodString>;
1656
- settings: _$zod.ZodOptional<_$zod.ZodType<Record<string, unknown>, Record<string, unknown>, _$zod_v4_core0.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
1657
1656
  helpLinks: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodObject<{
1658
1657
  label: _$zod.ZodString;
1659
1658
  url: _$zod.ZodString;
1660
1659
  }, _$zod_v4_core0.$strict>>>;
1661
1660
  instructions: _$zod.ZodOptional<_$zod.ZodString>;
1662
1661
  providerDefinitionIds: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
1662
+ settings: _$zod.ZodOptional<_$zod.ZodType<Record<string, unknown>, Record<string, unknown>, _$zod_v4_core0.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
1663
1663
  name: _$zod.ZodString;
1664
1664
  enabled: _$zod.ZodBoolean;
1665
1665
  bindings: _$zod.ZodArray<_$zod.ZodObject<{
@@ -1878,13 +1878,13 @@ declare const AdapterSubsystemSubjects: _$_makaio_core0.BusSubjects<_$_makaio_co
1878
1878
  displayName: _$zod.ZodOptional<_$zod.ZodString>;
1879
1879
  protocol: _$zod.ZodOptional<_$zod.ZodString>;
1880
1880
  clientId: _$zod.ZodOptional<_$zod.ZodString>;
1881
- settings: _$zod.ZodOptional<_$zod.ZodType<Record<string, unknown>, Record<string, unknown>, _$zod_v4_core0.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
1882
1881
  helpLinks: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodObject<{
1883
1882
  label: _$zod.ZodString;
1884
1883
  url: _$zod.ZodString;
1885
1884
  }, _$zod_v4_core0.$strict>>>;
1886
1885
  instructions: _$zod.ZodOptional<_$zod.ZodString>;
1887
1886
  providerDefinitionIds: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
1887
+ settings: _$zod.ZodOptional<_$zod.ZodType<Record<string, unknown>, Record<string, unknown>, _$zod_v4_core0.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
1888
1888
  name: _$zod.ZodString;
1889
1889
  enabled: _$zod.ZodBoolean;
1890
1890
  bindings: _$zod.ZodArray<_$zod.ZodObject<{
@@ -1903,13 +1903,13 @@ declare const AdapterSubsystemSubjects: _$_makaio_core0.BusSubjects<_$_makaio_co
1903
1903
  displayName: _$zod.ZodOptional<_$zod.ZodString>;
1904
1904
  protocol: _$zod.ZodOptional<_$zod.ZodString>;
1905
1905
  clientId: _$zod.ZodOptional<_$zod.ZodString>;
1906
- settings: _$zod.ZodOptional<_$zod.ZodType<Record<string, unknown>, Record<string, unknown>, _$zod_v4_core0.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
1907
1906
  helpLinks: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodObject<{
1908
1907
  label: _$zod.ZodString;
1909
1908
  url: _$zod.ZodString;
1910
1909
  }, _$zod_v4_core0.$strict>>>;
1911
1910
  instructions: _$zod.ZodOptional<_$zod.ZodString>;
1912
1911
  providerDefinitionIds: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
1912
+ settings: _$zod.ZodOptional<_$zod.ZodType<Record<string, unknown>, Record<string, unknown>, _$zod_v4_core0.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
1913
1913
  name: _$zod.ZodString;
1914
1914
  enabled: _$zod.ZodBoolean;
1915
1915
  bindings: _$zod.ZodArray<_$zod.ZodObject<{
@@ -3514,13 +3514,13 @@ declare const AdapterSubsystemSubjects: _$_makaio_core0.BusSubjects<_$_makaio_co
3514
3514
  displayName: _$zod.ZodOptional<_$zod.ZodString>;
3515
3515
  protocol: _$zod.ZodOptional<_$zod.ZodString>;
3516
3516
  clientId: _$zod.ZodOptional<_$zod.ZodString>;
3517
- settings: _$zod.ZodOptional<_$zod.ZodType<Record<string, unknown>, Record<string, unknown>, _$zod_v4_core0.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
3518
3517
  helpLinks: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodObject<{
3519
3518
  label: _$zod.ZodString;
3520
3519
  url: _$zod.ZodString;
3521
3520
  }, _$zod_v4_core0.$strict>>>;
3522
3521
  instructions: _$zod.ZodOptional<_$zod.ZodString>;
3523
3522
  providerDefinitionIds: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
3523
+ settings: _$zod.ZodOptional<_$zod.ZodType<Record<string, unknown>, Record<string, unknown>, _$zod_v4_core0.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
3524
3524
  name: _$zod.ZodString;
3525
3525
  enabled: _$zod.ZodBoolean;
3526
3526
  bindings: _$zod.ZodArray<_$zod.ZodObject<{
@@ -13,8 +13,8 @@ declare const TrayMenuNamespace: _$_makaio_core0.BusNamespaceDefinition<"host:tr
13
13
  label: _$zod.ZodString;
14
14
  section: _$zod.ZodEnum<{
15
15
  tools: "tools";
16
- views: "views";
17
16
  utilities: "utilities";
17
+ views: "views";
18
18
  }>;
19
19
  priority: _$zod.ZodDefault<_$zod.ZodNumber>;
20
20
  enabled: _$zod.ZodDefault<_$zod.ZodBoolean>;
@@ -48,8 +48,8 @@ declare const TrayMenuNamespace: _$_makaio_core0.BusNamespaceDefinition<"host:tr
48
48
  }, _$zod_v4_core0.$strip>>;
49
49
  section: _$zod.ZodEnum<{
50
50
  tools: "tools";
51
- views: "views";
52
51
  utilities: "utilities";
52
+ views: "views";
53
53
  }>;
54
54
  priority: _$zod.ZodDefault<_$zod.ZodNumber>;
55
55
  }, _$zod_v4_core0.$strip>;
@@ -83,8 +83,8 @@ declare const TrayMenuNamespace: _$_makaio_core0.BusNamespaceDefinition<"host:tr
83
83
  label: _$zod.ZodString;
84
84
  section: _$zod.ZodEnum<{
85
85
  tools: "tools";
86
- views: "views";
87
86
  utilities: "utilities";
87
+ views: "views";
88
88
  }>;
89
89
  priority: _$zod.ZodDefault<_$zod.ZodNumber>;
90
90
  enabled: _$zod.ZodDefault<_$zod.ZodBoolean>;
@@ -104,8 +104,8 @@ declare const TrayMenuSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.Flat
104
104
  label: _$zod.ZodString;
105
105
  section: _$zod.ZodEnum<{
106
106
  tools: "tools";
107
- views: "views";
108
107
  utilities: "utilities";
108
+ views: "views";
109
109
  }>;
110
110
  priority: _$zod.ZodDefault<_$zod.ZodNumber>;
111
111
  enabled: _$zod.ZodDefault<_$zod.ZodBoolean>;
@@ -139,8 +139,8 @@ declare const TrayMenuSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.Flat
139
139
  }, _$zod_v4_core0.$strip>>;
140
140
  section: _$zod.ZodEnum<{
141
141
  tools: "tools";
142
- views: "views";
143
142
  utilities: "utilities";
143
+ views: "views";
144
144
  }>;
145
145
  priority: _$zod.ZodDefault<_$zod.ZodNumber>;
146
146
  }, _$zod_v4_core0.$strip>;
@@ -174,8 +174,8 @@ declare const TrayMenuSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.Flat
174
174
  label: _$zod.ZodString;
175
175
  section: _$zod.ZodEnum<{
176
176
  tools: "tools";
177
- views: "views";
178
177
  utilities: "utilities";
178
+ views: "views";
179
179
  }>;
180
180
  priority: _$zod.ZodDefault<_$zod.ZodNumber>;
181
181
  enabled: _$zod.ZodDefault<_$zod.ZodBoolean>;
@@ -1,4 +1,4 @@
1
- import { i as BusServerConfig, n as startBusServer, r as BusServer, t as StartBusServerOptions } from "../../server-lifecycle-BINetU26.mjs";
1
+ import { i as BusServerConfig, n as startBusServer, r as BusServer, t as StartBusServerOptions } from "../../server-lifecycle-DJcc_FqN.mjs";
2
2
  import { BusBroadcastMessage, BusMessage, BusRequestMessage, BusTransport, BusTransportError } from "@makaio/framework/bus";
3
3
  import { TransportAuth, WebSocketLike, WebSocketServerLike, WebSocketServerLike as WebSocketServerLike$1 } from "@makaio/framework/node/transports";
4
4
 
@@ -1 +1 @@
1
- import{n as e,r as t,t as n}from"../../server-lifecycle-BjbuCO-s.mjs";var r=class{connectionListeners=new Set;on(e,t){e===`connection`&&this.connectionListeners.add(t)}off(e,t){e===`connection`&&this.connectionListeners.delete(t)}close(e){this.connectionListeners.clear(),e?.()}accept(e){for(let t of this.connectionListeners)t(e)}};export{r as HonoWebSocketBridge,t as LoopbackTransport,e as createBusServer,n as startBusServer};
1
+ import{n as e,r as t,t as n}from"../../server-lifecycle-CmsnIyst.mjs";var r=class{connectionListeners=new Set;on(e,t){e===`connection`&&this.connectionListeners.add(t)}off(e,t){e===`connection`&&this.connectionListeners.delete(t)}close(e){this.connectionListeners.clear(),e?.()}accept(e){for(let t of this.connectionListeners)t(e)}};export{r as HonoWebSocketBridge,t as LoopbackTransport,e as createBusServer,n as startBusServer};
@@ -1,2 +1,2 @@
1
- import { n as startBusServer, t as StartBusServerOptions } from "../../server-lifecycle-BINetU26.mjs";
1
+ import { n as startBusServer, t as StartBusServerOptions } from "../../server-lifecycle-DJcc_FqN.mjs";
2
2
  export { StartBusServerOptions, startBusServer };
@@ -1 +1 @@
1
- import{t as e}from"../../server-lifecycle-BjbuCO-s.mjs";export{e as startBusServer};
1
+ import{t as e}from"../../server-lifecycle-CmsnIyst.mjs";export{e as startBusServer};