/home/egir5919/public_html/wp-content/plugins/surerank/build/vendor-9f9c6a24/index.js
"use strict";(globalThis.webpackChunksurerank=globalThis.webpackChunksurerank||[]).push([[8562],{43035(e,t,s){s.d(t,{_:()=>x});var r=s(35921),a=s(12236);function o(e){return!!e._zod}function i(e){const t=Object.values(e);if(0===t.length)return a.Ikc({});const s=t.every(o),i=t.every(e=>!o(e));if(s)return a.Ikc(e);if(i)return r.Ik(e);throw new Error("Mixed Zod versions detected in object shape.")}function n(e,t){return o(e)?a.xLC(e,t):e.safeParse(t)}async function l(e,t){if(o(e))return await a.bpZ(e,t);const s=e;return await s.safeParseAsync(t)}function c(e){if(!e)return;let t;if(o(e)){const s=e;t=s._zod?.def?.shape}else t=e.shape;if(t){if("function"===typeof t)try{return t()}catch{return}return t}}function d(e){if(e){if("object"===typeof e&&!e._def&&!e._zod){const t=Object.values(e);if(t.length>0&&t.every(e=>"object"===typeof e&&null!==e&&(void 0!==e._def||void 0!==e._zod||"function"===typeof e.parse)))return i(e)}if(o(e)){const t=e,s=t._zod?.def;if(s&&("object"===s.type||void 0!==s.shape))return e}else if(void 0!==e.shape)return e}}function u(e){if(e&&"object"===typeof e){if("message"in e&&"string"===typeof e.message)return e.message;if("issues"in e&&Array.isArray(e.issues)&&e.issues.length>0){const t=e.issues[0];if(t&&"object"===typeof t&&"message"in t)return String(t.message)}try{return JSON.stringify(e)}catch{return String(e)}}return String(e)}function p(e){if(o(e)){const t=e,s=t._zod?.def;if(s){if(void 0!==s.value)return s.value;if(Array.isArray(s.values)&&s.values.length>0)return s.values[0]}}const t=e._def;if(t){if(void 0!==t.value)return t.value;if(Array.isArray(t.values)&&t.values.length>0)return t.values[0]}const s=e.value;if(void 0!==s)return s}var m=s(37917);function h(e){return"completed"===e||"failed"===e||"cancelled"===e}var g=s(48201);function f(e,t){return o(e)?a.blZ(e,{target:(s=t?.target,s?"jsonSchema7"===s||"draft-7"===s?"draft-7":"jsonSchema2019-09"===s||"draft-2020-12"===s?"draft-2020-12":"draft-7":"draft-7"),io:t?.pipeStrategy??"input"}):(0,g.Ik)(e,{strictUnions:t?.strictUnions??!0,pipeStrategy:t?.pipeStrategy??"input"});var s}function k(e){const t=c(e),s=t?.method;if(!s)throw new Error("Schema is missing a method literal");const r=p(s);if("string"!==typeof r)throw new Error("Schema method literal must be a string");return r}function _(e,t){const s=n(e,t);if(!s.success)throw s.error;return s.data}class w{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(m.Sq,e=>{this._oncancel(e)}),this.setNotificationHandler(m._r,e=>{this._onprogress(e)}),this.setRequestHandler(m.tC,e=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(m.Ql,async(e,t)=>{const s=await this._taskStore.getTask(e.params.taskId,t.sessionId);if(!s)throw new m.Nh(m.O4.InvalidParams,"Failed to retrieve task: Task not found");return{...s}}),this.setRequestHandler(m.oQ,async(e,t)=>{const s=async()=>{const r=e.params.taskId;if(this._taskMessageQueue){let e;for(;e=await this._taskMessageQueue.dequeue(r,t.sessionId);){if("response"===e.type||"error"===e.type){const t=e.message,s=t.id,r=this._requestResolvers.get(s);r?(this._requestResolvers.delete(s),r("response"===e.type?t:new m.Nh(t.error.code,t.error.message,t.error.data))):this._onerror(new Error(`${"response"===e.type?"Response":"Error"} handler missing for request ${s}`));continue}await(this._transport?.send(e.message,{relatedRequestId:t.requestId}))}}const a=await this._taskStore.getTask(r,t.sessionId);if(!a)throw new m.Nh(m.O4.InvalidParams,`Task not found: ${r}`);if(!h(a.status))return await this._waitForTaskUpdate(r,t.signal),await s();if(h(a.status)){const e=await this._taskStore.getTaskResult(r,t.sessionId);return this._clearTaskQueue(r),{...e,_meta:{...e._meta,[m.EV]:{taskId:r}}}}return await s()};return await s()}),this.setRequestHandler(m.zR,async(e,t)=>{try{const{tasks:s,nextCursor:r}=await this._taskStore.listTasks(e.params?.cursor,t.sessionId);return{tasks:s,nextCursor:r,_meta:{}}}catch(s){throw new m.Nh(m.O4.InvalidParams,`Failed to list tasks: ${s instanceof Error?s.message:String(s)}`)}}),this.setRequestHandler(m.gd,async(e,t)=>{try{const s=await this._taskStore.getTask(e.params.taskId,t.sessionId);if(!s)throw new m.Nh(m.O4.InvalidParams,`Task not found: ${e.params.taskId}`);if(h(s.status))throw new m.Nh(m.O4.InvalidParams,`Cannot cancel task in terminal status: ${s.status}`);await this._taskStore.updateTaskStatus(e.params.taskId,"cancelled","Client cancelled task execution.",t.sessionId),this._clearTaskQueue(e.params.taskId);const r=await this._taskStore.getTask(e.params.taskId,t.sessionId);if(!r)throw new m.Nh(m.O4.InvalidParams,`Task not found after cancellation: ${e.params.taskId}`);return{_meta:{},...r}}catch(s){if(s instanceof m.Nh)throw s;throw new m.Nh(m.O4.InvalidRequest,`Failed to cancel task: ${s instanceof Error?s.message:String(s)}`)}}))}async _oncancel(e){if(!e.params.requestId)return;const t=this._requestHandlerAbortControllers.get(e.params.requestId);t?.abort(e.params.reason)}_setupTimeout(e,t,s,r,a=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(r,t),startTime:Date.now(),timeout:t,maxTotalTimeout:s,resetTimeoutOnProgress:a,onTimeout:r})}_resetTimeout(e){const t=this._timeoutInfo.get(e);if(!t)return!1;const s=Date.now()-t.startTime;if(t.maxTotalTimeout&&s>=t.maxTotalTimeout)throw this._timeoutInfo.delete(e),m.Nh.fromError(m.O4.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:t.maxTotalTimeout,totalElapsed:s});return clearTimeout(t.timeoutId),t.timeoutId=setTimeout(t.onTimeout,t.timeout),!0}_cleanupTimeout(e){const t=this._timeoutInfo.get(e);t&&(clearTimeout(t.timeoutId),this._timeoutInfo.delete(e))}async connect(e){if(this._transport)throw new 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;const t=this.transport?.onclose;this._transport.onclose=()=>{t?.(),this._onclose()};const s=this.transport?.onerror;this._transport.onerror=e=>{s?.(e),this._onerror(e)};const r=this._transport?.onmessage;this._transport.onmessage=(e,t)=>{r?.(e,t),(0,m.ig)(e)||(0,m.LW)(e)?this._onresponse(e):(0,m.vo)(e)?this._onrequest(e,t):(0,m.lg)(e)?this._onnotification(e):this._onerror(new Error(`Unknown message type: ${JSON.stringify(e)}`))},await this._transport.start()}_onclose(){const e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(const s of this._requestHandlerAbortControllers.values())s.abort();this._requestHandlerAbortControllers.clear();const t=m.Nh.fromError(m.O4.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(const s of e.values())s(t)}_onerror(e){this.onerror?.(e)}_onnotification(e){const t=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;void 0!==t&&Promise.resolve().then(()=>t(e)).catch(e=>this._onerror(new Error(`Uncaught error in notification handler: ${e}`)))}_onrequest(e,t){const s=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,r=this._transport,a=e.params?._meta?.[m.EV]?.taskId;if(void 0===s){const t={jsonrpc:"2.0",id:e.id,error:{code:m.O4.MethodNotFound,message:"Method not found"}};return void(a&&this._taskMessageQueue?this._enqueueTaskMessage(a,{type:"error",message:t,timestamp:Date.now()},r?.sessionId).catch(e=>this._onerror(new Error(`Failed to enqueue error response: ${e}`))):r?.send(t).catch(e=>this._onerror(new Error(`Failed to send an error response: ${e}`))))}const o=new AbortController;this._requestHandlerAbortControllers.set(e.id,o);const i=(0,m.bZ)(e.params)?e.params.task:void 0,n=this._taskStore?this.requestTaskStore(e,r?.sessionId):void 0,l={signal:o.signal,sessionId:r?.sessionId,_meta:e.params?._meta,sendNotification:async t=>{if(o.signal.aborted)return;const s={relatedRequestId:e.id};a&&(s.relatedTask={taskId:a}),await this.notification(t,s)},sendRequest:async(t,s,r)=>{if(o.signal.aborted)throw new m.Nh(m.O4.ConnectionClosed,"Request was cancelled");const i={...r,relatedRequestId:e.id};a&&!i.relatedTask&&(i.relatedTask={taskId:a});const l=i.relatedTask?.taskId??a;return l&&n&&await n.updateTaskStatus(l,"input_required"),await this.request(t,s,i)},authInfo:t?.authInfo,requestId:e.id,requestInfo:t?.requestInfo,taskId:a,taskStore:n,taskRequestedTtl:i?.ttl,closeSSEStream:t?.closeSSEStream,closeStandaloneSSEStream:t?.closeStandaloneSSEStream};Promise.resolve().then(()=>{i&&this.assertTaskHandlerCapability(e.method)}).then(()=>s(e,l)).then(async t=>{if(o.signal.aborted)return;const s={result:t,jsonrpc:"2.0",id:e.id};a&&this._taskMessageQueue?await this._enqueueTaskMessage(a,{type:"response",message:s,timestamp:Date.now()},r?.sessionId):await(r?.send(s))},async t=>{if(o.signal.aborted)return;const s={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(t.code)?t.code:m.O4.InternalError,message:t.message??"Internal error",...void 0!==t.data&&{data:t.data}}};a&&this._taskMessageQueue?await this._enqueueTaskMessage(a,{type:"error",message:s,timestamp:Date.now()},r?.sessionId):await(r?.send(s))}).catch(e=>this._onerror(new Error(`Failed to send response: ${e}`))).finally(()=>{this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){const{progressToken:t,...s}=e.params,r=Number(t),a=this._progressHandlers.get(r);if(!a)return void this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));const o=this._responseHandlers.get(r),i=this._timeoutInfo.get(r);if(i&&o&&i.resetTimeoutOnProgress)try{this._resetTimeout(r)}catch(n){return this._responseHandlers.delete(r),this._progressHandlers.delete(r),this._cleanupTimeout(r),void o(n)}a(s)}_onresponse(e){const t=Number(e.id),s=this._requestResolvers.get(t);if(s)return this._requestResolvers.delete(t),void((0,m.ig)(e)?s(e):s(new m.Nh(e.error.code,e.error.message,e.error.data)));const r=this._responseHandlers.get(t);if(void 0===r)return void this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));this._responseHandlers.delete(t),this._cleanupTimeout(t);let a=!1;if((0,m.ig)(e)&&e.result&&"object"===typeof e.result){const s=e.result;if(s.task&&"object"===typeof s.task){const e=s.task;"string"===typeof e.taskId&&(a=!0,this._taskProgressTokens.set(e.taskId,t))}}a||this._progressHandlers.delete(t),(0,m.ig)(e)?r(e):r(m.Nh.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,s){const{task:r}=s??{};if(!r){try{const r=await this.request(e,t,s);yield{type:"result",result:r}}catch(o){yield{type:"error",error:o instanceof m.Nh?o:new m.Nh(m.O4.InternalError,String(o))}}return}let a;try{const r=await this.request(e,m.Mg,s);if(!r.task)throw new m.Nh(m.O4.InternalError,"Task creation did not return a task");for(a=r.task.taskId,yield{type:"taskCreated",task:r.task};;){const e=await this.getTask({taskId:a},s);if(yield{type:"taskStatus",task:e},h(e.status)){if("completed"===e.status){const e=await this.getTaskResult({taskId:a},t,s);yield{type:"result",result:e}}else"failed"===e.status?yield{type:"error",error:new m.Nh(m.O4.InternalError,`Task ${a} failed`)}:"cancelled"===e.status&&(yield{type:"error",error:new m.Nh(m.O4.InternalError,`Task ${a} was cancelled`)});return}if("input_required"===e.status){const e=await this.getTaskResult({taskId:a},t,s);return void(yield{type:"result",result:e})}const r=e.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(e=>setTimeout(e,r)),s?.signal?.throwIfAborted()}}catch(o){yield{type:"error",error:o instanceof m.Nh?o:new m.Nh(m.O4.InternalError,String(o))}}}request(e,t,s){const{relatedRequestId:r,resumptionToken:a,onresumptiontoken:o,task:i,relatedTask:l}=s??{};return new Promise((c,d)=>{const u=e=>{d(e)};if(!this._transport)return void u(new Error("Not connected"));if(!0===this._options?.enforceStrictCapabilities)try{this.assertCapabilityForMethod(e.method),i&&this.assertTaskCapability(e.method)}catch(_){return void u(_)}s?.signal?.throwIfAborted();const p=this._requestMessageId++,h={...e,jsonrpc:"2.0",id:p};s?.onprogress&&(this._progressHandlers.set(p,s.onprogress),h.params={...e.params,_meta:{...e.params?._meta||{},progressToken:p}}),i&&(h.params={...h.params,task:i}),l&&(h.params={...h.params,_meta:{...h.params?._meta||{},[m.EV]:l}});const g=e=>{this._responseHandlers.delete(p),this._progressHandlers.delete(p),this._cleanupTimeout(p),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:p,reason:String(e)}},{relatedRequestId:r,resumptionToken:a,onresumptiontoken:o}).catch(e=>this._onerror(new Error(`Failed to send cancellation: ${e}`)));const t=e instanceof m.Nh?e:new m.Nh(m.O4.RequestTimeout,String(e));d(t)};this._responseHandlers.set(p,e=>{if(!s?.signal?.aborted){if(e instanceof Error)return d(e);try{const s=n(t,e.result);s.success?c(s.data):d(s.error)}catch(r){d(r)}}}),s?.signal?.addEventListener("abort",()=>{g(s?.signal?.reason)});const f=s?.timeout??6e4;this._setupTimeout(p,f,s?.maxTotalTimeout,()=>g(m.Nh.fromError(m.O4.RequestTimeout,"Request timed out",{timeout:f})),s?.resetTimeoutOnProgress??!1);const k=l?.taskId;k?(this._requestResolvers.set(p,e=>{const t=this._responseHandlers.get(p);t?t(e):this._onerror(new Error(`Response handler missing for side-channeled request ${p}`))}),this._enqueueTaskMessage(k,{type:"request",message:h,timestamp:Date.now()}).catch(e=>{this._cleanupTimeout(p),d(e)})):this._transport.send(h,{relatedRequestId:r,resumptionToken:a,onresumptiontoken:o}).catch(e=>{this._cleanupTimeout(p),d(e)})})}async getTask(e,t){return this.request({method:"tasks/get",params:e},m.Sc,t)}async getTaskResult(e,t,s){return this.request({method:"tasks/result",params:e},t,s)}async listTasks(e,t){return this.request({method:"tasks/list",params:e},m.a5,t)}async cancelTask(e,t){return this.request({method:"tasks/cancel",params:e},m.gH,t)}async notification(e,t){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);const s=t?.relatedTask?.taskId;if(s){const r={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...e.params?._meta||{},[m.EV]:t.relatedTask}}};return void await this._enqueueTaskMessage(s,{type:"notification",message:r,timestamp:Date.now()})}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!t?.relatedRequestId&&!t?.relatedTask){if(this._pendingDebouncedNotifications.has(e.method))return;return this._pendingDebouncedNotifications.add(e.method),void Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let s={...e,jsonrpc:"2.0"};t?.relatedTask&&(s={...s,params:{...s.params,_meta:{...s.params?._meta||{},[m.EV]:t.relatedTask}}}),this._transport?.send(s,t).catch(e=>this._onerror(e))})}let r={...e,jsonrpc:"2.0"};t?.relatedTask&&(r={...r,params:{...r.params,_meta:{...r.params?._meta||{},[m.EV]:t.relatedTask}}}),await this._transport.send(r,t)}setRequestHandler(e,t){const s=k(e);this.assertRequestHandlerCapability(s),this._requestHandlers.set(s,(s,r)=>{const a=_(e,s);return Promise.resolve(t(a,r))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,t){const s=k(e);this._notificationHandlers.set(s,s=>{const r=_(e,s);return Promise.resolve(t(r))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){const t=this._taskProgressTokens.get(e);void 0!==t&&(this._progressHandlers.delete(t),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,t,s){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");const r=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,t,s,r)}async _clearTaskQueue(e,t){if(this._taskMessageQueue){const s=await this._taskMessageQueue.dequeueAll(e,t);for(const t of s)if("request"===t.type&&(0,m.vo)(t.message)){const s=t.message.id,r=this._requestResolvers.get(s);r?(r(new m.Nh(m.O4.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(s)):this._onerror(new Error(`Resolver missing for request ${s} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,t){let s=this._options?.defaultTaskPollInterval??1e3;try{const t=await(this._taskStore?.getTask(e));t?.pollInterval&&(s=t.pollInterval)}catch{}return new Promise((e,r)=>{if(t.aborted)return void r(new m.Nh(m.O4.InvalidRequest,"Request cancelled"));const a=setTimeout(e,s);t.addEventListener("abort",()=>{clearTimeout(a),r(new m.Nh(m.O4.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,t){const s=this._taskStore;if(!s)throw new Error("No task store configured");return{createTask:async r=>{if(!e)throw new Error("No request provided");return await s.createTask(r,e.id,{method:e.method,params:e.params},t)},getTask:async e=>{const r=await s.getTask(e,t);if(!r)throw new m.Nh(m.O4.InvalidParams,"Failed to retrieve task: Task not found");return r},storeTaskResult:async(e,r,a)=>{await s.storeTaskResult(e,r,a,t);const o=await s.getTask(e,t);if(o){const t=m.ki.parse({method:"notifications/tasks/status",params:o});await this.notification(t),h(o.status)&&this._cleanupTaskProgressHandler(e)}},getTaskResult:e=>s.getTaskResult(e,t),updateTaskStatus:async(e,r,a)=>{const o=await s.getTask(e,t);if(!o)throw new m.Nh(m.O4.InvalidParams,`Task "${e}" not found - it may have been cleaned up`);if(h(o.status))throw new m.Nh(m.O4.InvalidParams,`Cannot update task "${e}" from terminal status "${o.status}" to "${r}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await s.updateTaskStatus(e,r,a,t);const i=await s.getTask(e,t);if(i){const t=m.ki.parse({method:"notifications/tasks/status",params:i});await this.notification(t),h(i.status)&&this._cleanupTaskProgressHandler(e)}},listTasks:e=>s.listTasks(e,t)}}}function y(e){return null!==e&&"object"===typeof e&&!Array.isArray(e)}var v=s(63282),P=s(68182);class I{constructor(e){this._ajv=e??function(){const e=new v({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return P(e),e}()}getValidator(e){const t="$id"in e&&"string"===typeof e.$id?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)}}}class T{constructor(e){this._server=e}requestStream(e,t,s){return this._server.requestStream(e,t,s)}createMessageStream(e,t){const s=this._server.getClientCapabilities();if((e.tools||e.toolChoice)&&!s?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){const t=e.messages[e.messages.length-1],s=Array.isArray(t.content)?t.content:[t.content],r=s.some(e=>"tool_result"===e.type),a=e.messages.length>1?e.messages[e.messages.length-2]:void 0,o=a?Array.isArray(a.content)?a.content:[a.content]:[],i=o.some(e=>"tool_use"===e.type);if(r){if(s.some(e=>"tool_result"!==e.type))throw new Error("The last message must contain only tool_result content if any is present");if(!i)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(i){const e=new Set(o.filter(e=>"tool_use"===e.type).map(e=>e.id)),t=new Set(s.filter(e=>"tool_result"===e.type).map(e=>e.toolUseId));if(e.size!==t.size||![...e].every(e=>t.has(e)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return this.requestStream({method:"sampling/createMessage",params:e},m.K1,t)}elicitInputStream(e,t){const s=this._server.getClientCapabilities(),r=e.mode??"form";switch(r){case"url":if(!s?.elicitation?.url)throw new Error("Client does not support url elicitation.");break;case"form":if(!s?.elicitation?.form)throw new Error("Client does not support form elicitation.")}const a="form"===r&&void 0===e.mode?{...e,mode:"form"}:e;return this.requestStream({method:"elicitation/create",params:a},m.n_,t)}async getTask(e,t){return this._server.getTask({taskId:e},t)}async getTaskResult(e,t,s){return this._server.getTaskResult({taskId:e},t,s)}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)}}class b extends w{constructor(e,t){super(t),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(m.FP.options.map((e,t)=>[e,t])),this.isMessageIgnored=(e,t)=>{const s=this._loggingLevels.get(t);return!!s&&this.LOG_LEVEL_SEVERITY.get(e)<this.LOG_LEVEL_SEVERITY.get(s)},this._capabilities=t?.capabilities??{},this._instructions=t?.instructions,this._jsonSchemaValidator=t?.jsonSchemaValidator??new I,this.setRequestHandler(m.rk,e=>this._oninitialize(e)),this.setNotificationHandler(m.ZC,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(m.b_,async(e,t)=>{const s=t.sessionId||t.requestInfo?.headers["mcp-session-id"]||void 0,{level:r}=e.params,a=m.FP.safeParse(r);return a.success&&this._loggingLevels.set(s,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new T(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=function(e,t){const s={...e};for(const r in t){const e=r,a=t[e];if(void 0===a)continue;const o=s[e];s[e]=y(o)&&y(a)?{...o,...a}:a}return s}(this._capabilities,e)}setRequestHandler(e,t){const s=c(e),r=s?.method;if(!r)throw new Error("Schema is missing a method literal");let a;if(o(r)){const e=r,t=e._zod?.def;a=t?.value??e.value}else{const e=r,t=e._def;a=t?.value??e.value}if("string"!==typeof a)throw new Error("Schema method literal must be a string");return super.setRequestHandler(e,"tools/call"===a?async(e,s)=>{const r=n(m.FT,e);if(!r.success){const e=r.error instanceof Error?r.error.message:String(r.error);throw new m.Nh(m.O4.InvalidParams,`Invalid tools/call request: ${e}`)}const{params:a}=r.data,o=await Promise.resolve(t(e,s));if(a.task){const e=n(m.Mg,o);if(!e.success){const t=e.error instanceof Error?e.error.message:String(e.error);throw new m.Nh(m.O4.InvalidParams,`Invalid task creation result: ${t}`)}return e.data}const i=n(m.TF,o);if(!i.success){const e=i.error instanceof Error?i.error.message:String(i.error);throw new m.Nh(m.O4.InvalidParams,`Invalid tools/call result: ${e}`)}return i.data}:t)}assertCapabilityForMethod(e){switch(e){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${e})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${e})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${e})`)}}assertNotificationCapability(e){switch(e){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw new Error(`Server does not support notifying about resources (required for ${e})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${e})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${e})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${e})`)}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${e})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new 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 new Error(`Server does not support resources (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new 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 new Error(`Server does not support tasks capability (required for ${e})`)}}assertTaskCapability(e){!function(e,t,s){if(!e)throw new Error(`${s} does not support task creation (required for ${t})`);switch(t){case"sampling/createMessage":if(!e.sampling?.createMessage)throw new Error(`${s} does not support task creation for sampling/createMessage (required for ${t})`);break;case"elicitation/create":if(!e.elicitation?.create)throw new Error(`${s} does not support task creation for elicitation/create (required for ${t})`)}}(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&function(e,t,s){if(!e)throw new Error(`${s} does not support task creation (required for ${t})`);if("tools/call"===t&&!e.tools?.call)throw new Error(`${s} does not support task creation for tools/call (required for ${t})`)}(this._capabilities.tasks?.requests,e,"Server")}async _oninitialize(e){const t=e.params.protocolVersion;return this._clientCapabilities=e.params.capabilities,this._clientVersion=e.params.clientInfo,{protocolVersion:m.Iu.includes(t)?t:m.aE,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},m.wR)}async createMessage(e,t){if((e.tools||e.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){const t=e.messages[e.messages.length-1],s=Array.isArray(t.content)?t.content:[t.content],r=s.some(e=>"tool_result"===e.type),a=e.messages.length>1?e.messages[e.messages.length-2]:void 0,o=a?Array.isArray(a.content)?a.content:[a.content]:[],i=o.some(e=>"tool_use"===e.type);if(r){if(s.some(e=>"tool_result"!==e.type))throw new Error("The last message must contain only tool_result content if any is present");if(!i)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(i){const e=new Set(o.filter(e=>"tool_use"===e.type).map(e=>e.id)),t=new Set(s.filter(e=>"tool_result"===e.type).map(e=>e.toolUseId));if(e.size!==t.size||![...e].every(e=>t.has(e)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return this.request({method:"sampling/createMessage",params:e},e.tools?m.TI:m.K1,t)}async elicitInput(e,t){switch(e.mode??"form"){case"url":if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support url elicitation.");return this.request({method:"elicitation/create",params:e},m.n_,t);case"form":{if(!this._clientCapabilities?.elicitation?.form)throw new Error("Client does not support form elicitation.");const r="form"===e.mode?e:{...e,mode:"form"},a=await this.request({method:"elicitation/create",params:r},m.n_,t);if("accept"===a.action&&a.content&&r.requestedSchema)try{const e=this._jsonSchemaValidator.getValidator(r.requestedSchema)(a.content);if(!e.valid)throw new m.Nh(m.O4.InvalidParams,`Elicitation response content does not match requested schema: ${e.errorMessage}`)}catch(s){if(s instanceof m.Nh)throw s;throw new m.Nh(m.O4.InternalError,`Error validating elicitation response: ${s instanceof Error?s.message:String(s)}`)}return a}}}createElicitationCompletionNotifier(e,t){if(!this._clientCapabilities?.elicitation?.url)throw new 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},m.Cs,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 q=Symbol.for("mcp.completable");function j(e){return!!e&&"object"===typeof e&&q in e}var Y;!function(e){e.Completable="McpCompletable"}(Y||(Y={}));const S=/^[A-Za-z0-9._-]{1,128}$/;function R(e){const t=function(e){const t=[];if(0===e.length)return{isValid:!1,warnings:["Tool name cannot be empty"]};if(e.length>128)return{isValid:!1,warnings:[`Tool name exceeds maximum length of 128 characters (current: ${e.length})`]};if(e.includes(" ")&&t.push("Tool name contains spaces, which may cause parsing issues"),e.includes(",")&&t.push("Tool name contains commas, which may cause parsing issues"),(e.startsWith("-")||e.endsWith("-"))&&t.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts"),(e.startsWith(".")||e.endsWith("."))&&t.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts"),!S.test(e)){const s=e.split("").filter(e=>!/[A-Za-z0-9._-]/.test(e)).filter((e,t,s)=>s.indexOf(e)===t);return t.push(`Tool name contains invalid characters: ${s.map(e=>`"${e}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:t}}return{isValid:!0,warnings:t}}(e);return function(e,t){if(t.length>0)for(const s of t);}(0,t.warnings),t.isValid}class C{constructor(e){this._mcpServer=e}registerToolTask(e,t,s){const r={taskSupport:"required",...t.execution};if("forbidden"===r.taskSupport)throw new Error(`Cannot register task-based tool '${e}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(e,t.title,t.description,t.inputSchema,t.outputSchema,t.annotations,r,t._meta,s)}}var E=s(8354);class x{constructor(e,t){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new b(e,t)}get experimental(){return this._experimental||(this._experimental={tasks:new C(this)}),this._experimental}async connect(e){return await this.server.connect(e)}async close(){await this.server.close()}setToolRequestHandlers(){this._toolHandlersInitialized||(this.server.assertCanSetRequestHandler(N(m.gW)),this.server.assertCanSetRequestHandler(N(m.FT)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(m.gW,()=>({tools:Object.entries(this._registeredTools).filter(([,e])=>e.enabled).map(([e,t])=>{const s={name:e,title:t.title,description:t.description,inputSchema:(()=>{const e=d(t.inputSchema);return e?f(e,{strictUnions:!0,pipeStrategy:"input"}):H})(),annotations:t.annotations,execution:t.execution,_meta:t._meta};if(t.outputSchema){const e=d(t.outputSchema);e&&(s.outputSchema=f(e,{strictUnions:!0,pipeStrategy:"output"}))}return s})})),this.server.setRequestHandler(m.FT,async(e,t)=>{try{const s=this._registeredTools[e.params.name];if(!s)throw new m.Nh(m.O4.InvalidParams,`Tool ${e.params.name} not found`);if(!s.enabled)throw new m.Nh(m.O4.InvalidParams,`Tool ${e.params.name} disabled`);const r=!!e.params.task,a=s.execution?.taskSupport,o="createTask"in s.handler;if(("required"===a||"optional"===a)&&!o)throw new m.Nh(m.O4.InternalError,`Tool ${e.params.name} has taskSupport '${a}' but was not registered with registerToolTask`);if("required"===a&&!r)throw new m.Nh(m.O4.MethodNotFound,`Tool ${e.params.name} requires task augmentation (taskSupport: 'required')`);if("optional"===a&&!r&&o)return await this.handleAutomaticTaskPolling(s,e,t);const i=await this.validateToolInput(s,e.params.arguments,e.params.name),n=await this.executeToolHandler(s,i,t);return r||await this.validateToolOutput(s,n,e.params.name),n}catch(s){if(s instanceof m.Nh&&s.code===m.O4.UrlElicitationRequired)throw s;return this.createToolError(s instanceof Error?s.message:String(s))}}),this._toolHandlersInitialized=!0)}createToolError(e){return{content:[{type:"text",text:e}],isError:!0}}async validateToolInput(e,t,s){if(!e.inputSchema)return;const r=d(e.inputSchema)??e.inputSchema,a=await l(r,t);if(!a.success){const e=u("error"in a?a.error:"Unknown error");throw new m.Nh(m.O4.InvalidParams,`Input validation error: Invalid arguments for tool ${s}: ${e}`)}return a.data}async validateToolOutput(e,t,s){if(!e.outputSchema)return;if(!("content"in t))return;if(t.isError)return;if(!t.structuredContent)throw new m.Nh(m.O4.InvalidParams,`Output validation error: Tool ${s} has an output schema but no structured content was provided`);const r=d(e.outputSchema),a=await l(r,t.structuredContent);if(!a.success){const e=u("error"in a?a.error:"Unknown error");throw new m.Nh(m.O4.InvalidParams,`Output validation error: Invalid structured content for tool ${s}: ${e}`)}}async executeToolHandler(e,t,s){const r=e.handler;if("createTask"in r){if(!s.taskStore)throw new Error("No task store provided.");const a={...s,taskStore:s.taskStore};if(e.inputSchema){const e=r;return await Promise.resolve(e.createTask(t,a))}{const e=r;return await Promise.resolve(e.createTask(a))}}if(e.inputSchema){const e=r;return await Promise.resolve(e(t,s))}{const e=r;return await Promise.resolve(e(s))}}async handleAutomaticTaskPolling(e,t,s){if(!s.taskStore)throw new Error("No task store provided for task-capable tool.");const r=await this.validateToolInput(e,t.params.arguments,t.params.name),a=e.handler,o={...s,taskStore:s.taskStore},i=r?await Promise.resolve(a.createTask(r,o)):await Promise.resolve(a.createTask(o)),n=i.task.taskId;let l=i.task;const c=l.pollInterval??5e3;for(;"completed"!==l.status&&"failed"!==l.status&&"cancelled"!==l.status;){await new Promise(e=>setTimeout(e,c));const e=await s.taskStore.getTask(n);if(!e)throw new m.Nh(m.O4.InternalError,`Task ${n} not found during polling`);l=e}return await s.taskStore.getTaskResult(n)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(N(m.iK)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(m.iK,async e=>{switch(e.params.ref.type){case"ref/prompt":return(0,m.uv)(e),this.handlePromptCompletion(e,e.params.ref);case"ref/resource":return(0,m.X6)(e),this.handleResourceCompletion(e,e.params.ref);default:throw new m.Nh(m.O4.InvalidParams,`Invalid completion reference: ${e.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(e,t){const s=this._registeredPrompts[t.name];if(!s)throw new m.Nh(m.O4.InvalidParams,`Prompt ${t.name} not found`);if(!s.enabled)throw new m.Nh(m.O4.InvalidParams,`Prompt ${t.name} disabled`);if(!s.argsSchema)return A;const r=c(s.argsSchema),a=r?.[e.params.argument.name];if(!j(a))return A;const o=function(e){const t=e[q];return t?.complete}(a);return o?L(await o(e.params.argument.value,e.params.context)):A}async handleResourceCompletion(e,t){const s=Object.values(this._registeredResourceTemplates).find(e=>e.resourceTemplate.uriTemplate.toString()===t.uri);if(!s){if(this._registeredResources[t.uri])return A;throw new m.Nh(m.O4.InvalidParams,`Resource template ${e.params.ref.uri} not found`)}const r=s.resourceTemplate.completeCallback(e.params.argument.name);return r?L(await r(e.params.argument.value,e.params.context)):A}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(N(m.OI)),this.server.assertCanSetRequestHandler(N(m.s)),this.server.assertCanSetRequestHandler(N(m.R6)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(m.OI,async(e,t)=>{const s=Object.entries(this._registeredResources).filter(([e,t])=>t.enabled).map(([e,t])=>({uri:e,name:t.name,...t.metadata})),r=[];for(const a of Object.values(this._registeredResourceTemplates)){if(!a.resourceTemplate.listCallback)continue;const e=await a.resourceTemplate.listCallback(t);for(const t of e.resources)r.push({...a.metadata,...t})}return{resources:[...s,...r]}}),this.server.setRequestHandler(m.s,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([e,t])=>({name:e,uriTemplate:t.resourceTemplate.uriTemplate.toString(),...t.metadata}))})),this.server.setRequestHandler(m.R6,async(e,t)=>{const s=new URL(e.params.uri),r=this._registeredResources[s.toString()];if(r){if(!r.enabled)throw new m.Nh(m.O4.InvalidParams,`Resource ${s} disabled`);return r.readCallback(s,t)}for(const a of Object.values(this._registeredResourceTemplates)){const e=a.resourceTemplate.uriTemplate.match(s.toString());if(e)return a.readCallback(s,e,t)}throw new m.Nh(m.O4.InvalidParams,`Resource ${s} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(N(m.Qq)),this.server.assertCanSetRequestHandler(N(m.$p)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(m.Qq,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,e])=>e.enabled).map(([e,t])=>({name:e,title:t.title,description:t.description,arguments:t.argsSchema?$(t.argsSchema):void 0}))})),this.server.setRequestHandler(m.$p,async(e,t)=>{const s=this._registeredPrompts[e.params.name];if(!s)throw new m.Nh(m.O4.InvalidParams,`Prompt ${e.params.name} not found`);if(!s.enabled)throw new m.Nh(m.O4.InvalidParams,`Prompt ${e.params.name} disabled`);if(s.argsSchema){const r=d(s.argsSchema),a=await l(r,e.params.arguments);if(!a.success){const t=u("error"in a?a.error:"Unknown error");throw new m.Nh(m.O4.InvalidParams,`Invalid arguments for prompt ${e.params.name}: ${t}`)}const o=a.data,i=s.callback;return await Promise.resolve(i(o,t))}{const e=s.callback;return await Promise.resolve(e(t))}}),this._promptHandlersInitialized=!0)}resource(e,t,...s){let r;"object"===typeof s[0]&&(r=s.shift());const a=s[0];if("string"===typeof t){if(this._registeredResources[t])throw new Error(`Resource ${t} is already registered`);const s=this._createRegisteredResource(e,void 0,t,r,a);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}{if(this._registeredResourceTemplates[e])throw new Error(`Resource template ${e} is already registered`);const s=this._createRegisteredResourceTemplate(e,void 0,t,r,a);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}}registerResource(e,t,s,r){if("string"===typeof t){if(this._registeredResources[t])throw new Error(`Resource ${t} is already registered`);const a=this._createRegisteredResource(e,s.title,t,s,r);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),a}{if(this._registeredResourceTemplates[e])throw new Error(`Resource template ${e} is already registered`);const a=this._createRegisteredResourceTemplate(e,s.title,t,s,r);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),a}}_createRegisteredResource(e,t,s,r,a){const o={name:e,title:t,metadata:r,readCallback:a,enabled:!0,disable:()=>o.update({enabled:!1}),enable:()=>o.update({enabled:!0}),remove:()=>o.update({uri:null}),update:e=>{"undefined"!==typeof e.uri&&e.uri!==s&&(delete this._registeredResources[s],e.uri&&(this._registeredResources[e.uri]=o)),"undefined"!==typeof e.name&&(o.name=e.name),"undefined"!==typeof e.title&&(o.title=e.title),"undefined"!==typeof e.metadata&&(o.metadata=e.metadata),"undefined"!==typeof e.callback&&(o.readCallback=e.callback),"undefined"!==typeof e.enabled&&(o.enabled=e.enabled),this.sendResourceListChanged()}};return this._registeredResources[s]=o,o}_createRegisteredResourceTemplate(e,t,s,r,a){const o={resourceTemplate:s,title:t,metadata:r,readCallback:a,enabled:!0,disable:()=>o.update({enabled:!1}),enable:()=>o.update({enabled:!0}),remove:()=>o.update({name:null}),update:t=>{"undefined"!==typeof t.name&&t.name!==e&&(delete this._registeredResourceTemplates[e],t.name&&(this._registeredResourceTemplates[t.name]=o)),"undefined"!==typeof t.title&&(o.title=t.title),"undefined"!==typeof t.template&&(o.resourceTemplate=t.template),"undefined"!==typeof t.metadata&&(o.metadata=t.metadata),"undefined"!==typeof t.callback&&(o.readCallback=t.callback),"undefined"!==typeof t.enabled&&(o.enabled=t.enabled),this.sendResourceListChanged()}};this._registeredResourceTemplates[e]=o;const i=s.uriTemplate.variableNames;return Array.isArray(i)&&i.some(e=>!!s.completeCallback(e))&&this.setCompletionRequestHandler(),o}_createRegisteredPrompt(e,t,s,r,a){const o={title:t,description:s,argsSchema:void 0===r?void 0:i(r),callback:a,enabled:!0,disable:()=>o.update({enabled:!1}),enable:()=>o.update({enabled:!0}),remove:()=>o.update({name:null}),update:t=>{"undefined"!==typeof t.name&&t.name!==e&&(delete this._registeredPrompts[e],t.name&&(this._registeredPrompts[t.name]=o)),"undefined"!==typeof t.title&&(o.title=t.title),"undefined"!==typeof t.description&&(o.description=t.description),"undefined"!==typeof t.argsSchema&&(o.argsSchema=i(t.argsSchema)),"undefined"!==typeof t.callback&&(o.callback=t.callback),"undefined"!==typeof t.enabled&&(o.enabled=t.enabled),this.sendPromptListChanged()}};return this._registeredPrompts[e]=o,r&&Object.values(r).some(e=>j(e instanceof E.IiU?e._def?.innerType:e))&&this.setCompletionRequestHandler(),o}_createRegisteredTool(e,t,s,r,a,o,n,l,c){R(e);const d={title:t,description:s,inputSchema:M(r),outputSchema:M(a),annotations:o,execution:n,_meta:l,handler:c,enabled:!0,disable:()=>d.update({enabled:!1}),enable:()=>d.update({enabled:!0}),remove:()=>d.update({name:null}),update:t=>{"undefined"!==typeof t.name&&t.name!==e&&("string"===typeof t.name&&R(t.name),delete this._registeredTools[e],t.name&&(this._registeredTools[t.name]=d)),"undefined"!==typeof t.title&&(d.title=t.title),"undefined"!==typeof t.description&&(d.description=t.description),"undefined"!==typeof t.paramsSchema&&(d.inputSchema=i(t.paramsSchema)),"undefined"!==typeof t.outputSchema&&(d.outputSchema=i(t.outputSchema)),"undefined"!==typeof t.callback&&(d.handler=t.callback),"undefined"!==typeof t.annotations&&(d.annotations=t.annotations),"undefined"!==typeof t._meta&&(d._meta=t._meta),"undefined"!==typeof t.enabled&&(d.enabled=t.enabled),this.sendToolListChanged()}};return this._registeredTools[e]=d,this.setToolRequestHandlers(),this.sendToolListChanged(),d}tool(e,...t){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);let s,r,a;if("string"===typeof t[0]&&(s=t.shift()),t.length>1){const e=t[0];z(e)?(r=t.shift(),t.length>1&&"object"===typeof t[0]&&null!==t[0]&&!z(t[0])&&(a=t.shift())):"object"===typeof e&&null!==e&&(a=t.shift())}return this._createRegisteredTool(e,void 0,s,r,void 0,a,{taskSupport:"forbidden"},void 0,t[0])}registerTool(e,t,s){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);const{title:r,description:a,inputSchema:o,outputSchema:i,annotations:n,_meta:l}=t;return this._createRegisteredTool(e,r,a,o,i,n,{taskSupport:"forbidden"},l,s)}prompt(e,...t){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let s,r;"string"===typeof t[0]&&(s=t.shift()),t.length>1&&(r=t.shift());const a=this._createRegisteredPrompt(e,void 0,s,r,t[0]);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),a}registerPrompt(e,t,s){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);const{title:r,description:a,argsSchema:o}=t,i=this._createRegisteredPrompt(e,r,a,o,s);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),i}isConnected(){return void 0!==this.server.transport}async sendLoggingMessage(e,t){return this.server.sendLoggingMessage(e,t)}sendResourceListChanged(){this.isConnected()&&this.server.sendResourceListChanged()}sendToolListChanged(){this.isConnected()&&this.server.sendToolListChanged()}sendPromptListChanged(){this.isConnected()&&this.server.sendPromptListChanged()}}const H={type:"object",properties:{}};function O(e){return null!==e&&"object"===typeof e&&"parse"in e&&"function"===typeof e.parse&&"safeParse"in e&&"function"===typeof e.safeParse}function z(e){return"object"===typeof e&&null!==e&&!function(e){return"_def"in e||"_zod"in e||O(e)}(e)&&(0===Object.keys(e).length||Object.values(e).some(O))}function M(e){if(e)return z(e)?i(e):e}function $(e){const t=c(e);return t?Object.entries(t).map(([e,t])=>{const s=function(e){return e.description}(t),r=function(e){if(o(e)){const t=e;return"optional"===t._zod?.def?.type}const t=e;return"function"===typeof e.isOptional?e.isOptional():"ZodOptional"===t._def?.typeName}(t);return{name:e,description:s,required:!r}}):[]}function N(e){const t=c(e),s=t?.method;if(!s)throw new Error("Schema is missing a method literal");const r=p(s);if("string"===typeof r)return r;throw new Error("Schema method literal must be a string")}function L(e){return{completion:{values:e.slice(0,100),total:e.length,hasMore:e.length>100}}}const A={completion:{values:[],hasMore:!1}}},37917(e,t,s){s.d(t,{$p:()=>Ze,Cs:()=>Xt,EV:()=>i,FP:()=>lt,FT:()=>it,Iu:()=>o,K1:()=>Pt,LW:()=>R,Mg:()=>ae,Nh:()=>es,O4:()=>Y,OI:()=>Pe,OR:()=>C,Ql:()=>ne,Qq:()=>Ne,R6:()=>Ye,Sc:()=>le,Sq:()=>H,TF:()=>at,TI:()=>It,X6:()=>Qt,ZC:()=>Q,_r:()=>X,a5:()=>ue,aE:()=>a,bZ:()=>f,b_:()=>dt,gH:()=>me,gW:()=>st,gd:()=>pe,iK:()=>Ft,ig:()=>j,ki:()=>ie,lg:()=>b,n_:()=>Zt,oQ:()=>ce,rk:()=>U,s:()=>Te,tC:()=>D,uv:()=>Jt,vo:()=>I,wR:()=>E,zR:()=>de});var r=s(34692);const a="2025-11-25",o=[a,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],i="io.modelcontextprotocol/related-task",n="2.0",l=r.IeY(e=>null!==e&&("object"===typeof e||"function"===typeof e)),c=r.KCZ([r.YjP(),r.aig().int()]),d=r.YjP(),u=(r._H3({ttl:r.KCZ([r.aig(),r.chJ()]).optional(),pollInterval:r.aig().optional()}),r.Ikc({ttl:r.aig().optional()})),p=r.Ikc({taskId:r.YjP()}),m=r._H3({progressToken:c.optional(),[i]:p.optional()}),h=r.Ikc({_meta:m.optional()}),g=h.extend({task:u.optional()}),f=e=>g.safeParse(e).success,k=r.Ikc({method:r.YjP(),params:h.loose().optional()}),_=r.Ikc({_meta:m.optional()}),w=r.Ikc({method:r.YjP(),params:_.loose().optional()}),y=r._H3({_meta:m.optional()}),v=r.KCZ([r.YjP(),r.aig().int()]),P=r.Ikc({jsonrpc:r.euz(n),id:v,...k.shape}).strict(),I=e=>P.safeParse(e).success,T=r.Ikc({jsonrpc:r.euz(n),...w.shape}).strict(),b=e=>T.safeParse(e).success,q=r.Ikc({jsonrpc:r.euz(n),id:v,result:y}).strict(),j=e=>q.safeParse(e).success;var Y;!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"}(Y||(Y={}));const S=r.Ikc({jsonrpc:r.euz(n),id:v.optional(),error:r.Ikc({code:r.aig().int(),message:r.YjP(),data:r.L5J().optional()})}).strict(),R=e=>S.safeParse(e).success,C=r.KCZ([P,T,q,S]),E=(r.KCZ([q,S]),y.strict()),x=_.extend({requestId:v.optional(),reason:r.YjP().optional()}),H=w.extend({method:r.euz("notifications/cancelled"),params:x}),O=r.Ikc({src:r.YjP(),mimeType:r.YjP().optional(),sizes:r.YOg(r.YjP()).optional(),theme:r.k5n(["light","dark"]).optional()}),z=r.Ikc({icons:r.YOg(O).optional()}),M=r.Ikc({name:r.YjP(),title:r.YjP().optional()}),$=M.extend({...M.shape,...z.shape,version:r.YjP(),websiteUrl:r.YjP().optional(),description:r.YjP().optional()}),N=r.E$q(r.Ikc({applyDefaults:r.zMY().optional()}),r.g1P(r.YjP(),r.L5J())),L=r.vkY(e=>e&&"object"===typeof e&&!Array.isArray(e)&&0===Object.keys(e).length?{form:{}}:e,r.E$q(r.Ikc({form:N.optional(),url:l.optional()}),r.g1P(r.YjP(),r.L5J()).optional())),A=r._H3({list:l.optional(),cancel:l.optional(),requests:r._H3({sampling:r._H3({createMessage:l.optional()}).optional(),elicitation:r._H3({create:l.optional()}).optional()}).optional()}),Z=r._H3({list:l.optional(),cancel:l.optional(),requests:r._H3({tools:r._H3({call:l.optional()}).optional()}).optional()}),K=r.Ikc({experimental:r.g1P(r.YjP(),l).optional(),sampling:r.Ikc({context:l.optional(),tools:l.optional()}).optional(),elicitation:L.optional(),roots:r.Ikc({listChanged:r.zMY().optional()}).optional(),tasks:A.optional()}),V=h.extend({protocolVersion:r.YjP(),capabilities:K,clientInfo:$}),U=k.extend({method:r.euz("initialize"),params:V}),F=r.Ikc({experimental:r.g1P(r.YjP(),l).optional(),logging:l.optional(),completions:l.optional(),prompts:r.Ikc({listChanged:r.zMY().optional()}).optional(),resources:r.Ikc({subscribe:r.zMY().optional(),listChanged:r.zMY().optional()}).optional(),tools:r.Ikc({listChanged:r.zMY().optional()}).optional(),tasks:Z.optional()}),J=y.extend({protocolVersion:r.YjP(),capabilities:F,serverInfo:$,instructions:r.YjP().optional()}),Q=w.extend({method:r.euz("notifications/initialized"),params:_.optional()}),D=k.extend({method:r.euz("ping"),params:h.optional()}),W=r.Ikc({progress:r.aig(),total:r.lqM(r.aig()),message:r.lqM(r.YjP())}),G=r.Ikc({..._.shape,...W.shape,progressToken:c}),X=w.extend({method:r.euz("notifications/progress"),params:G}),B=h.extend({cursor:d.optional()}),ee=k.extend({params:B.optional()}),te=y.extend({nextCursor:d.optional()}),se=r.k5n(["working","input_required","completed","failed","cancelled"]),re=r.Ikc({taskId:r.YjP(),status:se,ttl:r.KCZ([r.aig(),r.chJ()]),createdAt:r.YjP(),lastUpdatedAt:r.YjP(),pollInterval:r.lqM(r.aig()),statusMessage:r.lqM(r.YjP())}),ae=y.extend({task:re}),oe=_.merge(re),ie=w.extend({method:r.euz("notifications/tasks/status"),params:oe}),ne=k.extend({method:r.euz("tasks/get"),params:h.extend({taskId:r.YjP()})}),le=y.merge(re),ce=k.extend({method:r.euz("tasks/result"),params:h.extend({taskId:r.YjP()})}),de=(y.loose(),ee.extend({method:r.euz("tasks/list")})),ue=te.extend({tasks:r.YOg(re)}),pe=k.extend({method:r.euz("tasks/cancel"),params:h.extend({taskId:r.YjP()})}),me=y.merge(re),he=r.Ikc({uri:r.YjP(),mimeType:r.lqM(r.YjP()),_meta:r.g1P(r.YjP(),r.L5J()).optional()}),ge=he.extend({text:r.YjP()}),fe=r.YjP().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),ke=he.extend({blob:fe}),_e=r.k5n(["user","assistant"]),we=r.Ikc({audience:r.YOg(_e).optional(),priority:r.aig().min(0).max(1).optional(),lastModified:r.KH5.datetime({offset:!0}).optional()}),ye=r.Ikc({...M.shape,...z.shape,uri:r.YjP(),description:r.lqM(r.YjP()),mimeType:r.lqM(r.YjP()),annotations:we.optional(),_meta:r.lqM(r._H3({}))}),ve=r.Ikc({...M.shape,...z.shape,uriTemplate:r.YjP(),description:r.lqM(r.YjP()),mimeType:r.lqM(r.YjP()),annotations:we.optional(),_meta:r.lqM(r._H3({}))}),Pe=ee.extend({method:r.euz("resources/list")}),Ie=te.extend({resources:r.YOg(ye)}),Te=ee.extend({method:r.euz("resources/templates/list")}),be=te.extend({resourceTemplates:r.YOg(ve)}),qe=h.extend({uri:r.YjP()}),je=qe,Ye=k.extend({method:r.euz("resources/read"),params:je}),Se=y.extend({contents:r.YOg(r.KCZ([ge,ke]))}),Re=w.extend({method:r.euz("notifications/resources/list_changed"),params:_.optional()}),Ce=qe,Ee=k.extend({method:r.euz("resources/subscribe"),params:Ce}),xe=qe,He=k.extend({method:r.euz("resources/unsubscribe"),params:xe}),Oe=_.extend({uri:r.YjP()}),ze=w.extend({method:r.euz("notifications/resources/updated"),params:Oe}),Me=r.Ikc({name:r.YjP(),description:r.lqM(r.YjP()),required:r.lqM(r.zMY())}),$e=r.Ikc({...M.shape,...z.shape,description:r.lqM(r.YjP()),arguments:r.lqM(r.YOg(Me)),_meta:r.lqM(r._H3({}))}),Ne=ee.extend({method:r.euz("prompts/list")}),Le=te.extend({prompts:r.YOg($e)}),Ae=h.extend({name:r.YjP(),arguments:r.g1P(r.YjP(),r.YjP()).optional()}),Ze=k.extend({method:r.euz("prompts/get"),params:Ae}),Ke=r.Ikc({type:r.euz("text"),text:r.YjP(),annotations:we.optional(),_meta:r.g1P(r.YjP(),r.L5J()).optional()}),Ve=r.Ikc({type:r.euz("image"),data:fe,mimeType:r.YjP(),annotations:we.optional(),_meta:r.g1P(r.YjP(),r.L5J()).optional()}),Ue=r.Ikc({type:r.euz("audio"),data:fe,mimeType:r.YjP(),annotations:we.optional(),_meta:r.g1P(r.YjP(),r.L5J()).optional()}),Fe=r.Ikc({type:r.euz("tool_use"),name:r.YjP(),id:r.YjP(),input:r.g1P(r.YjP(),r.L5J()),_meta:r.g1P(r.YjP(),r.L5J()).optional()}),Je=r.Ikc({type:r.euz("resource"),resource:r.KCZ([ge,ke]),annotations:we.optional(),_meta:r.g1P(r.YjP(),r.L5J()).optional()}),Qe=ye.extend({type:r.euz("resource_link")}),De=r.KCZ([Ke,Ve,Ue,Qe,Je]),We=r.Ikc({role:_e,content:De}),Ge=y.extend({description:r.YjP().optional(),messages:r.YOg(We)}),Xe=w.extend({method:r.euz("notifications/prompts/list_changed"),params:_.optional()}),Be=r.Ikc({title:r.YjP().optional(),readOnlyHint:r.zMY().optional(),destructiveHint:r.zMY().optional(),idempotentHint:r.zMY().optional(),openWorldHint:r.zMY().optional()}),et=r.Ikc({taskSupport:r.k5n(["required","optional","forbidden"]).optional()}),tt=r.Ikc({...M.shape,...z.shape,description:r.YjP().optional(),inputSchema:r.Ikc({type:r.euz("object"),properties:r.g1P(r.YjP(),l).optional(),required:r.YOg(r.YjP()).optional()}).catchall(r.L5J()),outputSchema:r.Ikc({type:r.euz("object"),properties:r.g1P(r.YjP(),l).optional(),required:r.YOg(r.YjP()).optional()}).catchall(r.L5J()).optional(),annotations:Be.optional(),execution:et.optional(),_meta:r.g1P(r.YjP(),r.L5J()).optional()}),st=ee.extend({method:r.euz("tools/list")}),rt=te.extend({tools:r.YOg(tt)}),at=y.extend({content:r.YOg(De).default([]),structuredContent:r.g1P(r.YjP(),r.L5J()).optional(),isError:r.zMY().optional()}),ot=(at.or(y.extend({toolResult:r.L5J()})),g.extend({name:r.YjP(),arguments:r.g1P(r.YjP(),r.L5J()).optional()})),it=k.extend({method:r.euz("tools/call"),params:ot}),nt=w.extend({method:r.euz("notifications/tools/list_changed"),params:_.optional()}),lt=(r.Ikc({autoRefresh:r.zMY().default(!0),debounceMs:r.aig().int().nonnegative().default(300)}),r.k5n(["debug","info","notice","warning","error","critical","alert","emergency"])),ct=h.extend({level:lt}),dt=k.extend({method:r.euz("logging/setLevel"),params:ct}),ut=_.extend({level:lt,logger:r.YjP().optional(),data:r.L5J()}),pt=w.extend({method:r.euz("notifications/message"),params:ut}),mt=r.Ikc({name:r.YjP().optional()}),ht=r.Ikc({hints:r.YOg(mt).optional(),costPriority:r.aig().min(0).max(1).optional(),speedPriority:r.aig().min(0).max(1).optional(),intelligencePriority:r.aig().min(0).max(1).optional()}),gt=r.Ikc({mode:r.k5n(["auto","required","none"]).optional()}),ft=r.Ikc({type:r.euz("tool_result"),toolUseId:r.YjP().describe("The unique identifier for the corresponding tool call."),content:r.YOg(De).default([]),structuredContent:r.Ikc({}).loose().optional(),isError:r.zMY().optional(),_meta:r.g1P(r.YjP(),r.L5J()).optional()}),kt=r.gMt("type",[Ke,Ve,Ue]),_t=r.gMt("type",[Ke,Ve,Ue,Fe,ft]),wt=r.Ikc({role:_e,content:r.KCZ([_t,r.YOg(_t)]),_meta:r.g1P(r.YjP(),r.L5J()).optional()}),yt=g.extend({messages:r.YOg(wt),modelPreferences:ht.optional(),systemPrompt:r.YjP().optional(),includeContext:r.k5n(["none","thisServer","allServers"]).optional(),temperature:r.aig().optional(),maxTokens:r.aig().int(),stopSequences:r.YOg(r.YjP()).optional(),metadata:l.optional(),tools:r.YOg(tt).optional(),toolChoice:gt.optional()}),vt=k.extend({method:r.euz("sampling/createMessage"),params:yt}),Pt=y.extend({model:r.YjP(),stopReason:r.lqM(r.k5n(["endTurn","stopSequence","maxTokens"]).or(r.YjP())),role:_e,content:kt}),It=y.extend({model:r.YjP(),stopReason:r.lqM(r.k5n(["endTurn","stopSequence","maxTokens","toolUse"]).or(r.YjP())),role:_e,content:r.KCZ([_t,r.YOg(_t)])}),Tt=r.Ikc({type:r.euz("boolean"),title:r.YjP().optional(),description:r.YjP().optional(),default:r.zMY().optional()}),bt=r.Ikc({type:r.euz("string"),title:r.YjP().optional(),description:r.YjP().optional(),minLength:r.aig().optional(),maxLength:r.aig().optional(),format:r.k5n(["email","uri","date","date-time"]).optional(),default:r.YjP().optional()}),qt=r.Ikc({type:r.k5n(["number","integer"]),title:r.YjP().optional(),description:r.YjP().optional(),minimum:r.aig().optional(),maximum:r.aig().optional(),default:r.aig().optional()}),jt=r.Ikc({type:r.euz("string"),title:r.YjP().optional(),description:r.YjP().optional(),enum:r.YOg(r.YjP()),default:r.YjP().optional()}),Yt=r.Ikc({type:r.euz("string"),title:r.YjP().optional(),description:r.YjP().optional(),oneOf:r.YOg(r.Ikc({const:r.YjP(),title:r.YjP()})),default:r.YjP().optional()}),St=r.Ikc({type:r.euz("string"),title:r.YjP().optional(),description:r.YjP().optional(),enum:r.YOg(r.YjP()),enumNames:r.YOg(r.YjP()).optional(),default:r.YjP().optional()}),Rt=r.KCZ([jt,Yt]),Ct=r.Ikc({type:r.euz("array"),title:r.YjP().optional(),description:r.YjP().optional(),minItems:r.aig().optional(),maxItems:r.aig().optional(),items:r.Ikc({type:r.euz("string"),enum:r.YOg(r.YjP())}),default:r.YOg(r.YjP()).optional()}),Et=r.Ikc({type:r.euz("array"),title:r.YjP().optional(),description:r.YjP().optional(),minItems:r.aig().optional(),maxItems:r.aig().optional(),items:r.Ikc({anyOf:r.YOg(r.Ikc({const:r.YjP(),title:r.YjP()}))}),default:r.YOg(r.YjP()).optional()}),xt=r.KCZ([Ct,Et]),Ht=r.KCZ([St,Rt,xt]),Ot=r.KCZ([Ht,Tt,bt,qt]),zt=g.extend({mode:r.euz("form").optional(),message:r.YjP(),requestedSchema:r.Ikc({type:r.euz("object"),properties:r.g1P(r.YjP(),Ot),required:r.YOg(r.YjP()).optional()})}),Mt=g.extend({mode:r.euz("url"),message:r.YjP(),elicitationId:r.YjP(),url:r.YjP().url()}),$t=r.KCZ([zt,Mt]),Nt=k.extend({method:r.euz("elicitation/create"),params:$t}),Lt=_.extend({elicitationId:r.YjP()}),At=w.extend({method:r.euz("notifications/elicitation/complete"),params:Lt}),Zt=y.extend({action:r.k5n(["accept","decline","cancel"]),content:r.vkY(e=>null===e?void 0:e,r.g1P(r.YjP(),r.KCZ([r.YjP(),r.aig(),r.zMY(),r.YOg(r.YjP())])).optional())}),Kt=r.Ikc({type:r.euz("ref/resource"),uri:r.YjP()}),Vt=r.Ikc({type:r.euz("ref/prompt"),name:r.YjP()}),Ut=h.extend({ref:r.KCZ([Vt,Kt]),argument:r.Ikc({name:r.YjP(),value:r.YjP()}),context:r.Ikc({arguments:r.g1P(r.YjP(),r.YjP()).optional()}).optional()}),Ft=k.extend({method:r.euz("completion/complete"),params:Ut});function Jt(e){if("ref/prompt"!==e.params.ref.type)throw new TypeError(`Expected CompleteRequestPrompt, but got ${e.params.ref.type}`)}function Qt(e){if("ref/resource"!==e.params.ref.type)throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${e.params.ref.type}`)}const Dt=y.extend({completion:r._H3({values:r.YOg(r.YjP()).max(100),total:r.lqM(r.aig().int()),hasMore:r.lqM(r.zMY())})}),Wt=r.Ikc({uri:r.YjP().startsWith("file://"),name:r.YjP().optional(),_meta:r.g1P(r.YjP(),r.L5J()).optional()}),Gt=k.extend({method:r.euz("roots/list"),params:h.optional()}),Xt=y.extend({roots:r.YOg(Wt)}),Bt=w.extend({method:r.euz("notifications/roots/list_changed"),params:_.optional()});r.KCZ([D,U,Ft,dt,Ze,Ne,Pe,Te,Ye,Ee,He,it,st,ne,ce,de,pe]),r.KCZ([H,X,Q,Bt,ie]),r.KCZ([E,Pt,It,Zt,Xt,le,ue,ae]),r.KCZ([D,vt,Nt,Gt,ne,ce,de,pe]),r.KCZ([H,X,pt,ze,Re,nt,Xe,ie,At]),r.KCZ([E,J,Dt,Ge,Le,Ie,be,Se,at,rt,le,ue,ae]);class es extends Error{constructor(e,t,s){super(`MCP error ${e}: ${t}`),this.code=e,this.data=s,this.name="McpError"}static fromError(e,t,s){return e===Y.UrlElicitationRequired&&s&&s.elicitations?new ts(s.elicitations,t):new es(e,t,s)}}class ts extends es{constructor(e,t=`URL elicitation${e.length>1?"s":""} required`){super(Y.UrlElicitationRequired,t,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}}}}]);