@decocms/mesh 2.7.0 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{AlertCircle-CaSWziXY.js → AlertCircle-B2dAq06c.js} +1 -1
- package/dist/client/assets/{ArrowLeft-C60SDpN2.js → ArrowLeft-CWQSRb1b.js} +1 -1
- package/dist/client/assets/{ChevronDown-DYrAWIje.js → ChevronDown-BU6y7eLQ.js} +1 -1
- package/dist/client/assets/{Clock-9AM4S8g5.js → Clock-B1qPUqpw.js} +1 -1
- package/dist/client/assets/{Copy01-BOtwmMJy.js → Copy01-CsL0QqHN.js} +1 -1
- package/dist/client/assets/{DotsHorizontal-7SjfN6lZ.js → DotsHorizontal-1di4lQ6s.js} +1 -1
- package/dist/client/assets/{DotsVertical-BP_-eK2T.js → DotsVertical-9op94vT1.js} +1 -1
- package/dist/client/assets/{File06-B3qh7Ea8.js → File06-DbbgM7SR.js} +1 -1
- package/dist/client/assets/{FilterLines-Bt7sP2Ln.js → FilterLines-DxMgtCL7.js} +1 -1
- package/dist/client/assets/{FlipBackward-D4n1zrEs.js → FlipBackward-CS7FawYN.js} +1 -1
- package/dist/client/assets/{GitBranch01-LrMvLleM.js → GitBranch01-uE3z3rAD.js} +1 -1
- package/dist/client/assets/{Grid01-Bt5T8Kvn.js → Grid01-Dwoh6lCE.js} +1 -1
- package/dist/client/assets/{Inbox01-B9Rg6DmE.js → Inbox01-CUrABYiy.js} +1 -1
- package/dist/client/assets/{InfoCircle-ByoMVITX.js → InfoCircle-DEpXi1Fc.js} +1 -1
- package/dist/client/assets/{Key01-VE6cE4ge.js → Key01-Bnnt_Pdk.js} +1 -1
- package/dist/client/assets/{LinkExternal01-DQ7LiU13.js → LinkExternal01-Bz11uM9g.js} +1 -1
- package/dist/client/assets/{Loading01-DU_er3oJ.js → Loading01-CmTcOwfq.js} +1 -1
- package/dist/client/assets/{Lock01-w8OXtDqR.js → Lock01-q-QUlS0V.js} +1 -1
- package/dist/client/assets/{Play-6JV_6CG8.js → Play-ILGQovf4.js} +1 -1
- package/dist/client/assets/{Plus-BZfgyBux.js → Plus-BcdOvvPT.js} +1 -1
- package/dist/client/assets/{Terminal-DMx2ygGG.js → Terminal-iirpYp0d.js} +1 -1
- package/dist/client/assets/{Trash01-Dvb7krv8.js → Trash01-C93YdvQb.js} +1 -1
- package/dist/client/assets/{X-DoVCUrhK.js → X-CLSw66ef.js} +1 -1
- package/dist/client/assets/{XClose-C1ZaoDkv.js → XClose-BrCUJyWs.js} +1 -1
- package/dist/client/assets/{alert-dialog-CLLIrm4F.js → alert-dialog-CA8T_-Rn.js} +2 -2
- package/dist/client/assets/{auth-CgxcLwue.js → auth-DeT7Ktpq.js} +1 -1
- package/dist/client/assets/{auth-catchall-BkCa4_aN.js → auth-catchall-DYSe5DV5.js} +1 -1
- package/dist/client/assets/{avatar-CzWl5S-m.js → avatar--fqj4BCN.js} +1 -1
- package/dist/client/assets/{badge-Bbeqjlvl.js → badge-hmzF3-xk.js} +1 -1
- package/dist/client/assets/{card-DDRZjhLd.js → card-C3aP-ejP.js} +1 -1
- package/dist/client/assets/{checkbox-CdriYHbe.js → checkbox-c_ykomYU.js} +1 -1
- package/dist/client/assets/{collection-detail-BizUvdqx.js → collection-detail-CasOnunA.js} +1 -1
- package/dist/client/assets/{collection-display-button-GYzwE1Yk.js → collection-display-button-b7SObybn.js} +1 -1
- package/dist/client/assets/{collection-header-Dgpak6RG.js → collection-header-B3Jt61xn.js} +1 -1
- package/dist/client/assets/{collection-page-DsXQH-Im.js → collection-page-CqUjhfoV.js} +1 -1
- package/dist/client/assets/{collection-search-BLCr2u4s.js → collection-search-PnVPlzZu.js} +1 -1
- package/dist/client/assets/{collection-tab-B94jr-UP.js → collection-tab-Dk4Apkeg.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-lPNgMir7.js → collection-table-wrapper-BVBBrPOP.js} +1 -1
- package/dist/client/assets/{connection-card-ChEaWCU7.js → connection-card-5ZvhGFPT.js} +1 -1
- package/dist/client/assets/{connection-detail-BdAq7uXe.js → connection-detail-C-HTkepe.js} +1 -1
- package/dist/client/assets/{connections-eTByBVoM.js → connections-Duq1D_4e.js} +1 -1
- package/dist/client/assets/constants-87fSD6r4.js +1 -0
- package/dist/client/assets/{create-organization-dialog-BkLQZAga.js → create-organization-dialog-BixaIbqV.js} +1 -1
- package/dist/client/assets/{dialog-CjOzZCyT.js → dialog-C-g69lq1.js} +1 -1
- package/dist/client/assets/{dropdown-menu-FKTXuLg3.js → dropdown-menu-fG7Rkw6U.js} +1 -1
- package/dist/client/assets/{empty-state-Dg_1FyPv.js → empty-state-BBfQy1Un.js} +1 -1
- package/dist/client/assets/{env-vars-editor-DILQqQln.js → env-vars-editor-CsD--p15.js} +1 -1
- package/dist/client/assets/{error-boundary-DF-uZuEV.js → error-boundary-DXSB-Bgq.js} +1 -1
- package/dist/client/assets/{extract-connection-data-BorCHusn.js → extract-connection-data-2li6GDdh.js} +1 -1
- package/dist/client/assets/{form-B-vcq0Ib.js → form-DuculgP9.js} +1 -1
- package/dist/client/assets/{gateway-detail-Dd3TUg5f.js → gateway-detail-9NsPRwgB.js} +1 -1
- package/dist/client/assets/{gateways-CQnn2_8x.js → gateways-B3dYUMuh.js} +1 -1
- package/dist/client/assets/{home-DqPSvVQ4.js → home-n4eDoblp.js} +1 -1
- package/dist/client/assets/{index-dJdCvohv.js → index-CWoY70ZE.js} +1 -1
- package/dist/client/assets/{index-DwHtQhMK.js → index-D7Bnom73.js} +2 -2
- package/dist/client/assets/{index-CKWTMWxC.js → index-DhkK9WY8.js} +1 -1
- package/dist/client/assets/{index-PdYB8SsR.js → index-Dq6vSGrX.js} +3 -3
- package/dist/client/assets/{input-BL_6s-Bq.js → input-CV-VH7Oi.js} +1 -1
- package/dist/client/assets/{layout-D5OcxKMp.js → layout-BvUK-2EZ.js} +1 -1
- package/dist/client/assets/{lazy-highlighter-DW141_mY.js → lazy-highlighter-ck8ZcBFo.js} +1 -1
- package/dist/client/assets/{localstorage-keys-DAcoYlkD.js → localstorage-keys-4e_ksq_V.js} +1 -1
- package/dist/client/assets/{login-BPLTUQ2o.js → login-DmGp8_xU.js} +1 -1
- package/dist/client/assets/{mcp-oauth-C_b3SC0X.js → mcp-oauth-BtaiXscO.js} +1 -1
- package/dist/client/assets/{mcp-server-detail-BFJ_9U28.js → mcp-server-detail-BYG45oHN.js} +1 -1
- package/dist/client/assets/{members-nhvM4_hF.js → members-BXXNOBqQ.js} +1 -1
- package/dist/client/assets/{monaco-editor-Fv58AQ_j.js → monaco-editor-Bgy8Xr-0.js} +1 -1
- package/dist/client/assets/{monitoring-0mZRbE8v.js → monitoring-Ba62SIch.js} +1 -1
- package/dist/client/assets/{oauth-callback-DOKfTw2N.js → oauth-callback-Bm0c29y4.js} +1 -1
- package/dist/client/assets/{page-bm876z4u.js → page-BdxdbrvZ.js} +1 -1
- package/dist/client/assets/{page-CWgyoE-b.js → page-DkuW5HtU.js} +1 -1
- package/dist/client/assets/{pin-to-sidebar-button-CaUox-8X.js → pin-to-sidebar-button-BkOnltDJ.js} +1 -1
- package/dist/client/assets/{popover-D6Sus4Ok.js → popover-PgnMGQ0J.js} +1 -1
- package/dist/client/assets/{project-context-provider-cpEbmTch.js → project-context-provider-Beernmhe.js} +1 -1
- package/dist/client/assets/{resizable-CbIgPFul.js → resizable-BAB_zpxw.js} +1 -1
- package/dist/client/assets/{resource-tabs-DsuwPs-x.js → resource-tabs-CUGIq8i2.js} +1 -1
- package/dist/client/assets/{select-JyLqSDVb.js → select-wRJ1kKq5.js} +1 -1
- package/dist/client/assets/{settings-Dod8lcbL.js → settings-BDEgiRnm.js} +1 -1
- package/dist/client/assets/{shell-layout-Boits0hC.js → shell-layout-N5bhVkUT.js} +1 -1
- package/dist/client/assets/{spinner-CzUKFN-O.js → spinner-BtdW4acf.js} +1 -1
- package/dist/client/assets/{switch-Bpj46bRm.js → switch-DlAVdlNn.js} +1 -1
- package/dist/client/assets/{textarea-S1Ffk72a.js → textarea-BBdscW6q.js} +1 -1
- package/dist/client/assets/{thread-history-popover-Do-vVWjf.js → thread-history-popover-lNQz2HnX.js} +2 -2
- package/dist/client/assets/{tools-list-BSUlyyag.js → tools-list-BLoF-JuR.js} +1 -1
- package/dist/client/assets/{use-binding-DV8L0ZvU.js → use-binding-Bia-pOkM.js} +1 -1
- package/dist/client/assets/{use-connection-resources-DYe3vNOl.js → use-connection-resources-DTFFCZ8I.js} +1 -1
- package/dist/client/assets/{use-connection-Sf8hW5yA.js → use-connection-xH-2eBrE.js} +1 -1
- package/dist/client/assets/{use-gateway-BRb-QnWG.js → use-gateway-CyTY_fTA.js} +1 -1
- package/dist/client/assets/{use-gateway-system-prompt-BCFIzB-i.js → use-gateway-system-prompt-DjYl3Unh.js} +1 -1
- package/dist/client/assets/{use-list-state-CNeFnW0c.js → use-list-state-CgX6EC5b.js} +1 -1
- package/dist/client/assets/{use-mcp-Ck8Xxjhl.js → use-mcp-B5A0DdE_.js} +1 -1
- package/dist/client/assets/{use-members-C6E9q5SL.js → use-members-BnaoGCGU.js} +1 -1
- package/dist/client/assets/{use-mobile-DmpRnaSP.js → use-mobile-D29L4T3V.js} +1 -1
- package/dist/client/assets/{use-organization-settings-CUeUwHGc.js → use-organization-settings-DZkNjK-r.js} +1 -1
- package/dist/client/assets/{use-tool-call-CFZ9HTpW.js → use-tool-call-DctUJJjo.js} +1 -1
- package/dist/client/assets/{useQueries-KKCw7uoR.js → useQueries-C9tHIFwm.js} +1 -1
- package/dist/client/assets/useQuery-CDXz5x08.js +1 -0
- package/dist/client/assets/{value-Fk3OaX_V.js → value-BfOZUxbl.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-B5QpL180.js → view-mode-toggle-DtXXjTAv.js} +1 -1
- package/dist/client/assets/{workflow-DWBbOhIt.js → workflow-x90pBYH6.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +147 -147
- package/dist/server/migrate.js +1 -1
- package/dist/server/server.js +140 -140
- package/package.json +1 -1
- package/dist/client/assets/constants-DUH_OOTp.js +0 -1
- package/dist/client/assets/useQuery-f5EeixK5.js +0 -1
package/dist/server/migrate.js
CHANGED
|
@@ -219,7 +219,7 @@ data:
|
|
|
219
219
|
`;if(Y)G+=`id: ${Y}
|
|
220
220
|
`;return G+=`data: ${JSON.stringify(J)}
|
|
221
221
|
|
|
222
|
-
`,X.enqueue(Q.encode(G)),!0}catch{return!1}}handleUnsupportedRequest(){return new Response(JSON.stringify({jsonrpc:"2.0",error:{code:-32000,message:"Method not allowed."},id:null}),{status:405,headers:{Allow:"GET, POST, DELETE","Content-Type":"application/json"}})}async handlePostRequest(X,Q){try{let J=X.headers.get("accept");if(!J?.includes("application/json")||!J.includes("text/event-stream"))return this.createJsonErrorResponse(406,-32000,"Not Acceptable: Client must accept both application/json and text/event-stream");let Y=X.headers.get("content-type");if(!Y||!Y.includes("application/json"))return this.createJsonErrorResponse(415,-32000,"Unsupported Media Type: Content-Type must be application/json");let G={headers:Object.fromEntries(X.headers.entries())},$;if(Q?.parsedBody!==void 0)$=Q.parsedBody;else try{$=await X.json()}catch{return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON")}let W;try{if(Array.isArray($))W=$.map((j)=>YJ.parse(j));else W=[YJ.parse($)]}catch{return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON-RPC message")}let H=W.some(vb);if(H){if(this._initialized&&this.sessionId!==void 0)return this.createJsonErrorResponse(400,-32600,"Invalid Request: Server already initialized");if(W.length>1)return this.createJsonErrorResponse(400,-32600,"Invalid Request: Only one initialization request is allowed");if(this.sessionId=this.sessionIdGenerator?.(),this._initialized=!0,this.sessionId&&this._onsessioninitialized)await Promise.resolve(this._onsessioninitialized(this.sessionId))}if(!H){let j=this.validateSession(X);if(j)return j;let O=this.validateProtocolVersion(X);if(O)return O}if(!W.some(LY)){for(let j of W)this.onmessage?.(j,{authInfo:Q?.authInfo,requestInfo:G});return new Response(null,{status:202})}let Z=crypto.randomUUID(),F=W.find((j)=>vb(j)),V=F?F.params.protocolVersion:X.headers.get("mcp-protocol-version")??RX0;if(this._enableJsonResponse)return new Promise((j)=>{this._streamMapping.set(Z,{resolveJson:j,cleanup:()=>{this._streamMapping.delete(Z)}});for(let O of W)if(LY(O))this._requestToStreamMapping.set(O.id,Z);for(let O of W)this.onmessage?.(O,{authInfo:Q?.authInfo,requestInfo:G})});let q=new TextEncoder,B,L=new ReadableStream({start:(j)=>{B=j},cancel:()=>{this._streamMapping.delete(Z)}}),D={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"};if(this.sessionId!==void 0)D["mcp-session-id"]=this.sessionId;for(let j of W)if(LY(j))this._streamMapping.set(Z,{controller:B,encoder:q,cleanup:()=>{this._streamMapping.delete(Z);try{B.close()}catch{}}}),this._requestToStreamMapping.set(j.id,Z);await this.writePrimingEvent(B,q,Z,V);for(let j of W){let O,T;if(LY(j)&&this._eventStore&&V>="2025-11-25")O=()=>{this.closeSSEStream(j.id)},T=()=>{this.closeStandaloneSSEStream()};this.onmessage?.(j,{authInfo:Q?.authInfo,requestInfo:G,closeSSEStream:O,closeStandaloneSSEStream:T})}return new Response(L,{status:200,headers:D})}catch(J){return this.onerror?.(J),this.createJsonErrorResponse(400,-32700,"Parse error",{data:String(J)})}}async handleDeleteRequest(X){let Q=this.validateSession(X);if(Q)return Q;let J=this.validateProtocolVersion(X);if(J)return J;return await Promise.resolve(this._onsessionclosed?.(this.sessionId)),await this.close(),new Response(null,{status:200})}validateSession(X){if(this.sessionIdGenerator===void 0)return;if(!this._initialized)return this.createJsonErrorResponse(400,-32000,"Bad Request: Server not initialized");let Q=X.headers.get("mcp-session-id");if(!Q)return this.createJsonErrorResponse(400,-32000,"Bad Request: Mcp-Session-Id header is required");if(Q!==this.sessionId)return this.createJsonErrorResponse(404,-32001,"Session not found");return}validateProtocolVersion(X){let Q=X.headers.get("mcp-protocol-version");if(Q!==null&&!dW.includes(Q))return this.createJsonErrorResponse(400,-32000,`Bad Request: Unsupported protocol version: ${Q} (supported versions: ${dW.join(", ")})`);return}async close(){this._streamMapping.forEach(({cleanup:X})=>{X()}),this._streamMapping.clear(),this._requestResponseMap.clear(),this.onclose?.()}closeSSEStream(X){let Q=this._requestToStreamMapping.get(X);if(!Q)return;let J=this._streamMapping.get(Q);if(J)J.cleanup()}closeStandaloneSSEStream(){let X=this._streamMapping.get(this._standaloneSseStreamId);if(X)X.cleanup()}async send(X,Q){let J=Q?.relatedRequestId;if(q9(X)||vK(X))J=X.id;if(J===void 0){if(q9(X)||vK(X))throw Error("Cannot send a response on a standalone SSE stream unless resuming a previous client request");let $;if(this._eventStore)$=await this._eventStore.storeEvent(this._standaloneSseStreamId,X);let W=this._streamMapping.get(this._standaloneSseStreamId);if(W===void 0)return;if(W.controller&&W.encoder)this.writeSSEEvent(W.controller,W.encoder,X,$);return}let Y=this._requestToStreamMapping.get(J);if(!Y)throw Error(`No connection established for request ID: ${String(J)}`);let G=this._streamMapping.get(Y);if(!this._enableJsonResponse&&G?.controller&&G?.encoder){let $;if(this._eventStore)$=await this._eventStore.storeEvent(Y,X);this.writeSSEEvent(G.controller,G.encoder,X,$)}if(q9(X)||vK(X)){this._requestResponseMap.set(J,X);let $=Array.from(this._requestToStreamMapping.entries()).filter(([H,K])=>K===Y).map(([H])=>H);if($.every((H)=>this._requestResponseMap.has(H))){if(!G)throw Error(`No connection established for request ID: ${String(J)}`);if(this._enableJsonResponse&&G.resolveJson){let H={"Content-Type":"application/json"};if(this.sessionId!==void 0)H["mcp-session-id"]=this.sessionId;let K=$.map((Z)=>this._requestResponseMap.get(Z));if(K.length===1)G.resolveJson(new Response(JSON.stringify(K[0]),{status:200,headers:H}));else G.resolveJson(new Response(JSON.stringify(K),{status:200,headers:H}))}else G.cleanup();for(let H of $)this._requestResponseMap.delete(H),this._requestToStreamMapping.delete(H)}}}}var I50=m(()=>{GJ()});var S50=(...X)=>{return function(J,Y){let G=($)=>{let W=X[$];if(!W)return Y();return W(J,()=>G($+1))};return G(0)}};class v50{config;tools=[];callToolMiddlewares=[];constructor(X){this.config={...X,capabilities:X.capabilities??{tools:{}}}}withTool(X){return this.tools.push(X),this}withTools(X){return this.tools.push(...X),this}callToolMiddleware(...X){return this.callToolMiddlewares.push(...X),this}build(){let X=this.callToolMiddlewares.length>0?S50(...this.callToolMiddlewares):null,Q=()=>{let J=new Rh({name:this.config.name,version:this.config.version},{capabilities:this.config.capabilities});for(let Y of this.tools){let G=async(K)=>{try{let Z=await Y.handler(K);return{content:[{type:"text",text:JSON.stringify(Z)}],structuredContent:Z}}catch(Z){return{content:[{type:"text",text:`Error: ${Z.message}`}],isError:!0}}},$=X?async(K)=>{let Z={method:"tools/call",params:{name:Y.name,arguments:K}};return await X(Z,()=>G(K))}:G,W="shape"in Y.inputSchema?Y.inputSchema.shape:N.object({}).shape,H=Y.outputSchema&&"shape"in Y.outputSchema?Y.outputSchema.shape:N.object({}).shape;J.registerTool(Y.name,{annotations:Y.annotations,description:Y.description??"",inputSchema:W,outputSchema:H},$)}return J};return{callStreamableTool:async(J,Y)=>{let G=this.tools.find((W)=>W.name===J);if(!G)throw Error(`Tool ${J} not found`);let $=await G.handler(Y);if(!($ instanceof Response))throw Error(`Tool ${J} returned a non-response`);return $},client:{listTools:async()=>{return{tools:this.tools.map((J)=>({name:J.name,description:J.description??"",inputSchema:N.toJSONSchema(J.inputSchema),outputSchema:J.outputSchema?N.toJSONSchema(J.outputSchema):void 0}))}},callTool:async(J)=>{let Y=this.tools.find((G)=>G.name===J.name);if(!Y)return{content:[{type:"text",text:"Tool not found"}]};try{let G=await Y?.handler(J.arguments??{});return{content:[{type:"text",text:JSON.stringify(G)}],structuredContent:G}}catch(G){return{content:[{type:"text",text:`Error: ${G.message}`}]}}}},fetch:async(J)=>{let Y=new Ih({enableJsonResponse:J.headers.get("Accept")?.includes("application/json")??!1});return await Q().connect(Y),await Y.handleRequest(J)}}}}function k50(X){return new v50(X)}var _50=m(()=>{R50();I50();d0()});var f50=l((b50)=>{Object.defineProperty(b50,"__esModule",{value:!0});b50._globalThis=void 0;b50._globalThis=typeof globalThis==="object"?globalThis:global});var h50=l((eW)=>{var ns0=eW&&eW.__createBinding||(Object.create?function(X,Q,J,Y){if(Y===void 0)Y=J;Object.defineProperty(X,Y,{enumerable:!0,get:function(){return Q[J]}})}:function(X,Q,J,Y){if(Y===void 0)Y=J;X[Y]=Q[J]}),is0=eW&&eW.__exportStar||function(X,Q){for(var J in X)if(J!=="default"&&!Object.prototype.hasOwnProperty.call(Q,J))ns0(Q,X,J)};Object.defineProperty(eW,"__esModule",{value:!0});is0(f50(),eW)});var g50=l((X7)=>{var rs0=X7&&X7.__createBinding||(Object.create?function(X,Q,J,Y){if(Y===void 0)Y=J;Object.defineProperty(X,Y,{enumerable:!0,get:function(){return Q[J]}})}:function(X,Q,J,Y){if(Y===void 0)Y=J;X[Y]=Q[J]}),as0=X7&&X7.__exportStar||function(X,Q){for(var J in X)if(J!=="default"&&!Object.prototype.hasOwnProperty.call(Q,J))rs0(Q,X,J)};Object.defineProperty(X7,"__esModule",{value:!0});as0(h50(),X7)});var Sh=l((x50)=>{Object.defineProperty(x50,"__esModule",{value:!0});x50.VERSION=void 0;x50.VERSION="1.9.0"});var c50=l((d50)=>{Object.defineProperty(d50,"__esModule",{value:!0});d50.isCompatible=d50._makeCompatibilityCheck=void 0;var os0=Sh(),m50=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function l50(X){let Q=new Set([X]),J=new Set,Y=X.match(m50);if(!Y)return()=>!1;let G={major:+Y[1],minor:+Y[2],patch:+Y[3],prerelease:Y[4]};if(G.prerelease!=null)return function(K){return K===X};function $(H){return J.add(H),!1}function W(H){return Q.add(H),!0}return function(K){if(Q.has(K))return!0;if(J.has(K))return!1;let Z=K.match(m50);if(!Z)return $(K);let F={major:+Z[1],minor:+Z[2],patch:+Z[3],prerelease:Z[4]};if(F.prerelease!=null)return $(K);if(G.major!==F.major)return $(K);if(G.major===0){if(G.minor===F.minor&&G.patch<=F.patch)return W(K);return $(K)}if(G.minor<=F.minor)return W(K);return $(K)}}d50._makeCompatibilityCheck=l50;d50.isCompatible=l50(os0.VERSION)});var Q7=l((n50)=>{Object.defineProperty(n50,"__esModule",{value:!0});n50.unregisterGlobal=n50.getGlobal=n50.registerGlobal=void 0;var ts0=g50(),HZ=Sh(),es0=c50(),Xt0=HZ.VERSION.split(".")[0],MU=Symbol.for(`opentelemetry.js.api.${Xt0}`),wU=ts0._globalThis;function Qt0(X,Q,J,Y=!1){var G;let $=wU[MU]=(G=wU[MU])!==null&&G!==void 0?G:{version:HZ.VERSION};if(!Y&&$[X]){let W=Error(`@opentelemetry/api: Attempted duplicate registration of API: ${X}`);return J.error(W.stack||W.message),!1}if($.version!==HZ.VERSION){let W=Error(`@opentelemetry/api: Registration of version v${$.version} for ${X} does not match previously registered API v${HZ.VERSION}`);return J.error(W.stack||W.message),!1}return $[X]=Q,J.debug(`@opentelemetry/api: Registered a global for ${X} v${HZ.VERSION}.`),!0}n50.registerGlobal=Qt0;function Jt0(X){var Q,J;let Y=(Q=wU[MU])===null||Q===void 0?void 0:Q.version;if(!Y||!(0,es0.isCompatible)(Y))return;return(J=wU[MU])===null||J===void 0?void 0:J[X]}n50.getGlobal=Jt0;function Yt0(X,Q){Q.debug(`@opentelemetry/api: Unregistering a global for ${X} v${HZ.VERSION}.`);let J=wU[MU];if(J)delete J[X]}n50.unregisterGlobal=Yt0});var s50=l((a50)=>{Object.defineProperty(a50,"__esModule",{value:!0});a50.DiagComponentLogger=void 0;var Wt0=Q7();class r50{constructor(X){this._namespace=X.namespace||"DiagComponentLogger"}debug(...X){return PU("debug",this._namespace,X)}error(...X){return PU("error",this._namespace,X)}info(...X){return PU("info",this._namespace,X)}warn(...X){return PU("warn",this._namespace,X)}verbose(...X){return PU("verbose",this._namespace,X)}}a50.DiagComponentLogger=r50;function PU(X,Q,J){let Y=(0,Wt0.getGlobal)("diag");if(!Y)return;return J.unshift(Q),Y[X](...J)}});var MP=l((t50)=>{Object.defineProperty(t50,"__esModule",{value:!0});t50.DiagLogLevel=void 0;var Ht0;(function(X){X[X.NONE=0]="NONE",X[X.ERROR=30]="ERROR",X[X.WARN=50]="WARN",X[X.INFO=60]="INFO",X[X.DEBUG=70]="DEBUG",X[X.VERBOSE=80]="VERBOSE",X[X.ALL=9999]="ALL"})(Ht0=t50.DiagLogLevel||(t50.DiagLogLevel={}))});var QW0=l((e50)=>{Object.defineProperty(e50,"__esModule",{value:!0});e50.createLogLevelDiagLogger=void 0;var PG=MP();function Kt0(X,Q){if(X<PG.DiagLogLevel.NONE)X=PG.DiagLogLevel.NONE;else if(X>PG.DiagLogLevel.ALL)X=PG.DiagLogLevel.ALL;Q=Q||{};function J(Y,G){let $=Q[Y];if(typeof $==="function"&&X>=G)return $.bind(Q);return function(){}}return{error:J("error",PG.DiagLogLevel.ERROR),warn:J("warn",PG.DiagLogLevel.WARN),info:J("info",PG.DiagLogLevel.INFO),debug:J("debug",PG.DiagLogLevel.DEBUG),verbose:J("verbose",PG.DiagLogLevel.VERBOSE)}}e50.createLogLevelDiagLogger=Kt0});var J7=l((YW0)=>{Object.defineProperty(YW0,"__esModule",{value:!0});YW0.DiagAPI=void 0;var Zt0=s50(),Ft0=QW0(),JW0=MP(),wP=Q7(),Vt0="diag";class kh{constructor(){function X(Y){return function(...G){let $=(0,wP.getGlobal)("diag");if(!$)return;return $[Y](...G)}}let Q=this,J=(Y,G={logLevel:JW0.DiagLogLevel.INFO})=>{var $,W,H;if(Y===Q){let F=Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");return Q.error(($=F.stack)!==null&&$!==void 0?$:F.message),!1}if(typeof G==="number")G={logLevel:G};let K=(0,wP.getGlobal)("diag"),Z=(0,Ft0.createLogLevelDiagLogger)((W=G.logLevel)!==null&&W!==void 0?W:JW0.DiagLogLevel.INFO,Y);if(K&&!G.suppressOverrideMessage){let F=(H=Error().stack)!==null&&H!==void 0?H:"<failed to generate stacktrace>";K.warn(`Current logger will be overwritten from ${F}`),Z.warn(`Current logger will overwrite one already registered from ${F}`)}return(0,wP.registerGlobal)("diag",Z,Q,!0)};Q.setLogger=J,Q.disable=()=>{(0,wP.unregisterGlobal)(Vt0,Q)},Q.createComponentLogger=(Y)=>{return new Zt0.DiagComponentLogger(Y)},Q.verbose=X("verbose"),Q.debug=X("debug"),Q.info=X("info"),Q.warn=X("warn"),Q.error=X("error")}static instance(){if(!this._instance)this._instance=new kh;return this._instance}}YW0.DiagAPI=kh});var HW0=l(($W0)=>{Object.defineProperty($W0,"__esModule",{value:!0});$W0.BaggageImpl=void 0;class KZ{constructor(X){this._entries=X?new Map(X):new Map}getEntry(X){let Q=this._entries.get(X);if(!Q)return;return Object.assign({},Q)}getAllEntries(){return Array.from(this._entries.entries()).map(([X,Q])=>[X,Q])}setEntry(X,Q){let J=new KZ(this._entries);return J._entries.set(X,Q),J}removeEntry(X){let Q=new KZ(this._entries);return Q._entries.delete(X),Q}removeEntries(...X){let Q=new KZ(this._entries);for(let J of X)Q._entries.delete(J);return Q}clear(){return new KZ}}$W0.BaggageImpl=KZ});var FW0=l((KW0)=>{Object.defineProperty(KW0,"__esModule",{value:!0});KW0.baggageEntryMetadataSymbol=void 0;KW0.baggageEntryMetadataSymbol=Symbol("BaggageEntryMetadata")});var _h=l((VW0)=>{Object.defineProperty(VW0,"__esModule",{value:!0});VW0.baggageEntryMetadataFromString=VW0.createBaggage=void 0;var qt0=J7(),Ut0=HW0(),zt0=FW0(),Bt0=qt0.DiagAPI.instance();function Lt0(X={}){return new Ut0.BaggageImpl(new Map(Object.entries(X)))}VW0.createBaggage=Lt0;function Dt0(X){if(typeof X!=="string")Bt0.error(`Cannot create baggage metadata from unknown type: ${typeof X}`),X="";return{__TYPE__:zt0.baggageEntryMetadataSymbol,toString(){return X}}}VW0.baggageEntryMetadataFromString=Dt0});var TU=l((UW0)=>{Object.defineProperty(UW0,"__esModule",{value:!0});UW0.ROOT_CONTEXT=UW0.createContextKey=void 0;function Nt0(X){return Symbol.for(X)}UW0.createContextKey=Nt0;class PP{constructor(X){let Q=this;Q._currentContext=X?new Map(X):new Map,Q.getValue=(J)=>Q._currentContext.get(J),Q.setValue=(J,Y)=>{let G=new PP(Q._currentContext);return G._currentContext.set(J,Y),G},Q.deleteValue=(J)=>{let Y=new PP(Q._currentContext);return Y._currentContext.delete(J),Y}}}UW0.ROOT_CONTEXT=new PP});var jW0=l((LW0)=>{Object.defineProperty(LW0,"__esModule",{value:!0});LW0.DiagConsoleLogger=void 0;var bh=[{n:"error",c:"error"},{n:"warn",c:"warn"},{n:"info",c:"info"},{n:"debug",c:"debug"},{n:"verbose",c:"trace"}];class BW0{constructor(){function X(Q){return function(...J){if(console){let Y=console[Q];if(typeof Y!=="function")Y=console.log;if(typeof Y==="function")return Y.apply(console,J)}}}for(let Q=0;Q<bh.length;Q++)this[bh[Q].n]=X(bh[Q].c)}}LW0.DiagConsoleLogger=BW0});var dh=l((NW0)=>{Object.defineProperty(NW0,"__esModule",{value:!0});NW0.createNoopMeter=NW0.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=NW0.NOOP_OBSERVABLE_GAUGE_METRIC=NW0.NOOP_OBSERVABLE_COUNTER_METRIC=NW0.NOOP_UP_DOWN_COUNTER_METRIC=NW0.NOOP_HISTOGRAM_METRIC=NW0.NOOP_GAUGE_METRIC=NW0.NOOP_COUNTER_METRIC=NW0.NOOP_METER=NW0.NoopObservableUpDownCounterMetric=NW0.NoopObservableGaugeMetric=NW0.NoopObservableCounterMetric=NW0.NoopObservableMetric=NW0.NoopHistogramMetric=NW0.NoopGaugeMetric=NW0.NoopUpDownCounterMetric=NW0.NoopCounterMetric=NW0.NoopMetric=NW0.NoopMeter=void 0;class yh{constructor(){}createGauge(X,Q){return NW0.NOOP_GAUGE_METRIC}createHistogram(X,Q){return NW0.NOOP_HISTOGRAM_METRIC}createCounter(X,Q){return NW0.NOOP_COUNTER_METRIC}createUpDownCounter(X,Q){return NW0.NOOP_UP_DOWN_COUNTER_METRIC}createObservableGauge(X,Q){return NW0.NOOP_OBSERVABLE_GAUGE_METRIC}createObservableCounter(X,Q){return NW0.NOOP_OBSERVABLE_COUNTER_METRIC}createObservableUpDownCounter(X,Q){return NW0.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC}addBatchObservableCallback(X,Q){}removeBatchObservableCallback(X){}}NW0.NoopMeter=yh;class ZZ{}NW0.NoopMetric=ZZ;class fh extends ZZ{add(X,Q){}}NW0.NoopCounterMetric=fh;class hh extends ZZ{add(X,Q){}}NW0.NoopUpDownCounterMetric=hh;class gh extends ZZ{record(X,Q){}}NW0.NoopGaugeMetric=gh;class xh extends ZZ{record(X,Q){}}NW0.NoopHistogramMetric=xh;class AU{addCallback(X){}removeCallback(X){}}NW0.NoopObservableMetric=AU;class uh extends AU{}NW0.NoopObservableCounterMetric=uh;class mh extends AU{}NW0.NoopObservableGaugeMetric=mh;class lh extends AU{}NW0.NoopObservableUpDownCounterMetric=lh;NW0.NOOP_METER=new yh;NW0.NOOP_COUNTER_METRIC=new fh;NW0.NOOP_GAUGE_METRIC=new gh;NW0.NOOP_HISTOGRAM_METRIC=new xh;NW0.NOOP_UP_DOWN_COUNTER_METRIC=new hh;NW0.NOOP_OBSERVABLE_COUNTER_METRIC=new uh;NW0.NOOP_OBSERVABLE_GAUGE_METRIC=new mh;NW0.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=new lh;function Mt0(){return NW0.NOOP_METER}NW0.createNoopMeter=Mt0});var SW0=l((IW0)=>{Object.defineProperty(IW0,"__esModule",{value:!0});IW0.ValueType=void 0;var kt0;(function(X){X[X.INT=0]="INT",X[X.DOUBLE=1]="DOUBLE"})(kt0=IW0.ValueType||(IW0.ValueType={}))});var ch=l((vW0)=>{Object.defineProperty(vW0,"__esModule",{value:!0});vW0.defaultTextMapSetter=vW0.defaultTextMapGetter=void 0;vW0.defaultTextMapGetter={get(X,Q){if(X==null)return;return X[Q]},keys(X){if(X==null)return[];return Object.keys(X)}};vW0.defaultTextMapSetter={set(X,Q,J){if(X==null)return;X[Q]=J}}});var fW0=l((bW0)=>{Object.defineProperty(bW0,"__esModule",{value:!0});bW0.NoopContextManager=void 0;var bt0=TU();class _W0{active(){return bt0.ROOT_CONTEXT}with(X,Q,J,...Y){return Q.call(J,...Y)}bind(X,Q){return Q}enable(){return this}disable(){return this}}bW0.NoopContextManager=_W0});var EU=l((gW0)=>{Object.defineProperty(gW0,"__esModule",{value:!0});gW0.ContextAPI=void 0;var yt0=fW0(),nh=Q7(),hW0=J7(),ih="context",ft0=new yt0.NoopContextManager;class rh{constructor(){}static getInstance(){if(!this._instance)this._instance=new rh;return this._instance}setGlobalContextManager(X){return(0,nh.registerGlobal)(ih,X,hW0.DiagAPI.instance())}active(){return this._getContextManager().active()}with(X,Q,J,...Y){return this._getContextManager().with(X,Q,J,...Y)}bind(X,Q){return this._getContextManager().bind(X,Q)}_getContextManager(){return(0,nh.getGlobal)(ih)||ft0}disable(){this._getContextManager().disable(),(0,nh.unregisterGlobal)(ih,hW0.DiagAPI.instance())}}gW0.ContextAPI=rh});var oh=l((uW0)=>{Object.defineProperty(uW0,"__esModule",{value:!0});uW0.TraceFlags=void 0;var ht0;(function(X){X[X.NONE=0]="NONE",X[X.SAMPLED=1]="SAMPLED"})(ht0=uW0.TraceFlags||(uW0.TraceFlags={}))});var TP=l((mW0)=>{Object.defineProperty(mW0,"__esModule",{value:!0});mW0.INVALID_SPAN_CONTEXT=mW0.INVALID_TRACEID=mW0.INVALID_SPANID=void 0;var gt0=oh();mW0.INVALID_SPANID="0000000000000000";mW0.INVALID_TRACEID="00000000000000000000000000000000";mW0.INVALID_SPAN_CONTEXT={traceId:mW0.INVALID_TRACEID,spanId:mW0.INVALID_SPANID,traceFlags:gt0.TraceFlags.NONE}});var AP=l((nW0)=>{Object.defineProperty(nW0,"__esModule",{value:!0});nW0.NonRecordingSpan=void 0;var xt0=TP();class cW0{constructor(X=xt0.INVALID_SPAN_CONTEXT){this._spanContext=X}spanContext(){return this._spanContext}setAttribute(X,Q){return this}setAttributes(X){return this}addEvent(X,Q){return this}addLink(X){return this}addLinks(X){return this}setStatus(X){return this}updateName(X){return this}end(X){}isRecording(){return!1}recordException(X,Q){}}nW0.NonRecordingSpan=cW0});var eh=l((aW0)=>{Object.defineProperty(aW0,"__esModule",{value:!0});aW0.getSpanContext=aW0.setSpanContext=aW0.deleteSpan=aW0.setSpan=aW0.getActiveSpan=aW0.getSpan=void 0;var ut0=TU(),mt0=AP(),lt0=EU(),sh=(0,ut0.createContextKey)("OpenTelemetry Context Key SPAN");function th(X){return X.getValue(sh)||void 0}aW0.getSpan=th;function dt0(){return th(lt0.ContextAPI.getInstance().active())}aW0.getActiveSpan=dt0;function rW0(X,Q){return X.setValue(sh,Q)}aW0.setSpan=rW0;function pt0(X){return X.deleteValue(sh)}aW0.deleteSpan=pt0;function ct0(X,Q){return rW0(X,new mt0.NonRecordingSpan(Q))}aW0.setSpanContext=ct0;function nt0(X){var Q;return(Q=th(X))===null||Q===void 0?void 0:Q.spanContext()}aW0.getSpanContext=nt0});var EP=l((X70)=>{Object.defineProperty(X70,"__esModule",{value:!0});X70.wrapSpanContext=X70.isSpanContextValid=X70.isValidSpanId=X70.isValidTraceId=void 0;var sW0=TP(),tt0=AP(),et0=/^([0-9a-f]{32})$/i,Xe0=/^[0-9a-f]{16}$/i;function tW0(X){return et0.test(X)&&X!==sW0.INVALID_TRACEID}X70.isValidTraceId=tW0;function eW0(X){return Xe0.test(X)&&X!==sW0.INVALID_SPANID}X70.isValidSpanId=eW0;function Qe0(X){return tW0(X.traceId)&&eW0(X.spanId)}X70.isSpanContextValid=Qe0;function Je0(X){return new tt0.NonRecordingSpan(X)}X70.wrapSpanContext=Je0});var Jg=l((G70)=>{Object.defineProperty(G70,"__esModule",{value:!0});G70.NoopTracer=void 0;var We0=EU(),J70=eh(),Xg=AP(),He0=EP(),Qg=We0.ContextAPI.getInstance();class Y70{startSpan(X,Q,J=Qg.active()){if(Boolean(Q===null||Q===void 0?void 0:Q.root))return new Xg.NonRecordingSpan;let G=J&&(0,J70.getSpanContext)(J);if(Ke0(G)&&(0,He0.isSpanContextValid)(G))return new Xg.NonRecordingSpan(G);else return new Xg.NonRecordingSpan}startActiveSpan(X,Q,J,Y){let G,$,W;if(arguments.length<2)return;else if(arguments.length===2)W=Q;else if(arguments.length===3)G=Q,W=J;else G=Q,$=J,W=Y;let H=$!==null&&$!==void 0?$:Qg.active(),K=this.startSpan(X,G,H),Z=(0,J70.setSpan)(H,K);return Qg.with(Z,W,void 0,K)}}G70.NoopTracer=Y70;function Ke0(X){return typeof X==="object"&&typeof X.spanId==="string"&&typeof X.traceId==="string"&&typeof X.traceFlags==="number"}});var Yg=l((H70)=>{Object.defineProperty(H70,"__esModule",{value:!0});H70.ProxyTracer=void 0;var Ze0=Jg(),Fe0=new Ze0.NoopTracer;class W70{constructor(X,Q,J,Y){this._provider=X,this.name=Q,this.version=J,this.options=Y}startSpan(X,Q,J){return this._getTracer().startSpan(X,Q,J)}startActiveSpan(X,Q,J,Y){let G=this._getTracer();return Reflect.apply(G.startActiveSpan,G,arguments)}_getTracer(){if(this._delegate)return this._delegate;let X=this._provider.getDelegateTracer(this.name,this.version,this.options);if(!X)return Fe0;return this._delegate=X,this._delegate}}H70.ProxyTracer=W70});var q70=l((F70)=>{Object.defineProperty(F70,"__esModule",{value:!0});F70.NoopTracerProvider=void 0;var Ve0=Jg();class Z70{getTracer(X,Q,J){return new Ve0.NoopTracer}}F70.NoopTracerProvider=Z70});var Gg=l((z70)=>{Object.defineProperty(z70,"__esModule",{value:!0});z70.ProxyTracerProvider=void 0;var qe0=Yg(),Ue0=q70(),ze0=new Ue0.NoopTracerProvider;class U70{getTracer(X,Q,J){var Y;return(Y=this.getDelegateTracer(X,Q,J))!==null&&Y!==void 0?Y:new qe0.ProxyTracer(this,X,Q,J)}getDelegate(){var X;return(X=this._delegate)!==null&&X!==void 0?X:ze0}setDelegate(X){this._delegate=X}getDelegateTracer(X,Q,J){var Y;return(Y=this._delegate)===null||Y===void 0?void 0:Y.getTracer(X,Q,J)}}z70.ProxyTracerProvider=U70});var D70=l((L70)=>{Object.defineProperty(L70,"__esModule",{value:!0});L70.SamplingDecision=void 0;var Be0;(function(X){X[X.NOT_RECORD=0]="NOT_RECORD",X[X.RECORD=1]="RECORD",X[X.RECORD_AND_SAMPLED=2]="RECORD_AND_SAMPLED"})(Be0=L70.SamplingDecision||(L70.SamplingDecision={}))});var N70=l((j70)=>{Object.defineProperty(j70,"__esModule",{value:!0});j70.SpanKind=void 0;var Le0;(function(X){X[X.INTERNAL=0]="INTERNAL",X[X.SERVER=1]="SERVER",X[X.CLIENT=2]="CLIENT",X[X.PRODUCER=3]="PRODUCER",X[X.CONSUMER=4]="CONSUMER"})(Le0=j70.SpanKind||(j70.SpanKind={}))});var M70=l((O70)=>{Object.defineProperty(O70,"__esModule",{value:!0});O70.SpanStatusCode=void 0;var De0;(function(X){X[X.UNSET=0]="UNSET",X[X.OK=1]="OK",X[X.ERROR=2]="ERROR"})(De0=O70.SpanStatusCode||(O70.SpanStatusCode={}))});var T70=l((w70)=>{Object.defineProperty(w70,"__esModule",{value:!0});w70.validateValue=w70.validateKey=void 0;var Kg="[_0-9a-z-*/]",je0=`[a-z]${Kg}{0,255}`,Ne0=`[a-z0-9]${Kg}{0,240}@[a-z]${Kg}{0,13}`,Oe0=new RegExp(`^(?:${je0}|${Ne0})$`),Me0=/^[ -~]{0,255}[!-~]$/,we0=/,|=/;function Pe0(X){return Oe0.test(X)}w70.validateKey=Pe0;function Te0(X){return Me0.test(X)&&!we0.test(X)}w70.validateValue=Te0});var v70=l((I70)=>{Object.defineProperty(I70,"__esModule",{value:!0});I70.TraceStateImpl=void 0;var A70=T70(),E70=32,Ee0=512,C70=",",R70="=";class Zg{constructor(X){if(this._internalState=new Map,X)this._parse(X)}set(X,Q){let J=this._clone();if(J._internalState.has(X))J._internalState.delete(X);return J._internalState.set(X,Q),J}unset(X){let Q=this._clone();return Q._internalState.delete(X),Q}get(X){return this._internalState.get(X)}serialize(){return this._keys().reduce((X,Q)=>{return X.push(Q+R70+this.get(Q)),X},[]).join(C70)}_parse(X){if(X.length>Ee0)return;if(this._internalState=X.split(C70).reverse().reduce((Q,J)=>{let Y=J.trim(),G=Y.indexOf(R70);if(G!==-1){let $=Y.slice(0,G),W=Y.slice(G+1,J.length);if((0,A70.validateKey)($)&&(0,A70.validateValue)(W))Q.set($,W)}return Q},new Map),this._internalState.size>E70)this._internalState=new Map(Array.from(this._internalState.entries()).reverse().slice(0,E70))}_keys(){return Array.from(this._internalState.keys()).reverse()}_clone(){let X=new Zg;return X._internalState=new Map(this._internalState),X}}I70.TraceStateImpl=Zg});var b70=l((k70)=>{Object.defineProperty(k70,"__esModule",{value:!0});k70.createTraceState=void 0;var Ce0=v70();function Re0(X){return new Ce0.TraceStateImpl(X)}k70.createTraceState=Re0});var h70=l((y70)=>{Object.defineProperty(y70,"__esModule",{value:!0});y70.context=void 0;var Ie0=EU();y70.context=Ie0.ContextAPI.getInstance()});var u70=l((g70)=>{Object.defineProperty(g70,"__esModule",{value:!0});g70.diag=void 0;var Se0=J7();g70.diag=Se0.DiagAPI.instance()});var d70=l((m70)=>{Object.defineProperty(m70,"__esModule",{value:!0});m70.NOOP_METER_PROVIDER=m70.NoopMeterProvider=void 0;var ve0=dh();class Fg{getMeter(X,Q,J){return ve0.NOOP_METER}}m70.NoopMeterProvider=Fg;m70.NOOP_METER_PROVIDER=new Fg});var i70=l((c70)=>{Object.defineProperty(c70,"__esModule",{value:!0});c70.MetricsAPI=void 0;var _e0=d70(),Vg=Q7(),p70=J7(),qg="metrics";class Ug{constructor(){}static getInstance(){if(!this._instance)this._instance=new Ug;return this._instance}setGlobalMeterProvider(X){return(0,Vg.registerGlobal)(qg,X,p70.DiagAPI.instance())}getMeterProvider(){return(0,Vg.getGlobal)(qg)||_e0.NOOP_METER_PROVIDER}getMeter(X,Q,J){return this.getMeterProvider().getMeter(X,Q,J)}disable(){(0,Vg.unregisterGlobal)(qg,p70.DiagAPI.instance())}}c70.MetricsAPI=Ug});var o70=l((r70)=>{Object.defineProperty(r70,"__esModule",{value:!0});r70.metrics=void 0;var be0=i70();r70.metrics=be0.MetricsAPI.getInstance()});var XH0=l((t70)=>{Object.defineProperty(t70,"__esModule",{value:!0});t70.NoopTextMapPropagator=void 0;class s70{inject(X,Q){}extract(X,Q){return X}fields(){return[]}}t70.NoopTextMapPropagator=s70});var GH0=l((JH0)=>{Object.defineProperty(JH0,"__esModule",{value:!0});JH0.deleteBaggage=JH0.setBaggage=JH0.getActiveBaggage=JH0.getBaggage=void 0;var ye0=EU(),fe0=TU(),zg=(0,fe0.createContextKey)("OpenTelemetry Baggage Key");function QH0(X){return X.getValue(zg)||void 0}JH0.getBaggage=QH0;function he0(){return QH0(ye0.ContextAPI.getInstance().active())}JH0.getActiveBaggage=he0;function ge0(X,Q){return X.setValue(zg,Q)}JH0.setBaggage=ge0;function xe0(X){return X.deleteValue(zg)}JH0.deleteBaggage=xe0});var ZH0=l((HH0)=>{Object.defineProperty(HH0,"__esModule",{value:!0});HH0.PropagationAPI=void 0;var Bg=Q7(),de0=XH0(),$H0=ch(),CP=GH0(),pe0=_h(),WH0=J7(),Lg="propagation",ce0=new de0.NoopTextMapPropagator;class Dg{constructor(){this.createBaggage=pe0.createBaggage,this.getBaggage=CP.getBaggage,this.getActiveBaggage=CP.getActiveBaggage,this.setBaggage=CP.setBaggage,this.deleteBaggage=CP.deleteBaggage}static getInstance(){if(!this._instance)this._instance=new Dg;return this._instance}setGlobalPropagator(X){return(0,Bg.registerGlobal)(Lg,X,WH0.DiagAPI.instance())}inject(X,Q,J=$H0.defaultTextMapSetter){return this._getGlobalPropagator().inject(X,Q,J)}extract(X,Q,J=$H0.defaultTextMapGetter){return this._getGlobalPropagator().extract(X,Q,J)}fields(){return this._getGlobalPropagator().fields()}disable(){(0,Bg.unregisterGlobal)(Lg,WH0.DiagAPI.instance())}_getGlobalPropagator(){return(0,Bg.getGlobal)(Lg)||ce0}}HH0.PropagationAPI=Dg});var qH0=l((FH0)=>{Object.defineProperty(FH0,"__esModule",{value:!0});FH0.propagation=void 0;var ne0=ZH0();FH0.propagation=ne0.PropagationAPI.getInstance()});var jH0=l((LH0)=>{Object.defineProperty(LH0,"__esModule",{value:!0});LH0.TraceAPI=void 0;var jg=Q7(),UH0=Gg(),zH0=EP(),FZ=eh(),BH0=J7(),Ng="trace";class Og{constructor(){this._proxyTracerProvider=new UH0.ProxyTracerProvider,this.wrapSpanContext=zH0.wrapSpanContext,this.isSpanContextValid=zH0.isSpanContextValid,this.deleteSpan=FZ.deleteSpan,this.getSpan=FZ.getSpan,this.getActiveSpan=FZ.getActiveSpan,this.getSpanContext=FZ.getSpanContext,this.setSpan=FZ.setSpan,this.setSpanContext=FZ.setSpanContext}static getInstance(){if(!this._instance)this._instance=new Og;return this._instance}setGlobalTracerProvider(X){let Q=(0,jg.registerGlobal)(Ng,this._proxyTracerProvider,BH0.DiagAPI.instance());if(Q)this._proxyTracerProvider.setDelegate(X);return Q}getTracerProvider(){return(0,jg.getGlobal)(Ng)||this._proxyTracerProvider}getTracer(X,Q){return this.getTracerProvider().getTracer(X,Q)}disable(){(0,jg.unregisterGlobal)(Ng,BH0.DiagAPI.instance()),this._proxyTracerProvider=new UH0.ProxyTracerProvider}}LH0.TraceAPI=Og});var MH0=l((NH0)=>{Object.defineProperty(NH0,"__esModule",{value:!0});NH0.trace=void 0;var ie0=jH0();NH0.trace=ie0.TraceAPI.getInstance()});var IH0=l(($8)=>{Object.defineProperty($8,"__esModule",{value:!0});$8.trace=$8.propagation=$8.metrics=$8.diag=$8.context=$8.INVALID_SPAN_CONTEXT=$8.INVALID_TRACEID=$8.INVALID_SPANID=$8.isValidSpanId=$8.isValidTraceId=$8.isSpanContextValid=$8.createTraceState=$8.TraceFlags=$8.SpanStatusCode=$8.SpanKind=$8.SamplingDecision=$8.ProxyTracerProvider=$8.ProxyTracer=$8.defaultTextMapSetter=$8.defaultTextMapGetter=$8.ValueType=$8.createNoopMeter=$8.DiagLogLevel=$8.DiagConsoleLogger=$8.ROOT_CONTEXT=$8.createContextKey=$8.baggageEntryMetadataFromString=void 0;var re0=_h();Object.defineProperty($8,"baggageEntryMetadataFromString",{enumerable:!0,get:function(){return re0.baggageEntryMetadataFromString}});var wH0=TU();Object.defineProperty($8,"createContextKey",{enumerable:!0,get:function(){return wH0.createContextKey}});Object.defineProperty($8,"ROOT_CONTEXT",{enumerable:!0,get:function(){return wH0.ROOT_CONTEXT}});var ae0=jW0();Object.defineProperty($8,"DiagConsoleLogger",{enumerable:!0,get:function(){return ae0.DiagConsoleLogger}});var oe0=MP();Object.defineProperty($8,"DiagLogLevel",{enumerable:!0,get:function(){return oe0.DiagLogLevel}});var se0=dh();Object.defineProperty($8,"createNoopMeter",{enumerable:!0,get:function(){return se0.createNoopMeter}});var te0=SW0();Object.defineProperty($8,"ValueType",{enumerable:!0,get:function(){return te0.ValueType}});var PH0=ch();Object.defineProperty($8,"defaultTextMapGetter",{enumerable:!0,get:function(){return PH0.defaultTextMapGetter}});Object.defineProperty($8,"defaultTextMapSetter",{enumerable:!0,get:function(){return PH0.defaultTextMapSetter}});var ee0=Yg();Object.defineProperty($8,"ProxyTracer",{enumerable:!0,get:function(){return ee0.ProxyTracer}});var X04=Gg();Object.defineProperty($8,"ProxyTracerProvider",{enumerable:!0,get:function(){return X04.ProxyTracerProvider}});var Q04=D70();Object.defineProperty($8,"SamplingDecision",{enumerable:!0,get:function(){return Q04.SamplingDecision}});var J04=N70();Object.defineProperty($8,"SpanKind",{enumerable:!0,get:function(){return J04.SpanKind}});var Y04=M70();Object.defineProperty($8,"SpanStatusCode",{enumerable:!0,get:function(){return Y04.SpanStatusCode}});var G04=oh();Object.defineProperty($8,"TraceFlags",{enumerable:!0,get:function(){return G04.TraceFlags}});var $04=b70();Object.defineProperty($8,"createTraceState",{enumerable:!0,get:function(){return $04.createTraceState}});var Mg=EP();Object.defineProperty($8,"isSpanContextValid",{enumerable:!0,get:function(){return Mg.isSpanContextValid}});Object.defineProperty($8,"isValidTraceId",{enumerable:!0,get:function(){return Mg.isValidTraceId}});Object.defineProperty($8,"isValidSpanId",{enumerable:!0,get:function(){return Mg.isValidSpanId}});var wg=TP();Object.defineProperty($8,"INVALID_SPANID",{enumerable:!0,get:function(){return wg.INVALID_SPANID}});Object.defineProperty($8,"INVALID_TRACEID",{enumerable:!0,get:function(){return wg.INVALID_TRACEID}});Object.defineProperty($8,"INVALID_SPAN_CONTEXT",{enumerable:!0,get:function(){return wg.INVALID_SPAN_CONTEXT}});var TH0=h70();Object.defineProperty($8,"context",{enumerable:!0,get:function(){return TH0.context}});var AH0=u70();Object.defineProperty($8,"diag",{enumerable:!0,get:function(){return AH0.diag}});var EH0=o70();Object.defineProperty($8,"metrics",{enumerable:!0,get:function(){return EH0.metrics}});var CH0=qH0();Object.defineProperty($8,"propagation",{enumerable:!0,get:function(){return CH0.propagation}});var RH0=MH0();Object.defineProperty($8,"trace",{enumerable:!0,get:function(){return RH0.trace}});$8.default={context:TH0.context,diag:AH0.diag,metrics:EH0.metrics,propagation:CH0.propagation,trace:RH0.trace}});function Q4(X){return{...X,execute:async(Q,J)=>{let Y=Date.now();return await J.tracer.startActiveSpan(`tool.${X.name}`,{attributes:{"tool.name":X.name,"organization.id":J.organization?.id??"system","user.id":J.auth.user?.id??J.auth.apiKey?.userId??"anonymous"}},async(G)=>{try{J.toolName=X.name,J.access.setToolName?.(X.name);let $=await X.handler(Q,J),W=Date.now()-Y;return J.meter.createHistogram("tool.execution.duration",{description:"Duration of tool executions in milliseconds",unit:"ms"}).record(W,{"tool.name":X.name,"organization.id":J.organization?.id??"system",status:"success"}),J.meter.createCounter("tool.execution.count",{description:"Number of tool executions"}).add(1,{"tool.name":X.name,status:"success"}),G.setStatus({code:Pg.SpanStatusCode.OK}),$}catch($){throw J.meter.createCounter("tool.execution.errors",{description:"Number of tool execution errors"}).add(1,{"tool.name":X.name,"error.type":$.constructor.name}),G.setStatus({code:Pg.SpanStatusCode.ERROR,message:$.message}),G.recordException($),$}finally{G.end()}})}}}var Pg;var Y6=m(()=>{Pg=WJ(IH0(),1)});function e4(X){if(!X.organization)throw Error("This operation requires organization scope");return X.organization}function p1(X){return X.auth.user?.id??X.auth.apiKey?.userId}function K04(X){return!!(X.auth.user||X.auth.apiKey)}function B4(X){if(!K04(X))throw Error("Authentication required")}var RP,SH0,vH0,kH0,_H0,bH0,yH0,fH0,hH0,gH0;var VZ=m(()=>{d0();RP=N.record(N.string(),N.array(N.string())),SH0=N.object({id:N.string().describe("Unique identifier for the API key"),name:N.string().describe("Human-readable name for the API key"),userId:N.string().describe("ID of the user who owns this API key"),permissions:RP.describe('Permissions granted to this API key. Format: { resource: [actions] } where resource is "self" for management tools or "conn_<UUID>" for connection-specific tools. Example: { "self": ["API_KEY_CREATE"], "conn_abc123": ["SEND_MESSAGE"] }'),expiresAt:N.string().datetime().nullable().optional().describe("Expiration date of the API key (ISO 8601)"),createdAt:N.string().datetime().describe("When the API key was created (ISO 8601)")}),vH0=N.object({name:N.string().min(1).max(64).describe("Human-readable name for the API key"),permissions:RP.optional().describe('Permissions to grant. Format: { resource: [actions] }. Resource is "self" for management tools or "conn_<UUID>" for connection-specific tools. Actions are tool names (e.g., ["API_KEY_CREATE"]) or ["*"] for all. Example: { "self": ["API_KEY_CREATE", "COLLECTION_CONNECTIONS_LIST"] }. Defaults to read-only permissions.'),expiresIn:N.number().positive().optional().describe("Expiration time in seconds. If not provided, key never expires."),metadata:N.record(N.string(),N.unknown()).optional().describe("Additional metadata to store with the API key")}),kH0=N.object({id:N.string().describe("Unique identifier for the API key"),name:N.string().describe("Human-readable name for the API key"),key:N.string().describe("The actual API key value. STORE THIS SECURELY - it will not be shown again!"),permissions:RP.describe('Permissions granted to this API key. Format: { resource: [actions] } where resource is "self" for management tools or "conn_<UUID>" for connection-specific tools'),expiresAt:N.string().datetime().nullable().optional().describe("Expiration date of the API key (ISO 8601)"),createdAt:N.string().datetime().describe("When the API key was created (ISO 8601)")}),_H0=N.object({}),bH0=N.object({items:N.array(SH0).describe("List of API keys (without key values)")}),yH0=N.object({keyId:N.string().describe("ID of the API key to update"),name:N.string().min(1).max(64).optional().describe("New name for the API key"),permissions:RP.optional().describe('New permissions. Format: { resource: [actions] } where resource is "self" for management tools or "conn_<UUID>" for connection-specific tools. Actions are tool names or "*" for all. Example: { "self": ["API_KEY_CREATE"] }. Replaces existing permissions.'),metadata:N.record(N.string(),N.unknown()).optional().describe("New metadata. Replaces existing metadata.")}),fH0=N.object({item:SH0.describe("The updated API key (without key value)")}),hH0=N.object({keyId:N.string().describe("ID of the API key to delete")}),gH0=N.object({success:N.boolean().describe("Whether the deletion was successful"),keyId:N.string().describe("ID of the deleted API key")})});var Tg;var xH0=m(()=>{Y6();VZ();Tg=Q4({name:"API_KEY_CREATE",description:"Create a new API key with specified permissions. The key value is only returned once - store it securely!",inputSchema:vH0,outputSchema:kH0,handler:async(X,Q)=>{B4(Q),await Q.access.check();let J=await Q.boundAuth.apiKey.create({name:X.name,permissions:X.permissions,expiresIn:X.expiresIn,metadata:{...X.metadata,organization:Q.organization}}),Y=J.expiresAt?J.expiresAt instanceof Date?J.expiresAt.toISOString():J.expiresAt:null,G=J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt;return{id:J.id,name:J.name??X.name,key:J.key,permissions:J.permissions??{},expiresAt:Y,createdAt:G}}})});var Ag;var uH0=m(()=>{Y6();VZ();Ag=Q4({name:"API_KEY_DELETE",description:"Delete an API key. This instantly revokes the key - it can no longer be used for authentication.",inputSchema:hH0,outputSchema:gH0,handler:async(X,Q)=>{if(B4(Q),await Q.access.check(),!p1(Q))throw Error("User ID required to delete API key");let G=(await Q.boundAuth.apiKey.list())?.find((K)=>K.id===X.keyId);if(!G)throw Error("API key not found");let W=G.metadata?.organization?.id,H=Q.organization?.id;if(W!==H)throw Error("Cannot delete API key from another organization");return await Q.boundAuth.apiKey.delete(X.keyId),{success:!0,keyId:X.keyId}}})});var Eg;var mH0=m(()=>{Y6();VZ();Eg=Q4({name:"API_KEY_LIST",description:"List all API keys for the current user in the current organization. Returns metadata only - key values are never shown after creation.",inputSchema:_H0,outputSchema:bH0,handler:async(X,Q)=>{B4(Q),await Q.access.check();let J=await Q.boundAuth.apiKey.list(),Y=Q.organization?.id;return{items:(J??[]).filter(($)=>{return $.metadata?.organization?.id===Y}).map(($)=>({id:$.id,name:$.name??"Unnamed Key",userId:$.userId,permissions:$.permissions??{},expiresAt:$.expiresAt?$.expiresAt instanceof Date?$.expiresAt.toISOString():$.expiresAt:null,createdAt:$.createdAt instanceof Date?$.createdAt.toISOString():$.createdAt}))}}})});var Cg;var lH0=m(()=>{Y6();VZ();Cg=Q4({name:"API_KEY_UPDATE",description:"Update an existing API key's name, permissions, or metadata. Note: Key value cannot be changed or retrieved.",inputSchema:yH0,outputSchema:fH0,handler:async(X,Q)=>{if(B4(Q),await Q.access.check(),!p1(Q))throw Error("User ID required to update API key");let G=(await Q.boundAuth.apiKey.list())?.find((Z)=>Z.id===X.keyId);if(!G)throw Error(`API key not found: ${X.keyId}`);let W=G.metadata?.organization?.id,H=Q.organization?.id;if(W!==H)throw Error("Cannot update API key from another organization");let K=await Q.boundAuth.apiKey.update({keyId:X.keyId,name:X.name,permissions:X.permissions,metadata:{...X.metadata,organization:Q.organization}});if(!K)throw Error(`Failed to update API key: ${X.keyId}`);return{item:{id:K.id,name:K.name??X.name??"Unnamed Key",userId:K.userId,permissions:K.permissions??{},expiresAt:K.expiresAt?K.expiresAt instanceof Date?K.expiresAt.toISOString():K.expiresAt:null,createdAt:K.createdAt instanceof Date?K.createdAt.toISOString():K.createdAt}}}})});var dH0=m(()=>{xH0();uH0();mH0();lH0();VZ()});var F04,V04,Rg;var pH0=m(()=>{wM();d0();Y6();OP();u$();F04=N.object({data:YX0.describe("Data for the new connection (id is auto-generated if not provided)")}),V04=N.object({item:mJ.describe("The created connection entity")}),Rg=Q4({name:"COLLECTION_CONNECTIONS_CREATE",description:"Create a new MCP connection in the organization",inputSchema:F04,outputSchema:V04,handler:async(X,Q)=>{B4(Q);let J=e4(Q);await Q.access.check();let Y=p1(Q);if(!Y)throw Error("User ID required to create connection");let G={...X.data,organization_id:J.id,created_by:Y},$=await WZ({id:`pending-${Date.now()}`,title:G.title,connection_type:G.connection_type,connection_url:G.connection_url,connection_token:G.connection_token,connection_headers:G.connection_headers}).catch(()=>null),W=$?.length?$:null,H=await Q.storage.connections.create({...G,tools:W});return await Q.eventBus.publish(J.id,MM.SELF(J.id),{type:"connection.created",data:H}),{item:H}}})});function CU(X,Q){if(X===Q)return!0;if(X==null||Q==null)return X===Q;if(typeof X!==typeof Q)return!1;if(Array.isArray(X)&&Array.isArray(Q)){if(X.length!==Q.length)return!1;return X.every((J,Y)=>CU(J,Q[Y]))}if(typeof X==="object"&&typeof Q==="object"){let J=Object.keys(X),Y=Object.keys(Q);if(J.length!==Y.length)return!1;return J.every((G)=>Y.includes(G)&&CU(X[G],Q[G]))}return!1}function b04(){return(X)=>{if(!Array.isArray(X))return!0;let Q=[];return X.every((J)=>{if(Q.some((G)=>CU(J,G)))return!1;return Q.push(J),!0})}}function IP(X,Q){return X.safeParse(Q).success}function UX(X){if(typeof X==="boolean")return X?N.any():N.never();let Q={};for(let G of r04)G.apply(Q,X);let J=[];if(Q.string!==!1)J.push(Q.string||N.string());if(Q.number!==!1)J.push(Q.number||N.number());if(Q.boolean!==!1)J.push(Q.boolean||N.boolean());if(Q.null!==!1)J.push(Q.null||N.null());if(Q.array!==!1)J.push(Q.array||N.array(N.any()));if(Q.tuple!==!1&&Q.tuple!==void 0)J.push(Q.tuple);if(Q.object!==!1)if(Q.object)J.push(Q.object);else{let G=N.custom(($)=>{return typeof $==="object"&&$!==null&&!Array.isArray($)},"Must be an object, not an array");J.push(G)}if(Q.file!==!1&&Q.file!==void 0)J.push(Q.file);let Y;if(J.length===0)Y=N.never();else if(J.length===1)Y=J[0];else if(!Object.keys(X).some(($)=>$!=="$schema"&&$!=="title"&&$!=="description"))Y=N.any();else Y=N.union(J);for(let G of a04)Y=G.apply(Y,X);return Y}var q04=class{apply(X,Q){if(!Q.type)return;let J=Array.isArray(Q.type)?Q.type:[Q.type],Y=new Set(J);if(!Y.has("string"))X.string=!1;if(!Y.has("number")&&!Y.has("integer"))X.number=!1;if(!Y.has("boolean"))X.boolean=!1;if(!Y.has("null"))X.null=!1;if(!Y.has("array"))X.array=!1;if(!Y.has("object"))X.object=!1;if(Y.has("integer")&&X.number!==!1){let G=X.number||N.number();if(G instanceof N.ZodNumber)X.number=G.int()}}},U04=class{apply(X,Q){if(Q.const===void 0)return;let J=Q.const;if(X.string=!1,X.number=!1,X.boolean=!1,X.null=!1,X.array=!1,X.object=!1,typeof J==="string")X.string=N.literal(J);else if(typeof J==="number")X.number=N.literal(J);else if(typeof J==="boolean")X.boolean=N.literal(J);else if(J===null)X.null=N.null();else if(Array.isArray(J))X.array=void 0;else if(typeof J==="object")X.object=void 0}},z04=class{apply(X,Q){if(!Q.enum)return;if(Q.enum.length===0){if(!Q.type)X.string=!1,X.number=!1,X.boolean=!1,X.null=!1,X.array=!1,X.object=!1;return}let J={string:Q.enum.filter((Y)=>typeof Y==="string"),number:Q.enum.filter((Y)=>typeof Y==="number"),boolean:Q.enum.filter((Y)=>typeof Y==="boolean"),null:Q.enum.filter((Y)=>Y===null),array:Q.enum.filter((Y)=>Array.isArray(Y)),object:Q.enum.filter((Y)=>typeof Y==="object"&&Y!==null&&!Array.isArray(Y))};X.string=this.createTypeSchema(J.string,"string"),X.number=this.createTypeSchema(J.number,"number"),X.boolean=this.createTypeSchema(J.boolean,"boolean"),X.null=J.null.length>0?N.null():!1,X.array=J.array.length>0?void 0:!1,X.object=J.object.length>0?void 0:!1}createTypeSchema(X,Q){if(X.length===0)return!1;if(X.length===1)return N.literal(X[0]);if(Q==="string")return N.enum(X);if(Q==="number"){let[J,Y,...G]=X;return N.union([N.literal(J),N.literal(Y),...G.map(($)=>N.literal($))])}if(Q==="boolean")return N.union([N.literal(!0),N.literal(!1)]);return!1}},B04=class{apply(X,Q){let J=Q;if(J.type==="string"&&J.format==="binary"&&J.contentEncoding==="binary"){let Y=N.file();if(J.minLength!==void 0)Y=Y.min(J.minLength);if(J.maxLength!==void 0)Y=Y.max(J.maxLength);if(J.contentMediaType!==void 0)Y=Y.mime(J.contentMediaType);X.file=Y,X.string=!1}}},L04=class{apply(X,Q){let J=Q;if(Q.type===void 0&&(J.minLength!==void 0||J.maxLength!==void 0||J.pattern!==void 0)){if(X.string===void 0)X.string=N.string()}}},D04=class{apply(X,Q){let J=Q;if(J.minLength===void 0)return;if(X.string!==!1){let Y=X.string||N.string();if(Y instanceof N.ZodString)X.string=Y.refine((G)=>{return Array.from(G).length>=J.minLength},{message:`String must be at least ${J.minLength} characters long`})}}},j04=class{apply(X,Q){let J=Q;if(J.maxLength===void 0)return;if(X.string!==!1){let Y=X.string||N.string();if(Y instanceof N.ZodString)X.string=Y.refine((G)=>{return Array.from(G).length<=J.maxLength},{message:`String must be at most ${J.maxLength} characters long`})}}},N04=class{apply(X,Q){let J=Q;if(!J.pattern)return;if(X.string!==!1){let Y=X.string||N.string();if(Y instanceof N.ZodString){let G=new RegExp(J.pattern);X.string=Y.regex(G)}}}},O04=class{apply(X,Q){let J=Q;if(J.minimum===void 0)return;if(X.number!==!1){let Y=X.number||N.number();if(Y instanceof N.ZodNumber)X.number=Y.min(J.minimum)}}},M04=class{apply(X,Q){let J=Q;if(J.maximum===void 0)return;if(X.number!==!1){let Y=X.number||N.number();if(Y instanceof N.ZodNumber)X.number=Y.max(J.maximum)}}},w04=class{apply(X,Q){let J=Q;if(J.exclusiveMinimum===void 0)return;if(X.number!==!1){let Y=X.number||N.number();if(Y instanceof N.ZodNumber)if(typeof J.exclusiveMinimum==="number")X.number=Y.gt(J.exclusiveMinimum);else X.number=!1}}},P04=class{apply(X,Q){let J=Q;if(J.exclusiveMaximum===void 0)return;if(X.number!==!1){let Y=X.number||N.number();if(Y instanceof N.ZodNumber)if(typeof J.exclusiveMaximum==="number")X.number=Y.lt(J.exclusiveMaximum);else X.number=!1}}},T04=class{apply(X,Q){let J=Q;if(J.multipleOf===void 0)return;if(X.number!==!1){let Y=X.number||N.number();if(Y instanceof N.ZodNumber)X.number=Y.refine((G)=>{if(J.multipleOf===0)return!1;let $=G/J.multipleOf,W=Math.round($),H=Math.min(Math.abs(G)*Number.EPSILON*10,Math.abs(J.multipleOf)*Number.EPSILON*10);return Math.abs($-W)<=H/Math.abs(J.multipleOf)},{message:`Must be a multiple of ${J.multipleOf}`})}}},A04=class{apply(X,Q){let J=Q;if(Q.type===void 0&&(J.minItems!==void 0||J.maxItems!==void 0||J.items!==void 0||J.prefixItems!==void 0)){if(X.array===void 0)X.array=N.array(N.any())}}},E04=class{apply(X,Q){let J=Q;if(J.minItems===void 0)return;if(X.array!==!1)X.array=(X.array||N.array(N.any())).min(J.minItems)}},C04=class{apply(X,Q){let J=Q;if(J.maxItems===void 0)return;if(X.array!==!1)X.array=(X.array||N.array(N.any())).max(J.maxItems)}},R04=class{apply(X,Q){let J=Q;if(X.array===!1)return;if(Array.isArray(J.items))X.array=X.array||N.array(N.any());else if(J.items&&typeof J.items!=="boolean"&&!J.prefixItems){let Y=UX(J.items),G=N.array(Y);if(X.array&&X.array instanceof N.ZodArray){let $=X.array._def;if($.checks)$.checks.forEach((W)=>{if(W._zod&&W._zod.def){let H=W._zod.def;if(H.check==="min_length"&&H.minimum!==void 0)G=G.min(H.minimum);else if(H.check==="max_length"&&H.maximum!==void 0)G=G.max(H.maximum)}})}X.array=G}else if(typeof J.items==="boolean"&&J.items===!1)if(!J.prefixItems)X.array=N.array(N.any()).max(0);else X.array=X.array||N.array(N.any());else if(typeof J.items==="boolean"&&J.items===!0)X.array=X.array||N.array(N.any());else if(J.prefixItems)X.array=X.array||N.array(N.any())}},I04=class{apply(X,Q){if(Q.type!=="array")return;let J=Q;if(!Array.isArray(J.items))return;if(X.array===!1)return;let Y=J.items.map(($)=>UX($)),G;if(Y.length===0)G=N.tuple([]);else G=N.tuple(Y);if(J.minItems!==void 0&&J.minItems>Y.length)G=!1;if(J.maxItems!==void 0&&J.maxItems<Y.length)G=!1;X.tuple=G,X.array=!1}},S04=class{apply(X,Q){let J=Q;if(X.object===!1)return;if(J.properties||J.required||J.additionalProperties!==void 0)X.object=X.object||N.object({}).passthrough()}},v04=class{apply(X,Q){let J=Q;if(Q.type===void 0&&(J.maxProperties!==void 0||J.minProperties!==void 0)){if(X.object===void 0)X.object=N.object({}).passthrough()}}},k04=class{apply(X,Q){let J=Q;if(J.maxProperties===void 0)return;if(X.object!==!1){let Y=X.object||N.object({}).passthrough();X.object=Y.refine((G)=>Object.keys(G).length<=J.maxProperties,{message:`Object must have at most ${J.maxProperties} properties`})}}},_04=class{apply(X,Q){let J=Q;if(J.minProperties===void 0)return;if(X.object!==!1){let Y=X.object||N.object({}).passthrough();X.object=Y.refine((G)=>Object.keys(G).length>=J.minProperties,{message:`Object must have at least ${J.minProperties} properties`})}}},y04=class{apply(X,Q){if(!Q.not)return X;let J=UX(Q.not);return X.refine((Y)=>!IP(J,Y),{message:"Value must not match the 'not' schema"})}},f04=class{apply(X,Q){if(Q.uniqueItems!==!0)return X;return X.refine(b04(),{message:"Array items must be unique"})}},h04=class{apply(X,Q){if(!Q.allOf||Q.allOf.length===0)return X;return Q.allOf.map((Y)=>UX(Y)).reduce((Y,G)=>N.intersection(Y,G),X)}},g04=class{apply(X,Q){if(!Q.anyOf||Q.anyOf.length===0)return X;let J=Q.anyOf.length===1?UX(Q.anyOf[0]):N.union([UX(Q.anyOf[0]),UX(Q.anyOf[1]),...Q.anyOf.slice(2).map((Y)=>UX(Y))]);return N.intersection(X,J)}},x04=class{apply(X,Q){if(!Q.oneOf||Q.oneOf.length===0)return X;let J=Q.oneOf.map((Y)=>UX(Y));return X.refine((Y)=>{let G=0;for(let $ of J)if($.safeParse(Y).success){if(G++,G>1)return!1}return G===1},{message:"Value must match exactly one of the oneOf schemas"})}},u04=class{apply(X,Q){let J=Q;if(J.prefixItems&&Array.isArray(J.prefixItems)){let G=J.prefixItems.map(($)=>UX($));return X.refine(($)=>{if(!Array.isArray($))return!0;for(let W=0;W<Math.min($.length,G.length);W++)if(!IP(G[W],$[W]))return!1;if($.length>G.length){if(typeof J.items==="boolean"&&J.items===!1)return!1;else if(J.items&&typeof J.items==="object"&&!Array.isArray(J.items)){let W=UX(J.items);for(let H=G.length;H<$.length;H++)if(!IP(W,$[H]))return!1}}return!0},{message:"Array does not match prefixItems schema"})}return X}},m04=class{apply(X,Q){let J=Q;if(!J.properties&&!J.required&&J.additionalProperties!==!1)return X;if(X instanceof N.ZodObject||X instanceof N.ZodRecord){let Y={};if(J.properties){for(let[G,$]of Object.entries(J.properties))if($!==void 0)Y[G]=UX($)}if(J.required&&Array.isArray(J.required)){let G=new Set(J.required);for(let $ of Object.keys(Y))if(!G.has($))Y[$]=Y[$].optional()}else for(let G of Object.keys(Y))Y[G]=Y[G].optional();if(J.additionalProperties===!1)return N.object(Y);else return N.object(Y).passthrough()}return X.refine((Y)=>{if(typeof Y!=="object"||Y===null||Array.isArray(Y))return!0;if(J.properties){for(let[G,$]of Object.entries(J.properties))if($!==void 0){if(Object.getOwnPropertyDescriptor(Y,G)!==void 0){if(!UX($).safeParse(Y[G]).success)return!1}}}if(J.required&&Array.isArray(J.required)){for(let G of J.required)if(Object.getOwnPropertyDescriptor(Y,G)===void 0)return!1}if(J.additionalProperties===!1&&J.properties){let G=new Set(Object.keys(J.properties));for(let $ in Y)if(!G.has($))return!1}return!0},{message:"Object constraints validation failed"})}},l04=class{apply(X,Q){if(!Q.enum||Q.enum.length===0)return X;let J=Q.enum.filter((Y)=>Array.isArray(Y)||typeof Y==="object"&&Y!==null);if(J.length===0)return X;return X.refine((Y)=>{if(typeof Y!=="object"||Y===null)return!0;return J.some((G)=>CU(Y,G))},{message:"Value must match one of the enum values"})}},d04=class{apply(X,Q){if(Q.const===void 0)return X;let J=Q.const;if(typeof J!=="object"||J===null)return X;return X.refine((Y)=>CU(Y,J),{message:"Value must equal the const value"})}},p04=class{apply(X,Q){if(Q.description)X=X.describe(Q.description);return X}},c04=class{apply(X,Q){var J;let Y=Q;if(!((J=Y.required)==null?void 0:J.includes("__proto__"))||Q.type!==void 0)return X;return N.any().refine((G)=>this.validateRequired(G,Y.required),{message:"Missing required properties"})}validateRequired(X,Q){if(typeof X!=="object"||X===null||Array.isArray(X))return!0;return Q.every((J)=>Object.prototype.hasOwnProperty.call(X,J))}},n04=class{apply(X,Q){var J;let Y=Q;if(Y.contains===void 0)return X;let G=UX(Y.contains),$=(J=Y.minContains)!=null?J:1,W=Y.maxContains;return X.refine((H)=>{if(!Array.isArray(H))return!0;let K=0;for(let Z of H)if(IP(G,Z))K++;if(K<$)return!1;if(W!==void 0&&K>W)return!1;return!0},{message:"Array must contain required items matching the schema"})}},i04=class{apply(X,Q){let{default:J}=Q;if(J===void 0)return X;if(!X.safeParse(J).success)return X;return X.default(J)}},r04,a04;var cH0=m(()=>{u1();u1();u1();u1();u1();u1();u1();u1();u1();u1();u1();u1();u1();u1();r04=[new U04,new z04,new q04,new B04,new L04,new A04,new v04,new D04,new j04,new N04,new O04,new M04,new w04,new P04,new T04,new I04,new E04,new C04,new R04,new k04,new _04,new S04],a04=[new c04,new l04,new d04,new h04,new g04,new x04,new u04,new m04,new n04,new y04,new f04,new i04,new p04]});class Ig{constructor(X){this._url=X}start(){if(this._socket)throw Error("WebSocketClientTransport already started! If using Client class, note that connect() calls start() automatically.");return new Promise((X,Q)=>{this._socket=new WebSocket(this._url,o04),this._socket.onerror=(J)=>{let Y="error"in J?J.error:Error(`WebSocket error: ${JSON.stringify(J)}`);Q(Y),this.onerror?.(Y)},this._socket.onopen=()=>{X()},this._socket.onclose=()=>{this.onclose?.()},this._socket.onmessage=(J)=>{let Y;try{Y=YJ.parse(JSON.parse(J.data))}catch(G){this.onerror?.(G);return}this.onmessage?.(Y)}})}async close(){this._socket?.close()}send(X){return new Promise((Q,J)=>{if(!this._socket){J(Error("Not connected"));return}this._socket?.send(JSON.stringify(X)),Q()})}}var o04="mcp";var nH0=m(()=>{GJ()});function s04(X){let Q=X;if(!Q||typeof Q!=="object"||!("method"in Q))return null;switch(Q.method){case"initialize":{let J=Q?.params?.protocolVersion;if(!J)return null;return{type:"emit",message:{result:{protocolVersion:J,capabilities:{tools:{}},serverInfo:{name:"deco-chat-server",version:"1.0.0"}},jsonrpc:Q.jsonrpc??"2.0",id:Q.id}}}case"notifications/roots/list_changed":case"notifications/initialized":case"notifications/cancelled":case"notifications/progress":return{type:"suppress"};default:return null}}var Sg;var iH0=m(()=>{Mh();Sg=class Sg extends NU{constructor(X,Q){super(X,Q)}send(X,Q){let J=s04(X);if(J?.type==="emit")return this.onmessage?.(J.message),Promise.resolve();if(J?.type==="suppress")return Promise.resolve();return super.send(X,Q)}}});var rH0,aH0=async(X,Q,J)=>{let Y=t04(X.connection,Q,J);if(!Y)throw Error("Unknown MCP connection type");let G=new rH0({name:X?.name??"MCP Client",version:"1.0.0"});return await G.connect(Y),{client:G,callStreamableTool:($,W)=>{if(X.connection.type!=="HTTP")throw Error("HTTP connection required");let H=new Headers(J);if(!H.has("Authorization"))H.set("Authorization",`Bearer ${X.connection.token}`);for(let[F,V]of Object.entries(X.connection.headers??{}))H.set(F,V);let K=new URL(X.connection.url),Z=K.pathname.replace(/\/+$/,"")||"/";return K.pathname=`${Z}/call-tool/${encodeURIComponent($)}`,fetch(K.href,{method:"POST",redirect:"manual",body:JSON.stringify(W),headers:H})}}},t04=(X,Q,J)=>{if(X.type==="Websocket")return new Ig(new URL(X.url));if(X.type!=="SSE"&&X.type!=="HTTP")return null;let G={...X.token?{authorization:`Bearer ${X.token}`}:{},...J??{},..."headers"in X?X.headers||{}:{}};if(X.type==="SSE"){let $={requestInit:{headers:G,signal:Q}};if(X.token)$.eventSourceInit={fetch:(W,H)=>{return fetch(W,{...H,headers:{...G,Accept:"text/event-stream"},signal:Q})}};return new jU(new URL(X.url),$)}return new Sg(new URL(X.url),{requestInit:{headers:G,signal:Q,credentials:"include"}})};var oH0=m(()=>{hf();Kh();nH0();GJ();iH0();rH0=class rH0 extends oW{constructor(X,Q){super(X,Q)}async listTools(X,Q){return await this.request({method:"tools/list",params:X},xq,Q)}}});function tH0(X){let Q=(J)=>{if("connection"in X)return aH0({connection:X.connection},void 0,J);return X.client};return new Proxy({},{get(J,Y){if(Y==="toJSON")return null;if(typeof Y!=="string")throw Error("Name must be a string");if(Y==="listTools")return H;async function G(K,Z=Y){let F=X?.debugId?.(),V=F?{"x-trace-debug-id":F}:void 0,{client:q,callStreamableTool:B}=await Q(V);if(X?.streamable?.[String(Z)])return B(String(Z),K);let{structuredContent:L,isError:D,content:j}=await q.callTool({name:String(Z),arguments:K});if(D){let O=j?.[0]?.text,T=typeof O==="string"?e04(O):null,C=T?.code&&typeof X?.getErrorByStatusCode==="function"?X.getErrorByStatusCode(T.code,T.message,T.traceId):null;if(C)throw C;throw Error(`Tool ${String(Z)} returned an error: ${JSON.stringify(L??j)}`)}return L}async function $(){let{client:K}=await Q(),{tools:Z}=await K.listTools();return Z}async function W(){if(!("connection"in X))return $();let K=X.connection,Z=JSON.stringify(K);try{if(!SP.has(Z))SP.set(Z,$());return await SP.get(Z)}catch(F){console.error("Failed to list tools",F),SP.delete(Z);return}}async function H(){return(await W()??[]).map((Z)=>sH0(Z,G))}return G.asTool=async()=>{let Z=(await W()??[]).find((F)=>F.name===Y);if(!Z)throw Error(`Tool ${Y} not found`);return sH0(Z,G)},G}})}var e04=(X)=>{try{return JSON.parse(X)}catch{return X}},SP,sH0=(X,Q)=>{return{...X,id:X.name,inputSchema:X.inputSchema?UX(X.inputSchema):void 0,outputSchema:X.outputSchema?UX(X.outputSchema):void 0,execute:(J)=>{return Q(J.context,X.name)}}};var eH0=m(()=>{cH0();oH0();SP=new Map});function vP(X){return tH0(X)}var Sx4;var XK0=m(()=>{eH0();Sx4=new Proxy({},{get(X,Q){if(Q==="toJSON")return null;if(Q==="forConnection")return(J)=>vP({connection:J});return global[Q]}})});function kP(X){return{isImplementedBy:(Q)=>{for(let J of X){let Y=typeof J.name==="string"?new RegExp(`^${J.name}$`):J.name,G=Q.find(($)=>Y.test($.name));if(!G&&J.opt)continue;if(!G)return!1}return!0}}}var qZ=(X)=>{return{...kP(X),forClient:(Q)=>{return vP({client:Q,streamable:X.reduce((J,Y)=>{return J[Y.name]=Y.streamable===!0,J},{})})},forConnection:(Q)=>{return vP({connection:Q,streamable:X.reduce((J,Y)=>{return J[Y.name]=Y.streamable===!0,J},{})})}}};var RU=m(()=>{XK0()});function SU(X){return N.object({items:N.array(X).describe("Array of collection items"),totalCount:N.number().int().min(0).optional().describe("Total number of matching items (if available)"),hasMore:N.boolean().optional().describe("Whether there are more items available")})}function kg(X){return N.object({item:X.nullable().describe("The retrieved item, or null if not found")})}function J44(X){return N.object({data:X.partial().describe("Data for the new entity (id may be auto-generated)")})}function Y44(X){return N.object({item:X.describe("The created entity with generated id")})}function G44(X){return N.object({id:N.string().describe("ID of the entity to update"),data:X.partial().describe("Partial entity data to update")})}function $44(X){return N.object({item:X.describe("The updated entity")})}function bg(X){return N.object({item:X.describe("The deleted entity")})}function zZ(X,Q,J){let Y=X.toUpperCase(),G=J?.readOnly??!1,$=[{name:`COLLECTION_${Y}_LIST`,inputSchema:IU,outputSchema:SU(Q)},{name:`COLLECTION_${Y}_GET`,inputSchema:vg,outputSchema:kg(Q)}];if(!G)$.push({name:`COLLECTION_${Y}_CREATE`,inputSchema:J44(Q),outputSchema:Y44(Q),opt:!0},{name:`COLLECTION_${Y}_UPDATE`,inputSchema:G44(Q),outputSchema:$44(Q),opt:!0},{name:`COLLECTION_${Y}_DELETE`,inputSchema:_g,outputSchema:bg(Q),opt:!0});return $}var UZ,X44,QK0,Q44,IU,vg,_g;var Y5=m(()=>{d0();UZ=N.object({id:N.string().describe("Unique identifier for the entity"),title:N.string().describe("Human-readable title for the entity"),description:N.string().nullish().describe("Description of the entity"),created_at:N.string().datetime(),updated_at:N.string().datetime(),created_by:N.string().optional(),updated_by:N.string().optional()}),X44=N.object({field:N.array(N.string()),operator:N.enum(["eq","gt","gte","lt","lte","in","like","contains"]),value:N.unknown()}),QK0=N.lazy(()=>N.union([X44,N.object({operator:N.enum(["and","or","not"]),conditions:N.array(QK0)})])),Q44=N.object({field:N.array(N.string()),direction:N.enum(["asc","desc"]),nulls:N.enum(["first","last"]).optional()}),IU=N.object({where:QK0.optional().describe("Filter expression"),orderBy:N.array(Q44).optional().describe("Sort expressions"),limit:N.number().int().min(1).max(1000).optional().describe("Maximum number of items to return"),offset:N.number().int().min(0).optional().describe("Number of items to skip")});vg=N.object({id:N.string().describe("ID of the entity to retrieve")});_g=N.object({id:N.string().describe("ID of the entity to delete")})});var W44,JK0,xx4;var YK0=m(()=>{d0();Y5();W44=N.object({id:N.string(),name:N.string(),description:N.string().optional(),inputSchema:N.record(N.string(),N.unknown()),outputSchema:N.record(N.string(),N.unknown()).optional()}),JK0=UZ.extend({_meta:N.object({"io.decocms":N.object({id:N.string(),verified:N.boolean(),scopeName:N.string(),appName:N.string(),friendlyName:N.string().nullable().optional(),metadata:N.record(N.string(),N.unknown()).nullable().optional(),publishedAt:N.string().datetime().optional(),updatedAt:N.string().datetime().optional(),tools:N.array(W44).nullable().optional().describe("Available tools exposed by this app")}).optional()}).optional(),server:N.object({$schema:N.string().optional(),_meta:N.record(N.string(),N.unknown()).optional(),name:N.string().describe("The server name (scope/app)"),title:N.string().optional().describe("User-friendly title"),description:N.string().optional().describe("Server description"),icons:N.array(N.object({src:N.string(),mimeType:N.string().optional(),sizes:N.array(N.string()).optional(),theme:N.enum(["light","dark"]).optional()})).optional(),remotes:N.array(N.object({type:N.enum(["http","stdio","sse"]),url:N.string().optional(),headers:N.array(N.unknown()).optional()})).optional(),packages:N.array(N.unknown()).optional(),repository:N.object({url:N.string(),source:N.string().optional(),subfolder:N.string().optional()}).optional(),version:N.string().optional(),websiteUrl:N.string().optional()})}),xx4=zZ("registry_app",JK0,{readOnly:!0})});var GK0,$K0,WK0,HK0,KK0,H44;var ZK0=m(()=>{d0();RU();GK0=N.object({specversion:N.literal("1.0").describe("CloudEvents specification version"),id:N.string().describe("Unique identifier for this event (UUID recommended)"),source:N.string().describe("Connection ID of the event publisher"),type:N.string().describe("Event type (e.g., 'order.created', 'user.signup')"),time:N.string().datetime().optional().describe("Timestamp of when the event occurred (ISO 8601)"),subject:N.string().optional().describe("Subject/resource identifier (e.g., order ID, user ID)"),datacontenttype:N.string().optional().default("application/json").describe("Content type of the data attribute"),dataschema:N.string().url().optional().describe("URI to the schema for the data attribute"),data:N.unknown().optional().describe("Event payload (any JSON value)")}),$K0=N.object({events:N.array(GK0).min(1).describe("Batch of CloudEvents to process")}),WK0=N.object({success:N.boolean().optional().describe("Whether this event was processed successfully"),error:N.string().optional().describe("Error message for this event"),retryAfter:N.number().int().positive().optional().describe("Re-deliver this event after this many ms")}),HK0=N.object({success:N.boolean().optional().describe("Batch success - applies to events not in results"),error:N.string().optional().describe("Batch error message - applies to events not in results"),processedCount:N.number().int().min(0).optional().describe("Number of events successfully processed"),retryAfter:N.number().int().positive().optional().describe("Batch retryAfter - applies to events not in results"),results:N.record(N.string(),WK0).optional().describe("Per-event results keyed by event ID")}),KK0=[{name:"ON_EVENTS",inputSchema:$K0,outputSchema:HK0}],H44=qZ(KK0)});var vU,kU,_U,bU,FK0,VK0,yU,fU,hU,gU,xU,uU,mU,lU,qK0,K44;var UK0=m(()=>{d0();RU();vU=N.object({type:N.string().min(1).max(255).describe("Event type identifier"),subject:N.string().max(255).optional().describe("Subject/resource identifier (e.g., order ID)"),data:N.unknown().optional().describe("Event payload"),deliverAt:N.string().datetime().optional().describe("Scheduled delivery time (ISO 8601). Omit for immediate delivery."),cron:N.string().max(100).optional().describe("Cron expression for recurring delivery. Use EVENT_CANCEL to stop.")}),kU=N.object({id:N.string().describe("Unique event ID"),type:N.string().describe("Event type"),source:N.string().describe("Source connection ID"),time:N.string().describe("Event timestamp")}),_U=N.object({eventType:N.string().min(1).max(255).describe("Event type to subscribe to"),publisher:N.string().optional().describe("Filter events by publisher connection ID"),filter:N.string().max(1000).optional().describe("JSONPath filter expression on event data")}),bU=N.object({subscription:N.object({id:N.string().describe("Subscription ID"),connectionId:N.string().describe("Subscriber connection ID"),eventType:N.string().describe("Event type pattern"),publisher:N.string().nullable().describe("Publisher connection filter"),filter:N.string().nullable().describe("JSONPath filter expression"),enabled:N.boolean().describe("Whether subscription is enabled"),createdAt:N.string().datetime().describe("Created timestamp (ISO 8601)"),updatedAt:N.string().datetime().describe("Updated timestamp (ISO 8601)")})}),FK0=N.object({eventType:N.string().min(1).max(255).describe("Event type to subscribe to"),publisher:N.string().optional().describe("Filter events by publisher connection ID"),filter:N.string().max(1000).optional().describe("JSONPath filter expression on event data")}),VK0=N.object({id:N.string().describe("Subscription ID"),connectionId:N.string().describe("Subscriber connection ID"),eventType:N.string().describe("Event type pattern"),publisher:N.string().nullable().describe("Publisher connection filter"),filter:N.string().nullable().describe("JSONPath filter expression"),enabled:N.boolean().describe("Whether subscription is enabled"),createdAt:N.string().datetime().describe("Created timestamp (ISO 8601)"),updatedAt:N.string().datetime().describe("Updated timestamp (ISO 8601)")}),yU=N.object({subscriptions:N.array(FK0).describe("Desired subscriptions - system will create/update/delete to match")}),fU=N.object({created:N.number().int().min(0).describe("Number of subscriptions created"),updated:N.number().int().min(0).describe("Number of subscriptions with filter updated"),deleted:N.number().int().min(0).describe("Number of subscriptions removed"),unchanged:N.number().int().min(0).describe("Number of subscriptions unchanged"),subscriptions:N.array(VK0).describe("Current subscriptions after sync")}),hU=N.object({subscriptionId:N.string().describe("Subscription ID to remove")}),gU=N.object({success:N.boolean().describe("Whether unsubscribe was successful"),subscriptionId:N.string().describe("Subscription ID that was removed")}),xU=N.object({eventId:N.string().describe("Event ID to cancel")}),uU=N.object({success:N.boolean().describe("Whether cancellation was successful"),eventId:N.string().describe("Event ID that was cancelled")}),mU=N.object({eventId:N.string().describe("Event ID to acknowledge")}),lU=N.object({success:N.boolean().describe("Whether ACK was successful"),eventId:N.string().describe("Event ID that was acknowledged")}),qK0=[{name:"EVENT_PUBLISH",inputSchema:vU,outputSchema:kU},{name:"EVENT_SUBSCRIBE",inputSchema:_U,outputSchema:bU},{name:"EVENT_UNSUBSCRIBE",inputSchema:hU,outputSchema:gU},{name:"EVENT_CANCEL",inputSchema:xU,outputSchema:uU},{name:"EVENT_ACK",inputSchema:mU,outputSchema:lU},{name:"EVENT_SYNC_SUBSCRIPTIONS",inputSchema:yU,outputSchema:fU}],K44=qZ(qK0)});var yg=m(()=>{RU();YK0();ZK0();UK0()});var Z44,F44,zK0;var BK0=m(()=>{d0();Y5();Z44=UZ.extend({avatar:N.string().describe("URL or data URI to the assistant's avatar image"),system_prompt:N.string().describe("System prompt that defines the assistant's behavior"),gateway_id:N.string().describe("Gateway ID to use for this assistant"),model:N.object({id:N.string().describe("Model ID"),connectionId:N.string().describe("Connection ID that provides the model")}).describe("Selected model reference for this assistant")}),F44=zZ("assistant",Z44),zK0=[...F44]});var dU,TG,DK0,V44,q44,jK0,U44,z44,B44,L44,D44,j44,NK0,N44,O44,M44,w44,P44,T44,A44,E44,C44,R44,$u4,I44,Wu4,LK0,S44,v44,fg,Hu4;var OK0=m(()=>{d0();RU();Y5();dU=N.lazy(()=>N.union([N.null(),N.string(),N.number(),N.boolean(),N.record(N.string(),dU),N.array(dU)])),TG=N.record(N.string(),N.record(N.string(),dU)).optional().describe("Additional provider-specific options. Outer record keyed by provider name, inner by option key"),DK0=N.object({type:N.literal("text"),text:N.string().describe("The text content"),providerOptions:TG}),V44=N.object({type:N.literal("text"),text:N.string().describe("The text content"),providerMetadata:N.any().optional().describe("Additional provider-specific metadata")}),q44=N.string().describe("File data as URL string"),jK0=N.object({type:N.literal("file"),filename:N.string().optional().describe("Optional filename of the file"),data:q44,mediaType:N.string().describe("IANA media type of the file (e.g., image/png, audio/mp3)"),providerOptions:TG}),U44=N.object({type:N.literal("file"),mediaType:N.string().describe("IANA media type of the file (e.g., image/png, audio/mp3)"),data:N.string().describe("Generated file data as base64 encoded string")}),z44=N.object({type:N.literal("reasoning"),text:N.string().describe("The reasoning text"),providerOptions:TG}),B44=N.object({type:N.literal("reasoning"),text:N.string().describe("The reasoning text"),providerMetadata:N.any().optional().describe("Additional provider-specific metadata")}),L44=N.object({type:N.literal("tool-call"),toolCallId:N.string().describe("ID of the tool call, used to match with tool result"),toolName:N.string().describe("Name of the tool being called"),input:N.string().describe("Arguments of the tool call (JSON-serializable object matching tool input schema)"),providerExecuted:N.boolean().optional().describe("Whether the tool call will be executed by the provider"),providerOptions:TG}),D44=N.object({type:N.literal("tool-call"),toolCallId:N.string().describe("ID of the tool call"),toolName:N.string().describe("Name of the tool being called"),input:N.string().describe("Stringified JSON object with the tool call arguments"),providerExecuted:N.boolean().optional().describe("Whether the tool call will be executed by the provider"),providerMetadata:N.any().optional().describe("Additional provider-specific metadata")}),j44=N.union([N.object({type:N.literal("text"),value:N.string()}),N.object({type:N.literal("json"),value:dU}),N.object({type:N.literal("error-text"),value:N.string()}),N.object({type:N.literal("error-json"),value:dU}),N.object({type:N.literal("content"),value:N.array(N.union([N.object({type:N.literal("text"),text:N.string().describe("Text content")}),N.object({type:N.literal("media"),data:N.string().describe("Base-64 encoded media data"),mediaType:N.string().describe("IANA media type")})]))})]),NK0=N.object({type:N.literal("tool-result"),toolCallId:N.string().describe("ID of the tool call that this result is associated with"),toolName:N.string().describe("Name of the tool that generated this result"),output:j44.describe("Result of the tool call"),result:N.unknown().describe("Unknown result of the tool call"),providerOptions:TG}),N44=N.object({type:N.literal("tool-result"),toolCallId:N.string().describe("ID of the tool call that this result is associated with"),toolName:N.string().describe("Name of the tool that generated this result"),result:N.any().describe("Result of the tool call (JSON-serializable)"),isError:N.boolean().optional().describe("Whether the result is an error or error message"),providerExecuted:N.boolean().optional().describe("Whether the tool result was generated by the provider"),providerMetadata:N.any().optional().describe("Additional provider-specific metadata")}),O44=N.union([N.object({type:N.literal("source"),sourceType:N.literal("url"),id:N.string().describe("The ID of the source"),url:N.string().describe("The URL of the source"),title:N.string().optional().describe("The title of the source"),providerMetadata:N.any().optional().describe("Additional provider-specific metadata")}),N.object({type:N.literal("source"),sourceType:N.literal("document"),id:N.string().describe("The ID of the source"),mediaType:N.string().describe("IANA media type of the document (e.g., application/pdf)"),title:N.string().describe("The title of the document"),filename:N.string().optional().describe("Optional filename of the document"),providerMetadata:N.any().optional().describe("Additional provider-specific metadata")})]),M44=N.object({role:N.literal("system"),content:N.string().describe("System message content"),providerOptions:TG}),w44=N.object({role:N.literal("user"),content:N.array(N.union([DK0,jK0])).describe("User message content parts (text or file)"),providerOptions:TG}),P44=N.object({role:N.literal("assistant"),content:N.array(N.union([DK0,jK0,z44,L44,NK0])).describe("Assistant message content parts (text, file, reasoning, tool-call, or tool-result)"),providerOptions:TG}),T44=N.object({role:N.literal("tool"),content:N.array(NK0).describe("Tool message content (tool results)"),providerOptions:TG}),A44=N.union([M44,w44,P44,T44]),E44=N.array(A44).describe("A list of messages forming the prompt"),C44=N.object({prompt:E44.describe("A language model prompt is a standardized prompt type (array of messages with roles: system, user, assistant, tool)"),maxOutputTokens:N.number().optional().describe("Maximum number of tokens to generate"),temperature:N.number().optional().describe("Temperature setting. The range depends on the provider and model"),topP:N.number().optional().describe("Nucleus sampling parameter"),topK:N.number().optional().describe("Only sample from the top K options for each subsequent token. Used to remove long tail low probability responses"),presencePenalty:N.number().optional().describe("Presence penalty setting. It affects the likelihood of the model to repeat information that is already in the prompt"),frequencyPenalty:N.number().optional().describe("Frequency penalty setting. It affects the likelihood of the model to repeatedly use the same words or phrases"),seed:N.number().optional().describe("The seed (integer) to use for random sampling. If set and supported by the model, calls will generate deterministic results"),stopSequences:N.array(N.string()).optional().describe("Stop sequences. If set, the model will stop generating text when one of the stop sequences is generated"),responseFormat:N.union([N.object({type:N.literal("text")}),N.object({type:N.literal("json"),schema:N.any().optional().describe("JSON schema that the generated output should conform to"),name:N.string().optional().describe("Name of output that should be generated"),description:N.string().optional().describe("Description of the output that should be generated")})]).optional().describe("Response format. The output can either be text or JSON. Default is text"),tools:N.array(N.any()).optional().describe("The tools that are available for the model"),toolChoice:N.any().optional().describe("Specifies how the tool should be selected. Defaults to 'auto'"),includeRawChunks:N.boolean().optional().describe("Include raw chunks in the stream. Only applicable for streaming calls"),abortSignal:N.any().optional().describe("Abort signal for cancelling the operation"),providerOptions:N.any().optional().describe("Additional provider-specific options")}),R44=N.object({content:N.array(N.union([V44,U44,B44,D44,N44,O44])).describe("Ordered content that the model has generated (text, tool-calls, reasoning, files, sources)"),finishReason:N.enum(["stop","length","content-filter","tool-calls","error","other","unknown"]).describe("Reason why generation stopped"),usage:N.looseObject({inputTokens:N.number().optional(),outputTokens:N.number().optional(),totalTokens:N.number().optional(),reasoningTokens:N.number().optional()}).describe("Usage information for the language model call"),providerMetadata:N.any().optional().describe("Additional provider-specific metadata"),request:N.object({body:N.any().optional().describe("Request HTTP body sent to the provider API")}).optional().describe("Optional request information for telemetry and debugging"),response:N.object({id:N.string().optional().describe("ID for the generated response"),timestamp:N.iso.datetime().optional().describe("Timestamp for the start of the generated response"),modelId:N.string().optional().describe("The ID of the response model that was used"),headers:N.record(N.string(),N.string()).optional().describe("Response headers"),body:N.any().optional().describe("Response HTTP body")}).optional().describe("Optional response information for telemetry and debugging"),warnings:N.array(N.any()).describe("Warnings for the call, e.g. unsupported settings")}),$u4=N.object({stream:N.any().describe("ReadableStream of LanguageModelV2StreamPart"),request:N.object({body:N.any().optional().describe("Request HTTP body sent to the provider API")}).optional().describe("Optional request information for telemetry and debugging"),response:N.object({headers:N.record(N.string(),N.string()).optional().describe("Response headers")}).optional().describe("Optional response data")}),I44=N.object({supportedUrls:N.record(N.string(),N.array(N.string())).describe("Supported URL patterns by media type for the provider")}),Wu4=N.object({modelId:N.string().describe("The ID of the model"),logo:N.string().nullable(),description:N.string().nullable(),capabilities:N.array(N.string()),limits:N.object({contextWindow:N.number(),maxOutputTokens:N.number()}).nullable(),costs:N.object({input:N.number(),output:N.number()}).nullable(),provider:N.enum(["openai","anthropic","google","x-ai","deepseek","openai-compatible","openrouter"]).nullable()}),LK0=N.object({modelId:N.string().describe("The ID of the model"),callOptions:C44}),S44=UZ.extend({logo:N.string().nullable(),description:N.string().nullable(),capabilities:N.array(N.string()),limits:N.object({contextWindow:N.number(),maxOutputTokens:N.number()}).nullable(),costs:N.object({input:N.number(),output:N.number()}).nullable(),provider:N.enum(["openai","anthropic","google","xai","deepseek","openai-compatible","openrouter"]).nullable()}),v44=zZ("llm",S44,{readOnly:!0}),fg=[{name:"LLM_METADATA",inputSchema:N.object({modelId:N.string().describe("The ID of the model")}),outputSchema:I44},{name:"LLM_DO_STREAM",inputSchema:LK0,streamable:!0},{name:"LLM_DO_GENERATE",inputSchema:LK0,outputSchema:R44},...v44],Hu4=qZ(fg)});function _44(X){let Q=[],J=0;while(J<X.length){let Y=X[J];if(Y==="%")Q.push(".*");else if(Y==="_")Q.push(".");else if(/[.*+?^${}()|[\]\\]/.test(Y))Q.push("\\"+Y);else Q.push(Y);J++}return Q.join("")}function G5(X){return typeof X==="string"||typeof X==="number"}function _P(X,Q){if("conditions"in Q){let{operator:H,conditions:K}=Q;switch(H){case"and":return K.every((Z)=>_P(X,Z));case"or":return K.some((Z)=>_P(X,Z));case"not":return!K.every((Z)=>_P(X,Z));default:return!0}}let{field:J,operator:Y,value:G}=Q,$=J.join("."),W=hg(X,$);switch(Y){case"eq":return W===G;case"gt":return G5(W)&&G5(G)&&W>G;case"gte":return G5(W)&&G5(G)&&W>=G;case"lt":return G5(W)&&G5(G)&&W<G;case"lte":return G5(W)&&G5(G)&&W<=G;case"in":return Array.isArray(G)&&G.includes(W);case"like":if(typeof W!=="string"||typeof G!=="string")return!1;if(G.length>100)return!1;let H=_44(G);return new RegExp(`^${H}$`,"i").test(W);case"contains":if(typeof W!=="string"||typeof G!=="string")return!1;return W.toLowerCase().includes(G.toLowerCase());default:return!0}}function hg(X,Q){let J=Q.split("."),Y=X;for(let G of J){if(Y==null||typeof Y!=="object")return;Y=Y[G]}return Y}function b44(X,Q){return[...X].sort((J,Y)=>{for(let G of Q){let $=G.field.join("."),W=hg(J,$),H=hg(Y,$),K=0;if(W==null&&H==null)continue;if(W==null)K=G.nulls==="first"?-1:1;else if(H==null)K=G.nulls==="first"?1:-1;else if(typeof W==="string"&&typeof H==="string")K=W.localeCompare(H);else if(typeof W==="number"&&typeof H==="number")K=W-H;else K=String(W).localeCompare(String(H));if(K!==0)return G.direction==="desc"?-K:K}return 0})}var k44,y44,f44,gg;var MK0=m(()=>{yg();BK0();Y5();OK0();d0();Y6();u$();k44={LLM:fg,ASSISTANTS:zK0};y44=IU.extend({binding:N.union([N.object({}).passthrough(),N.string()]).optional()}),f44=SU(mJ),gg=Q4({name:"COLLECTION_CONNECTIONS_LIST",description:"List all connections in the organization with filtering, sorting, and pagination",inputSchema:y44,outputSchema:f44,handler:async(X,Q)=>{await Q.access.check();let J=e4(Q),Y=X.binding?typeof X.binding==="string"?(()=>{let q=k44[X.binding.toUpperCase()];if(!q)throw Error(`Unknown binding: ${X.binding}`);return q})():X.binding:void 0,G=Y?kP(Y):void 0,$=await Q.storage.connections.list(J.id),W=G?await Promise.all($.map(async(q)=>{if(!q.tools||q.tools.length===0)return null;return G.isImplementedBy(q.tools.map((L)=>({name:L.name,inputSchema:L.inputSchema,outputSchema:L.outputSchema})))?q:null})).then((q)=>q.filter((B)=>B!==null)):$;if(X.where)W=W.filter((q)=>_P(q,X.where));if(X.orderBy&&X.orderBy.length>0)W=b44(W,X.orderBy);let H=W.length,K=X.offset??0,Z=X.limit??100,F=W.slice(K,K+Z),V=K+Z<H;return{items:F,totalCount:H,hasMore:V}}})});var h44,xg;var wK0=m(()=>{Y5();Y6();u$();h44=kg(mJ),xg=Q4({name:"COLLECTION_CONNECTIONS_GET",description:"Get connection details by ID",inputSchema:vg,outputSchema:h44,handler:async(X,Q)=>{let J=e4(Q);await Q.access.check();let Y=await Q.storage.connections.findById(X.id);if(!Y||Y.organization_id!==J.id)return{item:null};return{item:Y}}})});var bP=(X,Q)=>{if(Q===null||Q===void 0)return;let J=X.replace(/\[(\w+)\]/g,".$1").split(".").filter(Boolean),Y=Q;for(let G of J){if(Y===null||Y===void 0||typeof Y!=="object")return;Y=Y[G]}return Y};function PK0(X){let Q=X.split("::");if(Q.length!==2||!Q[0]||!Q[1])throw Error(`Invalid scope format: ${X}. Expected format: "KEY::SCOPE"`);return Q}function g44(X){let Q=X.split("::");if(Q.length!==2||!Q[0]||!Q[1])return null;return Q}function x44(X){if(typeof X==="object"&&X!==null&&"value"in X){let Q=X.value;if(typeof Q==="string")return Q}return null}function u44(X,Q){let J={};if(!X||!Q)return J;for(let Y of Q){if(Y==="*"){J["*"]=["*"];continue}let G=g44(Y);if(!G)continue;let[$,W]=G,H=bP($,X),K=x44(H);if(K){if(!J[K])J[K]=[];J[K].push(W)}}return J}function TK0(X,Q){let J=u44(X,Q);return new Set(Object.keys(J).filter((Y)=>Y!=="*"))}var AK0=()=>{};class ug{db;vault;constructor(X,Q){this.db=X;this.vault=Q}async get(X){let Q=await this.db.selectFrom("downstream_tokens").selectAll().where("connectionId","=",X).executeTakeFirst();if(!Q)return null;return this.decryptToken(Q)}async upsert(X){let Q=new Date().toISOString(),J=await this.vault.encrypt(X.accessToken),Y=X.refreshToken?await this.vault.encrypt(X.refreshToken):null,G=X.clientSecret?await this.vault.encrypt(X.clientSecret):null;return await this.db.transaction().execute(async($)=>{let W=await $.selectFrom("downstream_tokens").select(["id","createdAt"]).where("connectionId","=",X.connectionId).executeTakeFirst();if(W)return await $.updateTable("downstream_tokens").set({accessToken:J,refreshToken:Y,scope:X.scope,expiresAt:X.expiresAt?.toISOString()??null,clientId:X.clientId,clientSecret:G,tokenEndpoint:X.tokenEndpoint,updatedAt:Q}).where("id","=",W.id).execute(),{id:W.id,connectionId:X.connectionId,accessToken:X.accessToken,refreshToken:X.refreshToken,scope:X.scope,expiresAt:X.expiresAt,createdAt:W.createdAt,updatedAt:Q,clientId:X.clientId,clientSecret:X.clientSecret,tokenEndpoint:X.tokenEndpoint};let H=VY("dtok");return await $.insertInto("downstream_tokens").values({id:H,connectionId:X.connectionId,accessToken:J,refreshToken:Y,scope:X.scope,expiresAt:X.expiresAt?.toISOString()??null,clientId:X.clientId,clientSecret:G,tokenEndpoint:X.tokenEndpoint,createdAt:Q,updatedAt:Q}).execute(),{id:H,connectionId:X.connectionId,accessToken:X.accessToken,refreshToken:X.refreshToken,scope:X.scope,expiresAt:X.expiresAt,createdAt:Q,updatedAt:Q,clientId:X.clientId,clientSecret:X.clientSecret,tokenEndpoint:X.tokenEndpoint}})}async delete(X){await this.db.deleteFrom("downstream_tokens").where("connectionId","=",X).execute()}isExpired(X,Q=0){if(!X.expiresAt)return!1;let Y=(X.expiresAt instanceof Date?X.expiresAt:new Date(X.expiresAt)).getTime();if(Number.isNaN(Y))return!0;return Y-Q<Date.now()}async decryptToken(X){let Q=await this.vault.decrypt(X.accessToken),J=X.refreshToken?await this.vault.decrypt(X.refreshToken):null,Y=X.clientSecret?await this.vault.decrypt(X.clientSecret):null;return{id:X.id,connectionId:X.connectionId,accessToken:Q,refreshToken:J,scope:X.scope,expiresAt:X.expiresAt,createdAt:X.createdAt,updatedAt:X.updatedAt,clientId:X.clientId,clientSecret:Y,tokenEndpoint:X.tokenEndpoint}}}var EK0=m(()=>{PM()});async function d44(X,Q,J,Y){for(let $ of Q){if($==="*")continue;let[W]=PK0($),H=bP(W,X);if(H===void 0||H===null)throw Error(`Scope references key "${W}" but it's not present in state`)}let G=TK0(X,Q);for(let $ of G){if($===hW.SELF)continue;let W=await Y.storage.connections.findById($);if(!W||W.organization_id!==J)throw Error(`Referenced connection not found: ${$}`);try{await Y.access.check($)}catch(H){throw Error(`Access denied to referenced connection: ${$}. ${H.message}`)}}}var m44,l44,mg;var CK0=m(()=>{AK0();wM();EK0();d0();Y6();OP();u$();m44=N.object({id:N.string().describe("ID of the connection to update"),data:GX0.describe("Partial connection data to update")}),l44=N.object({item:mJ.describe("The updated connection entity")});mg=Q4({name:"COLLECTION_CONNECTIONS_UPDATE",description:"Update an existing MCP connection in the organization",inputSchema:m44,outputSchema:l44,handler:async(X,Q)=>{B4(Q);let J=e4(Q);if(await Q.access.check(),!p1(Q))throw Error("User ID required to update connection");let{id:G,data:$}=X,W=await Q.storage.connections.findById(G);if(!W||W.organization_id!==J.id)throw Error("Connection not found in organization");let H=$.configuration_state??W.configuration_state,K=$.configuration_scopes??W.configuration_scopes??[];if($.configuration_state!==void 0||$.configuration_scopes!==void 0){if($.configuration_state!==void 0)H=$.configuration_state;else if(H===null)H={};if($.configuration_scopes!==void 0)K=$.configuration_scopes??[];if(K.length>0&&H)await d44(H,K,J.id,Q)}let Z=$.connection_token??W.connection_token;if(!Z)try{let D=await new ug(Q.db,Q.vault).get(G);if(D?.accessToken)Z=D.accessToken}catch{}let F=await WZ({id:W.id,title:$.title??W.title,connection_type:$.connection_type??W.connection_type,connection_url:$.connection_url??W.connection_url,connection_token:Z,connection_headers:$.connection_headers??W.connection_headers}).catch(()=>null),V=F?.length?F:null,q={...$,tools:V,configuration_state:H,configuration_scopes:K},B=await Q.storage.connections.update(G,q);if(($.configuration_state!==void 0||$.configuration_scopes!==void 0)&&H&&K.length>0)try{await(await Q.createMCPProxy(G)).client.callTool({name:"ON_MCP_CONFIGURATION",arguments:{state:H,scopes:K}})}catch(L){console.error("Failed to invoke ON_MCP_CONFIGURATION callback",L)}return{item:B}}})});var lg;var RK0=m(()=>{Y5();Y6();u$();lg=Q4({name:"COLLECTION_CONNECTIONS_DELETE",description:"Delete a connection",inputSchema:_g,outputSchema:bg(mJ),handler:async(X,Q)=>{B4(Q);let J=e4(Q);await Q.access.check();let Y=await Q.storage.connections.findById(X.id);if(!Y)throw Error(`Connection not found: ${X.id}`);if(Y.organization_id!==J.id)throw Error("Connection not found in organization");return await Q.storage.connections.delete(X.id),{item:Y}}})});var dg;var IK0=m(()=>{d0();Y6();dg=Q4({name:"CONNECTION_TEST",description:"Test connection health and latency",inputSchema:N.object({id:N.string()}),outputSchema:N.object({id:N.string(),healthy:N.boolean(),latencyMs:N.number()}),handler:async(X,Q)=>{let J=e4(Q);await Q.access.check();let Y=await Q.storage.connections.findById(X.id);if(!Y||Y.organization_id!==J.id)throw Error("Connection not found");let G=await Q.storage.connections.testConnection(X.id);return{id:X.id,...G}}})});var SK0=m(()=>{pH0();MK0();wK0();CK0();RK0();IK0()});import{sql as E6}from"kysely";function vK0(X){if(X===null||X===void 0)return"NULL";if(typeof X==="number")return String(X);if(typeof X==="boolean")return X?"TRUE":"FALSE";if(typeof X==="string")return`'${X.replace(/'/g,"''")}'`;if(X instanceof Date)return`'${X.toISOString()}'`;return`'${JSON.stringify(X).replace(/'/g,"''")}'`}function n44(X,Q){let J=X;for(let G=Q.length;G>=1;G--){let $=`$${G}`;if(J.includes($))J=J.replaceAll($,vK0(Q[G-1]))}let Y=[];for(let G=0;G<J.length;G++)if(J[G]==="?")Y.push(G);for(let G=Math.min(Y.length,Q.length)-1;G>=0;G--){let $=Y[G],W=vK0(Q[G]);J=J.slice(0,$)+W+J.slice($+1)}return J}function kK0(X){return X.replace(/-/g,"_")}function r44(X){return`app_${kK0(X)}`}function a44(X){return`app_role_${kK0(X)}`}function o44(X){if(X instanceof Error){let Q=X.message.toLowerCase(),J=X.code;return J==="3F000"||J==="42704"||Q.includes("schema")&&Q.includes("does not exist")||Q.includes("role")&&Q.includes("does not exist")}return!1}async function s44(X,Q,J){if(await E6`CREATE SCHEMA IF NOT EXISTS ${E6.id(Q)}`.execute(X),!(await E6`
|
|
222
|
+
`,X.enqueue(Q.encode(G)),!0}catch{return!1}}handleUnsupportedRequest(){return new Response(JSON.stringify({jsonrpc:"2.0",error:{code:-32000,message:"Method not allowed."},id:null}),{status:405,headers:{Allow:"GET, POST, DELETE","Content-Type":"application/json"}})}async handlePostRequest(X,Q){try{let J=X.headers.get("accept");if(!J?.includes("application/json")||!J.includes("text/event-stream"))return this.createJsonErrorResponse(406,-32000,"Not Acceptable: Client must accept both application/json and text/event-stream");let Y=X.headers.get("content-type");if(!Y||!Y.includes("application/json"))return this.createJsonErrorResponse(415,-32000,"Unsupported Media Type: Content-Type must be application/json");let G={headers:Object.fromEntries(X.headers.entries())},$;if(Q?.parsedBody!==void 0)$=Q.parsedBody;else try{$=await X.json()}catch{return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON")}let W;try{if(Array.isArray($))W=$.map((j)=>YJ.parse(j));else W=[YJ.parse($)]}catch{return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON-RPC message")}let H=W.some(vb);if(H){if(this._initialized&&this.sessionId!==void 0)return this.createJsonErrorResponse(400,-32600,"Invalid Request: Server already initialized");if(W.length>1)return this.createJsonErrorResponse(400,-32600,"Invalid Request: Only one initialization request is allowed");if(this.sessionId=this.sessionIdGenerator?.(),this._initialized=!0,this.sessionId&&this._onsessioninitialized)await Promise.resolve(this._onsessioninitialized(this.sessionId))}if(!H){let j=this.validateSession(X);if(j)return j;let O=this.validateProtocolVersion(X);if(O)return O}if(!W.some(LY)){for(let j of W)this.onmessage?.(j,{authInfo:Q?.authInfo,requestInfo:G});return new Response(null,{status:202})}let Z=crypto.randomUUID(),F=W.find((j)=>vb(j)),V=F?F.params.protocolVersion:X.headers.get("mcp-protocol-version")??RX0;if(this._enableJsonResponse)return new Promise((j)=>{this._streamMapping.set(Z,{resolveJson:j,cleanup:()=>{this._streamMapping.delete(Z)}});for(let O of W)if(LY(O))this._requestToStreamMapping.set(O.id,Z);for(let O of W)this.onmessage?.(O,{authInfo:Q?.authInfo,requestInfo:G})});let q=new TextEncoder,B,L=new ReadableStream({start:(j)=>{B=j},cancel:()=>{this._streamMapping.delete(Z)}}),D={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"};if(this.sessionId!==void 0)D["mcp-session-id"]=this.sessionId;for(let j of W)if(LY(j))this._streamMapping.set(Z,{controller:B,encoder:q,cleanup:()=>{this._streamMapping.delete(Z);try{B.close()}catch{}}}),this._requestToStreamMapping.set(j.id,Z);await this.writePrimingEvent(B,q,Z,V);for(let j of W){let O,T;if(LY(j)&&this._eventStore&&V>="2025-11-25")O=()=>{this.closeSSEStream(j.id)},T=()=>{this.closeStandaloneSSEStream()};this.onmessage?.(j,{authInfo:Q?.authInfo,requestInfo:G,closeSSEStream:O,closeStandaloneSSEStream:T})}return new Response(L,{status:200,headers:D})}catch(J){return this.onerror?.(J),this.createJsonErrorResponse(400,-32700,"Parse error",{data:String(J)})}}async handleDeleteRequest(X){let Q=this.validateSession(X);if(Q)return Q;let J=this.validateProtocolVersion(X);if(J)return J;return await Promise.resolve(this._onsessionclosed?.(this.sessionId)),await this.close(),new Response(null,{status:200})}validateSession(X){if(this.sessionIdGenerator===void 0)return;if(!this._initialized)return this.createJsonErrorResponse(400,-32000,"Bad Request: Server not initialized");let Q=X.headers.get("mcp-session-id");if(!Q)return this.createJsonErrorResponse(400,-32000,"Bad Request: Mcp-Session-Id header is required");if(Q!==this.sessionId)return this.createJsonErrorResponse(404,-32001,"Session not found");return}validateProtocolVersion(X){let Q=X.headers.get("mcp-protocol-version");if(Q!==null&&!dW.includes(Q))return this.createJsonErrorResponse(400,-32000,`Bad Request: Unsupported protocol version: ${Q} (supported versions: ${dW.join(", ")})`);return}async close(){this._streamMapping.forEach(({cleanup:X})=>{X()}),this._streamMapping.clear(),this._requestResponseMap.clear(),this.onclose?.()}closeSSEStream(X){let Q=this._requestToStreamMapping.get(X);if(!Q)return;let J=this._streamMapping.get(Q);if(J)J.cleanup()}closeStandaloneSSEStream(){let X=this._streamMapping.get(this._standaloneSseStreamId);if(X)X.cleanup()}async send(X,Q){let J=Q?.relatedRequestId;if(q9(X)||vK(X))J=X.id;if(J===void 0){if(q9(X)||vK(X))throw Error("Cannot send a response on a standalone SSE stream unless resuming a previous client request");let $;if(this._eventStore)$=await this._eventStore.storeEvent(this._standaloneSseStreamId,X);let W=this._streamMapping.get(this._standaloneSseStreamId);if(W===void 0)return;if(W.controller&&W.encoder)this.writeSSEEvent(W.controller,W.encoder,X,$);return}let Y=this._requestToStreamMapping.get(J);if(!Y)throw Error(`No connection established for request ID: ${String(J)}`);let G=this._streamMapping.get(Y);if(!this._enableJsonResponse&&G?.controller&&G?.encoder){let $;if(this._eventStore)$=await this._eventStore.storeEvent(Y,X);this.writeSSEEvent(G.controller,G.encoder,X,$)}if(q9(X)||vK(X)){this._requestResponseMap.set(J,X);let $=Array.from(this._requestToStreamMapping.entries()).filter(([H,K])=>K===Y).map(([H])=>H);if($.every((H)=>this._requestResponseMap.has(H))){if(!G)throw Error(`No connection established for request ID: ${String(J)}`);if(this._enableJsonResponse&&G.resolveJson){let H={"Content-Type":"application/json"};if(this.sessionId!==void 0)H["mcp-session-id"]=this.sessionId;let K=$.map((Z)=>this._requestResponseMap.get(Z));if(K.length===1)G.resolveJson(new Response(JSON.stringify(K[0]),{status:200,headers:H}));else G.resolveJson(new Response(JSON.stringify(K),{status:200,headers:H}))}else G.cleanup();for(let H of $)this._requestResponseMap.delete(H),this._requestToStreamMapping.delete(H)}}}}var I50=m(()=>{GJ()});var S50=(...X)=>{return function(J,Y){let G=($)=>{let W=X[$];if(!W)return Y();return W(J,()=>G($+1))};return G(0)}};class v50{config;tools=[];callToolMiddlewares=[];constructor(X){this.config={...X,capabilities:X.capabilities??{tools:{}}}}withTool(X){return this.tools.push(X),this}withTools(X){return this.tools.push(...X),this}callToolMiddleware(...X){return this.callToolMiddlewares.push(...X),this}build(){let X=this.callToolMiddlewares.length>0?S50(...this.callToolMiddlewares):null,Q=()=>{let J=new Rh({name:this.config.name,version:this.config.version},{capabilities:this.config.capabilities});for(let Y of this.tools){let G=async(K)=>{try{let Z=await Y.handler(K);return{content:[{type:"text",text:JSON.stringify(Z)}],structuredContent:Z}}catch(Z){return{content:[{type:"text",text:`Error: ${Z.message}`}],isError:!0}}},$=X?async(K)=>{let Z={method:"tools/call",params:{name:Y.name,arguments:K}};return await X(Z,()=>G(K))}:G,W="shape"in Y.inputSchema?Y.inputSchema.shape:N.object({}).shape,H=Y.outputSchema&&"shape"in Y.outputSchema?Y.outputSchema.shape:N.object({}).shape;J.registerTool(Y.name,{annotations:Y.annotations,description:Y.description??"",inputSchema:W,outputSchema:H},$)}return J};return{callStreamableTool:async(J,Y)=>{let G=this.tools.find((W)=>W.name===J);if(!G)throw Error(`Tool ${J} not found`);let $=await G.handler(Y);if(!($ instanceof Response))throw Error(`Tool ${J} returned a non-response`);return $},client:{listTools:async()=>{return{tools:this.tools.map((J)=>({name:J.name,description:J.description??"",inputSchema:N.toJSONSchema(J.inputSchema),outputSchema:J.outputSchema?N.toJSONSchema(J.outputSchema):void 0}))}},callTool:async(J)=>{let Y=this.tools.find((G)=>G.name===J.name);if(!Y)return{content:[{type:"text",text:"Tool not found"}]};try{let G=await Y?.handler(J.arguments??{});return{content:[{type:"text",text:JSON.stringify(G)}],structuredContent:G}}catch(G){return{content:[{type:"text",text:`Error: ${G.message}`}]}}}},fetch:async(J)=>{let Y=new Ih({enableJsonResponse:J.headers.get("Accept")?.includes("application/json")??!1});return await Q().connect(Y),await Y.handleRequest(J)}}}}function k50(X){return new v50(X)}var _50=m(()=>{R50();I50();d0()});var f50=l((b50)=>{Object.defineProperty(b50,"__esModule",{value:!0});b50._globalThis=void 0;b50._globalThis=typeof globalThis==="object"?globalThis:global});var h50=l((eW)=>{var ns0=eW&&eW.__createBinding||(Object.create?function(X,Q,J,Y){if(Y===void 0)Y=J;Object.defineProperty(X,Y,{enumerable:!0,get:function(){return Q[J]}})}:function(X,Q,J,Y){if(Y===void 0)Y=J;X[Y]=Q[J]}),is0=eW&&eW.__exportStar||function(X,Q){for(var J in X)if(J!=="default"&&!Object.prototype.hasOwnProperty.call(Q,J))ns0(Q,X,J)};Object.defineProperty(eW,"__esModule",{value:!0});is0(f50(),eW)});var g50=l((X7)=>{var rs0=X7&&X7.__createBinding||(Object.create?function(X,Q,J,Y){if(Y===void 0)Y=J;Object.defineProperty(X,Y,{enumerable:!0,get:function(){return Q[J]}})}:function(X,Q,J,Y){if(Y===void 0)Y=J;X[Y]=Q[J]}),as0=X7&&X7.__exportStar||function(X,Q){for(var J in X)if(J!=="default"&&!Object.prototype.hasOwnProperty.call(Q,J))rs0(Q,X,J)};Object.defineProperty(X7,"__esModule",{value:!0});as0(h50(),X7)});var Sh=l((x50)=>{Object.defineProperty(x50,"__esModule",{value:!0});x50.VERSION=void 0;x50.VERSION="1.9.0"});var c50=l((d50)=>{Object.defineProperty(d50,"__esModule",{value:!0});d50.isCompatible=d50._makeCompatibilityCheck=void 0;var os0=Sh(),m50=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function l50(X){let Q=new Set([X]),J=new Set,Y=X.match(m50);if(!Y)return()=>!1;let G={major:+Y[1],minor:+Y[2],patch:+Y[3],prerelease:Y[4]};if(G.prerelease!=null)return function(K){return K===X};function $(H){return J.add(H),!1}function W(H){return Q.add(H),!0}return function(K){if(Q.has(K))return!0;if(J.has(K))return!1;let Z=K.match(m50);if(!Z)return $(K);let F={major:+Z[1],minor:+Z[2],patch:+Z[3],prerelease:Z[4]};if(F.prerelease!=null)return $(K);if(G.major!==F.major)return $(K);if(G.major===0){if(G.minor===F.minor&&G.patch<=F.patch)return W(K);return $(K)}if(G.minor<=F.minor)return W(K);return $(K)}}d50._makeCompatibilityCheck=l50;d50.isCompatible=l50(os0.VERSION)});var Q7=l((n50)=>{Object.defineProperty(n50,"__esModule",{value:!0});n50.unregisterGlobal=n50.getGlobal=n50.registerGlobal=void 0;var ts0=g50(),HZ=Sh(),es0=c50(),Xt0=HZ.VERSION.split(".")[0],MU=Symbol.for(`opentelemetry.js.api.${Xt0}`),wU=ts0._globalThis;function Qt0(X,Q,J,Y=!1){var G;let $=wU[MU]=(G=wU[MU])!==null&&G!==void 0?G:{version:HZ.VERSION};if(!Y&&$[X]){let W=Error(`@opentelemetry/api: Attempted duplicate registration of API: ${X}`);return J.error(W.stack||W.message),!1}if($.version!==HZ.VERSION){let W=Error(`@opentelemetry/api: Registration of version v${$.version} for ${X} does not match previously registered API v${HZ.VERSION}`);return J.error(W.stack||W.message),!1}return $[X]=Q,J.debug(`@opentelemetry/api: Registered a global for ${X} v${HZ.VERSION}.`),!0}n50.registerGlobal=Qt0;function Jt0(X){var Q,J;let Y=(Q=wU[MU])===null||Q===void 0?void 0:Q.version;if(!Y||!(0,es0.isCompatible)(Y))return;return(J=wU[MU])===null||J===void 0?void 0:J[X]}n50.getGlobal=Jt0;function Yt0(X,Q){Q.debug(`@opentelemetry/api: Unregistering a global for ${X} v${HZ.VERSION}.`);let J=wU[MU];if(J)delete J[X]}n50.unregisterGlobal=Yt0});var s50=l((a50)=>{Object.defineProperty(a50,"__esModule",{value:!0});a50.DiagComponentLogger=void 0;var Wt0=Q7();class r50{constructor(X){this._namespace=X.namespace||"DiagComponentLogger"}debug(...X){return PU("debug",this._namespace,X)}error(...X){return PU("error",this._namespace,X)}info(...X){return PU("info",this._namespace,X)}warn(...X){return PU("warn",this._namespace,X)}verbose(...X){return PU("verbose",this._namespace,X)}}a50.DiagComponentLogger=r50;function PU(X,Q,J){let Y=(0,Wt0.getGlobal)("diag");if(!Y)return;return J.unshift(Q),Y[X](...J)}});var MP=l((t50)=>{Object.defineProperty(t50,"__esModule",{value:!0});t50.DiagLogLevel=void 0;var Ht0;(function(X){X[X.NONE=0]="NONE",X[X.ERROR=30]="ERROR",X[X.WARN=50]="WARN",X[X.INFO=60]="INFO",X[X.DEBUG=70]="DEBUG",X[X.VERBOSE=80]="VERBOSE",X[X.ALL=9999]="ALL"})(Ht0=t50.DiagLogLevel||(t50.DiagLogLevel={}))});var QW0=l((e50)=>{Object.defineProperty(e50,"__esModule",{value:!0});e50.createLogLevelDiagLogger=void 0;var PG=MP();function Kt0(X,Q){if(X<PG.DiagLogLevel.NONE)X=PG.DiagLogLevel.NONE;else if(X>PG.DiagLogLevel.ALL)X=PG.DiagLogLevel.ALL;Q=Q||{};function J(Y,G){let $=Q[Y];if(typeof $==="function"&&X>=G)return $.bind(Q);return function(){}}return{error:J("error",PG.DiagLogLevel.ERROR),warn:J("warn",PG.DiagLogLevel.WARN),info:J("info",PG.DiagLogLevel.INFO),debug:J("debug",PG.DiagLogLevel.DEBUG),verbose:J("verbose",PG.DiagLogLevel.VERBOSE)}}e50.createLogLevelDiagLogger=Kt0});var J7=l((YW0)=>{Object.defineProperty(YW0,"__esModule",{value:!0});YW0.DiagAPI=void 0;var Zt0=s50(),Ft0=QW0(),JW0=MP(),wP=Q7(),Vt0="diag";class kh{constructor(){function X(Y){return function(...G){let $=(0,wP.getGlobal)("diag");if(!$)return;return $[Y](...G)}}let Q=this,J=(Y,G={logLevel:JW0.DiagLogLevel.INFO})=>{var $,W,H;if(Y===Q){let F=Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");return Q.error(($=F.stack)!==null&&$!==void 0?$:F.message),!1}if(typeof G==="number")G={logLevel:G};let K=(0,wP.getGlobal)("diag"),Z=(0,Ft0.createLogLevelDiagLogger)((W=G.logLevel)!==null&&W!==void 0?W:JW0.DiagLogLevel.INFO,Y);if(K&&!G.suppressOverrideMessage){let F=(H=Error().stack)!==null&&H!==void 0?H:"<failed to generate stacktrace>";K.warn(`Current logger will be overwritten from ${F}`),Z.warn(`Current logger will overwrite one already registered from ${F}`)}return(0,wP.registerGlobal)("diag",Z,Q,!0)};Q.setLogger=J,Q.disable=()=>{(0,wP.unregisterGlobal)(Vt0,Q)},Q.createComponentLogger=(Y)=>{return new Zt0.DiagComponentLogger(Y)},Q.verbose=X("verbose"),Q.debug=X("debug"),Q.info=X("info"),Q.warn=X("warn"),Q.error=X("error")}static instance(){if(!this._instance)this._instance=new kh;return this._instance}}YW0.DiagAPI=kh});var HW0=l(($W0)=>{Object.defineProperty($W0,"__esModule",{value:!0});$W0.BaggageImpl=void 0;class KZ{constructor(X){this._entries=X?new Map(X):new Map}getEntry(X){let Q=this._entries.get(X);if(!Q)return;return Object.assign({},Q)}getAllEntries(){return Array.from(this._entries.entries()).map(([X,Q])=>[X,Q])}setEntry(X,Q){let J=new KZ(this._entries);return J._entries.set(X,Q),J}removeEntry(X){let Q=new KZ(this._entries);return Q._entries.delete(X),Q}removeEntries(...X){let Q=new KZ(this._entries);for(let J of X)Q._entries.delete(J);return Q}clear(){return new KZ}}$W0.BaggageImpl=KZ});var FW0=l((KW0)=>{Object.defineProperty(KW0,"__esModule",{value:!0});KW0.baggageEntryMetadataSymbol=void 0;KW0.baggageEntryMetadataSymbol=Symbol("BaggageEntryMetadata")});var _h=l((VW0)=>{Object.defineProperty(VW0,"__esModule",{value:!0});VW0.baggageEntryMetadataFromString=VW0.createBaggage=void 0;var qt0=J7(),Ut0=HW0(),zt0=FW0(),Bt0=qt0.DiagAPI.instance();function Lt0(X={}){return new Ut0.BaggageImpl(new Map(Object.entries(X)))}VW0.createBaggage=Lt0;function Dt0(X){if(typeof X!=="string")Bt0.error(`Cannot create baggage metadata from unknown type: ${typeof X}`),X="";return{__TYPE__:zt0.baggageEntryMetadataSymbol,toString(){return X}}}VW0.baggageEntryMetadataFromString=Dt0});var TU=l((UW0)=>{Object.defineProperty(UW0,"__esModule",{value:!0});UW0.ROOT_CONTEXT=UW0.createContextKey=void 0;function Nt0(X){return Symbol.for(X)}UW0.createContextKey=Nt0;class PP{constructor(X){let Q=this;Q._currentContext=X?new Map(X):new Map,Q.getValue=(J)=>Q._currentContext.get(J),Q.setValue=(J,Y)=>{let G=new PP(Q._currentContext);return G._currentContext.set(J,Y),G},Q.deleteValue=(J)=>{let Y=new PP(Q._currentContext);return Y._currentContext.delete(J),Y}}}UW0.ROOT_CONTEXT=new PP});var jW0=l((LW0)=>{Object.defineProperty(LW0,"__esModule",{value:!0});LW0.DiagConsoleLogger=void 0;var bh=[{n:"error",c:"error"},{n:"warn",c:"warn"},{n:"info",c:"info"},{n:"debug",c:"debug"},{n:"verbose",c:"trace"}];class BW0{constructor(){function X(Q){return function(...J){if(console){let Y=console[Q];if(typeof Y!=="function")Y=console.log;if(typeof Y==="function")return Y.apply(console,J)}}}for(let Q=0;Q<bh.length;Q++)this[bh[Q].n]=X(bh[Q].c)}}LW0.DiagConsoleLogger=BW0});var dh=l((NW0)=>{Object.defineProperty(NW0,"__esModule",{value:!0});NW0.createNoopMeter=NW0.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=NW0.NOOP_OBSERVABLE_GAUGE_METRIC=NW0.NOOP_OBSERVABLE_COUNTER_METRIC=NW0.NOOP_UP_DOWN_COUNTER_METRIC=NW0.NOOP_HISTOGRAM_METRIC=NW0.NOOP_GAUGE_METRIC=NW0.NOOP_COUNTER_METRIC=NW0.NOOP_METER=NW0.NoopObservableUpDownCounterMetric=NW0.NoopObservableGaugeMetric=NW0.NoopObservableCounterMetric=NW0.NoopObservableMetric=NW0.NoopHistogramMetric=NW0.NoopGaugeMetric=NW0.NoopUpDownCounterMetric=NW0.NoopCounterMetric=NW0.NoopMetric=NW0.NoopMeter=void 0;class yh{constructor(){}createGauge(X,Q){return NW0.NOOP_GAUGE_METRIC}createHistogram(X,Q){return NW0.NOOP_HISTOGRAM_METRIC}createCounter(X,Q){return NW0.NOOP_COUNTER_METRIC}createUpDownCounter(X,Q){return NW0.NOOP_UP_DOWN_COUNTER_METRIC}createObservableGauge(X,Q){return NW0.NOOP_OBSERVABLE_GAUGE_METRIC}createObservableCounter(X,Q){return NW0.NOOP_OBSERVABLE_COUNTER_METRIC}createObservableUpDownCounter(X,Q){return NW0.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC}addBatchObservableCallback(X,Q){}removeBatchObservableCallback(X){}}NW0.NoopMeter=yh;class ZZ{}NW0.NoopMetric=ZZ;class fh extends ZZ{add(X,Q){}}NW0.NoopCounterMetric=fh;class hh extends ZZ{add(X,Q){}}NW0.NoopUpDownCounterMetric=hh;class gh extends ZZ{record(X,Q){}}NW0.NoopGaugeMetric=gh;class xh extends ZZ{record(X,Q){}}NW0.NoopHistogramMetric=xh;class AU{addCallback(X){}removeCallback(X){}}NW0.NoopObservableMetric=AU;class uh extends AU{}NW0.NoopObservableCounterMetric=uh;class mh extends AU{}NW0.NoopObservableGaugeMetric=mh;class lh extends AU{}NW0.NoopObservableUpDownCounterMetric=lh;NW0.NOOP_METER=new yh;NW0.NOOP_COUNTER_METRIC=new fh;NW0.NOOP_GAUGE_METRIC=new gh;NW0.NOOP_HISTOGRAM_METRIC=new xh;NW0.NOOP_UP_DOWN_COUNTER_METRIC=new hh;NW0.NOOP_OBSERVABLE_COUNTER_METRIC=new uh;NW0.NOOP_OBSERVABLE_GAUGE_METRIC=new mh;NW0.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=new lh;function Mt0(){return NW0.NOOP_METER}NW0.createNoopMeter=Mt0});var SW0=l((IW0)=>{Object.defineProperty(IW0,"__esModule",{value:!0});IW0.ValueType=void 0;var kt0;(function(X){X[X.INT=0]="INT",X[X.DOUBLE=1]="DOUBLE"})(kt0=IW0.ValueType||(IW0.ValueType={}))});var ch=l((vW0)=>{Object.defineProperty(vW0,"__esModule",{value:!0});vW0.defaultTextMapSetter=vW0.defaultTextMapGetter=void 0;vW0.defaultTextMapGetter={get(X,Q){if(X==null)return;return X[Q]},keys(X){if(X==null)return[];return Object.keys(X)}};vW0.defaultTextMapSetter={set(X,Q,J){if(X==null)return;X[Q]=J}}});var fW0=l((bW0)=>{Object.defineProperty(bW0,"__esModule",{value:!0});bW0.NoopContextManager=void 0;var bt0=TU();class _W0{active(){return bt0.ROOT_CONTEXT}with(X,Q,J,...Y){return Q.call(J,...Y)}bind(X,Q){return Q}enable(){return this}disable(){return this}}bW0.NoopContextManager=_W0});var EU=l((gW0)=>{Object.defineProperty(gW0,"__esModule",{value:!0});gW0.ContextAPI=void 0;var yt0=fW0(),nh=Q7(),hW0=J7(),ih="context",ft0=new yt0.NoopContextManager;class rh{constructor(){}static getInstance(){if(!this._instance)this._instance=new rh;return this._instance}setGlobalContextManager(X){return(0,nh.registerGlobal)(ih,X,hW0.DiagAPI.instance())}active(){return this._getContextManager().active()}with(X,Q,J,...Y){return this._getContextManager().with(X,Q,J,...Y)}bind(X,Q){return this._getContextManager().bind(X,Q)}_getContextManager(){return(0,nh.getGlobal)(ih)||ft0}disable(){this._getContextManager().disable(),(0,nh.unregisterGlobal)(ih,hW0.DiagAPI.instance())}}gW0.ContextAPI=rh});var oh=l((uW0)=>{Object.defineProperty(uW0,"__esModule",{value:!0});uW0.TraceFlags=void 0;var ht0;(function(X){X[X.NONE=0]="NONE",X[X.SAMPLED=1]="SAMPLED"})(ht0=uW0.TraceFlags||(uW0.TraceFlags={}))});var TP=l((mW0)=>{Object.defineProperty(mW0,"__esModule",{value:!0});mW0.INVALID_SPAN_CONTEXT=mW0.INVALID_TRACEID=mW0.INVALID_SPANID=void 0;var gt0=oh();mW0.INVALID_SPANID="0000000000000000";mW0.INVALID_TRACEID="00000000000000000000000000000000";mW0.INVALID_SPAN_CONTEXT={traceId:mW0.INVALID_TRACEID,spanId:mW0.INVALID_SPANID,traceFlags:gt0.TraceFlags.NONE}});var AP=l((nW0)=>{Object.defineProperty(nW0,"__esModule",{value:!0});nW0.NonRecordingSpan=void 0;var xt0=TP();class cW0{constructor(X=xt0.INVALID_SPAN_CONTEXT){this._spanContext=X}spanContext(){return this._spanContext}setAttribute(X,Q){return this}setAttributes(X){return this}addEvent(X,Q){return this}addLink(X){return this}addLinks(X){return this}setStatus(X){return this}updateName(X){return this}end(X){}isRecording(){return!1}recordException(X,Q){}}nW0.NonRecordingSpan=cW0});var eh=l((aW0)=>{Object.defineProperty(aW0,"__esModule",{value:!0});aW0.getSpanContext=aW0.setSpanContext=aW0.deleteSpan=aW0.setSpan=aW0.getActiveSpan=aW0.getSpan=void 0;var ut0=TU(),mt0=AP(),lt0=EU(),sh=(0,ut0.createContextKey)("OpenTelemetry Context Key SPAN");function th(X){return X.getValue(sh)||void 0}aW0.getSpan=th;function dt0(){return th(lt0.ContextAPI.getInstance().active())}aW0.getActiveSpan=dt0;function rW0(X,Q){return X.setValue(sh,Q)}aW0.setSpan=rW0;function pt0(X){return X.deleteValue(sh)}aW0.deleteSpan=pt0;function ct0(X,Q){return rW0(X,new mt0.NonRecordingSpan(Q))}aW0.setSpanContext=ct0;function nt0(X){var Q;return(Q=th(X))===null||Q===void 0?void 0:Q.spanContext()}aW0.getSpanContext=nt0});var EP=l((X70)=>{Object.defineProperty(X70,"__esModule",{value:!0});X70.wrapSpanContext=X70.isSpanContextValid=X70.isValidSpanId=X70.isValidTraceId=void 0;var sW0=TP(),tt0=AP(),et0=/^([0-9a-f]{32})$/i,Xe0=/^[0-9a-f]{16}$/i;function tW0(X){return et0.test(X)&&X!==sW0.INVALID_TRACEID}X70.isValidTraceId=tW0;function eW0(X){return Xe0.test(X)&&X!==sW0.INVALID_SPANID}X70.isValidSpanId=eW0;function Qe0(X){return tW0(X.traceId)&&eW0(X.spanId)}X70.isSpanContextValid=Qe0;function Je0(X){return new tt0.NonRecordingSpan(X)}X70.wrapSpanContext=Je0});var Jg=l((G70)=>{Object.defineProperty(G70,"__esModule",{value:!0});G70.NoopTracer=void 0;var We0=EU(),J70=eh(),Xg=AP(),He0=EP(),Qg=We0.ContextAPI.getInstance();class Y70{startSpan(X,Q,J=Qg.active()){if(Boolean(Q===null||Q===void 0?void 0:Q.root))return new Xg.NonRecordingSpan;let G=J&&(0,J70.getSpanContext)(J);if(Ke0(G)&&(0,He0.isSpanContextValid)(G))return new Xg.NonRecordingSpan(G);else return new Xg.NonRecordingSpan}startActiveSpan(X,Q,J,Y){let G,$,W;if(arguments.length<2)return;else if(arguments.length===2)W=Q;else if(arguments.length===3)G=Q,W=J;else G=Q,$=J,W=Y;let H=$!==null&&$!==void 0?$:Qg.active(),K=this.startSpan(X,G,H),Z=(0,J70.setSpan)(H,K);return Qg.with(Z,W,void 0,K)}}G70.NoopTracer=Y70;function Ke0(X){return typeof X==="object"&&typeof X.spanId==="string"&&typeof X.traceId==="string"&&typeof X.traceFlags==="number"}});var Yg=l((H70)=>{Object.defineProperty(H70,"__esModule",{value:!0});H70.ProxyTracer=void 0;var Ze0=Jg(),Fe0=new Ze0.NoopTracer;class W70{constructor(X,Q,J,Y){this._provider=X,this.name=Q,this.version=J,this.options=Y}startSpan(X,Q,J){return this._getTracer().startSpan(X,Q,J)}startActiveSpan(X,Q,J,Y){let G=this._getTracer();return Reflect.apply(G.startActiveSpan,G,arguments)}_getTracer(){if(this._delegate)return this._delegate;let X=this._provider.getDelegateTracer(this.name,this.version,this.options);if(!X)return Fe0;return this._delegate=X,this._delegate}}H70.ProxyTracer=W70});var q70=l((F70)=>{Object.defineProperty(F70,"__esModule",{value:!0});F70.NoopTracerProvider=void 0;var Ve0=Jg();class Z70{getTracer(X,Q,J){return new Ve0.NoopTracer}}F70.NoopTracerProvider=Z70});var Gg=l((z70)=>{Object.defineProperty(z70,"__esModule",{value:!0});z70.ProxyTracerProvider=void 0;var qe0=Yg(),Ue0=q70(),ze0=new Ue0.NoopTracerProvider;class U70{getTracer(X,Q,J){var Y;return(Y=this.getDelegateTracer(X,Q,J))!==null&&Y!==void 0?Y:new qe0.ProxyTracer(this,X,Q,J)}getDelegate(){var X;return(X=this._delegate)!==null&&X!==void 0?X:ze0}setDelegate(X){this._delegate=X}getDelegateTracer(X,Q,J){var Y;return(Y=this._delegate)===null||Y===void 0?void 0:Y.getTracer(X,Q,J)}}z70.ProxyTracerProvider=U70});var D70=l((L70)=>{Object.defineProperty(L70,"__esModule",{value:!0});L70.SamplingDecision=void 0;var Be0;(function(X){X[X.NOT_RECORD=0]="NOT_RECORD",X[X.RECORD=1]="RECORD",X[X.RECORD_AND_SAMPLED=2]="RECORD_AND_SAMPLED"})(Be0=L70.SamplingDecision||(L70.SamplingDecision={}))});var N70=l((j70)=>{Object.defineProperty(j70,"__esModule",{value:!0});j70.SpanKind=void 0;var Le0;(function(X){X[X.INTERNAL=0]="INTERNAL",X[X.SERVER=1]="SERVER",X[X.CLIENT=2]="CLIENT",X[X.PRODUCER=3]="PRODUCER",X[X.CONSUMER=4]="CONSUMER"})(Le0=j70.SpanKind||(j70.SpanKind={}))});var M70=l((O70)=>{Object.defineProperty(O70,"__esModule",{value:!0});O70.SpanStatusCode=void 0;var De0;(function(X){X[X.UNSET=0]="UNSET",X[X.OK=1]="OK",X[X.ERROR=2]="ERROR"})(De0=O70.SpanStatusCode||(O70.SpanStatusCode={}))});var T70=l((w70)=>{Object.defineProperty(w70,"__esModule",{value:!0});w70.validateValue=w70.validateKey=void 0;var Kg="[_0-9a-z-*/]",je0=`[a-z]${Kg}{0,255}`,Ne0=`[a-z0-9]${Kg}{0,240}@[a-z]${Kg}{0,13}`,Oe0=new RegExp(`^(?:${je0}|${Ne0})$`),Me0=/^[ -~]{0,255}[!-~]$/,we0=/,|=/;function Pe0(X){return Oe0.test(X)}w70.validateKey=Pe0;function Te0(X){return Me0.test(X)&&!we0.test(X)}w70.validateValue=Te0});var v70=l((I70)=>{Object.defineProperty(I70,"__esModule",{value:!0});I70.TraceStateImpl=void 0;var A70=T70(),E70=32,Ee0=512,C70=",",R70="=";class Zg{constructor(X){if(this._internalState=new Map,X)this._parse(X)}set(X,Q){let J=this._clone();if(J._internalState.has(X))J._internalState.delete(X);return J._internalState.set(X,Q),J}unset(X){let Q=this._clone();return Q._internalState.delete(X),Q}get(X){return this._internalState.get(X)}serialize(){return this._keys().reduce((X,Q)=>{return X.push(Q+R70+this.get(Q)),X},[]).join(C70)}_parse(X){if(X.length>Ee0)return;if(this._internalState=X.split(C70).reverse().reduce((Q,J)=>{let Y=J.trim(),G=Y.indexOf(R70);if(G!==-1){let $=Y.slice(0,G),W=Y.slice(G+1,J.length);if((0,A70.validateKey)($)&&(0,A70.validateValue)(W))Q.set($,W)}return Q},new Map),this._internalState.size>E70)this._internalState=new Map(Array.from(this._internalState.entries()).reverse().slice(0,E70))}_keys(){return Array.from(this._internalState.keys()).reverse()}_clone(){let X=new Zg;return X._internalState=new Map(this._internalState),X}}I70.TraceStateImpl=Zg});var b70=l((k70)=>{Object.defineProperty(k70,"__esModule",{value:!0});k70.createTraceState=void 0;var Ce0=v70();function Re0(X){return new Ce0.TraceStateImpl(X)}k70.createTraceState=Re0});var h70=l((y70)=>{Object.defineProperty(y70,"__esModule",{value:!0});y70.context=void 0;var Ie0=EU();y70.context=Ie0.ContextAPI.getInstance()});var u70=l((g70)=>{Object.defineProperty(g70,"__esModule",{value:!0});g70.diag=void 0;var Se0=J7();g70.diag=Se0.DiagAPI.instance()});var d70=l((m70)=>{Object.defineProperty(m70,"__esModule",{value:!0});m70.NOOP_METER_PROVIDER=m70.NoopMeterProvider=void 0;var ve0=dh();class Fg{getMeter(X,Q,J){return ve0.NOOP_METER}}m70.NoopMeterProvider=Fg;m70.NOOP_METER_PROVIDER=new Fg});var i70=l((c70)=>{Object.defineProperty(c70,"__esModule",{value:!0});c70.MetricsAPI=void 0;var _e0=d70(),Vg=Q7(),p70=J7(),qg="metrics";class Ug{constructor(){}static getInstance(){if(!this._instance)this._instance=new Ug;return this._instance}setGlobalMeterProvider(X){return(0,Vg.registerGlobal)(qg,X,p70.DiagAPI.instance())}getMeterProvider(){return(0,Vg.getGlobal)(qg)||_e0.NOOP_METER_PROVIDER}getMeter(X,Q,J){return this.getMeterProvider().getMeter(X,Q,J)}disable(){(0,Vg.unregisterGlobal)(qg,p70.DiagAPI.instance())}}c70.MetricsAPI=Ug});var o70=l((r70)=>{Object.defineProperty(r70,"__esModule",{value:!0});r70.metrics=void 0;var be0=i70();r70.metrics=be0.MetricsAPI.getInstance()});var XH0=l((t70)=>{Object.defineProperty(t70,"__esModule",{value:!0});t70.NoopTextMapPropagator=void 0;class s70{inject(X,Q){}extract(X,Q){return X}fields(){return[]}}t70.NoopTextMapPropagator=s70});var GH0=l((JH0)=>{Object.defineProperty(JH0,"__esModule",{value:!0});JH0.deleteBaggage=JH0.setBaggage=JH0.getActiveBaggage=JH0.getBaggage=void 0;var ye0=EU(),fe0=TU(),zg=(0,fe0.createContextKey)("OpenTelemetry Baggage Key");function QH0(X){return X.getValue(zg)||void 0}JH0.getBaggage=QH0;function he0(){return QH0(ye0.ContextAPI.getInstance().active())}JH0.getActiveBaggage=he0;function ge0(X,Q){return X.setValue(zg,Q)}JH0.setBaggage=ge0;function xe0(X){return X.deleteValue(zg)}JH0.deleteBaggage=xe0});var ZH0=l((HH0)=>{Object.defineProperty(HH0,"__esModule",{value:!0});HH0.PropagationAPI=void 0;var Bg=Q7(),de0=XH0(),$H0=ch(),CP=GH0(),pe0=_h(),WH0=J7(),Lg="propagation",ce0=new de0.NoopTextMapPropagator;class Dg{constructor(){this.createBaggage=pe0.createBaggage,this.getBaggage=CP.getBaggage,this.getActiveBaggage=CP.getActiveBaggage,this.setBaggage=CP.setBaggage,this.deleteBaggage=CP.deleteBaggage}static getInstance(){if(!this._instance)this._instance=new Dg;return this._instance}setGlobalPropagator(X){return(0,Bg.registerGlobal)(Lg,X,WH0.DiagAPI.instance())}inject(X,Q,J=$H0.defaultTextMapSetter){return this._getGlobalPropagator().inject(X,Q,J)}extract(X,Q,J=$H0.defaultTextMapGetter){return this._getGlobalPropagator().extract(X,Q,J)}fields(){return this._getGlobalPropagator().fields()}disable(){(0,Bg.unregisterGlobal)(Lg,WH0.DiagAPI.instance())}_getGlobalPropagator(){return(0,Bg.getGlobal)(Lg)||ce0}}HH0.PropagationAPI=Dg});var qH0=l((FH0)=>{Object.defineProperty(FH0,"__esModule",{value:!0});FH0.propagation=void 0;var ne0=ZH0();FH0.propagation=ne0.PropagationAPI.getInstance()});var jH0=l((LH0)=>{Object.defineProperty(LH0,"__esModule",{value:!0});LH0.TraceAPI=void 0;var jg=Q7(),UH0=Gg(),zH0=EP(),FZ=eh(),BH0=J7(),Ng="trace";class Og{constructor(){this._proxyTracerProvider=new UH0.ProxyTracerProvider,this.wrapSpanContext=zH0.wrapSpanContext,this.isSpanContextValid=zH0.isSpanContextValid,this.deleteSpan=FZ.deleteSpan,this.getSpan=FZ.getSpan,this.getActiveSpan=FZ.getActiveSpan,this.getSpanContext=FZ.getSpanContext,this.setSpan=FZ.setSpan,this.setSpanContext=FZ.setSpanContext}static getInstance(){if(!this._instance)this._instance=new Og;return this._instance}setGlobalTracerProvider(X){let Q=(0,jg.registerGlobal)(Ng,this._proxyTracerProvider,BH0.DiagAPI.instance());if(Q)this._proxyTracerProvider.setDelegate(X);return Q}getTracerProvider(){return(0,jg.getGlobal)(Ng)||this._proxyTracerProvider}getTracer(X,Q){return this.getTracerProvider().getTracer(X,Q)}disable(){(0,jg.unregisterGlobal)(Ng,BH0.DiagAPI.instance()),this._proxyTracerProvider=new UH0.ProxyTracerProvider}}LH0.TraceAPI=Og});var MH0=l((NH0)=>{Object.defineProperty(NH0,"__esModule",{value:!0});NH0.trace=void 0;var ie0=jH0();NH0.trace=ie0.TraceAPI.getInstance()});var IH0=l(($8)=>{Object.defineProperty($8,"__esModule",{value:!0});$8.trace=$8.propagation=$8.metrics=$8.diag=$8.context=$8.INVALID_SPAN_CONTEXT=$8.INVALID_TRACEID=$8.INVALID_SPANID=$8.isValidSpanId=$8.isValidTraceId=$8.isSpanContextValid=$8.createTraceState=$8.TraceFlags=$8.SpanStatusCode=$8.SpanKind=$8.SamplingDecision=$8.ProxyTracerProvider=$8.ProxyTracer=$8.defaultTextMapSetter=$8.defaultTextMapGetter=$8.ValueType=$8.createNoopMeter=$8.DiagLogLevel=$8.DiagConsoleLogger=$8.ROOT_CONTEXT=$8.createContextKey=$8.baggageEntryMetadataFromString=void 0;var re0=_h();Object.defineProperty($8,"baggageEntryMetadataFromString",{enumerable:!0,get:function(){return re0.baggageEntryMetadataFromString}});var wH0=TU();Object.defineProperty($8,"createContextKey",{enumerable:!0,get:function(){return wH0.createContextKey}});Object.defineProperty($8,"ROOT_CONTEXT",{enumerable:!0,get:function(){return wH0.ROOT_CONTEXT}});var ae0=jW0();Object.defineProperty($8,"DiagConsoleLogger",{enumerable:!0,get:function(){return ae0.DiagConsoleLogger}});var oe0=MP();Object.defineProperty($8,"DiagLogLevel",{enumerable:!0,get:function(){return oe0.DiagLogLevel}});var se0=dh();Object.defineProperty($8,"createNoopMeter",{enumerable:!0,get:function(){return se0.createNoopMeter}});var te0=SW0();Object.defineProperty($8,"ValueType",{enumerable:!0,get:function(){return te0.ValueType}});var PH0=ch();Object.defineProperty($8,"defaultTextMapGetter",{enumerable:!0,get:function(){return PH0.defaultTextMapGetter}});Object.defineProperty($8,"defaultTextMapSetter",{enumerable:!0,get:function(){return PH0.defaultTextMapSetter}});var ee0=Yg();Object.defineProperty($8,"ProxyTracer",{enumerable:!0,get:function(){return ee0.ProxyTracer}});var X04=Gg();Object.defineProperty($8,"ProxyTracerProvider",{enumerable:!0,get:function(){return X04.ProxyTracerProvider}});var Q04=D70();Object.defineProperty($8,"SamplingDecision",{enumerable:!0,get:function(){return Q04.SamplingDecision}});var J04=N70();Object.defineProperty($8,"SpanKind",{enumerable:!0,get:function(){return J04.SpanKind}});var Y04=M70();Object.defineProperty($8,"SpanStatusCode",{enumerable:!0,get:function(){return Y04.SpanStatusCode}});var G04=oh();Object.defineProperty($8,"TraceFlags",{enumerable:!0,get:function(){return G04.TraceFlags}});var $04=b70();Object.defineProperty($8,"createTraceState",{enumerable:!0,get:function(){return $04.createTraceState}});var Mg=EP();Object.defineProperty($8,"isSpanContextValid",{enumerable:!0,get:function(){return Mg.isSpanContextValid}});Object.defineProperty($8,"isValidTraceId",{enumerable:!0,get:function(){return Mg.isValidTraceId}});Object.defineProperty($8,"isValidSpanId",{enumerable:!0,get:function(){return Mg.isValidSpanId}});var wg=TP();Object.defineProperty($8,"INVALID_SPANID",{enumerable:!0,get:function(){return wg.INVALID_SPANID}});Object.defineProperty($8,"INVALID_TRACEID",{enumerable:!0,get:function(){return wg.INVALID_TRACEID}});Object.defineProperty($8,"INVALID_SPAN_CONTEXT",{enumerable:!0,get:function(){return wg.INVALID_SPAN_CONTEXT}});var TH0=h70();Object.defineProperty($8,"context",{enumerable:!0,get:function(){return TH0.context}});var AH0=u70();Object.defineProperty($8,"diag",{enumerable:!0,get:function(){return AH0.diag}});var EH0=o70();Object.defineProperty($8,"metrics",{enumerable:!0,get:function(){return EH0.metrics}});var CH0=qH0();Object.defineProperty($8,"propagation",{enumerable:!0,get:function(){return CH0.propagation}});var RH0=MH0();Object.defineProperty($8,"trace",{enumerable:!0,get:function(){return RH0.trace}});$8.default={context:TH0.context,diag:AH0.diag,metrics:EH0.metrics,propagation:CH0.propagation,trace:RH0.trace}});function Q4(X){return{...X,execute:async(Q,J)=>{let Y=Date.now();return await J.timings.measure(`tool.${X.name}`,async()=>J.tracer.startActiveSpan(`tool.${X.name}`,{attributes:{"tool.name":X.name,"organization.id":J.organization?.id??"system","user.id":J.auth.user?.id??J.auth.apiKey?.userId??"anonymous"}},async(G)=>{try{J.toolName=X.name,J.access.setToolName?.(X.name);let $=await X.handler(Q,J),W=Date.now()-Y;return J.meter.createHistogram("tool.execution.duration",{description:"Duration of tool executions in milliseconds",unit:"ms"}).record(W,{"tool.name":X.name,"organization.id":J.organization?.id??"system",status:"success"}),J.meter.createCounter("tool.execution.count",{description:"Number of tool executions"}).add(1,{"tool.name":X.name,status:"success"}),G.setStatus({code:Pg.SpanStatusCode.OK}),$}catch($){throw J.meter.createCounter("tool.execution.errors",{description:"Number of tool execution errors"}).add(1,{"tool.name":X.name,"error.type":$.constructor.name}),G.setStatus({code:Pg.SpanStatusCode.ERROR,message:$.message}),G.recordException($),$}finally{G.end()}}))}}}var Pg;var Y6=m(()=>{Pg=WJ(IH0(),1)});function e4(X){if(!X.organization)throw Error("This operation requires organization scope");return X.organization}function p1(X){return X.auth.user?.id??X.auth.apiKey?.userId}function K04(X){return!!(X.auth.user||X.auth.apiKey)}function B4(X){if(!K04(X))throw Error("Authentication required")}var RP,SH0,vH0,kH0,_H0,bH0,yH0,fH0,hH0,gH0;var VZ=m(()=>{d0();RP=N.record(N.string(),N.array(N.string())),SH0=N.object({id:N.string().describe("Unique identifier for the API key"),name:N.string().describe("Human-readable name for the API key"),userId:N.string().describe("ID of the user who owns this API key"),permissions:RP.describe('Permissions granted to this API key. Format: { resource: [actions] } where resource is "self" for management tools or "conn_<UUID>" for connection-specific tools. Example: { "self": ["API_KEY_CREATE"], "conn_abc123": ["SEND_MESSAGE"] }'),expiresAt:N.string().datetime().nullable().optional().describe("Expiration date of the API key (ISO 8601)"),createdAt:N.string().datetime().describe("When the API key was created (ISO 8601)")}),vH0=N.object({name:N.string().min(1).max(64).describe("Human-readable name for the API key"),permissions:RP.optional().describe('Permissions to grant. Format: { resource: [actions] }. Resource is "self" for management tools or "conn_<UUID>" for connection-specific tools. Actions are tool names (e.g., ["API_KEY_CREATE"]) or ["*"] for all. Example: { "self": ["API_KEY_CREATE", "COLLECTION_CONNECTIONS_LIST"] }. Defaults to read-only permissions.'),expiresIn:N.number().positive().optional().describe("Expiration time in seconds. If not provided, key never expires."),metadata:N.record(N.string(),N.unknown()).optional().describe("Additional metadata to store with the API key")}),kH0=N.object({id:N.string().describe("Unique identifier for the API key"),name:N.string().describe("Human-readable name for the API key"),key:N.string().describe("The actual API key value. STORE THIS SECURELY - it will not be shown again!"),permissions:RP.describe('Permissions granted to this API key. Format: { resource: [actions] } where resource is "self" for management tools or "conn_<UUID>" for connection-specific tools'),expiresAt:N.string().datetime().nullable().optional().describe("Expiration date of the API key (ISO 8601)"),createdAt:N.string().datetime().describe("When the API key was created (ISO 8601)")}),_H0=N.object({}),bH0=N.object({items:N.array(SH0).describe("List of API keys (without key values)")}),yH0=N.object({keyId:N.string().describe("ID of the API key to update"),name:N.string().min(1).max(64).optional().describe("New name for the API key"),permissions:RP.optional().describe('New permissions. Format: { resource: [actions] } where resource is "self" for management tools or "conn_<UUID>" for connection-specific tools. Actions are tool names or "*" for all. Example: { "self": ["API_KEY_CREATE"] }. Replaces existing permissions.'),metadata:N.record(N.string(),N.unknown()).optional().describe("New metadata. Replaces existing metadata.")}),fH0=N.object({item:SH0.describe("The updated API key (without key value)")}),hH0=N.object({keyId:N.string().describe("ID of the API key to delete")}),gH0=N.object({success:N.boolean().describe("Whether the deletion was successful"),keyId:N.string().describe("ID of the deleted API key")})});var Tg;var xH0=m(()=>{Y6();VZ();Tg=Q4({name:"API_KEY_CREATE",description:"Create a new API key with specified permissions. The key value is only returned once - store it securely!",inputSchema:vH0,outputSchema:kH0,handler:async(X,Q)=>{B4(Q),await Q.access.check();let J=await Q.boundAuth.apiKey.create({name:X.name,permissions:X.permissions,expiresIn:X.expiresIn,metadata:{...X.metadata,organization:Q.organization}}),Y=J.expiresAt?J.expiresAt instanceof Date?J.expiresAt.toISOString():J.expiresAt:null,G=J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt;return{id:J.id,name:J.name??X.name,key:J.key,permissions:J.permissions??{},expiresAt:Y,createdAt:G}}})});var Ag;var uH0=m(()=>{Y6();VZ();Ag=Q4({name:"API_KEY_DELETE",description:"Delete an API key. This instantly revokes the key - it can no longer be used for authentication.",inputSchema:hH0,outputSchema:gH0,handler:async(X,Q)=>{if(B4(Q),await Q.access.check(),!p1(Q))throw Error("User ID required to delete API key");let G=(await Q.boundAuth.apiKey.list())?.find((K)=>K.id===X.keyId);if(!G)throw Error("API key not found");let W=G.metadata?.organization?.id,H=Q.organization?.id;if(W!==H)throw Error("Cannot delete API key from another organization");return await Q.boundAuth.apiKey.delete(X.keyId),{success:!0,keyId:X.keyId}}})});var Eg;var mH0=m(()=>{Y6();VZ();Eg=Q4({name:"API_KEY_LIST",description:"List all API keys for the current user in the current organization. Returns metadata only - key values are never shown after creation.",inputSchema:_H0,outputSchema:bH0,handler:async(X,Q)=>{B4(Q),await Q.access.check();let J=await Q.boundAuth.apiKey.list(),Y=Q.organization?.id;return{items:(J??[]).filter(($)=>{return $.metadata?.organization?.id===Y}).map(($)=>({id:$.id,name:$.name??"Unnamed Key",userId:$.userId,permissions:$.permissions??{},expiresAt:$.expiresAt?$.expiresAt instanceof Date?$.expiresAt.toISOString():$.expiresAt:null,createdAt:$.createdAt instanceof Date?$.createdAt.toISOString():$.createdAt}))}}})});var Cg;var lH0=m(()=>{Y6();VZ();Cg=Q4({name:"API_KEY_UPDATE",description:"Update an existing API key's name, permissions, or metadata. Note: Key value cannot be changed or retrieved.",inputSchema:yH0,outputSchema:fH0,handler:async(X,Q)=>{if(B4(Q),await Q.access.check(),!p1(Q))throw Error("User ID required to update API key");let G=(await Q.boundAuth.apiKey.list())?.find((Z)=>Z.id===X.keyId);if(!G)throw Error(`API key not found: ${X.keyId}`);let W=G.metadata?.organization?.id,H=Q.organization?.id;if(W!==H)throw Error("Cannot update API key from another organization");let K=await Q.boundAuth.apiKey.update({keyId:X.keyId,name:X.name,permissions:X.permissions,metadata:{...X.metadata,organization:Q.organization}});if(!K)throw Error(`Failed to update API key: ${X.keyId}`);return{item:{id:K.id,name:K.name??X.name??"Unnamed Key",userId:K.userId,permissions:K.permissions??{},expiresAt:K.expiresAt?K.expiresAt instanceof Date?K.expiresAt.toISOString():K.expiresAt:null,createdAt:K.createdAt instanceof Date?K.createdAt.toISOString():K.createdAt}}}})});var dH0=m(()=>{xH0();uH0();mH0();lH0();VZ()});var F04,V04,Rg;var pH0=m(()=>{wM();d0();Y6();OP();u$();F04=N.object({data:YX0.describe("Data for the new connection (id is auto-generated if not provided)")}),V04=N.object({item:mJ.describe("The created connection entity")}),Rg=Q4({name:"COLLECTION_CONNECTIONS_CREATE",description:"Create a new MCP connection in the organization",inputSchema:F04,outputSchema:V04,handler:async(X,Q)=>{B4(Q);let J=e4(Q);await Q.access.check();let Y=p1(Q);if(!Y)throw Error("User ID required to create connection");let G={...X.data,organization_id:J.id,created_by:Y},$=await WZ({id:`pending-${Date.now()}`,title:G.title,connection_type:G.connection_type,connection_url:G.connection_url,connection_token:G.connection_token,connection_headers:G.connection_headers}).catch(()=>null),W=$?.length?$:null,H=await Q.storage.connections.create({...G,tools:W});return await Q.eventBus.publish(J.id,MM.SELF(J.id),{type:"connection.created",data:H}),{item:H}}})});function CU(X,Q){if(X===Q)return!0;if(X==null||Q==null)return X===Q;if(typeof X!==typeof Q)return!1;if(Array.isArray(X)&&Array.isArray(Q)){if(X.length!==Q.length)return!1;return X.every((J,Y)=>CU(J,Q[Y]))}if(typeof X==="object"&&typeof Q==="object"){let J=Object.keys(X),Y=Object.keys(Q);if(J.length!==Y.length)return!1;return J.every((G)=>Y.includes(G)&&CU(X[G],Q[G]))}return!1}function b04(){return(X)=>{if(!Array.isArray(X))return!0;let Q=[];return X.every((J)=>{if(Q.some((G)=>CU(J,G)))return!1;return Q.push(J),!0})}}function IP(X,Q){return X.safeParse(Q).success}function UX(X){if(typeof X==="boolean")return X?N.any():N.never();let Q={};for(let G of r04)G.apply(Q,X);let J=[];if(Q.string!==!1)J.push(Q.string||N.string());if(Q.number!==!1)J.push(Q.number||N.number());if(Q.boolean!==!1)J.push(Q.boolean||N.boolean());if(Q.null!==!1)J.push(Q.null||N.null());if(Q.array!==!1)J.push(Q.array||N.array(N.any()));if(Q.tuple!==!1&&Q.tuple!==void 0)J.push(Q.tuple);if(Q.object!==!1)if(Q.object)J.push(Q.object);else{let G=N.custom(($)=>{return typeof $==="object"&&$!==null&&!Array.isArray($)},"Must be an object, not an array");J.push(G)}if(Q.file!==!1&&Q.file!==void 0)J.push(Q.file);let Y;if(J.length===0)Y=N.never();else if(J.length===1)Y=J[0];else if(!Object.keys(X).some(($)=>$!=="$schema"&&$!=="title"&&$!=="description"))Y=N.any();else Y=N.union(J);for(let G of a04)Y=G.apply(Y,X);return Y}var q04=class{apply(X,Q){if(!Q.type)return;let J=Array.isArray(Q.type)?Q.type:[Q.type],Y=new Set(J);if(!Y.has("string"))X.string=!1;if(!Y.has("number")&&!Y.has("integer"))X.number=!1;if(!Y.has("boolean"))X.boolean=!1;if(!Y.has("null"))X.null=!1;if(!Y.has("array"))X.array=!1;if(!Y.has("object"))X.object=!1;if(Y.has("integer")&&X.number!==!1){let G=X.number||N.number();if(G instanceof N.ZodNumber)X.number=G.int()}}},U04=class{apply(X,Q){if(Q.const===void 0)return;let J=Q.const;if(X.string=!1,X.number=!1,X.boolean=!1,X.null=!1,X.array=!1,X.object=!1,typeof J==="string")X.string=N.literal(J);else if(typeof J==="number")X.number=N.literal(J);else if(typeof J==="boolean")X.boolean=N.literal(J);else if(J===null)X.null=N.null();else if(Array.isArray(J))X.array=void 0;else if(typeof J==="object")X.object=void 0}},z04=class{apply(X,Q){if(!Q.enum)return;if(Q.enum.length===0){if(!Q.type)X.string=!1,X.number=!1,X.boolean=!1,X.null=!1,X.array=!1,X.object=!1;return}let J={string:Q.enum.filter((Y)=>typeof Y==="string"),number:Q.enum.filter((Y)=>typeof Y==="number"),boolean:Q.enum.filter((Y)=>typeof Y==="boolean"),null:Q.enum.filter((Y)=>Y===null),array:Q.enum.filter((Y)=>Array.isArray(Y)),object:Q.enum.filter((Y)=>typeof Y==="object"&&Y!==null&&!Array.isArray(Y))};X.string=this.createTypeSchema(J.string,"string"),X.number=this.createTypeSchema(J.number,"number"),X.boolean=this.createTypeSchema(J.boolean,"boolean"),X.null=J.null.length>0?N.null():!1,X.array=J.array.length>0?void 0:!1,X.object=J.object.length>0?void 0:!1}createTypeSchema(X,Q){if(X.length===0)return!1;if(X.length===1)return N.literal(X[0]);if(Q==="string")return N.enum(X);if(Q==="number"){let[J,Y,...G]=X;return N.union([N.literal(J),N.literal(Y),...G.map(($)=>N.literal($))])}if(Q==="boolean")return N.union([N.literal(!0),N.literal(!1)]);return!1}},B04=class{apply(X,Q){let J=Q;if(J.type==="string"&&J.format==="binary"&&J.contentEncoding==="binary"){let Y=N.file();if(J.minLength!==void 0)Y=Y.min(J.minLength);if(J.maxLength!==void 0)Y=Y.max(J.maxLength);if(J.contentMediaType!==void 0)Y=Y.mime(J.contentMediaType);X.file=Y,X.string=!1}}},L04=class{apply(X,Q){let J=Q;if(Q.type===void 0&&(J.minLength!==void 0||J.maxLength!==void 0||J.pattern!==void 0)){if(X.string===void 0)X.string=N.string()}}},D04=class{apply(X,Q){let J=Q;if(J.minLength===void 0)return;if(X.string!==!1){let Y=X.string||N.string();if(Y instanceof N.ZodString)X.string=Y.refine((G)=>{return Array.from(G).length>=J.minLength},{message:`String must be at least ${J.minLength} characters long`})}}},j04=class{apply(X,Q){let J=Q;if(J.maxLength===void 0)return;if(X.string!==!1){let Y=X.string||N.string();if(Y instanceof N.ZodString)X.string=Y.refine((G)=>{return Array.from(G).length<=J.maxLength},{message:`String must be at most ${J.maxLength} characters long`})}}},N04=class{apply(X,Q){let J=Q;if(!J.pattern)return;if(X.string!==!1){let Y=X.string||N.string();if(Y instanceof N.ZodString){let G=new RegExp(J.pattern);X.string=Y.regex(G)}}}},O04=class{apply(X,Q){let J=Q;if(J.minimum===void 0)return;if(X.number!==!1){let Y=X.number||N.number();if(Y instanceof N.ZodNumber)X.number=Y.min(J.minimum)}}},M04=class{apply(X,Q){let J=Q;if(J.maximum===void 0)return;if(X.number!==!1){let Y=X.number||N.number();if(Y instanceof N.ZodNumber)X.number=Y.max(J.maximum)}}},w04=class{apply(X,Q){let J=Q;if(J.exclusiveMinimum===void 0)return;if(X.number!==!1){let Y=X.number||N.number();if(Y instanceof N.ZodNumber)if(typeof J.exclusiveMinimum==="number")X.number=Y.gt(J.exclusiveMinimum);else X.number=!1}}},P04=class{apply(X,Q){let J=Q;if(J.exclusiveMaximum===void 0)return;if(X.number!==!1){let Y=X.number||N.number();if(Y instanceof N.ZodNumber)if(typeof J.exclusiveMaximum==="number")X.number=Y.lt(J.exclusiveMaximum);else X.number=!1}}},T04=class{apply(X,Q){let J=Q;if(J.multipleOf===void 0)return;if(X.number!==!1){let Y=X.number||N.number();if(Y instanceof N.ZodNumber)X.number=Y.refine((G)=>{if(J.multipleOf===0)return!1;let $=G/J.multipleOf,W=Math.round($),H=Math.min(Math.abs(G)*Number.EPSILON*10,Math.abs(J.multipleOf)*Number.EPSILON*10);return Math.abs($-W)<=H/Math.abs(J.multipleOf)},{message:`Must be a multiple of ${J.multipleOf}`})}}},A04=class{apply(X,Q){let J=Q;if(Q.type===void 0&&(J.minItems!==void 0||J.maxItems!==void 0||J.items!==void 0||J.prefixItems!==void 0)){if(X.array===void 0)X.array=N.array(N.any())}}},E04=class{apply(X,Q){let J=Q;if(J.minItems===void 0)return;if(X.array!==!1)X.array=(X.array||N.array(N.any())).min(J.minItems)}},C04=class{apply(X,Q){let J=Q;if(J.maxItems===void 0)return;if(X.array!==!1)X.array=(X.array||N.array(N.any())).max(J.maxItems)}},R04=class{apply(X,Q){let J=Q;if(X.array===!1)return;if(Array.isArray(J.items))X.array=X.array||N.array(N.any());else if(J.items&&typeof J.items!=="boolean"&&!J.prefixItems){let Y=UX(J.items),G=N.array(Y);if(X.array&&X.array instanceof N.ZodArray){let $=X.array._def;if($.checks)$.checks.forEach((W)=>{if(W._zod&&W._zod.def){let H=W._zod.def;if(H.check==="min_length"&&H.minimum!==void 0)G=G.min(H.minimum);else if(H.check==="max_length"&&H.maximum!==void 0)G=G.max(H.maximum)}})}X.array=G}else if(typeof J.items==="boolean"&&J.items===!1)if(!J.prefixItems)X.array=N.array(N.any()).max(0);else X.array=X.array||N.array(N.any());else if(typeof J.items==="boolean"&&J.items===!0)X.array=X.array||N.array(N.any());else if(J.prefixItems)X.array=X.array||N.array(N.any())}},I04=class{apply(X,Q){if(Q.type!=="array")return;let J=Q;if(!Array.isArray(J.items))return;if(X.array===!1)return;let Y=J.items.map(($)=>UX($)),G;if(Y.length===0)G=N.tuple([]);else G=N.tuple(Y);if(J.minItems!==void 0&&J.minItems>Y.length)G=!1;if(J.maxItems!==void 0&&J.maxItems<Y.length)G=!1;X.tuple=G,X.array=!1}},S04=class{apply(X,Q){let J=Q;if(X.object===!1)return;if(J.properties||J.required||J.additionalProperties!==void 0)X.object=X.object||N.object({}).passthrough()}},v04=class{apply(X,Q){let J=Q;if(Q.type===void 0&&(J.maxProperties!==void 0||J.minProperties!==void 0)){if(X.object===void 0)X.object=N.object({}).passthrough()}}},k04=class{apply(X,Q){let J=Q;if(J.maxProperties===void 0)return;if(X.object!==!1){let Y=X.object||N.object({}).passthrough();X.object=Y.refine((G)=>Object.keys(G).length<=J.maxProperties,{message:`Object must have at most ${J.maxProperties} properties`})}}},_04=class{apply(X,Q){let J=Q;if(J.minProperties===void 0)return;if(X.object!==!1){let Y=X.object||N.object({}).passthrough();X.object=Y.refine((G)=>Object.keys(G).length>=J.minProperties,{message:`Object must have at least ${J.minProperties} properties`})}}},y04=class{apply(X,Q){if(!Q.not)return X;let J=UX(Q.not);return X.refine((Y)=>!IP(J,Y),{message:"Value must not match the 'not' schema"})}},f04=class{apply(X,Q){if(Q.uniqueItems!==!0)return X;return X.refine(b04(),{message:"Array items must be unique"})}},h04=class{apply(X,Q){if(!Q.allOf||Q.allOf.length===0)return X;return Q.allOf.map((Y)=>UX(Y)).reduce((Y,G)=>N.intersection(Y,G),X)}},g04=class{apply(X,Q){if(!Q.anyOf||Q.anyOf.length===0)return X;let J=Q.anyOf.length===1?UX(Q.anyOf[0]):N.union([UX(Q.anyOf[0]),UX(Q.anyOf[1]),...Q.anyOf.slice(2).map((Y)=>UX(Y))]);return N.intersection(X,J)}},x04=class{apply(X,Q){if(!Q.oneOf||Q.oneOf.length===0)return X;let J=Q.oneOf.map((Y)=>UX(Y));return X.refine((Y)=>{let G=0;for(let $ of J)if($.safeParse(Y).success){if(G++,G>1)return!1}return G===1},{message:"Value must match exactly one of the oneOf schemas"})}},u04=class{apply(X,Q){let J=Q;if(J.prefixItems&&Array.isArray(J.prefixItems)){let G=J.prefixItems.map(($)=>UX($));return X.refine(($)=>{if(!Array.isArray($))return!0;for(let W=0;W<Math.min($.length,G.length);W++)if(!IP(G[W],$[W]))return!1;if($.length>G.length){if(typeof J.items==="boolean"&&J.items===!1)return!1;else if(J.items&&typeof J.items==="object"&&!Array.isArray(J.items)){let W=UX(J.items);for(let H=G.length;H<$.length;H++)if(!IP(W,$[H]))return!1}}return!0},{message:"Array does not match prefixItems schema"})}return X}},m04=class{apply(X,Q){let J=Q;if(!J.properties&&!J.required&&J.additionalProperties!==!1)return X;if(X instanceof N.ZodObject||X instanceof N.ZodRecord){let Y={};if(J.properties){for(let[G,$]of Object.entries(J.properties))if($!==void 0)Y[G]=UX($)}if(J.required&&Array.isArray(J.required)){let G=new Set(J.required);for(let $ of Object.keys(Y))if(!G.has($))Y[$]=Y[$].optional()}else for(let G of Object.keys(Y))Y[G]=Y[G].optional();if(J.additionalProperties===!1)return N.object(Y);else return N.object(Y).passthrough()}return X.refine((Y)=>{if(typeof Y!=="object"||Y===null||Array.isArray(Y))return!0;if(J.properties){for(let[G,$]of Object.entries(J.properties))if($!==void 0){if(Object.getOwnPropertyDescriptor(Y,G)!==void 0){if(!UX($).safeParse(Y[G]).success)return!1}}}if(J.required&&Array.isArray(J.required)){for(let G of J.required)if(Object.getOwnPropertyDescriptor(Y,G)===void 0)return!1}if(J.additionalProperties===!1&&J.properties){let G=new Set(Object.keys(J.properties));for(let $ in Y)if(!G.has($))return!1}return!0},{message:"Object constraints validation failed"})}},l04=class{apply(X,Q){if(!Q.enum||Q.enum.length===0)return X;let J=Q.enum.filter((Y)=>Array.isArray(Y)||typeof Y==="object"&&Y!==null);if(J.length===0)return X;return X.refine((Y)=>{if(typeof Y!=="object"||Y===null)return!0;return J.some((G)=>CU(Y,G))},{message:"Value must match one of the enum values"})}},d04=class{apply(X,Q){if(Q.const===void 0)return X;let J=Q.const;if(typeof J!=="object"||J===null)return X;return X.refine((Y)=>CU(Y,J),{message:"Value must equal the const value"})}},p04=class{apply(X,Q){if(Q.description)X=X.describe(Q.description);return X}},c04=class{apply(X,Q){var J;let Y=Q;if(!((J=Y.required)==null?void 0:J.includes("__proto__"))||Q.type!==void 0)return X;return N.any().refine((G)=>this.validateRequired(G,Y.required),{message:"Missing required properties"})}validateRequired(X,Q){if(typeof X!=="object"||X===null||Array.isArray(X))return!0;return Q.every((J)=>Object.prototype.hasOwnProperty.call(X,J))}},n04=class{apply(X,Q){var J;let Y=Q;if(Y.contains===void 0)return X;let G=UX(Y.contains),$=(J=Y.minContains)!=null?J:1,W=Y.maxContains;return X.refine((H)=>{if(!Array.isArray(H))return!0;let K=0;for(let Z of H)if(IP(G,Z))K++;if(K<$)return!1;if(W!==void 0&&K>W)return!1;return!0},{message:"Array must contain required items matching the schema"})}},i04=class{apply(X,Q){let{default:J}=Q;if(J===void 0)return X;if(!X.safeParse(J).success)return X;return X.default(J)}},r04,a04;var cH0=m(()=>{u1();u1();u1();u1();u1();u1();u1();u1();u1();u1();u1();u1();u1();u1();r04=[new U04,new z04,new q04,new B04,new L04,new A04,new v04,new D04,new j04,new N04,new O04,new M04,new w04,new P04,new T04,new I04,new E04,new C04,new R04,new k04,new _04,new S04],a04=[new c04,new l04,new d04,new h04,new g04,new x04,new u04,new m04,new n04,new y04,new f04,new i04,new p04]});class Ig{constructor(X){this._url=X}start(){if(this._socket)throw Error("WebSocketClientTransport already started! If using Client class, note that connect() calls start() automatically.");return new Promise((X,Q)=>{this._socket=new WebSocket(this._url,o04),this._socket.onerror=(J)=>{let Y="error"in J?J.error:Error(`WebSocket error: ${JSON.stringify(J)}`);Q(Y),this.onerror?.(Y)},this._socket.onopen=()=>{X()},this._socket.onclose=()=>{this.onclose?.()},this._socket.onmessage=(J)=>{let Y;try{Y=YJ.parse(JSON.parse(J.data))}catch(G){this.onerror?.(G);return}this.onmessage?.(Y)}})}async close(){this._socket?.close()}send(X){return new Promise((Q,J)=>{if(!this._socket){J(Error("Not connected"));return}this._socket?.send(JSON.stringify(X)),Q()})}}var o04="mcp";var nH0=m(()=>{GJ()});function s04(X){let Q=X;if(!Q||typeof Q!=="object"||!("method"in Q))return null;switch(Q.method){case"initialize":{let J=Q?.params?.protocolVersion;if(!J)return null;return{type:"emit",message:{result:{protocolVersion:J,capabilities:{tools:{}},serverInfo:{name:"deco-chat-server",version:"1.0.0"}},jsonrpc:Q.jsonrpc??"2.0",id:Q.id}}}case"notifications/roots/list_changed":case"notifications/initialized":case"notifications/cancelled":case"notifications/progress":return{type:"suppress"};default:return null}}var Sg;var iH0=m(()=>{Mh();Sg=class Sg extends NU{constructor(X,Q){super(X,Q)}send(X,Q){let J=s04(X);if(J?.type==="emit")return this.onmessage?.(J.message),Promise.resolve();if(J?.type==="suppress")return Promise.resolve();return super.send(X,Q)}}});var rH0,aH0=async(X,Q,J)=>{let Y=t04(X.connection,Q,J);if(!Y)throw Error("Unknown MCP connection type");let G=new rH0({name:X?.name??"MCP Client",version:"1.0.0"});return await G.connect(Y),{client:G,callStreamableTool:($,W)=>{if(X.connection.type!=="HTTP")throw Error("HTTP connection required");let H=new Headers(J);if(!H.has("Authorization"))H.set("Authorization",`Bearer ${X.connection.token}`);for(let[F,V]of Object.entries(X.connection.headers??{}))H.set(F,V);let K=new URL(X.connection.url),Z=K.pathname.replace(/\/+$/,"")||"/";return K.pathname=`${Z}/call-tool/${encodeURIComponent($)}`,fetch(K.href,{method:"POST",redirect:"manual",body:JSON.stringify(W),headers:H})}}},t04=(X,Q,J)=>{if(X.type==="Websocket")return new Ig(new URL(X.url));if(X.type!=="SSE"&&X.type!=="HTTP")return null;let G={...X.token?{authorization:`Bearer ${X.token}`}:{},...J??{},..."headers"in X?X.headers||{}:{}};if(X.type==="SSE"){let $={requestInit:{headers:G,signal:Q}};if(X.token)$.eventSourceInit={fetch:(W,H)=>{return fetch(W,{...H,headers:{...G,Accept:"text/event-stream"},signal:Q})}};return new jU(new URL(X.url),$)}return new Sg(new URL(X.url),{requestInit:{headers:G,signal:Q,credentials:"include"}})};var oH0=m(()=>{hf();Kh();nH0();GJ();iH0();rH0=class rH0 extends oW{constructor(X,Q){super(X,Q)}async listTools(X,Q){return await this.request({method:"tools/list",params:X},xq,Q)}}});function tH0(X){let Q=(J)=>{if("connection"in X)return aH0({connection:X.connection},void 0,J);return X.client};return new Proxy({},{get(J,Y){if(Y==="toJSON")return null;if(typeof Y!=="string")throw Error("Name must be a string");if(Y==="listTools")return H;async function G(K,Z=Y){let F=X?.debugId?.(),V=F?{"x-trace-debug-id":F}:void 0,{client:q,callStreamableTool:B}=await Q(V);if(X?.streamable?.[String(Z)])return B(String(Z),K);let{structuredContent:L,isError:D,content:j}=await q.callTool({name:String(Z),arguments:K});if(D){let O=j?.[0]?.text,T=typeof O==="string"?e04(O):null,C=T?.code&&typeof X?.getErrorByStatusCode==="function"?X.getErrorByStatusCode(T.code,T.message,T.traceId):null;if(C)throw C;throw Error(`Tool ${String(Z)} returned an error: ${JSON.stringify(L??j)}`)}return L}async function $(){let{client:K}=await Q(),{tools:Z}=await K.listTools();return Z}async function W(){if(!("connection"in X))return $();let K=X.connection,Z=JSON.stringify(K);try{if(!SP.has(Z))SP.set(Z,$());return await SP.get(Z)}catch(F){console.error("Failed to list tools",F),SP.delete(Z);return}}async function H(){return(await W()??[]).map((Z)=>sH0(Z,G))}return G.asTool=async()=>{let Z=(await W()??[]).find((F)=>F.name===Y);if(!Z)throw Error(`Tool ${Y} not found`);return sH0(Z,G)},G}})}var e04=(X)=>{try{return JSON.parse(X)}catch{return X}},SP,sH0=(X,Q)=>{return{...X,id:X.name,inputSchema:X.inputSchema?UX(X.inputSchema):void 0,outputSchema:X.outputSchema?UX(X.outputSchema):void 0,execute:(J)=>{return Q(J.context,X.name)}}};var eH0=m(()=>{cH0();oH0();SP=new Map});function vP(X){return tH0(X)}var Sx4;var XK0=m(()=>{eH0();Sx4=new Proxy({},{get(X,Q){if(Q==="toJSON")return null;if(Q==="forConnection")return(J)=>vP({connection:J});return global[Q]}})});function kP(X){return{isImplementedBy:(Q)=>{for(let J of X){let Y=typeof J.name==="string"?new RegExp(`^${J.name}$`):J.name,G=Q.find(($)=>Y.test($.name));if(!G&&J.opt)continue;if(!G)return!1}return!0}}}var qZ=(X)=>{return{...kP(X),forClient:(Q)=>{return vP({client:Q,streamable:X.reduce((J,Y)=>{return J[Y.name]=Y.streamable===!0,J},{})})},forConnection:(Q)=>{return vP({connection:Q,streamable:X.reduce((J,Y)=>{return J[Y.name]=Y.streamable===!0,J},{})})}}};var RU=m(()=>{XK0()});function SU(X){return N.object({items:N.array(X).describe("Array of collection items"),totalCount:N.number().int().min(0).optional().describe("Total number of matching items (if available)"),hasMore:N.boolean().optional().describe("Whether there are more items available")})}function kg(X){return N.object({item:X.nullable().describe("The retrieved item, or null if not found")})}function J44(X){return N.object({data:X.partial().describe("Data for the new entity (id may be auto-generated)")})}function Y44(X){return N.object({item:X.describe("The created entity with generated id")})}function G44(X){return N.object({id:N.string().describe("ID of the entity to update"),data:X.partial().describe("Partial entity data to update")})}function $44(X){return N.object({item:X.describe("The updated entity")})}function bg(X){return N.object({item:X.describe("The deleted entity")})}function zZ(X,Q,J){let Y=X.toUpperCase(),G=J?.readOnly??!1,$=[{name:`COLLECTION_${Y}_LIST`,inputSchema:IU,outputSchema:SU(Q)},{name:`COLLECTION_${Y}_GET`,inputSchema:vg,outputSchema:kg(Q)}];if(!G)$.push({name:`COLLECTION_${Y}_CREATE`,inputSchema:J44(Q),outputSchema:Y44(Q),opt:!0},{name:`COLLECTION_${Y}_UPDATE`,inputSchema:G44(Q),outputSchema:$44(Q),opt:!0},{name:`COLLECTION_${Y}_DELETE`,inputSchema:_g,outputSchema:bg(Q),opt:!0});return $}var UZ,X44,QK0,Q44,IU,vg,_g;var Y5=m(()=>{d0();UZ=N.object({id:N.string().describe("Unique identifier for the entity"),title:N.string().describe("Human-readable title for the entity"),description:N.string().nullish().describe("Description of the entity"),created_at:N.string().datetime(),updated_at:N.string().datetime(),created_by:N.string().optional(),updated_by:N.string().optional()}),X44=N.object({field:N.array(N.string()),operator:N.enum(["eq","gt","gte","lt","lte","in","like","contains"]),value:N.unknown()}),QK0=N.lazy(()=>N.union([X44,N.object({operator:N.enum(["and","or","not"]),conditions:N.array(QK0)})])),Q44=N.object({field:N.array(N.string()),direction:N.enum(["asc","desc"]),nulls:N.enum(["first","last"]).optional()}),IU=N.object({where:QK0.optional().describe("Filter expression"),orderBy:N.array(Q44).optional().describe("Sort expressions"),limit:N.number().int().min(1).max(1000).optional().describe("Maximum number of items to return"),offset:N.number().int().min(0).optional().describe("Number of items to skip")});vg=N.object({id:N.string().describe("ID of the entity to retrieve")});_g=N.object({id:N.string().describe("ID of the entity to delete")})});var W44,JK0,xx4;var YK0=m(()=>{d0();Y5();W44=N.object({id:N.string(),name:N.string(),description:N.string().optional(),inputSchema:N.record(N.string(),N.unknown()),outputSchema:N.record(N.string(),N.unknown()).optional()}),JK0=UZ.extend({_meta:N.object({"io.decocms":N.object({id:N.string(),verified:N.boolean(),scopeName:N.string(),appName:N.string(),friendlyName:N.string().nullable().optional(),metadata:N.record(N.string(),N.unknown()).nullable().optional(),publishedAt:N.string().datetime().optional(),updatedAt:N.string().datetime().optional(),tools:N.array(W44).nullable().optional().describe("Available tools exposed by this app")}).optional()}).optional(),server:N.object({$schema:N.string().optional(),_meta:N.record(N.string(),N.unknown()).optional(),name:N.string().describe("The server name (scope/app)"),title:N.string().optional().describe("User-friendly title"),description:N.string().optional().describe("Server description"),icons:N.array(N.object({src:N.string(),mimeType:N.string().optional(),sizes:N.array(N.string()).optional(),theme:N.enum(["light","dark"]).optional()})).optional(),remotes:N.array(N.object({type:N.enum(["http","stdio","sse"]),url:N.string().optional(),headers:N.array(N.unknown()).optional()})).optional(),packages:N.array(N.unknown()).optional(),repository:N.object({url:N.string(),source:N.string().optional(),subfolder:N.string().optional()}).optional(),version:N.string().optional(),websiteUrl:N.string().optional()})}),xx4=zZ("registry_app",JK0,{readOnly:!0})});var GK0,$K0,WK0,HK0,KK0,H44;var ZK0=m(()=>{d0();RU();GK0=N.object({specversion:N.literal("1.0").describe("CloudEvents specification version"),id:N.string().describe("Unique identifier for this event (UUID recommended)"),source:N.string().describe("Connection ID of the event publisher"),type:N.string().describe("Event type (e.g., 'order.created', 'user.signup')"),time:N.string().datetime().optional().describe("Timestamp of when the event occurred (ISO 8601)"),subject:N.string().optional().describe("Subject/resource identifier (e.g., order ID, user ID)"),datacontenttype:N.string().optional().default("application/json").describe("Content type of the data attribute"),dataschema:N.string().url().optional().describe("URI to the schema for the data attribute"),data:N.unknown().optional().describe("Event payload (any JSON value)")}),$K0=N.object({events:N.array(GK0).min(1).describe("Batch of CloudEvents to process")}),WK0=N.object({success:N.boolean().optional().describe("Whether this event was processed successfully"),error:N.string().optional().describe("Error message for this event"),retryAfter:N.number().int().positive().optional().describe("Re-deliver this event after this many ms")}),HK0=N.object({success:N.boolean().optional().describe("Batch success - applies to events not in results"),error:N.string().optional().describe("Batch error message - applies to events not in results"),processedCount:N.number().int().min(0).optional().describe("Number of events successfully processed"),retryAfter:N.number().int().positive().optional().describe("Batch retryAfter - applies to events not in results"),results:N.record(N.string(),WK0).optional().describe("Per-event results keyed by event ID")}),KK0=[{name:"ON_EVENTS",inputSchema:$K0,outputSchema:HK0}],H44=qZ(KK0)});var vU,kU,_U,bU,FK0,VK0,yU,fU,hU,gU,xU,uU,mU,lU,qK0,K44;var UK0=m(()=>{d0();RU();vU=N.object({type:N.string().min(1).max(255).describe("Event type identifier"),subject:N.string().max(255).optional().describe("Subject/resource identifier (e.g., order ID)"),data:N.unknown().optional().describe("Event payload"),deliverAt:N.string().datetime().optional().describe("Scheduled delivery time (ISO 8601). Omit for immediate delivery."),cron:N.string().max(100).optional().describe("Cron expression for recurring delivery. Use EVENT_CANCEL to stop.")}),kU=N.object({id:N.string().describe("Unique event ID"),type:N.string().describe("Event type"),source:N.string().describe("Source connection ID"),time:N.string().describe("Event timestamp")}),_U=N.object({eventType:N.string().min(1).max(255).describe("Event type to subscribe to"),publisher:N.string().optional().describe("Filter events by publisher connection ID"),filter:N.string().max(1000).optional().describe("JSONPath filter expression on event data")}),bU=N.object({subscription:N.object({id:N.string().describe("Subscription ID"),connectionId:N.string().describe("Subscriber connection ID"),eventType:N.string().describe("Event type pattern"),publisher:N.string().nullable().describe("Publisher connection filter"),filter:N.string().nullable().describe("JSONPath filter expression"),enabled:N.boolean().describe("Whether subscription is enabled"),createdAt:N.string().datetime().describe("Created timestamp (ISO 8601)"),updatedAt:N.string().datetime().describe("Updated timestamp (ISO 8601)")})}),FK0=N.object({eventType:N.string().min(1).max(255).describe("Event type to subscribe to"),publisher:N.string().optional().describe("Filter events by publisher connection ID"),filter:N.string().max(1000).optional().describe("JSONPath filter expression on event data")}),VK0=N.object({id:N.string().describe("Subscription ID"),connectionId:N.string().describe("Subscriber connection ID"),eventType:N.string().describe("Event type pattern"),publisher:N.string().nullable().describe("Publisher connection filter"),filter:N.string().nullable().describe("JSONPath filter expression"),enabled:N.boolean().describe("Whether subscription is enabled"),createdAt:N.string().datetime().describe("Created timestamp (ISO 8601)"),updatedAt:N.string().datetime().describe("Updated timestamp (ISO 8601)")}),yU=N.object({subscriptions:N.array(FK0).describe("Desired subscriptions - system will create/update/delete to match")}),fU=N.object({created:N.number().int().min(0).describe("Number of subscriptions created"),updated:N.number().int().min(0).describe("Number of subscriptions with filter updated"),deleted:N.number().int().min(0).describe("Number of subscriptions removed"),unchanged:N.number().int().min(0).describe("Number of subscriptions unchanged"),subscriptions:N.array(VK0).describe("Current subscriptions after sync")}),hU=N.object({subscriptionId:N.string().describe("Subscription ID to remove")}),gU=N.object({success:N.boolean().describe("Whether unsubscribe was successful"),subscriptionId:N.string().describe("Subscription ID that was removed")}),xU=N.object({eventId:N.string().describe("Event ID to cancel")}),uU=N.object({success:N.boolean().describe("Whether cancellation was successful"),eventId:N.string().describe("Event ID that was cancelled")}),mU=N.object({eventId:N.string().describe("Event ID to acknowledge")}),lU=N.object({success:N.boolean().describe("Whether ACK was successful"),eventId:N.string().describe("Event ID that was acknowledged")}),qK0=[{name:"EVENT_PUBLISH",inputSchema:vU,outputSchema:kU},{name:"EVENT_SUBSCRIBE",inputSchema:_U,outputSchema:bU},{name:"EVENT_UNSUBSCRIBE",inputSchema:hU,outputSchema:gU},{name:"EVENT_CANCEL",inputSchema:xU,outputSchema:uU},{name:"EVENT_ACK",inputSchema:mU,outputSchema:lU},{name:"EVENT_SYNC_SUBSCRIPTIONS",inputSchema:yU,outputSchema:fU}],K44=qZ(qK0)});var yg=m(()=>{RU();YK0();ZK0();UK0()});var Z44,F44,zK0;var BK0=m(()=>{d0();Y5();Z44=UZ.extend({avatar:N.string().describe("URL or data URI to the assistant's avatar image"),system_prompt:N.string().describe("System prompt that defines the assistant's behavior"),gateway_id:N.string().describe("Gateway ID to use for this assistant"),model:N.object({id:N.string().describe("Model ID"),connectionId:N.string().describe("Connection ID that provides the model")}).describe("Selected model reference for this assistant")}),F44=zZ("assistant",Z44),zK0=[...F44]});var dU,TG,DK0,V44,q44,jK0,U44,z44,B44,L44,D44,j44,NK0,N44,O44,M44,w44,P44,T44,A44,E44,C44,R44,$u4,I44,Wu4,LK0,S44,v44,fg,Hu4;var OK0=m(()=>{d0();RU();Y5();dU=N.lazy(()=>N.union([N.null(),N.string(),N.number(),N.boolean(),N.record(N.string(),dU),N.array(dU)])),TG=N.record(N.string(),N.record(N.string(),dU)).optional().describe("Additional provider-specific options. Outer record keyed by provider name, inner by option key"),DK0=N.object({type:N.literal("text"),text:N.string().describe("The text content"),providerOptions:TG}),V44=N.object({type:N.literal("text"),text:N.string().describe("The text content"),providerMetadata:N.any().optional().describe("Additional provider-specific metadata")}),q44=N.string().describe("File data as URL string"),jK0=N.object({type:N.literal("file"),filename:N.string().optional().describe("Optional filename of the file"),data:q44,mediaType:N.string().describe("IANA media type of the file (e.g., image/png, audio/mp3)"),providerOptions:TG}),U44=N.object({type:N.literal("file"),mediaType:N.string().describe("IANA media type of the file (e.g., image/png, audio/mp3)"),data:N.string().describe("Generated file data as base64 encoded string")}),z44=N.object({type:N.literal("reasoning"),text:N.string().describe("The reasoning text"),providerOptions:TG}),B44=N.object({type:N.literal("reasoning"),text:N.string().describe("The reasoning text"),providerMetadata:N.any().optional().describe("Additional provider-specific metadata")}),L44=N.object({type:N.literal("tool-call"),toolCallId:N.string().describe("ID of the tool call, used to match with tool result"),toolName:N.string().describe("Name of the tool being called"),input:N.string().describe("Arguments of the tool call (JSON-serializable object matching tool input schema)"),providerExecuted:N.boolean().optional().describe("Whether the tool call will be executed by the provider"),providerOptions:TG}),D44=N.object({type:N.literal("tool-call"),toolCallId:N.string().describe("ID of the tool call"),toolName:N.string().describe("Name of the tool being called"),input:N.string().describe("Stringified JSON object with the tool call arguments"),providerExecuted:N.boolean().optional().describe("Whether the tool call will be executed by the provider"),providerMetadata:N.any().optional().describe("Additional provider-specific metadata")}),j44=N.union([N.object({type:N.literal("text"),value:N.string()}),N.object({type:N.literal("json"),value:dU}),N.object({type:N.literal("error-text"),value:N.string()}),N.object({type:N.literal("error-json"),value:dU}),N.object({type:N.literal("content"),value:N.array(N.union([N.object({type:N.literal("text"),text:N.string().describe("Text content")}),N.object({type:N.literal("media"),data:N.string().describe("Base-64 encoded media data"),mediaType:N.string().describe("IANA media type")})]))})]),NK0=N.object({type:N.literal("tool-result"),toolCallId:N.string().describe("ID of the tool call that this result is associated with"),toolName:N.string().describe("Name of the tool that generated this result"),output:j44.describe("Result of the tool call"),result:N.unknown().describe("Unknown result of the tool call"),providerOptions:TG}),N44=N.object({type:N.literal("tool-result"),toolCallId:N.string().describe("ID of the tool call that this result is associated with"),toolName:N.string().describe("Name of the tool that generated this result"),result:N.any().describe("Result of the tool call (JSON-serializable)"),isError:N.boolean().optional().describe("Whether the result is an error or error message"),providerExecuted:N.boolean().optional().describe("Whether the tool result was generated by the provider"),providerMetadata:N.any().optional().describe("Additional provider-specific metadata")}),O44=N.union([N.object({type:N.literal("source"),sourceType:N.literal("url"),id:N.string().describe("The ID of the source"),url:N.string().describe("The URL of the source"),title:N.string().optional().describe("The title of the source"),providerMetadata:N.any().optional().describe("Additional provider-specific metadata")}),N.object({type:N.literal("source"),sourceType:N.literal("document"),id:N.string().describe("The ID of the source"),mediaType:N.string().describe("IANA media type of the document (e.g., application/pdf)"),title:N.string().describe("The title of the document"),filename:N.string().optional().describe("Optional filename of the document"),providerMetadata:N.any().optional().describe("Additional provider-specific metadata")})]),M44=N.object({role:N.literal("system"),content:N.string().describe("System message content"),providerOptions:TG}),w44=N.object({role:N.literal("user"),content:N.array(N.union([DK0,jK0])).describe("User message content parts (text or file)"),providerOptions:TG}),P44=N.object({role:N.literal("assistant"),content:N.array(N.union([DK0,jK0,z44,L44,NK0])).describe("Assistant message content parts (text, file, reasoning, tool-call, or tool-result)"),providerOptions:TG}),T44=N.object({role:N.literal("tool"),content:N.array(NK0).describe("Tool message content (tool results)"),providerOptions:TG}),A44=N.union([M44,w44,P44,T44]),E44=N.array(A44).describe("A list of messages forming the prompt"),C44=N.object({prompt:E44.describe("A language model prompt is a standardized prompt type (array of messages with roles: system, user, assistant, tool)"),maxOutputTokens:N.number().optional().describe("Maximum number of tokens to generate"),temperature:N.number().optional().describe("Temperature setting. The range depends on the provider and model"),topP:N.number().optional().describe("Nucleus sampling parameter"),topK:N.number().optional().describe("Only sample from the top K options for each subsequent token. Used to remove long tail low probability responses"),presencePenalty:N.number().optional().describe("Presence penalty setting. It affects the likelihood of the model to repeat information that is already in the prompt"),frequencyPenalty:N.number().optional().describe("Frequency penalty setting. It affects the likelihood of the model to repeatedly use the same words or phrases"),seed:N.number().optional().describe("The seed (integer) to use for random sampling. If set and supported by the model, calls will generate deterministic results"),stopSequences:N.array(N.string()).optional().describe("Stop sequences. If set, the model will stop generating text when one of the stop sequences is generated"),responseFormat:N.union([N.object({type:N.literal("text")}),N.object({type:N.literal("json"),schema:N.any().optional().describe("JSON schema that the generated output should conform to"),name:N.string().optional().describe("Name of output that should be generated"),description:N.string().optional().describe("Description of the output that should be generated")})]).optional().describe("Response format. The output can either be text or JSON. Default is text"),tools:N.array(N.any()).optional().describe("The tools that are available for the model"),toolChoice:N.any().optional().describe("Specifies how the tool should be selected. Defaults to 'auto'"),includeRawChunks:N.boolean().optional().describe("Include raw chunks in the stream. Only applicable for streaming calls"),abortSignal:N.any().optional().describe("Abort signal for cancelling the operation"),providerOptions:N.any().optional().describe("Additional provider-specific options")}),R44=N.object({content:N.array(N.union([V44,U44,B44,D44,N44,O44])).describe("Ordered content that the model has generated (text, tool-calls, reasoning, files, sources)"),finishReason:N.enum(["stop","length","content-filter","tool-calls","error","other","unknown"]).describe("Reason why generation stopped"),usage:N.looseObject({inputTokens:N.number().optional(),outputTokens:N.number().optional(),totalTokens:N.number().optional(),reasoningTokens:N.number().optional()}).describe("Usage information for the language model call"),providerMetadata:N.any().optional().describe("Additional provider-specific metadata"),request:N.object({body:N.any().optional().describe("Request HTTP body sent to the provider API")}).optional().describe("Optional request information for telemetry and debugging"),response:N.object({id:N.string().optional().describe("ID for the generated response"),timestamp:N.iso.datetime().optional().describe("Timestamp for the start of the generated response"),modelId:N.string().optional().describe("The ID of the response model that was used"),headers:N.record(N.string(),N.string()).optional().describe("Response headers"),body:N.any().optional().describe("Response HTTP body")}).optional().describe("Optional response information for telemetry and debugging"),warnings:N.array(N.any()).describe("Warnings for the call, e.g. unsupported settings")}),$u4=N.object({stream:N.any().describe("ReadableStream of LanguageModelV2StreamPart"),request:N.object({body:N.any().optional().describe("Request HTTP body sent to the provider API")}).optional().describe("Optional request information for telemetry and debugging"),response:N.object({headers:N.record(N.string(),N.string()).optional().describe("Response headers")}).optional().describe("Optional response data")}),I44=N.object({supportedUrls:N.record(N.string(),N.array(N.string())).describe("Supported URL patterns by media type for the provider")}),Wu4=N.object({modelId:N.string().describe("The ID of the model"),logo:N.string().nullable(),description:N.string().nullable(),capabilities:N.array(N.string()),limits:N.object({contextWindow:N.number(),maxOutputTokens:N.number()}).nullable(),costs:N.object({input:N.number(),output:N.number()}).nullable(),provider:N.enum(["openai","anthropic","google","x-ai","deepseek","openai-compatible","openrouter"]).nullable()}),LK0=N.object({modelId:N.string().describe("The ID of the model"),callOptions:C44}),S44=UZ.extend({logo:N.string().nullable(),description:N.string().nullable(),capabilities:N.array(N.string()),limits:N.object({contextWindow:N.number(),maxOutputTokens:N.number()}).nullable(),costs:N.object({input:N.number(),output:N.number()}).nullable(),provider:N.enum(["openai","anthropic","google","xai","deepseek","openai-compatible","openrouter"]).nullable()}),v44=zZ("llm",S44,{readOnly:!0}),fg=[{name:"LLM_METADATA",inputSchema:N.object({modelId:N.string().describe("The ID of the model")}),outputSchema:I44},{name:"LLM_DO_STREAM",inputSchema:LK0,streamable:!0},{name:"LLM_DO_GENERATE",inputSchema:LK0,outputSchema:R44},...v44],Hu4=qZ(fg)});function _44(X){let Q=[],J=0;while(J<X.length){let Y=X[J];if(Y==="%")Q.push(".*");else if(Y==="_")Q.push(".");else if(/[.*+?^${}()|[\]\\]/.test(Y))Q.push("\\"+Y);else Q.push(Y);J++}return Q.join("")}function G5(X){return typeof X==="string"||typeof X==="number"}function _P(X,Q){if("conditions"in Q){let{operator:H,conditions:K}=Q;switch(H){case"and":return K.every((Z)=>_P(X,Z));case"or":return K.some((Z)=>_P(X,Z));case"not":return!K.every((Z)=>_P(X,Z));default:return!0}}let{field:J,operator:Y,value:G}=Q,$=J.join("."),W=hg(X,$);switch(Y){case"eq":return W===G;case"gt":return G5(W)&&G5(G)&&W>G;case"gte":return G5(W)&&G5(G)&&W>=G;case"lt":return G5(W)&&G5(G)&&W<G;case"lte":return G5(W)&&G5(G)&&W<=G;case"in":return Array.isArray(G)&&G.includes(W);case"like":if(typeof W!=="string"||typeof G!=="string")return!1;if(G.length>100)return!1;let H=_44(G);return new RegExp(`^${H}$`,"i").test(W);case"contains":if(typeof W!=="string"||typeof G!=="string")return!1;return W.toLowerCase().includes(G.toLowerCase());default:return!0}}function hg(X,Q){let J=Q.split("."),Y=X;for(let G of J){if(Y==null||typeof Y!=="object")return;Y=Y[G]}return Y}function b44(X,Q){return[...X].sort((J,Y)=>{for(let G of Q){let $=G.field.join("."),W=hg(J,$),H=hg(Y,$),K=0;if(W==null&&H==null)continue;if(W==null)K=G.nulls==="first"?-1:1;else if(H==null)K=G.nulls==="first"?1:-1;else if(typeof W==="string"&&typeof H==="string")K=W.localeCompare(H);else if(typeof W==="number"&&typeof H==="number")K=W-H;else K=String(W).localeCompare(String(H));if(K!==0)return G.direction==="desc"?-K:K}return 0})}var k44,y44,f44,gg;var MK0=m(()=>{yg();BK0();Y5();OK0();d0();Y6();u$();k44={LLM:fg,ASSISTANTS:zK0};y44=IU.extend({binding:N.union([N.object({}).passthrough(),N.string()]).optional()}),f44=SU(mJ),gg=Q4({name:"COLLECTION_CONNECTIONS_LIST",description:"List all connections in the organization with filtering, sorting, and pagination",inputSchema:y44,outputSchema:f44,handler:async(X,Q)=>{await Q.access.check();let J=e4(Q),Y=X.binding?typeof X.binding==="string"?(()=>{let q=k44[X.binding.toUpperCase()];if(!q)throw Error(`Unknown binding: ${X.binding}`);return q})():X.binding:void 0,G=Y?kP(Y):void 0,$=await Q.storage.connections.list(J.id),W=G?await Promise.all($.map(async(q)=>{if(!q.tools||q.tools.length===0)return null;return G.isImplementedBy(q.tools.map((L)=>({name:L.name,inputSchema:L.inputSchema,outputSchema:L.outputSchema})))?q:null})).then((q)=>q.filter((B)=>B!==null)):$;if(X.where)W=W.filter((q)=>_P(q,X.where));if(X.orderBy&&X.orderBy.length>0)W=b44(W,X.orderBy);let H=W.length,K=X.offset??0,Z=X.limit??100,F=W.slice(K,K+Z),V=K+Z<H;return{items:F,totalCount:H,hasMore:V}}})});var h44,xg;var wK0=m(()=>{Y5();Y6();u$();h44=kg(mJ),xg=Q4({name:"COLLECTION_CONNECTIONS_GET",description:"Get connection details by ID",inputSchema:vg,outputSchema:h44,handler:async(X,Q)=>{let J=e4(Q);await Q.access.check();let Y=await Q.storage.connections.findById(X.id);if(!Y||Y.organization_id!==J.id)return{item:null};return{item:Y}}})});var bP=(X,Q)=>{if(Q===null||Q===void 0)return;let J=X.replace(/\[(\w+)\]/g,".$1").split(".").filter(Boolean),Y=Q;for(let G of J){if(Y===null||Y===void 0||typeof Y!=="object")return;Y=Y[G]}return Y};function PK0(X){let Q=X.split("::");if(Q.length!==2||!Q[0]||!Q[1])throw Error(`Invalid scope format: ${X}. Expected format: "KEY::SCOPE"`);return Q}function g44(X){let Q=X.split("::");if(Q.length!==2||!Q[0]||!Q[1])return null;return Q}function x44(X){if(typeof X==="object"&&X!==null&&"value"in X){let Q=X.value;if(typeof Q==="string")return Q}return null}function u44(X,Q){let J={};if(!X||!Q)return J;for(let Y of Q){if(Y==="*"){J["*"]=["*"];continue}let G=g44(Y);if(!G)continue;let[$,W]=G,H=bP($,X),K=x44(H);if(K){if(!J[K])J[K]=[];J[K].push(W)}}return J}function TK0(X,Q){let J=u44(X,Q);return new Set(Object.keys(J).filter((Y)=>Y!=="*"))}var AK0=()=>{};class ug{db;vault;constructor(X,Q){this.db=X;this.vault=Q}async get(X){let Q=await this.db.selectFrom("downstream_tokens").selectAll().where("connectionId","=",X).executeTakeFirst();if(!Q)return null;return this.decryptToken(Q)}async upsert(X){let Q=new Date().toISOString(),J=await this.vault.encrypt(X.accessToken),Y=X.refreshToken?await this.vault.encrypt(X.refreshToken):null,G=X.clientSecret?await this.vault.encrypt(X.clientSecret):null;return await this.db.transaction().execute(async($)=>{let W=await $.selectFrom("downstream_tokens").select(["id","createdAt"]).where("connectionId","=",X.connectionId).executeTakeFirst();if(W)return await $.updateTable("downstream_tokens").set({accessToken:J,refreshToken:Y,scope:X.scope,expiresAt:X.expiresAt?.toISOString()??null,clientId:X.clientId,clientSecret:G,tokenEndpoint:X.tokenEndpoint,updatedAt:Q}).where("id","=",W.id).execute(),{id:W.id,connectionId:X.connectionId,accessToken:X.accessToken,refreshToken:X.refreshToken,scope:X.scope,expiresAt:X.expiresAt,createdAt:W.createdAt,updatedAt:Q,clientId:X.clientId,clientSecret:X.clientSecret,tokenEndpoint:X.tokenEndpoint};let H=VY("dtok");return await $.insertInto("downstream_tokens").values({id:H,connectionId:X.connectionId,accessToken:J,refreshToken:Y,scope:X.scope,expiresAt:X.expiresAt?.toISOString()??null,clientId:X.clientId,clientSecret:G,tokenEndpoint:X.tokenEndpoint,createdAt:Q,updatedAt:Q}).execute(),{id:H,connectionId:X.connectionId,accessToken:X.accessToken,refreshToken:X.refreshToken,scope:X.scope,expiresAt:X.expiresAt,createdAt:Q,updatedAt:Q,clientId:X.clientId,clientSecret:X.clientSecret,tokenEndpoint:X.tokenEndpoint}})}async delete(X){await this.db.deleteFrom("downstream_tokens").where("connectionId","=",X).execute()}isExpired(X,Q=0){if(!X.expiresAt)return!1;let Y=(X.expiresAt instanceof Date?X.expiresAt:new Date(X.expiresAt)).getTime();if(Number.isNaN(Y))return!0;return Y-Q<Date.now()}async decryptToken(X){let Q=await this.vault.decrypt(X.accessToken),J=X.refreshToken?await this.vault.decrypt(X.refreshToken):null,Y=X.clientSecret?await this.vault.decrypt(X.clientSecret):null;return{id:X.id,connectionId:X.connectionId,accessToken:Q,refreshToken:J,scope:X.scope,expiresAt:X.expiresAt,createdAt:X.createdAt,updatedAt:X.updatedAt,clientId:X.clientId,clientSecret:Y,tokenEndpoint:X.tokenEndpoint}}}var EK0=m(()=>{PM()});async function d44(X,Q,J,Y){for(let $ of Q){if($==="*")continue;let[W]=PK0($),H=bP(W,X);if(H===void 0||H===null)throw Error(`Scope references key "${W}" but it's not present in state`)}let G=TK0(X,Q);for(let $ of G){if($===hW.SELF)continue;let W=await Y.storage.connections.findById($);if(!W||W.organization_id!==J)throw Error(`Referenced connection not found: ${$}`);try{await Y.access.check($)}catch(H){throw Error(`Access denied to referenced connection: ${$}. ${H.message}`)}}}var m44,l44,mg;var CK0=m(()=>{AK0();wM();EK0();d0();Y6();OP();u$();m44=N.object({id:N.string().describe("ID of the connection to update"),data:GX0.describe("Partial connection data to update")}),l44=N.object({item:mJ.describe("The updated connection entity")});mg=Q4({name:"COLLECTION_CONNECTIONS_UPDATE",description:"Update an existing MCP connection in the organization",inputSchema:m44,outputSchema:l44,handler:async(X,Q)=>{B4(Q);let J=e4(Q);if(await Q.access.check(),!p1(Q))throw Error("User ID required to update connection");let{id:G,data:$}=X,W=await Q.storage.connections.findById(G);if(!W||W.organization_id!==J.id)throw Error("Connection not found in organization");let H=$.configuration_state??W.configuration_state,K=$.configuration_scopes??W.configuration_scopes??[];if($.configuration_state!==void 0||$.configuration_scopes!==void 0){if($.configuration_state!==void 0)H=$.configuration_state;else if(H===null)H={};if($.configuration_scopes!==void 0)K=$.configuration_scopes??[];if(K.length>0&&H)await d44(H,K,J.id,Q)}let Z=$.connection_token??W.connection_token;if(!Z)try{let D=await new ug(Q.db,Q.vault).get(G);if(D?.accessToken)Z=D.accessToken}catch{}let F=await WZ({id:W.id,title:$.title??W.title,connection_type:$.connection_type??W.connection_type,connection_url:$.connection_url??W.connection_url,connection_token:Z,connection_headers:$.connection_headers??W.connection_headers}).catch(()=>null),V=F?.length?F:null,q={...$,tools:V,configuration_state:H,configuration_scopes:K},B=await Q.storage.connections.update(G,q);if(($.configuration_state!==void 0||$.configuration_scopes!==void 0)&&H&&K.length>0)try{await(await Q.createMCPProxy(G)).client.callTool({name:"ON_MCP_CONFIGURATION",arguments:{state:H,scopes:K}})}catch(L){console.error("Failed to invoke ON_MCP_CONFIGURATION callback",L)}return{item:B}}})});var lg;var RK0=m(()=>{Y5();Y6();u$();lg=Q4({name:"COLLECTION_CONNECTIONS_DELETE",description:"Delete a connection",inputSchema:_g,outputSchema:bg(mJ),handler:async(X,Q)=>{B4(Q);let J=e4(Q);await Q.access.check();let Y=await Q.storage.connections.findById(X.id);if(!Y)throw Error(`Connection not found: ${X.id}`);if(Y.organization_id!==J.id)throw Error("Connection not found in organization");return await Q.storage.connections.delete(X.id),{item:Y}}})});var dg;var IK0=m(()=>{d0();Y6();dg=Q4({name:"CONNECTION_TEST",description:"Test connection health and latency",inputSchema:N.object({id:N.string()}),outputSchema:N.object({id:N.string(),healthy:N.boolean(),latencyMs:N.number()}),handler:async(X,Q)=>{let J=e4(Q);await Q.access.check();let Y=await Q.storage.connections.findById(X.id);if(!Y||Y.organization_id!==J.id)throw Error("Connection not found");let G=await Q.storage.connections.testConnection(X.id);return{id:X.id,...G}}})});var SK0=m(()=>{pH0();MK0();wK0();CK0();RK0();IK0()});import{sql as E6}from"kysely";function vK0(X){if(X===null||X===void 0)return"NULL";if(typeof X==="number")return String(X);if(typeof X==="boolean")return X?"TRUE":"FALSE";if(typeof X==="string")return`'${X.replace(/'/g,"''")}'`;if(X instanceof Date)return`'${X.toISOString()}'`;return`'${JSON.stringify(X).replace(/'/g,"''")}'`}function n44(X,Q){let J=X;for(let G=Q.length;G>=1;G--){let $=`$${G}`;if(J.includes($))J=J.replaceAll($,vK0(Q[G-1]))}let Y=[];for(let G=0;G<J.length;G++)if(J[G]==="?")Y.push(G);for(let G=Math.min(Y.length,Q.length)-1;G>=0;G--){let $=Y[G],W=vK0(Q[G]);J=J.slice(0,$)+W+J.slice($+1)}return J}function kK0(X){return X.replace(/-/g,"_")}function r44(X){return`app_${kK0(X)}`}function a44(X){return`app_role_${kK0(X)}`}function o44(X){if(X instanceof Error){let Q=X.message.toLowerCase(),J=X.code;return J==="3F000"||J==="42704"||Q.includes("schema")&&Q.includes("does not exist")||Q.includes("role")&&Q.includes("does not exist")}return!1}async function s44(X,Q,J){if(await E6`CREATE SCHEMA IF NOT EXISTS ${E6.id(Q)}`.execute(X),!(await E6`
|
|
223
223
|
SELECT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = ${J}) as exists
|
|
224
224
|
`.execute(X)).rows[0]?.exists)await E6`CREATE ROLE ${E6.id(J)} NOLOGIN`.execute(X);await E6`GRANT ${E6.id(J)} TO CURRENT_USER`.execute(X),await E6`GRANT USAGE, CREATE ON SCHEMA ${E6.id(Q)} TO ${E6.id(J)}`.execute(X),await E6`GRANT ALL ON ALL TABLES IN SCHEMA ${E6.id(Q)} TO ${E6.id(J)}`.execute(X),await E6`GRANT ALL ON ALL SEQUENCES IN SCHEMA ${E6.id(Q)} TO ${E6.id(J)}`.execute(X),await E6`ALTER DEFAULT PRIVILEGES IN SCHEMA ${E6.id(Q)} GRANT ALL ON TABLES TO ${E6.id(J)}`.execute(X),await E6`ALTER DEFAULT PRIVILEGES IN SCHEMA ${E6.id(Q)} GRANT ALL ON SEQUENCES TO ${E6.id(J)}`.execute(X),await E6`REVOKE ALL ON SCHEMA public FROM ${E6.id(J)}`.execute(X)}async function t44(X,Q,J,Y){try{return await X.transaction().execute(async(G)=>{return await E6`SET LOCAL ROLE ${E6.id(J)}`.execute(G),await E6`SET LOCAL search_path TO ${E6.id(Q)}`.execute(G),await E6.raw(Y).execute(G)})}catch(G){if(o44(G))return await s44(X,Q,J),await X.transaction().execute(async($)=>{return await E6`SET LOCAL ROLE ${E6.id(J)}`.execute($),await E6`SET LOCAL search_path TO ${E6.id(Q)}`.execute($),await E6.raw(Y).execute($)});throw G}}var c44,i44,_K0;var bK0=m(()=>{d0();Y6();c44=N.object({results:N.array(N.unknown()).optional(),success:N.boolean().optional()});i44=N.object({sql:N.string().describe("The SQL query to run"),params:N.array(N.any()).describe("The parameters to pass to the SQL query").optional()});_K0=Q4({name:"DATABASES_RUN_SQL",description:"Run a SQL query against the database",inputSchema:i44,outputSchema:N.object({result:N.array(c44)}),handler:async(X,Q)=>{B4(Q),await Q.access.check();let J=n44(X.sql,X.params||[]);if(!Q.connectionId)throw Error("Connection context required for database access");let Y=r44(Q.connectionId),G=a44(Q.connectionId);return{result:[{results:(await t44(Q.db,Y,G,J)).rows,success:!0}]}}})});var yK0,X64,fK0;var AG=m(()=>{d0();yg();yK0=N.object({connectionId:N.string().optional().describe("Filter subscriptions by connection ID (optional)")}),X64=N.object({id:N.string().describe("Subscription ID"),connectionId:N.string().describe("Subscriber connection ID"),eventType:N.string().describe("Event type pattern"),publisher:N.string().nullable().describe("Publisher connection filter (null = all publishers)"),filter:N.string().nullable().describe("JSONPath filter expression"),enabled:N.boolean().describe("Whether subscription is enabled"),createdAt:N.string().datetime().describe("Created timestamp (ISO 8601)"),updatedAt:N.string().datetime().describe("Updated timestamp (ISO 8601)")}),fK0=N.object({subscriptions:N.array(X64).describe("List of subscriptions")})});var pg;var hK0=m(()=>{Y6();AG();pg=Q4({name:"EVENT_PUBLISH",description:"Publish an event to the event bus. Supports immediate, scheduled (deliverAt), and recurring (cron) delivery. The source is automatically set to the caller's connection ID.",inputSchema:vU,outputSchema:kU,handler:async(X,Q)=>{B4(Q);let J=e4(Q);await Q.access.check();let Y=Q.connectionId;if(!Y)throw Error("Connection ID required to publish events. Use a connection-scoped token.");let G=await Q.eventBus.publish(J.id,Y,{type:X.type,subject:X.subject,data:X.data,deliverAt:X.deliverAt,cron:X.cron});return{id:G.id,type:G.type,source:G.source,time:G.time}}})});var cg;var gK0=m(()=>{Y6();AG();cg=Q4({name:"EVENT_SUBSCRIBE",description:"Subscribe to events of a specific type. The subscriber is automatically set to the caller's connection.",inputSchema:_U,outputSchema:bU,handler:async(X,Q)=>{B4(Q);let J=e4(Q);await Q.access.check();let Y=Q.connectionId;if(!Y)throw Error("Connection ID required to subscribe. Use a connection-scoped token.");let G=await Q.eventBus.subscribe(J.id,{connectionId:Y,eventType:X.eventType,publisher:X.publisher,filter:X.filter});return{subscription:{id:G.id,connectionId:G.connectionId,eventType:G.eventType,publisher:G.publisher,filter:G.filter,enabled:G.enabled,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt,updatedAt:G.updatedAt instanceof Date?G.updatedAt.toISOString():G.updatedAt}}}})});var ng;var xK0=m(()=>{Y6();AG();ng=Q4({name:"EVENT_UNSUBSCRIBE",description:"Unsubscribe from events by removing a subscription.",inputSchema:hU,outputSchema:gU,handler:async(X,Q)=>{B4(Q);let J=e4(Q);await Q.access.check();let Y=Q.connectionId;if(!Y)throw Error("Connection ID required to unsubscribe. Use a connection-scoped token.");let G=await Q.eventBus.getSubscription(J.id,X.subscriptionId);if(!G)throw Error(`Subscription not found: ${X.subscriptionId}`);if(G.connectionId!==Y)throw Error("Cannot unsubscribe from a subscription owned by another connection");return{success:(await Q.eventBus.unsubscribe(J.id,X.subscriptionId)).success,subscriptionId:X.subscriptionId}}})});var ig;var uK0=m(()=>{Y6();AG();ig=Q4({name:"EVENT_CANCEL",description:"Cancel a recurring event to stop future deliveries. Only the publisher can cancel their own events.",inputSchema:xU,outputSchema:uU,handler:async(X,Q)=>{B4(Q);let J=e4(Q);await Q.access.check();let Y=Q.connectionId;if(!Y)throw Error("Connection ID required to cancel events. Use a connection-scoped token.");if(!await Q.eventBus.getEvent(J.id,X.eventId))throw Error(`Event not found: ${X.eventId}`);if(!(await Q.eventBus.cancelEvent(J.id,X.eventId,Y)).success)throw Error("Failed to cancel event. Either the event is already completed/failed, or you are not the publisher.");return{success:!0,eventId:X.eventId}}})});var rg;var mK0=m(()=>{Y6();AG();rg=Q4({name:"EVENT_ACK",description:"Acknowledge delivery of an event. Call after successfully processing an event received via ON_EVENTS with retryAfter.",inputSchema:mU,outputSchema:lU,handler:async(X,Q)=>{B4(Q);let J=e4(Q);await Q.access.check();let Y=Q.connectionId;if(!Y)throw Error("Connection ID required to acknowledge events. Use a connection-scoped token.");if(!(await Q.eventBus.ackEvent(J.id,X.eventId,Y)).success)throw Error("Failed to acknowledge event. Either the event was not found, already delivered, or you are not a subscriber.");return{success:!0,eventId:X.eventId}}})});var ag;var lK0=m(()=>{Y6();AG();ag=Q4({name:"EVENT_SUBSCRIPTION_LIST",description:"List event subscriptions, optionally filtered by connection ID.",inputSchema:yK0,outputSchema:fK0,handler:async(X,Q)=>{B4(Q);let J=e4(Q);return await Q.access.check(),{subscriptions:(await Q.eventBus.listSubscriptions(J.id,X.connectionId)).map((G)=>({id:G.id,connectionId:G.connectionId,eventType:G.eventType,publisher:G.publisher,filter:G.filter,enabled:G.enabled,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt,updatedAt:G.updatedAt instanceof Date?G.updatedAt.toISOString():G.updatedAt}))}}})});var og;var dK0=m(()=>{Y6();AG();og=Q4({name:"EVENT_SYNC_SUBSCRIPTIONS",description:"Sync subscriptions to desired state. Creates new, deletes removed, updates changed filters. Subscriptions are identified by (eventType, publisher).",inputSchema:yU,outputSchema:fU,handler:async(X,Q)=>{B4(Q);let J=e4(Q);await Q.access.check();let Y=Q.connectionId;if(!Y)throw Error("Connection ID required to sync subscriptions. Use a connection-scoped token.");let G=await Q.eventBus.syncSubscriptions(J.id,{connectionId:Y,subscriptions:X.subscriptions});return{created:G.created,updated:G.updated,deleted:G.deleted,unchanged:G.unchanged,subscriptions:G.subscriptions.map(($)=>({id:$.id,connectionId:$.connectionId,eventType:$.eventType,publisher:$.publisher,filter:$.filter,enabled:$.enabled,createdAt:$.createdAt instanceof Date?$.createdAt.toISOString():$.createdAt,updatedAt:$.updatedAt instanceof Date?$.updatedAt.toISOString():$.updatedAt}))}}})});var pK0=m(()=>{hK0();gK0();xK0();uK0();mK0();lK0();dK0();AG()});var sg,tg,J64,OY,cK0,nK0;var BZ=m(()=>{d0();sg=N.enum(["inclusion","exclusion"]).describe("Tool selection mode: 'inclusion' = include selected (default), 'exclusion' = exclude selected"),tg=N.enum(["passthrough","smart_tool_selection","code_execution"]).describe("Gateway tool selection strategy: 'passthrough' (default), 'smart_tool_selection', or 'code_execution'"),J64=N.object({connection_id:N.string().describe("Connection ID"),selected_tools:N.array(N.string()).nullable().describe("Selected tool names. With 'inclusion' mode: null = all tools included. With 'exclusion' mode: null = entire connection excluded"),selected_resources:N.array(N.string()).nullable().describe("Selected resource URIs or patterns. Supports * and ** wildcards for pattern matching. With 'inclusion' mode: null = all resources included."),selected_prompts:N.array(N.string()).nullable().describe("Selected prompt names. With 'inclusion' mode: null = all prompts included. With 'exclusion' mode: null = entire connection excluded.")}),OY=N.object({id:N.string().describe("Unique identifier for the gateway"),title:N.string().describe("Human-readable name for the gateway"),description:N.string().nullable().describe("Description of the gateway"),icon:N.string().nullable().optional().describe("Icon URL for the gateway"),created_at:N.string().describe("When the gateway was created"),updated_at:N.string().describe("When the gateway was last updated"),created_by:N.string().describe("User ID who created the gateway"),updated_by:N.string().optional().describe("User ID who last updated the gateway"),organization_id:N.string().describe("Organization ID this gateway belongs to"),tool_selection_strategy:tg.describe("Gateway behavior strategy (metadata for now): 'passthrough', 'smart_tool_selection', or 'code_execution'"),tool_selection_mode:sg.describe("Tool selection mode: 'inclusion' = include selected, 'exclusion' = exclude selected"),status:N.enum(["active","inactive"]).describe("Current status"),is_default:N.boolean().describe("Whether this is the Organization Agent for the organization"),connections:N.array(J64).describe("Connections with their selected tools (behavior depends on tool_selection_mode)")}),cK0=N.object({title:N.string().min(1).max(255).describe("Name for the gateway"),description:N.string().nullable().optional().describe("Optional description"),tool_selection_strategy:tg.optional().default("passthrough").describe("Gateway behavior strategy (defaults to 'passthrough')"),tool_selection_mode:sg.optional().default("inclusion").describe("Tool selection mode (defaults to 'inclusion')"),icon:N.string().nullable().optional().describe("Optional icon URL"),status:N.enum(["active","inactive"]).optional().default("active").describe("Initial status"),is_default:N.boolean().optional().default(!1).describe("Whether this is the Organization Agent for the organization"),connections:N.array(N.object({connection_id:N.string().describe("Connection ID"),selected_tools:N.array(N.string()).nullable().optional().describe("Selected tool names (null/undefined = all tools or full exclusion)"),selected_resources:N.array(N.string()).nullable().optional().describe("Selected resource URIs or patterns with * and ** wildcards (null/undefined = all resources)"),selected_prompts:N.array(N.string()).nullable().optional().describe("Selected prompt names (null/undefined = all prompts or full exclusion)")})).describe("Connections to include/exclude (can be empty for exclusion mode)")}),nK0=N.object({title:N.string().min(1).max(255).optional().describe("New name"),description:N.string().nullable().optional().describe("New description (null to clear)"),tool_selection_strategy:tg.optional().describe("New gateway behavior strategy"),tool_selection_mode:sg.optional().describe("New tool selection mode"),icon:N.string().nullable().optional().describe("New icon URL (null to clear)"),status:N.enum(["active","inactive"]).optional().describe("New status"),is_default:N.boolean().optional().describe("Set as Organization Agent for the organization"),connections:N.array(N.object({connection_id:N.string().describe("Connection ID"),selected_tools:N.array(N.string()).nullable().optional().describe("Selected tool names (null/undefined = all tools or full exclusion)"),selected_resources:N.array(N.string()).nullable().optional().describe("Selected resource URIs or patterns with * and ** wildcards (null/undefined = all resources)"),selected_prompts:N.array(N.string()).nullable().optional().describe("Selected prompt names (null/undefined = all prompts or full exclusion)")})).optional().describe("New connections (replaces existing)")})});var Y64,G64,eg;var iK0=m(()=>{d0();Y6();BZ();Y64=N.object({data:cK0.describe("Data for the new gateway")}),G64=N.object({item:OY.describe("The created gateway entity")}),eg=Q4({name:"COLLECTION_GATEWAY_CREATE",description:"Create a new MCP gateway in the organization",inputSchema:Y64,outputSchema:G64,handler:async(X,Q)=>{B4(Q);let J=e4(Q);await Q.access.check();let Y=p1(Q);if(!Y)throw Error("User ID required to create gateway");let G={title:X.data.title,description:X.data.description??null,toolSelectionStrategy:X.data.tool_selection_strategy??"passthrough",toolSelectionMode:X.data.tool_selection_mode??"inclusion",icon:X.data.icon??null,status:X.data.status,isDefault:X.data.is_default??!1,connections:X.data.connections.map((W)=>({connectionId:W.connection_id,selectedTools:W.selected_tools??null,selectedResources:W.selected_resources??null,selectedPrompts:W.selected_prompts??null}))},$=await Q.storage.gateways.create(J.id,Y,G);return{item:{id:$.id,title:$.title,description:$.description,icon:$.icon,organization_id:$.organizationId,tool_selection_strategy:$.toolSelectionStrategy,tool_selection_mode:$.toolSelectionMode,status:$.status,is_default:$.isDefault,connections:$.connections.map((W)=>({connection_id:W.connectionId,selected_tools:W.selectedTools,selected_resources:W.selectedResources,selected_prompts:W.selectedPrompts})),created_at:$.createdAt,updated_at:$.updatedAt,created_by:$.createdBy,updated_by:$.updatedBy??void 0}}}})});function $64(X){let Q=[],J=0;while(J<X.length){let Y=X[J];if(Y==="%")Q.push(".*");else if(Y==="_")Q.push(".");else if(/[.*+?^${}()|[\]\\]/.test(Y))Q.push("\\"+Y);else Q.push(Y);J++}return Q.join("")}function $5(X){return typeof X==="string"||typeof X==="number"}function Xx(X,Q){let J=Q.split("."),Y=X;for(let G of J){if(Y==null||typeof Y!=="object")return;Y=Y[G]}return Y}function W64(X,Q){return X.connections.some((J)=>J.connection_id===Q)}function yP(X,Q){if("conditions"in Q){let{operator:H,conditions:K}=Q;switch(H){case"and":return K.every((Z)=>yP(X,Z));case"or":return K.some((Z)=>yP(X,Z));case"not":return!K.every((Z)=>yP(X,Z));default:return!0}}let{field:J,operator:Y,value:G}=Q,$=J.join(".");if($==="connection_id"){if(Y!=="eq"||typeof G!=="string")return!1;return W64(X,G)}let W=Xx(X,$);switch(Y){case"eq":return W===G;case"gt":return $5(W)&&$5(G)&&W>G;case"gte":return $5(W)&&$5(G)&&W>=G;case"lt":return $5(W)&&$5(G)&&W<G;case"lte":return $5(W)&&$5(G)&&W<=G;case"in":return Array.isArray(G)&&G.includes(W);case"like":if(typeof W!=="string"||typeof G!=="string")return!1;if(G.length>100)return!1;let H=$64(G);return new RegExp(`^${H}$`,"i").test(W);case"contains":if(typeof W!=="string"||typeof G!=="string")return!1;return W.toLowerCase().includes(G.toLowerCase());default:return!0}}function H64(X,Q){return[...X].sort((J,Y)=>{for(let G of Q){let $=G.field.join("."),W=Xx(J,$),H=Xx(Y,$),K=0;if(W==null&&H==null)continue;if(W==null)K=G.nulls==="first"?-1:1;else if(H==null)K=G.nulls==="first"?1:-1;else if(typeof W==="string"&&typeof H==="string")K=W.localeCompare(H);else if(typeof W==="number"&&typeof H==="number")K=W-H;else K=String(W).localeCompare(String(H));if(K!==0)return G.direction==="desc"?-K:K}return 0})}var K64,Z64,Qx;var rK0=m(()=>{Y5();Y6();BZ();K64=IU,Z64=SU(OY),Qx=Q4({name:"COLLECTION_GATEWAY_LIST",description:"List all MCP gateways in the organization",inputSchema:K64,outputSchema:Z64,handler:async(X,Q)=>{await Q.access.check();let J=e4(Q),Y=X.where&&!("conditions"in X.where)&&X.where.field.join(".")==="connection_id"&&X.where.operator==="eq"&&typeof X.where.value==="string"?X.where.value:void 0,$=(Y?await Q.storage.gateways.listByConnectionId(J.id,Y):await Q.storage.gateways.list(J.id)).map((V)=>({id:V.id,title:V.title,description:V.description,icon:V.icon,is_default:V.isDefault,organization_id:V.organizationId,tool_selection_strategy:V.toolSelectionStrategy,tool_selection_mode:V.toolSelectionMode,status:V.status,connections:V.connections.map((q)=>({connection_id:q.connectionId,selected_tools:q.selectedTools,selected_resources:q.selectedResources,selected_prompts:q.selectedPrompts})),created_at:V.createdAt,updated_at:V.updatedAt,created_by:V.createdBy,updated_by:V.updatedBy??void 0}));if(X.where)$=$.filter((V)=>yP(V,X.where));if(X.orderBy&&X.orderBy.length>0)$=H64($,X.orderBy);let W=$.length,H=X.offset??0,K=X.limit??100,Z=$.slice(H,H+K),F=H+K<W;return{items:Z,totalCount:W,hasMore:F}}})});var F64,V64,Jx;var aK0=m(()=>{d0();Y6();BZ();F64=N.object({id:N.string().describe("ID of the gateway to retrieve")}),V64=N.object({item:OY.nullable().describe("The retrieved gateway, or null if not found")}),Jx=Q4({name:"COLLECTION_GATEWAY_GET",description:"Get an MCP gateway by ID",inputSchema:F64,outputSchema:V64,handler:async(X,Q)=>{B4(Q);let J=e4(Q);await Q.access.check();let Y=await Q.storage.gateways.findById(X.id);if(Y&&Y.organizationId!==J.id)return{item:null};if(!Y)return{item:null};return{item:{id:Y.id,title:Y.title,description:Y.description,icon:Y.icon,organization_id:Y.organizationId,tool_selection_strategy:Y.toolSelectionStrategy,tool_selection_mode:Y.toolSelectionMode,status:Y.status,is_default:Y.isDefault,connections:Y.connections.map((G)=>({connection_id:G.connectionId,selected_tools:G.selectedTools,selected_resources:G.selectedResources,selected_prompts:G.selectedPrompts})),created_at:Y.createdAt,updated_at:Y.updatedAt,created_by:Y.createdBy,updated_by:Y.updatedBy??void 0}}}})});var q64,U64,Yx;var oK0=m(()=>{d0();Y6();BZ();q64=N.object({id:N.string().describe("ID of the gateway to update"),data:nK0.describe("Partial gateway data to update")}),U64=N.object({item:OY.describe("The updated gateway entity")}),Yx=Q4({name:"COLLECTION_GATEWAY_UPDATE",description:"Update an MCP gateway",inputSchema:q64,outputSchema:U64,handler:async(X,Q)=>{B4(Q);let J=e4(Q);await Q.access.check();let Y=p1(Q);if(!Y)throw Error("User ID required to update gateway");let G=await Q.storage.gateways.findById(X.id);if(!G)throw Error(`Gateway not found: ${X.id}`);if(G.organizationId!==J.id)throw Error(`Gateway not found: ${X.id}`);let $={};if(X.data.title!==void 0)$.title=X.data.title;if(X.data.description!==void 0)$.description=X.data.description;if(X.data.tool_selection_strategy!==void 0)$.toolSelectionStrategy=X.data.tool_selection_strategy;if(X.data.tool_selection_mode!==void 0)$.toolSelectionMode=X.data.tool_selection_mode;if(X.data.icon!==void 0)$.icon=X.data.icon;if(X.data.status!==void 0)$.status=X.data.status;if(X.data.is_default!==void 0)$.isDefault=X.data.is_default;if(X.data.connections!==void 0)$.connections=X.data.connections.map((H)=>({connectionId:H.connection_id,selectedTools:H.selected_tools??null,selectedResources:H.selected_resources??null,selectedPrompts:H.selected_prompts??null}));let W=await Q.storage.gateways.update(X.id,Y,$);return{item:{id:W.id,title:W.title,description:W.description,icon:W.icon,organization_id:W.organizationId,tool_selection_strategy:W.toolSelectionStrategy,tool_selection_mode:W.toolSelectionMode,status:W.status,is_default:W.isDefault,connections:W.connections.map((H)=>({connection_id:H.connectionId,selected_tools:H.selectedTools,selected_resources:H.selectedResources,selected_prompts:H.selectedPrompts})),created_at:W.createdAt,updated_at:W.updatedAt,created_by:W.createdBy,updated_by:W.updatedBy??void 0}}}})});var z64,B64,Gx;var sK0=m(()=>{d0();Y6();BZ();z64=N.object({id:N.string().describe("ID of the gateway to delete")}),B64=N.object({item:OY.describe("The deleted gateway entity")}),Gx=Q4({name:"COLLECTION_GATEWAY_DELETE",description:"Delete an MCP gateway",inputSchema:z64,outputSchema:B64,handler:async(X,Q)=>{B4(Q);let J=e4(Q);await Q.access.check();let Y=await Q.storage.gateways.findById(X.id);if(!Y)throw Error(`Gateway not found: ${X.id}`);if(Y.organizationId!==J.id)throw Error(`Gateway not found: ${X.id}`);if(Y.isDefault)throw Error("Cannot delete the Organization Agent. Set another Agent as the Organization Agent first.");return await Q.storage.gateways.delete(X.id),{item:{id:Y.id,title:Y.title,description:Y.description,icon:Y.icon,organization_id:Y.organizationId,tool_selection_strategy:Y.toolSelectionStrategy,tool_selection_mode:Y.toolSelectionMode,status:Y.status,is_default:Y.isDefault,connections:Y.connections.map((G)=>({connection_id:G.connectionId,selected_tools:G.selectedTools,selected_resources:G.selectedResources,selected_prompts:G.selectedPrompts})),created_at:Y.createdAt instanceof Date?Y.createdAt.toISOString():Y.createdAt,updated_at:Y.updatedAt instanceof Date?Y.updatedAt.toISOString():Y.updatedAt,created_by:Y.createdBy,updated_by:Y.updatedBy??void 0}}}})});var tK0=m(()=>{iK0();rK0();aK0();oK0();sK0()});var D64,$x;var eK0=m(()=>{Y6();d0();D64=N.object({id:N.string().optional().describe("Unique log identifier"),organizationId:N.string().describe("Organization ID"),connectionId:N.string().describe("Connection ID"),connectionTitle:N.string().describe("Connection display name"),toolName:N.string().describe("Name of the tool that was called"),input:N.record(N.string(),N.unknown()).describe("Redacted tool input"),output:N.record(N.string(),N.unknown()).describe("Redacted tool output"),isError:N.boolean().describe("Whether the call resulted in an error"),errorMessage:N.string().nullish().describe("Error message if applicable"),durationMs:N.number().describe("Call duration in milliseconds"),timestamp:N.string().describe("ISO 8601 timestamp of the call"),userId:N.string().nullish().describe("User who triggered the call"),requestId:N.string().describe("Unique request identifier"),userAgent:N.string().nullish().describe("Client identifier (x-mesh-client header)"),gatewayId:N.string().nullish().describe("Gateway ID if routed through a gateway"),properties:N.record(N.string(),N.string()).nullish().describe("Custom key-value metadata attached to the log")}),$x=Q4({name:"MONITORING_LOGS_LIST",description:"List monitoring logs for tool calls in the organization",inputSchema:N.object({connectionId:N.string().optional().describe("Filter by connection ID"),gatewayId:N.string().optional().describe("Filter by gateway ID"),toolName:N.string().optional().describe("Filter by tool name"),isError:N.boolean().optional().describe("Filter by error status"),startDate:N.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:N.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)"),limit:N.number().default(100).describe("Maximum number of results"),offset:N.number().default(0).describe("Offset for pagination"),properties:N.record(N.string(),N.string()).optional().describe("Filter by exact property key=value matches"),propertyKeys:N.array(N.string()).optional().describe("Filter by logs that have these property keys"),propertyPatterns:N.record(N.string(),N.string()).optional().describe("Filter by property value patterns (SQL LIKE, use % as wildcard)")}),outputSchema:N.object({logs:N.array(D64).describe("Array of monitoring logs"),total:N.number().describe("Total number of logs matching filters"),offset:N.number().describe("Current offset for pagination"),limit:N.number().describe("Current limit for pagination")}),handler:async(X,Q)=>{let J=e4(Q),G=X.properties||X.propertyKeys||X.propertyPatterns?{properties:X.properties,propertyKeys:X.propertyKeys,propertyPatterns:X.propertyPatterns}:void 0,$={organizationId:J.id,connectionId:X.connectionId,gatewayId:X.gatewayId,toolName:X.toolName,isError:X.isError,startDate:X.startDate?new Date(X.startDate):void 0,endDate:X.endDate?new Date(X.endDate):void 0,limit:X.limit,offset:X.offset,propertyFilters:G},W=await Q.storage.monitoring.query($);return{logs:W.logs.map((H)=>({...H,timestamp:H.timestamp instanceof Date?H.timestamp.toISOString():H.timestamp})),total:W.total,offset:X.offset,limit:X.limit}}})});var Wx;var XZ0=m(()=>{Y6();d0();Wx=Q4({name:"MONITORING_STATS",description:"Get aggregated statistics for tool call monitoring",inputSchema:N.object({startDate:N.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:N.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)")}),outputSchema:N.object({totalCalls:N.number().describe("Total number of tool calls"),errorRate:N.number().describe("Error rate as a decimal (0 to 1)"),avgDurationMs:N.number().describe("Average call duration in milliseconds"),errorRatePercent:N.string().describe("Error rate as a percentage string")}),handler:async(X,Q)=>{let Y={organizationId:e4(Q).id,startDate:X.startDate?new Date(X.startDate):void 0,endDate:X.endDate?new Date(X.endDate):void 0},G=await Q.storage.monitoring.getStats(Y);return{...G,errorRatePercent:(G.errorRate*100).toFixed(2)}}})});var QZ0=m(()=>{eK0();XZ0()});var Hx;var JZ0=m(()=>{d0();Y6();Hx=Q4({name:"ORGANIZATION_CREATE",description:"Create a new organization",inputSchema:N.object({slug:N.string().min(1).max(50).regex(/^[a-z0-9-]+$/,"Slug must be lowercase alphanumeric with hyphens"),name:N.string().min(1).max(255),description:N.string().optional()}),outputSchema:N.object({id:N.string(),name:N.string(),slug:N.string(),logo:N.string().nullable().optional(),metadata:N.any().optional(),createdAt:N.string().datetime().describe("ISO 8601 timestamp"),members:N.array(N.any()).optional()}),handler:async(X,Q)=>{B4(Q),await Q.access.check();let J=p1(Q);if(!J)throw Error("User ID required to create organization");let Y=await Q.boundAuth.organization.create({name:X.name,slug:X.slug,metadata:X.description?{description:X.description}:void 0,userId:J});if(!Y)throw Error("Failed to create organization");return{...Y,createdAt:Y.createdAt instanceof Date?Y.createdAt.toISOString():Y.createdAt}}})});var Kx;var YZ0=m(()=>{d0();Y6();Kx=Q4({name:"ORGANIZATION_LIST",description:"List all organizations user has access to",inputSchema:N.object({userId:N.string().optional()}),outputSchema:N.object({organizations:N.array(N.object({id:N.string(),name:N.string(),slug:N.string(),logo:N.string().nullable().optional(),metadata:N.any().optional(),createdAt:N.string().datetime().describe("ISO 8601 timestamp")}))}),handler:async(X,Q)=>{B4(Q),await Q.access.check();let J=p1(Q),Y=X.userId||J;if(!Y)throw Error("User ID required to list organizations");return{organizations:(await Q.boundAuth.organization.list(Y)).map(($)=>({...$,createdAt:$.createdAt instanceof Date?$.createdAt.toISOString():$.createdAt}))}}})});var Zx;var GZ0=m(()=>{d0();Y6();Zx=Q4({name:"ORGANIZATION_GET",description:"Get organization details by slug or ID",inputSchema:N.object({}),outputSchema:N.object({id:N.string(),name:N.string(),slug:N.string(),logo:N.string().nullable().optional(),metadata:N.any().optional(),createdAt:N.string().datetime().describe("ISO 8601 timestamp"),members:N.array(N.any()).optional(),invitations:N.array(N.any()).optional()}),handler:async(X,Q)=>{B4(Q),await Q.access.check();let J=await Q.boundAuth.organization.get();if(!J)throw Error("No active organization found");return{...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt}}})});var Fx;var $Z0=m(()=>{d0();Y6();Fx=Q4({name:"ORGANIZATION_UPDATE",description:"Update an existing organization",inputSchema:N.object({id:N.string(),slug:N.string().min(1).max(50).regex(/^[a-z0-9-]+$/).optional(),name:N.string().min(1).max(255).optional(),description:N.string().optional()}),outputSchema:N.object({id:N.string(),name:N.string(),slug:N.string(),logo:N.string().nullable().optional(),metadata:N.any().optional(),createdAt:N.string().datetime().describe("ISO 8601 timestamp")}),handler:async(X,Q)=>{B4(Q),await Q.access.check();let J={};if(X.name)J.name=X.name;if(X.slug)J.slug=X.slug;if(X.description)J.metadata={description:X.description};let Y=await Q.boundAuth.organization.update({organizationId:X.id,data:J});if(!Y)throw Error("Failed to update organization");return{...Y,createdAt:Y.createdAt instanceof Date?Y.createdAt.toISOString():Y.createdAt}}})});var Vx;var WZ0=m(()=>{d0();Y6();Vx=Q4({name:"ORGANIZATION_DELETE",description:"Delete an organization",inputSchema:N.object({id:N.string()}),outputSchema:N.object({success:N.boolean(),id:N.string()}),handler:async(X,Q)=>{return B4(Q),await Q.access.check(),await Q.boundAuth.organization.delete(X.id),{success:!0,id:X.id}}})});var pU;var qx=m(()=>{d0();pU=N.object({title:N.string(),url:N.string(),icon:N.string()})});var Ux;var HZ0=m(()=>{d0();Y6();qx();Ux=Q4({name:"ORGANIZATION_SETTINGS_GET",description:"Get organization-level settings",inputSchema:N.object({}),outputSchema:N.object({organizationId:N.string(),sidebar_items:N.array(pU).nullable().optional(),createdAt:N.string().datetime().optional().describe("ISO 8601 timestamp"),updatedAt:N.string().datetime().optional().describe("ISO 8601 timestamp")}),handler:async(X,Q)=>{B4(Q),await Q.access.check();let J=Q.organization?.id;if(!J)throw Error("Organization ID required (no active organization in context)");let Y=await Q.storage.organizationSettings.get(J);if(!Y)return{organizationId:J};return{...Y,createdAt:Y.createdAt instanceof Date?Y.createdAt.toISOString():Y.createdAt,updatedAt:Y.updatedAt instanceof Date?Y.updatedAt.toISOString():Y.updatedAt}}})});var zx;var KZ0=m(()=>{d0();Y6();qx();zx=Q4({name:"ORGANIZATION_SETTINGS_UPDATE",description:"Update organization-level settings",inputSchema:N.object({organizationId:N.string(),sidebar_items:N.array(pU).optional()}),outputSchema:N.object({organizationId:N.string(),sidebar_items:N.array(pU).nullable().optional(),createdAt:N.string().datetime().describe("ISO 8601 timestamp"),updatedAt:N.string().datetime().describe("ISO 8601 timestamp")}),handler:async(X,Q)=>{if(B4(Q),await Q.access.check(),Q.organization&&Q.organization.id!==X.organizationId)throw Error("Cannot update settings for a different organization");let J=await Q.storage.organizationSettings.upsert(X.organizationId,{sidebar_items:X.sidebar_items});return{...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt,updatedAt:J.updatedAt instanceof Date?J.updatedAt.toISOString():J.updatedAt}}})});var Bx;var ZZ0=m(()=>{d0();Y6();Bx=Q4({name:"ORGANIZATION_MEMBER_ADD",description:"Add a member to an organization",inputSchema:N.object({organizationId:N.string().optional(),userId:N.string(),role:N.array(N.string())}),outputSchema:N.object({id:N.string(),organizationId:N.string(),userId:N.string(),role:N.union([N.string(),N.array(N.string())]),createdAt:N.string().datetime().describe("ISO 8601 timestamp")}),handler:async(X,Q)=>{B4(Q),await Q.access.check();let J=X.organizationId||Q.organization?.id;if(!J)throw Error("Organization ID required (no active organization in context)");let Y=await Q.boundAuth.organization.addMember({organizationId:J,userId:X.userId,role:X.role});if(!Y)throw Error("Failed to add member");return{...Y,role:Y.role,createdAt:Y.createdAt instanceof Date?Y.createdAt.toISOString():Y.createdAt}}})});var Lx;var FZ0=m(()=>{d0();Y6();Lx=Q4({name:"ORGANIZATION_MEMBER_REMOVE",description:"Remove a member from an organization",inputSchema:N.object({organizationId:N.string().optional(),memberIdOrEmail:N.string()}),outputSchema:N.object({success:N.boolean(),memberIdOrEmail:N.string()}),handler:async(X,Q)=>{B4(Q),await Q.access.check();let J=X.organizationId||Q.organization?.id;if(!J)throw Error("Organization ID required (no active organization in context)");return await Q.boundAuth.organization.removeMember({organizationId:J,memberIdOrEmail:X.memberIdOrEmail}),{success:!0,memberIdOrEmail:X.memberIdOrEmail}}})});var Dx;var VZ0=m(()=>{d0();Y6();Dx=Q4({name:"ORGANIZATION_MEMBER_LIST",description:"List all members in an organization",inputSchema:N.object({limit:N.number().optional(),offset:N.number().optional()}),outputSchema:N.object({members:N.array(N.object({id:N.string(),organizationId:N.string(),userId:N.string(),role:N.string(),createdAt:N.string().datetime().describe("ISO 8601 timestamp"),user:N.object({id:N.string(),name:N.string(),email:N.string(),image:N.string().optional()}).optional()}))}),handler:async(X,Q)=>{B4(Q),await Q.access.check();let J=Q.organization?.id;if(!J)throw Error("Organization ID required (no active organization in context)");let Y=await Q.boundAuth.organization.listMembers({organizationId:J,limit:X.limit,offset:X.offset});return{members:(Array.isArray(Y)?Y:[]).map(($)=>({...$,createdAt:$.createdAt instanceof Date?$.createdAt.toISOString():$.createdAt}))}}})});var jx;var qZ0=m(()=>{d0();Y6();jx=Q4({name:"ORGANIZATION_MEMBER_UPDATE_ROLE",description:"Update a member's role in an organization",inputSchema:N.object({organizationId:N.string().optional(),memberId:N.string(),role:N.array(N.string())}),outputSchema:N.object({id:N.string(),organizationId:N.string(),userId:N.string(),role:N.union([N.literal("admin"),N.literal("member"),N.literal("owner")]),createdAt:N.string().datetime().describe("ISO 8601 timestamp"),user:N.object({email:N.string(),name:N.string(),image:N.string().optional()})}),handler:async(X,Q)=>{B4(Q),await Q.access.check();let J=X.organizationId||Q.organization?.id;if(!J)throw Error("Organization ID required (no active organization in context)");let Y=await Q.boundAuth.organization.updateMemberRole({organizationId:J,memberId:X.memberId,role:X.role});if(!Y)throw Error("Failed to update member role");return{...Y,createdAt:Y.createdAt instanceof Date?Y.createdAt.toISOString():Y.createdAt}}})});var UZ0=m(()=>{JZ0();YZ0();GZ0();$Z0();WZ0();HZ0();KZ0();ZZ0();FZ0();VZ0();qZ0()});var O64,M64,Nx;var zZ0=m(()=>{d0();Y6();O64=N.object({id:N.string().min(1)}),M64=N.object({user:N.object({id:N.string(),name:N.string(),email:N.string(),image:N.string().nullable()}).nullable()}),Nx=Q4({name:"USER_GET",description:"Get a user by id (restricted to shared organizations)",inputSchema:O64,outputSchema:M64,handler:async(X,Q)=>{await Q.access.check(),B4(Q);let J=p1(Q);if(!J)throw Error("Authentication required");let Y=await Q.storage.users.findById(X.id,J);if(!Y)return{user:null};return{user:{id:Y.id,name:Y.name,email:Y.email,image:Y.image??null}}}})});var BZ0=m(()=>{zZ0()});var DZ0={};X6(DZ0,{managementMCP:()=>P64,ALL_TOOLS:()=>LZ0});var LZ0,P64=(X)=>{let Q=LZ0.map((Y)=>({name:Y.name,description:Y.description,inputSchema:Y.inputSchema,outputSchema:Y.outputSchema,handler:async(G)=>{return X.access.setToolName(Y.name),await Y.execute(G,X)}}));return k50({name:"mcp-mesh-management",version:"1.0.0"}).withTools(Q).build()};var jZ0=m(()=>{_50();dH0();SK0();bK0();pK0();tK0();QZ0();UZ0();BZ0();LZ0=[Hx,Kx,Zx,Fx,Vx,Ux,zx,Bx,Lx,Dx,jx,Rg,gg,xg,mg,lg,dg,eg,Qx,Jx,Yx,Gx,_K0,$x,Wx,Tg,Eg,Cg,Ag,pg,cg,ng,ig,rg,ag,og,Nx]});JT();import{Migrator as CZ0}from"kysely";var _x={benchmark:()=>Promise.resolve().then(() => (kx(),vx)).then((X)=>X.seed)};async function bx(X,Q){let J=_x[Q];if(!J)throw Error(`Unknown seed: ${Q}. Available: ${Object.keys(_x).join(", ")}`);let Y=await J();console.log(`\uD83C\uDF31 Running seed: ${Q}`);let G=await Y(X);return console.log(`\u2705 Seed "${Q}" completed`),G}MY();HJ();MY();HJ();TX();v1();var u8=(X,Q="ms")=>{return new Date(Date.now()+(Q==="sec"?X*1000:X))},aD=new WeakMap;function Fp(X,Q){let J=Q.fields,Y={};for(let G in X){let $=J[G];if(!$){Y[G]=X[G];continue}if($.returned===!1)continue;Y[G]=X[G]}return Y}function oD(X,Q){if(!aD.has(X))aD.set(X,new Map);let J=aD.get(X);if(J.has(Q))return J.get(Q);let Y={...Q==="user"?X.user?.additionalFields:{},...Q==="session"?X.session?.additionalFields:{}};for(let G of X.plugins||[])if(G.schema&&G.schema[Q])Y={...Y,...G.schema[Q].fields};return aD.get(X).set(Q,Y),Y}function k1(X,Q){return{...Fp(Q,{fields:oD(X,"user")}),id:Q.id}}function f9(X,Q){return Fp(Q,{fields:oD(X,"session")})}function SR(X,Q){let J=Q.action||"create",Y=Q.fields,G=Object.assign(Object.create(null),null);for(let $ in Y){if($ in X){if(Y[$].input===!1){if(Y[$].defaultValue!==void 0){if(J!=="update"){G[$]=Y[$].defaultValue;continue}}if(X[$])throw new h("BAD_REQUEST",{message:`${$} is not allowed to be set`});continue}if(Y[$].validator?.input&&X[$]!==void 0){G[$]=Y[$].validator.input["~standard"].validate(X[$]);continue}if(Y[$].transform?.input&&X[$]!==void 0){G[$]=Y[$].transform?.input(X[$]);continue}G[$]=X[$];continue}if(Y[$].defaultValue!==void 0&&J==="create"){if(typeof Y[$].defaultValue==="function"){G[$]=Y[$].defaultValue();continue}G[$]=Y[$].defaultValue;continue}if(Y[$].required&&J==="create")throw new h("BAD_REQUEST",{message:`${$} is required`})}return G}function sD(X,Q={},J){return SR(Q,{fields:oD(X,"user"),action:J})}function vR(X,Q){return SR(Q,{fields:oD(X,"session")})}function uX(X,Q){if(!Q)return X;for(let J in Q){let Y=Q[J]?.modelName;if(Y)X[J].modelName=Y;for(let G in X[J].fields){let $=Q[J]?.fields?.[G];if(!$)continue;X[J].fields[G].fieldName=$}}return X}UQ();d0();var tU0="127.0.0.1";function J$(X,Q){if(Q.advanced?.ipAddress?.disableIpTracking)return null;if(yY()||e7())return tU0;let J="headers"in X?X.headers:X,Y=Q.advanced?.ipAddress?.ipAddressHeaders||["x-forwarded-for"];for(let G of Y){let $="get"in J?J.get(G):J[G];if(typeof $==="string"){let W=$.split(",")[0].trim();if(eU0(W))return W}}return null}function eU0(X){if(x5().safeParse(X).success)return!0;if(u5().safeParse(X).success)return!0;return!1}AX();k9();UQ();e8();import{sql as g9}from"kysely";async function Bp(X,Q){let J;if(!X.database){let Y=yQ(X),G=Object.keys(Y).reduce((W,H)=>{return W[H]=[],W},{}),{memoryAdapter:$}=await Promise.resolve().then(() => (zp(),Up));J=$(G)(X)}else if(typeof X.database==="function")J=X.database(X);else J=await Q(X);if(!J.transaction)w4.warn("Adapter does not correctly implement transaction function, patching it automatically. Please update your adapter implementation."),J.transaction=async(Y)=>{return Y(J)};return J}async function hR(X){return Bp(X,async(Q)=>{let{createKyselyAdapter:J}=await Promise.resolve().then(() => (fR(),yR)),{kysely:Y,databaseType:G,transaction:$}=await J(Q);if(!Y)throw new L4("Failed to initialize database adapter");let{kyselyAdapter:W}=await Promise.resolve().then(() => (fR(),yR));return W(Y,{type:G||"sqlite",debugLogs:Q.database&&"debugLogs"in Q.database?Q.database.debugLogs:!1,transaction:$})(Q)})}function Lp(X,Q){let J=Q.hooks;async function Y(K,Z,F){let V=await fQ(),q=K;for(let D of J||[]){let j=D[Z]?.create?.before;if(j){let O=await j(q,V);if(O===!1)return null;if(typeof O==="object"&&"data"in O)q={...q,...O.data}}}let B=F?await F.fn(q):null,L=!F||F.executeMainFn?await(await l6(X)).create({model:Z,data:q,forceAllowId:!0}):B;for(let D of J||[]){let j=D[Z]?.create?.after;if(j)await j(L,V)}return L}async function G(K,Z,F,V){let q=await fQ(),B=K;for(let j of J||[]){let O=j[F]?.update?.before;if(O){let T=await O(K,q);if(T===!1)return null;if(typeof T==="object"&&"data"in T)B={...B,...T.data}}}let L=V?await V.fn(B):null,D=!V||V.executeMainFn?await(await l6(X)).update({model:F,update:B,where:Z}):L;for(let j of J||[]){let O=j[F]?.update?.after;if(O)await O(D,q)}return D}async function $(K,Z,F,V){let q=await fQ(),B=K;for(let j of J||[]){let O=j[F]?.update?.before;if(O){let T=await O(K,q);if(T===!1)return null;if(typeof T==="object"&&"data"in T)B={...B,...T.data}}}let L=V?await V.fn(B):null,D=!V||V.executeMainFn?await(await l6(X)).updateMany({model:F,update:B,where:Z}):L;for(let j of J||[]){let O=j[F]?.update?.after;if(O)await O(D,q)}return D}async function W(K,Z,F){let V=await fQ(),q=null;try{q=(await(await l6(X)).findMany({model:Z,where:K,limit:1}))[0]||null}catch(D){}if(q)for(let D of J||[]){let j=D[Z]?.delete?.before;if(j){if(await j(q,V)===!1)return null}}let B=F?await F.fn(K):null,L=!F||F.executeMainFn?await(await l6(X)).delete({model:Z,where:K}):B;if(q)for(let D of J||[]){let j=D[Z]?.delete?.after;if(j)await j(q,V)}return L}async function H(K,Z,F){let V=await fQ(),q=[];try{q=await(await l6(X)).findMany({model:Z,where:K})}catch(D){}for(let D of q)for(let j of J||[]){let O=j[Z]?.delete?.before;if(O){if(await O(D,V)===!1)return null}}let B=F?await F.fn(K):null,L=!F||F.executeMainFn?await(await l6(X)).deleteMany({model:Z,where:K}):B;for(let D of q)for(let j of J||[]){let O=j[Z]?.delete?.after;if(O)await O(D,V)}return L}return{createWithHooks:Y,updateWithHooks:G,updateManyWithHooks:$,deleteWithHooks:W,deleteManyWithHooks:H}}var Gj=(X,Q)=>{let{logger:J,options:Y}=Q,G=Y.secondaryStorage,$=Y.session?.expiresIn||604800,{createWithHooks:W,updateWithHooks:H,updateManyWithHooks:K,deleteWithHooks:Z,deleteManyWithHooks:F}=Lp(X,Q);async function V(q){if(!G)return;let B=await G.get(`active-sessions-${q.id}`);if(!B)return;let L=Date.now(),D=(o6(B)||[]).filter((j)=>j.expiresAt>L);await Promise.all(D.map(async({token:j})=>{let O=await G.get(j);if(!O)return;let T=o6(O);if(!T)return;let C=Math.max(Math.floor(new Date(T.session.expiresAt).getTime()-L)/1000,0);await G.set(j,JSON.stringify({session:T.session,user:q}),Math.floor(C))}))}return{createOAuthUser:async(q,B)=>{return dZ(X,async()=>{let L=await W({createdAt:new Date,updatedAt:new Date,...q},"user",void 0);return{user:L,account:await W({...B,userId:L.id,createdAt:new Date,updatedAt:new Date},"account",void 0)}})},createUser:async(q)=>{return await W({createdAt:new Date,updatedAt:new Date,...q,email:q.email?.toLowerCase()},"user",void 0)},createAccount:async(q)=>{return await W({createdAt:new Date,updatedAt:new Date,...q},"account",void 0)},listSessions:async(q)=>{if(G){let B=await G.get(`active-sessions-${q}`);if(!B)return[];let L=o6(B)||[],D=Date.now(),j=L.filter((T)=>T.expiresAt>D),O=[];for(let T of j){let C=await G.get(T.token);if(C){let E=o6(C);if(!E)return[];let P=f9(Q.options,{...E.session,expiresAt:new Date(E.session.expiresAt)});O.push(P)}}return O}return await(await l6(X)).findMany({model:"session",where:[{field:"userId",value:q}]})},listUsers:async(q,B,L,D)=>{return await(await l6(X)).findMany({model:"user",limit:q,offset:B,sortBy:L,where:D})},countTotalUsers:async(q)=>{let B=await(await l6(X)).count({model:"user",where:q});if(typeof B==="string")return parseInt(B);return B},deleteUser:async(q)=>{if(G)await G.delete(`active-sessions-${q}`);if(!G||Y.session?.storeSessionInDatabase)await F([{field:"userId",value:q}],"session",void 0);await F([{field:"userId",value:q}],"account",void 0),await Z([{field:"id",value:q}],"user",void 0)},createSession:async(q,B,L,D)=>{let j=await fQ().catch(()=>null),O=j?.headers||j?.request?.headers,{id:T,...C}=L||{},E=vR(j?.context.options??Y,{}),P={ipAddress:j?.request||j?.headers?J$(j?.request||j?.headers,j?.context.options)||"":"",userAgent:O?.get("user-agent")||"",...C,expiresAt:B?u8(86400,"sec"):u8($,"sec"),userId:q,token:Z1(32),createdAt:new Date,updatedAt:new Date,...E,...D?C:{}};return await W(P,"session",G?{fn:async(A)=>{let R=await G.get(`active-sessions-${q}`),S=[],v=Date.now();if(R)S=o6(R)||[],S=S.filter((i)=>i.expiresAt>v);let k=S.sort((i,s)=>i.expiresAt-s.expiresAt),u=k.at(-1)?.expiresAt;if(k.push({token:P.token,expiresAt:P.expiresAt.getTime()}),!u||u<P.expiresAt.getTime())u=P.expiresAt.getTime();let c=Math.max(Math.floor((u-v)/1000),0);if(c>0)await G.set(`active-sessions-${q}`,JSON.stringify(k),c);let p=await X.findOne({model:"user",where:[{field:"id",value:q}]}),a=Math.max(Math.floor((P.expiresAt.getTime()-v)/1000),0);if(a>0)await G.set(P.token,JSON.stringify({session:A,user:p}),a);return A},executeMainFn:Y.session?.storeSessionInDatabase}:void 0)},findSession:async(q)=>{if(G){let j=await G.get(q);if(!j&&!Y.session?.storeSessionInDatabase)return null;if(j){let O=o6(j);if(!O)return null;return{session:f9(Q.options,{...O.session,expiresAt:new Date(O.session.expiresAt),createdAt:new Date(O.session.createdAt),updatedAt:new Date(O.session.updatedAt)}),user:k1(Q.options,{...O.user,createdAt:new Date(O.user.createdAt),updatedAt:new Date(O.user.updatedAt)})}}}let B=await(await l6(X)).findOne({model:"session",where:[{value:q,field:"token"}],join:{user:!0}});if(!B)return null;let{user:L,...D}=B;if(!L)return null;return{session:f9(Q.options,D),user:k1(Q.options,L)}},findSessions:async(q)=>{if(G){let L=[];for(let D of q){let j=await G.get(D);if(j){let O=o6(j);if(!O)return[];let T={session:{...O.session,expiresAt:new Date(O.session.expiresAt)},user:{...O.user,createdAt:new Date(O.user.createdAt),updatedAt:new Date(O.user.updatedAt)}};L.push(T)}}return L}let B=await(await l6(X)).findMany({model:"session",where:[{field:"token",value:q,operator:"in"}],join:{user:!0}});if(!B.length)return[];if(B.some((L)=>!L.user))return[];return B.map((L)=>{let{user:D,...j}=L;return{session:j,user:D}})},updateSession:async(q,B)=>{return await H(B,[{field:"token",value:q}],"session",G?{async fn(L){let D=await G.get(q),j=null;if(D){let O=o6(D);if(!O)return null;return j={...O.session,...L},j}else return null},executeMainFn:Y.session?.storeSessionInDatabase}:void 0)},deleteSession:async(q)=>{if(G){let B=await G.get(q);if(B){let{session:L}=o6(B)??{};if(!L){J.error("Session not found in secondary storage");return}let D=L.userId,j=await G.get(`active-sessions-${D}`);if(j){let O=o6(j)||[],T=Date.now(),C=O.filter((P)=>P.expiresAt>T&&P.token!==q),E=C.sort((P,A)=>P.expiresAt-A.expiresAt).at(-1)?.expiresAt;if(C.length>0&&E&&E>Date.now())await G.set(`active-sessions-${D}`,JSON.stringify(C),Math.floor((E-T)/1000));else await G.delete(`active-sessions-${D}`)}else J.error("Active sessions list not found in secondary storage")}if(await G.delete(q),!Y.session?.storeSessionInDatabase||Q.options.session?.preserveSessionInDatabase)return}await(await l6(X)).delete({model:"session",where:[{field:"token",value:q}]})},deleteAccounts:async(q)=>{await F([{field:"userId",value:q}],"account",void 0)},deleteAccount:async(q)=>{await Z([{field:"id",value:q}],"account",void 0)},deleteSessions:async(q)=>{if(G){if(typeof q==="string"){let B=await G.get(`active-sessions-${q}`),L=B?o6(B):[];if(!L)return;for(let D of L)await G.delete(D.token)}else for(let B of q)if(await G.get(B))await G.delete(B);if(!Y.session?.storeSessionInDatabase||Q.options.session?.preserveSessionInDatabase)return}await F([{field:Array.isArray(q)?"token":"userId",value:q,operator:Array.isArray(q)?"in":void 0}],"session",void 0)},findOAuthUser:async(q,B,L)=>{let D=await(await l6(X)).findMany({model:"account",where:[{value:B,field:"accountId"}],join:{user:!0}}).then((j)=>{return j.find((O)=>O.providerId===L)});if(D)if(D.user)return{user:D.user,accounts:[D]};else{let j=await(await l6(X)).findOne({model:"user",where:[{value:q.toLowerCase(),field:"email"}]});if(j)return{user:j,accounts:[D]};return null}else{let j=await(await l6(X)).findOne({model:"user",where:[{value:q.toLowerCase(),field:"email"}]});if(j)return{user:j,accounts:await(await l6(X)).findMany({model:"account",where:[{value:j.id,field:"userId"}]})||[]};else return null}},findUserByEmail:async(q,B)=>{let L=await(await l6(X)).findOne({model:"user",where:[{value:q.toLowerCase(),field:"email"}],join:{...B?.includeAccounts?{account:!0}:{}}});if(!L)return null;let{account:D,...j}=L;return{user:j,accounts:D??[]}},findUserById:async(q)=>{if(!q)return null;return await(await l6(X)).findOne({model:"user",where:[{field:"id",value:q}]})},linkAccount:async(q)=>{return await W({createdAt:new Date,updatedAt:new Date,...q},"account",void 0)},updateUser:async(q,B)=>{let L=await H(B,[{field:"id",value:q}],"user",void 0);return await V(L),await V(L),L},updateUserByEmail:async(q,B)=>{let L=await H(B,[{field:"email",value:q.toLowerCase()}],"user",void 0);return await V(L),await V(L),L},updatePassword:async(q,B)=>{await K({password:B},[{field:"userId",value:q},{field:"providerId",value:"credential"}],"account",void 0)},findAccounts:async(q)=>{return await(await l6(X)).findMany({model:"account",where:[{field:"userId",value:q}]})},findAccount:async(q)=>{return await(await l6(X)).findOne({model:"account",where:[{field:"accountId",value:q}]})},findAccountByProviderId:async(q,B)=>{return await(await l6(X)).findOne({model:"account",where:[{field:"accountId",value:q},{field:"providerId",value:B}]})},findAccountByUserId:async(q)=>{return await(await l6(X)).findMany({model:"account",where:[{field:"userId",value:q}]})},updateAccount:async(q,B)=>{return await H(B,[{field:"id",value:q}],"account",void 0)},createVerificationValue:async(q)=>{return await W({createdAt:new Date,updatedAt:new Date,...q},"verification",void 0)},findVerificationValue:async(q)=>{let B=await(await l6(X)).findMany({model:"verification",where:[{field:"identifier",value:q}],sortBy:{field:"createdAt",direction:"desc"},limit:1});if(!Y.verification?.disableCleanup)await(await l6(X)).deleteMany({model:"verification",where:[{field:"expiresAt",value:new Date,operator:"lt"}]});return B[0]},deleteVerificationValue:async(q)=>{await(await l6(X)).delete({model:"verification",where:[{field:"id",value:q}]})},deleteVerificationByIdentifier:async(q)=>{await(await l6(X)).delete({model:"verification",where:[{field:"identifier",value:q}]})},updateVerificationValue:async(q,B)=>{return await H(B,[{field:"id",value:q}],"verification",void 0)}}};function Dp(X){let Q=yQ(X),J={};for(let Y in Q){let G=Q[Y],$=G.fields,W={};if(Object.entries($).forEach(([H,K])=>{if(W[K.fieldName||H]=K,K.references){let Z=Q[K.references.model];if(Z)W[K.fieldName||H].references={...K.references,model:Z.modelName,field:K.references.field}}}),J[G.modelName]){J[G.modelName].fields={...J[G.modelName].fields,...W};continue}J[G.modelName]={fields:W,order:G.order||1/0}}return J}var $z0={postgres:{string:["character varying","varchar","text","uuid"],number:["int4","integer","bigint","smallint","numeric","real","double precision"],boolean:["bool","boolean"],date:["timestamptz","timestamp","date"],json:["json","jsonb"]},mysql:{string:["varchar","text","uuid"],number:["integer","int","bigint","smallint","decimal","float","double"],boolean:["boolean","tinyint"],date:["timestamp","datetime","date"],json:["json"]},sqlite:{string:["TEXT"],number:["INTEGER","REAL"],boolean:["INTEGER","BOOLEAN"],date:["DATE","INTEGER"],json:["TEXT"]},mssql:{string:["varchar","nvarchar","uniqueidentifier"],number:["int","bigint","smallint","decimal","float","double"],boolean:["bit","smallint"],date:["datetime2","date","datetime"],json:["varchar","nvarchar"]}};function jp(X,Q,J){function Y($){return $.toLowerCase().split("(")[0].trim()}if(Q==="string[]"||Q==="number[]")return X.toLowerCase().includes("json");let G=$z0[J];return(Array.isArray(Q)?G.string.map(($)=>$.toLowerCase()):G[Q].map(($)=>$.toLowerCase())).includes(Y(X))}async function Wz0(X){try{let Q=await g9`SHOW search_path`.execute(X);if(Q.rows[0]?.search_path)return Q.rows[0].search_path.split(",").map((J)=>J.trim()).map((J)=>J.replace(/^["']|["']$/g,"")).filter((J)=>!J.startsWith("$"))[0]||"public"}catch(Q){}return"public"}async function MF(X){let Q=Dp(X),J=QH(X.logger),{kysely:Y,databaseType:G}=await oU(X);if(!G)J.warn("Could not determine database type, defaulting to sqlite. Please provide a type in the database options to avoid this."),G="sqlite";if(!Y)J.error("Only kysely adapter is supported for migrations. You can use `generate` command to generate the schema, if you're using a different adapter."),process.exit(1);let $="public";if(G==="postgres"){$=await Wz0(Y),J.debug(`PostgreSQL migration: Using schema '${$}' (from search_path)`);try{if(!(await g9`
|
|
225
225
|
SELECT schema_name
|