@makaio/framework 1.0.0-dev-1788832451167 → 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 (491) 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-CqKq0NIB.mjs +1 -0
  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 +102 -102
  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-Crm-mctl.d.mts → contribution-BoTMoHVB.d.mts} +2 -2
  91. package/dist/{definition-u_5rYQtc.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-DAXKQT9c.mjs → detached-extension-handle-B9c_6Pcb.mjs} +1 -1
  94. package/dist/execution-attempt-owner-recovery-BNERIDH0.mjs +1 -0
  95. package/dist/{execution-attempt-repository-CgB7uiYD.d.mts → execution-attempt-repository-CtFZfBfp.d.mts} +111 -3
  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-DcapjzLb.d.mts → hook-responses-BSCAdJ3i.d.mts} +1 -1
  106. package/dist/{index-QJW9g1mG.d.mts → index-BVRQOZbm.d.mts} +1 -1
  107. package/dist/{index-LryUXslm.d.mts → index-BZlmWCcW.d.mts} +3 -3
  108. package/dist/{index-rygpcDBV.d.mts → index-BZtasAZP.d.mts} +1 -1
  109. package/dist/{index-Bsr4rZl0.d.mts → index-BdbYIlDL.d.mts} +18 -18
  110. package/dist/{index-BxOFB25y.d.mts → index-BkY6zO7p.d.mts} +138 -115
  111. package/dist/{index-DZXpKlyB.d.mts → index-CDLHgV7v.d.mts} +14 -14
  112. package/dist/{index-CfJKwWJa.d.mts → index-CQtttPGm.d.mts} +1 -1
  113. package/dist/{index-BADuMxcP.d.mts → index-CYmQt2lF.d.mts} +100 -100
  114. package/dist/{index-J-kv32zv.d.mts → index-CYwbfa0_.d.mts} +2 -2
  115. package/dist/{index-DZnb56vt2.d.mts → index-C_OLvAr_.d.mts} +1 -1
  116. package/dist/{index-BvgLFm-U.d.mts → index-Cau0jTTM.d.mts} +1 -1
  117. package/dist/{index-BwccWakG.d.mts → index-D0DfEO45.d.mts} +1 -1
  118. package/dist/{index-COOM1j_L2.d.mts → index-DIYgFhTZ2.d.mts} +4 -4
  119. package/dist/{index-LOh6AEqx.d.mts → index-DJ0Muy2s.d.mts} +4 -4
  120. package/dist/{index-C1PfDEIV.d.mts → index-F6hV4tWI.d.mts} +35 -35
  121. package/dist/{index-CiKzWCW02.d.mts → index-LwOw7ZLk2.d.mts} +19 -19
  122. package/dist/{index-BakMNLkB.d.mts → index-PTp68NH1.d.mts} +92 -92
  123. package/dist/{index-vXmPEZ5O.d.mts → index-R2BZejEz.d.mts} +591 -726
  124. package/dist/{index-DIhkK4Y0.d.mts → index-RpG4EP3u.d.mts} +1 -1
  125. package/dist/{index-Bo3LRb2u.d.mts → index-dL0Oet1j.d.mts} +1 -1
  126. package/dist/{index-Cbv_3Xi12.d.mts → index-mylsCg6V2.d.mts} +1 -1
  127. package/dist/{index-BDzqNCXs.d.mts → index-nPpqnP7P.d.mts} +1 -1
  128. package/dist/kernel/cli/index.d.mts +2 -2
  129. package/dist/kernel/cli/index.mjs +1 -1
  130. package/dist/kernel/cli/register.d.mts +1 -1
  131. package/dist/kernel/cli/register.mjs +1 -1
  132. package/dist/kernel/cli/schemas.mjs +1 -1
  133. package/dist/kernel/extension/index.d.mts +1 -1
  134. package/dist/kernel/extension/index.mjs +1 -1
  135. package/dist/kernel/index.d.mts +5 -5
  136. package/dist/kernel/index.mjs +1 -1
  137. package/dist/kernel/namespace/index.d.mts +1 -1
  138. package/dist/kernel/namespace/index.mjs +1 -1
  139. package/dist/kernel/observability/index.d.mts +1 -1
  140. package/dist/kernel/observability/index.mjs +1 -1
  141. package/dist/kernel/providers/index.d.mts +1 -1
  142. package/dist/kernel/providers/index.mjs +1 -1
  143. package/dist/kernel/window/index.d.mts +1 -1
  144. package/dist/kernel/window/index.mjs +1 -1
  145. package/dist/kind-registration-BNhVCSaT.mjs +1 -0
  146. package/dist/{lib-271rPR7A.mjs → lib-B8Yv4IY-.mjs} +1 -1
  147. package/dist/{lib-RFpLjUda.mjs → lib-hwdGyO-m.mjs} +1 -1
  148. package/dist/{load-extensions-D9inWcDy.mjs → load-extensions-CNT2Nd9h.mjs} +1 -1
  149. package/dist/{load-extensions-CY8ELnCp.d.mts → load-extensions-D0yT_Kta.d.mts} +1 -1
  150. package/dist/materialization-Dx1z_MDj.mjs +1 -0
  151. package/dist/mcp-http-server/index.mjs +1 -1
  152. package/dist/model-B6t_-_sp.mjs +1 -0
  153. package/dist/{namespace-BymM0nl_.d.mts → namespace-C7wggVcn.d.mts} +9 -9
  154. package/dist/namespace-D4zmxaC4.mjs +1 -0
  155. package/dist/{namespace-DdqVQSyc.d.mts → namespace-Dh5fTXYt.d.mts} +2 -2
  156. package/dist/{namespace-DlrX8feY.d.mts → namespace-WeSQXdAL.d.mts} +45 -45
  157. package/dist/{namespace-BL7lHlmg.mjs → namespace-ZAIFBrIy.mjs} +1 -1
  158. package/dist/{native-session-supervisor-LKio8XZn.mjs → native-session-supervisor-BlGzmZrH.mjs} +1 -1
  159. package/dist/node/bus-server/index.d.mts +1 -1
  160. package/dist/node/bus-server/index.mjs +1 -1
  161. package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
  162. package/dist/node/bus-server/server-lifecycle.mjs +1 -1
  163. package/dist/{orchestrator-shared-BGlN-m-V.mjs → orchestrator-shared-BKMtjTE9.mjs} +1 -1
  164. package/dist/{ownership-memory-handler-BpGdR_uG.mjs → ownership-memory-handler-BCu1EjFO.mjs} +1 -1
  165. package/dist/{package-DkpF17X_.d.mts → package-C9XYuN9J.d.mts} +20 -6
  166. package/dist/{package-CzKoZ1k0.mjs → package-D7c2HC-S.mjs} +2 -2
  167. package/dist/{package-JtjbO-Oi.mjs → package-buHQFmTH.mjs} +1 -1
  168. package/dist/package.json +1 -1
  169. package/dist/packages-BhhBcPgz.mjs +1 -0
  170. package/dist/{packages-Cx-BwSZr.d.mts → packages-DAqep89i.d.mts} +12 -39
  171. package/dist/{profile-N5qGUpF0.mjs → profile-DBDvy9uc.mjs} +1 -1
  172. package/dist/{provider-context-zTDSH2x9.mjs → provider-context-CSb0qX1c.mjs} +1 -1
  173. package/dist/{provider-context-CG42JlP9.mjs → provider-context-CTOrOW54.mjs} +1 -1
  174. package/dist/{reaction-D3TNwPK8.mjs → reaction-OQibmmDW.mjs} +1 -1
  175. package/dist/{resolved-sq8RXNDf.mjs → resolved-ONt3rOMh.mjs} +1 -1
  176. package/dist/rules/index.d.mts +1 -1
  177. package/dist/rules/index.mjs +1 -1
  178. package/dist/rules/schemas.d.mts +1 -1
  179. package/dist/runtime-bun/index.mjs +1 -1
  180. package/dist/runtime-node/code-execution/index.d.mts +2 -2
  181. package/dist/runtime-node/code-execution/index.mjs +1 -1
  182. package/dist/runtime-node/extension-discovery.d.mts +1 -1
  183. package/dist/runtime-node/extension-validation.d.mts +1 -1
  184. package/dist/runtime-node/extension-validation.mjs +1 -1
  185. package/dist/runtime-node/index.d.mts +6 -6
  186. package/dist/runtime-node/index.mjs +20 -20
  187. package/dist/runtime-node/makaio-config.d.mts +1 -1
  188. package/dist/runtime-node/makaio-config.mjs +1 -1
  189. package/dist/runtime-node/workflow-worker/index.d.mts +2 -2
  190. package/dist/runtime-node/workflow-worker/index.mjs +1 -1
  191. package/dist/runtime-node/workflow-worker/worker-entry.mjs +1 -1
  192. package/dist/{schema-Dq-7si8u.mjs → schema-B8jinlbH.mjs} +1 -1
  193. package/dist/{schema-C9PauHXt.d.mts → schema-wArHaxA9.d.mts} +2 -2
  194. package/dist/{schemas-QWDnauKX.mjs → schemas-BUK9I-Oz.mjs} +1 -1
  195. package/dist/{schemas-BDZFd3Wb.d.mts → schemas-BjNlwTDl.d.mts} +2 -2
  196. package/dist/{context-resolution-BrtoXnez.d.mts → schemas-C5FreSE0.d.mts} +133 -539
  197. package/dist/{schemas-_2Syo_01.mjs → schemas-CSDiTBsU.mjs} +1 -1
  198. package/dist/{schemas-BfO5jkrL.mjs → schemas-CbhvgFQs.mjs} +1 -1
  199. package/dist/schemas-hzbKeyyt.mjs +1 -0
  200. package/dist/{selection-DL3ric7K.mjs → selection-7SkHsmWs.mjs} +1 -1
  201. package/dist/services/adapter-runtime/index.d.mts +3 -3
  202. package/dist/services/adapter-runtime/index.mjs +1 -1
  203. package/dist/services/adapter-runtime/namespace.d.mts +1 -1
  204. package/dist/services/adapter-runtime/schemas.d.mts +1 -1
  205. package/dist/services/adapter-subsystem/index.d.mts +3 -3
  206. package/dist/services/adapter-subsystem/index.mjs +1 -1
  207. package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
  208. package/dist/services/adapter-subsystem/namespace.mjs +1 -1
  209. package/dist/services/agent-runtime/index.d.mts +2 -2
  210. package/dist/services/agent-runtime/namespace.d.mts +1 -1
  211. package/dist/services/agent-runtime/schemas.d.mts +1 -1
  212. package/dist/services/automation-trigger/index.mjs +1 -1
  213. package/dist/services/capability/index.d.mts +2 -2
  214. package/dist/services/capability/index.mjs +1 -1
  215. package/dist/services/code-execution/index.d.mts +1 -1
  216. package/dist/services/code-execution/index.mjs +1 -1
  217. package/dist/services/codebase/index.d.mts +2 -2
  218. package/dist/services/codebase/namespace.d.mts +1 -1
  219. package/dist/services/codebase/schemas.d.mts +1 -1
  220. package/dist/services/compression/index.d.mts +2 -2
  221. package/dist/services/compression/namespace.d.mts +1 -1
  222. package/dist/services/compression/schemas.d.mts +1 -1
  223. package/dist/services/context-rules/index.d.mts +1 -1
  224. package/dist/services/context-rules/index.mjs +1 -1
  225. package/dist/services/execution-target/index.d.mts +3 -3
  226. package/dist/services/execution-target/index.mjs +1 -1
  227. package/dist/services/execution-target/namespace.d.mts +1 -1
  228. package/dist/services/execution-target/namespace.mjs +1 -1
  229. package/dist/services/execution-target/schemas.d.mts +1 -1
  230. package/dist/services/execution-target/schemas.mjs +1 -1
  231. package/dist/services/filesystem/index.d.mts +1 -1
  232. package/dist/services/filesystem/index.mjs +1 -1
  233. package/dist/services/git/namespace.mjs +1 -1
  234. package/dist/services/git/schemas.mjs +1 -1
  235. package/dist/services/harness/index.mjs +1 -1
  236. package/dist/services/index.d.mts +45 -66
  237. package/dist/services/index.mjs +1 -1
  238. package/dist/services/log-import/browser.d.mts +2 -2
  239. package/dist/services/log-import/index.d.mts +2 -2
  240. package/dist/services/log-import/log-import.d.mts +1 -1
  241. package/dist/services/log-import/log-import.mjs +1 -1
  242. package/dist/services/log-import/namespace.mjs +1 -1
  243. package/dist/services/log-import/schemas.mjs +1 -1
  244. package/dist/services/materialization/index.d.mts +13 -34
  245. package/dist/services/materialization/index.mjs +1 -1
  246. package/dist/services/model-registry/index.d.mts +1 -1
  247. package/dist/services/model-registry/index.mjs +1 -1
  248. package/dist/services/preferences/index.d.mts +2 -2
  249. package/dist/services/preferences/schemas.d.mts +1 -1
  250. package/dist/services/preferences/storage-namespace.d.mts +2 -2
  251. package/dist/services/provider-context/index.d.mts +1 -1
  252. package/dist/services/provider-context/index.mjs +1 -1
  253. package/dist/services/provider-runtime/index.mjs +1 -1
  254. package/dist/services/session/handlers/index.d.mts +1 -1
  255. package/dist/services/session/handlers/index.mjs +1 -1
  256. package/dist/services/session/index.d.mts +9 -9
  257. package/dist/services/session/index.mjs +1 -1
  258. package/dist/services/session/messages/namespace.d.mts +1 -1
  259. package/dist/services/session/messages/namespace.mjs +1 -1
  260. package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
  261. package/dist/services/session/orchestrator-testing/index.mjs +1 -1
  262. package/dist/services/session/session-events/namespace.d.mts +1 -1
  263. package/dist/services/session/session-events/namespace.mjs +1 -1
  264. package/dist/services/session/storage/namespace.d.mts +1 -1
  265. package/dist/services/session/storage/schema.d.mts +1 -1
  266. package/dist/services/session/testing/index.mjs +1 -1
  267. package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
  268. package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
  269. package/dist/services/session/turns/namespace.d.mts +1 -1
  270. package/dist/services/session/turns/namespace.mjs +1 -1
  271. package/dist/services/session-editor/index.d.mts +1 -1
  272. package/dist/services/session-editor/index.mjs +1 -1
  273. package/dist/services/settings/index.d.mts +3 -3
  274. package/dist/services/settings/index.mjs +1 -1
  275. package/dist/services/settings/namespace.mjs +1 -1
  276. package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
  277. package/dist/services/settings/storage/clients-namespace.mjs +1 -1
  278. package/dist/services/settings/storage/index.d.mts +3 -3
  279. package/dist/services/settings/storage/index.mjs +1 -1
  280. package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
  281. package/dist/services/settings/storage/providers-namespace.mjs +1 -1
  282. package/dist/services/subagent/index.d.mts +1 -1
  283. package/dist/services/subagent/index.mjs +1 -1
  284. package/dist/services/subagent-template/index.d.mts +2 -2
  285. package/dist/services/subagent-template/namespace.d.mts +1 -1
  286. package/dist/services/subagent-template/schemas.d.mts +1 -1
  287. package/dist/services/tool-approval/index.d.mts +1 -1
  288. package/dist/services/tool-approval/index.mjs +1 -1
  289. package/dist/services/tools/index.d.mts +1 -1
  290. package/dist/services/tools/index.mjs +1 -1
  291. package/dist/services/tray-menu/index.d.mts +3 -3
  292. package/dist/services/tray-menu/index.mjs +1 -1
  293. package/dist/services/tray-menu/namespace.d.mts +1 -1
  294. package/dist/services/tray-menu/schemas.d.mts +1 -1
  295. package/dist/services/turn/index.d.mts +1 -1
  296. package/dist/services/turn/namespace.d.mts +1 -1
  297. package/dist/services/workflow-transitions/index.d.mts +1 -1
  298. package/dist/services/workflow-transitions/index.mjs +1 -1
  299. package/dist/{session-CXOPk3yg.mjs → session-BDFNAcuY.mjs} +1 -1
  300. package/dist/{session-BOpTI79g.mjs → session-CQAuApxe.mjs} +1 -1
  301. package/dist/{shared-B9AWRm9A.mjs → shared-BYP7z9xy.mjs} +1 -1
  302. package/dist/{skill-DGNtc_ww.mjs → skill-1gU2q1KT.mjs} +1 -1
  303. package/dist/{src-DEgV239R.mjs → src-D4Gx0QHf.mjs} +1 -1
  304. package/dist/storage/drizzle/client.d.mts +1 -1
  305. package/dist/storage/drizzle/client.mjs +1 -1
  306. package/dist/storage/drizzle/index.d.mts +1 -1
  307. package/dist/storage/drizzle/index.mjs +1 -1
  308. package/dist/storage/handlers/drizzle/index.d.mts +1 -1
  309. package/dist/storage/handlers/drizzle/index.mjs +1 -1
  310. package/dist/storage/handlers/index.d.mts +1 -1
  311. package/dist/storage/handlers/index.mjs +1 -1
  312. package/dist/{tool-approval-service-BFDOFUGC.mjs → tool-approval-service-7mzJVMo_.mjs} +1 -1
  313. package/dist/{tools-DWKWX3eV.mjs → tools-Cyo6BuGM.mjs} +1 -1
  314. package/dist/{transition-DFA_ckdP.d.mts → transition-CwMPKBjz.d.mts} +2 -2
  315. package/dist/{types-p55qvq922.d.mts → types-BOF825V52.d.mts} +1 -1
  316. package/dist/{types-DkfDRSTr.d.mts → types-Dg_acP9p.d.mts} +36 -36
  317. package/dist/ui-kernel/index.d.mts +1 -1
  318. package/dist/ui-kernel/pages/schemas.d.mts +1 -1
  319. package/dist/{version-BYeVh1pI.mjs → version-3xWJDCeF.mjs} +1 -1
  320. package/dist/{view-builder-CYW_9n4A.d.mts → view-builder-D76L0Db8.d.mts} +209 -15
  321. package/dist/{visibility-DtDLRBdr.mjs → visibility-C5sLzqyS.mjs} +1 -1
  322. package/dist/{worker-B4nD_Erm.mjs → worker-9X0QNB1k.mjs} +1 -1
  323. package/dist/{worker-CLsRbzpk.mjs → worker-BwUhRg7i.mjs} +1 -1
  324. package/dist/workflow-B3MWrYhG.mjs +1 -0
  325. package/dist/workflow-engine/execution-attempt-repository.d.mts +2 -2
  326. package/dist/workflow-engine/execution-attempt-repository.mjs +1 -1
  327. package/dist/workflow-engine/index.d.mts +52 -52
  328. package/dist/workflow-engine/index.mjs +1 -1
  329. package/dist/workflow-engine/package.d.mts +1 -1
  330. package/dist/workflow-engine/package.mjs +1 -1
  331. package/dist/workflow-engine/provider-operation.d.mts +1 -1
  332. package/dist/workflow-engine/testing/conformance.d.mts +1 -1
  333. package/dist/workflow-engine/testing/conformance.mjs +3 -1
  334. package/dist/workflow-engine/testing/index.d.mts +9 -6
  335. package/dist/workflow-engine/testing/index.mjs +1 -1
  336. package/dist/workflow-engine/testing/sqlite.d.mts +1 -1
  337. package/dist/workflow-engine/testing/sqlite.mjs +63 -55
  338. package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
  339. package/dist/{workflow-transitions-c_VQbyV0.mjs → workflow-transitions-B7HtjuAn.mjs} +1 -1
  340. package/dist/workflow-worker-zYb2UguP.mjs +2 -0
  341. package/package.json +1 -1
  342. package/dist/artifact-ClvHqL3w.mjs +0 -1
  343. package/dist/attempt-record-codec-B32Whx75.mjs +0 -1
  344. package/dist/authority-state-bootstrap-7Cgb9TR2.mjs +0 -1
  345. package/dist/extension-Cz39YNXy.mjs +0 -1
  346. package/dist/framework-packages-BHgul8Kl.mjs +0 -1
  347. package/dist/materialization-B_LA9pfy.mjs +0 -1
  348. package/dist/model-DrzPt3ou.mjs +0 -1
  349. package/dist/namespace-sCPb79-7.mjs +0 -1
  350. package/dist/packages-Bp124-gx.mjs +0 -1
  351. package/dist/schemas-CNkUEbIr.mjs +0 -1
  352. package/dist/workflow-H8hsEikC.mjs +0 -1
  353. package/dist/workflow-worker-CmIkKnpF.mjs +0 -2
  354. /package/dist/{adapter-auth-runtime-DHHppU4f.mjs → adapter-auth-runtime-DGY1CDxj.mjs} +0 -0
  355. /package/dist/{adapter-binding-D68U_Hmh.d.mts → adapter-binding-fGIz-ss3.d.mts} +0 -0
  356. /package/dist/{ajv-krzJXh1X.mjs → ajv-DWgn_plp.mjs} +0 -0
  357. /package/dist/{attach-error-Cb3GbeKe.mjs → attach-error-B-vXQFLQ.mjs} +0 -0
  358. /package/dist/{attempt-fixtures-CnrnF5_4.mjs → attempt-fixtures-Dpfgqll0.mjs} +0 -0
  359. /package/dist/{base-orchestrator-DA95InJU.d.mts → base-orchestrator-BeLqYKJG.d.mts} +0 -0
  360. /package/dist/{bootstrap-start-client-DrvofWwi.mjs → bootstrap-start-client-BYoxrgMk.mjs} +0 -0
  361. /package/dist/{capability-j3NekkIu.mjs → capability-Bw4tsDQu.mjs} +0 -0
  362. /package/dist/{capability-service-s4ZYSEWc.d.mts → capability-service-BlYnun2M.d.mts} +0 -0
  363. /package/dist/{client-f5A-6La5.d.mts → client-CtOWHpFB.d.mts} +0 -0
  364. /package/dist/{client-binary-version-verifier-kd9LP9AQ.d.mts → client-binary-version-verifier-BwmToeS1.d.mts} +0 -0
  365. /package/dist/{client-binary-version-verifier-0lCKZOTg.mjs → client-binary-version-verifier-sv-Uv0lB.mjs} +0 -0
  366. /package/dist/{clients-namespace-q4PqU1cA.d.mts → clients-namespace-Bf73bcZh.d.mts} +0 -0
  367. /package/dist/{config-namespace-Cp71zTT0.d.mts → config-namespace-BbLLd4V0.d.mts} +0 -0
  368. /package/dist/{create-static-mount-CmQgA0jq.mjs → create-static-mount-BQnyEUH1.mjs} +0 -0
  369. /package/dist/{cross-spawn-CZygZJMH.mjs → cross-spawn-DPrJR9Nq.mjs} +0 -0
  370. /package/dist/{cursor-storage-bsc9lZKk.mjs → cursor-storage-iJ6vBOWd.mjs} +0 -0
  371. /package/dist/{definition-BHSzhrUf.d.mts → definition-aS9AM2ht.d.mts} +0 -0
  372. /package/dist/{definitions-CRpdnHYM.mjs → definitions-CYZTuMdL.mjs} +0 -0
  373. /package/dist/{descriptor-to-package-CcjdoWP4.mjs → descriptor-to-package-FBkLjHZo.mjs} +0 -0
  374. /package/dist/{drizzle-Bzc-OGVI.mjs → drizzle-CIf_jdYI.mjs} +0 -0
  375. /package/dist/{esm-i-S5TW72.mjs → esm-BH4Kmq3r.mjs} +0 -0
  376. /package/dist/{event-B8ELuk6k.mjs → event-m7_IdhOS.mjs} +0 -0
  377. /package/dist/{execution-attempt-repository-D0cCU7dI.mjs → execution-attempt-repository-D_qR7NyG.mjs} +0 -0
  378. /package/dist/{extension-context-BmU5XKjI.d.mts → extension-context-41A1ZUus.d.mts} +0 -0
  379. /package/dist/{extension-discovery-DnO7bINK.d.mts → extension-discovery-DNB1VVsV.d.mts} +0 -0
  380. /package/dist/{extension-namespace-QoTTwKPt.mjs → extension-namespace-twXNwE4R.mjs} +0 -0
  381. /package/dist/{extension-package-provenance-aYrZuS4W.mjs → extension-package-provenance-CTYdo0yF.mjs} +0 -0
  382. /package/dist/{facet-BnMh7Jyc.mjs → facet-Cly0VpTI.mjs} +0 -0
  383. /package/dist/{filesystem-service-BBArEDPL.d.mts → filesystem-service-DOrm4Llq.d.mts} +0 -0
  384. /package/dist/{handler-DF1fVDpf.mjs → handler-COkV00I9.mjs} +0 -0
  385. /package/dist/{host-B-_ntOMH.mjs → host-CiHn8Yog.mjs} +0 -0
  386. /package/dist/{identity-OjRlG6dZ.mjs → identity-BULrIHmo.mjs} +0 -0
  387. /package/dist/{index-xaBSwHxJ.d.mts → index-BB4EWIf3.d.mts} +0 -0
  388. /package/dist/{index-DYHxzwok2.d.mts → index-BBq5I7SB2.d.mts} +0 -0
  389. /package/dist/{index-NhW2h2wH2.d.mts → index-BJjdUzfw2.d.mts} +0 -0
  390. /package/dist/{index-CsFN2nv7.d.mts → index-BKvzOrbF.d.mts} +0 -0
  391. /package/dist/{index-D-JbTXIH.d.mts → index-BO8n7zAS.d.mts} +0 -0
  392. /package/dist/{index-Co1da7YK.d.mts → index-BbAqoQmv.d.mts} +0 -0
  393. /package/dist/{index-DSLTgc7h2.d.mts → index-BcTwLu9C2.d.mts} +0 -0
  394. /package/dist/{index-Dn_SGTgp.d.mts → index-Bg5iXHk5.d.mts} +0 -0
  395. /package/dist/{index-CPWBGotQ.d.mts → index-BiXqOfhl.d.mts} +0 -0
  396. /package/dist/{index-DSN2t48K.d.mts → index-BjaQsfAr.d.mts} +0 -0
  397. /package/dist/{index-mK-rgiit.d.mts → index-Bk865qJX.d.mts} +0 -0
  398. /package/dist/{index-CkpR5sIH.d.mts → index-Bq4PHWe9.d.mts} +0 -0
  399. /package/dist/{index-DW4SE_sH.d.mts → index-CUHWylh4.d.mts} +0 -0
  400. /package/dist/{index-CcrXttC02.d.mts → index-CavvxFdG2.d.mts} +0 -0
  401. /package/dist/{index-CDLf3Fka2.d.mts → index-Cb3NfGSV2.d.mts} +0 -0
  402. /package/dist/{index-Df1c_2PF.d.mts → index-Ce_l029J.d.mts} +0 -0
  403. /package/dist/{index-D94yE5Dr.d.mts → index-CgVdz5IV.d.mts} +0 -0
  404. /package/dist/{index-KAAnSRZt.d.mts → index-Ck5amD5_.d.mts} +0 -0
  405. /package/dist/{index-BB0HypzC.d.mts → index-ClJjlOox.d.mts} +0 -0
  406. /package/dist/{index-CGJgZGqN.d.mts → index-CoGo6HFE.d.mts} +0 -0
  407. /package/dist/{index-CrcfeFOo.d.mts → index-DR9-fFwc.d.mts} +0 -0
  408. /package/dist/{index-B-zl-O-Y.d.mts → index-Q29tcu5N.d.mts} +0 -0
  409. /package/dist/{index-DQD2-jcL.d.mts → index-VVJqONaI.d.mts} +0 -0
  410. /package/dist/{index-D6RMsZko.d.mts → index-gK54T8Am.d.mts} +0 -0
  411. /package/dist/{index-D_sMzTvv.d.mts → index-jW7MJ2_q.d.mts} +0 -0
  412. /package/dist/{index-CBixkF0n.d.mts → index-l5HeyxKn.d.mts} +0 -0
  413. /package/dist/{index-BDAfOYSw2.d.mts → index-oucWFlFP2.d.mts} +0 -0
  414. /package/dist/{index-Bf2MgOni.d.mts → index-z-YJG2cw.d.mts} +0 -0
  415. /package/dist/{index-C9xVZ-gt.d.mts → index-zvgQ8ErF.d.mts} +0 -0
  416. /package/dist/{json-value-pX6xnLGw.d.mts → json-value-C57MkQrB.d.mts} +0 -0
  417. /package/dist/{json-value-BBZ6uGwc.mjs → json-value-DM-EjTC1.mjs} +0 -0
  418. /package/dist/{jsonl-transport-DQIlRX_y.mjs → jsonl-transport-QQuABrN7.mjs} +0 -0
  419. /package/dist/{lib-6eNAiNK7.mjs → lib-Sx8gBJvV.mjs} +0 -0
  420. /package/dist/{model-registry-C9rFu3kV.mjs → model-registry-B7ThN_s3.mjs} +0 -0
  421. /package/dist/{model-registry-Cixxx2jv.mjs → model-registry-DNHDnyvs.mjs} +0 -0
  422. /package/dist/{modes-DwsJ3yVl.mjs → modes-CyG4sgs_.mjs} +0 -0
  423. /package/dist/{namespace-NXm_zvL1.mjs → namespace-BFlSY040.mjs} +0 -0
  424. /package/dist/{namespace-DiwqpB-c.mjs → namespace-BGgY903U.mjs} +0 -0
  425. /package/dist/{namespace-BMG3RCdr.d.mts → namespace-BY5-nA4j.d.mts} +0 -0
  426. /package/dist/{namespace-CVg_cpkh.d.mts → namespace-Bn-ryJn5.d.mts} +0 -0
  427. /package/dist/{namespace-Cs-cOyrn.d.mts → namespace-By3nEmBH.d.mts} +0 -0
  428. /package/dist/{namespace-Du0accdE.mjs → namespace-C9d0aoYT.mjs} +0 -0
  429. /package/dist/{namespace-Dw5H_KCF.d.mts → namespace-CPC1vbOu.d.mts} +0 -0
  430. /package/dist/{namespace-CPR2xem0.d.mts → namespace-Ca4sQ8X-.d.mts} +0 -0
  431. /package/dist/{namespace-BoyqQiW9.d.mts → namespace-D1qK-Ed3.d.mts} +0 -0
  432. /package/dist/{namespace-9ychTEk_.d.mts → namespace-DE3oGhaN.d.mts} +0 -0
  433. /package/dist/{namespace-DG0hjPcx.d.mts → namespace-DENdNdK0.d.mts} +0 -0
  434. /package/dist/{namespace-jVTsuZHX.mjs → namespace-DHrItZyM.mjs} +0 -0
  435. /package/dist/{namespace-DykqxEyX.d.mts → namespace-DInMixc8.d.mts} +0 -0
  436. /package/dist/{namespace-CQEYu8az.d.mts → namespace-DP0WWpTO.d.mts} +0 -0
  437. /package/dist/{namespace-BGDq7HmW.d.mts → namespace-DkAlBY9o.d.mts} +0 -0
  438. /package/dist/{namespace-BW3Bfu9h.mjs → namespace-QXCaZK3I.mjs} +0 -0
  439. /package/dist/{namespace-tjoxekmf.mjs → namespace-ZN49zpqw.mjs} +0 -0
  440. /package/dist/{orchestrator-shared-BzqqcY2z.d.mts → orchestrator-shared-2vuCvljs.d.mts} +0 -0
  441. /package/dist/{out-8bOYN6EF.mjs → out-Rz-t3WeC.mjs} +0 -0
  442. /package/dist/{ownership-recovery-guard-DyW5vGBr.mjs → ownership-recovery-guard-Ce9-C5Sa.mjs} +0 -0
  443. /package/dist/{package-DttKA9wN.mjs → package-DfjGt5oK.mjs} +0 -0
  444. /package/dist/{package-EGTn-Ng1.mjs → package-Tt2uoAFf.mjs} +0 -0
  445. /package/dist/{platform-CxyYPrkf.mjs → platform-C-fDsuEl.mjs} +0 -0
  446. /package/dist/{provider-operation-B2wQST6N.d.mts → provider-operation-BwrIrOeY.d.mts} +0 -0
  447. /package/dist/{providers-C-eekMxD.mjs → providers-DVlsnJaY.mjs} +0 -0
  448. /package/dist/{providers-namespace-DsKTnuO1.d.mts → providers-namespace-C56pGeTO.d.mts} +0 -0
  449. /package/dist/{quick-lru-CCEnf7y6.mjs → quick-lru-uXa2PNb5.mjs} +0 -0
  450. /package/dist/{registry-Dk12tAfv.mjs → registry-CZf8VGBh.mjs} +0 -0
  451. /package/dist/{schema-C0opCPww.mjs → schema-DIHGEQx3.mjs} +0 -0
  452. /package/dist/{schema-introspection-6-r_KEJQ.mjs → schema-introspection-CSnLZJpC.mjs} +0 -0
  453. /package/dist/{schemas-Dxvjq-Bi.d.mts → schemas-B0zhTfet.d.mts} +0 -0
  454. /package/dist/{schemas-ClGDFa44.d.mts → schemas-B2Q284-G.d.mts} +0 -0
  455. /package/dist/{schemas--LAbwXvw.d.mts → schemas-BJKx29Sp.d.mts} +0 -0
  456. /package/dist/{schemas-BivbWRkG.mjs → schemas-BKnJj2i-.mjs} +0 -0
  457. /package/dist/{schemas-DmULJ7Jk.d.mts → schemas-BMGJLkdK2.d.mts} +0 -0
  458. /package/dist/{schemas-B2UbGJpJ.d.mts → schemas-BSBb1KFq.d.mts} +0 -0
  459. /package/dist/{schemas-CeHU889f.mjs → schemas-BapfTRqp.mjs} +0 -0
  460. /package/dist/{schemas-Bk50UoMA.d.mts → schemas-BsZJHdvY.d.mts} +0 -0
  461. /package/dist/{schemas-CzGN0eqW.d.mts → schemas-CITR9cWN.d.mts} +0 -0
  462. /package/dist/{schemas-B8hKbBwI.mjs → schemas-CnFVygzI.mjs} +0 -0
  463. /package/dist/{schemas-scyC2tFF.mjs → schemas-DDCAGKRi.mjs} +0 -0
  464. /package/dist/{schemas-CBpjAhut.d.mts → schemas-DmE-a0kN.d.mts} +0 -0
  465. /package/dist/{schemas-Wqo3_F6-.d.mts → schemas-gfrOgGau.d.mts} +0 -0
  466. /package/dist/{schemas-CHRuwe18.d.mts → schemas-wPB7RnHB.d.mts} +0 -0
  467. /package/dist/{semver-BI7kTNsY.mjs → semver-D_D2mA48.mjs} +0 -0
  468. /package/dist/{server-lifecycle-B_OZnoe-.mjs → server-lifecycle-AvBVeCFR.mjs} +0 -0
  469. /package/dist/{server-lifecycle-WFZcCMwF.d.mts → server-lifecycle-CREtXADx.d.mts} +0 -0
  470. /package/dist/{session-lineage-C9kppcCa.d.mts → session-lineage-CRLvurB-.d.mts} +0 -0
  471. /package/dist/{shared-schemas-CQ6blrEW.mjs → shared-schemas-kUho6Kmw.mjs} +0 -0
  472. /package/dist/{src-DIyWekjW.mjs → src-DnLncoLg.mjs} +0 -0
  473. /package/dist/{storage-namespace-BZce8kkW.mjs → storage-namespace-CH4j0_Zs.mjs} +0 -0
  474. /package/dist/{storage-namespace-BWU-8rvj.d.mts → storage-namespace-JBh9nkKw.d.mts} +0 -0
  475. /package/dist/{storage-namespace-definition-Cca-zwXU.mjs → storage-namespace-definition-BJCbqVWz.mjs} +0 -0
  476. /package/dist/{storage-namespace-definition-B-8JKvzm.d.mts → storage-namespace-definition-C0mnpnC_.d.mts} +0 -0
  477. /package/dist/{supports-color-SV_FgSN2.mjs → supports-color-BBMFnbC4.mjs} +0 -0
  478. /package/dist/{telemetry-BqoC87F-.mjs → telemetry-CUkZrhW6.mjs} +0 -0
  479. /package/dist/{timeout-DVlN2Zhy.mjs → timeout-DeBYTGBR.mjs} +0 -0
  480. /package/dist/{tray-menu-service-eVVxgPLc.mjs → tray-menu-service-thAhpcPA.mjs} +0 -0
  481. /package/dist/{types-BnPJa-C_.d.mts → types-9ldZyQTb.d.mts} +0 -0
  482. /package/dist/{types-DQTCNM2i.d.mts → types-BMkn9jOe.d.mts} +0 -0
  483. /package/dist/{types-Cwza95hS.mjs → types-CjjNAiHa.mjs} +0 -0
  484. /package/dist/{types-DxHeL0pF.d.mts → types-DJuxNrac.d.mts} +0 -0
  485. /package/dist/{types-BFeWU3WM.d.mts → types-eCGV_g6P.d.mts} +0 -0
  486. /package/dist/{types-8rMNe3AS.d.mts → types-xXv0lUeU.d.mts} +0 -0
  487. /package/dist/{ui-config-B35GloSX.mjs → ui-config-9hlZAJOS.mjs} +0 -0
  488. /package/dist/{variant-Dwnge3J_.mjs → variant-73kFgYBK.mjs} +0 -0
  489. /package/dist/{window-registry-DQP5P2_0.d.mts → window-registry-CGaYVD7l.d.mts} +0 -0
  490. /package/dist/{window-registry-CKiMJjId.mjs → window-registry-CzAwaPKL.mjs} +0 -0
  491. /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{};
@@ -550,9 +550,9 @@ declare const SessionEventStorageNamespace$1: {
550
550
  subagent: "subagent";
551
551
  compress: "compress";
552
552
  branch: "branch";
553
- aside: "aside";
554
553
  rewrite: "rewrite";
555
554
  coordinator: "coordinator";
555
+ aside: "aside";
556
556
  }>;
557
557
  forkPointMessageId: _$zod.ZodOptional<_$zod.ZodString>;
558
558
  }, _$zod_v4_core0.$strip>;
@@ -932,9 +932,9 @@ declare const SessionEventStorageNamespace$1: {
932
932
  subagent: "subagent";
933
933
  compress: "compress";
934
934
  branch: "branch";
935
- aside: "aside";
936
935
  rewrite: "rewrite";
937
936
  coordinator: "coordinator";
937
+ aside: "aside";
938
938
  }>;
939
939
  forkPointMessageId: _$zod.ZodOptional<_$zod.ZodString>;
940
940
  }, _$zod_v4_core0.$strip>;
@@ -1304,9 +1304,9 @@ declare const SessionEventStorageNamespace$1: {
1304
1304
  subagent: "subagent";
1305
1305
  compress: "compress";
1306
1306
  branch: "branch";
1307
- aside: "aside";
1308
1307
  rewrite: "rewrite";
1309
1308
  coordinator: "coordinator";
1309
+ aside: "aside";
1310
1310
  }>;
1311
1311
  forkPointMessageId: _$zod.ZodOptional<_$zod.ZodString>;
1312
1312
  }, _$zod_v4_core0.$strip>;
@@ -1684,9 +1684,9 @@ declare const SessionEventStorageNamespace$1: {
1684
1684
  subagent: "subagent";
1685
1685
  compress: "compress";
1686
1686
  branch: "branch";
1687
- aside: "aside";
1688
1687
  rewrite: "rewrite";
1689
1688
  coordinator: "coordinator";
1689
+ aside: "aside";
1690
1690
  }>;
1691
1691
  forkPointMessageId: _$zod.ZodOptional<_$zod.ZodString>;
1692
1692
  }, _$zod_v4_core0.$strip>;
@@ -2052,9 +2052,9 @@ declare const SessionEventStorageNamespace$1: {
2052
2052
  subagent: "subagent";
2053
2053
  compress: "compress";
2054
2054
  branch: "branch";
2055
- aside: "aside";
2056
2055
  rewrite: "rewrite";
2057
2056
  coordinator: "coordinator";
2057
+ aside: "aside";
2058
2058
  }>;
2059
2059
  forkPointMessageId: _$zod.ZodOptional<_$zod.ZodString>;
2060
2060
  }, _$zod_v4_core0.$strip>;
@@ -2434,9 +2434,9 @@ declare const SessionEventStorageNamespace$1: {
2434
2434
  subagent: "subagent";
2435
2435
  compress: "compress";
2436
2436
  branch: "branch";
2437
- aside: "aside";
2438
2437
  rewrite: "rewrite";
2439
2438
  coordinator: "coordinator";
2439
+ aside: "aside";
2440
2440
  }>;
2441
2441
  forkPointMessageId: _$zod.ZodOptional<_$zod.ZodString>;
2442
2442
  }, _$zod_v4_core0.$strip>;
@@ -2806,9 +2806,9 @@ declare const SessionEventStorageNamespace$1: {
2806
2806
  subagent: "subagent";
2807
2807
  compress: "compress";
2808
2808
  branch: "branch";
2809
- aside: "aside";
2810
2809
  rewrite: "rewrite";
2811
2810
  coordinator: "coordinator";
2811
+ aside: "aside";
2812
2812
  }>;
2813
2813
  forkPointMessageId: _$zod.ZodOptional<_$zod.ZodString>;
2814
2814
  }, _$zod_v4_core0.$strip>;
@@ -3186,9 +3186,9 @@ declare const SessionEventStorageNamespace$1: {
3186
3186
  subagent: "subagent";
3187
3187
  compress: "compress";
3188
3188
  branch: "branch";
3189
- aside: "aside";
3190
3189
  rewrite: "rewrite";
3191
3190
  coordinator: "coordinator";
3191
+ aside: "aside";
3192
3192
  }>;
3193
3193
  forkPointMessageId: _$zod.ZodOptional<_$zod.ZodString>;
3194
3194
  }, _$zod_v4_core0.$strip>;
@@ -3506,7 +3506,7 @@ declare const SessionEventStorageNamespace$1: {
3506
3506
  payload: {
3507
3507
  childSessionId: string;
3508
3508
  parentSessionId: string;
3509
- kind: "fork" | "subagent" | "compress" | "branch" | "aside" | "rewrite" | "coordinator";
3509
+ kind: "fork" | "subagent" | "compress" | "branch" | "rewrite" | "coordinator" | "aside";
3510
3510
  forkPointMessageId?: string | undefined;
3511
3511
  };
3512
3512
  } | {
@@ -0,0 +1 @@
1
+ import{t as e}from"./schemas-BKnJj2i-.mjs";import{createBusNamespace as t}from"@makaio/framework/core";const n=t(`kernel:cli`,e),r=n.subjects;export{r as n,n as t};
@@ -67,8 +67,8 @@ declare const ExecutionTargetNamespace: _$_makaio_core0.BusNamespaceDefinition<"
67
67
  name: _$zod.ZodString;
68
68
  image: _$zod.ZodOptional<_$zod.ZodString>;
69
69
  enabled: _$zod.ZodBoolean;
70
- busUrl: _$zod.ZodOptional<_$zod.ZodString>;
71
70
  scope: _$zod.ZodString;
71
+ busUrl: _$zod.ZodOptional<_$zod.ZodString>;
72
72
  }, _$zod_v4_core0.$strip>, _$zod.ZodObject<{
73
73
  type: _$zod.ZodLiteral<"container-isolated">;
74
74
  id: _$zod.ZodString;
@@ -338,8 +338,8 @@ declare const ExecutionTargetSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
338
338
  name: _$zod.ZodString;
339
339
  image: _$zod.ZodOptional<_$zod.ZodString>;
340
340
  enabled: _$zod.ZodBoolean;
341
- busUrl: _$zod.ZodOptional<_$zod.ZodString>;
342
341
  scope: _$zod.ZodString;
342
+ busUrl: _$zod.ZodOptional<_$zod.ZodString>;
343
343
  }, _$zod_v4_core0.$strip>, _$zod.ZodObject<{
344
344
  type: _$zod.ZodLiteral<"container-isolated">;
345
345
  id: _$zod.ZodString;