@makaio/framework 1.0.0-dev-1788863979610 → 1.0.0-dev-1788897280508

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 (494) hide show
  1. package/dist/.makaio-build.json +2 -2
  2. package/dist/{account-identity-B3vLwm9O.mjs → account-identity-DCBpVurJ.mjs} +1 -1
  3. package/dist/{adapter-Dz1fX5Wa.mjs → adapter-D6IpEDIo.mjs} +1 -1
  4. package/dist/adapters/config/index.d.mts +1 -1
  5. package/dist/adapters/config/index.mjs +1 -1
  6. package/dist/adapters/index.d.mts +2 -2
  7. package/dist/adapters/index.mjs +1 -1
  8. package/dist/adapters/node.d.mts +1 -1
  9. package/dist/adapters/node.mjs +1 -1
  10. package/dist/artifact-OnwP6uaD.mjs +1 -0
  11. package/dist/{attempt-record-codec-BcAPEIW3.mjs → attempt-record-codec-CqKq0NIB.mjs} +1 -1
  12. package/dist/{auth-C6tVtaOX.mjs → auth-CeH3w2fi.mjs} +1 -1
  13. package/dist/authority-state-bootstrap-rnsTk0u7.mjs +1 -0
  14. package/dist/{automation-trigger-ByjNlClm.mjs → automation-trigger-D_xKqEoV.mjs} +1 -1
  15. package/dist/bus/index.mjs +1 -1
  16. package/dist/{caller-owned-adapter-stub-C1M7FKrv.mjs → caller-owned-adapter-stub-egWCuKcE.mjs} +1 -1
  17. package/dist/{canonical-model-DXOvCaVg.mjs → canonical-model-DwuFQ02A.mjs} +1 -1
  18. package/dist/{capabilities-DEvmD9VJ.mjs → capabilities-DGqMG9M3.mjs} +1 -1
  19. package/dist/{client-BkznbdsO.mjs → client-CTqzLpVx.mjs} +1 -1
  20. package/dist/clients/index.d.mts +1 -1
  21. package/dist/clients/index.mjs +1 -1
  22. package/dist/clients/managed-install.d.mts +1 -1
  23. package/dist/clients/managed-install.mjs +1 -1
  24. package/dist/code-execution/worker-entry.d.mts +1 -1
  25. package/dist/code-execution/worker-entry.mjs +1 -1
  26. package/dist/{code-execution-Ckmn8OZu.mjs → code-execution-BMmUATcc.mjs} +1 -1
  27. package/dist/{code-execution-CweDSWco.mjs → code-execution-C2PgBdmE.mjs} +1 -1
  28. package/dist/{code-execution-DqkQjKa1.mjs → code-execution-Mo1jztUH.mjs} +1 -1
  29. package/dist/{compression-CtgeVLpP.mjs → compression-3DauETKU.mjs} +1 -1
  30. package/dist/{config-namespace-CjWvw8ij.mjs → config-namespace-MjFuIPyL.mjs} +1 -1
  31. package/dist/contracts/adapter/index.d.mts +2 -2
  32. package/dist/contracts/adapter/index.mjs +1 -1
  33. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  34. package/dist/contracts/artifact/index.d.mts +3 -3
  35. package/dist/contracts/artifact/index.mjs +1 -1
  36. package/dist/contracts/auth/index.d.mts +2 -2
  37. package/dist/contracts/auth/index.mjs +1 -1
  38. package/dist/contracts/automation-trigger/index.d.mts +3 -3
  39. package/dist/contracts/automation-trigger/index.mjs +1 -1
  40. package/dist/contracts/canonical-model/index.d.mts +1 -1
  41. package/dist/contracts/canonical-model/index.mjs +1 -1
  42. package/dist/contracts/capabilities/index.d.mts +1 -1
  43. package/dist/contracts/capabilities/index.mjs +1 -1
  44. package/dist/contracts/client/index.d.mts +2 -2
  45. package/dist/contracts/client/index.mjs +1 -1
  46. package/dist/contracts/code-execution/index.d.mts +1 -1
  47. package/dist/contracts/code-execution/index.mjs +1 -1
  48. package/dist/contracts/common/index.d.mts +1 -1
  49. package/dist/contracts/config/index.d.mts +1 -1
  50. package/dist/contracts/config/index.mjs +1 -1
  51. package/dist/contracts/extension/index.d.mts +5 -5
  52. package/dist/contracts/extension/index.mjs +1 -1
  53. package/dist/contracts/facet/index.d.mts +1 -1
  54. package/dist/contracts/facet/index.mjs +1 -1
  55. package/dist/contracts/harness/index.d.mts +1 -1
  56. package/dist/contracts/harness/index.mjs +1 -1
  57. package/dist/contracts/host/index.d.mts +1 -1
  58. package/dist/contracts/host/index.mjs +1 -1
  59. package/dist/contracts/index.d.mts +100 -100
  60. package/dist/contracts/index.mjs +1 -1
  61. package/dist/contracts/materialization/index.d.mts +2 -3
  62. package/dist/contracts/materialization/index.mjs +1 -1
  63. package/dist/contracts/model-registry/index.d.mts +1 -1
  64. package/dist/contracts/model-registry/index.mjs +1 -1
  65. package/dist/contracts/native-session-supervisor/index.d.mts +1 -1
  66. package/dist/contracts/native-session-supervisor/index.mjs +1 -1
  67. package/dist/contracts/platform/index.d.mts +1 -1
  68. package/dist/contracts/platform/index.mjs +1 -1
  69. package/dist/contracts/provider/index.d.mts +2 -2
  70. package/dist/contracts/provider/index.mjs +1 -1
  71. package/dist/contracts/reaction/index.d.mts +1 -1
  72. package/dist/contracts/reaction/index.mjs +1 -1
  73. package/dist/contracts/session/index.d.mts +2 -2
  74. package/dist/contracts/session/index.mjs +1 -1
  75. package/dist/contracts/shared/index.d.mts +2 -2
  76. package/dist/contracts/shared/index.mjs +1 -1
  77. package/dist/contracts/skill/index.d.mts +1 -1
  78. package/dist/contracts/skill/index.mjs +1 -1
  79. package/dist/contracts/telemetry/index.d.mts +1 -1
  80. package/dist/contracts/telemetry/index.mjs +1 -1
  81. package/dist/contracts/timeout/index.d.mts +1 -1
  82. package/dist/contracts/timeout/index.mjs +1 -1
  83. package/dist/contracts/toast/index.mjs +1 -1
  84. package/dist/contracts/variant/index.d.mts +1 -1
  85. package/dist/contracts/variant/index.mjs +1 -1
  86. package/dist/contracts/worker/index.d.mts +1 -1
  87. package/dist/contracts/worker/index.mjs +1 -1
  88. package/dist/contracts/workflow/index.d.mts +2 -2
  89. package/dist/contracts/workflow/index.mjs +1 -1
  90. package/dist/{contribution-CQIpPQLl.d.mts → contribution-BoTMoHVB.d.mts} +2 -2
  91. package/dist/{definition-Cdpw5l9g.d.mts → definition-BgY763Q4.d.mts} +1 -1
  92. package/dist/{definition-BH4QLGLI.mjs → definition-YGj42UeO.mjs} +1 -1
  93. package/dist/{detached-extension-handle-2yUaviLu.mjs → detached-extension-handle-B9c_6Pcb.mjs} +1 -1
  94. package/dist/{execution-attempt-owner-recovery-BRjtmTGv.mjs → execution-attempt-owner-recovery-BNERIDH0.mjs} +1 -1
  95. package/dist/{execution-attempt-repository-CPk3F98N.d.mts → execution-attempt-repository-CtFZfBfp.d.mts} +1 -1
  96. package/dist/{execution-target-BcoF_oDB.mjs → execution-target-CqaBmnvX.mjs} +1 -1
  97. package/dist/{extension-Bfkr2DBs.mjs → extension-B51JzHJu.mjs} +1 -1
  98. package/dist/extension-C4lFc8-j.mjs +1 -0
  99. package/dist/{filesystem-service-CiUw0YN5.mjs → filesystem-service-DGqU-6x-.mjs} +1 -1
  100. package/dist/framework-packages-CZJDukan.mjs +1 -0
  101. package/dist/git/index.mjs +1 -1
  102. package/dist/{globby-QBDqstzq.mjs → globby-BT0rrriG.mjs} +1 -1
  103. package/dist/{handlers-BsHAFtye.mjs → handlers-CBbFzDHc.mjs} +1 -1
  104. package/dist/{harness-YQ2ewID9.mjs → harness-GNtHsoh4.mjs} +1 -1
  105. package/dist/{hook-responses-DK6uu35J.d.mts → hook-responses-BSCAdJ3i.d.mts} +1 -1
  106. package/dist/{index-B9vEfalH.d.mts → index-BVRQOZbm.d.mts} +1 -1
  107. package/dist/{index-C3uCMCHI.d.mts → index-BZlmWCcW.d.mts} +3 -3
  108. package/dist/{index-BlJbchHp.d.mts → index-BZtasAZP.d.mts} +1 -1
  109. package/dist/{index-Cjy1_Hc2.d.mts → index-BdbYIlDL.d.mts} +18 -18
  110. package/dist/{index-B8Tc0urp.d.mts → index-BkY6zO7p.d.mts} +138 -115
  111. package/dist/{index-DmTBlEzu.d.mts → index-CDLHgV7v.d.mts} +15 -15
  112. package/dist/{index-DQWEOn6i.d.mts → index-CQtttPGm.d.mts} +1 -1
  113. package/dist/{index-DvV7vEKt.d.mts → index-CYmQt2lF.d.mts} +37 -37
  114. package/dist/{index-COSxBdTp.d.mts → index-CYwbfa0_.d.mts} +2 -2
  115. package/dist/{index-CXZ8ODDT.d.mts → index-C_OLvAr_.d.mts} +1 -1
  116. package/dist/{index-1y-PUD3B.d.mts → index-Cau0jTTM.d.mts} +1 -1
  117. package/dist/{index-BDAPOKi3.d.mts → index-CoGo6HFE.d.mts} +8 -8
  118. package/dist/{index-CvWUgywU.d.mts → index-D0DfEO45.d.mts} +1 -1
  119. package/dist/{index-CU90gGDk2.d.mts → index-DIYgFhTZ2.d.mts} +4 -4
  120. package/dist/{index-BDs5tDcM.d.mts → index-DJ0Muy2s.d.mts} +8 -8
  121. package/dist/{index-jZXIrHlY.d.mts → index-F6hV4tWI.d.mts} +23 -23
  122. package/dist/{index-DwFnHNoq2.d.mts → index-LwOw7ZLk2.d.mts} +22 -22
  123. package/dist/{index-DXv51ZIb.d.mts → index-PTp68NH1.d.mts} +127 -127
  124. package/dist/{index-Dne0xNUI.d.mts → index-R2BZejEz.d.mts} +591 -726
  125. package/dist/{index-CsDj-DEW.d.mts → index-RpG4EP3u.d.mts} +1 -1
  126. package/dist/{index-DtHmaj-q.d.mts → index-dL0Oet1j.d.mts} +1 -1
  127. package/dist/{index-D9CdrFKz2.d.mts → index-mylsCg6V2.d.mts} +1 -1
  128. package/dist/{index-D5UpsCNq.d.mts → index-nPpqnP7P.d.mts} +1 -1
  129. package/dist/{index-zCstNu9J2.d.mts → index-oucWFlFP2.d.mts} +12 -12
  130. package/dist/kernel/cli/index.d.mts +2 -2
  131. package/dist/kernel/cli/index.mjs +1 -1
  132. package/dist/kernel/cli/register.d.mts +1 -1
  133. package/dist/kernel/cli/register.mjs +1 -1
  134. package/dist/kernel/cli/schemas.mjs +1 -1
  135. package/dist/kernel/extension/index.d.mts +1 -1
  136. package/dist/kernel/extension/index.mjs +1 -1
  137. package/dist/kernel/index.d.mts +5 -5
  138. package/dist/kernel/index.mjs +1 -1
  139. package/dist/kernel/namespace/index.d.mts +1 -1
  140. package/dist/kernel/namespace/index.mjs +1 -1
  141. package/dist/kernel/observability/index.d.mts +1 -1
  142. package/dist/kernel/observability/index.mjs +1 -1
  143. package/dist/kernel/providers/index.d.mts +1 -1
  144. package/dist/kernel/providers/index.mjs +1 -1
  145. package/dist/kernel/window/index.d.mts +1 -1
  146. package/dist/kernel/window/index.mjs +1 -1
  147. package/dist/kind-registration-BNhVCSaT.mjs +1 -0
  148. package/dist/{lib-BB0XjVs6.mjs → lib-B8Yv4IY-.mjs} +1 -1
  149. package/dist/{lib-DNGNIb-O.mjs → lib-hwdGyO-m.mjs} +1 -1
  150. package/dist/{load-extensions-CWlR-8BM.mjs → load-extensions-CNT2Nd9h.mjs} +1 -1
  151. package/dist/{load-extensions-C3Y3y9EW.d.mts → load-extensions-D0yT_Kta.d.mts} +1 -1
  152. package/dist/materialization-Dx1z_MDj.mjs +1 -0
  153. package/dist/mcp-http-server/index.mjs +1 -1
  154. package/dist/model-B6t_-_sp.mjs +1 -0
  155. package/dist/{namespace-Bz3qcZBD.d.mts → namespace-BY5-nA4j.d.mts} +6 -6
  156. package/dist/{namespace-C3Ch35nb.d.mts → namespace-C7wggVcn.d.mts} +18 -18
  157. package/dist/{namespace-agOiy4kr.d.mts → namespace-CPC1vbOu.d.mts} +1 -1
  158. package/dist/{namespace-B8i86gVL.d.mts → namespace-D1qK-Ed3.d.mts} +2 -2
  159. package/dist/namespace-D4zmxaC4.mjs +1 -0
  160. package/dist/{namespace-DeezOMb9.d.mts → namespace-Dh5fTXYt.d.mts} +2 -2
  161. package/dist/{namespace-BL7lHlmg.mjs → namespace-ZAIFBrIy.mjs} +1 -1
  162. package/dist/{native-session-supervisor-LKio8XZn.mjs → native-session-supervisor-BlGzmZrH.mjs} +1 -1
  163. package/dist/node/bus-server/index.d.mts +1 -1
  164. package/dist/node/bus-server/index.mjs +1 -1
  165. package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
  166. package/dist/node/bus-server/server-lifecycle.mjs +1 -1
  167. package/dist/{orchestrator-shared-BGlN-m-V.mjs → orchestrator-shared-BKMtjTE9.mjs} +1 -1
  168. package/dist/{ownership-memory-handler-BpGdR_uG.mjs → ownership-memory-handler-BCu1EjFO.mjs} +1 -1
  169. package/dist/{package-w4WZqO7J.d.mts → package-C9XYuN9J.d.mts} +3 -3
  170. package/dist/{package-BdOoo7XE.mjs → package-D7c2HC-S.mjs} +1 -1
  171. package/dist/{package-JtjbO-Oi.mjs → package-buHQFmTH.mjs} +1 -1
  172. package/dist/package.json +1 -1
  173. package/dist/packages-BhhBcPgz.mjs +1 -0
  174. package/dist/{packages-uNYWGMH1.d.mts → packages-DAqep89i.d.mts} +12 -39
  175. package/dist/{profile-N5qGUpF0.mjs → profile-DBDvy9uc.mjs} +1 -1
  176. package/dist/{provider-context-zTDSH2x9.mjs → provider-context-CSb0qX1c.mjs} +1 -1
  177. package/dist/{provider-context-CG42JlP9.mjs → provider-context-CTOrOW54.mjs} +1 -1
  178. package/dist/{reaction-D3TNwPK8.mjs → reaction-OQibmmDW.mjs} +1 -1
  179. package/dist/{resolved-sq8RXNDf.mjs → resolved-ONt3rOMh.mjs} +1 -1
  180. package/dist/rules/index.d.mts +1 -1
  181. package/dist/rules/index.mjs +1 -1
  182. package/dist/rules/schemas.d.mts +1 -1
  183. package/dist/runtime-bun/index.mjs +1 -1
  184. package/dist/runtime-node/code-execution/index.d.mts +2 -2
  185. package/dist/runtime-node/code-execution/index.mjs +1 -1
  186. package/dist/runtime-node/extension-discovery.d.mts +1 -1
  187. package/dist/runtime-node/extension-validation.d.mts +1 -1
  188. package/dist/runtime-node/extension-validation.mjs +1 -1
  189. package/dist/runtime-node/index.d.mts +6 -6
  190. package/dist/runtime-node/index.mjs +20 -20
  191. package/dist/runtime-node/makaio-config.d.mts +1 -1
  192. package/dist/runtime-node/makaio-config.mjs +1 -1
  193. package/dist/runtime-node/workflow-worker/index.d.mts +2 -2
  194. package/dist/runtime-node/workflow-worker/index.mjs +1 -1
  195. package/dist/runtime-node/workflow-worker/worker-entry.mjs +1 -1
  196. package/dist/{schema-Dq-7si8u.mjs → schema-B8jinlbH.mjs} +1 -1
  197. package/dist/{schemas-B4MSOlcv.d.mts → schemas-BSBb1KFq.d.mts} +10 -10
  198. package/dist/{schemas-QWDnauKX.mjs → schemas-BUK9I-Oz.mjs} +1 -1
  199. package/dist/{schemas-uaQuIxm4.d.mts → schemas-BjNlwTDl.d.mts} +2 -2
  200. package/dist/{context-resolution-BZKEKzu4.d.mts → schemas-C5FreSE0.d.mts} +133 -539
  201. package/dist/{schemas-_2Syo_01.mjs → schemas-CSDiTBsU.mjs} +1 -1
  202. package/dist/{schemas-BfO5jkrL.mjs → schemas-CbhvgFQs.mjs} +1 -1
  203. package/dist/{schemas-Bw2-j1lm.d.mts → schemas-DmE-a0kN.d.mts} +4 -4
  204. package/dist/{schemas-Io717dOA.d.mts → schemas-gfrOgGau.d.mts} +1 -1
  205. package/dist/schemas-hzbKeyyt.mjs +1 -0
  206. package/dist/{selection-DL3ric7K.mjs → selection-7SkHsmWs.mjs} +1 -1
  207. package/dist/services/adapter-runtime/index.d.mts +3 -3
  208. package/dist/services/adapter-runtime/index.mjs +1 -1
  209. package/dist/services/adapter-runtime/namespace.d.mts +1 -1
  210. package/dist/services/adapter-runtime/schemas.d.mts +1 -1
  211. package/dist/services/adapter-subsystem/index.d.mts +3 -3
  212. package/dist/services/adapter-subsystem/index.mjs +1 -1
  213. package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
  214. package/dist/services/adapter-subsystem/namespace.mjs +1 -1
  215. package/dist/services/agent-runtime/index.d.mts +2 -2
  216. package/dist/services/agent-runtime/namespace.d.mts +1 -1
  217. package/dist/services/agent-runtime/schemas.d.mts +1 -1
  218. package/dist/services/automation-trigger/index.mjs +1 -1
  219. package/dist/services/capability/index.d.mts +2 -2
  220. package/dist/services/capability/index.mjs +1 -1
  221. package/dist/services/code-execution/index.d.mts +1 -1
  222. package/dist/services/code-execution/index.mjs +1 -1
  223. package/dist/services/codebase/index.d.mts +2 -2
  224. package/dist/services/codebase/namespace.d.mts +1 -1
  225. package/dist/services/codebase/schemas.d.mts +1 -1
  226. package/dist/services/compression/index.d.mts +2 -2
  227. package/dist/services/compression/namespace.d.mts +1 -1
  228. package/dist/services/compression/schemas.d.mts +1 -1
  229. package/dist/services/context-rules/index.d.mts +4 -4
  230. package/dist/services/context-rules/index.mjs +1 -1
  231. package/dist/services/execution-target/index.d.mts +3 -3
  232. package/dist/services/execution-target/index.mjs +1 -1
  233. package/dist/services/execution-target/namespace.d.mts +1 -1
  234. package/dist/services/execution-target/namespace.mjs +1 -1
  235. package/dist/services/execution-target/schemas.d.mts +1 -1
  236. package/dist/services/execution-target/schemas.mjs +1 -1
  237. package/dist/services/filesystem/index.d.mts +1 -1
  238. package/dist/services/filesystem/index.mjs +1 -1
  239. package/dist/services/filesystem/namespace.d.mts +6 -6
  240. package/dist/services/filesystem/schemas.d.mts +3 -3
  241. package/dist/services/git/namespace.mjs +1 -1
  242. package/dist/services/git/schemas.mjs +1 -1
  243. package/dist/services/harness/index.mjs +1 -1
  244. package/dist/services/index.d.mts +61 -82
  245. package/dist/services/index.mjs +1 -1
  246. package/dist/services/log-import/browser.d.mts +2 -2
  247. package/dist/services/log-import/index.d.mts +2 -2
  248. package/dist/services/log-import/log-import.d.mts +1 -1
  249. package/dist/services/log-import/log-import.mjs +1 -1
  250. package/dist/services/log-import/namespace.mjs +1 -1
  251. package/dist/services/log-import/schemas.mjs +1 -1
  252. package/dist/services/materialization/index.d.mts +13 -34
  253. package/dist/services/materialization/index.mjs +1 -1
  254. package/dist/services/model-registry/index.d.mts +1 -1
  255. package/dist/services/model-registry/index.mjs +1 -1
  256. package/dist/services/preferences/index.d.mts +2 -2
  257. package/dist/services/preferences/schemas.d.mts +1 -1
  258. package/dist/services/preferences/storage-namespace.d.mts +2 -2
  259. package/dist/services/provider-context/index.d.mts +1 -1
  260. package/dist/services/provider-context/index.mjs +1 -1
  261. package/dist/services/provider-runtime/index.mjs +1 -1
  262. package/dist/services/session/handlers/index.d.mts +1 -1
  263. package/dist/services/session/handlers/index.mjs +1 -1
  264. package/dist/services/session/index.d.mts +9 -9
  265. package/dist/services/session/index.mjs +1 -1
  266. package/dist/services/session/messages/namespace.d.mts +1 -1
  267. package/dist/services/session/messages/namespace.mjs +1 -1
  268. package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
  269. package/dist/services/session/orchestrator-testing/index.mjs +1 -1
  270. package/dist/services/session/session-events/namespace.d.mts +1 -1
  271. package/dist/services/session/session-events/namespace.mjs +1 -1
  272. package/dist/services/session/storage/namespace.d.mts +1 -1
  273. package/dist/services/session/storage/schema.d.mts +1 -1
  274. package/dist/services/session/testing/index.mjs +1 -1
  275. package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
  276. package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
  277. package/dist/services/session/turns/namespace.d.mts +1 -1
  278. package/dist/services/session/turns/namespace.mjs +1 -1
  279. package/dist/services/session-editor/index.d.mts +1 -1
  280. package/dist/services/session-editor/index.mjs +1 -1
  281. package/dist/services/settings/index.d.mts +3 -3
  282. package/dist/services/settings/index.mjs +1 -1
  283. package/dist/services/settings/namespace.d.mts +10 -10
  284. package/dist/services/settings/namespace.mjs +1 -1
  285. package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
  286. package/dist/services/settings/storage/clients-namespace.mjs +1 -1
  287. package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
  288. package/dist/services/settings/storage/index.d.mts +3 -3
  289. package/dist/services/settings/storage/index.mjs +1 -1
  290. package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
  291. package/dist/services/settings/storage/providers-namespace.mjs +1 -1
  292. package/dist/services/subagent/index.d.mts +1 -1
  293. package/dist/services/subagent/index.mjs +1 -1
  294. package/dist/services/subagent-template/index.d.mts +2 -2
  295. package/dist/services/subagent-template/namespace.d.mts +1 -1
  296. package/dist/services/subagent-template/schemas.d.mts +1 -1
  297. package/dist/services/tool-approval/index.d.mts +1 -1
  298. package/dist/services/tool-approval/index.mjs +1 -1
  299. package/dist/services/tools/index.d.mts +1 -1
  300. package/dist/services/tools/index.mjs +1 -1
  301. package/dist/services/tray-menu/index.d.mts +3 -3
  302. package/dist/services/tray-menu/index.mjs +1 -1
  303. package/dist/services/tray-menu/namespace.d.mts +1 -1
  304. package/dist/services/tray-menu/schemas.d.mts +1 -1
  305. package/dist/services/turn/index.d.mts +1 -1
  306. package/dist/services/turn/namespace.d.mts +1 -1
  307. package/dist/services/workflow-transitions/index.d.mts +1 -1
  308. package/dist/services/workflow-transitions/index.mjs +1 -1
  309. package/dist/{session-CXOPk3yg.mjs → session-BDFNAcuY.mjs} +1 -1
  310. package/dist/{session-BOpTI79g.mjs → session-CQAuApxe.mjs} +1 -1
  311. package/dist/{shared-B9AWRm9A.mjs → shared-BYP7z9xy.mjs} +1 -1
  312. package/dist/{skill-DGNtc_ww.mjs → skill-1gU2q1KT.mjs} +1 -1
  313. package/dist/{src-BWEtqWTw.mjs → src-D4Gx0QHf.mjs} +1 -1
  314. package/dist/storage/drizzle/client.d.mts +1 -1
  315. package/dist/storage/drizzle/client.mjs +1 -1
  316. package/dist/storage/drizzle/index.d.mts +1 -1
  317. package/dist/storage/drizzle/index.mjs +1 -1
  318. package/dist/storage/handlers/drizzle/index.d.mts +1 -1
  319. package/dist/storage/handlers/drizzle/index.mjs +1 -1
  320. package/dist/storage/handlers/index.d.mts +1 -1
  321. package/dist/storage/handlers/index.mjs +1 -1
  322. package/dist/{tool-approval-service-BFDOFUGC.mjs → tool-approval-service-7mzJVMo_.mjs} +1 -1
  323. package/dist/{tools-DWKWX3eV.mjs → tools-Cyo6BuGM.mjs} +1 -1
  324. package/dist/{transition-CGnHfVIv.d.mts → transition-CwMPKBjz.d.mts} +2 -2
  325. package/dist/{types-B6V3HDRl2.d.mts → types-BOF825V52.d.mts} +1 -1
  326. package/dist/{types-FPmiU-3J.d.mts → types-Dg_acP9p.d.mts} +18 -18
  327. package/dist/ui-kernel/index.d.mts +1 -1
  328. package/dist/ui-kernel/pages/schemas.d.mts +1 -1
  329. package/dist/{version-BYeVh1pI.mjs → version-3xWJDCeF.mjs} +1 -1
  330. package/dist/{view-builder-CELaqM4Z.d.mts → view-builder-D76L0Db8.d.mts} +209 -15
  331. package/dist/{visibility-DtDLRBdr.mjs → visibility-C5sLzqyS.mjs} +1 -1
  332. package/dist/{worker-B4nD_Erm.mjs → worker-9X0QNB1k.mjs} +1 -1
  333. package/dist/{worker-CLsRbzpk.mjs → worker-BwUhRg7i.mjs} +1 -1
  334. package/dist/workflow-B3MWrYhG.mjs +1 -0
  335. package/dist/workflow-engine/execution-attempt-repository.d.mts +1 -1
  336. package/dist/workflow-engine/execution-attempt-repository.mjs +1 -1
  337. package/dist/workflow-engine/index.d.mts +77 -77
  338. package/dist/workflow-engine/index.mjs +1 -1
  339. package/dist/workflow-engine/package.d.mts +1 -1
  340. package/dist/workflow-engine/package.mjs +1 -1
  341. package/dist/workflow-engine/provider-operation.d.mts +1 -1
  342. package/dist/workflow-engine/testing/conformance.d.mts +1 -1
  343. package/dist/workflow-engine/testing/conformance.mjs +1 -1
  344. package/dist/workflow-engine/testing/index.d.mts +2 -2
  345. package/dist/workflow-engine/testing/index.mjs +1 -1
  346. package/dist/workflow-engine/testing/sqlite.d.mts +1 -1
  347. package/dist/workflow-engine/testing/sqlite.mjs +1 -1
  348. package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
  349. package/dist/{workflow-transitions-c_VQbyV0.mjs → workflow-transitions-B7HtjuAn.mjs} +1 -1
  350. package/dist/workflow-worker-zYb2UguP.mjs +2 -0
  351. package/package.json +1 -1
  352. package/dist/artifact-ClvHqL3w.mjs +0 -1
  353. package/dist/authority-state-bootstrap-7Cgb9TR2.mjs +0 -1
  354. package/dist/extension-Cz39YNXy.mjs +0 -1
  355. package/dist/framework-packages-BHgul8Kl.mjs +0 -1
  356. package/dist/materialization-B_LA9pfy.mjs +0 -1
  357. package/dist/model-DrzPt3ou.mjs +0 -1
  358. package/dist/namespace-sCPb79-7.mjs +0 -1
  359. package/dist/packages-Bp124-gx.mjs +0 -1
  360. package/dist/schemas-CNkUEbIr.mjs +0 -1
  361. package/dist/workflow-H8hsEikC.mjs +0 -1
  362. package/dist/workflow-worker-CmIkKnpF.mjs +0 -2
  363. /package/dist/{adapter-auth-runtime-DHHppU4f.mjs → adapter-auth-runtime-DGY1CDxj.mjs} +0 -0
  364. /package/dist/{adapter-binding-C6jAAjGu.d.mts → adapter-binding-fGIz-ss3.d.mts} +0 -0
  365. /package/dist/{ajv-krzJXh1X.mjs → ajv-DWgn_plp.mjs} +0 -0
  366. /package/dist/{attach-error-Cb3GbeKe.mjs → attach-error-B-vXQFLQ.mjs} +0 -0
  367. /package/dist/{attempt-fixtures-gGhCA_WQ.mjs → attempt-fixtures-Dpfgqll0.mjs} +0 -0
  368. /package/dist/{base-orchestrator-B9OUXDR-.d.mts → base-orchestrator-BeLqYKJG.d.mts} +0 -0
  369. /package/dist/{bootstrap-start-client-DrvofWwi.mjs → bootstrap-start-client-BYoxrgMk.mjs} +0 -0
  370. /package/dist/{capability-j3NekkIu.mjs → capability-Bw4tsDQu.mjs} +0 -0
  371. /package/dist/{capability-service-DA9xdAyh.d.mts → capability-service-BlYnun2M.d.mts} +0 -0
  372. /package/dist/{client-BhRxxVig.d.mts → client-CtOWHpFB.d.mts} +0 -0
  373. /package/dist/{client-binary-version-verifier-DXu9mjRx.d.mts → client-binary-version-verifier-BwmToeS1.d.mts} +0 -0
  374. /package/dist/{client-binary-version-verifier-0lCKZOTg.mjs → client-binary-version-verifier-sv-Uv0lB.mjs} +0 -0
  375. /package/dist/{clients-namespace-2TIeXofb.d.mts → clients-namespace-Bf73bcZh.d.mts} +0 -0
  376. /package/dist/{config-namespace-Burux0cR.d.mts → config-namespace-BbLLd4V0.d.mts} +0 -0
  377. /package/dist/{create-static-mount-CuiFK6nC.mjs → create-static-mount-BQnyEUH1.mjs} +0 -0
  378. /package/dist/{cross-spawn-CZygZJMH.mjs → cross-spawn-DPrJR9Nq.mjs} +0 -0
  379. /package/dist/{cursor-storage-bsc9lZKk.mjs → cursor-storage-iJ6vBOWd.mjs} +0 -0
  380. /package/dist/{definition-011l3aQ8.d.mts → definition-aS9AM2ht.d.mts} +0 -0
  381. /package/dist/{definitions-CRpdnHYM.mjs → definitions-CYZTuMdL.mjs} +0 -0
  382. /package/dist/{descriptor-to-package-CcjdoWP4.mjs → descriptor-to-package-FBkLjHZo.mjs} +0 -0
  383. /package/dist/{drizzle-Bzc-OGVI.mjs → drizzle-CIf_jdYI.mjs} +0 -0
  384. /package/dist/{esm-i-S5TW72.mjs → esm-BH4Kmq3r.mjs} +0 -0
  385. /package/dist/{event-B8ELuk6k.mjs → event-m7_IdhOS.mjs} +0 -0
  386. /package/dist/{execution-attempt-repository-D0cCU7dI.mjs → execution-attempt-repository-D_qR7NyG.mjs} +0 -0
  387. /package/dist/{extension-context-CogUIfZb.d.mts → extension-context-41A1ZUus.d.mts} +0 -0
  388. /package/dist/{extension-discovery-CuC5Nd5d.d.mts → extension-discovery-DNB1VVsV.d.mts} +0 -0
  389. /package/dist/{extension-namespace-QoTTwKPt.mjs → extension-namespace-twXNwE4R.mjs} +0 -0
  390. /package/dist/{extension-package-provenance-aYrZuS4W.mjs → extension-package-provenance-CTYdo0yF.mjs} +0 -0
  391. /package/dist/{facet-BnMh7Jyc.mjs → facet-Cly0VpTI.mjs} +0 -0
  392. /package/dist/{filesystem-service-DYYL4fLd.d.mts → filesystem-service-DOrm4Llq.d.mts} +0 -0
  393. /package/dist/{handler-DF1fVDpf.mjs → handler-COkV00I9.mjs} +0 -0
  394. /package/dist/{host-B-_ntOMH.mjs → host-CiHn8Yog.mjs} +0 -0
  395. /package/dist/{identity-OjRlG6dZ.mjs → identity-BULrIHmo.mjs} +0 -0
  396. /package/dist/{index-B4MG7PBn.d.mts → index-BB4EWIf3.d.mts} +0 -0
  397. /package/dist/{index-CUxMqAoE2.d.mts → index-BBq5I7SB2.d.mts} +0 -0
  398. /package/dist/{index-Oejq5WGD2.d.mts → index-BJjdUzfw2.d.mts} +0 -0
  399. /package/dist/{index-luD7oSCA.d.mts → index-BKvzOrbF.d.mts} +0 -0
  400. /package/dist/{index-CKeNzHte.d.mts → index-BO8n7zAS.d.mts} +0 -0
  401. /package/dist/{index-DiHGEgh-.d.mts → index-BbAqoQmv.d.mts} +0 -0
  402. /package/dist/{index-BNF8osK42.d.mts → index-BcTwLu9C2.d.mts} +0 -0
  403. /package/dist/{index-DhCBbChV.d.mts → index-Bg5iXHk5.d.mts} +0 -0
  404. /package/dist/{index-BlkTzRHz.d.mts → index-BiXqOfhl.d.mts} +0 -0
  405. /package/dist/{index-CrA9tCMf.d.mts → index-BjaQsfAr.d.mts} +0 -0
  406. /package/dist/{index-BD1_BSMP.d.mts → index-Bk865qJX.d.mts} +0 -0
  407. /package/dist/{index-CrUijdhZ.d.mts → index-Bq4PHWe9.d.mts} +0 -0
  408. /package/dist/{index-DmjyHIEH.d.mts → index-CUHWylh4.d.mts} +0 -0
  409. /package/dist/{index-C0uHQitR2.d.mts → index-CavvxFdG2.d.mts} +0 -0
  410. /package/dist/{index-09JDqcgy2.d.mts → index-Cb3NfGSV2.d.mts} +0 -0
  411. /package/dist/{index-CbaOOgMX.d.mts → index-Ce_l029J.d.mts} +0 -0
  412. /package/dist/{index-DsIrU-pP.d.mts → index-CgVdz5IV.d.mts} +0 -0
  413. /package/dist/{index-BPX7lMRX.d.mts → index-Ck5amD5_.d.mts} +0 -0
  414. /package/dist/{index-DuoOsxow.d.mts → index-ClJjlOox.d.mts} +0 -0
  415. /package/dist/{index-C7ZdyYMT.d.mts → index-DR9-fFwc.d.mts} +0 -0
  416. /package/dist/{index-BRNRgfOm.d.mts → index-Q29tcu5N.d.mts} +0 -0
  417. /package/dist/{index-BKco9D6a.d.mts → index-VVJqONaI.d.mts} +0 -0
  418. /package/dist/{index-fQIrZBY0.d.mts → index-gK54T8Am.d.mts} +0 -0
  419. /package/dist/{index-CweK7QAS.d.mts → index-jW7MJ2_q.d.mts} +0 -0
  420. /package/dist/{index-XNbcZBEZ.d.mts → index-l5HeyxKn.d.mts} +0 -0
  421. /package/dist/{index-ikP83tJm.d.mts → index-z-YJG2cw.d.mts} +0 -0
  422. /package/dist/{index-CDJUiga3.d.mts → index-zvgQ8ErF.d.mts} +0 -0
  423. /package/dist/{json-value-DbwI1AMR.d.mts → json-value-C57MkQrB.d.mts} +0 -0
  424. /package/dist/{json-value-BBZ6uGwc.mjs → json-value-DM-EjTC1.mjs} +0 -0
  425. /package/dist/{jsonl-transport-W03tkPvB.mjs → jsonl-transport-QQuABrN7.mjs} +0 -0
  426. /package/dist/{lib-Wtk4Ef-T.mjs → lib-Sx8gBJvV.mjs} +0 -0
  427. /package/dist/{model-registry-C9rFu3kV.mjs → model-registry-B7ThN_s3.mjs} +0 -0
  428. /package/dist/{model-registry-Cixxx2jv.mjs → model-registry-DNHDnyvs.mjs} +0 -0
  429. /package/dist/{modes-DwsJ3yVl.mjs → modes-CyG4sgs_.mjs} +0 -0
  430. /package/dist/{namespace-NXm_zvL1.mjs → namespace-BFlSY040.mjs} +0 -0
  431. /package/dist/{namespace-DiwqpB-c.mjs → namespace-BGgY903U.mjs} +0 -0
  432. /package/dist/{namespace-D4RJjLv8.d.mts → namespace-Bn-ryJn5.d.mts} +0 -0
  433. /package/dist/{namespace-BW2rjW9-.d.mts → namespace-By3nEmBH.d.mts} +0 -0
  434. /package/dist/{namespace-Du0accdE.mjs → namespace-C9d0aoYT.mjs} +0 -0
  435. /package/dist/{namespace-D5nHBTPz.d.mts → namespace-Ca4sQ8X-.d.mts} +0 -0
  436. /package/dist/{namespace-Br7IQt88.d.mts → namespace-DE3oGhaN.d.mts} +0 -0
  437. /package/dist/{namespace-aUe_P5qN.d.mts → namespace-DENdNdK0.d.mts} +0 -0
  438. /package/dist/{namespace-jVTsuZHX.mjs → namespace-DHrItZyM.mjs} +0 -0
  439. /package/dist/{namespace-Df8uPrMr.d.mts → namespace-DInMixc8.d.mts} +0 -0
  440. /package/dist/{namespace-BGi71aDN.d.mts → namespace-DP0WWpTO.d.mts} +0 -0
  441. /package/dist/{namespace-C3l4AsWS.d.mts → namespace-DkAlBY9o.d.mts} +0 -0
  442. /package/dist/{namespace-BW3Bfu9h.mjs → namespace-QXCaZK3I.mjs} +0 -0
  443. /package/dist/{namespace-C9X7Qvn5.d.mts → namespace-WeSQXdAL.d.mts} +0 -0
  444. /package/dist/{namespace-tjoxekmf.mjs → namespace-ZN49zpqw.mjs} +0 -0
  445. /package/dist/{orchestrator-shared-B2Lb5Enk.d.mts → orchestrator-shared-2vuCvljs.d.mts} +0 -0
  446. /package/dist/{out-8bOYN6EF.mjs → out-Rz-t3WeC.mjs} +0 -0
  447. /package/dist/{ownership-recovery-guard-DyW5vGBr.mjs → ownership-recovery-guard-Ce9-C5Sa.mjs} +0 -0
  448. /package/dist/{package-DttKA9wN.mjs → package-DfjGt5oK.mjs} +0 -0
  449. /package/dist/{package-EGTn-Ng1.mjs → package-Tt2uoAFf.mjs} +0 -0
  450. /package/dist/{platform-CxyYPrkf.mjs → platform-C-fDsuEl.mjs} +0 -0
  451. /package/dist/{provider-operation-BwvTdAsv.d.mts → provider-operation-BwrIrOeY.d.mts} +0 -0
  452. /package/dist/{providers-C-eekMxD.mjs → providers-DVlsnJaY.mjs} +0 -0
  453. /package/dist/{providers-namespace-D-gdpu0p.d.mts → providers-namespace-C56pGeTO.d.mts} +0 -0
  454. /package/dist/{quick-lru-CCEnf7y6.mjs → quick-lru-uXa2PNb5.mjs} +0 -0
  455. /package/dist/{registry-Dk12tAfv.mjs → registry-CZf8VGBh.mjs} +0 -0
  456. /package/dist/{schema-C0opCPww.mjs → schema-DIHGEQx3.mjs} +0 -0
  457. /package/dist/{schema-introspection-6-r_KEJQ.mjs → schema-introspection-CSnLZJpC.mjs} +0 -0
  458. /package/dist/{schema-BwrsXKsP.d.mts → schema-wArHaxA9.d.mts} +0 -0
  459. /package/dist/{schemas-CMQ2PiO2.d.mts → schemas-B0zhTfet.d.mts} +0 -0
  460. /package/dist/{schemas-BaWB3EXP.d.mts → schemas-B2Q284-G.d.mts} +0 -0
  461. /package/dist/{schemas-v1W9Gj9m.d.mts → schemas-BJKx29Sp.d.mts} +0 -0
  462. /package/dist/{schemas-BivbWRkG.mjs → schemas-BKnJj2i-.mjs} +0 -0
  463. /package/dist/{schemas-CsOAG1rB.d.mts → schemas-BMGJLkdK2.d.mts} +0 -0
  464. /package/dist/{schemas-CeHU889f.mjs → schemas-BapfTRqp.mjs} +0 -0
  465. /package/dist/{schemas-DKJyKDpe.d.mts → schemas-BsZJHdvY.d.mts} +0 -0
  466. /package/dist/{schemas-Ds_YMFjX.d.mts → schemas-CITR9cWN.d.mts} +0 -0
  467. /package/dist/{schemas-B8hKbBwI.mjs → schemas-CnFVygzI.mjs} +0 -0
  468. /package/dist/{schemas-scyC2tFF.mjs → schemas-DDCAGKRi.mjs} +0 -0
  469. /package/dist/{schemas-BNf-WkKF.d.mts → schemas-wPB7RnHB.d.mts} +0 -0
  470. /package/dist/{semver-BI7kTNsY.mjs → semver-D_D2mA48.mjs} +0 -0
  471. /package/dist/{server-lifecycle-B_OZnoe-.mjs → server-lifecycle-AvBVeCFR.mjs} +0 -0
  472. /package/dist/{server-lifecycle-CmuBMs3O.d.mts → server-lifecycle-CREtXADx.d.mts} +0 -0
  473. /package/dist/{session-lineage-BRhnTWqq.d.mts → session-lineage-CRLvurB-.d.mts} +0 -0
  474. /package/dist/{shared-schemas-CQ6blrEW.mjs → shared-schemas-kUho6Kmw.mjs} +0 -0
  475. /package/dist/{src-BA_c2cXX.mjs → src-DnLncoLg.mjs} +0 -0
  476. /package/dist/{storage-namespace-BZce8kkW.mjs → storage-namespace-CH4j0_Zs.mjs} +0 -0
  477. /package/dist/{storage-namespace-CTXxds3h.d.mts → storage-namespace-JBh9nkKw.d.mts} +0 -0
  478. /package/dist/{storage-namespace-definition-Cca-zwXU.mjs → storage-namespace-definition-BJCbqVWz.mjs} +0 -0
  479. /package/dist/{storage-namespace-definition-Dkxl1FGw.d.mts → storage-namespace-definition-C0mnpnC_.d.mts} +0 -0
  480. /package/dist/{supports-color-SV_FgSN2.mjs → supports-color-BBMFnbC4.mjs} +0 -0
  481. /package/dist/{telemetry-BqoC87F-.mjs → telemetry-CUkZrhW6.mjs} +0 -0
  482. /package/dist/{timeout-DVlN2Zhy.mjs → timeout-DeBYTGBR.mjs} +0 -0
  483. /package/dist/{tray-menu-service-eVVxgPLc.mjs → tray-menu-service-thAhpcPA.mjs} +0 -0
  484. /package/dist/{types-BklZfFWo.d.mts → types-9ldZyQTb.d.mts} +0 -0
  485. /package/dist/{types-C4ayzk8k.d.mts → types-BMkn9jOe.d.mts} +0 -0
  486. /package/dist/{types-Cwza95hS.mjs → types-CjjNAiHa.mjs} +0 -0
  487. /package/dist/{types-BWfAz9Sh.d.mts → types-DJuxNrac.d.mts} +0 -0
  488. /package/dist/{types-DDfy8LgJ.d.mts → types-eCGV_g6P.d.mts} +0 -0
  489. /package/dist/{types--Sa8Ip8j.d.mts → types-xXv0lUeU.d.mts} +0 -0
  490. /package/dist/{ui-config-B35GloSX.mjs → ui-config-9hlZAJOS.mjs} +0 -0
  491. /package/dist/{variant-Dwnge3J_.mjs → variant-73kFgYBK.mjs} +0 -0
  492. /package/dist/{window-registry-CIlKN806.d.mts → window-registry-CGaYVD7l.d.mts} +0 -0
  493. /package/dist/{window-registry-CKiMJjId.mjs → window-registry-CzAwaPKL.mjs} +0 -0
  494. /package/dist/{zod-json-schema-Dixc-B1T.mjs → zod-json-schema-B9TYYq3e.mjs} +0 -0
@@ -1,4 +1,4 @@
1
- import{o as e,t}from"../chunk-DTipWd-i.mjs";import{t as n}from"../quick-lru-CCEnf7y6.mjs";import{t as r,v as i}from"../ajv-krzJXh1X.mjs";import{t as a}from"../cross-spawn-CZygZJMH.mjs";import{AgentSubjects as o,McpSubjects as s,ToolSubjects as c}from"@makaio/framework/contracts";import{BaseService as l}from"@makaio/framework/service-base";import{ToolErrorCodes as u,ensureMcpObjectSchema as d,errorToToolResult as f,toolError as p,toolSuccess as m}from"@makaio/framework/tools";import h from"node:process";import{PassThrough as g}from"node:stream";import*as _ 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 v(e){return!!e._zod}function y(e,t){return v(e)?ee.safeParse(e,t):e.safeParse(t)}function b(e){if(!e)return;let t;if(t=v(e)?e._zod?.def?.shape:e.shape,t){if(typeof t==`function`)try{return t()}catch{return}return t}}function re(e){if(v(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 x=`2025-11-25`,S=[x,`2025-06-18`,`2025-03-26`,`2024-11-05`,`2024-10-07`],C=`io.modelcontextprotocol/related-task`,w=_.custom(e=>e!==null&&(typeof e==`object`||typeof e==`function`)),ie=_.union([_.string(),_.number().int()]),ae=_.string();_.looseObject({ttl:_.number().optional(),pollInterval:_.number().optional()});const oe=_.object({ttl:_.number().optional()}),se=_.object({taskId:_.string()}),ce=_.looseObject({progressToken:ie.optional(),[C]:se.optional()}),T=_.object({_meta:ce.optional()}),E=T.extend({task:oe.optional()}),le=e=>E.safeParse(e).success,D=_.object({method:_.string(),params:T.loose().optional()}),O=_.object({_meta:ce.optional()}),k=_.object({method:_.string(),params:O.loose().optional()}),A=_.looseObject({_meta:ce.optional()}),j=_.union([_.string(),_.number().int()]),ue=_.object({jsonrpc:_.literal(`2.0`),id:j,...D.shape}).strict(),M=e=>ue.safeParse(e).success,de=_.object({jsonrpc:_.literal(`2.0`),...k.shape}).strict(),fe=e=>de.safeParse(e).success,pe=_.object({jsonrpc:_.literal(`2.0`),id:j,result:A}).strict(),N=e=>pe.safeParse(e).success;var P;(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`})(P||={});const me=_.object({jsonrpc:_.literal(`2.0`),id:j.optional(),error:_.object({code:_.number().int(),message:_.string(),data:_.unknown().optional()})}).strict(),F=e=>me.safeParse(e).success,he=_.union([ue,de,pe,me]);_.union([pe,me]);const I=A.strict(),ge=O.extend({requestId:j.optional(),reason:_.string().optional()}),_e=k.extend({method:_.literal(`notifications/cancelled`),params:ge}),ve=_.object({src:_.string(),mimeType:_.string().optional(),sizes:_.array(_.string()).optional(),theme:_.enum([`light`,`dark`]).optional()}),L=_.object({icons:_.array(ve).optional()}),R=_.object({name:_.string(),title:_.string().optional()}),ye=R.extend({...R.shape,...L.shape,version:_.string(),websiteUrl:_.string().optional(),description:_.string().optional()}),be=_.intersection(_.object({applyDefaults:_.boolean().optional()}),_.record(_.string(),_.unknown())),xe=_.preprocess(e=>e&&typeof e==`object`&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,_.intersection(_.object({form:be.optional(),url:w.optional()}),_.record(_.string(),_.unknown()).optional())),Se=_.looseObject({list:w.optional(),cancel:w.optional(),requests:_.looseObject({sampling:_.looseObject({createMessage:w.optional()}).optional(),elicitation:_.looseObject({create:w.optional()}).optional()}).optional()}),Ce=_.looseObject({list:w.optional(),cancel:w.optional(),requests:_.looseObject({tools:_.looseObject({call:w.optional()}).optional()}).optional()}),we=_.object({experimental:_.record(_.string(),w).optional(),sampling:_.object({context:w.optional(),tools:w.optional()}).optional(),elicitation:xe.optional(),roots:_.object({listChanged:_.boolean().optional()}).optional(),tasks:Se.optional(),extensions:_.record(_.string(),w).optional()}),Te=T.extend({protocolVersion:_.string(),capabilities:we,clientInfo:ye}),Ee=D.extend({method:_.literal(`initialize`),params:Te}),De=e=>Ee.safeParse(e).success,Oe=_.object({experimental:_.record(_.string(),w).optional(),logging:w.optional(),completions:w.optional(),prompts:_.object({listChanged:_.boolean().optional()}).optional(),resources:_.object({subscribe:_.boolean().optional(),listChanged:_.boolean().optional()}).optional(),tools:_.object({listChanged:_.boolean().optional()}).optional(),tasks:Ce.optional(),extensions:_.record(_.string(),w).optional()}),ke=A.extend({protocolVersion:_.string(),capabilities:Oe,serverInfo:ye,instructions:_.string().optional()}),Ae=k.extend({method:_.literal(`notifications/initialized`),params:O.optional()}),je=D.extend({method:_.literal(`ping`),params:T.optional()}),Me=_.object({progress:_.number(),total:_.optional(_.number()),message:_.optional(_.string())}),Ne=_.object({...O.shape,...Me.shape,progressToken:ie}),Pe=k.extend({method:_.literal(`notifications/progress`),params:Ne}),Fe=T.extend({cursor:ae.optional()}),z=D.extend({params:Fe.optional()}),B=A.extend({nextCursor:ae.optional()}),Ie=_.enum([`working`,`input_required`,`completed`,`failed`,`cancelled`]),V=_.object({taskId:_.string(),status:Ie,ttl:_.union([_.number(),_.null()]),createdAt:_.string(),lastUpdatedAt:_.string(),pollInterval:_.optional(_.number()),statusMessage:_.optional(_.string())}),H=A.extend({task:V}),Le=O.merge(V),U=k.extend({method:_.literal(`notifications/tasks/status`),params:Le}),Re=D.extend({method:_.literal(`tasks/get`),params:T.extend({taskId:_.string()})}),ze=A.merge(V),Be=D.extend({method:_.literal(`tasks/result`),params:T.extend({taskId:_.string()})});A.loose();const Ve=z.extend({method:_.literal(`tasks/list`)}),He=B.extend({tasks:_.array(V)}),Ue=D.extend({method:_.literal(`tasks/cancel`),params:T.extend({taskId:_.string()})}),We=A.merge(V),Ge=_.object({uri:_.string(),mimeType:_.optional(_.string()),_meta:_.record(_.string(),_.unknown()).optional()}),Ke=Ge.extend({text:_.string()}),qe=_.string().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:`Invalid Base64 string`}),Je=Ge.extend({blob:qe}),W=_.enum([`user`,`assistant`]),G=_.object({audience:_.array(W).optional(),priority:_.number().min(0).max(1).optional(),lastModified:_.iso.datetime({offset:!0}).optional()}),Ye=_.object({...R.shape,...L.shape,uri:_.string(),description:_.optional(_.string()),mimeType:_.optional(_.string()),size:_.optional(_.number()),annotations:G.optional(),_meta:_.optional(_.looseObject({}))}),Xe=_.object({...R.shape,...L.shape,uriTemplate:_.string(),description:_.optional(_.string()),mimeType:_.optional(_.string()),annotations:G.optional(),_meta:_.optional(_.looseObject({}))}),Ze=z.extend({method:_.literal(`resources/list`)}),Qe=B.extend({resources:_.array(Ye)}),$e=z.extend({method:_.literal(`resources/templates/list`)}),et=B.extend({resourceTemplates:_.array(Xe)}),tt=T.extend({uri:_.string()}),nt=tt,rt=D.extend({method:_.literal(`resources/read`),params:nt}),it=A.extend({contents:_.array(_.union([Ke,Je]))}),at=k.extend({method:_.literal(`notifications/resources/list_changed`),params:O.optional()}),ot=tt,st=D.extend({method:_.literal(`resources/subscribe`),params:ot}),ct=tt,lt=D.extend({method:_.literal(`resources/unsubscribe`),params:ct}),ut=O.extend({uri:_.string()}),dt=k.extend({method:_.literal(`notifications/resources/updated`),params:ut}),ft=_.object({name:_.string(),description:_.optional(_.string()),required:_.optional(_.boolean())}),pt=_.object({...R.shape,...L.shape,description:_.optional(_.string()),arguments:_.optional(_.array(ft)),_meta:_.optional(_.looseObject({}))}),mt=z.extend({method:_.literal(`prompts/list`)}),ht=B.extend({prompts:_.array(pt)}),gt=T.extend({name:_.string(),arguments:_.record(_.string(),_.string()).optional()}),_t=D.extend({method:_.literal(`prompts/get`),params:gt}),vt=_.object({type:_.literal(`text`),text:_.string(),annotations:G.optional(),_meta:_.record(_.string(),_.unknown()).optional()}),yt=_.object({type:_.literal(`image`),data:qe,mimeType:_.string(),annotations:G.optional(),_meta:_.record(_.string(),_.unknown()).optional()}),bt=_.object({type:_.literal(`audio`),data:qe,mimeType:_.string(),annotations:G.optional(),_meta:_.record(_.string(),_.unknown()).optional()}),xt=_.object({type:_.literal(`tool_use`),name:_.string(),id:_.string(),input:_.record(_.string(),_.unknown()),_meta:_.record(_.string(),_.unknown()).optional()}),St=_.object({type:_.literal(`resource`),resource:_.union([Ke,Je]),annotations:G.optional(),_meta:_.record(_.string(),_.unknown()).optional()}),Ct=Ye.extend({type:_.literal(`resource_link`)}),wt=_.union([vt,yt,bt,Ct,St]),Tt=_.object({role:W,content:wt}),Et=A.extend({description:_.string().optional(),messages:_.array(Tt)}),Dt=k.extend({method:_.literal(`notifications/prompts/list_changed`),params:O.optional()}),Ot=_.object({title:_.string().optional(),readOnlyHint:_.boolean().optional(),destructiveHint:_.boolean().optional(),idempotentHint:_.boolean().optional(),openWorldHint:_.boolean().optional()}),kt=_.object({taskSupport:_.enum([`required`,`optional`,`forbidden`]).optional()}),At=_.object({...R.shape,...L.shape,description:_.string().optional(),inputSchema:_.object({type:_.literal(`object`),properties:_.record(_.string(),w).optional(),required:_.array(_.string()).optional()}).catchall(_.unknown()),outputSchema:_.object({type:_.literal(`object`),properties:_.record(_.string(),w).optional(),required:_.array(_.string()).optional()}).catchall(_.unknown()).optional(),annotations:Ot.optional(),execution:kt.optional(),_meta:_.record(_.string(),_.unknown()).optional()}),jt=z.extend({method:_.literal(`tools/list`)}),Mt=B.extend({tools:_.array(At)}),K=A.extend({content:_.array(wt).default([]),structuredContent:_.record(_.string(),_.unknown()).optional(),isError:_.boolean().optional()});K.or(A.extend({toolResult:_.unknown()}));const Nt=E.extend({name:_.string(),arguments:_.record(_.string(),_.unknown()).optional()}),Pt=D.extend({method:_.literal(`tools/call`),params:Nt}),Ft=k.extend({method:_.literal(`notifications/tools/list_changed`),params:O.optional()}),It=_.object({autoRefresh:_.boolean().default(!0),debounceMs:_.number().int().nonnegative().default(300)}),q=_.enum([`debug`,`info`,`notice`,`warning`,`error`,`critical`,`alert`,`emergency`]),Lt=T.extend({level:q}),Rt=D.extend({method:_.literal(`logging/setLevel`),params:Lt}),zt=O.extend({level:q,logger:_.string().optional(),data:_.unknown()}),Bt=k.extend({method:_.literal(`notifications/message`),params:zt}),Vt=_.object({name:_.string().optional()}),Ht=_.object({hints:_.array(Vt).optional(),costPriority:_.number().min(0).max(1).optional(),speedPriority:_.number().min(0).max(1).optional(),intelligencePriority:_.number().min(0).max(1).optional()}),Ut=_.object({mode:_.enum([`auto`,`required`,`none`]).optional()}),Wt=_.object({type:_.literal(`tool_result`),toolUseId:_.string().describe(`The unique identifier for the corresponding tool call.`),content:_.array(wt).default([]),structuredContent:_.object({}).loose().optional(),isError:_.boolean().optional(),_meta:_.record(_.string(),_.unknown()).optional()}),Gt=_.discriminatedUnion(`type`,[vt,yt,bt]),J=_.discriminatedUnion(`type`,[vt,yt,bt,xt,Wt]),Kt=_.object({role:W,content:_.union([J,_.array(J)]),_meta:_.record(_.string(),_.unknown()).optional()}),qt=E.extend({messages:_.array(Kt),modelPreferences:Ht.optional(),systemPrompt:_.string().optional(),includeContext:_.enum([`none`,`thisServer`,`allServers`]).optional(),temperature:_.number().optional(),maxTokens:_.number().int(),stopSequences:_.array(_.string()).optional(),metadata:w.optional(),tools:_.array(At).optional(),toolChoice:Ut.optional()}),Jt=D.extend({method:_.literal(`sampling/createMessage`),params:qt}),Yt=A.extend({model:_.string(),stopReason:_.optional(_.enum([`endTurn`,`stopSequence`,`maxTokens`]).or(_.string())),role:W,content:Gt}),Xt=A.extend({model:_.string(),stopReason:_.optional(_.enum([`endTurn`,`stopSequence`,`maxTokens`,`toolUse`]).or(_.string())),role:W,content:_.union([J,_.array(J)])}),Zt=_.object({type:_.literal(`boolean`),title:_.string().optional(),description:_.string().optional(),default:_.boolean().optional()}),Qt=_.object({type:_.literal(`string`),title:_.string().optional(),description:_.string().optional(),minLength:_.number().optional(),maxLength:_.number().optional(),format:_.enum([`email`,`uri`,`date`,`date-time`]).optional(),default:_.string().optional()}),$t=_.object({type:_.enum([`number`,`integer`]),title:_.string().optional(),description:_.string().optional(),minimum:_.number().optional(),maximum:_.number().optional(),default:_.number().optional()}),en=_.object({type:_.literal(`string`),title:_.string().optional(),description:_.string().optional(),enum:_.array(_.string()),default:_.string().optional()}),tn=_.object({type:_.literal(`string`),title:_.string().optional(),description:_.string().optional(),oneOf:_.array(_.object({const:_.string(),title:_.string()})),default:_.string().optional()}),nn=_.object({type:_.literal(`string`),title:_.string().optional(),description:_.string().optional(),enum:_.array(_.string()),enumNames:_.array(_.string()).optional(),default:_.string().optional()}),rn=_.union([en,tn]),an=_.object({type:_.literal(`array`),title:_.string().optional(),description:_.string().optional(),minItems:_.number().optional(),maxItems:_.number().optional(),items:_.object({type:_.literal(`string`),enum:_.array(_.string())}),default:_.array(_.string()).optional()}),on=_.object({type:_.literal(`array`),title:_.string().optional(),description:_.string().optional(),minItems:_.number().optional(),maxItems:_.number().optional(),items:_.object({anyOf:_.array(_.object({const:_.string(),title:_.string()}))}),default:_.array(_.string()).optional()}),sn=_.union([an,on]),cn=_.union([nn,rn,sn]),ln=_.union([cn,Zt,Qt,$t]),un=E.extend({mode:_.literal(`form`).optional(),message:_.string(),requestedSchema:_.object({type:_.literal(`object`),properties:_.record(_.string(),ln),required:_.array(_.string()).optional()})}),dn=E.extend({mode:_.literal(`url`),message:_.string(),elicitationId:_.string(),url:_.string().url()}),fn=_.union([un,dn]),pn=D.extend({method:_.literal(`elicitation/create`),params:fn}),mn=O.extend({elicitationId:_.string()}),hn=k.extend({method:_.literal(`notifications/elicitation/complete`),params:mn}),Y=A.extend({action:_.enum([`accept`,`decline`,`cancel`]),content:_.preprocess(e=>e===null?void 0:e,_.record(_.string(),_.union([_.string(),_.number(),_.boolean(),_.array(_.string())])).optional())}),gn=_.object({type:_.literal(`ref/resource`),uri:_.string()}),_n=_.object({type:_.literal(`ref/prompt`),name:_.string()}),vn=T.extend({ref:_.union([_n,gn]),argument:_.object({name:_.string(),value:_.string()}),context:_.object({arguments:_.record(_.string(),_.string()).optional()}).optional()}),yn=D.extend({method:_.literal(`completion/complete`),params:vn}),bn=A.extend({completion:_.looseObject({values:_.array(_.string()).max(100),total:_.optional(_.number().int()),hasMore:_.optional(_.boolean())})}),xn=_.object({uri:_.string().startsWith(`file://`),name:_.string().optional(),_meta:_.record(_.string(),_.unknown()).optional()}),Sn=D.extend({method:_.literal(`roots/list`),params:T.optional()}),Cn=A.extend({roots:_.array(xn)}),wn=k.extend({method:_.literal(`notifications/roots/list_changed`),params:O.optional()});_.union([je,Ee,yn,Rt,_t,mt,Ze,$e,rt,st,lt,Pt,jt,Re,Be,Ve,Ue]),_.union([_e,Pe,Ae,wn,U]),_.union([I,Yt,Xt,Y,Cn,ze,He,H]),_.union([je,Jt,pn,Sn,Re,Be,Ve,Ue]),_.union([_e,Pe,Bt,dt,at,Ft,Dt,U,hn]),_.union([I,ke,bn,Et,ht,Qe,et,it,K,Mt,ze,He,H]);var X=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===P.UrlElicitationRequired&&r){let e=r;if(e.elicitations)return new Tn(e.elicitations,n)}return new e(t,n,r)}},Tn=class extends X{constructor(e,t=`URL elicitation${e.length>1?`s`:``} required`){super(P.UrlElicitationRequired,t,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function Z(e){return e===`completed`||e===`failed`||e===`cancelled`}function En(e){let t=b(e)?.method;if(!t)throw Error(`Schema is missing a method literal`);let n=re(t);if(typeof n!=`string`)throw Error(`Schema method literal must be a string`);return n}function Dn(e,t){let n=y(e,t);if(!n.success)throw n.error;return n.data}var On=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(_e,e=>{this._oncancel(e)}),this.setNotificationHandler(Pe,e=>{this._onprogress(e)}),this.setRequestHandler(je,e=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(Re,async(e,t)=>{let n=await this._taskStore.getTask(e.params.taskId,t.sessionId);if(!n)throw new X(P.InvalidParams,`Failed to retrieve task: Task not found`);return{...n}}),this.setRequestHandler(Be,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 X(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 X(P.InvalidParams,`Task not found: ${r}`);if(!Z(i.status))return await this._waitForTaskUpdate(r,t.signal),await n();if(Z(i.status)){let e=await this._taskStore.getTaskResult(r,t.sessionId);return this._clearTaskQueue(r),{...e,_meta:{...e._meta,[C]:{taskId:r}}}}return await n()};return await n()}),this.setRequestHandler(Ve,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 X(P.InvalidParams,`Failed to list tasks: ${e instanceof Error?e.message:String(e)}`)}}),this.setRequestHandler(Ue,async(e,t)=>{try{let n=await this._taskStore.getTask(e.params.taskId,t.sessionId);if(!n)throw new X(P.InvalidParams,`Task not found: ${e.params.taskId}`);if(Z(n.status))throw new X(P.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 X(P.InvalidParams,`Task not found after cancellation: ${e.params.taskId}`);return{_meta:{},...r}}catch(e){throw e instanceof X?e:new X(P.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),X.fromError(P.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),N(e)||F(e)?this._onresponse(e):M(e)?this._onrequest(e,t):fe(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=X.fromError(P.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?.[C]?.taskId;if(n===void 0){let t={jsonrpc:`2.0`,id:e.id,error:{code:P.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=le(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 X(P.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:P.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),N(e)?n(e):n(new X(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(N(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),N(e)?r(e):r(X.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 X?e:new X(P.InternalError,String(e))}}return}let i;try{let r=await this.request(e,H,n);if(r.task)i=r.task.taskId,yield{type:`taskCreated`,task:r.task};else throw new X(P.InternalError,`Task creation did not return a task`);for(;;){let e=await this.getTask({taskId:i},n);if(yield{type:`taskStatus`,task:e},Z(e.status)){e.status===`completed`?yield{type:`result`,result:await this.getTaskResult({taskId:i},t,n)}:e.status===`failed`?yield{type:`error`,error:new X(P.InternalError,`Task ${i} failed`)}:e.status===`cancelled`&&(yield{type:`error`,error:new X(P.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 X?e:new X(P.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||{},[C]: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 X?e:new X(P.RequestTimeout,String(e)))};this._responseHandlers.set(d,e=>{if(!n?.signal?.aborted){if(e instanceof Error)return l(e);try{let n=y(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(X.fromError(P.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},ze,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},He,t)}async cancelTask(e,t){return this.request({method:`tasks/cancel`,params:e},We,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||{},[C]: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||{},[C]: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||{},[C]:t.relatedTask}}}),await this._transport.send(r,t)}setRequestHandler(e,t){let n=En(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(n,r)=>{let i=Dn(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=En(e);this._notificationHandlers.set(n,n=>{let r=Dn(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`&&M(t.message)){let n=t.message.id,r=this._requestResolvers.get(n);r?(r(new X(P.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 X(P.InvalidRequest,`Request cancelled`));return}let i=setTimeout(e,n);t.addEventListener(`abort`,()=>{clearTimeout(i),r(new X(P.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 X(P.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=U.parse({method:`notifications/tasks/status`,params:a});await this.notification(t),Z(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 X(P.InvalidParams,`Task "${e}" not found - it may have been cleaned up`);if(Z(a.status))throw new X(P.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=U.parse({method:`notifications/tasks/status`,params:o});await this.notification(t),Z(o.status)&&this._cleanupTaskProgressHandler(e)}},listTasks:e=>n.listTasks(e,t)}}};function kn(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function An(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];kn(a)&&kn(i)?n[r]={...a,...i}:n[r]=i}return n}var jn=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.formatNames=e.fastFormats=e.fullFormats=void 0;function t(e,t){return{validate:e,compare:t}}e.fullFormats={date:t(a,o),time:t(c(!0),l),"date-time":t(f(!0),p),"iso-time":t(c(),u),"iso-date-time":t(f(),m),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:_,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:S,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:te,int32:{type:`number`,validate:y},int64:{type:`number`,validate:b},float:{type:`number`,validate:re},double:{type:`number`,validate:re},password:!0,binary:!0},e.fastFormats={...e.fullFormats,date:t(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,o),time:t(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,l),"date-time":t(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,p),"iso-time":t(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,u),"iso-date-time":t(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,m),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i},e.formatNames=Object.keys(e.fullFormats);function n(e){return e%4==0&&(e%100!=0||e%400==0)}let r=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,i=[0,31,28,31,30,31,30,31,31,30,31,30,31];function a(e){let t=r.exec(e);if(!t)return!1;let a=+t[1],o=+t[2],s=+t[3];return o>=1&&o<=12&&s>=1&&s<=(o===2&&n(a)?29:i[o])}function o(e,t){if(e&&t)return e>t?1:e<t?-1:0}let s=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function c(e){return function(t){let n=s.exec(t);if(!n)return!1;let r=+n[1],i=+n[2],a=+n[3],o=n[4],c=n[5]===`-`?-1:1,l=+(n[6]||0),u=+(n[7]||0);if(l>23||u>59||e&&!o)return!1;if(r<=23&&i<=59&&a<60)return!0;let d=i-u*c,f=r-l*c-+(d<0);return(f===23||f===-1)&&(d===59||d===-1)&&a<61}}function l(e,t){if(!(e&&t))return;let n=new Date(`2020-01-01T`+e).valueOf(),r=new Date(`2020-01-01T`+t).valueOf();if(n&&r)return n-r}function u(e,t){if(!(e&&t))return;let n=s.exec(e),r=s.exec(t);if(n&&r)return e=n[1]+n[2]+n[3],t=r[1]+r[2]+r[3],e>t?1:e<t?-1:0}let d=/t|\s/i;function f(e){let t=c(e);return function(e){let n=e.split(d);return n.length===2&&a(n[0])&&t(n[1])}}function p(e,t){if(!(e&&t))return;let n=new Date(e).valueOf(),r=new Date(t).valueOf();if(n&&r)return n-r}function m(e,t){if(!(e&&t))return;let[n,r]=e.split(d),[i,a]=t.split(d),s=o(n,i);if(s!==void 0)return s||l(r,a)}let h=/\/|:/,g=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function _(e){return h.test(e)&&g.test(e)}let ee=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function te(e){return ee.lastIndex=0,ee.test(e)}let ne=-(2**31),v=2**31-1;function y(e){return Number.isInteger(e)&&e<=v&&e>=ne}function b(e){return Number.isInteger(e)}function re(){return!0}let x=/[^\\]\\Z/;function S(e){if(x.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}})),Mn=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.formatLimitDefinition=void 0;let t=r(),n=i(),a=n.operators,o={formatMaximum:{okStr:`<=`,ok:a.LTE,fail:a.GT},formatMinimum:{okStr:`>=`,ok:a.GTE,fail:a.LT},formatExclusiveMaximum:{okStr:`<`,ok:a.LT,fail:a.GTE},formatExclusiveMinimum:{okStr:`>`,ok:a.GT,fail:a.LTE}};e.formatLimitDefinition={keyword:Object.keys(o),type:`string`,schemaType:`string`,$data:!0,error:{message:({keyword:e,schemaCode:t})=>(0,n.str)`should be ${o[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,n._)`{comparison: ${o[e].okStr}, limit: ${t}}`},code(e){let{gen:r,data:i,schemaCode:a,keyword:s,it:c}=e,{opts:l,self:u}=c;if(!l.validateFormats)return;let d=new t.KeywordCxt(c,u.RULES.all.format.definition,`format`);d.$data?f():p();function f(){let t=r.scopeValue(`formats`,{ref:u.formats,code:l.code.formats}),i=r.const(`fmt`,(0,n._)`${t}[${d.schemaCode}]`);e.fail$data((0,n.or)((0,n._)`typeof ${i} != "object"`,(0,n._)`${i} instanceof RegExp`,(0,n._)`typeof ${i}.compare != "function"`,m(i)))}function p(){let t=d.schema,i=u.formats[t];if(!i||i===!0)return;if(typeof i!=`object`||i instanceof RegExp||typeof i.compare!=`function`)throw Error(`"${s}": format "${t}" does not define "compare" function`);let a=r.scopeValue(`formats`,{key:t,ref:i,code:l.code.formats?(0,n._)`${l.code.formats}${(0,n.getProperty)(t)}`:void 0});e.fail$data(m(a))}function m(e){return(0,n._)`${e}.compare(${i}, ${a}) ${o[s].fail} 0`}},dependencies:[`format`]},e.default=t=>(t.addKeyword(e.formatLimitDefinition),t)})),Nn=t(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0});let n=jn(),r=Mn(),a=i(),o=new a.Name(`fullFormats`),s=new a.Name(`fastFormats`),c=(e,t={keywords:!0})=>{if(Array.isArray(t))return l(e,t,n.fullFormats,o),e;let[i,a]=t.mode===`fast`?[n.fastFormats,s]:[n.fullFormats,o];return l(e,t.formats||n.formatNames,i,a),t.keywords&&(0,r.default)(e),e};c.get=(e,t=`full`)=>{let r=(t===`fast`?n.fastFormats:n.fullFormats)[e];if(!r)throw Error(`Unknown format "${e}"`);return r};function l(e,t,n,r){var i;(i=e.opts.code).formats??(i.formats=(0,a._)`require("ajv-formats/dist/formats").${r}`);for(let r of t)e.addFormat(r,n[r])}t.exports=e=c,Object.defineProperty(e,`__esModule`,{value:!0}),e.default=c})),Pn=e(r(),1),Fn=e(Nn(),1);function In(){let e=new Pn.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,Fn.default)(e),e}var Ln=class{constructor(e){this._ajv=e??In()}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)}}},Rn=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},Yt,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},Y,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 zn(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 Bn(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 Vn=class extends On{constructor(e,t){super(t),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(q.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 Ln,this.setRequestHandler(Ee,e=>this._oninitialize(e)),this.setNotificationHandler(Ae,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(Rt,async(e,t)=>{let n=t.sessionId||t.requestInfo?.headers[`mcp-session-id`]||void 0,{level:r}=e.params,i=q.safeParse(r);return i.success&&this._loggingLevels.set(n,i.data),{}})}get experimental(){return this._experimental||={tasks:new Rn(this)},this._experimental}registerCapabilities(e){if(this.transport)throw Error(`Cannot register capabilities after connecting to transport`);this._capabilities=An(this._capabilities,e)}setRequestHandler(e,t){let n=b(e)?.method;if(!n)throw Error(`Schema is missing a method literal`);let r;if(v(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=y(Pt,e);if(!r.success){let e=r.error instanceof Error?r.error.message:String(r.error);throw new X(P.InvalidParams,`Invalid tools/call request: ${e}`)}let{params:i}=r.data,a=await Promise.resolve(t(e,n));if(i.task){let e=y(H,a);if(!e.success){let t=e.error instanceof Error?e.error.message:String(e.error);throw new X(P.InvalidParams,`Invalid task creation result: ${t}`)}return e.data}let o=y(K,a);if(!o.success){let e=o.error instanceof Error?o.error.message:String(o.error);throw new X(P.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){Bn(this._clientCapabilities?.tasks?.requests,e,`Client`)}assertTaskHandlerCapability(e){this._capabilities&&zn(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:S.includes(t)?t:x,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`},I)}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},Xt,t):this.request({method:`sampling/createMessage`,params:e},Yt,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},Y,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},Y,t);if(r.action===`accept`&&r.content&&n.requestedSchema)try{let e=this._jsonSchemaValidator.getValidator(n.requestedSchema)(r.content);if(!e.valid)throw new X(P.InvalidParams,`Elicitation response content does not match requested schema: ${e.errorMessage}`)}catch(e){throw e instanceof X?e:new X(P.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},Cn,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 Hn=`approve`;function Un(){return{name:Hn,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 Wn(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 Gn(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=Wn(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 Kn(e,t){let n=t[e.toolsetName];return n?`${n}.${e.name}`:e.name}async function qn(e,t,n){let r=t?.pluginToolsets??{},i=t?.staticFallback??[],a=await e.requestOptional(c.list,{adapterId:n?.adapterId,adapterName:n?.adapterName}),o=a.handled?a.data.tools:i,s=t?.getExposedTools?t.getExposedTools(o):o,l=s.map(e=>Kn(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<s.length;e++){let t=s[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(Jn(t,r))}return{tools:f,byMcpName:d}}function Jn(e,t){return{name:t,description:e.description,inputSchema:d(e.inputSchema),annotations:e.annotations}}function Yn(e){let t=!1;return()=>{t||(t=!0,e?.())}}function Xn(e){let t;return()=>t??=e()}async function Zn(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 Qn(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 $n(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 er(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 tr=2147483647;function nr(e,t){let n=er(e,t);if(n!==void 0&&n>tr)throw RangeError(`${t} must be no greater than ${tr} milliseconds`);return n}const rr=`adapterSessionId`,Q=`x-adapter-session-id`;function ir(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 ar(e){let t=e.requestInfo?.headers[Q];return Array.isArray(t)?t[0]:t}function or(e,t){if(!e||!t)return;let n=t.get(e);if(n)return{adapterId:n.adapterId,adapterName:n.adapterName}}function sr(e,t){let n=Yn(t.on(c.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 cr(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 lr(e,t,n){let{contextRegistry:r,toolDiscovery:i,resolveContextOverrides:a}=n??{},s=$n(n?.toolExecutionTimeoutMs),l=new Vn({name:`makaio`,version:`1.0.0`},{capabilities:{tools:{listChanged:!0}}}),u=t=>e.request(o.toolApprove,t);return l.setRequestHandler(jt,async(t,n)=>({tools:[...(await qn(e,i,or(ar(n),r))).tools,...r?[Un()]:[]]})),l.setRequestHandler(Pt,async(n,o)=>{let l=ar(o);if(n.params.name===`approve`)return r?Gn(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=or(l,r),f=(await qn(e,i,d)).byMcpName.get(n.params.name);if(!f)throw new X(P.InvalidParams,`Tool ${n.params.name} not found`);let p=a?.(l),m=cr(p,t),h={toolName:f.sourceToolName,input:n.params.arguments??{},adapterId:d?.adapterId,adapterName:d?.adapterName,contextOverrides:m},g=s===void 0?await e.requestOptional(c.execute,h):await e.requestOptional(c.execute,h,{timeout:s});if(!g.handled)throw new X(P.InternalError,`Tool execution handler unavailable`);return ir(g.data)}),sr(l,e),l}var ur=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,t}from"../chunk-DTipWd-i.mjs";import{t as n}from"../quick-lru-uXa2PNb5.mjs";import{t as r,v as i}from"../ajv-DWgn_plp.mjs";import{t as a}from"../cross-spawn-DPrJR9Nq.mjs";import{AgentSubjects as o,McpSubjects as s,ToolSubjects as c}from"@makaio/framework/contracts";import{BaseService as l}from"@makaio/framework/service-base";import{ToolErrorCodes as u,ensureMcpObjectSchema as d,errorToToolResult as f,toolError as p,toolSuccess as m}from"@makaio/framework/tools";import h from"node:process";import{PassThrough as g}from"node:stream";import*as _ 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 v(e){return!!e._zod}function y(e,t){return v(e)?ee.safeParse(e,t):e.safeParse(t)}function b(e){if(!e)return;let t;if(t=v(e)?e._zod?.def?.shape:e.shape,t){if(typeof t==`function`)try{return t()}catch{return}return t}}function re(e){if(v(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 x=`2025-11-25`,S=[x,`2025-06-18`,`2025-03-26`,`2024-11-05`,`2024-10-07`],C=`io.modelcontextprotocol/related-task`,w=_.custom(e=>e!==null&&(typeof e==`object`||typeof e==`function`)),ie=_.union([_.string(),_.number().int()]),ae=_.string();_.looseObject({ttl:_.number().optional(),pollInterval:_.number().optional()});const oe=_.object({ttl:_.number().optional()}),se=_.object({taskId:_.string()}),ce=_.looseObject({progressToken:ie.optional(),[C]:se.optional()}),T=_.object({_meta:ce.optional()}),E=T.extend({task:oe.optional()}),le=e=>E.safeParse(e).success,D=_.object({method:_.string(),params:T.loose().optional()}),O=_.object({_meta:ce.optional()}),k=_.object({method:_.string(),params:O.loose().optional()}),A=_.looseObject({_meta:ce.optional()}),j=_.union([_.string(),_.number().int()]),ue=_.object({jsonrpc:_.literal(`2.0`),id:j,...D.shape}).strict(),M=e=>ue.safeParse(e).success,de=_.object({jsonrpc:_.literal(`2.0`),...k.shape}).strict(),fe=e=>de.safeParse(e).success,pe=_.object({jsonrpc:_.literal(`2.0`),id:j,result:A}).strict(),N=e=>pe.safeParse(e).success;var P;(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`})(P||={});const me=_.object({jsonrpc:_.literal(`2.0`),id:j.optional(),error:_.object({code:_.number().int(),message:_.string(),data:_.unknown().optional()})}).strict(),F=e=>me.safeParse(e).success,he=_.union([ue,de,pe,me]);_.union([pe,me]);const I=A.strict(),ge=O.extend({requestId:j.optional(),reason:_.string().optional()}),_e=k.extend({method:_.literal(`notifications/cancelled`),params:ge}),ve=_.object({src:_.string(),mimeType:_.string().optional(),sizes:_.array(_.string()).optional(),theme:_.enum([`light`,`dark`]).optional()}),L=_.object({icons:_.array(ve).optional()}),R=_.object({name:_.string(),title:_.string().optional()}),ye=R.extend({...R.shape,...L.shape,version:_.string(),websiteUrl:_.string().optional(),description:_.string().optional()}),be=_.intersection(_.object({applyDefaults:_.boolean().optional()}),_.record(_.string(),_.unknown())),xe=_.preprocess(e=>e&&typeof e==`object`&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,_.intersection(_.object({form:be.optional(),url:w.optional()}),_.record(_.string(),_.unknown()).optional())),Se=_.looseObject({list:w.optional(),cancel:w.optional(),requests:_.looseObject({sampling:_.looseObject({createMessage:w.optional()}).optional(),elicitation:_.looseObject({create:w.optional()}).optional()}).optional()}),Ce=_.looseObject({list:w.optional(),cancel:w.optional(),requests:_.looseObject({tools:_.looseObject({call:w.optional()}).optional()}).optional()}),we=_.object({experimental:_.record(_.string(),w).optional(),sampling:_.object({context:w.optional(),tools:w.optional()}).optional(),elicitation:xe.optional(),roots:_.object({listChanged:_.boolean().optional()}).optional(),tasks:Se.optional(),extensions:_.record(_.string(),w).optional()}),Te=T.extend({protocolVersion:_.string(),capabilities:we,clientInfo:ye}),Ee=D.extend({method:_.literal(`initialize`),params:Te}),De=e=>Ee.safeParse(e).success,Oe=_.object({experimental:_.record(_.string(),w).optional(),logging:w.optional(),completions:w.optional(),prompts:_.object({listChanged:_.boolean().optional()}).optional(),resources:_.object({subscribe:_.boolean().optional(),listChanged:_.boolean().optional()}).optional(),tools:_.object({listChanged:_.boolean().optional()}).optional(),tasks:Ce.optional(),extensions:_.record(_.string(),w).optional()}),ke=A.extend({protocolVersion:_.string(),capabilities:Oe,serverInfo:ye,instructions:_.string().optional()}),Ae=k.extend({method:_.literal(`notifications/initialized`),params:O.optional()}),je=D.extend({method:_.literal(`ping`),params:T.optional()}),Me=_.object({progress:_.number(),total:_.optional(_.number()),message:_.optional(_.string())}),Ne=_.object({...O.shape,...Me.shape,progressToken:ie}),Pe=k.extend({method:_.literal(`notifications/progress`),params:Ne}),Fe=T.extend({cursor:ae.optional()}),z=D.extend({params:Fe.optional()}),B=A.extend({nextCursor:ae.optional()}),Ie=_.enum([`working`,`input_required`,`completed`,`failed`,`cancelled`]),V=_.object({taskId:_.string(),status:Ie,ttl:_.union([_.number(),_.null()]),createdAt:_.string(),lastUpdatedAt:_.string(),pollInterval:_.optional(_.number()),statusMessage:_.optional(_.string())}),H=A.extend({task:V}),Le=O.merge(V),U=k.extend({method:_.literal(`notifications/tasks/status`),params:Le}),Re=D.extend({method:_.literal(`tasks/get`),params:T.extend({taskId:_.string()})}),ze=A.merge(V),Be=D.extend({method:_.literal(`tasks/result`),params:T.extend({taskId:_.string()})});A.loose();const Ve=z.extend({method:_.literal(`tasks/list`)}),He=B.extend({tasks:_.array(V)}),Ue=D.extend({method:_.literal(`tasks/cancel`),params:T.extend({taskId:_.string()})}),We=A.merge(V),Ge=_.object({uri:_.string(),mimeType:_.optional(_.string()),_meta:_.record(_.string(),_.unknown()).optional()}),Ke=Ge.extend({text:_.string()}),qe=_.string().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:`Invalid Base64 string`}),Je=Ge.extend({blob:qe}),W=_.enum([`user`,`assistant`]),G=_.object({audience:_.array(W).optional(),priority:_.number().min(0).max(1).optional(),lastModified:_.iso.datetime({offset:!0}).optional()}),Ye=_.object({...R.shape,...L.shape,uri:_.string(),description:_.optional(_.string()),mimeType:_.optional(_.string()),size:_.optional(_.number()),annotations:G.optional(),_meta:_.optional(_.looseObject({}))}),Xe=_.object({...R.shape,...L.shape,uriTemplate:_.string(),description:_.optional(_.string()),mimeType:_.optional(_.string()),annotations:G.optional(),_meta:_.optional(_.looseObject({}))}),Ze=z.extend({method:_.literal(`resources/list`)}),Qe=B.extend({resources:_.array(Ye)}),$e=z.extend({method:_.literal(`resources/templates/list`)}),et=B.extend({resourceTemplates:_.array(Xe)}),tt=T.extend({uri:_.string()}),nt=tt,rt=D.extend({method:_.literal(`resources/read`),params:nt}),it=A.extend({contents:_.array(_.union([Ke,Je]))}),at=k.extend({method:_.literal(`notifications/resources/list_changed`),params:O.optional()}),ot=tt,st=D.extend({method:_.literal(`resources/subscribe`),params:ot}),ct=tt,lt=D.extend({method:_.literal(`resources/unsubscribe`),params:ct}),ut=O.extend({uri:_.string()}),dt=k.extend({method:_.literal(`notifications/resources/updated`),params:ut}),ft=_.object({name:_.string(),description:_.optional(_.string()),required:_.optional(_.boolean())}),pt=_.object({...R.shape,...L.shape,description:_.optional(_.string()),arguments:_.optional(_.array(ft)),_meta:_.optional(_.looseObject({}))}),mt=z.extend({method:_.literal(`prompts/list`)}),ht=B.extend({prompts:_.array(pt)}),gt=T.extend({name:_.string(),arguments:_.record(_.string(),_.string()).optional()}),_t=D.extend({method:_.literal(`prompts/get`),params:gt}),vt=_.object({type:_.literal(`text`),text:_.string(),annotations:G.optional(),_meta:_.record(_.string(),_.unknown()).optional()}),yt=_.object({type:_.literal(`image`),data:qe,mimeType:_.string(),annotations:G.optional(),_meta:_.record(_.string(),_.unknown()).optional()}),bt=_.object({type:_.literal(`audio`),data:qe,mimeType:_.string(),annotations:G.optional(),_meta:_.record(_.string(),_.unknown()).optional()}),xt=_.object({type:_.literal(`tool_use`),name:_.string(),id:_.string(),input:_.record(_.string(),_.unknown()),_meta:_.record(_.string(),_.unknown()).optional()}),St=_.object({type:_.literal(`resource`),resource:_.union([Ke,Je]),annotations:G.optional(),_meta:_.record(_.string(),_.unknown()).optional()}),Ct=Ye.extend({type:_.literal(`resource_link`)}),wt=_.union([vt,yt,bt,Ct,St]),Tt=_.object({role:W,content:wt}),Et=A.extend({description:_.string().optional(),messages:_.array(Tt)}),Dt=k.extend({method:_.literal(`notifications/prompts/list_changed`),params:O.optional()}),Ot=_.object({title:_.string().optional(),readOnlyHint:_.boolean().optional(),destructiveHint:_.boolean().optional(),idempotentHint:_.boolean().optional(),openWorldHint:_.boolean().optional()}),kt=_.object({taskSupport:_.enum([`required`,`optional`,`forbidden`]).optional()}),At=_.object({...R.shape,...L.shape,description:_.string().optional(),inputSchema:_.object({type:_.literal(`object`),properties:_.record(_.string(),w).optional(),required:_.array(_.string()).optional()}).catchall(_.unknown()),outputSchema:_.object({type:_.literal(`object`),properties:_.record(_.string(),w).optional(),required:_.array(_.string()).optional()}).catchall(_.unknown()).optional(),annotations:Ot.optional(),execution:kt.optional(),_meta:_.record(_.string(),_.unknown()).optional()}),jt=z.extend({method:_.literal(`tools/list`)}),Mt=B.extend({tools:_.array(At)}),K=A.extend({content:_.array(wt).default([]),structuredContent:_.record(_.string(),_.unknown()).optional(),isError:_.boolean().optional()});K.or(A.extend({toolResult:_.unknown()}));const Nt=E.extend({name:_.string(),arguments:_.record(_.string(),_.unknown()).optional()}),Pt=D.extend({method:_.literal(`tools/call`),params:Nt}),Ft=k.extend({method:_.literal(`notifications/tools/list_changed`),params:O.optional()}),It=_.object({autoRefresh:_.boolean().default(!0),debounceMs:_.number().int().nonnegative().default(300)}),q=_.enum([`debug`,`info`,`notice`,`warning`,`error`,`critical`,`alert`,`emergency`]),Lt=T.extend({level:q}),Rt=D.extend({method:_.literal(`logging/setLevel`),params:Lt}),zt=O.extend({level:q,logger:_.string().optional(),data:_.unknown()}),Bt=k.extend({method:_.literal(`notifications/message`),params:zt}),Vt=_.object({name:_.string().optional()}),Ht=_.object({hints:_.array(Vt).optional(),costPriority:_.number().min(0).max(1).optional(),speedPriority:_.number().min(0).max(1).optional(),intelligencePriority:_.number().min(0).max(1).optional()}),Ut=_.object({mode:_.enum([`auto`,`required`,`none`]).optional()}),Wt=_.object({type:_.literal(`tool_result`),toolUseId:_.string().describe(`The unique identifier for the corresponding tool call.`),content:_.array(wt).default([]),structuredContent:_.object({}).loose().optional(),isError:_.boolean().optional(),_meta:_.record(_.string(),_.unknown()).optional()}),Gt=_.discriminatedUnion(`type`,[vt,yt,bt]),J=_.discriminatedUnion(`type`,[vt,yt,bt,xt,Wt]),Kt=_.object({role:W,content:_.union([J,_.array(J)]),_meta:_.record(_.string(),_.unknown()).optional()}),qt=E.extend({messages:_.array(Kt),modelPreferences:Ht.optional(),systemPrompt:_.string().optional(),includeContext:_.enum([`none`,`thisServer`,`allServers`]).optional(),temperature:_.number().optional(),maxTokens:_.number().int(),stopSequences:_.array(_.string()).optional(),metadata:w.optional(),tools:_.array(At).optional(),toolChoice:Ut.optional()}),Jt=D.extend({method:_.literal(`sampling/createMessage`),params:qt}),Yt=A.extend({model:_.string(),stopReason:_.optional(_.enum([`endTurn`,`stopSequence`,`maxTokens`]).or(_.string())),role:W,content:Gt}),Xt=A.extend({model:_.string(),stopReason:_.optional(_.enum([`endTurn`,`stopSequence`,`maxTokens`,`toolUse`]).or(_.string())),role:W,content:_.union([J,_.array(J)])}),Zt=_.object({type:_.literal(`boolean`),title:_.string().optional(),description:_.string().optional(),default:_.boolean().optional()}),Qt=_.object({type:_.literal(`string`),title:_.string().optional(),description:_.string().optional(),minLength:_.number().optional(),maxLength:_.number().optional(),format:_.enum([`email`,`uri`,`date`,`date-time`]).optional(),default:_.string().optional()}),$t=_.object({type:_.enum([`number`,`integer`]),title:_.string().optional(),description:_.string().optional(),minimum:_.number().optional(),maximum:_.number().optional(),default:_.number().optional()}),en=_.object({type:_.literal(`string`),title:_.string().optional(),description:_.string().optional(),enum:_.array(_.string()),default:_.string().optional()}),tn=_.object({type:_.literal(`string`),title:_.string().optional(),description:_.string().optional(),oneOf:_.array(_.object({const:_.string(),title:_.string()})),default:_.string().optional()}),nn=_.object({type:_.literal(`string`),title:_.string().optional(),description:_.string().optional(),enum:_.array(_.string()),enumNames:_.array(_.string()).optional(),default:_.string().optional()}),rn=_.union([en,tn]),an=_.object({type:_.literal(`array`),title:_.string().optional(),description:_.string().optional(),minItems:_.number().optional(),maxItems:_.number().optional(),items:_.object({type:_.literal(`string`),enum:_.array(_.string())}),default:_.array(_.string()).optional()}),on=_.object({type:_.literal(`array`),title:_.string().optional(),description:_.string().optional(),minItems:_.number().optional(),maxItems:_.number().optional(),items:_.object({anyOf:_.array(_.object({const:_.string(),title:_.string()}))}),default:_.array(_.string()).optional()}),sn=_.union([an,on]),cn=_.union([nn,rn,sn]),ln=_.union([cn,Zt,Qt,$t]),un=E.extend({mode:_.literal(`form`).optional(),message:_.string(),requestedSchema:_.object({type:_.literal(`object`),properties:_.record(_.string(),ln),required:_.array(_.string()).optional()})}),dn=E.extend({mode:_.literal(`url`),message:_.string(),elicitationId:_.string(),url:_.string().url()}),fn=_.union([un,dn]),pn=D.extend({method:_.literal(`elicitation/create`),params:fn}),mn=O.extend({elicitationId:_.string()}),hn=k.extend({method:_.literal(`notifications/elicitation/complete`),params:mn}),Y=A.extend({action:_.enum([`accept`,`decline`,`cancel`]),content:_.preprocess(e=>e===null?void 0:e,_.record(_.string(),_.union([_.string(),_.number(),_.boolean(),_.array(_.string())])).optional())}),gn=_.object({type:_.literal(`ref/resource`),uri:_.string()}),_n=_.object({type:_.literal(`ref/prompt`),name:_.string()}),vn=T.extend({ref:_.union([_n,gn]),argument:_.object({name:_.string(),value:_.string()}),context:_.object({arguments:_.record(_.string(),_.string()).optional()}).optional()}),yn=D.extend({method:_.literal(`completion/complete`),params:vn}),bn=A.extend({completion:_.looseObject({values:_.array(_.string()).max(100),total:_.optional(_.number().int()),hasMore:_.optional(_.boolean())})}),xn=_.object({uri:_.string().startsWith(`file://`),name:_.string().optional(),_meta:_.record(_.string(),_.unknown()).optional()}),Sn=D.extend({method:_.literal(`roots/list`),params:T.optional()}),Cn=A.extend({roots:_.array(xn)}),wn=k.extend({method:_.literal(`notifications/roots/list_changed`),params:O.optional()});_.union([je,Ee,yn,Rt,_t,mt,Ze,$e,rt,st,lt,Pt,jt,Re,Be,Ve,Ue]),_.union([_e,Pe,Ae,wn,U]),_.union([I,Yt,Xt,Y,Cn,ze,He,H]),_.union([je,Jt,pn,Sn,Re,Be,Ve,Ue]),_.union([_e,Pe,Bt,dt,at,Ft,Dt,U,hn]),_.union([I,ke,bn,Et,ht,Qe,et,it,K,Mt,ze,He,H]);var X=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===P.UrlElicitationRequired&&r){let e=r;if(e.elicitations)return new Tn(e.elicitations,n)}return new e(t,n,r)}},Tn=class extends X{constructor(e,t=`URL elicitation${e.length>1?`s`:``} required`){super(P.UrlElicitationRequired,t,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function Z(e){return e===`completed`||e===`failed`||e===`cancelled`}function En(e){let t=b(e)?.method;if(!t)throw Error(`Schema is missing a method literal`);let n=re(t);if(typeof n!=`string`)throw Error(`Schema method literal must be a string`);return n}function Dn(e,t){let n=y(e,t);if(!n.success)throw n.error;return n.data}var On=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(_e,e=>{this._oncancel(e)}),this.setNotificationHandler(Pe,e=>{this._onprogress(e)}),this.setRequestHandler(je,e=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(Re,async(e,t)=>{let n=await this._taskStore.getTask(e.params.taskId,t.sessionId);if(!n)throw new X(P.InvalidParams,`Failed to retrieve task: Task not found`);return{...n}}),this.setRequestHandler(Be,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 X(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 X(P.InvalidParams,`Task not found: ${r}`);if(!Z(i.status))return await this._waitForTaskUpdate(r,t.signal),await n();if(Z(i.status)){let e=await this._taskStore.getTaskResult(r,t.sessionId);return this._clearTaskQueue(r),{...e,_meta:{...e._meta,[C]:{taskId:r}}}}return await n()};return await n()}),this.setRequestHandler(Ve,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 X(P.InvalidParams,`Failed to list tasks: ${e instanceof Error?e.message:String(e)}`)}}),this.setRequestHandler(Ue,async(e,t)=>{try{let n=await this._taskStore.getTask(e.params.taskId,t.sessionId);if(!n)throw new X(P.InvalidParams,`Task not found: ${e.params.taskId}`);if(Z(n.status))throw new X(P.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 X(P.InvalidParams,`Task not found after cancellation: ${e.params.taskId}`);return{_meta:{},...r}}catch(e){throw e instanceof X?e:new X(P.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),X.fromError(P.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),N(e)||F(e)?this._onresponse(e):M(e)?this._onrequest(e,t):fe(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=X.fromError(P.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?.[C]?.taskId;if(n===void 0){let t={jsonrpc:`2.0`,id:e.id,error:{code:P.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=le(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 X(P.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:P.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),N(e)?n(e):n(new X(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(N(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),N(e)?r(e):r(X.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 X?e:new X(P.InternalError,String(e))}}return}let i;try{let r=await this.request(e,H,n);if(r.task)i=r.task.taskId,yield{type:`taskCreated`,task:r.task};else throw new X(P.InternalError,`Task creation did not return a task`);for(;;){let e=await this.getTask({taskId:i},n);if(yield{type:`taskStatus`,task:e},Z(e.status)){e.status===`completed`?yield{type:`result`,result:await this.getTaskResult({taskId:i},t,n)}:e.status===`failed`?yield{type:`error`,error:new X(P.InternalError,`Task ${i} failed`)}:e.status===`cancelled`&&(yield{type:`error`,error:new X(P.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 X?e:new X(P.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||{},[C]: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 X?e:new X(P.RequestTimeout,String(e)))};this._responseHandlers.set(d,e=>{if(!n?.signal?.aborted){if(e instanceof Error)return l(e);try{let n=y(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(X.fromError(P.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},ze,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},He,t)}async cancelTask(e,t){return this.request({method:`tasks/cancel`,params:e},We,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||{},[C]: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||{},[C]: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||{},[C]:t.relatedTask}}}),await this._transport.send(r,t)}setRequestHandler(e,t){let n=En(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(n,r)=>{let i=Dn(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=En(e);this._notificationHandlers.set(n,n=>{let r=Dn(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`&&M(t.message)){let n=t.message.id,r=this._requestResolvers.get(n);r?(r(new X(P.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 X(P.InvalidRequest,`Request cancelled`));return}let i=setTimeout(e,n);t.addEventListener(`abort`,()=>{clearTimeout(i),r(new X(P.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 X(P.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=U.parse({method:`notifications/tasks/status`,params:a});await this.notification(t),Z(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 X(P.InvalidParams,`Task "${e}" not found - it may have been cleaned up`);if(Z(a.status))throw new X(P.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=U.parse({method:`notifications/tasks/status`,params:o});await this.notification(t),Z(o.status)&&this._cleanupTaskProgressHandler(e)}},listTasks:e=>n.listTasks(e,t)}}};function kn(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function An(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];kn(a)&&kn(i)?n[r]={...a,...i}:n[r]=i}return n}var jn=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.formatNames=e.fastFormats=e.fullFormats=void 0;function t(e,t){return{validate:e,compare:t}}e.fullFormats={date:t(a,o),time:t(c(!0),l),"date-time":t(f(!0),p),"iso-time":t(c(),u),"iso-date-time":t(f(),m),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:_,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:S,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:te,int32:{type:`number`,validate:y},int64:{type:`number`,validate:b},float:{type:`number`,validate:re},double:{type:`number`,validate:re},password:!0,binary:!0},e.fastFormats={...e.fullFormats,date:t(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,o),time:t(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,l),"date-time":t(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,p),"iso-time":t(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,u),"iso-date-time":t(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,m),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i},e.formatNames=Object.keys(e.fullFormats);function n(e){return e%4==0&&(e%100!=0||e%400==0)}let r=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,i=[0,31,28,31,30,31,30,31,31,30,31,30,31];function a(e){let t=r.exec(e);if(!t)return!1;let a=+t[1],o=+t[2],s=+t[3];return o>=1&&o<=12&&s>=1&&s<=(o===2&&n(a)?29:i[o])}function o(e,t){if(e&&t)return e>t?1:e<t?-1:0}let s=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function c(e){return function(t){let n=s.exec(t);if(!n)return!1;let r=+n[1],i=+n[2],a=+n[3],o=n[4],c=n[5]===`-`?-1:1,l=+(n[6]||0),u=+(n[7]||0);if(l>23||u>59||e&&!o)return!1;if(r<=23&&i<=59&&a<60)return!0;let d=i-u*c,f=r-l*c-+(d<0);return(f===23||f===-1)&&(d===59||d===-1)&&a<61}}function l(e,t){if(!(e&&t))return;let n=new Date(`2020-01-01T`+e).valueOf(),r=new Date(`2020-01-01T`+t).valueOf();if(n&&r)return n-r}function u(e,t){if(!(e&&t))return;let n=s.exec(e),r=s.exec(t);if(n&&r)return e=n[1]+n[2]+n[3],t=r[1]+r[2]+r[3],e>t?1:e<t?-1:0}let d=/t|\s/i;function f(e){let t=c(e);return function(e){let n=e.split(d);return n.length===2&&a(n[0])&&t(n[1])}}function p(e,t){if(!(e&&t))return;let n=new Date(e).valueOf(),r=new Date(t).valueOf();if(n&&r)return n-r}function m(e,t){if(!(e&&t))return;let[n,r]=e.split(d),[i,a]=t.split(d),s=o(n,i);if(s!==void 0)return s||l(r,a)}let h=/\/|:/,g=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function _(e){return h.test(e)&&g.test(e)}let ee=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function te(e){return ee.lastIndex=0,ee.test(e)}let ne=-(2**31),v=2**31-1;function y(e){return Number.isInteger(e)&&e<=v&&e>=ne}function b(e){return Number.isInteger(e)}function re(){return!0}let x=/[^\\]\\Z/;function S(e){if(x.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}})),Mn=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.formatLimitDefinition=void 0;let t=r(),n=i(),a=n.operators,o={formatMaximum:{okStr:`<=`,ok:a.LTE,fail:a.GT},formatMinimum:{okStr:`>=`,ok:a.GTE,fail:a.LT},formatExclusiveMaximum:{okStr:`<`,ok:a.LT,fail:a.GTE},formatExclusiveMinimum:{okStr:`>`,ok:a.GT,fail:a.LTE}};e.formatLimitDefinition={keyword:Object.keys(o),type:`string`,schemaType:`string`,$data:!0,error:{message:({keyword:e,schemaCode:t})=>(0,n.str)`should be ${o[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,n._)`{comparison: ${o[e].okStr}, limit: ${t}}`},code(e){let{gen:r,data:i,schemaCode:a,keyword:s,it:c}=e,{opts:l,self:u}=c;if(!l.validateFormats)return;let d=new t.KeywordCxt(c,u.RULES.all.format.definition,`format`);d.$data?f():p();function f(){let t=r.scopeValue(`formats`,{ref:u.formats,code:l.code.formats}),i=r.const(`fmt`,(0,n._)`${t}[${d.schemaCode}]`);e.fail$data((0,n.or)((0,n._)`typeof ${i} != "object"`,(0,n._)`${i} instanceof RegExp`,(0,n._)`typeof ${i}.compare != "function"`,m(i)))}function p(){let t=d.schema,i=u.formats[t];if(!i||i===!0)return;if(typeof i!=`object`||i instanceof RegExp||typeof i.compare!=`function`)throw Error(`"${s}": format "${t}" does not define "compare" function`);let a=r.scopeValue(`formats`,{key:t,ref:i,code:l.code.formats?(0,n._)`${l.code.formats}${(0,n.getProperty)(t)}`:void 0});e.fail$data(m(a))}function m(e){return(0,n._)`${e}.compare(${i}, ${a}) ${o[s].fail} 0`}},dependencies:[`format`]},e.default=t=>(t.addKeyword(e.formatLimitDefinition),t)})),Nn=t(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0});let n=jn(),r=Mn(),a=i(),o=new a.Name(`fullFormats`),s=new a.Name(`fastFormats`),c=(e,t={keywords:!0})=>{if(Array.isArray(t))return l(e,t,n.fullFormats,o),e;let[i,a]=t.mode===`fast`?[n.fastFormats,s]:[n.fullFormats,o];return l(e,t.formats||n.formatNames,i,a),t.keywords&&(0,r.default)(e),e};c.get=(e,t=`full`)=>{let r=(t===`fast`?n.fastFormats:n.fullFormats)[e];if(!r)throw Error(`Unknown format "${e}"`);return r};function l(e,t,n,r){var i;(i=e.opts.code).formats??(i.formats=(0,a._)`require("ajv-formats/dist/formats").${r}`);for(let r of t)e.addFormat(r,n[r])}t.exports=e=c,Object.defineProperty(e,`__esModule`,{value:!0}),e.default=c})),Pn=e(r(),1),Fn=e(Nn(),1);function In(){let e=new Pn.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,Fn.default)(e),e}var Ln=class{constructor(e){this._ajv=e??In()}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)}}},Rn=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},Yt,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},Y,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 zn(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 Bn(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 Vn=class extends On{constructor(e,t){super(t),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(q.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 Ln,this.setRequestHandler(Ee,e=>this._oninitialize(e)),this.setNotificationHandler(Ae,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(Rt,async(e,t)=>{let n=t.sessionId||t.requestInfo?.headers[`mcp-session-id`]||void 0,{level:r}=e.params,i=q.safeParse(r);return i.success&&this._loggingLevels.set(n,i.data),{}})}get experimental(){return this._experimental||={tasks:new Rn(this)},this._experimental}registerCapabilities(e){if(this.transport)throw Error(`Cannot register capabilities after connecting to transport`);this._capabilities=An(this._capabilities,e)}setRequestHandler(e,t){let n=b(e)?.method;if(!n)throw Error(`Schema is missing a method literal`);let r;if(v(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=y(Pt,e);if(!r.success){let e=r.error instanceof Error?r.error.message:String(r.error);throw new X(P.InvalidParams,`Invalid tools/call request: ${e}`)}let{params:i}=r.data,a=await Promise.resolve(t(e,n));if(i.task){let e=y(H,a);if(!e.success){let t=e.error instanceof Error?e.error.message:String(e.error);throw new X(P.InvalidParams,`Invalid task creation result: ${t}`)}return e.data}let o=y(K,a);if(!o.success){let e=o.error instanceof Error?o.error.message:String(o.error);throw new X(P.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){Bn(this._clientCapabilities?.tasks?.requests,e,`Client`)}assertTaskHandlerCapability(e){this._capabilities&&zn(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:S.includes(t)?t:x,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`},I)}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},Xt,t):this.request({method:`sampling/createMessage`,params:e},Yt,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},Y,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},Y,t);if(r.action===`accept`&&r.content&&n.requestedSchema)try{let e=this._jsonSchemaValidator.getValidator(n.requestedSchema)(r.content);if(!e.valid)throw new X(P.InvalidParams,`Elicitation response content does not match requested schema: ${e.errorMessage}`)}catch(e){throw e instanceof X?e:new X(P.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},Cn,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 Hn=`approve`;function Un(){return{name:Hn,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 Wn(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 Gn(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=Wn(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 Kn(e,t){let n=t[e.toolsetName];return n?`${n}.${e.name}`:e.name}async function qn(e,t,n){let r=t?.pluginToolsets??{},i=t?.staticFallback??[],a=await e.requestOptional(c.list,{adapterId:n?.adapterId,adapterName:n?.adapterName}),o=a.handled?a.data.tools:i,s=t?.getExposedTools?t.getExposedTools(o):o,l=s.map(e=>Kn(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<s.length;e++){let t=s[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(Jn(t,r))}return{tools:f,byMcpName:d}}function Jn(e,t){return{name:t,description:e.description,inputSchema:d(e.inputSchema),annotations:e.annotations}}function Yn(e){let t=!1;return()=>{t||(t=!0,e?.())}}function Xn(e){let t;return()=>t??=e()}async function Zn(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 Qn(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 $n(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 er(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 tr=2147483647;function nr(e,t){let n=er(e,t);if(n!==void 0&&n>tr)throw RangeError(`${t} must be no greater than ${tr} milliseconds`);return n}const rr=`adapterSessionId`,Q=`x-adapter-session-id`;function ir(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 ar(e){let t=e.requestInfo?.headers[Q];return Array.isArray(t)?t[0]:t}function or(e,t){if(!e||!t)return;let n=t.get(e);if(n)return{adapterId:n.adapterId,adapterName:n.adapterName}}function sr(e,t){let n=Yn(t.on(c.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 cr(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 lr(e,t,n){let{contextRegistry:r,toolDiscovery:i,resolveContextOverrides:a}=n??{},s=$n(n?.toolExecutionTimeoutMs),l=new Vn({name:`makaio`,version:`1.0.0`},{capabilities:{tools:{listChanged:!0}}}),u=t=>e.request(o.toolApprove,t);return l.setRequestHandler(jt,async(t,n)=>({tools:[...(await qn(e,i,or(ar(n),r))).tools,...r?[Un()]:[]]})),l.setRequestHandler(Pt,async(n,o)=>{let l=ar(o);if(n.params.name===`approve`)return r?Gn(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=or(l,r),f=(await qn(e,i,d)).byMcpName.get(n.params.name);if(!f)throw new X(P.InvalidParams,`Tool ${n.params.name} not found`);let p=a?.(l),m=cr(p,t),h={toolName:f.sourceToolName,input:n.params.arguments??{},adapterId:d?.adapterId,adapterName:d?.adapterName,contextOverrides:m},g=s===void 0?await e.requestOptional(c.execute,h):await e.requestOptional(c.execute,h,{timeout:s});if(!g.handled)throw new X(P.InternalError,`Tool execution handler unavailable`);return ir(g.data)}),sr(l,e),l}var ur=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),dr(t)}clear(){this._buffer=void 0}};function dr(e){return he.parse(JSON.parse(e))}function fr(e){return JSON.stringify(e)+`
3
3
  `}var pr=class{constructor(e=h.stdin,t=h.stdout){this._stdin=e,this._stdout=t,this._readBuffer=new ur,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=fr(e);this._stdout.write(n)?t():this._stdout.once(`drain`,t)})}},mr=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=>he.parse(e)):[he.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(De);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(M)){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=>De(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)M(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)M(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;M(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&&!S.includes(t))return this.onerror?.(Error(`Bad Request: Unsupported protocol version: ${t} (supported versions: ${S.join(`, `)})`)),this.createJsonErrorResponse(400,-32e3,`Bad Request: Unsupported protocol version: ${t} (supported versions: ${S.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((N(e)||F(e))&&(n=e.id),n===void 0){if(N(e)||F(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(N(e)||F(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)}}}},hr=class{constructor(e={}){this._requestContext=new WeakMap,this._webStandardTransport=new mr(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 gr(e){await new Promise((t,n)=>{e.close(e=>{if(e&&e.code!==`ERR_SERVER_NOT_RUNNING`){n(e);return}t()})})}async function _r(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 vr(e,t,n){return{status:e,body:{jsonrpc:`2.0`,error:{code:t,message:n},id:null}}}const yr=vr(404,-32001,`Session not found`),br=vr(400,-32e3,`Bad Request: Mcp-Session-Id header is required`),xr=vr(503,-32e3,`Server is shutting down`),Sr=vr(500,-32603,`Internal server error`);function Cr(e){switch(e){case`unknown-session`:return yr;case`session-id-required`:return br;case`closed`:return xr;case`create-failed`:return Sr}}function wr(e,t){e.writeHead(t.status,{"Content-Type":`application/json`}),e.end(JSON.stringify(t.body))}function Tr(e){return new Response(JSON.stringify(e.body),{status:e.status,headers:{"Content-Type":`application/json`}})}var Er=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 Dr(e,t){typeof process>`u`||process.env?.MAKAIO_DEBUG!==`true`||console.debug(`[McpTransportRegistry] ${e}`,t)}function Or(e,t){let n=setInterval(e,t);return typeof n==`object`&&typeof n.unref==`function`&&n.unref(),n}function kr(e){console.error(`[MCP Server] Failed to close an MCP client session:`,e)}function Ar(e){return console.error(`[MCP Server] Failed to create an MCP client session:`,e),{outcome:`create-failed`,error:e}}function jr(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 Mr=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=er(e.idleTimeoutMs,`idleTimeoutMs`)??6e5;let t=nr(e.sweepIntervalMs,`sweepIntervalMs`)??6e4;this.sweepTimer=Or(()=>this.sweep(),t)}get size(){return this.sessions.size}async route(e){let t=await this.resolve(e);return Dr(`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 Qn([...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(kr).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 Ar(e)}let{transport:n,server:r}=t;n.onclose=()=>{let e=n.sessionId;e!==void 0&&this.sessions.delete(e)};try{await Zn(r,n,()=>r.close(),`MCP client session`)}catch(e){return Ar(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 Nr(e,t,n){$n(t.toolExecutionTimeoutMs);let r=new Er,i=t.agentContext?.adapterSessionId??crypto.randomUUID();t.agentContext&&r.register(i,t.agentContext);let a=new Mr({createSession:async a=>{let o=n(a);return{server:await lr(e,i,{contextRegistry:r,toolDiscovery:t.toolDiscovery,resolveContextOverrides:t.resolveContextOverrides,toolExecutionTimeoutMs:t.toolExecutionTimeoutMs}),transport:o}},idleTimeoutMs:t.idleTimeoutMs,sweepIntervalMs:t.sweepIntervalMs}),o=Yn(t.onclose);return{registry:a,contextRegistry:r,close:Xn(()=>a.closeAll().finally(o))}}function Pr(e){let t=e.url??`/`,n=t.indexOf(`?`);if(n===-1)return;let r=new URLSearchParams(t.slice(n+1)).get(rr);r&&(e.headers[Q]=r,Object.defineProperty(e,`rawHeaders`,{value:[...e.rawHeaders,Q,r],configurable:!0}))}function Fr(e){let t=e.headers[`mcp-session-id`];return Array.isArray(t)?t[0]:t}async function Ir(e,t={}){let n=Nr(e,t,e=>new hr({sessionIdGenerator:()=>crypto.randomUUID(),onsessioninitialized:t=>e.onSessionInitialized(t)})),r=async(e,t)=>{let r=await n.registry.route({method:e.method??`GET`,mcpSessionId:Fr(e)});if(r.outcome!==`dispatch`){wr(t,Cr(r.outcome));return}if(t.once(`close`,r.finish),t.closed){r.finish();return}await r.transport.handleRequest(e,t)};return{handler:(e,t)=>{Pr(e),r(e,t).catch(e=>{console.error(`[MCP Server] Failed to handle request:`,e),!t.headersSent&&!t.writableEnded&&wr(t,Sr)})},contextRegistry:n.contextRegistry,close:n.close}}async function Lr(e,t={}){let n=await Ir(e,t),r=te.createServer(n.handler),i=await _r(r,t.port??0,async()=>{await Promise.allSettled([n.close(),gr(r)])});console.error(`[MCP Server] HTTP transport listening on port ${i}`);let a=Xn(async()=>{r.closeAllConnections(),await Qn([n.close(),gr(r)],`Failed to close HTTP MCP server resources`)});return{port:i,contextRegistry:n.contextRegistry,close:a}}async function Rr(e,t,n={transport:`stdio`}){if(n.transport===`http`)return Lr(e,n);let r=await lr(e,t,{toolDiscovery:n.toolDiscovery,resolveContextOverrides:n.resolveContextOverrides,toolExecutionTimeoutMs:n.toolExecutionTimeoutMs}),i=new pr,a=process.stdin,o=Yn(n.onclose),s=Xn(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 Zn(r,i,s,`stdio MCP server`),console.error(`[MCP Server] Started and listening on stdio`),{close:async()=>{await s()}}}function zr(e){if(!e.url.includes(`adapterSessionId`))return e;let t=new URL(e.url).searchParams.get(rr);if(!t)return e;let n=new Headers(e.headers);return n.set(Q,t),new Request(e,{headers:n})}async function Br(e,t={}){let n=Nr(e,t,e=>new mr({sessionIdGenerator:()=>crypto.randomUUID(),onsessioninitialized:t=>e.onSessionInitialized(t)}));return{handler:async e=>{let t;try{let r=zr(e);if(t=await n.registry.route({method:r.method,mcpSessionId:r.headers.get(`mcp-session-id`)??void 0}),t.outcome!==`dispatch`)return Tr(Cr(t.outcome));let i=await t.transport.handleRequest(r);return i.body===null?(t.finish(),i):new Response(jr(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),Tr(Sr)}},contextRegistry:n.contextRegistry,close:n.close}}var Vr=class extends l{mcpHandle=null;startPromise=null;sessions=new n({maxSize:1e3,onEviction:e=>{this.mcpHandle?.contextRegistry.unregister(e)}});pinnedSessions=new Map;constructor(e){super(e)}async onInit(){this.registerHandler(s.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(s.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||=Lr(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)}},Hr=class{constructor(e){this._client=e}async*callToolStream(e,t=K,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 X(P.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 X(P.InvalidParams,`Structured content does not match the tool's output schema: ${e.errorMessage}`)};return}}catch(e){if(e instanceof X){yield{type:`error`,error:e};return}yield{type:`error`,error:new X(P.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 Ur(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 Wr=class extends On{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 Ln,t?.listChanged&&(this._pendingListChangedConfig=t.listChanged)}_setupListChangedHandlers(e){e.tools&&this._serverCapabilities?.tools?.listChanged&&this._setupListChangedHandler(`tools`,Ft,e.tools,async()=>(await this.listTools()).tools),e.prompts&&this._serverCapabilities?.prompts?.listChanged&&this._setupListChangedHandler(`prompts`,Dt,e.prompts,async()=>(await this.listPrompts()).prompts),e.resources&&this._serverCapabilities?.resources?.listChanged&&this._setupListChangedHandler(`resources`,at,e.resources,async()=>(await this.listResources()).resources)}get experimental(){return this._experimental||={tasks:new Hr(this)},this._experimental}registerCapabilities(e){if(this.transport)throw Error(`Cannot register capabilities after connecting to transport`);this._capabilities=An(this._capabilities,e)}setRequestHandler(e,t){let n=b(e)?.method;if(!n)throw Error(`Schema is missing a method literal`);let r;if(v(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=y(pn,e);if(!r.success){let e=r.error instanceof Error?r.error.message:String(r.error);throw new X(P.InvalidParams,`Invalid elicitation request: ${e}`)}let{params:i}=r.data;i.mode=i.mode??`form`;let{supportsFormMode:a,supportsUrlMode:o}=Ur(this._capabilities.elicitation);if(i.mode===`form`&&!a)throw new X(P.InvalidParams,`Client does not support form-mode elicitation requests`);if(i.mode===`url`&&!o)throw new X(P.InvalidParams,`Client does not support URL-mode elicitation requests`);let s=await Promise.resolve(t(e,n));if(i.task){let e=y(H,s);if(!e.success){let t=e.error instanceof Error?e.error.message:String(e.error);throw new X(P.InvalidParams,`Invalid task creation result: ${t}`)}return e.data}let c=y(Y,s);if(!c.success){let e=c.error instanceof Error?c.error.message:String(c.error);throw new X(P.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=y(Jt,e);if(!r.success){let e=r.error instanceof Error?r.error.message:String(r.error);throw new X(P.InvalidParams,`Invalid sampling request: ${e}`)}let{params:i}=r.data,a=await Promise.resolve(t(e,n));if(i.task){let e=y(H,a);if(!e.success){let t=e.error instanceof Error?e.error.message:String(e.error);throw new X(P.InvalidParams,`Invalid task creation result: ${t}`)}return e.data}let o=y(i.tools||i.toolChoice?Xt:Yt,a);if(!o.success){let e=o.error instanceof Error?o.error.message:String(o.error);throw new X(P.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:x,capabilities:this._capabilities,clientInfo:this._clientInfo}},ke,t);if(n===void 0)throw Error(`Server sent invalid initialize result: ${n}`);if(!S.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){zn(this._serverCapabilities?.tasks?.requests,e,`Server`)}assertTaskHandlerCapability(e){this._capabilities&&Bn(this._capabilities.tasks?.requests,e,`Client`)}async ping(e){return this.request({method:`ping`},I,e)}async complete(e,t){return this.request({method:`completion/complete`,params:e},bn,t)}async setLoggingLevel(e,t){return this.request({method:`logging/setLevel`,params:{level:e}},I,t)}async getPrompt(e,t){return this.request({method:`prompts/get`,params:e},Et,t)}async listPrompts(e,t){return this.request({method:`prompts/list`,params:e},ht,t)}async listResources(e,t){return this.request({method:`resources/list`,params:e},Qe,t)}async listResourceTemplates(e,t){return this.request({method:`resources/templates/list`,params:e},et,t)}async readResource(e,t){return this.request({method:`resources/read`,params:e},it,t)}async subscribeResource(e,t){return this.request({method:`resources/subscribe`,params:e},I,t)}async unsubscribeResource(e,t){return this.request({method:`resources/unsubscribe`,params:e},I,t)}async callTool(e,t=K,n){if(this.isToolTaskRequired(e.name))throw new X(P.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 X(P.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 X(P.InvalidParams,`Structured content does not match the tool's output schema: ${e.errorMessage}`)}catch(e){throw e instanceof X?e:new X(P.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},Mt,t);return this.cacheToolMetadata(n.tools),n}_setupListChangedHandler(e,t,n,r){let i=It.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`})}},Gr=e(a(),1);const Kr=h.platform===`win32`?[`APPDATA`,`HOMEDRIVE`,`HOMEPATH`,`LOCALAPPDATA`,`PATH`,`PROCESSOR_ARCHITECTURE`,`SYSTEMDRIVE`,`SYSTEMROOT`,`TEMP`,`USERNAME`,`USERPROFILE`,`PROGRAMFILES`]:[`HOME`,`LOGNAME`,`PATH`,`SHELL`,`TERM`,`USER`];function qr(){let e={};for(let t of Kr){let n=h.env[t];n!==void 0&&(n.startsWith(`()`)||(e[t]=n))}return e}var Jr=class{constructor(e){this._readBuffer=new ur,this._stderrStream=null,this._serverParams=e,(e.stderr===`pipe`||e.stderr===`overlapped`)&&(this._stderrStream=new g)}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,Gr.default)(this._serverParams.command,this._serverParams.args??[],{env:{...qr(),...this._serverParams.env},stdio:[`pipe`,`pipe`,this._serverParams.stderr??`inherit`],shell:!1,windowsHide:h.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=fr(e);this._process.stdin.write(n)?t():this._process.stdin.once(`drain`,t)})}};function Yr(e){return{name:e.name,description:e.description??``,inputSchema:e.inputSchema}}function Xr(e){if(!(typeof e!=`object`||!e||Array.isArray(e)))return Object.fromEntries(Object.entries(e))}function Zr(e,t){return e.map(e=>({name:e.name,description:e.description,toolsetName:t,inputSchema:Xr(e.inputSchema)}))}function Qr(e){return e.isError===!0?p(u.EXECUTION_ERROR,`MCP tool returned an error result`,e):m(e)}function $r(e){return typeof e==`object`&&e&&!Array.isArray(e)?Object.fromEntries(Object.entries(e)):{}}function ei(e){let{bus:t,client:n,extensionName:r,toolsetName:i,priority:a,getTools:o}=e;return[t.on(c.list,async e=>{await e.next();let t=e.result,n=o(),a=Zr(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(c.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:$r(e.payload.input)});e.setResult(Qr(r))}catch(t){e.setResult(f(t))}},{priority:a})]}function ti(e,t,n){return new Wr({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(Yr))}}}}:{}})}function ni(e,t,n){e&&(t.revision+=1,e.emit(c.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 ri(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),ni(s,d,`plugin-loaded`)},m=new Jr({command:t,args:[...n],env:r?{...r}:void 0,cwd:i}),h=ti(a,o!==void 0||s!==void 0,p);await h.connect(m);try{u=((await h.listTools()).tools??[]).map(Yr)}catch(e){throw await h.close(),e}s&&(f.push(...ei({bus:s,client:h,extensionName:a,toolsetName:c,priority:l,getTools:()=>u})),ni(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()?.();ni(s,d,`toolset-unregistered`),await h.close()}}}}export{Q as ADAPTER_SESSION_ID_HEADER,rr as ADAPTER_SESSION_ID_PARAM,Hn as APPROVE_TOOL_NAME,Er as McpContextRegistry,Vr as McpServerBridgeService,Mr as McpTransportRegistry,Br as createFetchMcpHandler,Ir as createHttpMcpHandler,Nr as createMcpEndpoint,lr as createMcpServer,qn as resolveMcpTools,Lr as startHttpMcpServer,ri as startMcpClientBridge,Rr as startMcpServer,Jn as toolInfoToMcpTool};
@@ -0,0 +1 @@
1
+ import"./visibility-C5sLzqyS.mjs";export{};
@@ -15,8 +15,8 @@ declare const AdapterSubsystemNamespace: _$_makaio_core0.BusNamespaceDefinition<
15
15
  config: _$zod.ZodNullable<_$zod.ZodObject<{
16
16
  description: _$zod.ZodOptional<_$zod.ZodString>;
17
17
  displayName: _$zod.ZodOptional<_$zod.ZodString>;
18
- clientId: _$zod.ZodOptional<_$zod.ZodString>;
19
18
  protocol: _$zod.ZodOptional<_$zod.ZodString>;
19
+ clientId: _$zod.ZodOptional<_$zod.ZodString>;
20
20
  helpLinks: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodObject<{
21
21
  label: _$zod.ZodString;
22
22
  url: _$zod.ZodString;
@@ -40,8 +40,8 @@ declare const AdapterSubsystemNamespace: _$_makaio_core0.BusNamespaceDefinition<
40
40
  configs: _$zod.ZodArray<_$zod.ZodObject<{
41
41
  description: _$zod.ZodOptional<_$zod.ZodString>;
42
42
  displayName: _$zod.ZodOptional<_$zod.ZodString>;
43
- clientId: _$zod.ZodOptional<_$zod.ZodString>;
44
43
  protocol: _$zod.ZodOptional<_$zod.ZodString>;
44
+ clientId: _$zod.ZodOptional<_$zod.ZodString>;
45
45
  helpLinks: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodObject<{
46
46
  label: _$zod.ZodString;
47
47
  url: _$zod.ZodString;
@@ -1651,8 +1651,8 @@ declare const AdapterSubsystemNamespace: _$_makaio_core0.BusNamespaceDefinition<
1651
1651
  config: _$zod.ZodObject<{
1652
1652
  description: _$zod.ZodOptional<_$zod.ZodString>;
1653
1653
  displayName: _$zod.ZodOptional<_$zod.ZodString>;
1654
- clientId: _$zod.ZodOptional<_$zod.ZodString>;
1655
1654
  protocol: _$zod.ZodOptional<_$zod.ZodString>;
1655
+ clientId: _$zod.ZodOptional<_$zod.ZodString>;
1656
1656
  helpLinks: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodObject<{
1657
1657
  label: _$zod.ZodString;
1658
1658
  url: _$zod.ZodString;
@@ -1876,8 +1876,8 @@ declare const AdapterSubsystemSubjects: _$_makaio_core0.BusSubjects<_$_makaio_co
1876
1876
  config: _$zod.ZodNullable<_$zod.ZodObject<{
1877
1877
  description: _$zod.ZodOptional<_$zod.ZodString>;
1878
1878
  displayName: _$zod.ZodOptional<_$zod.ZodString>;
1879
- clientId: _$zod.ZodOptional<_$zod.ZodString>;
1880
1879
  protocol: _$zod.ZodOptional<_$zod.ZodString>;
1880
+ clientId: _$zod.ZodOptional<_$zod.ZodString>;
1881
1881
  helpLinks: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodObject<{
1882
1882
  label: _$zod.ZodString;
1883
1883
  url: _$zod.ZodString;
@@ -1901,8 +1901,8 @@ declare const AdapterSubsystemSubjects: _$_makaio_core0.BusSubjects<_$_makaio_co
1901
1901
  configs: _$zod.ZodArray<_$zod.ZodObject<{
1902
1902
  description: _$zod.ZodOptional<_$zod.ZodString>;
1903
1903
  displayName: _$zod.ZodOptional<_$zod.ZodString>;
1904
- clientId: _$zod.ZodOptional<_$zod.ZodString>;
1905
1904
  protocol: _$zod.ZodOptional<_$zod.ZodString>;
1905
+ clientId: _$zod.ZodOptional<_$zod.ZodString>;
1906
1906
  helpLinks: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodObject<{
1907
1907
  label: _$zod.ZodString;
1908
1908
  url: _$zod.ZodString;
@@ -3512,8 +3512,8 @@ declare const AdapterSubsystemSubjects: _$_makaio_core0.BusSubjects<_$_makaio_co
3512
3512
  config: _$zod.ZodObject<{
3513
3513
  description: _$zod.ZodOptional<_$zod.ZodString>;
3514
3514
  displayName: _$zod.ZodOptional<_$zod.ZodString>;
3515
- clientId: _$zod.ZodOptional<_$zod.ZodString>;
3516
3515
  protocol: _$zod.ZodOptional<_$zod.ZodString>;
3516
+ clientId: _$zod.ZodOptional<_$zod.ZodString>;
3517
3517
  helpLinks: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodObject<{
3518
3518
  label: _$zod.ZodString;
3519
3519
  url: _$zod.ZodString;
@@ -585,8 +585,8 @@ declare const SessionEventStorageNamespace$1: {
585
585
  type: _$zod.ZodLiteral<"locality.degraded">;
586
586
  payload: _$zod.ZodDiscriminatedUnion<[_$zod.ZodObject<{
587
587
  intent: _$zod.ZodEnum<{
588
- fork: "fork";
589
588
  resume: "resume";
589
+ fork: "fork";
590
590
  }>;
591
591
  verdictKind: _$zod.ZodLiteral<"degrade">;
592
592
  reason: _$zod.ZodEnum<{
@@ -611,8 +611,8 @@ declare const SessionEventStorageNamespace$1: {
611
611
  turnId: _$zod.ZodOptional<_$zod.ZodString>;
612
612
  }, _$zod_v4_core0.$strip>, _$zod.ZodObject<{
613
613
  intent: _$zod.ZodEnum<{
614
- fork: "fork";
615
614
  resume: "resume";
615
+ fork: "fork";
616
616
  }>;
617
617
  verdictKind: _$zod.ZodLiteral<"foreign">;
618
618
  foreignMachineId: _$zod.ZodString;
@@ -967,8 +967,8 @@ declare const SessionEventStorageNamespace$1: {
967
967
  type: _$zod.ZodLiteral<"locality.degraded">;
968
968
  payload: _$zod.ZodDiscriminatedUnion<[_$zod.ZodObject<{
969
969
  intent: _$zod.ZodEnum<{
970
- fork: "fork";
971
970
  resume: "resume";
971
+ fork: "fork";
972
972
  }>;
973
973
  verdictKind: _$zod.ZodLiteral<"degrade">;
974
974
  reason: _$zod.ZodEnum<{
@@ -993,8 +993,8 @@ declare const SessionEventStorageNamespace$1: {
993
993
  turnId: _$zod.ZodOptional<_$zod.ZodString>;
994
994
  }, _$zod_v4_core0.$strip>, _$zod.ZodObject<{
995
995
  intent: _$zod.ZodEnum<{
996
- fork: "fork";
997
996
  resume: "resume";
997
+ fork: "fork";
998
998
  }>;
999
999
  verdictKind: _$zod.ZodLiteral<"foreign">;
1000
1000
  foreignMachineId: _$zod.ZodString;
@@ -1339,8 +1339,8 @@ declare const SessionEventStorageNamespace$1: {
1339
1339
  type: _$zod.ZodLiteral<"locality.degraded">;
1340
1340
  payload: _$zod.ZodDiscriminatedUnion<[_$zod.ZodObject<{
1341
1341
  intent: _$zod.ZodEnum<{
1342
- fork: "fork";
1343
1342
  resume: "resume";
1343
+ fork: "fork";
1344
1344
  }>;
1345
1345
  verdictKind: _$zod.ZodLiteral<"degrade">;
1346
1346
  reason: _$zod.ZodEnum<{
@@ -1365,8 +1365,8 @@ declare const SessionEventStorageNamespace$1: {
1365
1365
  turnId: _$zod.ZodOptional<_$zod.ZodString>;
1366
1366
  }, _$zod_v4_core0.$strip>, _$zod.ZodObject<{
1367
1367
  intent: _$zod.ZodEnum<{
1368
- fork: "fork";
1369
1368
  resume: "resume";
1369
+ fork: "fork";
1370
1370
  }>;
1371
1371
  verdictKind: _$zod.ZodLiteral<"foreign">;
1372
1372
  foreignMachineId: _$zod.ZodString;
@@ -1719,8 +1719,8 @@ declare const SessionEventStorageNamespace$1: {
1719
1719
  type: _$zod.ZodLiteral<"locality.degraded">;
1720
1720
  payload: _$zod.ZodDiscriminatedUnion<[_$zod.ZodObject<{
1721
1721
  intent: _$zod.ZodEnum<{
1722
- fork: "fork";
1723
1722
  resume: "resume";
1723
+ fork: "fork";
1724
1724
  }>;
1725
1725
  verdictKind: _$zod.ZodLiteral<"degrade">;
1726
1726
  reason: _$zod.ZodEnum<{
@@ -1745,8 +1745,8 @@ declare const SessionEventStorageNamespace$1: {
1745
1745
  turnId: _$zod.ZodOptional<_$zod.ZodString>;
1746
1746
  }, _$zod_v4_core0.$strip>, _$zod.ZodObject<{
1747
1747
  intent: _$zod.ZodEnum<{
1748
- fork: "fork";
1749
1748
  resume: "resume";
1749
+ fork: "fork";
1750
1750
  }>;
1751
1751
  verdictKind: _$zod.ZodLiteral<"foreign">;
1752
1752
  foreignMachineId: _$zod.ZodString;
@@ -2087,8 +2087,8 @@ declare const SessionEventStorageNamespace$1: {
2087
2087
  type: _$zod.ZodLiteral<"locality.degraded">;
2088
2088
  payload: _$zod.ZodDiscriminatedUnion<[_$zod.ZodObject<{
2089
2089
  intent: _$zod.ZodEnum<{
2090
- fork: "fork";
2091
2090
  resume: "resume";
2091
+ fork: "fork";
2092
2092
  }>;
2093
2093
  verdictKind: _$zod.ZodLiteral<"degrade">;
2094
2094
  reason: _$zod.ZodEnum<{
@@ -2113,8 +2113,8 @@ declare const SessionEventStorageNamespace$1: {
2113
2113
  turnId: _$zod.ZodOptional<_$zod.ZodString>;
2114
2114
  }, _$zod_v4_core0.$strip>, _$zod.ZodObject<{
2115
2115
  intent: _$zod.ZodEnum<{
2116
- fork: "fork";
2117
2116
  resume: "resume";
2117
+ fork: "fork";
2118
2118
  }>;
2119
2119
  verdictKind: _$zod.ZodLiteral<"foreign">;
2120
2120
  foreignMachineId: _$zod.ZodString;
@@ -2469,8 +2469,8 @@ declare const SessionEventStorageNamespace$1: {
2469
2469
  type: _$zod.ZodLiteral<"locality.degraded">;
2470
2470
  payload: _$zod.ZodDiscriminatedUnion<[_$zod.ZodObject<{
2471
2471
  intent: _$zod.ZodEnum<{
2472
- fork: "fork";
2473
2472
  resume: "resume";
2473
+ fork: "fork";
2474
2474
  }>;
2475
2475
  verdictKind: _$zod.ZodLiteral<"degrade">;
2476
2476
  reason: _$zod.ZodEnum<{
@@ -2495,8 +2495,8 @@ declare const SessionEventStorageNamespace$1: {
2495
2495
  turnId: _$zod.ZodOptional<_$zod.ZodString>;
2496
2496
  }, _$zod_v4_core0.$strip>, _$zod.ZodObject<{
2497
2497
  intent: _$zod.ZodEnum<{
2498
- fork: "fork";
2499
2498
  resume: "resume";
2499
+ fork: "fork";
2500
2500
  }>;
2501
2501
  verdictKind: _$zod.ZodLiteral<"foreign">;
2502
2502
  foreignMachineId: _$zod.ZodString;
@@ -2841,8 +2841,8 @@ declare const SessionEventStorageNamespace$1: {
2841
2841
  type: _$zod.ZodLiteral<"locality.degraded">;
2842
2842
  payload: _$zod.ZodDiscriminatedUnion<[_$zod.ZodObject<{
2843
2843
  intent: _$zod.ZodEnum<{
2844
- fork: "fork";
2845
2844
  resume: "resume";
2845
+ fork: "fork";
2846
2846
  }>;
2847
2847
  verdictKind: _$zod.ZodLiteral<"degrade">;
2848
2848
  reason: _$zod.ZodEnum<{
@@ -2867,8 +2867,8 @@ declare const SessionEventStorageNamespace$1: {
2867
2867
  turnId: _$zod.ZodOptional<_$zod.ZodString>;
2868
2868
  }, _$zod_v4_core0.$strip>, _$zod.ZodObject<{
2869
2869
  intent: _$zod.ZodEnum<{
2870
- fork: "fork";
2871
2870
  resume: "resume";
2871
+ fork: "fork";
2872
2872
  }>;
2873
2873
  verdictKind: _$zod.ZodLiteral<"foreign">;
2874
2874
  foreignMachineId: _$zod.ZodString;
@@ -3221,8 +3221,8 @@ declare const SessionEventStorageNamespace$1: {
3221
3221
  type: _$zod.ZodLiteral<"locality.degraded">;
3222
3222
  payload: _$zod.ZodDiscriminatedUnion<[_$zod.ZodObject<{
3223
3223
  intent: _$zod.ZodEnum<{
3224
- fork: "fork";
3225
3224
  resume: "resume";
3225
+ fork: "fork";
3226
3226
  }>;
3227
3227
  verdictKind: _$zod.ZodLiteral<"degrade">;
3228
3228
  reason: _$zod.ZodEnum<{
@@ -3247,8 +3247,8 @@ declare const SessionEventStorageNamespace$1: {
3247
3247
  turnId: _$zod.ZodOptional<_$zod.ZodString>;
3248
3248
  }, _$zod_v4_core0.$strip>, _$zod.ZodObject<{
3249
3249
  intent: _$zod.ZodEnum<{
3250
- fork: "fork";
3251
3250
  resume: "resume";
3251
+ fork: "fork";
3252
3252
  }>;
3253
3253
  verdictKind: _$zod.ZodLiteral<"foreign">;
3254
3254
  foreignMachineId: _$zod.ZodString;
@@ -3537,14 +3537,14 @@ declare const SessionEventStorageNamespace$1: {
3537
3537
  timestamp: number;
3538
3538
  type: "locality.degraded";
3539
3539
  payload: {
3540
- intent: "fork" | "resume";
3540
+ intent: "resume" | "fork";
3541
3541
  verdictKind: "degrade";
3542
3542
  reason: "adapter-unsupported" | "adapter-mismatch" | "no-adapter-session" | "missing-machine-id" | "machine-mismatch" | "cwd-mismatch" | "transforms-present" | "compression-present" | "connector-swap" | "mid-history-unsupported" | "hybrid-imported-orchestrated" | "native-attempt-failed" | "agent-already-started" | "fork-point-unresolvable" | "adapter-session-moved";
3543
3543
  agentId?: string | undefined;
3544
3544
  adapterId?: string | undefined;
3545
3545
  turnId?: string | undefined;
3546
3546
  } | {
3547
- intent: "fork" | "resume";
3547
+ intent: "resume" | "fork";
3548
3548
  verdictKind: "foreign";
3549
3549
  foreignMachineId: string;
3550
3550
  agentId?: string | undefined;