File: /home/deshuvsd/www/wp-content/plugins/surerank/build/vendor-b47fabce/index.js
"use strict";(globalThis.webpackChunksurerank=globalThis.webpackChunksurerank||[]).push([[9526],{12502:(e,t,s)=>{s.d(t,{_:()=>et});var r=s(5281);const i="2025-06-18",o=[i,"2025-03-26","2024-11-05","2024-10-07"],a="2.0",n=r.KC([r.Yj(),r.ai().int()]),l=r.Yj(),d=r.Ik({progressToken:r.lq(n)}).passthrough(),u=r.Ik({_meta:r.lq(d)}).passthrough(),c=r.Ik({method:r.Yj(),params:r.lq(u)}),p=r.Ik({_meta:r.lq(r.Ik({}).passthrough())}).passthrough(),h=r.Ik({method:r.Yj(),params:r.lq(p)}),m=r.Ik({_meta:r.lq(r.Ik({}).passthrough())}).passthrough(),g=r.KC([r.Yj(),r.ai().int()]),f=r.Ik({jsonrpc:r.eu(a),id:g}).merge(c).strict(),v=r.Ik({jsonrpc:r.eu(a)}).merge(h).strict(),_=r.Ik({jsonrpc:r.eu(a),id:g,result:m}).strict(),q=e=>_.safeParse(e).success;var b;!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"}(b||(b={}));const I=r.Ik({jsonrpc:r.eu(a),id:g,error:r.Ik({code:r.ai().int(),message:r.Yj(),data:r.lq(r.L5())})}).strict(),w=(r.KC([f,v,_,I]),m.strict()),k=h.extend({method:r.eu("notifications/cancelled"),params:p.extend({requestId:g,reason:r.Yj().optional()})}),y=r.Ik({src:r.Yj(),mimeType:r.lq(r.Yj()),sizes:r.lq(r.YO(r.Yj()))}).passthrough(),R=r.Ik({icons:r.YO(y).optional()}).passthrough(),C=r.Ik({name:r.Yj(),title:r.lq(r.Yj())}).passthrough(),j=C.extend({version:r.Yj(),websiteUrl:r.lq(r.Yj())}).merge(R),T=r.Ik({experimental:r.lq(r.Ik({}).passthrough()),sampling:r.lq(r.Ik({}).passthrough()),elicitation:r.lq(r.Ik({}).passthrough()),roots:r.lq(r.Ik({listChanged:r.lq(r.zM())}).passthrough())}).passthrough(),Y=c.extend({method:r.eu("initialize"),params:u.extend({protocolVersion:r.Yj(),capabilities:T,clientInfo:j})}),x=r.Ik({experimental:r.lq(r.Ik({}).passthrough()),logging:r.lq(r.Ik({}).passthrough()),completions:r.lq(r.Ik({}).passthrough()),prompts:r.lq(r.Ik({listChanged:r.lq(r.zM())}).passthrough()),resources:r.lq(r.Ik({subscribe:r.lq(r.zM()),listChanged:r.lq(r.zM())}).passthrough()),tools:r.lq(r.Ik({listChanged:r.lq(r.zM())}).passthrough())}).passthrough(),H=m.extend({protocolVersion:r.Yj(),capabilities:x,serverInfo:j,instructions:r.lq(r.Yj())}),P=h.extend({method:r.eu("notifications/initialized")}),S=c.extend({method:r.eu("ping")}),E=r.Ik({progress:r.ai(),total:r.lq(r.ai()),message:r.lq(r.Yj())}).passthrough(),M=h.extend({method:r.eu("notifications/progress"),params:p.merge(E).extend({progressToken:n})}),$=c.extend({params:u.extend({cursor:r.lq(l)}).optional()}),L=m.extend({nextCursor:r.lq(l)}),O=r.Ik({uri:r.Yj(),mimeType:r.lq(r.Yj()),_meta:r.lq(r.Ik({}).passthrough())}).passthrough(),z=O.extend({text:r.Yj()}),N=r.Yj().refine(e=>{try{return atob(e),!0}catch(t){return!1}},{message:"Invalid Base64 string"}),V=O.extend({blob:N}),K=C.extend({uri:r.Yj(),description:r.lq(r.Yj()),mimeType:r.lq(r.Yj()),_meta:r.lq(r.Ik({}).passthrough())}).merge(R),A=C.extend({uriTemplate:r.Yj(),description:r.lq(r.Yj()),mimeType:r.lq(r.Yj()),_meta:r.lq(r.Ik({}).passthrough())}).merge(R),F=$.extend({method:r.eu("resources/list")}),D=L.extend({resources:r.YO(K)}),U=$.extend({method:r.eu("resources/templates/list")}),G=L.extend({resourceTemplates:r.YO(A)}),J=c.extend({method:r.eu("resources/read"),params:u.extend({uri:r.Yj()})}),W=m.extend({contents:r.YO(r.KC([z,V]))}),B=h.extend({method:r.eu("notifications/resources/list_changed")}),Q=c.extend({method:r.eu("resources/subscribe"),params:u.extend({uri:r.Yj()})}),X=c.extend({method:r.eu("resources/unsubscribe"),params:u.extend({uri:r.Yj()})}),Z=h.extend({method:r.eu("notifications/resources/updated"),params:p.extend({uri:r.Yj()})}),ee=r.Ik({name:r.Yj(),description:r.lq(r.Yj()),required:r.lq(r.zM())}).passthrough(),te=C.extend({description:r.lq(r.Yj()),arguments:r.lq(r.YO(ee)),_meta:r.lq(r.Ik({}).passthrough())}).merge(R),se=$.extend({method:r.eu("prompts/list")}),re=L.extend({prompts:r.YO(te)}),ie=c.extend({method:r.eu("prompts/get"),params:u.extend({name:r.Yj(),arguments:r.lq(r.g1(r.Yj()))})}),oe=r.Ik({type:r.eu("text"),text:r.Yj(),_meta:r.lq(r.Ik({}).passthrough())}).passthrough(),ae=r.Ik({type:r.eu("image"),data:N,mimeType:r.Yj(),_meta:r.lq(r.Ik({}).passthrough())}).passthrough(),ne=r.Ik({type:r.eu("audio"),data:N,mimeType:r.Yj(),_meta:r.lq(r.Ik({}).passthrough())}).passthrough(),le=r.Ik({type:r.eu("resource"),resource:r.KC([z,V]),_meta:r.lq(r.Ik({}).passthrough())}).passthrough(),de=K.extend({type:r.eu("resource_link")}),ue=r.KC([oe,ae,ne,de,le]),ce=r.Ik({role:r.k5(["user","assistant"]),content:ue}).passthrough(),pe=m.extend({description:r.lq(r.Yj()),messages:r.YO(ce)}),he=h.extend({method:r.eu("notifications/prompts/list_changed")}),me=r.Ik({title:r.lq(r.Yj()),readOnlyHint:r.lq(r.zM()),destructiveHint:r.lq(r.zM()),idempotentHint:r.lq(r.zM()),openWorldHint:r.lq(r.zM())}).passthrough(),ge=C.extend({description:r.lq(r.Yj()),inputSchema:r.Ik({type:r.eu("object"),properties:r.lq(r.Ik({}).passthrough()),required:r.lq(r.YO(r.Yj()))}).passthrough(),outputSchema:r.lq(r.Ik({type:r.eu("object"),properties:r.lq(r.Ik({}).passthrough()),required:r.lq(r.YO(r.Yj()))}).passthrough()),annotations:r.lq(me),_meta:r.lq(r.Ik({}).passthrough())}).merge(R),fe=$.extend({method:r.eu("tools/list")}),ve=L.extend({tools:r.YO(ge)}),_e=m.extend({content:r.YO(ue).default([]),structuredContent:r.Ik({}).passthrough().optional(),isError:r.lq(r.zM())}),qe=(_e.or(m.extend({toolResult:r.L5()})),c.extend({method:r.eu("tools/call"),params:u.extend({name:r.Yj(),arguments:r.lq(r.g1(r.L5()))})})),be=h.extend({method:r.eu("notifications/tools/list_changed")}),Ie=r.k5(["debug","info","notice","warning","error","critical","alert","emergency"]),we=c.extend({method:r.eu("logging/setLevel"),params:u.extend({level:Ie})}),ke=h.extend({method:r.eu("notifications/message"),params:p.extend({level:Ie,logger:r.lq(r.Yj()),data:r.L5()})}),ye=r.Ik({name:r.Yj().optional()}).passthrough(),Re=r.Ik({hints:r.lq(r.YO(ye)),costPriority:r.lq(r.ai().min(0).max(1)),speedPriority:r.lq(r.ai().min(0).max(1)),intelligencePriority:r.lq(r.ai().min(0).max(1))}).passthrough(),Ce=r.Ik({role:r.k5(["user","assistant"]),content:r.KC([oe,ae,ne])}).passthrough(),je=c.extend({method:r.eu("sampling/createMessage"),params:u.extend({messages:r.YO(Ce),systemPrompt:r.lq(r.Yj()),includeContext:r.lq(r.k5(["none","thisServer","allServers"])),temperature:r.lq(r.ai()),maxTokens:r.ai().int(),stopSequences:r.lq(r.YO(r.Yj())),metadata:r.lq(r.Ik({}).passthrough()),modelPreferences:r.lq(Re)})}),Te=m.extend({model:r.Yj(),stopReason:r.lq(r.k5(["endTurn","stopSequence","maxTokens"]).or(r.Yj())),role:r.k5(["user","assistant"]),content:r.gM("type",[oe,ae,ne])}),Ye=r.Ik({type:r.eu("boolean"),title:r.lq(r.Yj()),description:r.lq(r.Yj()),default:r.lq(r.zM())}).passthrough(),xe=r.Ik({type:r.eu("string"),title:r.lq(r.Yj()),description:r.lq(r.Yj()),minLength:r.lq(r.ai()),maxLength:r.lq(r.ai()),format:r.lq(r.k5(["email","uri","date","date-time"]))}).passthrough(),He=r.Ik({type:r.k5(["number","integer"]),title:r.lq(r.Yj()),description:r.lq(r.Yj()),minimum:r.lq(r.ai()),maximum:r.lq(r.ai())}).passthrough(),Pe=r.Ik({type:r.eu("string"),title:r.lq(r.Yj()),description:r.lq(r.Yj()),enum:r.YO(r.Yj()),enumNames:r.lq(r.YO(r.Yj()))}).passthrough(),Se=r.KC([Ye,xe,He,Pe]),Ee=c.extend({method:r.eu("elicitation/create"),params:u.extend({message:r.Yj(),requestedSchema:r.Ik({type:r.eu("object"),properties:r.g1(r.Yj(),Se),required:r.lq(r.YO(r.Yj()))}).passthrough()})}),Me=m.extend({action:r.k5(["accept","decline","cancel"]),content:r.lq(r.g1(r.Yj(),r.L5()))}),$e=r.Ik({type:r.eu("ref/resource"),uri:r.Yj()}).passthrough(),Le=r.Ik({type:r.eu("ref/prompt"),name:r.Yj()}).passthrough(),Oe=c.extend({method:r.eu("completion/complete"),params:u.extend({ref:r.KC([Le,$e]),argument:r.Ik({name:r.Yj(),value:r.Yj()}).passthrough(),context:r.lq(r.Ik({arguments:r.lq(r.g1(r.Yj(),r.Yj()))}))})}),ze=m.extend({completion:r.Ik({values:r.YO(r.Yj()).max(100),total:r.lq(r.ai().int()),hasMore:r.lq(r.zM())}).passthrough()}),Ne=r.Ik({uri:r.Yj().startsWith("file://"),name:r.lq(r.Yj()),_meta:r.lq(r.Ik({}).passthrough())}).passthrough(),Ve=c.extend({method:r.eu("roots/list")}),Ke=m.extend({roots:r.YO(Ne)}),Ae=h.extend({method:r.eu("notifications/roots/list_changed")});r.KC([S,Y,Oe,we,ie,se,F,U,J,Q,X,qe,fe]),r.KC([k,M,P,Ae]),r.KC([w,Te,Me,Ke]),r.KC([S,je,Ee,Ve]),r.KC([k,M,ke,Z,B,be,he]),r.KC([w,H,ze,pe,re,D,G,W,_e,ve]);class Fe extends Error{constructor(e,t,s){super(`MCP error ${e}: ${t}`),this.code=e,this.data=s,this.name="McpError"}}class De{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.setNotificationHandler(k,e=>{const t=this._requestHandlerAbortControllers.get(e.params.requestId);null===t||void 0===t||t.abort(e.params.reason)}),this.setNotificationHandler(M,e=>{this._onprogress(e)}),this.setRequestHandler(S,e=>({}))}_setupTimeout(e,t,s,r,i=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(r,t),startTime:Date.now(),timeout:t,maxTotalTimeout:s,resetTimeoutOnProgress:i,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),new Fe(b.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){var t,s,r;this._transport=e;const i=null===(t=this.transport)||void 0===t?void 0:t.onclose;this._transport.onclose=()=>{null===i||void 0===i||i(),this._onclose()};const o=null===(s=this.transport)||void 0===s?void 0:s.onerror;this._transport.onerror=e=>{null===o||void 0===o||o(e),this._onerror(e)};const a=null===(r=this._transport)||void 0===r?void 0:r.onmessage;this._transport.onmessage=(e,t)=>{null===a||void 0===a||a(e,t),q(e)||I.safeParse(e).success?this._onresponse(e):f.safeParse(e).success?this._onrequest(e,t):v.safeParse(e).success?this._onnotification(e):this._onerror(new Error(`Unknown message type: ${JSON.stringify(e)}`))},await this._transport.start()}_onclose(){var e;const t=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._pendingDebouncedNotifications.clear(),this._transport=void 0,null===(e=this.onclose)||void 0===e||e.call(this);const s=new Fe(b.ConnectionClosed,"Connection closed");for(const r of t.values())r(s)}_onerror(e){var t;null===(t=this.onerror)||void 0===t||t.call(this,e)}_onnotification(e){var t;const s=null!==(t=this._notificationHandlers.get(e.method))&&void 0!==t?t:this.fallbackNotificationHandler;void 0!==s&&Promise.resolve().then(()=>s(e)).catch(e=>this._onerror(new Error(`Uncaught error in notification handler: ${e}`)))}_onrequest(e,t){var s,r;const i=null!==(s=this._requestHandlers.get(e.method))&&void 0!==s?s:this.fallbackRequestHandler,o=this._transport;if(void 0===i)return void(null===o||void 0===o||o.send({jsonrpc:"2.0",id:e.id,error:{code:b.MethodNotFound,message:"Method not found"}}).catch(e=>this._onerror(new Error(`Failed to send an error response: ${e}`))));const a=new AbortController;this._requestHandlerAbortControllers.set(e.id,a);const n={signal:a.signal,sessionId:null===o||void 0===o?void 0:o.sessionId,_meta:null===(r=e.params)||void 0===r?void 0:r._meta,sendNotification:t=>this.notification(t,{relatedRequestId:e.id}),sendRequest:(t,s,r)=>this.request(t,s,{...r,relatedRequestId:e.id}),authInfo:null===t||void 0===t?void 0:t.authInfo,requestId:e.id,requestInfo:null===t||void 0===t?void 0:t.requestInfo};Promise.resolve().then(()=>i(e,n)).then(t=>{if(!a.signal.aborted)return null===o||void 0===o?void 0:o.send({result:t,jsonrpc:"2.0",id:e.id})},t=>{var s;if(!a.signal.aborted)return null===o||void 0===o?void 0:o.send({jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(t.code)?t.code:b.InternalError,message:null!==(s=t.message)&&void 0!==s?s:"Internal error"}})}).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),i=this._progressHandlers.get(r);if(!i)return void this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));const o=this._responseHandlers.get(r),a=this._timeoutInfo.get(r);if(a&&o&&a.resetTimeoutOnProgress)try{this._resetTimeout(r)}catch(n){return void o(n)}i(s)}_onresponse(e){const t=Number(e.id),s=this._responseHandlers.get(t);void 0!==s?(this._responseHandlers.delete(t),this._progressHandlers.delete(t),this._cleanupTimeout(t),q(e)?s(e):s(new Fe(e.error.code,e.error.message,e.error.data))):this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`))}get transport(){return this._transport}async close(){var e;await(null===(e=this._transport)||void 0===e?void 0:e.close())}request(e,t,s){const{relatedRequestId:r,resumptionToken:i,onresumptiontoken:o}=null!==s&&void 0!==s?s:{};return new Promise((a,n)=>{var l,d,u,c,p,h;if(!this._transport)return void n(new Error("Not connected"));!0===(null===(l=this._options)||void 0===l?void 0:l.enforceStrictCapabilities)&&this.assertCapabilityForMethod(e.method),null===(d=null===s||void 0===s?void 0:s.signal)||void 0===d||d.throwIfAborted();const m=this._requestMessageId++,g={...e,jsonrpc:"2.0",id:m};(null===s||void 0===s?void 0:s.onprogress)&&(this._progressHandlers.set(m,s.onprogress),g.params={...e.params,_meta:{...(null===(u=e.params)||void 0===u?void 0:u._meta)||{},progressToken:m}});const f=e=>{var t;this._responseHandlers.delete(m),this._progressHandlers.delete(m),this._cleanupTimeout(m),null===(t=this._transport)||void 0===t||t.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:m,reason:String(e)}},{relatedRequestId:r,resumptionToken:i,onresumptiontoken:o}).catch(e=>this._onerror(new Error(`Failed to send cancellation: ${e}`))),n(e)};this._responseHandlers.set(m,e=>{var r;if(!(null===(r=null===s||void 0===s?void 0:s.signal)||void 0===r?void 0:r.aborted)){if(e instanceof Error)return n(e);try{const s=t.parse(e.result);a(s)}catch(i){n(i)}}}),null===(c=null===s||void 0===s?void 0:s.signal)||void 0===c||c.addEventListener("abort",()=>{var e;f(null===(e=null===s||void 0===s?void 0:s.signal)||void 0===e?void 0:e.reason)});const v=null!==(p=null===s||void 0===s?void 0:s.timeout)&&void 0!==p?p:6e4;this._setupTimeout(m,v,null===s||void 0===s?void 0:s.maxTotalTimeout,()=>f(new Fe(b.RequestTimeout,"Request timed out",{timeout:v})),null!==(h=null===s||void 0===s?void 0:s.resetTimeoutOnProgress)&&void 0!==h&&h),this._transport.send(g,{relatedRequestId:r,resumptionToken:i,onresumptiontoken:o}).catch(e=>{this._cleanupTimeout(m),n(e)})})}async notification(e,t){var s,r;if(!this._transport)throw new Error("Not connected");if(this.assertNotificationCapability(e.method),(null!==(r=null===(s=this._options)||void 0===s?void 0:s.debouncedNotificationMethods)&&void 0!==r?r:[]).includes(e.method)&&!e.params&&!(null===t||void 0===t?void 0:t.relatedRequestId)){if(this._pendingDebouncedNotifications.has(e.method))return;return this._pendingDebouncedNotifications.add(e.method),void Promise.resolve().then(()=>{var s;if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;const r={...e,jsonrpc:"2.0"};null===(s=this._transport)||void 0===s||s.send(r,t).catch(e=>this._onerror(e))})}const i={...e,jsonrpc:"2.0"};await this._transport.send(i,t)}setRequestHandler(e,t){const s=e.shape.method.value;this.assertRequestHandlerCapability(s),this._requestHandlers.set(s,(s,r)=>Promise.resolve(t(e.parse(s),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){this._notificationHandlers.set(e.shape.method.value,s=>Promise.resolve(t(e.parse(s))))}removeNotificationHandler(e){this._notificationHandlers.delete(e)}}var Ue=s(63282),Ge=s(68182);class Je{constructor(e){this._ajv=null!==e&&void 0!==e?e:function(){const e=new Ue.Ajv({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return Ge(e),e}()}getValidator(e){var t;const s="$id"in e&&"string"===typeof e.$id&&null!==(t=this._ajv.getSchema(e.$id))&&void 0!==t?t:this._ajv.compile(e);return e=>s(e)?{valid:!0,data:e,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(s.errors)}}}class We extends De{constructor(e,t){var s,r;super(t),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Ie.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=null!==(s=null===t||void 0===t?void 0:t.capabilities)&&void 0!==s?s:{},this._instructions=null===t||void 0===t?void 0:t.instructions,this._jsonSchemaValidator=null!==(r=null===t||void 0===t?void 0:t.jsonSchemaValidator)&&void 0!==r?r:new Je,this.setRequestHandler(Y,e=>this._oninitialize(e)),this.setNotificationHandler(P,()=>{var e;return null===(e=this.oninitialized)||void 0===e?void 0:e.call(this)}),this._capabilities.logging&&this.setRequestHandler(we,async(e,t)=>{var s;const r=t.sessionId||(null===(s=t.requestInfo)||void 0===s?void 0:s.headers["mcp-session-id"])||void 0,{level:i}=e.params,o=Ie.safeParse(i);return o.success&&this._loggingLevels.set(r,o.data),{}})}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");var t;this._capabilities=(t=this._capabilities,Object.entries(e).reduce((e,[t,s])=>(e[t]=s&&"object"===typeof s&&e[t]?{...e[t],...s}:s,e),{...t}))}assertCapabilityForMethod(e){var t,s,r;switch(e){case"sampling/createMessage":if(!(null===(t=this._clientCapabilities)||void 0===t?void 0:t.sampling))throw new Error(`Client does not support sampling (required for ${e})`);break;case"elicitation/create":if(!(null===(s=this._clientCapabilities)||void 0===s?void 0:s.elicitation))throw new Error(`Client does not support elicitation (required for ${e})`);break;case"roots/list":if(!(null===(r=this._clientCapabilities)||void 0===r?void 0:r.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})`)}}assertRequestHandlerCapability(e){switch(e){case"sampling/createMessage":if(!this._capabilities.sampling)throw new Error(`Server does not support sampling (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})`)}}async _oninitialize(e){const t=e.params.protocolVersion;return this._clientCapabilities=e.params.capabilities,this._clientVersion=e.params.clientInfo,{protocolVersion:o.includes(t)?t:i,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"},w)}async createMessage(e,t){return this.request({method:"sampling/createMessage",params:e},Te,t)}async elicitInput(e,t){const s=await this.request({method:"elicitation/create",params:e},Me,t);if("accept"===s.action&&s.content&&e.requestedSchema)try{const t=this._jsonSchemaValidator.getValidator(e.requestedSchema)(s.content);if(!t.valid)throw new Fe(b.InvalidParams,`Elicitation response content does not match requested schema: ${t.errorMessage}`)}catch(r){if(r instanceof Fe)throw r;throw new Fe(b.InternalError,`Error validating elicitation response: ${r instanceof Error?r.message:String(r)}`)}return s}async listRoots(e,t){return this.request({method:"roots/list",params:e},Ke,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"})}}var Be,Qe=s(64146);!function(e){e.Completable="McpCompletable"}(Be||(Be={}));class Xe extends r.aR{_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.type._parse({data:t.data,path:t.path,parent:t})}unwrap(){return this._def.type}}function Ze(e){if(!e)return{};const{errorMap:t,invalid_type_error:s,required_error:r,description:i}=e;if(t&&(s||r))throw new Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');return t?{errorMap:t,description:i}:{errorMap:(t,i)=>{var o,a;const{message:n}=e;return"invalid_enum_value"===t.code?{message:null!==n&&void 0!==n?n:i.defaultError}:"undefined"===typeof i.data?{message:null!==(o=null!==n&&void 0!==n?n:r)&&void 0!==o?o:i.defaultError}:"invalid_type"!==t.code?{message:i.defaultError}:{message:null!==(a=null!==n&&void 0!==n?n:s)&&void 0!==a?a:i.defaultError}},description:i}}Xe.create=(e,t)=>new Xe({type:e,typeName:Be.Completable,complete:t.complete,...Ze(t)});class et{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 We(e,t)}async connect(e){return await this.server.connect(e)}async close(){await this.server.close()}setToolRequestHandlers(){this._toolHandlersInitialized||(this.server.assertCanSetRequestHandler(fe.shape.method.value),this.server.assertCanSetRequestHandler(qe.shape.method.value),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(fe,()=>({tools:Object.entries(this._registeredTools).filter(([,e])=>e.enabled).map(([e,t])=>{const s={name:e,title:t.title,description:t.description,inputSchema:t.inputSchema?(0,Qe.Ik)(t.inputSchema,{strictUnions:!0,pipeStrategy:"input"}):tt,annotations:t.annotations,_meta:t._meta};return t.outputSchema&&(s.outputSchema=(0,Qe.Ik)(t.outputSchema,{strictUnions:!0,pipeStrategy:"output"})),s})})),this.server.setRequestHandler(qe,async(e,t)=>{const s=this._registeredTools[e.params.name];let r;try{if(!s)throw new Fe(b.InvalidParams,`Tool ${e.params.name} not found`);if(!s.enabled)throw new Fe(b.InvalidParams,`Tool ${e.params.name} disabled`);if(s.inputSchema){const i=s.callback,o=await s.inputSchema.safeParseAsync(e.params.arguments);if(!o.success)throw new Fe(b.InvalidParams,`Input validation error: Invalid arguments for tool ${e.params.name}: ${o.error.message}`);const a=o.data;r=await Promise.resolve(i(a,t))}else{const e=s.callback;r=await Promise.resolve(e(t))}if(s.outputSchema&&!r.isError){if(!r.structuredContent)throw new Fe(b.InvalidParams,`Output validation error: Tool ${e.params.name} has an output schema but no structured content was provided`);const t=await s.outputSchema.safeParseAsync(r.structuredContent);if(!t.success)throw new Fe(b.InvalidParams,`Output validation error: Invalid structured content for tool ${e.params.name}: ${t.error.message}`)}}catch(i){return this.createToolError(i instanceof Error?i.message:String(i))}return r}),this._toolHandlersInitialized=!0)}createToolError(e){return{content:[{type:"text",text:e}],isError:!0}}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(Oe.shape.method.value),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(Oe,async e=>{switch(e.params.ref.type){case"ref/prompt":return this.handlePromptCompletion(e,e.params.ref);case"ref/resource":return this.handleResourceCompletion(e,e.params.ref);default:throw new Fe(b.InvalidParams,`Invalid completion reference: ${e.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(e,t){const s=this._registeredPrompts[t.name];if(!s)throw new Fe(b.InvalidParams,`Prompt ${t.name} not found`);if(!s.enabled)throw new Fe(b.InvalidParams,`Prompt ${t.name} disabled`);if(!s.argsSchema)return ot;const r=s.argsSchema.shape[e.params.argument.name];if(!(r instanceof Xe))return ot;const i=r._def;return it(await i.complete(e.params.argument.value,e.params.context))}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 ot;throw new Fe(b.InvalidParams,`Resource template ${e.params.ref.uri} not found`)}const r=s.resourceTemplate.completeCallback(e.params.argument.name);return r?it(await r(e.params.argument.value,e.params.context)):ot}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(F.shape.method.value),this.server.assertCanSetRequestHandler(U.shape.method.value),this.server.assertCanSetRequestHandler(J.shape.method.value),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(F,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 i of Object.values(this._registeredResourceTemplates)){if(!i.resourceTemplate.listCallback)continue;const e=await i.resourceTemplate.listCallback(t);for(const t of e.resources)r.push({...i.metadata,...t})}return{resources:[...s,...r]}}),this.server.setRequestHandler(U,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([e,t])=>({name:e,uriTemplate:t.resourceTemplate.uriTemplate.toString(),...t.metadata}))})),this.server.setRequestHandler(J,async(e,t)=>{const s=new URL(e.params.uri),r=this._registeredResources[s.toString()];if(r){if(!r.enabled)throw new Fe(b.InvalidParams,`Resource ${s} disabled`);return r.readCallback(s,t)}for(const i of Object.values(this._registeredResourceTemplates)){const e=i.resourceTemplate.uriTemplate.match(s.toString());if(e)return i.readCallback(s,e,t)}throw new Fe(b.InvalidParams,`Resource ${s} not found`)}),this.setCompletionRequestHandler(),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(se.shape.method.value),this.server.assertCanSetRequestHandler(ie.shape.method.value),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(se,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,e])=>e.enabled).map(([e,t])=>{return{name:e,title:t.title,description:t.description,arguments:t.argsSchema?(s=t.argsSchema,Object.entries(s.shape).map(([e,t])=>({name:e,description:t.description,required:!t.isOptional()}))):void 0};var s})})),this.server.setRequestHandler(ie,async(e,t)=>{const s=this._registeredPrompts[e.params.name];if(!s)throw new Fe(b.InvalidParams,`Prompt ${e.params.name} not found`);if(!s.enabled)throw new Fe(b.InvalidParams,`Prompt ${e.params.name} disabled`);if(s.argsSchema){const r=await s.argsSchema.safeParseAsync(e.params.arguments);if(!r.success)throw new Fe(b.InvalidParams,`Invalid arguments for prompt ${e.params.name}: ${r.error.message}`);const i=r.data,o=s.callback;return await Promise.resolve(o(i,t))}{const e=s.callback;return await Promise.resolve(e(t))}}),this.setCompletionRequestHandler(),this._promptHandlersInitialized=!0)}resource(e,t,...s){let r;"object"===typeof s[0]&&(r=s.shift());const i=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,i);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,i);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 i=this._createRegisteredResource(e,s.title,t,s,r);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}{if(this._registeredResourceTemplates[e])throw new Error(`Resource template ${e} is already registered`);const i=this._createRegisteredResourceTemplate(e,s.title,t,s,r);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}}_createRegisteredResource(e,t,s,r,i){const o={name:e,title:t,metadata:r,readCallback:i,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,i){const o={resourceTemplate:s,title:t,metadata:r,readCallback:i,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()}};return this._registeredResourceTemplates[e]=o,o}_createRegisteredPrompt(e,t,s,i,o){const a={title:t,description:s,argsSchema:void 0===i?void 0:r.Ik(i),callback:o,enabled:!0,disable:()=>a.update({enabled:!1}),enable:()=>a.update({enabled:!0}),remove:()=>a.update({name:null}),update:t=>{"undefined"!==typeof t.name&&t.name!==e&&(delete this._registeredPrompts[e],t.name&&(this._registeredPrompts[t.name]=a)),"undefined"!==typeof t.title&&(a.title=t.title),"undefined"!==typeof t.description&&(a.description=t.description),"undefined"!==typeof t.argsSchema&&(a.argsSchema=r.Ik(t.argsSchema)),"undefined"!==typeof t.callback&&(a.callback=t.callback),"undefined"!==typeof t.enabled&&(a.enabled=t.enabled),this.sendPromptListChanged()}};return this._registeredPrompts[e]=a,a}_createRegisteredTool(e,t,s,i,o,a,n,l){const d={title:t,description:s,inputSchema:void 0===i?void 0:r.Ik(i),outputSchema:void 0===o?void 0:r.Ik(o),annotations:a,_meta:n,callback:l,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&&(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=r.Ik(t.paramsSchema)),"undefined"!==typeof t.callback&&(d.callback=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,i;if("string"===typeof t[0]&&(s=t.shift()),t.length>1){const e=t[0];st(e)?(r=t.shift(),t.length>1&&"object"===typeof t[0]&&null!==t[0]&&!st(t[0])&&(i=t.shift())):"object"===typeof e&&null!==e&&(i=t.shift())}return this._createRegisteredTool(e,void 0,s,r,void 0,i,void 0,t[0])}registerTool(e,t,s){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);const{title:r,description:i,inputSchema:o,outputSchema:a,annotations:n,_meta:l}=t;return this._createRegisteredTool(e,r,i,o,a,n,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 i=this._createRegisteredPrompt(e,void 0,s,r,t[0]);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),i}registerPrompt(e,t,s){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);const{title:r,description:i,argsSchema:o}=t,a=this._createRegisteredPrompt(e,r,i,o,s);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),a}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 tt={type:"object",properties:{}};function st(e){return"object"===typeof e&&null!==e&&(0===Object.keys(e).length||Object.values(e).some(rt))}function rt(e){return null!==e&&"object"===typeof e&&"parse"in e&&"function"===typeof e.parse&&"safeParse"in e&&"function"===typeof e.safeParse}function it(e){return{completion:{values:e.slice(0,100),total:e.length,hasMore:e.length>100}}}const ot={completion:{values:[],hasMore:!1}}}}]);