@decocms/mesh 1.0.15 → 1.0.16
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-DaEUMwle.js → AlertCircle-cYjr_0xB.js} +1 -1
- package/dist/client/assets/{ArrowLeft-CvFDkdiU.js → ArrowLeft-CBi8stO3.js} +1 -1
- package/dist/client/assets/{Calendar-DBqzL4c-.js → Calendar-cB-o1wit.js} +1 -1
- package/dist/client/assets/{ChevronDown-g4L12M9A.js → ChevronDown-7kPeUreU.js} +1 -1
- package/dist/client/assets/{Clock-C-uwthk9.js → Clock-D4OCvk0s.js} +1 -1
- package/dist/client/assets/{Copy01-CHjgpWtl.js → Copy01-DmZIDbuC.js} +1 -1
- package/dist/client/assets/{CpuChip02-DlCI7cQJ.js → CpuChip02-CvUOZekE.js} +1 -1
- package/dist/client/assets/{DotsVertical-CIfapH0j.js → DotsVertical-CugHspqx.js} +1 -1
- package/dist/client/assets/{File06-CBkqKj5m.js → File06-B9Csx588.js} +1 -1
- package/dist/client/assets/{GitBranch01-Ci5lqvRi.js → GitBranch01-DGYWk3k6.js} +1 -1
- package/dist/client/assets/{Inbox01-DCkU3Xgq.js → Inbox01-x47sKUjp.js} +1 -1
- package/dist/client/assets/{InfoCircle-BwNsGATl.js → InfoCircle-DXZ2AFmC.js} +1 -1
- package/dist/client/assets/{Key01-5nxXQgMM.js → Key01-BemiGYAL.js} +1 -1
- package/dist/client/assets/{LinkExternal01-ISpHuMJE.js → LinkExternal01-BrZUQjLP.js} +1 -1
- package/dist/client/assets/{Loading01-r04aEG5T.js → Loading01-CZ--C9o4.js} +1 -1
- package/dist/client/assets/{Plus-CS_Y2Vnc.js → Plus-B87V-eUk.js} +1 -1
- package/dist/client/assets/SearchMd-C_x78fQD.js +1 -0
- package/dist/client/assets/{Terminal-DYN6gEAz.js → Terminal-Bp8rdp_p.js} +1 -1
- package/dist/client/assets/{Trash01-DVxmznxT.js → Trash01-kv9nDzIp.js} +1 -1
- package/dist/client/assets/{Upload01-Da0sGkRE.js → Upload01-BkY8x2qR.js} +1 -1
- package/dist/client/assets/{X-BX0rl0N7.js → X-BI6-CrX0.js} +1 -1
- package/dist/client/assets/{XClose-BUuGHVgA.js → XClose-CPlecLXh.js} +1 -1
- package/dist/client/assets/{alert-dialog-DdP064l-.js → alert-dialog-DLlk9oGk.js} +3 -3
- package/dist/client/assets/{auth-AUS48lXs.js → auth-O7mzDtBv.js} +1 -1
- package/dist/client/assets/{auth-catchall-DqCIX1bA.js → auth-catchall-Cj2BmrFb.js} +1 -1
- package/dist/client/assets/avatar-yEkJ_N8H.js +1 -0
- package/dist/client/assets/badge-CzGd9Js-.js +1 -0
- package/dist/client/assets/button-RGWd1X_P.js +1 -0
- package/dist/client/assets/card-Bch45nKF.js +1 -0
- package/dist/client/assets/checkbox-Bkz-wJOC.js +1 -0
- package/dist/client/assets/collection-detail-BrxtwdmN.js +184 -0
- package/dist/client/assets/collection-display-button-s3SUZ2ky.js +1 -0
- package/dist/client/assets/{collection-header-DcpyPzrC.js → collection-header-g7B4v38B.js} +1 -1
- package/dist/client/assets/{collection-page-DpUZNbpd.js → collection-page-CXQu5PW5.js} +1 -1
- package/dist/client/assets/collection-search-B_ze9BPw.js +1 -0
- package/dist/client/assets/collection-table-wrapper-yPDs4QFo.js +1 -0
- package/dist/client/assets/connection-card-B2ZNmA6T.js +1 -0
- package/dist/client/assets/connection-detail-D98NZkPb.js +1 -0
- package/dist/client/assets/connections-CdxYZab0.js +1 -0
- package/dist/client/assets/{core-DJoPglro.js → core-GvCAeL42.js} +1 -1
- package/dist/client/assets/{create-organization-dialog-fbCy_hNu.js → create-organization-dialog-c2EjUvFE.js} +1 -1
- package/dist/client/assets/dialog-xbeC24qR.js +1 -0
- package/dist/client/assets/dropdown-menu-Dz-Cfe4c.js +1 -0
- package/dist/client/assets/{env-vars-editor-DEYac6H7.js → env-vars-editor-B-ADXMkg.js} +1 -1
- package/dist/client/assets/{error-boundary-CdmYlIj7.js → error-boundary-IlI5HY5C.js} +1 -1
- package/dist/client/assets/{extract-connection-data-Ty2DjF1e.js → extract-connection-data-3bWrIOWG.js} +1 -1
- package/dist/client/assets/form-C0miQmjx.js +1 -0
- package/dist/client/assets/formatDistanceToNow-BgvVIEk6.js +1 -0
- package/dist/client/assets/gateway-detail-C1Vlo23c.js +1 -0
- package/dist/client/assets/gateways-BphVjp-r.js +1 -0
- package/dist/client/assets/home-GBkZhhXc.js +1 -0
- package/dist/client/assets/{index-JV0IIYp6.js → index-CbrmpR2c.js} +1 -1
- package/dist/client/assets/index-Ce0bVa0I.js +155 -0
- package/dist/client/assets/index-FEm5nfEy.css +1 -0
- package/dist/client/assets/{index-DDiLOLYT.js → index-KVbZU2bI.js} +1 -1
- package/dist/client/assets/index-RUqw7d0T.js +25 -0
- package/dist/client/assets/input-Cc7Y8Lsj.js +1 -0
- package/dist/client/assets/{json-syntax-highlighter-i1hiMNnF.js → json-syntax-highlighter-Bc0wDiKJ.js} +2 -2
- package/dist/client/assets/json-zc228CLg.js +1 -0
- package/dist/client/assets/{layout-dxbGsEKV.js → layout-k5sx-zLk.js} +1 -1
- package/dist/client/assets/{lazy-highlighter-QDCjbXst.js → lazy-highlighter-tp_1h6Wp.js} +1 -1
- package/dist/client/assets/{localstorage-keys-D7pZSS7H.js → localstorage-keys-C2n4sqaz.js} +1 -1
- package/dist/client/assets/login-BI3qBB8Y.js +1 -0
- package/dist/client/assets/{mcp-oauth-D7V7V-GS.js → mcp-oauth-BrdcIayH.js} +1 -1
- package/dist/client/assets/members-ClQFNkDC.js +3 -0
- package/dist/client/assets/monitoring-BXnIcCQV.js +1 -0
- package/dist/client/assets/oauth-callback-uokDqdRF.js +1 -0
- package/dist/client/assets/{page-C8KGQPlY.js → page-D8Upjw8L.js} +2 -2
- package/dist/client/assets/popover-gYOPU7b5.js +1 -0
- package/dist/client/assets/prism-light-BmyQu-TG.js +1 -0
- package/dist/client/assets/{resizable-B3HA_CX4.js → resizable-0evkHPjb.js} +48 -48
- package/dist/client/assets/resource-tabs-Bp2LCK5n.js +1 -0
- package/dist/client/assets/select-B-74Vw7Q.js +1 -0
- package/dist/client/assets/settings-DZGZ9pQP.js +1 -0
- package/dist/client/assets/shell-layout-CmBAtkbZ.js +17 -0
- package/dist/client/assets/spinner-B6Gpa1lS.js +1 -0
- package/dist/client/assets/store-CZ1oyjvA.js +1 -0
- package/dist/client/assets/store-app-detail-Cr8HLsme.js +1 -0
- package/dist/client/assets/switch-C6VfIG9f.js +1 -0
- package/dist/client/assets/{tools-list-BsHebq88.js → tools-list-6PdjsEP-.js} +1 -1
- package/dist/client/assets/tooltip-B77piVwL.js +1 -0
- package/dist/client/assets/{types-D4T3qWDr.js → types-0U77q4OL.js} +5 -5
- package/dist/client/assets/{use-binding-CapMpNVF.js → use-binding-DOHpn0td.js} +6 -6
- package/dist/client/assets/use-connection-CcfriG4b.js +2 -0
- package/dist/client/assets/{use-connection-resources-FqHsvBSA.js → use-connection-resources-C-ecJARs.js} +1 -1
- package/dist/client/assets/{use-gateway-CseaalWF.js → use-gateway-CCphplYZ.js} +1 -1
- package/dist/client/assets/{use-list-state-7NLbXyOC.js → use-list-state-Bcpc0dEc.js} +1 -1
- package/dist/client/assets/{use-mcp-M6XXMHar.js → use-mcp-B7yS6xB_.js} +1 -1
- package/dist/client/assets/{use-members-DzZB15s9.js → use-members-ii7q5pxE.js} +1 -1
- package/dist/client/assets/{use-mobile-TpeNqylz.js → use-mobile-DYo2aQNt.js} +1 -1
- package/dist/client/assets/{use-organization-settings-BAhAEDx8.js → use-organization-settings-uQsDNKHC.js} +1 -1
- package/dist/client/assets/{use-tool-call-CQCb5PBf.js → use-tool-call-CI1nZAFC.js} +1 -1
- package/dist/client/assets/useQuery-CF3kr9sY.js +1 -0
- package/dist/client/assets/view-mode-toggle-BGpxvqYI.js +1 -0
- package/dist/client/assets/{well-known-mcp-BPQQU1v0.js → well-known-mcp-B16sbKCU.js} +1 -1
- package/dist/client/empty-state-error.svg +19 -0
- package/dist/client/empty-state-logs.svg +80 -0
- package/dist/client/empty-state-success-muted.svg +19 -0
- package/dist/client/empty-state-success.svg +19 -0
- package/dist/client/index.html +2 -2
- package/dist/server/cli.js +1 -1
- package/dist/server/migrate.js +45 -45
- package/dist/server/server.js +1 -1
- package/package.json +1 -1
- package/dist/client/assets/CheckCircle-CILz6OCh.js +0 -1
- package/dist/client/assets/SearchMd-1Gq7nypQ.js +0 -1
- package/dist/client/assets/avatar-bcdjVFyi.js +0 -1
- package/dist/client/assets/badge-1WraHGEG.js +0 -1
- package/dist/client/assets/button-DodNLkpL.js +0 -1
- package/dist/client/assets/card-BHz-BqEu.js +0 -1
- package/dist/client/assets/checkbox-Bj9jBMQF.js +0 -1
- package/dist/client/assets/collection-detail-QGbMDWA7.js +0 -184
- package/dist/client/assets/collection-display-button-475jHotV.js +0 -1
- package/dist/client/assets/collection-search-DVBnlN6E.js +0 -1
- package/dist/client/assets/collection-table-wrapper-DQ4F9pbh.js +0 -1
- package/dist/client/assets/connection-card-opsQBUfD.js +0 -1
- package/dist/client/assets/connection-detail-DpiL6xjK.js +0 -1
- package/dist/client/assets/connections-CeDc3J_o.js +0 -1
- package/dist/client/assets/dialog-BqvvzTa7.js +0 -1
- package/dist/client/assets/dropdown-menu-DrQKdl4f.js +0 -1
- package/dist/client/assets/form-Bus-fIfC.js +0 -1
- package/dist/client/assets/formatDistanceToNow-D46rGC8T.js +0 -1
- package/dist/client/assets/gateway-detail-fCVh3_nF.js +0 -1
- package/dist/client/assets/gateways-DQmZoxNy.js +0 -1
- package/dist/client/assets/home-heelYyW2.js +0 -1
- package/dist/client/assets/index-A52jfksK.js +0 -156
- package/dist/client/assets/index-DKrh5SL2.css +0 -1
- package/dist/client/assets/index-td_4XAxf.js +0 -25
- package/dist/client/assets/input-BXHWk19m.js +0 -1
- package/dist/client/assets/json-gPxhilNK.js +0 -1
- package/dist/client/assets/login-CcnR2b1q.js +0 -1
- package/dist/client/assets/members-D5QtYSzf.js +0 -3
- package/dist/client/assets/monitoring-Cp92YRPy.js +0 -1
- package/dist/client/assets/oauth-callback-1_PgXFG_.js +0 -1
- package/dist/client/assets/popover-MhzpcVkW.js +0 -1
- package/dist/client/assets/prism-light-C-ukkBST.js +0 -1
- package/dist/client/assets/resource-tabs-ru5yaRIE.js +0 -1
- package/dist/client/assets/select-Be0LRVWn.js +0 -1
- package/dist/client/assets/settings-gZFi_2QA.js +0 -1
- package/dist/client/assets/shell-layout-adVEIdhn.js +0 -17
- package/dist/client/assets/spinner-oZ2DO2-U.js +0 -1
- package/dist/client/assets/store-DzO4PTg0.js +0 -1
- package/dist/client/assets/store-app-detail-BIXt1EdE.js +0 -1
- package/dist/client/assets/switch-DsCvClV8.js +0 -1
- package/dist/client/assets/tooltip-BjhP6ibY.js +0 -1
- package/dist/client/assets/use-connection-BX5-4xHw.js +0 -2
- package/dist/client/assets/useQuery-ojqdZMTH.js +0 -1
- package/dist/client/assets/utils-DgLfrg3u.js +0 -1
- package/dist/client/assets/view-mode-toggle-DAXMt6ZW.js +0 -1
package/dist/server/cli.js
CHANGED
|
@@ -986,7 +986,7 @@ data:
|
|
|
986
986
|
|
|
987
987
|
`,Q.enqueue(X.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(Q,X){try{let Y=Q.headers.get("accept");if(!Y?.includes("application/json")||!Y.includes("text/event-stream"))return this.createJsonErrorResponse(406,-32000,"Not Acceptable: Client must accept both application/json and text/event-stream");let J=Q.headers.get("content-type");if(!J||!J.includes("application/json"))return this.createJsonErrorResponse(415,-32000,"Unsupported Media Type: Content-Type must be application/json");let G={headers:Object.fromEntries(Q.headers.entries())},W;if(X?.parsedBody!==void 0)W=X.parsedBody;else try{W=await Q.json()}catch{return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON")}let Z;try{if(Array.isArray(W))Z=W.map((L)=>cY.parse(L));else Z=[cY.parse(W)]}catch{return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON-RPC message")}let $=Z.some(Ba);if($){if(this._initialized&&this.sessionId!==void 0)return this.createJsonErrorResponse(400,-32600,"Invalid Request: Server already initialized");if(Z.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(!$){let L=this.validateSession(Q);if(L)return L;let M=this.validateProtocolVersion(Q);if(M)return M}if(!Z.some(rG)){for(let L of Z)this.onmessage?.(L,{authInfo:X?.authInfo,requestInfo:G});return new Response(null,{status:202})}let H=crypto.randomUUID(),F=Z.find((L)=>Ba(L)),V=F?F.params.protocolVersion:Q.headers.get("mcp-protocol-version")??DL0;if(this._enableJsonResponse)return new Promise((L)=>{this._streamMapping.set(H,{resolveJson:L,cleanup:()=>{this._streamMapping.delete(H)}});for(let M of Z)if(rG(M))this._requestToStreamMapping.set(M.id,H);for(let M of Z)this.onmessage?.(M,{authInfo:X?.authInfo,requestInfo:G})});let q=new TextEncoder,U,B=new ReadableStream({start:(L)=>{U=L},cancel:()=>{this._streamMapping.delete(H)}}),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 L of Z)if(rG(L))this._streamMapping.set(H,{controller:U,encoder:q,cleanup:()=>{this._streamMapping.delete(H);try{U.close()}catch{}}}),this._requestToStreamMapping.set(L.id,H);await this.writePrimingEvent(U,q,H,V);for(let L of Z){let M,C;if(rG(L)&&this._eventStore&&V>="2025-11-25")M=()=>{this.closeSSEStream(L.id)},C=()=>{this.closeStandaloneSSEStream()};this.onmessage?.(L,{authInfo:X?.authInfo,requestInfo:G,closeSSEStream:M,closeStandaloneSSEStream:C})}return new Response(B,{status:200,headers:D})}catch(Y){return this.onerror?.(Y),this.createJsonErrorResponse(400,-32700,"Parse error",{data:String(Y)})}}async handleDeleteRequest(Q){let X=this.validateSession(Q);if(X)return X;let Y=this.validateProtocolVersion(Q);if(Y)return Y;return await Promise.resolve(this._onsessionclosed?.(this.sessionId)),await this.close(),new Response(null,{status:200})}validateSession(Q){if(this.sessionIdGenerator===void 0)return;if(!this._initialized)return this.createJsonErrorResponse(400,-32000,"Bad Request: Server not initialized");let X=Q.headers.get("mcp-session-id");if(!X)return this.createJsonErrorResponse(400,-32000,"Bad Request: Mcp-Session-Id header is required");if(X!==this.sessionId)return this.createJsonErrorResponse(404,-32001,"Session not found");return}validateProtocolVersion(Q){let X=Q.headers.get("mcp-protocol-version");if(X!==null&&!D3.includes(X))return this.createJsonErrorResponse(400,-32000,`Bad Request: Unsupported protocol version: ${X} (supported versions: ${D3.join(", ")})`);return}async close(){this._streamMapping.forEach(({cleanup:Q})=>{Q()}),this._streamMapping.clear(),this._requestResponseMap.clear(),this.onclose?.()}closeSSEStream(Q){let X=this._requestToStreamMapping.get(Q);if(!X)return;let Y=this._streamMapping.get(X);if(Y)Y.cleanup()}closeStandaloneSSEStream(){let Q=this._streamMapping.get(this._standaloneSseStreamId);if(Q)Q.cleanup()}async send(Q,X){let Y=X?.relatedRequestId;if(M5(Q)||Bz(Q))Y=Q.id;if(Y===void 0){if(M5(Q)||Bz(Q))throw Error("Cannot send a response on a standalone SSE stream unless resuming a previous client request");let W;if(this._eventStore)W=await this._eventStore.storeEvent(this._standaloneSseStreamId,Q);let Z=this._streamMapping.get(this._standaloneSseStreamId);if(Z===void 0)return;if(Z.controller&&Z.encoder)this.writeSSEEvent(Z.controller,Z.encoder,Q,W);return}let J=this._requestToStreamMapping.get(Y);if(!J)throw Error(`No connection established for request ID: ${String(Y)}`);let G=this._streamMapping.get(J);if(!this._enableJsonResponse&&G?.controller&&G?.encoder){let W;if(this._eventStore)W=await this._eventStore.storeEvent(J,Q);this.writeSSEEvent(G.controller,G.encoder,Q,W)}if(M5(Q)||Bz(Q)){this._requestResponseMap.set(Y,Q);let W=Array.from(this._requestToStreamMapping.entries()).filter(([$,K])=>K===J).map(([$])=>$);if(W.every(($)=>this._requestResponseMap.has($))){if(!G)throw Error(`No connection established for request ID: ${String(Y)}`);if(this._enableJsonResponse&&G.resolveJson){let $={"Content-Type":"application/json"};if(this.sessionId!==void 0)$["mcp-session-id"]=this.sessionId;let K=W.map((H)=>this._requestResponseMap.get(H));if(K.length===1)G.resolveJson(new Response(JSON.stringify(K[0]),{status:200,headers:$}));else G.resolveJson(new Response(JSON.stringify(K),{status:200,headers:$}))}else G.cleanup();for(let $ of W)this._requestResponseMap.delete($),this._requestToStreamMapping.delete($)}}}}var xk=y(()=>{a9()});var Ew=(...Q)=>{return function(Y,J){let G=(W)=>{let Z=Q[W];if(!Z)return J();return Z(Y,()=>G(W+1))};return G(0)}};class Hj0{config;tools=[];callToolMiddlewares=[];constructor(Q){this.config={...Q,capabilities:Q.capabilities??{tools:{}}}}withTool(Q){return this.tools.push(Q),this}withTools(Q){return this.tools.push(...Q),this}callToolMiddleware(...Q){return this.callToolMiddlewares.push(...Q),this}build(){let Q=this.callToolMiddlewares.length>0?Ew(...this.callToolMiddlewares):null,X=()=>{let Y=new A3({name:this.config.name,version:this.config.version},{capabilities:this.config.capabilities});for(let J of this.tools){let G=async(K)=>{try{let H=await J.handler(K);return{content:[{type:"text",text:JSON.stringify(H)}],structuredContent:H}}catch(H){return{content:[{type:"text",text:`Error: ${H.message}`}],isError:!0}}},W=Q?async(K)=>{let H={method:"tools/call",params:{name:J.name,arguments:K}};return await Q(H,()=>G(K))}:G,Z="shape"in J.inputSchema?J.inputSchema.shape:N.object({}).shape,$=J.outputSchema&&"shape"in J.outputSchema?J.outputSchema.shape:N.object({}).shape;Y.registerTool(J.name,{annotations:J.annotations,description:J.description??"",inputSchema:Z,outputSchema:$},W)}return Y};return{callStreamableTool:async(Y,J)=>{let G=this.tools.find((Z)=>Z.name===Y);if(!G)throw Error(`Tool ${Y} not found`);let W=await G.handler(J);if(!(W instanceof Response))throw Error(`Tool ${Y} returned a non-response`);return W},client:{listTools:async()=>{return{tools:this.tools.map((Y)=>({name:Y.name,description:Y.description??"",inputSchema:N.toJSONSchema(Y.inputSchema),outputSchema:Y.outputSchema?N.toJSONSchema(Y.outputSchema):void 0}))}},callTool:async(Y)=>{let J=this.tools.find((G)=>G.name===Y.name);if(!J)return{content:[{type:"text",text:"Tool not found"}]};try{let G=await J?.handler(Y.arguments??{});return{content:[{type:"text",text:JSON.stringify(G)}],structuredContent:G}}catch(G){return{content:[{type:"text",text:`Error: ${G.message}`}]}}}},fetch:async(Y)=>{let J=new E3({enableJsonResponse:Y.headers.get("Accept")?.includes("application/json")??!1});return await X().connect(J),await J.handleRequest(Y)}}}}function Fj0(Q){return new Hj0(Q)}var Vj0=y(()=>{hk();xk();$6()});var Uj0=I((qj0)=>{Object.defineProperty(qj0,"__esModule",{value:!0});qj0._globalThis=void 0;qj0._globalThis=typeof globalThis==="object"?globalThis:global});var Bj0=I((j3)=>{var Ss6=j3&&j3.__createBinding||(Object.create?function(Q,X,Y,J){if(J===void 0)J=Y;Object.defineProperty(Q,J,{enumerable:!0,get:function(){return X[Y]}})}:function(Q,X,Y,J){if(J===void 0)J=Y;Q[J]=X[Y]}),ks6=j3&&j3.__exportStar||function(Q,X){for(var Y in Q)if(Y!=="default"&&!Object.prototype.hasOwnProperty.call(X,Y))Ss6(X,Q,Y)};Object.defineProperty(j3,"__esModule",{value:!0});ks6(Uj0(),j3)});var Dj0=I((C3)=>{var vs6=C3&&C3.__createBinding||(Object.create?function(Q,X,Y,J){if(J===void 0)J=Y;Object.defineProperty(Q,J,{enumerable:!0,get:function(){return X[Y]}})}:function(Q,X,Y,J){if(J===void 0)J=Y;Q[J]=X[Y]}),_s6=C3&&C3.__exportStar||function(Q,X){for(var Y in Q)if(Y!=="default"&&!Object.prototype.hasOwnProperty.call(X,Y))vs6(X,Q,Y)};Object.defineProperty(C3,"__esModule",{value:!0});_s6(Bj0(),C3)});var eo=I((Nj0)=>{Object.defineProperty(Nj0,"__esModule",{value:!0});Nj0.VERSION=void 0;Nj0.VERSION="1.9.0"});var Tj0=I((Mj0)=>{Object.defineProperty(Mj0,"__esModule",{value:!0});Mj0.isCompatible=Mj0._makeCompatibilityCheck=void 0;var ys6=eo(),Lj0=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function wj0(Q){let X=new Set([Q]),Y=new Set,J=Q.match(Lj0);if(!J)return()=>!1;let G={major:+J[1],minor:+J[2],patch:+J[3],prerelease:J[4]};if(G.prerelease!=null)return function(K){return K===Q};function W($){return Y.add($),!1}function Z($){return X.add($),!0}return function(K){if(X.has(K))return!0;if(Y.has(K))return!1;let H=K.match(Lj0);if(!H)return W(K);let F={major:+H[1],minor:+H[2],patch:+H[3],prerelease:H[4]};if(F.prerelease!=null)return W(K);if(G.major!==F.major)return W(K);if(G.major===0){if(G.minor===F.minor&&G.patch<=F.patch)return Z(K);return W(K)}if(G.minor<=F.minor)return Z(K);return W(K)}}Mj0._makeCompatibilityCheck=wj0;Mj0.isCompatible=wj0(ys6.VERSION)});var I3=I((Aj0)=>{Object.defineProperty(Aj0,"__esModule",{value:!0});Aj0.unregisterGlobal=Aj0.getGlobal=Aj0.registerGlobal=void 0;var fs6=Dj0(),gz=eo(),hs6=Tj0(),xs6=gz.VERSION.split(".")[0],jw=Symbol.for(`opentelemetry.js.api.${xs6}`),Cw=fs6._globalThis;function gs6(Q,X,Y,J=!1){var G;let W=Cw[jw]=(G=Cw[jw])!==null&&G!==void 0?G:{version:gz.VERSION};if(!J&&W[Q]){let Z=Error(`@opentelemetry/api: Attempted duplicate registration of API: ${Q}`);return Y.error(Z.stack||Z.message),!1}if(W.version!==gz.VERSION){let Z=Error(`@opentelemetry/api: Registration of version v${W.version} for ${Q} does not match previously registered API v${gz.VERSION}`);return Y.error(Z.stack||Z.message),!1}return W[Q]=X,Y.debug(`@opentelemetry/api: Registered a global for ${Q} v${gz.VERSION}.`),!0}Aj0.registerGlobal=gs6;function us6(Q){var X,Y;let J=(X=Cw[jw])===null||X===void 0?void 0:X.version;if(!J||!(0,hs6.isCompatible)(J))return;return(Y=Cw[jw])===null||Y===void 0?void 0:Y[Q]}Aj0.getGlobal=us6;function ms6(Q,X){X.debug(`@opentelemetry/api: Unregistering a global for ${Q} v${gz.VERSION}.`);let Y=Cw[jw];if(Y)delete Y[Q]}Aj0.unregisterGlobal=ms6});var Rj0=I((Cj0)=>{Object.defineProperty(Cj0,"__esModule",{value:!0});Cj0.DiagComponentLogger=void 0;var ps6=I3();class jj0{constructor(Q){this._namespace=Q.namespace||"DiagComponentLogger"}debug(...Q){return Iw("debug",this._namespace,Q)}error(...Q){return Iw("error",this._namespace,Q)}info(...Q){return Iw("info",this._namespace,Q)}warn(...Q){return Iw("warn",this._namespace,Q)}verbose(...Q){return Iw("verbose",this._namespace,Q)}}Cj0.DiagComponentLogger=jj0;function Iw(Q,X,Y){let J=(0,ps6.getGlobal)("diag");if(!J)return;return Y.unshift(X),J[Q](...Y)}});var gk=I((Sj0)=>{Object.defineProperty(Sj0,"__esModule",{value:!0});Sj0.DiagLogLevel=void 0;var cs6;(function(Q){Q[Q.NONE=0]="NONE",Q[Q.ERROR=30]="ERROR",Q[Q.WARN=50]="WARN",Q[Q.INFO=60]="INFO",Q[Q.DEBUG=70]="DEBUG",Q[Q.VERBOSE=80]="VERBOSE",Q[Q.ALL=9999]="ALL"})(cs6=Sj0.DiagLogLevel||(Sj0.DiagLogLevel={}))});var _j0=I((kj0)=>{Object.defineProperty(kj0,"__esModule",{value:!0});kj0.createLogLevelDiagLogger=void 0;var y7=gk();function ns6(Q,X){if(Q<y7.DiagLogLevel.NONE)Q=y7.DiagLogLevel.NONE;else if(Q>y7.DiagLogLevel.ALL)Q=y7.DiagLogLevel.ALL;X=X||{};function Y(J,G){let W=X[J];if(typeof W==="function"&&Q>=G)return W.bind(X);return function(){}}return{error:Y("error",y7.DiagLogLevel.ERROR),warn:Y("warn",y7.DiagLogLevel.WARN),info:Y("info",y7.DiagLogLevel.INFO),debug:Y("debug",y7.DiagLogLevel.DEBUG),verbose:Y("verbose",y7.DiagLogLevel.VERBOSE)}}kj0.createLogLevelDiagLogger=ns6});var R3=I((bj0)=>{Object.defineProperty(bj0,"__esModule",{value:!0});bj0.DiagAPI=void 0;var is6=Rj0(),as6=_j0(),yj0=gk(),uk=I3(),rs6="diag";class Xs{constructor(){function Q(J){return function(...G){let W=(0,uk.getGlobal)("diag");if(!W)return;return W[J](...G)}}let X=this,Y=(J,G={logLevel:yj0.DiagLogLevel.INFO})=>{var W,Z,$;if(J===X){let F=Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");return X.error((W=F.stack)!==null&&W!==void 0?W:F.message),!1}if(typeof G==="number")G={logLevel:G};let K=(0,uk.getGlobal)("diag"),H=(0,as6.createLogLevelDiagLogger)((Z=G.logLevel)!==null&&Z!==void 0?Z:yj0.DiagLogLevel.INFO,J);if(K&&!G.suppressOverrideMessage){let F=($=Error().stack)!==null&&$!==void 0?$:"<failed to generate stacktrace>";K.warn(`Current logger will be overwritten from ${F}`),H.warn(`Current logger will overwrite one already registered from ${F}`)}return(0,uk.registerGlobal)("diag",H,X,!0)};X.setLogger=Y,X.disable=()=>{(0,uk.unregisterGlobal)(rs6,X)},X.createComponentLogger=(J)=>{return new is6.DiagComponentLogger(J)},X.verbose=Q("verbose"),X.debug=Q("debug"),X.info=Q("info"),X.warn=Q("warn"),X.error=Q("error")}static instance(){if(!this._instance)this._instance=new Xs;return this._instance}}bj0.DiagAPI=Xs});var gj0=I((hj0)=>{Object.defineProperty(hj0,"__esModule",{value:!0});hj0.BaggageImpl=void 0;class uz{constructor(Q){this._entries=Q?new Map(Q):new Map}getEntry(Q){let X=this._entries.get(Q);if(!X)return;return Object.assign({},X)}getAllEntries(){return Array.from(this._entries.entries()).map(([Q,X])=>[Q,X])}setEntry(Q,X){let Y=new uz(this._entries);return Y._entries.set(Q,X),Y}removeEntry(Q){let X=new uz(this._entries);return X._entries.delete(Q),X}removeEntries(...Q){let X=new uz(this._entries);for(let Y of Q)X._entries.delete(Y);return X}clear(){return new uz}}hj0.BaggageImpl=uz});var lj0=I((uj0)=>{Object.defineProperty(uj0,"__esModule",{value:!0});uj0.baggageEntryMetadataSymbol=void 0;uj0.baggageEntryMetadataSymbol=Symbol("BaggageEntryMetadata")});var Ys=I((dj0)=>{Object.defineProperty(dj0,"__esModule",{value:!0});dj0.baggageEntryMetadataFromString=dj0.createBaggage=void 0;var os6=R3(),ss6=gj0(),ts6=lj0(),es6=os6.DiagAPI.instance();function Qt6(Q={}){return new ss6.BaggageImpl(new Map(Object.entries(Q)))}dj0.createBaggage=Qt6;function Xt6(Q){if(typeof Q!=="string")es6.error(`Cannot create baggage metadata from unknown type: ${typeof Q}`),Q="";return{__TYPE__:ts6.baggageEntryMetadataSymbol,toString(){return Q}}}dj0.baggageEntryMetadataFromString=Xt6});var Rw=I((cj0)=>{Object.defineProperty(cj0,"__esModule",{value:!0});cj0.ROOT_CONTEXT=cj0.createContextKey=void 0;function Jt6(Q){return Symbol.for(Q)}cj0.createContextKey=Jt6;class mk{constructor(Q){let X=this;X._currentContext=Q?new Map(Q):new Map,X.getValue=(Y)=>X._currentContext.get(Y),X.setValue=(Y,J)=>{let G=new mk(X._currentContext);return G._currentContext.set(Y,J),G},X.deleteValue=(Y)=>{let J=new mk(X._currentContext);return J._currentContext.delete(Y),J}}}cj0.ROOT_CONTEXT=new mk});var oj0=I((aj0)=>{Object.defineProperty(aj0,"__esModule",{value:!0});aj0.DiagConsoleLogger=void 0;var Js=[{n:"error",c:"error"},{n:"warn",c:"warn"},{n:"info",c:"info"},{n:"debug",c:"debug"},{n:"verbose",c:"trace"}];class ij0{constructor(){function Q(X){return function(...Y){if(console){let J=console[X];if(typeof J!=="function")J=console.log;if(typeof J==="function")return J.apply(console,Y)}}}for(let X=0;X<Js.length;X++)this[Js[X].n]=Q(Js[X].c)}}aj0.DiagConsoleLogger=ij0});var qs=I((sj0)=>{Object.defineProperty(sj0,"__esModule",{value:!0});sj0.createNoopMeter=sj0.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=sj0.NOOP_OBSERVABLE_GAUGE_METRIC=sj0.NOOP_OBSERVABLE_COUNTER_METRIC=sj0.NOOP_UP_DOWN_COUNTER_METRIC=sj0.NOOP_HISTOGRAM_METRIC=sj0.NOOP_GAUGE_METRIC=sj0.NOOP_COUNTER_METRIC=sj0.NOOP_METER=sj0.NoopObservableUpDownCounterMetric=sj0.NoopObservableGaugeMetric=sj0.NoopObservableCounterMetric=sj0.NoopObservableMetric=sj0.NoopHistogramMetric=sj0.NoopGaugeMetric=sj0.NoopUpDownCounterMetric=sj0.NoopCounterMetric=sj0.NoopMetric=sj0.NoopMeter=void 0;class Gs{constructor(){}createGauge(Q,X){return sj0.NOOP_GAUGE_METRIC}createHistogram(Q,X){return sj0.NOOP_HISTOGRAM_METRIC}createCounter(Q,X){return sj0.NOOP_COUNTER_METRIC}createUpDownCounter(Q,X){return sj0.NOOP_UP_DOWN_COUNTER_METRIC}createObservableGauge(Q,X){return sj0.NOOP_OBSERVABLE_GAUGE_METRIC}createObservableCounter(Q,X){return sj0.NOOP_OBSERVABLE_COUNTER_METRIC}createObservableUpDownCounter(Q,X){return sj0.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC}addBatchObservableCallback(Q,X){}removeBatchObservableCallback(Q){}}sj0.NoopMeter=Gs;class mz{}sj0.NoopMetric=mz;class Ws extends mz{add(Q,X){}}sj0.NoopCounterMetric=Ws;class Zs extends mz{add(Q,X){}}sj0.NoopUpDownCounterMetric=Zs;class $s extends mz{record(Q,X){}}sj0.NoopGaugeMetric=$s;class Ks extends mz{record(Q,X){}}sj0.NoopHistogramMetric=Ks;class Sw{addCallback(Q){}removeCallback(Q){}}sj0.NoopObservableMetric=Sw;class Hs extends Sw{}sj0.NoopObservableCounterMetric=Hs;class Fs extends Sw{}sj0.NoopObservableGaugeMetric=Fs;class Vs extends Sw{}sj0.NoopObservableUpDownCounterMetric=Vs;sj0.NOOP_METER=new Gs;sj0.NOOP_COUNTER_METRIC=new Ws;sj0.NOOP_GAUGE_METRIC=new $s;sj0.NOOP_HISTOGRAM_METRIC=new Ks;sj0.NOOP_UP_DOWN_COUNTER_METRIC=new Zs;sj0.NOOP_OBSERVABLE_COUNTER_METRIC=new Hs;sj0.NOOP_OBSERVABLE_GAUGE_METRIC=new Fs;sj0.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=new Vs;function Wt6(){return sj0.NOOP_METER}sj0.createNoopMeter=Wt6});var K20=I(($20)=>{Object.defineProperty($20,"__esModule",{value:!0});$20.ValueType=void 0;var Dt6;(function(Q){Q[Q.INT=0]="INT",Q[Q.DOUBLE=1]="DOUBLE"})(Dt6=$20.ValueType||($20.ValueType={}))});var Us=I((H20)=>{Object.defineProperty(H20,"__esModule",{value:!0});H20.defaultTextMapSetter=H20.defaultTextMapGetter=void 0;H20.defaultTextMapGetter={get(Q,X){if(Q==null)return;return Q[X]},keys(Q){if(Q==null)return[];return Object.keys(Q)}};H20.defaultTextMapSetter={set(Q,X,Y){if(Q==null)return;Q[X]=Y}}});var U20=I((q20)=>{Object.defineProperty(q20,"__esModule",{value:!0});q20.NoopContextManager=void 0;var Ot6=Rw();class V20{active(){return Ot6.ROOT_CONTEXT}with(Q,X,Y,...J){return X.call(Y,...J)}bind(Q,X){return X}enable(){return this}disable(){return this}}q20.NoopContextManager=V20});var kw=I((D20)=>{Object.defineProperty(D20,"__esModule",{value:!0});D20.ContextAPI=void 0;var Lt6=U20(),Bs=I3(),B20=R3(),Ds="context",wt6=new Lt6.NoopContextManager;class Ns{constructor(){}static getInstance(){if(!this._instance)this._instance=new Ns;return this._instance}setGlobalContextManager(Q){return(0,Bs.registerGlobal)(Ds,Q,B20.DiagAPI.instance())}active(){return this._getContextManager().active()}with(Q,X,Y,...J){return this._getContextManager().with(Q,X,Y,...J)}bind(Q,X){return this._getContextManager().bind(Q,X)}_getContextManager(){return(0,Bs.getGlobal)(Ds)||wt6}disable(){this._getContextManager().disable(),(0,Bs.unregisterGlobal)(Ds,B20.DiagAPI.instance())}}D20.ContextAPI=Ns});var Ls=I((O20)=>{Object.defineProperty(O20,"__esModule",{value:!0});O20.TraceFlags=void 0;var Mt6;(function(Q){Q[Q.NONE=0]="NONE",Q[Q.SAMPLED=1]="SAMPLED"})(Mt6=O20.TraceFlags||(O20.TraceFlags={}))});var lk=I((L20)=>{Object.defineProperty(L20,"__esModule",{value:!0});L20.INVALID_SPAN_CONTEXT=L20.INVALID_TRACEID=L20.INVALID_SPANID=void 0;var Pt6=Ls();L20.INVALID_SPANID="0000000000000000";L20.INVALID_TRACEID="00000000000000000000000000000000";L20.INVALID_SPAN_CONTEXT={traceId:L20.INVALID_TRACEID,spanId:L20.INVALID_SPANID,traceFlags:Pt6.TraceFlags.NONE}});var dk=I((A20)=>{Object.defineProperty(A20,"__esModule",{value:!0});A20.NonRecordingSpan=void 0;var Tt6=lk();class T20{constructor(Q=Tt6.INVALID_SPAN_CONTEXT){this._spanContext=Q}spanContext(){return this._spanContext}setAttribute(Q,X){return this}setAttributes(Q){return this}addEvent(Q,X){return this}addLink(Q){return this}addLinks(Q){return this}setStatus(Q){return this}updateName(Q){return this}end(Q){}isRecording(){return!1}recordException(Q,X){}}A20.NonRecordingSpan=T20});var Ps=I((C20)=>{Object.defineProperty(C20,"__esModule",{value:!0});C20.getSpanContext=C20.setSpanContext=C20.deleteSpan=C20.setSpan=C20.getActiveSpan=C20.getSpan=void 0;var At6=Rw(),Et6=dk(),jt6=kw(),ws=(0,At6.createContextKey)("OpenTelemetry Context Key SPAN");function Ms(Q){return Q.getValue(ws)||void 0}C20.getSpan=Ms;function Ct6(){return Ms(jt6.ContextAPI.getInstance().active())}C20.getActiveSpan=Ct6;function j20(Q,X){return Q.setValue(ws,X)}C20.setSpan=j20;function It6(Q){return Q.deleteValue(ws)}C20.deleteSpan=It6;function Rt6(Q,X){return j20(Q,new Et6.NonRecordingSpan(X))}C20.setSpanContext=Rt6;function St6(Q){var X;return(X=Ms(Q))===null||X===void 0?void 0:X.spanContext()}C20.getSpanContext=St6});var pk=I((v20)=>{Object.defineProperty(v20,"__esModule",{value:!0});v20.wrapSpanContext=v20.isSpanContextValid=v20.isValidSpanId=v20.isValidTraceId=void 0;var R20=lk(),ft6=dk(),ht6=/^([0-9a-f]{32})$/i,xt6=/^[0-9a-f]{16}$/i;function S20(Q){return ht6.test(Q)&&Q!==R20.INVALID_TRACEID}v20.isValidTraceId=S20;function k20(Q){return xt6.test(Q)&&Q!==R20.INVALID_SPANID}v20.isValidSpanId=k20;function gt6(Q){return S20(Q.traceId)&&k20(Q.spanId)}v20.isSpanContextValid=gt6;function ut6(Q){return new ft6.NonRecordingSpan(Q)}v20.wrapSpanContext=ut6});var Es=I((f20)=>{Object.defineProperty(f20,"__esModule",{value:!0});f20.NoopTracer=void 0;var pt6=kw(),y20=Ps(),Ts=dk(),ct6=pk(),As=pt6.ContextAPI.getInstance();class b20{startSpan(Q,X,Y=As.active()){if(Boolean(X===null||X===void 0?void 0:X.root))return new Ts.NonRecordingSpan;let G=Y&&(0,y20.getSpanContext)(Y);if(nt6(G)&&(0,ct6.isSpanContextValid)(G))return new Ts.NonRecordingSpan(G);else return new Ts.NonRecordingSpan}startActiveSpan(Q,X,Y,J){let G,W,Z;if(arguments.length<2)return;else if(arguments.length===2)Z=X;else if(arguments.length===3)G=X,Z=Y;else G=X,W=Y,Z=J;let $=W!==null&&W!==void 0?W:As.active(),K=this.startSpan(Q,G,$),H=(0,y20.setSpan)($,K);return As.with(H,Z,void 0,K)}}f20.NoopTracer=b20;function nt6(Q){return typeof Q==="object"&&typeof Q.spanId==="string"&&typeof Q.traceId==="string"&&typeof Q.traceFlags==="number"}});var js=I((g20)=>{Object.defineProperty(g20,"__esModule",{value:!0});g20.ProxyTracer=void 0;var it6=Es(),at6=new it6.NoopTracer;class x20{constructor(Q,X,Y,J){this._provider=Q,this.name=X,this.version=Y,this.options=J}startSpan(Q,X,Y){return this._getTracer().startSpan(Q,X,Y)}startActiveSpan(Q,X,Y,J){let G=this._getTracer();return Reflect.apply(G.startActiveSpan,G,arguments)}_getTracer(){if(this._delegate)return this._delegate;let Q=this._provider.getDelegateTracer(this.name,this.version,this.options);if(!Q)return at6;return this._delegate=Q,this._delegate}}g20.ProxyTracer=x20});var p20=I((l20)=>{Object.defineProperty(l20,"__esModule",{value:!0});l20.NoopTracerProvider=void 0;var rt6=Es();class m20{getTracer(Q,X,Y){return new rt6.NoopTracer}}l20.NoopTracerProvider=m20});var Cs=I((n20)=>{Object.defineProperty(n20,"__esModule",{value:!0});n20.ProxyTracerProvider=void 0;var ot6=js(),st6=p20(),tt6=new st6.NoopTracerProvider;class c20{getTracer(Q,X,Y){var J;return(J=this.getDelegateTracer(Q,X,Y))!==null&&J!==void 0?J:new ot6.ProxyTracer(this,Q,X,Y)}getDelegate(){var Q;return(Q=this._delegate)!==null&&Q!==void 0?Q:tt6}setDelegate(Q){this._delegate=Q}getDelegateTracer(Q,X,Y){var J;return(J=this._delegate)===null||J===void 0?void 0:J.getTracer(Q,X,Y)}}n20.ProxyTracerProvider=c20});var r20=I((a20)=>{Object.defineProperty(a20,"__esModule",{value:!0});a20.SamplingDecision=void 0;var et6;(function(Q){Q[Q.NOT_RECORD=0]="NOT_RECORD",Q[Q.RECORD=1]="RECORD",Q[Q.RECORD_AND_SAMPLED=2]="RECORD_AND_SAMPLED"})(et6=a20.SamplingDecision||(a20.SamplingDecision={}))});var s20=I((o20)=>{Object.defineProperty(o20,"__esModule",{value:!0});o20.SpanKind=void 0;var Qe6;(function(Q){Q[Q.INTERNAL=0]="INTERNAL",Q[Q.SERVER=1]="SERVER",Q[Q.CLIENT=2]="CLIENT",Q[Q.PRODUCER=3]="PRODUCER",Q[Q.CONSUMER=4]="CONSUMER"})(Qe6=o20.SpanKind||(o20.SpanKind={}))});var e20=I((t20)=>{Object.defineProperty(t20,"__esModule",{value:!0});t20.SpanStatusCode=void 0;var Xe6;(function(Q){Q[Q.UNSET=0]="UNSET",Q[Q.OK=1]="OK",Q[Q.ERROR=2]="ERROR"})(Xe6=t20.SpanStatusCode||(t20.SpanStatusCode={}))});var YC0=I((QC0)=>{Object.defineProperty(QC0,"__esModule",{value:!0});QC0.validateValue=QC0.validateKey=void 0;var ks="[_0-9a-z-*/]",Ye6=`[a-z]${ks}{0,255}`,Je6=`[a-z0-9]${ks}{0,240}@[a-z]${ks}{0,13}`,Ge6=new RegExp(`^(?:${Ye6}|${Je6})$`),We6=/^[ -~]{0,255}[!-~]$/,Ze6=/,|=/;function $e6(Q){return Ge6.test(Q)}QC0.validateKey=$e6;function Ke6(Q){return We6.test(Q)&&!Ze6.test(Q)}QC0.validateValue=Ke6});var HC0=I(($C0)=>{Object.defineProperty($C0,"__esModule",{value:!0});$C0.TraceStateImpl=void 0;var JC0=YC0(),GC0=32,Fe6=512,WC0=",",ZC0="=";class vs{constructor(Q){if(this._internalState=new Map,Q)this._parse(Q)}set(Q,X){let Y=this._clone();if(Y._internalState.has(Q))Y._internalState.delete(Q);return Y._internalState.set(Q,X),Y}unset(Q){let X=this._clone();return X._internalState.delete(Q),X}get(Q){return this._internalState.get(Q)}serialize(){return this._keys().reduce((Q,X)=>{return Q.push(X+ZC0+this.get(X)),Q},[]).join(WC0)}_parse(Q){if(Q.length>Fe6)return;if(this._internalState=Q.split(WC0).reverse().reduce((X,Y)=>{let J=Y.trim(),G=J.indexOf(ZC0);if(G!==-1){let W=J.slice(0,G),Z=J.slice(G+1,Y.length);if((0,JC0.validateKey)(W)&&(0,JC0.validateValue)(Z))X.set(W,Z)}return X},new Map),this._internalState.size>GC0)this._internalState=new Map(Array.from(this._internalState.entries()).reverse().slice(0,GC0))}_keys(){return Array.from(this._internalState.keys()).reverse()}_clone(){let Q=new vs;return Q._internalState=new Map(this._internalState),Q}}$C0.TraceStateImpl=vs});var qC0=I((FC0)=>{Object.defineProperty(FC0,"__esModule",{value:!0});FC0.createTraceState=void 0;var Ve6=HC0();function qe6(Q){return new Ve6.TraceStateImpl(Q)}FC0.createTraceState=qe6});var BC0=I((zC0)=>{Object.defineProperty(zC0,"__esModule",{value:!0});zC0.context=void 0;var ze6=kw();zC0.context=ze6.ContextAPI.getInstance()});var OC0=I((DC0)=>{Object.defineProperty(DC0,"__esModule",{value:!0});DC0.diag=void 0;var Ue6=R3();DC0.diag=Ue6.DiagAPI.instance()});var MC0=I((LC0)=>{Object.defineProperty(LC0,"__esModule",{value:!0});LC0.NOOP_METER_PROVIDER=LC0.NoopMeterProvider=void 0;var Be6=qs();class _s{getMeter(Q,X,Y){return Be6.NOOP_METER}}LC0.NoopMeterProvider=_s;LC0.NOOP_METER_PROVIDER=new _s});var EC0=I((TC0)=>{Object.defineProperty(TC0,"__esModule",{value:!0});TC0.MetricsAPI=void 0;var Ne6=MC0(),ys=I3(),PC0=R3(),bs="metrics";class fs{constructor(){}static getInstance(){if(!this._instance)this._instance=new fs;return this._instance}setGlobalMeterProvider(Q){return(0,ys.registerGlobal)(bs,Q,PC0.DiagAPI.instance())}getMeterProvider(){return(0,ys.getGlobal)(bs)||Ne6.NOOP_METER_PROVIDER}getMeter(Q,X,Y){return this.getMeterProvider().getMeter(Q,X,Y)}disable(){(0,ys.unregisterGlobal)(bs,PC0.DiagAPI.instance())}}TC0.MetricsAPI=fs});var IC0=I((jC0)=>{Object.defineProperty(jC0,"__esModule",{value:!0});jC0.metrics=void 0;var Oe6=EC0();jC0.metrics=Oe6.MetricsAPI.getInstance()});var vC0=I((SC0)=>{Object.defineProperty(SC0,"__esModule",{value:!0});SC0.NoopTextMapPropagator=void 0;class RC0{inject(Q,X){}extract(Q,X){return Q}fields(){return[]}}SC0.NoopTextMapPropagator=RC0});var fC0=I((yC0)=>{Object.defineProperty(yC0,"__esModule",{value:!0});yC0.deleteBaggage=yC0.setBaggage=yC0.getActiveBaggage=yC0.getBaggage=void 0;var Le6=kw(),we6=Rw(),hs=(0,we6.createContextKey)("OpenTelemetry Baggage Key");function _C0(Q){return Q.getValue(hs)||void 0}yC0.getBaggage=_C0;function Me6(){return _C0(Le6.ContextAPI.getInstance().active())}yC0.getActiveBaggage=Me6;function Pe6(Q,X){return Q.setValue(hs,X)}yC0.setBaggage=Pe6;function Te6(Q){return Q.deleteValue(hs)}yC0.deleteBaggage=Te6});var mC0=I((gC0)=>{Object.defineProperty(gC0,"__esModule",{value:!0});gC0.PropagationAPI=void 0;var xs=I3(),Ce6=vC0(),hC0=Us(),ck=fC0(),Ie6=Ys(),xC0=R3(),gs="propagation",Re6=new Ce6.NoopTextMapPropagator;class us{constructor(){this.createBaggage=Ie6.createBaggage,this.getBaggage=ck.getBaggage,this.getActiveBaggage=ck.getActiveBaggage,this.setBaggage=ck.setBaggage,this.deleteBaggage=ck.deleteBaggage}static getInstance(){if(!this._instance)this._instance=new us;return this._instance}setGlobalPropagator(Q){return(0,xs.registerGlobal)(gs,Q,xC0.DiagAPI.instance())}inject(Q,X,Y=hC0.defaultTextMapSetter){return this._getGlobalPropagator().inject(Q,X,Y)}extract(Q,X,Y=hC0.defaultTextMapGetter){return this._getGlobalPropagator().extract(Q,X,Y)}fields(){return this._getGlobalPropagator().fields()}disable(){(0,xs.unregisterGlobal)(gs,xC0.DiagAPI.instance())}_getGlobalPropagator(){return(0,xs.getGlobal)(gs)||Re6}}gC0.PropagationAPI=us});var pC0=I((lC0)=>{Object.defineProperty(lC0,"__esModule",{value:!0});lC0.propagation=void 0;var Se6=mC0();lC0.propagation=Se6.PropagationAPI.getInstance()});var oC0=I((aC0)=>{Object.defineProperty(aC0,"__esModule",{value:!0});aC0.TraceAPI=void 0;var ms=I3(),cC0=Cs(),nC0=pk(),lz=Ps(),iC0=R3(),ls="trace";class ds{constructor(){this._proxyTracerProvider=new cC0.ProxyTracerProvider,this.wrapSpanContext=nC0.wrapSpanContext,this.isSpanContextValid=nC0.isSpanContextValid,this.deleteSpan=lz.deleteSpan,this.getSpan=lz.getSpan,this.getActiveSpan=lz.getActiveSpan,this.getSpanContext=lz.getSpanContext,this.setSpan=lz.setSpan,this.setSpanContext=lz.setSpanContext}static getInstance(){if(!this._instance)this._instance=new ds;return this._instance}setGlobalTracerProvider(Q){let X=(0,ms.registerGlobal)(ls,this._proxyTracerProvider,iC0.DiagAPI.instance());if(X)this._proxyTracerProvider.setDelegate(Q);return X}getTracerProvider(){return(0,ms.getGlobal)(ls)||this._proxyTracerProvider}getTracer(Q,X){return this.getTracerProvider().getTracer(Q,X)}disable(){(0,ms.unregisterGlobal)(ls,iC0.DiagAPI.instance()),this._proxyTracerProvider=new cC0.ProxyTracerProvider}}aC0.TraceAPI=ds});var eC0=I((sC0)=>{Object.defineProperty(sC0,"__esModule",{value:!0});sC0.trace=void 0;var ke6=oC0();sC0.trace=ke6.TraceAPI.getInstance()});var K6=I((h4)=>{Object.defineProperty(h4,"__esModule",{value:!0});h4.trace=h4.propagation=h4.metrics=h4.diag=h4.context=h4.INVALID_SPAN_CONTEXT=h4.INVALID_TRACEID=h4.INVALID_SPANID=h4.isValidSpanId=h4.isValidTraceId=h4.isSpanContextValid=h4.createTraceState=h4.TraceFlags=h4.SpanStatusCode=h4.SpanKind=h4.SamplingDecision=h4.ProxyTracerProvider=h4.ProxyTracer=h4.defaultTextMapSetter=h4.defaultTextMapGetter=h4.ValueType=h4.createNoopMeter=h4.DiagLogLevel=h4.DiagConsoleLogger=h4.ROOT_CONTEXT=h4.createContextKey=h4.baggageEntryMetadataFromString=void 0;var ve6=Ys();Object.defineProperty(h4,"baggageEntryMetadataFromString",{enumerable:!0,get:function(){return ve6.baggageEntryMetadataFromString}});var QI0=Rw();Object.defineProperty(h4,"createContextKey",{enumerable:!0,get:function(){return QI0.createContextKey}});Object.defineProperty(h4,"ROOT_CONTEXT",{enumerable:!0,get:function(){return QI0.ROOT_CONTEXT}});var _e6=oj0();Object.defineProperty(h4,"DiagConsoleLogger",{enumerable:!0,get:function(){return _e6.DiagConsoleLogger}});var ye6=gk();Object.defineProperty(h4,"DiagLogLevel",{enumerable:!0,get:function(){return ye6.DiagLogLevel}});var be6=qs();Object.defineProperty(h4,"createNoopMeter",{enumerable:!0,get:function(){return be6.createNoopMeter}});var fe6=K20();Object.defineProperty(h4,"ValueType",{enumerable:!0,get:function(){return fe6.ValueType}});var XI0=Us();Object.defineProperty(h4,"defaultTextMapGetter",{enumerable:!0,get:function(){return XI0.defaultTextMapGetter}});Object.defineProperty(h4,"defaultTextMapSetter",{enumerable:!0,get:function(){return XI0.defaultTextMapSetter}});var he6=js();Object.defineProperty(h4,"ProxyTracer",{enumerable:!0,get:function(){return he6.ProxyTracer}});var xe6=Cs();Object.defineProperty(h4,"ProxyTracerProvider",{enumerable:!0,get:function(){return xe6.ProxyTracerProvider}});var ge6=r20();Object.defineProperty(h4,"SamplingDecision",{enumerable:!0,get:function(){return ge6.SamplingDecision}});var ue6=s20();Object.defineProperty(h4,"SpanKind",{enumerable:!0,get:function(){return ue6.SpanKind}});var me6=e20();Object.defineProperty(h4,"SpanStatusCode",{enumerable:!0,get:function(){return me6.SpanStatusCode}});var le6=Ls();Object.defineProperty(h4,"TraceFlags",{enumerable:!0,get:function(){return le6.TraceFlags}});var de6=qC0();Object.defineProperty(h4,"createTraceState",{enumerable:!0,get:function(){return de6.createTraceState}});var ps=pk();Object.defineProperty(h4,"isSpanContextValid",{enumerable:!0,get:function(){return ps.isSpanContextValid}});Object.defineProperty(h4,"isValidTraceId",{enumerable:!0,get:function(){return ps.isValidTraceId}});Object.defineProperty(h4,"isValidSpanId",{enumerable:!0,get:function(){return ps.isValidSpanId}});var cs=lk();Object.defineProperty(h4,"INVALID_SPANID",{enumerable:!0,get:function(){return cs.INVALID_SPANID}});Object.defineProperty(h4,"INVALID_TRACEID",{enumerable:!0,get:function(){return cs.INVALID_TRACEID}});Object.defineProperty(h4,"INVALID_SPAN_CONTEXT",{enumerable:!0,get:function(){return cs.INVALID_SPAN_CONTEXT}});var YI0=BC0();Object.defineProperty(h4,"context",{enumerable:!0,get:function(){return YI0.context}});var JI0=OC0();Object.defineProperty(h4,"diag",{enumerable:!0,get:function(){return JI0.diag}});var GI0=IC0();Object.defineProperty(h4,"metrics",{enumerable:!0,get:function(){return GI0.metrics}});var WI0=pC0();Object.defineProperty(h4,"propagation",{enumerable:!0,get:function(){return WI0.propagation}});var ZI0=eC0();Object.defineProperty(h4,"trace",{enumerable:!0,get:function(){return ZI0.trace}});h4.default={context:YI0.context,diag:JI0.diag,metrics:GI0.metrics,propagation:WI0.propagation,trace:ZI0.trace}});function w6(Q){return{...Q,execute:async(X,Y)=>{let J=Date.now();return await Y.tracer.startActiveSpan(`tool.${Q.name}`,{attributes:{"tool.name":Q.name,"organization.id":Y.organization?.id??"system","user.id":Y.auth.user?.id??Y.auth.apiKey?.userId??"anonymous"}},async(G)=>{try{Y.toolName=Q.name,Y.access.setToolName?.(Q.name);let W=await Q.handler(X,Y),Z=Date.now()-J;return Y.meter.createHistogram("tool.execution.duration",{description:"Duration of tool executions in milliseconds",unit:"ms"}).record(Z,{"tool.name":Q.name,"organization.id":Y.organization?.id??"system",status:"success"}),Y.meter.createCounter("tool.execution.count",{description:"Number of tool executions"}).add(1,{"tool.name":Q.name,status:"success"}),G.setStatus({code:ns.SpanStatusCode.OK}),W}catch(W){throw Y.meter.createCounter("tool.execution.errors",{description:"Number of tool execution errors"}).add(1,{"tool.name":Q.name,"error.type":W.constructor.name}),G.setStatus({code:ns.SpanStatusCode.ERROR,message:W.message}),G.recordException(W),W}finally{G.end()}})}}}var ns;var C1=y(()=>{ns=k1(K6(),1)});function O1(Q){if(!Q.organization)throw Error("This operation requires organization scope");return Q.organization}function VY(Q){return Q.auth.user?.id??Q.auth.apiKey?.userId}function ne6(Q){return!!(Q.auth.user||Q.auth.apiKey)}function y6(Q){if(!ne6(Q))throw Error("Authentication required")}var nk,$I0,KI0,HI0,FI0,VI0,qI0,zI0,UI0,BI0;var dz=y(()=>{$6();nk=N.record(N.string(),N.array(N.string())),$I0=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:nk.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.union([N.string(),N.date()]).nullable().optional().describe("Expiration date of the API key"),createdAt:N.union([N.string(),N.date()]).describe("When the API key was created")}),KI0=N.object({name:N.string().min(1).max(64).describe("Human-readable name for the API key"),permissions:nk.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")}),HI0=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:nk.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.union([N.string(),N.date()]).nullable().optional().describe("Expiration date of the API key"),createdAt:N.union([N.string(),N.date()]).describe("When the API key was created")}),FI0=N.object({}),VI0=N.object({items:N.array($I0).describe("List of API keys (without key values)")}),qI0=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:nk.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.")}),zI0=N.object({item:$I0.describe("The updated API key (without key value)")}),UI0=N.object({keyId:N.string().describe("ID of the API key to delete")}),BI0=N.object({success:N.boolean().describe("Whether the deletion was successful"),keyId:N.string().describe("ID of the deleted API key")})});var is;var DI0=y(()=>{C1();dz();is=w6({name:"API_KEY_CREATE",description:"Create a new API key with specified permissions. The key value is only returned once - store it securely!",inputSchema:KI0,outputSchema:HI0,handler:async(Q,X)=>{y6(X),await X.access.check();let Y=await X.boundAuth.apiKey.create({name:Q.name,permissions:Q.permissions,expiresIn:Q.expiresIn,metadata:{...Q.metadata,organization:X.organization}});return{id:Y.id,name:Y.name??Q.name,key:Y.key,permissions:Y.permissions??{},expiresAt:Y.expiresAt??null,createdAt:Y.createdAt}}})});var as;var NI0=y(()=>{C1();dz();as=w6({name:"API_KEY_DELETE",description:"Delete an API key. This instantly revokes the key - it can no longer be used for authentication.",inputSchema:UI0,outputSchema:BI0,handler:async(Q,X)=>{if(y6(X),await X.access.check(),!VY(X))throw Error("User ID required to delete API key");let G=(await X.boundAuth.apiKey.list())?.find((K)=>K.id===Q.keyId);if(!G)throw Error("API key not found");let Z=G.metadata?.organization?.id,$=X.organization?.id;if(Z!==$)throw Error("Cannot delete API key from another organization");return await X.boundAuth.apiKey.delete(Q.keyId),{success:!0,keyId:Q.keyId}}})});var rs;var OI0=y(()=>{C1();dz();rs=w6({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:FI0,outputSchema:VI0,handler:async(Q,X)=>{y6(X),await X.access.check();let Y=await X.boundAuth.apiKey.list(),J=X.organization?.id;return{items:(Y??[]).filter((W)=>{return W.metadata?.organization?.id===J}).map((W)=>({id:W.id,name:W.name??"Unnamed Key",userId:W.userId,permissions:W.permissions??{},expiresAt:W.expiresAt??null,createdAt:W.createdAt}))}}})});var os;var LI0=y(()=>{C1();dz();os=w6({name:"API_KEY_UPDATE",description:"Update an existing API key's name, permissions, or metadata. Note: Key value cannot be changed or retrieved.",inputSchema:qI0,outputSchema:zI0,handler:async(Q,X)=>{if(y6(X),await X.access.check(),!VY(X))throw Error("User ID required to update API key");let G=(await X.boundAuth.apiKey.list())?.find((H)=>H.id===Q.keyId);if(!G)throw Error(`API key not found: ${Q.keyId}`);let Z=G.metadata?.organization?.id,$=X.organization?.id;if(Z!==$)throw Error("Cannot update API key from another organization");let K=await X.boundAuth.apiKey.update({keyId:Q.keyId,name:Q.name,permissions:Q.permissions,metadata:{...Q.metadata,organization:X.organization}});if(!K)throw Error(`Failed to update API key: ${Q.keyId}`);return{item:{id:K.id,name:K.name??Q.name??"Unnamed Key",userId:K.userId,permissions:K.permissions??{},expiresAt:K.expiresAt??null,createdAt:K.createdAt}}}})});var wI0=y(()=>{DI0();NI0();OI0();LI0();dz()});var ae6,re6,ss;var MI0=y(()=>{E$();$6();C1();fk();L7();ae6=N.object({data:cO0.describe("Data for the new connection (id is auto-generated if not provided)")}),re6=N.object({item:_J.describe("The created connection entity")}),ss=w6({name:"COLLECTION_CONNECTIONS_CREATE",description:"Create a new MCP connection in the organization",inputSchema:ae6,outputSchema:re6,handler:async(Q,X)=>{y6(X);let Y=O1(X);await X.access.check();let J=VY(X);if(!J)throw Error("User ID required to create connection");let G={...Q.data,organization_id:Y.id,created_by:J},W=await xz({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),Z=W?.length?W:null,$=await X.storage.connections.create({...G,tools:Z});return await X.eventBus.publish(Y.id,Gz.SELF(Y.id),{type:"connection.created",data:$}),{item:$}}})});function vw(Q,X){if(Q===X)return!0;if(Q==null||X==null)return Q===X;if(typeof Q!==typeof X)return!1;if(Array.isArray(Q)&&Array.isArray(X)){if(Q.length!==X.length)return!1;return Q.every((Y,J)=>vw(Y,X[J]))}if(typeof Q==="object"&&typeof X==="object"){let Y=Object.keys(Q),J=Object.keys(X);if(Y.length!==J.length)return!1;return Y.every((G)=>J.includes(G)&&vw(Q[G],X[G]))}return!1}function O01(){return(Q)=>{if(!Array.isArray(Q))return!0;let X=[];return Q.every((Y)=>{if(X.some((G)=>vw(Y,G)))return!1;return X.push(Y),!0})}}function ik(Q,X){return Q.safeParse(X).success}function A9(Q){if(typeof Q==="boolean")return Q?N.any():N.never();let X={};for(let G of v01)G.apply(X,Q);let Y=[];if(X.string!==!1)Y.push(X.string||N.string());if(X.number!==!1)Y.push(X.number||N.number());if(X.boolean!==!1)Y.push(X.boolean||N.boolean());if(X.null!==!1)Y.push(X.null||N.null());if(X.array!==!1)Y.push(X.array||N.array(N.any()));if(X.tuple!==!1&&X.tuple!==void 0)Y.push(X.tuple);if(X.object!==!1)if(X.object)Y.push(X.object);else{let G=N.custom((W)=>{return typeof W==="object"&&W!==null&&!Array.isArray(W)},"Must be an object, not an array");Y.push(G)}if(X.file!==!1&&X.file!==void 0)Y.push(X.file);let J;if(Y.length===0)J=N.never();else if(Y.length===1)J=Y[0];else if(!Object.keys(Q).some((W)=>W!=="$schema"&&W!=="title"&&W!=="description"))J=N.any();else J=N.union(Y);for(let G of _01)J=G.apply(J,Q);return J}var oe6=class{apply(Q,X){if(!X.type)return;let Y=Array.isArray(X.type)?X.type:[X.type],J=new Set(Y);if(!J.has("string"))Q.string=!1;if(!J.has("number")&&!J.has("integer"))Q.number=!1;if(!J.has("boolean"))Q.boolean=!1;if(!J.has("null"))Q.null=!1;if(!J.has("array"))Q.array=!1;if(!J.has("object"))Q.object=!1;if(J.has("integer")&&Q.number!==!1){let G=Q.number||N.number();if(G instanceof N.ZodNumber)Q.number=G.int()}}},se6=class{apply(Q,X){if(X.const===void 0)return;let Y=X.const;if(Q.string=!1,Q.number=!1,Q.boolean=!1,Q.null=!1,Q.array=!1,Q.object=!1,typeof Y==="string")Q.string=N.literal(Y);else if(typeof Y==="number")Q.number=N.literal(Y);else if(typeof Y==="boolean")Q.boolean=N.literal(Y);else if(Y===null)Q.null=N.null();else if(Array.isArray(Y))Q.array=void 0;else if(typeof Y==="object")Q.object=void 0}},te6=class{apply(Q,X){if(!X.enum)return;if(X.enum.length===0){if(!X.type)Q.string=!1,Q.number=!1,Q.boolean=!1,Q.null=!1,Q.array=!1,Q.object=!1;return}let Y={string:X.enum.filter((J)=>typeof J==="string"),number:X.enum.filter((J)=>typeof J==="number"),boolean:X.enum.filter((J)=>typeof J==="boolean"),null:X.enum.filter((J)=>J===null),array:X.enum.filter((J)=>Array.isArray(J)),object:X.enum.filter((J)=>typeof J==="object"&&J!==null&&!Array.isArray(J))};Q.string=this.createTypeSchema(Y.string,"string"),Q.number=this.createTypeSchema(Y.number,"number"),Q.boolean=this.createTypeSchema(Y.boolean,"boolean"),Q.null=Y.null.length>0?N.null():!1,Q.array=Y.array.length>0?void 0:!1,Q.object=Y.object.length>0?void 0:!1}createTypeSchema(Q,X){if(Q.length===0)return!1;if(Q.length===1)return N.literal(Q[0]);if(X==="string")return N.enum(Q);if(X==="number"){let[Y,J,...G]=Q;return N.union([N.literal(Y),N.literal(J),...G.map((W)=>N.literal(W))])}if(X==="boolean")return N.union([N.literal(!0),N.literal(!1)]);return!1}},ee6=class{apply(Q,X){let Y=X;if(Y.type==="string"&&Y.format==="binary"&&Y.contentEncoding==="binary"){let J=N.file();if(Y.minLength!==void 0)J=J.min(Y.minLength);if(Y.maxLength!==void 0)J=J.max(Y.maxLength);if(Y.contentMediaType!==void 0)J=J.mime(Y.contentMediaType);Q.file=J,Q.string=!1}}},Q01=class{apply(Q,X){let Y=X;if(X.type===void 0&&(Y.minLength!==void 0||Y.maxLength!==void 0||Y.pattern!==void 0)){if(Q.string===void 0)Q.string=N.string()}}},X01=class{apply(Q,X){let Y=X;if(Y.minLength===void 0)return;if(Q.string!==!1){let J=Q.string||N.string();if(J instanceof N.ZodString)Q.string=J.refine((G)=>{return Array.from(G).length>=Y.minLength},{message:`String must be at least ${Y.minLength} characters long`})}}},Y01=class{apply(Q,X){let Y=X;if(Y.maxLength===void 0)return;if(Q.string!==!1){let J=Q.string||N.string();if(J instanceof N.ZodString)Q.string=J.refine((G)=>{return Array.from(G).length<=Y.maxLength},{message:`String must be at most ${Y.maxLength} characters long`})}}},J01=class{apply(Q,X){let Y=X;if(!Y.pattern)return;if(Q.string!==!1){let J=Q.string||N.string();if(J instanceof N.ZodString){let G=new RegExp(Y.pattern);Q.string=J.regex(G)}}}},G01=class{apply(Q,X){let Y=X;if(Y.minimum===void 0)return;if(Q.number!==!1){let J=Q.number||N.number();if(J instanceof N.ZodNumber)Q.number=J.min(Y.minimum)}}},W01=class{apply(Q,X){let Y=X;if(Y.maximum===void 0)return;if(Q.number!==!1){let J=Q.number||N.number();if(J instanceof N.ZodNumber)Q.number=J.max(Y.maximum)}}},Z01=class{apply(Q,X){let Y=X;if(Y.exclusiveMinimum===void 0)return;if(Q.number!==!1){let J=Q.number||N.number();if(J instanceof N.ZodNumber)if(typeof Y.exclusiveMinimum==="number")Q.number=J.gt(Y.exclusiveMinimum);else Q.number=!1}}},$01=class{apply(Q,X){let Y=X;if(Y.exclusiveMaximum===void 0)return;if(Q.number!==!1){let J=Q.number||N.number();if(J instanceof N.ZodNumber)if(typeof Y.exclusiveMaximum==="number")Q.number=J.lt(Y.exclusiveMaximum);else Q.number=!1}}},K01=class{apply(Q,X){let Y=X;if(Y.multipleOf===void 0)return;if(Q.number!==!1){let J=Q.number||N.number();if(J instanceof N.ZodNumber)Q.number=J.refine((G)=>{if(Y.multipleOf===0)return!1;let W=G/Y.multipleOf,Z=Math.round(W),$=Math.min(Math.abs(G)*Number.EPSILON*10,Math.abs(Y.multipleOf)*Number.EPSILON*10);return Math.abs(W-Z)<=$/Math.abs(Y.multipleOf)},{message:`Must be a multiple of ${Y.multipleOf}`})}}},H01=class{apply(Q,X){let Y=X;if(X.type===void 0&&(Y.minItems!==void 0||Y.maxItems!==void 0||Y.items!==void 0||Y.prefixItems!==void 0)){if(Q.array===void 0)Q.array=N.array(N.any())}}},F01=class{apply(Q,X){let Y=X;if(Y.minItems===void 0)return;if(Q.array!==!1)Q.array=(Q.array||N.array(N.any())).min(Y.minItems)}},V01=class{apply(Q,X){let Y=X;if(Y.maxItems===void 0)return;if(Q.array!==!1)Q.array=(Q.array||N.array(N.any())).max(Y.maxItems)}},q01=class{apply(Q,X){let Y=X;if(Q.array===!1)return;if(Array.isArray(Y.items))Q.array=Q.array||N.array(N.any());else if(Y.items&&typeof Y.items!=="boolean"&&!Y.prefixItems){let J=A9(Y.items),G=N.array(J);if(Q.array&&Q.array instanceof N.ZodArray){let W=Q.array._def;if(W.checks)W.checks.forEach((Z)=>{if(Z._zod&&Z._zod.def){let $=Z._zod.def;if($.check==="min_length"&&$.minimum!==void 0)G=G.min($.minimum);else if($.check==="max_length"&&$.maximum!==void 0)G=G.max($.maximum)}})}Q.array=G}else if(typeof Y.items==="boolean"&&Y.items===!1)if(!Y.prefixItems)Q.array=N.array(N.any()).max(0);else Q.array=Q.array||N.array(N.any());else if(typeof Y.items==="boolean"&&Y.items===!0)Q.array=Q.array||N.array(N.any());else if(Y.prefixItems)Q.array=Q.array||N.array(N.any())}},z01=class{apply(Q,X){if(X.type!=="array")return;let Y=X;if(!Array.isArray(Y.items))return;if(Q.array===!1)return;let J=Y.items.map((W)=>A9(W)),G;if(J.length===0)G=N.tuple([]);else G=N.tuple(J);if(Y.minItems!==void 0&&Y.minItems>J.length)G=!1;if(Y.maxItems!==void 0&&Y.maxItems<J.length)G=!1;Q.tuple=G,Q.array=!1}},U01=class{apply(Q,X){let Y=X;if(Q.object===!1)return;if(Y.properties||Y.required||Y.additionalProperties!==void 0)Q.object=Q.object||N.object({}).passthrough()}},B01=class{apply(Q,X){let Y=X;if(X.type===void 0&&(Y.maxProperties!==void 0||Y.minProperties!==void 0)){if(Q.object===void 0)Q.object=N.object({}).passthrough()}}},D01=class{apply(Q,X){let Y=X;if(Y.maxProperties===void 0)return;if(Q.object!==!1){let J=Q.object||N.object({}).passthrough();Q.object=J.refine((G)=>Object.keys(G).length<=Y.maxProperties,{message:`Object must have at most ${Y.maxProperties} properties`})}}},N01=class{apply(Q,X){let Y=X;if(Y.minProperties===void 0)return;if(Q.object!==!1){let J=Q.object||N.object({}).passthrough();Q.object=J.refine((G)=>Object.keys(G).length>=Y.minProperties,{message:`Object must have at least ${Y.minProperties} properties`})}}},L01=class{apply(Q,X){if(!X.not)return Q;let Y=A9(X.not);return Q.refine((J)=>!ik(Y,J),{message:"Value must not match the 'not' schema"})}},w01=class{apply(Q,X){if(X.uniqueItems!==!0)return Q;return Q.refine(O01(),{message:"Array items must be unique"})}},M01=class{apply(Q,X){if(!X.allOf||X.allOf.length===0)return Q;return X.allOf.map((J)=>A9(J)).reduce((J,G)=>N.intersection(J,G),Q)}},P01=class{apply(Q,X){if(!X.anyOf||X.anyOf.length===0)return Q;let Y=X.anyOf.length===1?A9(X.anyOf[0]):N.union([A9(X.anyOf[0]),A9(X.anyOf[1]),...X.anyOf.slice(2).map((J)=>A9(J))]);return N.intersection(Q,Y)}},T01=class{apply(Q,X){if(!X.oneOf||X.oneOf.length===0)return Q;let Y=X.oneOf.map((J)=>A9(J));return Q.refine((J)=>{let G=0;for(let W of Y)if(W.safeParse(J).success){if(G++,G>1)return!1}return G===1},{message:"Value must match exactly one of the oneOf schemas"})}},A01=class{apply(Q,X){let Y=X;if(Y.prefixItems&&Array.isArray(Y.prefixItems)){let G=Y.prefixItems.map((W)=>A9(W));return Q.refine((W)=>{if(!Array.isArray(W))return!0;for(let Z=0;Z<Math.min(W.length,G.length);Z++)if(!ik(G[Z],W[Z]))return!1;if(W.length>G.length){if(typeof Y.items==="boolean"&&Y.items===!1)return!1;else if(Y.items&&typeof Y.items==="object"&&!Array.isArray(Y.items)){let Z=A9(Y.items);for(let $=G.length;$<W.length;$++)if(!ik(Z,W[$]))return!1}}return!0},{message:"Array does not match prefixItems schema"})}return Q}},E01=class{apply(Q,X){let Y=X;if(!Y.properties&&!Y.required&&Y.additionalProperties!==!1)return Q;if(Q instanceof N.ZodObject||Q instanceof N.ZodRecord){let J={};if(Y.properties){for(let[G,W]of Object.entries(Y.properties))if(W!==void 0)J[G]=A9(W)}if(Y.required&&Array.isArray(Y.required)){let G=new Set(Y.required);for(let W of Object.keys(J))if(!G.has(W))J[W]=J[W].optional()}else for(let G of Object.keys(J))J[G]=J[G].optional();if(Y.additionalProperties===!1)return N.object(J);else return N.object(J).passthrough()}return Q.refine((J)=>{if(typeof J!=="object"||J===null||Array.isArray(J))return!0;if(Y.properties){for(let[G,W]of Object.entries(Y.properties))if(W!==void 0){if(Object.getOwnPropertyDescriptor(J,G)!==void 0){if(!A9(W).safeParse(J[G]).success)return!1}}}if(Y.required&&Array.isArray(Y.required)){for(let G of Y.required)if(Object.getOwnPropertyDescriptor(J,G)===void 0)return!1}if(Y.additionalProperties===!1&&Y.properties){let G=new Set(Object.keys(Y.properties));for(let W in J)if(!G.has(W))return!1}return!0},{message:"Object constraints validation failed"})}},j01=class{apply(Q,X){if(!X.enum||X.enum.length===0)return Q;let Y=X.enum.filter((J)=>Array.isArray(J)||typeof J==="object"&&J!==null);if(Y.length===0)return Q;return Q.refine((J)=>{if(typeof J!=="object"||J===null)return!0;return Y.some((G)=>vw(J,G))},{message:"Value must match one of the enum values"})}},C01=class{apply(Q,X){if(X.const===void 0)return Q;let Y=X.const;if(typeof Y!=="object"||Y===null)return Q;return Q.refine((J)=>vw(J,Y),{message:"Value must equal the const value"})}},I01=class{apply(Q,X){if(X.description)Q=Q.describe(X.description);return Q}},R01=class{apply(Q,X){var Y;let J=X;if(!((Y=J.required)==null?void 0:Y.includes("__proto__"))||X.type!==void 0)return Q;return N.any().refine((G)=>this.validateRequired(G,J.required),{message:"Missing required properties"})}validateRequired(Q,X){if(typeof Q!=="object"||Q===null||Array.isArray(Q))return!0;return X.every((Y)=>Object.prototype.hasOwnProperty.call(Q,Y))}},S01=class{apply(Q,X){var Y;let J=X;if(J.contains===void 0)return Q;let G=A9(J.contains),W=(Y=J.minContains)!=null?Y:1,Z=J.maxContains;return Q.refine(($)=>{if(!Array.isArray($))return!0;let K=0;for(let H of $)if(ik(G,H))K++;if(K<W)return!1;if(Z!==void 0&&K>Z)return!1;return!0},{message:"Array must contain required items matching the schema"})}},k01=class{apply(Q,X){let{default:Y}=X;if(Y===void 0)return Q;if(!Q.safeParse(Y).success)return Q;return Q.default(Y)}},v01,_01;var PI0=y(()=>{a1();a1();a1();a1();a1();a1();a1();a1();a1();a1();a1();a1();a1();a1();v01=[new se6,new te6,new oe6,new ee6,new Q01,new H01,new B01,new X01,new Y01,new J01,new G01,new W01,new Z01,new $01,new K01,new z01,new F01,new V01,new q01,new D01,new N01,new U01],_01=[new R01,new j01,new C01,new M01,new P01,new T01,new A01,new E01,new S01,new L01,new w01,new k01,new I01]});function y01(Q){let X=globalThis.DOMException;return typeof X=="function"?new X(Q,"SyntaxError"):SyntaxError(Q)}function es(Q){return Q instanceof Error?"errors"in Q&&Array.isArray(Q.errors)?Q.errors.map(es).join(", "):("cause"in Q)&&Q.cause instanceof Error?`${Q}: ${es(Q.cause)}`:Q.message:`${Q}`}function TI0(Q){return{type:Q.type,message:Q.message,code:Q.code,defaultPrevented:Q.defaultPrevented,cancelable:Q.cancelable,timeStamp:Q.timeStamp}}function b01(){let Q="document"in globalThis?globalThis.document:void 0;return Q&&typeof Q=="object"&&"baseURI"in Q&&typeof Q.baseURI=="string"?Q.baseURI:void 0}var ts,EI0=(Q)=>{throw TypeError(Q)},$t=(Q,X,Y)=>X.has(Q)||EI0("Cannot "+Y),I1=(Q,X,Y)=>($t(Q,X,"read from private field"),Y?Y.call(Q):X.get(Q)),AQ=(Q,X,Y)=>X.has(Q)?EI0("Cannot add the same private member more than once"):X instanceof WeakSet?X.add(Q):X.set(Q,Y),C8=(Q,X,Y,J)=>($t(Q,X,"write to private field"),X.set(Q,Y),Y),b7=(Q,X,Y)=>($t(Q,X,"access private method"),Y),qY,S3,pz,ak,rk,bw,iz,fw,i$,cz,az,nz,_w,S5,Qt,Xt,Yt,AI0,Jt,Gt,yw,Wt,Zt,rz;var jI0=y(()=>{co();ts=class ts extends Event{constructor(Q,X){var Y,J;super(Q),this.code=(Y=X==null?void 0:X.code)!=null?Y:void 0,this.message=(J=X==null?void 0:X.message)!=null?J:void 0}[Symbol.for("nodejs.util.inspect.custom")](Q,X,Y){return Y(TI0(this),X)}[Symbol.for("Deno.customInspect")](Q,X){return Q(TI0(this),X)}};rz=class rz extends EventTarget{constructor(Q,X){var Y,J;super(),AQ(this,S5),this.CONNECTING=0,this.OPEN=1,this.CLOSED=2,AQ(this,qY),AQ(this,S3),AQ(this,pz),AQ(this,ak),AQ(this,rk),AQ(this,bw),AQ(this,iz),AQ(this,fw,null),AQ(this,i$),AQ(this,cz),AQ(this,az,null),AQ(this,nz,null),AQ(this,_w,null),AQ(this,Xt,async(G)=>{var W;I1(this,cz).reset();let{body:Z,redirected:$,status:K,headers:H}=G;if(K===204){b7(this,S5,yw).call(this,"Server sent HTTP 204, not reconnecting",204),this.close();return}if($?C8(this,pz,new URL(G.url)):C8(this,pz,void 0),K!==200){b7(this,S5,yw).call(this,`Non-200 status code (${K})`,K);return}if(!(H.get("content-type")||"").startsWith("text/event-stream")){b7(this,S5,yw).call(this,'Invalid content type, expected "text/event-stream"',K);return}if(I1(this,qY)===this.CLOSED)return;C8(this,qY,this.OPEN);let F=new Event("open");if((W=I1(this,_w))==null||W.call(this,F),this.dispatchEvent(F),typeof Z!="object"||!Z||!("getReader"in Z)){b7(this,S5,yw).call(this,"Invalid response body, expected a web ReadableStream",K),this.close();return}let V=new TextDecoder,q=Z.getReader(),U=!0;do{let{done:B,value:D}=await q.read();D&&I1(this,cz).feed(V.decode(D,{stream:!B})),B&&(U=!1,I1(this,cz).reset(),b7(this,S5,Wt).call(this))}while(U)}),AQ(this,Yt,(G)=>{C8(this,i$,void 0),!(G.name==="AbortError"||G.type==="aborted")&&b7(this,S5,Wt).call(this,es(G))}),AQ(this,Jt,(G)=>{typeof G.id=="string"&&C8(this,fw,G.id);let W=new MessageEvent(G.event||"message",{data:G.data,origin:I1(this,pz)?I1(this,pz).origin:I1(this,S3).origin,lastEventId:G.id||""});I1(this,nz)&&(!G.event||G.event==="message")&&I1(this,nz).call(this,W),this.dispatchEvent(W)}),AQ(this,Gt,(G)=>{C8(this,bw,G)}),AQ(this,Zt,()=>{C8(this,iz,void 0),I1(this,qY)===this.CONNECTING&&b7(this,S5,Qt).call(this)});try{if(Q instanceof URL)C8(this,S3,Q);else if(typeof Q=="string")C8(this,S3,new URL(Q,b01()));else throw Error("Invalid URL")}catch{throw y01("An invalid or illegal string was specified")}C8(this,cz,bk({onEvent:I1(this,Jt),onRetry:I1(this,Gt)})),C8(this,qY,this.CONNECTING),C8(this,bw,3000),C8(this,rk,(Y=X==null?void 0:X.fetch)!=null?Y:globalThis.fetch),C8(this,ak,(J=X==null?void 0:X.withCredentials)!=null?J:!1),b7(this,S5,Qt).call(this)}get readyState(){return I1(this,qY)}get url(){return I1(this,S3).href}get withCredentials(){return I1(this,ak)}get onerror(){return I1(this,az)}set onerror(Q){C8(this,az,Q)}get onmessage(){return I1(this,nz)}set onmessage(Q){C8(this,nz,Q)}get onopen(){return I1(this,_w)}set onopen(Q){C8(this,_w,Q)}addEventListener(Q,X,Y){let J=X;super.addEventListener(Q,J,Y)}removeEventListener(Q,X,Y){let J=X;super.removeEventListener(Q,J,Y)}close(){I1(this,iz)&&clearTimeout(I1(this,iz)),I1(this,qY)!==this.CLOSED&&(I1(this,i$)&&I1(this,i$).abort(),C8(this,qY,this.CLOSED),C8(this,i$,void 0))}};qY=new WeakMap,S3=new WeakMap,pz=new WeakMap,ak=new WeakMap,rk=new WeakMap,bw=new WeakMap,iz=new WeakMap,fw=new WeakMap,i$=new WeakMap,cz=new WeakMap,az=new WeakMap,nz=new WeakMap,_w=new WeakMap,S5=new WeakSet,Qt=function(){C8(this,qY,this.CONNECTING),C8(this,i$,new AbortController),I1(this,rk)(I1(this,S3),b7(this,S5,AI0).call(this)).then(I1(this,Xt)).catch(I1(this,Yt))},Xt=new WeakMap,Yt=new WeakMap,AI0=function(){var Q;let X={mode:"cors",redirect:"follow",headers:{Accept:"text/event-stream",...I1(this,fw)?{"Last-Event-ID":I1(this,fw)}:void 0},cache:"no-store",signal:(Q=I1(this,i$))==null?void 0:Q.signal};return"window"in globalThis&&(X.credentials=this.withCredentials?"include":"same-origin"),X},Jt=new WeakMap,Gt=new WeakMap,yw=function(Q,X){var Y;I1(this,qY)!==this.CLOSED&&C8(this,qY,this.CLOSED);let J=new ts("error",{code:X,message:Q});(Y=I1(this,az))==null||Y.call(this,J),this.dispatchEvent(J)},Wt=function(Q,X){var Y;if(I1(this,qY)===this.CLOSED)return;C8(this,qY,this.CONNECTING);let J=new ts("error",{code:X,message:Q});(Y=I1(this,az))==null||Y.call(this,J),this.dispatchEvent(J),C8(this,iz,setTimeout(I1(this,Zt),I1(this,bw)))},Zt=new WeakMap,rz.CONNECTING=0,rz.OPEN=1,rz.CLOSED=2});class Kt{constructor(Q,X){this._url=Q,this._resourceMetadataUrl=void 0,this._scope=void 0,this._eventSourceInit=X?.eventSourceInit,this._requestInit=X?.requestInit,this._authProvider=X?.authProvider,this._fetch=X?.fetch,this._fetchWithInit=Pk(X?.fetch,X?.requestInit)}async _authThenStart(){if(!this._authProvider)throw new FY("No auth provider");let Q;try{Q=await v7(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(X){throw this.onerror?.(X),X}if(Q!=="AUTHORIZED")throw new FY;return await this._startOrAuth()}async _commonHeaders(){let Q={};if(this._authProvider){let Y=await this._authProvider.tokens();if(Y)Q.Authorization=`Bearer ${Y.access_token}`}if(this._protocolVersion)Q["mcp-protocol-version"]=this._protocolVersion;let X=vz(this._requestInit?.headers);return new Headers({...Q,...X})}_startOrAuth(){let Q=this?._eventSourceInit?.fetch??this._fetch??fetch;return new Promise((X,Y)=>{this._eventSource=new rz(this._url.href,{...this._eventSourceInit,fetch:async(J,G)=>{let W=await this._commonHeaders();W.set("Accept","text/event-stream");let Z=await Q(J,{...G,headers:W});if(Z.status===401&&Z.headers.has("www-authenticate")){let{resourceMetadataUrl:$,scope:K}=hz(Z);this._resourceMetadataUrl=$,this._scope=K}return Z}}),this._abortController=new AbortController,this._eventSource.onerror=(J)=>{if(J.code===401&&this._authProvider){this._authThenStart().then(X,Y);return}let G=new CI0(J.code,J.message,J);Y(G),this.onerror?.(G)},this._eventSource.onopen=()=>{},this._eventSource.addEventListener("endpoint",(J)=>{let G=J;try{if(this._endpoint=new URL(G.data,this._url),this._endpoint.origin!==this._url.origin)throw Error(`Endpoint origin does not match connection origin: ${this._endpoint.origin}`)}catch(W){Y(W),this.onerror?.(W),this.close();return}X()}),this._eventSource.onmessage=(J)=>{let G=J,W;try{W=cY.parse(JSON.parse(G.data))}catch(Z){this.onerror?.(Z);return}this.onmessage?.(W)}})}async start(){if(this._eventSource)throw Error("SSEClientTransport already started! If using Client class, note that connect() calls start() automatically.");return await this._startOrAuth()}async finishAuth(Q){if(!this._authProvider)throw new FY("No auth provider");if(await v7(this._authProvider,{serverUrl:this._url,authorizationCode:Q,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new FY("Failed to authorize")}async close(){this._abortController?.abort(),this._eventSource?.close(),this.onclose?.()}async send(Q){if(!this._endpoint)throw Error("Not connected");try{let X=await this._commonHeaders();X.set("content-type","application/json");let Y={...this._requestInit,method:"POST",headers:X,body:JSON.stringify(Q),signal:this._abortController?.signal},J=await(this._fetch??fetch)(this._endpoint,Y);if(!J.ok){let G=await J.text().catch(()=>null);if(J.status===401&&this._authProvider){let{resourceMetadataUrl:W,scope:Z}=hz(J);if(this._resourceMetadataUrl=W,this._scope=Z,await v7(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new FY;return this.send(Q)}throw Error(`Error POSTing to endpoint (HTTP ${J.status}): ${G}`)}await J.body?.cancel()}catch(X){throw this.onerror?.(X),X}}setProtocolVersion(Q){this._protocolVersion=Q}}var CI0;var II0=y(()=>{jI0();a9();mo();CI0=class CI0 extends Error{constructor(Q,X,Y){super(`SSE error: ${X}`);this.code=Q,this.event=Y}}});class Ht{constructor(Q){this._url=Q}start(){if(this._socket)throw Error("WebSocketClientTransport already started! If using Client class, note that connect() calls start() automatically.");return new Promise((Q,X)=>{this._socket=new WebSocket(this._url,f01),this._socket.onerror=(Y)=>{let J="error"in Y?Y.error:Error(`WebSocket error: ${JSON.stringify(Y)}`);X(J),this.onerror?.(J)},this._socket.onopen=()=>{Q()},this._socket.onclose=()=>{this.onclose?.()},this._socket.onmessage=(Y)=>{let J;try{J=cY.parse(JSON.parse(Y.data))}catch(G){this.onerror?.(G);return}this.onmessage?.(J)}})}async close(){this._socket?.close()}send(Q){return new Promise((X,Y)=>{if(!this._socket){Y(Error("Not connected"));return}this._socket?.send(JSON.stringify(Q)),X()})}}var f01="mcp";var RI0=y(()=>{a9()});function h01(Q){let X=Q;if(!X||typeof X!=="object"||!("method"in X))return null;switch(X.method){case"initialize":{let Y=X?.params?.protocolVersion;if(!Y)return null;return{type:"emit",message:{result:{protocolVersion:Y,capabilities:{tools:{}},serverInfo:{name:"deco-chat-server",version:"1.0.0"}},jsonrpc:X.jsonrpc??"2.0",id:X.id}}}case"notifications/roots/list_changed":case"notifications/initialized":case"notifications/cancelled":case"notifications/progress":return{type:"suppress"};default:return null}}var Ft;var SI0=y(()=>{Tw();Ft=class Ft extends _7{constructor(Q,X){super(Q,X)}send(Q,X){let Y=h01(Q);if(Y?.type==="emit")return this.onmessage?.(Y.message),Promise.resolve();if(Y?.type==="suppress")return Promise.resolve();return super.send(Q,X)}}});var kI0,vI0=async(Q,X,Y)=>{let J=x01(Q.connection,X,Y);if(!J)throw Error("Unknown MCP connection type");let G=new kI0({name:Q?.name??"MCP Client",version:"1.0.0"});return await G.connect(J),{client:G,callStreamableTool:(W,Z)=>{if(Q.connection.type!=="HTTP")throw Error("HTTP connection required");let $=new Headers(Y);if(!$.has("Authorization"))$.set("Authorization",`Bearer ${Q.connection.token}`);for(let[F,V]of Object.entries(Q.connection.headers??{}))$.set(F,V);let K=new URL(Q.connection.url),H=K.pathname.replace(/\/+$/,"")||"/";return K.pathname=`${H}/call-tool/${encodeURIComponent(W)}`,fetch(K.href,{method:"POST",redirect:"manual",body:JSON.stringify(Z),headers:$})}}},x01=(Q,X,Y)=>{if(Q.type==="Websocket")return new Ht(new URL(Q.url));if(Q.type!=="SSE"&&Q.type!=="HTTP")return null;let G={...Q.token?{authorization:`Bearer ${Q.token}`}:{},...Y??{},..."headers"in Q?Q.headers||{}:{}};if(Q.type==="SSE"){let W={requestInit:{headers:G,signal:X}};if(Q.token)W.eventSourceInit={fetch:(Z,$)=>{return fetch(Z,{...$,headers:{...G,Accept:"text/event-stream"},signal:X})}};return new Kt(new URL(Q.url),W)}return new Ft(new URL(Q.url),{requestInit:{headers:G,signal:X,credentials:"include"}})};var _I0=y(()=>{Rz();II0();RI0();a9();SI0();kI0=class kI0 extends gJ{constructor(Q,X){super(Q,X)}async listTools(Q,X){return await this.request({method:"tools/list",params:Q},nL,X)}}});function bI0(Q){let X=(Y)=>{if("connection"in Q)return vI0({connection:Q.connection},void 0,Y);return Q.client};return new Proxy({},{get(Y,J){if(J==="toJSON")return null;if(typeof J!=="string")throw Error("Name must be a string");if(J==="listTools")return $;async function G(K,H=J){let F=Q?.debugId?.(),V=F?{"x-trace-debug-id":F}:void 0,{client:q,callStreamableTool:U}=await X(V);if(Q?.streamable?.[String(H)])return U(String(H),K);let{structuredContent:B,isError:D,content:L}=await q.callTool({name:String(H),arguments:K});if(D){let M=L?.[0]?.text,C=typeof M==="string"?g01(M):null,E=C?.code&&typeof Q?.getErrorByStatusCode==="function"?Q.getErrorByStatusCode(C.code,C.message,C.traceId):null;if(E)throw E;throw Error(`Tool ${String(H)} returned an error: ${JSON.stringify(B??L)}`)}return B}async function W(){let{client:K}=await X(),{tools:H}=await K.listTools();return H}async function Z(){if(!("connection"in Q))return W();let K=Q.connection,H=JSON.stringify(K);try{if(!ok.has(H))ok.set(H,W());return await ok.get(H)}catch(F){console.error("Failed to list tools",F),ok.delete(H);return}}async function $(){return(await Z()??[]).map((H)=>yI0(H,G))}return G.asTool=async()=>{let H=(await Z()??[]).find((F)=>F.name===J);if(!H)throw Error(`Tool ${J} not found`);return yI0(H,G)},G}})}var g01=(Q)=>{try{return JSON.parse(Q)}catch{return Q}},ok,yI0=(Q,X)=>{return{...Q,id:Q.name,inputSchema:Q.inputSchema?A9(Q.inputSchema):void 0,outputSchema:Q.outputSchema?A9(Q.outputSchema):void 0,execute:(Y)=>{return X(Y.context,Q.name)}}};var fI0=y(()=>{PI0();_I0();ok=new Map});function sk(Q){return bI0(Q)}var yA4;var hI0=y(()=>{fI0();yA4=new Proxy({},{get(Q,X){if(X==="toJSON")return null;if(X==="forConnection")return(Y)=>sk({connection:Y});return global[X]}})});function tk(Q){return{isImplementedBy:(X)=>{for(let Y of Q){let J=typeof Y.name==="string"?new RegExp(`^${Y.name}$`):Y.name,G=X.find((W)=>J.test(W.name));if(!G&&Y.opt)continue;if(!G)return!1}return!0}}}var oz=(Q)=>{return{...tk(Q),forClient:(X)=>{return sk({client:X,streamable:Q.reduce((Y,J)=>{return Y[J.name]=J.streamable===!0,Y},{})})},forConnection:(X)=>{return sk({connection:X,streamable:Q.reduce((Y,J)=>{return Y[J.name]=J.streamable===!0,Y},{})})}}};var hw=y(()=>{hI0()});function gw(Q){return N.object({items:N.array(Q).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 qt(Q){return N.object({item:Q.nullable().describe("The retrieved item, or null if not found")})}function l01(Q){return N.object({data:Q.partial().describe("Data for the new entity (id may be auto-generated)")})}function d01(Q){return N.object({item:Q.describe("The created entity with generated id")})}function p01(Q){return N.object({id:N.string().describe("ID of the entity to update"),data:Q.partial().describe("Partial entity data to update")})}function c01(Q){return N.object({item:Q.describe("The updated entity")})}function Ut(Q){return N.object({item:Q.describe("The deleted entity")})}function tz(Q,X,Y){let J=Q.toUpperCase(),G=Y?.readOnly??!1,W=[{name:`COLLECTION_${J}_LIST`,inputSchema:xw,outputSchema:gw(X)},{name:`COLLECTION_${J}_GET`,inputSchema:Vt,outputSchema:qt(X)}];if(!G)W.push({name:`COLLECTION_${J}_CREATE`,inputSchema:l01(X),outputSchema:d01(X),opt:!0},{name:`COLLECTION_${J}_UPDATE`,inputSchema:p01(X),outputSchema:c01(X),opt:!0},{name:`COLLECTION_${J}_DELETE`,inputSchema:zt,outputSchema:Ut(X),opt:!0});return W}var sz,u01,xI0,m01,xw,Vt,zt;var a$=y(()=>{$6();sz=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()}),u01=N.object({field:N.array(N.string()),operator:N.enum(["eq","gt","gte","lt","lte","in","like","contains"]),value:N.unknown()}),xI0=N.lazy(()=>N.union([u01,N.object({operator:N.enum(["and","or","not"]),conditions:N.array(xI0)})])),m01=N.object({field:N.array(N.string()),direction:N.enum(["asc","desc"]),nulls:N.enum(["first","last"]).optional()}),xw=N.object({where:xI0.optional().describe("Filter expression"),orderBy:N.array(m01).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")});Vt=N.object({id:N.string().describe("ID of the entity to retrieve")});zt=N.object({id:N.string().describe("ID of the entity to delete")})});var n01,gI0,dA4;var uI0=y(()=>{$6();a$();n01=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()}),gI0=sz.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(n01).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()})}),dA4=tz("registry_app",gI0,{readOnly:!0})});var mI0,lI0,dI0,pI0,cI0,Bt;var nI0=y(()=>{$6();hw();mI0=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)")}),lI0=N.object({events:N.array(mI0).min(1).describe("Batch of CloudEvents to process")}),dI0=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")}),pI0=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(),dI0).optional().describe("Per-event results keyed by event ID")}),cI0=[{name:"ON_EVENTS",inputSchema:lI0,outputSchema:pI0}],Bt=oz(cI0)});var uw,mw,lw,dw,iI0,aI0,pw,cw,nw,iw,aw,rw,ow,sw,rI0,i01;var oI0=y(()=>{$6();hw();uw=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.")}),mw=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")}),lw=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")}),dw=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.union([N.string(),N.date()]).describe("Created timestamp"),updatedAt:N.union([N.string(),N.date()]).describe("Updated timestamp")})}),iI0=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")}),aI0=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.union([N.string(),N.date()]).describe("Created timestamp"),updatedAt:N.union([N.string(),N.date()]).describe("Updated timestamp")}),pw=N.object({subscriptions:N.array(iI0).describe("Desired subscriptions - system will create/update/delete to match")}),cw=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(aI0).describe("Current subscriptions after sync")}),nw=N.object({subscriptionId:N.string().describe("Subscription ID to remove")}),iw=N.object({success:N.boolean().describe("Whether unsubscribe was successful"),subscriptionId:N.string().describe("Subscription ID that was removed")}),aw=N.object({eventId:N.string().describe("Event ID to cancel")}),rw=N.object({success:N.boolean().describe("Whether cancellation was successful"),eventId:N.string().describe("Event ID that was cancelled")}),ow=N.object({eventId:N.string().describe("Event ID to acknowledge")}),sw=N.object({success:N.boolean().describe("Whether ACK was successful"),eventId:N.string().describe("Event ID that was acknowledged")}),rI0=[{name:"EVENT_PUBLISH",inputSchema:uw,outputSchema:mw},{name:"EVENT_SUBSCRIBE",inputSchema:lw,outputSchema:dw},{name:"EVENT_UNSUBSCRIBE",inputSchema:nw,outputSchema:iw},{name:"EVENT_CANCEL",inputSchema:aw,outputSchema:rw},{name:"EVENT_ACK",inputSchema:ow,outputSchema:sw},{name:"EVENT_SYNC_SUBSCRIPTIONS",inputSchema:pw,outputSchema:cw}],i01=oz(rI0)});var ek=y(()=>{hw();uI0();nI0();oI0()});var a01,r01,sI0;var tI0=y(()=>{$6();a$();a01=sz.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")}),r01=tz("assistant",a01),sI0=[...r01]});var tw,f7,QR0,o01,XR0,s01,t01,e01,YR0,Q61,X61,Y61,J61,G61,W61,Z61,$61,HE4,K61,FE4,eI0,H61,F61,Dt,JR0;var Nt=y(()=>{$6();hw();a$();tw=N.lazy(()=>N.union([N.null(),N.string(),N.number(),N.boolean(),N.record(N.string(),tw),N.array(tw)])),f7=N.record(N.string(),N.record(N.string(),tw)).optional().describe("Additional provider-specific options. Outer record keyed by provider name, inner by option key"),QR0=N.object({type:N.literal("text"),text:N.string().describe("The text content"),providerOptions:f7}),o01=N.union([N.string(),N.instanceof(Uint8Array)]).describe("File data as base64 encoded string, URL string, or Uint8Array"),XR0=N.object({type:N.literal("file"),filename:N.string().optional().describe("Optional filename of the file"),data:o01,mediaType:N.string().describe("IANA media type of the file (e.g., image/png, audio/mp3)"),providerOptions:f7}),s01=N.object({type:N.literal("reasoning"),text:N.string().describe("The reasoning text"),providerOptions:f7}),t01=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.unknown().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:f7}),e01=N.union([N.object({type:N.literal("text"),value:N.string()}),N.object({type:N.literal("json"),value:tw}),N.object({type:N.literal("error-text"),value:N.string()}),N.object({type:N.literal("error-json"),value:tw}),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")})]))})]),YR0=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:e01.describe("Result of the tool call"),providerOptions:f7}),Q61=N.object({role:N.literal("system"),content:N.string().describe("System message content"),providerOptions:f7}),X61=N.object({role:N.literal("user"),content:N.array(N.union([QR0,XR0])).describe("User message content parts (text or file)"),providerOptions:f7}),Y61=N.object({role:N.literal("assistant"),content:N.array(N.union([QR0,XR0,s01,t01,YR0])).describe("Assistant message content parts (text, file, reasoning, tool-call, or tool-result)"),providerOptions:f7}),J61=N.object({role:N.literal("tool"),content:N.array(YR0).describe("Tool message content (tool results)"),providerOptions:f7}),G61=N.union([Q61,X61,Y61,J61]),W61=N.array(G61).describe("A list of messages forming the prompt"),Z61=N.object({prompt:W61.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"),headers:N.record(N.string(),N.union([N.string(),N.undefined()])).optional().describe("Additional HTTP headers to be sent with the request"),providerOptions:N.any().optional().describe("Additional provider-specific options")}),$61=N.object({content:N.array(N.any()).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.object({inputTokens:N.number().optional(),outputTokens:N.number().optional(),totalTokens:N.number().optional(),reasoningTokens:N.number().optional()}).passthrough().transform((Q)=>({inputTokens:Q.inputTokens,outputTokens:Q.outputTokens,totalTokens:Q.totalTokens,reasoningTokens:Q.reasoningTokens,...Q})).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.date().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")}),HE4=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")}),K61=N.object({supportedUrls:N.record(N.string(),N.array(N.string())).describe("Supported URL patterns by media type for the provider")}),FE4=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()}),eI0=N.object({modelId:N.string().describe("The ID of the model"),callOptions:Z61}),H61=sz.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()}),F61=tz("llm",H61,{readOnly:!0}),Dt=[{name:"LLM_METADATA",inputSchema:N.object({modelId:N.string().describe("The ID of the model")}),outputSchema:K61},{name:"LLM_DO_STREAM",inputSchema:eI0,streamable:!0},{name:"LLM_DO_GENERATE",inputSchema:eI0,outputSchema:$61},...F61],JR0=oz(Dt)});function q61(Q){let X=[],Y=0;while(Y<Q.length){let J=Q[Y];if(J==="%")X.push(".*");else if(J==="_")X.push(".");else if(/[.*+?^${}()|[\]\\]/.test(J))X.push("\\"+J);else X.push(J);Y++}return X.join("")}function r$(Q){return typeof Q==="string"||typeof Q==="number"}function Qv(Q,X){if("conditions"in X){let{operator:$,conditions:K}=X;switch($){case"and":return K.every((H)=>Qv(Q,H));case"or":return K.some((H)=>Qv(Q,H));case"not":return!K.every((H)=>Qv(Q,H));default:return!0}}let{field:Y,operator:J,value:G}=X,W=Y.join("."),Z=Ot(Q,W);switch(J){case"eq":return Z===G;case"gt":return r$(Z)&&r$(G)&&Z>G;case"gte":return r$(Z)&&r$(G)&&Z>=G;case"lt":return r$(Z)&&r$(G)&&Z<G;case"lte":return r$(Z)&&r$(G)&&Z<=G;case"in":return Array.isArray(G)&&G.includes(Z);case"like":if(typeof Z!=="string"||typeof G!=="string")return!1;if(G.length>100)return!1;let $=q61(G);return new RegExp(`^${$}$`,"i").test(Z);case"contains":if(typeof Z!=="string"||typeof G!=="string")return!1;return Z.toLowerCase().includes(G.toLowerCase());default:return!0}}function Ot(Q,X){let Y=X.split("."),J=Q;for(let G of Y){if(J==null||typeof J!=="object")return;J=J[G]}return J}function z61(Q,X){return[...Q].sort((Y,J)=>{for(let G of X){let W=G.field.join("."),Z=Ot(Y,W),$=Ot(J,W),K=0;if(Z==null&&$==null)continue;if(Z==null)K=G.nulls==="first"?-1:1;else if($==null)K=G.nulls==="first"?1:-1;else if(typeof Z==="string"&&typeof $==="string")K=Z.localeCompare($);else if(typeof Z==="number"&&typeof $==="number")K=Z-$;else K=String(Z).localeCompare(String($));if(K!==0)return G.direction==="desc"?-K:K}return 0})}var V61,U61,B61,Lt;var GR0=y(()=>{ek();tI0();a$();Nt();$6();C1();L7();V61={LLM:Dt,ASSISTANTS:sI0};U61=xw.extend({binding:N.union([N.object({}).passthrough(),N.string()]).optional()}),B61=gw(_J),Lt=w6({name:"COLLECTION_CONNECTIONS_LIST",description:"List all connections in the organization with filtering, sorting, and pagination",inputSchema:U61,outputSchema:B61,handler:async(Q,X)=>{await X.access.check();let Y=O1(X),J=Q.binding?typeof Q.binding==="string"?(()=>{let q=V61[Q.binding.toUpperCase()];if(!q)throw Error(`Unknown binding: ${Q.binding}`);return q})():Q.binding:void 0,G=J?tk(J):void 0,W=await X.storage.connections.list(Y.id),Z=G?await Promise.all(W.map(async(q)=>{if(!q.tools||q.tools.length===0)return null;return G.isImplementedBy(q.tools.map((B)=>({name:B.name,inputSchema:B.inputSchema,outputSchema:B.outputSchema})))?q:null})).then((q)=>q.filter((U)=>U!==null)):W;if(Q.where)Z=Z.filter((q)=>Qv(q,Q.where));if(Q.orderBy&&Q.orderBy.length>0)Z=z61(Z,Q.orderBy);let $=Z.length,K=Q.offset??0,H=Q.limit??100,F=Z.slice(K,K+H),V=K+H<$;return{items:F,totalCount:$,hasMore:V}}})});var D61,wt;var WR0=y(()=>{a$();C1();L7();D61=qt(_J),wt=w6({name:"COLLECTION_CONNECTIONS_GET",description:"Get connection details by ID",inputSchema:Vt,outputSchema:D61,handler:async(Q,X)=>{let Y=O1(X);await X.access.check();let J=await X.storage.connections.findById(Q.id);if(!J||J.organization_id!==Y.id)return{item:null};return{item:J}}})});var Xv=(Q,X)=>{if(X===null||X===void 0)return;let Y=Q.replace(/\[(\w+)\]/g,".$1").split(".").filter(Boolean),J=X;for(let G of Y){if(J===null||J===void 0||typeof J!=="object")return;J=J[G]}return J};function ZR0(Q){let X=Q.split("::");if(X.length!==2||!X[0]||!X[1])throw Error(`Invalid scope format: ${Q}. Expected format: "KEY::SCOPE"`);return X}function N61(Q){let X=Q.split("::");if(X.length!==2||!X[0]||!X[1])return null;return X}function O61(Q){if(typeof Q==="object"&&Q!==null&&"value"in Q){let X=Q.value;if(typeof X==="string")return X}return null}function Mt(Q,X){let Y={};if(!Q||!X)return Y;for(let J of X){if(J==="*"){Y["*"]=["*"];continue}let G=N61(J);if(!G)continue;let[W,Z]=G,$=Xv(W,Q),K=O61($);if(K){if(!Y[K])Y[K]=[];Y[K].push(Z)}}return Y}function $R0(Q,X){let Y=Mt(Q,X);return new Set(Object.keys(Y).filter((J)=>J!=="*"))}var Pt=()=>{};async function M61(Q,X,Y,J){for(let W of X){if(W==="*")continue;let[Z]=ZR0(W),$=Xv(Z,Q);if($===void 0||$===null)throw Error(`Scope references key "${Z}" but it's not present in state`)}let G=$R0(Q,X);for(let W of G){if(W===L5.SELF)continue;let Z=await J.storage.connections.findById(W);if(!Z||Z.organization_id!==Y)throw Error(`Referenced connection not found: ${W}`);try{await J.access.check(W)}catch($){throw Error(`Access denied to referenced connection: ${W}. ${$.message}`)}}}var L61,w61,Tt;var KR0=y(()=>{Pt();E$();$6();C1();fk();L7();L61=N.object({id:N.string().describe("ID of the connection to update"),data:nO0.describe("Partial connection data to update")}),w61=N.object({item:_J.describe("The updated connection entity")});Tt=w6({name:"COLLECTION_CONNECTIONS_UPDATE",description:"Update an existing MCP connection in the organization",inputSchema:L61,outputSchema:w61,handler:async(Q,X)=>{y6(X);let Y=O1(X);await X.access.check();let{id:J,data:G}=Q,W=await X.storage.connections.findById(J);if(!W||W.organization_id!==Y.id)throw Error("Connection not found in organization");let Z=G.configuration_state??W.configuration_state,$=G.configuration_scopes??W.configuration_scopes??[];if(G.configuration_state!==void 0||G.configuration_scopes!==void 0){if(G.configuration_state!==void 0)Z=G.configuration_state;else if(Z===null)Z={};if(G.configuration_scopes!==void 0)$=G.configuration_scopes??[];if($.length>0&&Z)await M61(Z,$,Y.id,X)}let K=await xz({id:W.id,title:G.title??W.title,connection_type:G.connection_type??W.connection_type,connection_url:G.connection_url??W.connection_url,connection_token:G.connection_token??W.connection_token,connection_headers:G.connection_headers??W.connection_headers}).catch(()=>null),H=K?.length?K:null,F={...G,tools:H,configuration_state:Z,configuration_scopes:$},V=await X.storage.connections.update(J,F);if((G.configuration_state!==void 0||G.configuration_scopes!==void 0)&&Z&&$.length>0)try{await(await X.createMCPProxy(J)).client.callTool({name:"ON_MCP_CONFIGURATION",arguments:{state:Z,scopes:$}})}catch(q){console.error("Failed to invoke ON_MCP_CONFIGURATION callback",q)}return{item:V}}})});var At;var HR0=y(()=>{a$();C1();L7();At=w6({name:"COLLECTION_CONNECTIONS_DELETE",description:"Delete a connection",inputSchema:zt,outputSchema:Ut(_J),handler:async(Q,X)=>{y6(X);let Y=O1(X);await X.access.check();let J=await X.storage.connections.findById(Q.id);if(!J)throw Error(`Connection not found: ${Q.id}`);if(J.organization_id!==Y.id)throw Error("Connection not found in organization");return await X.storage.connections.delete(Q.id),{item:J}}})});var Et;var FR0=y(()=>{$6();C1();Et=w6({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(Q,X)=>{let Y=O1(X);await X.access.check();let J=await X.storage.connections.findById(Q.id);if(!J||J.organization_id!==Y.id)throw Error("Connection not found");let G=await X.storage.connections.testConnection(Q.id);return{id:Q.id,...G}}})});var VR0=y(()=>{MI0();GR0();WR0();KR0();HR0();FR0()});import{sql as s1}from"kysely";function qR0(Q){if(Q===null||Q===void 0)return"NULL";if(typeof Q==="number")return String(Q);if(typeof Q==="boolean")return Q?"TRUE":"FALSE";if(typeof Q==="string")return`'${Q.replace(/'/g,"''")}'`;if(Q instanceof Date)return`'${Q.toISOString()}'`;return`'${JSON.stringify(Q).replace(/'/g,"''")}'`}function A61(Q,X){let Y=Q;for(let G=X.length;G>=1;G--){let W=`$${G}`;if(Y.includes(W))Y=Y.replaceAll(W,qR0(X[G-1]))}let J=[];for(let G=0;G<Y.length;G++)if(Y[G]==="?")J.push(G);for(let G=Math.min(J.length,X.length)-1;G>=0;G--){let W=J[G],Z=qR0(X[G]);Y=Y.slice(0,W)+Z+Y.slice(W+1)}return Y}function zR0(Q){return Q.replace(/-/g,"_")}function j61(Q){return`app_${zR0(Q)}`}function C61(Q){return`app_role_${zR0(Q)}`}function I61(Q){if(Q instanceof Error){let X=Q.message.toLowerCase(),Y=Q.code;return Y==="3F000"||Y==="42704"||X.includes("schema")&&X.includes("does not exist")||X.includes("role")&&X.includes("does not exist")}return!1}async function R61(Q,X,Y){if(await s1`CREATE SCHEMA IF NOT EXISTS ${s1.id(X)}`.execute(Q),!(await s1`
|
|
988
988
|
SELECT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = ${Y}) as exists
|
|
989
|
-
`.execute(Q)).rows[0]?.exists)await s1`CREATE ROLE ${s1.id(Y)} NOLOGIN`.execute(Q);await s1`GRANT ${s1.id(Y)} TO CURRENT_USER`.execute(Q),await s1`GRANT USAGE, CREATE ON SCHEMA ${s1.id(X)} TO ${s1.id(Y)}`.execute(Q),await s1`GRANT ALL ON ALL TABLES IN SCHEMA ${s1.id(X)} TO ${s1.id(Y)}`.execute(Q),await s1`GRANT ALL ON ALL SEQUENCES IN SCHEMA ${s1.id(X)} TO ${s1.id(Y)}`.execute(Q),await s1`ALTER DEFAULT PRIVILEGES IN SCHEMA ${s1.id(X)} GRANT ALL ON TABLES TO ${s1.id(Y)}`.execute(Q),await s1`ALTER DEFAULT PRIVILEGES IN SCHEMA ${s1.id(X)} GRANT ALL ON SEQUENCES TO ${s1.id(Y)}`.execute(Q),await s1`REVOKE ALL ON SCHEMA public FROM ${s1.id(Y)}`.execute(Q)}async function S61(Q,X,Y,J){try{return await Q.transaction().execute(async(G)=>{return await s1`SET LOCAL ROLE ${s1.id(Y)}`.execute(G),await s1`SET LOCAL search_path TO ${s1.id(X)}`.execute(G),await s1.raw(J).execute(G)})}catch(G){if(I61(G))return await R61(Q,X,Y),await Q.transaction().execute(async(W)=>{return await s1`SET LOCAL ROLE ${s1.id(Y)}`.execute(W),await s1`SET LOCAL search_path TO ${s1.id(X)}`.execute(W),await s1.raw(J).execute(W)});throw G}}var T61,E61,UR0;var BR0=y(()=>{$6();C1();T61=N.object({results:N.array(N.unknown()).optional(),success:N.boolean().optional()});E61=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()});UR0=w6({name:"DATABASES_RUN_SQL",description:"Run a SQL query against the database",inputSchema:E61,outputSchema:N.object({result:N.array(T61)}),handler:async(Q,X)=>{y6(X),await X.access.check();let Y=A61(Q.sql,Q.params||[]);if(!X.connectionId)throw Error("Connection context required for database access");let J=j61(X.connectionId),G=C61(X.connectionId);return{result:[{results:(await S61(X.db,J,G,Y)).rows,success:!0}]}}})});var DR0,v61,NR0;var h7=y(()=>{$6();ek();DR0=N.object({connectionId:N.string().optional().describe("Filter subscriptions by connection ID (optional)")}),v61=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.union([N.string(),N.date()]).describe("Created timestamp"),updatedAt:N.union([N.string(),N.date()]).describe("Updated timestamp")}),NR0=N.object({subscriptions:N.array(v61).describe("List of subscriptions")})});var jt;var OR0=y(()=>{C1();h7();jt=w6({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:uw,outputSchema:mw,handler:async(Q,X)=>{y6(X);let Y=O1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to publish events. Use a connection-scoped token.");let G=await X.eventBus.publish(Y.id,J,{type:Q.type,subject:Q.subject,data:Q.data,deliverAt:Q.deliverAt,cron:Q.cron});return{id:G.id,type:G.type,source:G.source,time:G.time}}})});var Ct;var LR0=y(()=>{C1();h7();Ct=w6({name:"EVENT_SUBSCRIBE",description:"Subscribe to events of a specific type. The subscriber is automatically set to the caller's connection.",inputSchema:lw,outputSchema:dw,handler:async(Q,X)=>{y6(X);let Y=O1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to subscribe. Use a connection-scoped token.");let G=await X.eventBus.subscribe(Y.id,{connectionId:J,eventType:Q.eventType,publisher:Q.publisher,filter:Q.filter});return{subscription:{id:G.id,connectionId:G.connectionId,eventType:G.eventType,publisher:G.publisher,filter:G.filter,enabled:G.enabled,createdAt:G.createdAt,updatedAt:G.updatedAt}}}})});var It;var wR0=y(()=>{C1();h7();It=w6({name:"EVENT_UNSUBSCRIBE",description:"Unsubscribe from events by removing a subscription.",inputSchema:nw,outputSchema:iw,handler:async(Q,X)=>{y6(X);let Y=O1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to unsubscribe. Use a connection-scoped token.");let G=await X.eventBus.getSubscription(Y.id,Q.subscriptionId);if(!G)throw Error(`Subscription not found: ${Q.subscriptionId}`);if(G.connectionId!==J)throw Error("Cannot unsubscribe from a subscription owned by another connection");return{success:(await X.eventBus.unsubscribe(Y.id,Q.subscriptionId)).success,subscriptionId:Q.subscriptionId}}})});var Rt;var MR0=y(()=>{C1();h7();Rt=w6({name:"EVENT_CANCEL",description:"Cancel a recurring event to stop future deliveries. Only the publisher can cancel their own events.",inputSchema:aw,outputSchema:rw,handler:async(Q,X)=>{y6(X);let Y=O1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to cancel events. Use a connection-scoped token.");if(!await X.eventBus.getEvent(Y.id,Q.eventId))throw Error(`Event not found: ${Q.eventId}`);if(!(await X.eventBus.cancelEvent(Y.id,Q.eventId,J)).success)throw Error("Failed to cancel event. Either the event is already completed/failed, or you are not the publisher.");return{success:!0,eventId:Q.eventId}}})});var St;var PR0=y(()=>{C1();h7();St=w6({name:"EVENT_ACK",description:"Acknowledge delivery of an event. Call after successfully processing an event received via ON_EVENTS with retryAfter.",inputSchema:ow,outputSchema:sw,handler:async(Q,X)=>{y6(X);let Y=O1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to acknowledge events. Use a connection-scoped token.");if(!(await X.eventBus.ackEvent(Y.id,Q.eventId,J)).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:Q.eventId}}})});var kt;var TR0=y(()=>{C1();h7();kt=w6({name:"EVENT_SUBSCRIPTION_LIST",description:"List event subscriptions, optionally filtered by connection ID.",inputSchema:DR0,outputSchema:NR0,handler:async(Q,X)=>{y6(X);let Y=O1(X);return await X.access.check(),{subscriptions:(await X.eventBus.listSubscriptions(Y.id,Q.connectionId)).map((G)=>({id:G.id,connectionId:G.connectionId,eventType:G.eventType,publisher:G.publisher,filter:G.filter,enabled:G.enabled,createdAt:G.createdAt,updatedAt:G.updatedAt}))}}})});var vt;var AR0=y(()=>{E$();C1();h7();vt=w6({name:"EVENT_SYNC_SUBSCRIPTIONS",description:"Sync subscriptions to desired state. Creates new, deletes removed, updates changed filters. Subscriptions are identified by (eventType, publisher).",inputSchema:pw,outputSchema:cw,handler:async(Q,X)=>{y6(X);let Y=O1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to sync subscriptions. Use a connection-scoped token.");let G=await X.eventBus.syncSubscriptions(Y.id,{connectionId:J,subscriptions:Q.subscriptions}),W=G.subscriptions.filter((Z)=>Z.eventType?.startsWith("cron/")&&Z.publisher===Gz.SELF(Y.id));return await Promise.all(W.map(async(Z)=>{let $=Z.eventType.split("/")[1];$&&await X.eventBus.publish(Y.id,Gz.SELF(Y.id),{type:Z.eventType,cron:$,data:{}})})),{created:G.created,updated:G.updated,deleted:G.deleted,unchanged:G.unchanged,subscriptions:G.subscriptions.map((Z)=>({id:Z.id,connectionId:Z.connectionId,eventType:Z.eventType,publisher:Z.publisher,filter:Z.filter,enabled:Z.enabled,createdAt:Z.createdAt,updatedAt:Z.updatedAt}))}}})});var ER0=y(()=>{OR0();LR0();wR0();MR0();PR0();TR0();AR0();h7()});var _t,yt,y61,XW,jR0,CR0;var ez=y(()=>{$6();_t=N.enum(["inclusion","exclusion"]).describe("Tool selection mode: 'inclusion' = include selected (default), 'exclusion' = exclude selected"),yt=N.enum(["passthrough","smart_tool_selection","code_execution"]).describe("Gateway tool selection strategy: 'passthrough' (default), 'smart_tool_selection', or 'code_execution'"),y61=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.")}),XW=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:yt.describe("Gateway behavior strategy (metadata for now): 'passthrough', 'smart_tool_selection', or 'code_execution'"),tool_selection_mode:_t.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 default gateway for the organization"),connections:N.array(y61).describe("Connections with their selected tools (behavior depends on tool_selection_mode)")}),jR0=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:yt.optional().default("passthrough").describe("Gateway behavior strategy (defaults to 'passthrough')"),tool_selection_mode:_t.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 default gateway 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)")}),CR0=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:yt.optional().describe("New gateway behavior strategy"),tool_selection_mode:_t.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 default gateway 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 b61,f61,bt;var IR0=y(()=>{$6();C1();ez();b61=N.object({data:jR0.describe("Data for the new gateway")}),f61=N.object({item:XW.describe("The created gateway entity")}),bt=w6({name:"COLLECTION_GATEWAY_CREATE",description:"Create a new MCP gateway in the organization",inputSchema:b61,outputSchema:f61,handler:async(Q,X)=>{y6(X);let Y=O1(X);await X.access.check();let J=VY(X);if(!J)throw Error("User ID required to create gateway");let G={title:Q.data.title,description:Q.data.description??null,toolSelectionStrategy:Q.data.tool_selection_strategy??"passthrough",toolSelectionMode:Q.data.tool_selection_mode??"inclusion",icon:Q.data.icon??null,status:Q.data.status,isDefault:Q.data.is_default??!1,connections:Q.data.connections.map((Z)=>({connectionId:Z.connection_id,selectedTools:Z.selected_tools??null,selectedResources:Z.selected_resources??null,selectedPrompts:Z.selected_prompts??null}))},W=await X.storage.gateways.create(Y.id,J,G);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((Z)=>({connection_id:Z.connectionId,selected_tools:Z.selectedTools,selected_resources:Z.selectedResources,selected_prompts:Z.selectedPrompts})),created_at:W.createdAt,updated_at:W.updatedAt,created_by:W.createdBy,updated_by:W.updatedBy??void 0}}}})});function h61(Q){let X=[],Y=0;while(Y<Q.length){let J=Q[Y];if(J==="%")X.push(".*");else if(J==="_")X.push(".");else if(/[.*+?^${}()|[\]\\]/.test(J))X.push("\\"+J);else X.push(J);Y++}return X.join("")}function o$(Q){return typeof Q==="string"||typeof Q==="number"}function ft(Q,X){let Y=X.split("."),J=Q;for(let G of Y){if(J==null||typeof J!=="object")return;J=J[G]}return J}function x61(Q,X){return Q.connections.some((Y)=>Y.connection_id===X)}function Yv(Q,X){if("conditions"in X){let{operator:$,conditions:K}=X;switch($){case"and":return K.every((H)=>Yv(Q,H));case"or":return K.some((H)=>Yv(Q,H));case"not":return!K.every((H)=>Yv(Q,H));default:return!0}}let{field:Y,operator:J,value:G}=X,W=Y.join(".");if(W==="connection_id"){if(J!=="eq"||typeof G!=="string")return!1;return x61(Q,G)}let Z=ft(Q,W);switch(J){case"eq":return Z===G;case"gt":return o$(Z)&&o$(G)&&Z>G;case"gte":return o$(Z)&&o$(G)&&Z>=G;case"lt":return o$(Z)&&o$(G)&&Z<G;case"lte":return o$(Z)&&o$(G)&&Z<=G;case"in":return Array.isArray(G)&&G.includes(Z);case"like":if(typeof Z!=="string"||typeof G!=="string")return!1;if(G.length>100)return!1;let $=h61(G);return new RegExp(`^${$}$`,"i").test(Z);case"contains":if(typeof Z!=="string"||typeof G!=="string")return!1;return Z.toLowerCase().includes(G.toLowerCase());default:return!0}}function g61(Q,X){return[...Q].sort((Y,J)=>{for(let G of X){let W=G.field.join("."),Z=ft(Y,W),$=ft(J,W),K=0;if(Z==null&&$==null)continue;if(Z==null)K=G.nulls==="first"?-1:1;else if($==null)K=G.nulls==="first"?1:-1;else if(typeof Z==="string"&&typeof $==="string")K=Z.localeCompare($);else if(typeof Z==="number"&&typeof $==="number")K=Z-$;else K=String(Z).localeCompare(String($));if(K!==0)return G.direction==="desc"?-K:K}return 0})}var u61,m61,ht;var RR0=y(()=>{a$();C1();ez();u61=xw,m61=gw(XW),ht=w6({name:"COLLECTION_GATEWAY_LIST",description:"List all MCP gateways in the organization",inputSchema:u61,outputSchema:m61,handler:async(Q,X)=>{await X.access.check();let Y=O1(X),J=Q.where&&!("conditions"in Q.where)&&Q.where.field.join(".")==="connection_id"&&Q.where.operator==="eq"&&typeof Q.where.value==="string"?Q.where.value:void 0,W=(J?await X.storage.gateways.listByConnectionId(Y.id,J):await X.storage.gateways.list(Y.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(Q.where)W=W.filter((V)=>Yv(V,Q.where));if(Q.orderBy&&Q.orderBy.length>0)W=g61(W,Q.orderBy);let Z=W.length,$=Q.offset??0,K=Q.limit??100,H=W.slice($,$+K),F=$+K<Z;return{items:H,totalCount:Z,hasMore:F}}})});var l61,d61,xt;var SR0=y(()=>{$6();C1();ez();l61=N.object({id:N.string().describe("ID of the gateway to retrieve")}),d61=N.object({item:XW.nullable().describe("The retrieved gateway, or null if not found")}),xt=w6({name:"COLLECTION_GATEWAY_GET",description:"Get an MCP gateway by ID",inputSchema:l61,outputSchema:d61,handler:async(Q,X)=>{y6(X);let Y=O1(X);await X.access.check();let J=await X.storage.gateways.findById(Q.id);if(J&&J.organizationId!==Y.id)return{item:null};if(!J)return{item:null};return{item:{id:J.id,title:J.title,description:J.description,icon:J.icon,organization_id:J.organizationId,tool_selection_strategy:J.toolSelectionStrategy,tool_selection_mode:J.toolSelectionMode,status:J.status,is_default:J.isDefault,connections:J.connections.map((G)=>({connection_id:G.connectionId,selected_tools:G.selectedTools,selected_resources:G.selectedResources,selected_prompts:G.selectedPrompts})),created_at:J.createdAt,updated_at:J.updatedAt,created_by:J.createdBy,updated_by:J.updatedBy??void 0}}}})});var p61,c61,gt;var kR0=y(()=>{$6();C1();ez();p61=N.object({id:N.string().describe("ID of the gateway to update"),data:CR0.describe("Partial gateway data to update")}),c61=N.object({item:XW.describe("The updated gateway entity")}),gt=w6({name:"COLLECTION_GATEWAY_UPDATE",description:"Update an MCP gateway",inputSchema:p61,outputSchema:c61,handler:async(Q,X)=>{y6(X);let Y=O1(X);await X.access.check();let J=VY(X);if(!J)throw Error("User ID required to update gateway");let G=await X.storage.gateways.findById(Q.id);if(!G)throw Error(`Gateway not found: ${Q.id}`);if(G.organizationId!==Y.id)throw Error(`Gateway not found: ${Q.id}`);let W={};if(Q.data.title!==void 0)W.title=Q.data.title;if(Q.data.description!==void 0)W.description=Q.data.description;if(Q.data.tool_selection_strategy!==void 0)W.toolSelectionStrategy=Q.data.tool_selection_strategy;if(Q.data.tool_selection_mode!==void 0)W.toolSelectionMode=Q.data.tool_selection_mode;if(Q.data.icon!==void 0)W.icon=Q.data.icon;if(Q.data.status!==void 0)W.status=Q.data.status;if(Q.data.is_default!==void 0)W.isDefault=Q.data.is_default;if(Q.data.connections!==void 0)W.connections=Q.data.connections.map(($)=>({connectionId:$.connection_id,selectedTools:$.selected_tools??null,selectedResources:$.selected_resources??null,selectedPrompts:$.selected_prompts??null}));let Z=await X.storage.gateways.update(Q.id,J,W);return{item:{id:Z.id,title:Z.title,description:Z.description,icon:Z.icon,organization_id:Z.organizationId,tool_selection_strategy:Z.toolSelectionStrategy,tool_selection_mode:Z.toolSelectionMode,status:Z.status,is_default:Z.isDefault,connections:Z.connections.map(($)=>({connection_id:$.connectionId,selected_tools:$.selectedTools,selected_resources:$.selectedResources,selected_prompts:$.selectedPrompts})),created_at:Z.createdAt,updated_at:Z.updatedAt,created_by:Z.createdBy,updated_by:Z.updatedBy??void 0}}}})});var n61,i61,ut;var vR0=y(()=>{$6();C1();ez();n61=N.object({id:N.string().describe("ID of the gateway to delete")}),i61=N.object({item:XW.describe("The deleted gateway entity")}),ut=w6({name:"COLLECTION_GATEWAY_DELETE",description:"Delete an MCP gateway",inputSchema:n61,outputSchema:i61,handler:async(Q,X)=>{y6(X);let Y=O1(X);await X.access.check();let J=await X.storage.gateways.findById(Q.id);if(!J)throw Error(`Gateway not found: ${Q.id}`);if(J.organizationId!==Y.id)throw Error(`Gateway not found: ${Q.id}`);if(J.isDefault)throw Error("Cannot delete the default gateway. Set another gateway as default first.");return await X.storage.gateways.delete(Q.id),{item:{id:J.id,title:J.title,description:J.description,icon:J.icon,organization_id:J.organizationId,tool_selection_strategy:J.toolSelectionStrategy,tool_selection_mode:J.toolSelectionMode,status:J.status,is_default:J.isDefault,connections:J.connections.map((G)=>({connection_id:G.connectionId,selected_tools:G.selectedTools,selected_resources:G.selectedResources,selected_prompts:G.selectedPrompts})),created_at:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt,updated_at:J.updatedAt instanceof Date?J.updatedAt.toISOString():J.updatedAt,created_by:J.createdBy,updated_by:J.updatedBy??void 0}}}})});var _R0=y(()=>{IR0();RR0();SR0();kR0();vR0()});var r61,mt;var yR0=y(()=>{C1();$6();r61=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")}),mt=w6({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")}),outputSchema:N.object({logs:N.array(r61).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(Q,X)=>{let J={organizationId:O1(X).id,connectionId:Q.connectionId,gatewayId:Q.gatewayId,toolName:Q.toolName,isError:Q.isError,startDate:Q.startDate?new Date(Q.startDate):void 0,endDate:Q.endDate?new Date(Q.endDate):void 0,limit:Q.limit,offset:Q.offset},G=await X.storage.monitoring.query(J);return{logs:G.logs.map((W)=>({...W,timestamp:W.timestamp instanceof Date?W.timestamp.toISOString():W.timestamp})),total:G.total,offset:Q.offset,limit:Q.limit}}})});var lt;var bR0=y(()=>{C1();$6();lt=w6({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(Q,X)=>{let J={organizationId:O1(X).id,startDate:Q.startDate?new Date(Q.startDate):void 0,endDate:Q.endDate?new Date(Q.endDate):void 0},G=await X.storage.monitoring.getStats(J);return{...G,errorRatePercent:(G.errorRate*100).toFixed(2)}}})});var fR0=y(()=>{yR0();bR0()});var dt;var hR0=y(()=>{$6();C1();dt=w6({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.union([N.date(),N.string()]),members:N.array(N.any()).optional()}),handler:async(Q,X)=>{y6(X),await X.access.check();let Y=VY(X);if(!Y)throw Error("User ID required to create organization");let J=await X.boundAuth.organization.create({name:Q.name,slug:Q.slug,metadata:Q.description?{description:Q.description}:void 0,userId:Y});if(!J)throw Error("Failed to create organization");return J}})});var pt;var xR0=y(()=>{$6();C1();pt=w6({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.union([N.date(),N.string()])}))}),handler:async(Q,X)=>{y6(X),await X.access.check();let Y=VY(X),J=Q.userId||Y;if(!J)throw Error("User ID required to list organizations");return{organizations:await X.boundAuth.organization.list(J)}}})});var ct;var gR0=y(()=>{$6();C1();ct=w6({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.union([N.date(),N.string()]),members:N.array(N.any()).optional(),invitations:N.array(N.any()).optional()}),handler:async(Q,X)=>{y6(X),await X.access.check();let Y=await X.boundAuth.organization.get();if(!Y)throw Error("No active organization found");return Y}})});var nt;var uR0=y(()=>{$6();C1();nt=w6({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.union([N.date(),N.string()])}),handler:async(Q,X)=>{y6(X),await X.access.check();let Y={};if(Q.name)Y.name=Q.name;if(Q.slug)Y.slug=Q.slug;if(Q.description)Y.metadata={description:Q.description};let J=await X.boundAuth.organization.update({organizationId:Q.id,data:Y});if(!J)throw Error("Failed to update organization");return J}})});var it;var mR0=y(()=>{$6();C1();it=w6({name:"ORGANIZATION_DELETE",description:"Delete an organization",inputSchema:N.object({id:N.string()}),outputSchema:N.object({success:N.boolean(),id:N.string()}),handler:async(Q,X)=>{return y6(X),await X.access.check(),await X.boundAuth.organization.delete(Q.id),{success:!0,id:Q.id}}})});var ew;var at=y(()=>{$6();ew=N.object({title:N.string(),url:N.string(),connectionId:N.string(),icon:N.string()})});var rt;var lR0=y(()=>{$6();C1();at();rt=w6({name:"ORGANIZATION_SETTINGS_GET",description:"Get organization-level settings",inputSchema:N.object({}),outputSchema:N.object({organizationId:N.string(),sidebar_items:N.array(ew).nullable().optional(),createdAt:N.union([N.date(),N.string()]).optional(),updatedAt:N.union([N.date(),N.string()]).optional()}),handler:async(Q,X)=>{y6(X),await X.access.check();let Y=X.organization?.id;if(!Y)throw Error("Organization ID required (no active organization in context)");let J=await X.storage.organizationSettings.get(Y);if(!J)return{organizationId:Y};return J}})});var ot;var dR0=y(()=>{$6();C1();at();ot=w6({name:"ORGANIZATION_SETTINGS_UPDATE",description:"Update organization-level settings",inputSchema:N.object({organizationId:N.string(),sidebar_items:N.array(ew).optional()}),outputSchema:N.object({organizationId:N.string(),sidebar_items:N.array(ew).nullable().optional(),createdAt:N.union([N.date(),N.string()]),updatedAt:N.union([N.date(),N.string()])}),handler:async(Q,X)=>{if(y6(X),await X.access.check(),X.organization&&X.organization.id!==Q.organizationId)throw Error("Cannot update settings for a different organization");return await X.storage.organizationSettings.upsert(Q.organizationId,{sidebar_items:Q.sidebar_items})}})});var st;var pR0=y(()=>{$6();C1();st=w6({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.union([N.date(),N.string()])}),handler:async(Q,X)=>{y6(X),await X.access.check();let Y=Q.organizationId||X.organization?.id;if(!Y)throw Error("Organization ID required (no active organization in context)");let J=await X.boundAuth.organization.addMember({organizationId:Y,userId:Q.userId,role:Q.role});if(!J)throw Error("Failed to add member");return J}})});var tt;var cR0=y(()=>{$6();C1();tt=w6({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(Q,X)=>{y6(X),await X.access.check();let Y=Q.organizationId||X.organization?.id;if(!Y)throw Error("Organization ID required (no active organization in context)");return await X.boundAuth.organization.removeMember({organizationId:Y,memberIdOrEmail:Q.memberIdOrEmail}),{success:!0,memberIdOrEmail:Q.memberIdOrEmail}}})});var et;var nR0=y(()=>{$6();C1();et=w6({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.union([N.date(),N.string()]),user:N.object({id:N.string(),name:N.string(),email:N.string(),image:N.string().optional()}).optional()}))}),handler:async(Q,X)=>{y6(X),await X.access.check();let Y=X.organization?.id;if(!Y)throw Error("Organization ID required (no active organization in context)");let J=await X.boundAuth.organization.listMembers({organizationId:Y,limit:Q.limit,offset:Q.offset});return{members:Array.isArray(J)?J:[]}}})});var Qe;var iR0=y(()=>{$6();C1();Qe=w6({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.union([N.date(),N.string()]),user:N.object({email:N.string(),name:N.string(),image:N.string().optional()})}),handler:async(Q,X)=>{y6(X),await X.access.check();let Y=Q.organizationId||X.organization?.id;if(!Y)throw Error("Organization ID required (no active organization in context)");let J=await X.boundAuth.organization.updateMemberRole({organizationId:Y,memberId:Q.memberId,role:Q.role});if(!J)throw Error("Failed to update member role");return J}})});var aR0=y(()=>{hR0();xR0();gR0();uR0();mR0();lR0();dR0();pR0();cR0();nR0();iR0()});var oR0={};U1(oR0,{managementMCP:()=>Xe,ALL_TOOLS:()=>rR0});var rR0,Xe=(Q)=>{let X=rR0.map((J)=>({name:J.name,description:J.description,inputSchema:J.inputSchema,outputSchema:J.outputSchema,handler:async(G)=>{return Q.access.setToolName(J.name),await J.execute(G,Q)}}));return Fj0({name:"mcp-mesh-management",version:"1.0.0"}).withTools(X).build()};var Ye=y(()=>{Vj0();wI0();VR0();BR0();ER0();_R0();fR0();aR0();rR0=[dt,pt,ct,nt,it,rt,ot,st,tt,et,Qe,ss,Lt,wt,Tt,At,Et,bt,ht,xt,gt,ut,UR0,mt,lt,is,rs,os,as,jt,Ct,It,Rt,St,kt,vt]});function t61(){return[{permissions:{self:["*"]},getTools:async()=>{let{ALL_TOOLS:Q}=await Promise.resolve().then(() => (Ye(),oR0));return Q.map((X)=>{return{name:X.name,inputSchema:N.toJSONSchema(X.inputSchema,{unrepresentable:"any"}),outputSchema:X.outputSchema?N.toJSONSchema(X.outputSchema,{unrepresentable:"any"}):void 0,description:X.description}})},data:uO0(process.env.BASE_URL||"http://localhost:3000")},{data:gO0()}]}async function sR0(Q,X){try{let Y=H3(),J=new ML(process.env.ENCRYPTION_KEY||""),G=new PL(Y.db,J),W=new TL(Y.db),Z=t61(),$=[];await Promise.all(Z.map(async(K)=>{let H=null;if(K.permissions)H=(await k5.api.createApiKey({body:{name:`${K.data.app_name??crypto.randomUUID()}-mcp`,userId:X,permissions:K.permissions,rateLimitEnabled:!1,metadata:{organization:{id:Q},purpose:"default-org-connections"}}}))?.key;let F=await K.getTools?.()??await xz({id:"pending",title:K.data.title,connection_type:K.data.connection_type,connection_url:K.data.connection_url,connection_token:K.data.connection_token,connection_headers:K.data.connection_headers}).catch(()=>null),V=K.data.id?`${Q}_${K.data.id}`:void 0,q=await G.create({...K.data,id:V,tools:F,organization_id:Q,created_by:X,connection_token:K.data.connection_token??H});$.push(q.id)})),await W.create(Q,X,{title:"Default Gateway",description:"Auto-created gateway for organization",toolSelectionStrategy:"passthrough",toolSelectionMode:"exclusion",status:"active",isDefault:!0,connections:$.map((K)=>({connectionId:K}))})}catch(Y){console.error("Error creating default MCP connections:",Y)}}var tR0=y(()=>{E$();LL();ti();ei();Qa();fk();$6();QU()});var Je,eR0;var Ge=y(()=>{Je=["owner","admin","user"],eR0=["owner","admin"]});var e61=(Q)=>{return{defaultSSO:[{domain:Q.domain,providerId:Q.providerId,oidcConfig:{issuer:`https://login.microsoftonline.com/${Q.MS_TENANT_ID}/v2.0`,pkce:!0,clientId:Q.MS_CLIENT_ID,clientSecret:Q.MS_CLIENT_SECRET,discoveryEndpoint:`https://login.microsoftonline.com/${Q.MS_TENANT_ID}/v2.0/.well-known/openid-configuration`,authorizationEndpoint:`https://login.microsoftonline.com/${Q.MS_TENANT_ID}/oauth2/v2.0/authorize`,tokenEndpoint:`https://login.microsoftonline.com/${Q.MS_TENANT_ID}/oauth2/v2.0/token`,jwksEndpoint:`https://login.microsoftonline.com/${Q.MS_TENANT_ID}/discovery/v2.0/keys`,userInfoEndpoint:"https://graph.microsoft.com/oidc/userinfo",tokenEndpointAuthentication:"client_secret_post",scopes:Q.scopes,mapping:{id:"sub",email:"email",emailVerified:"email_verified",name:"name",image:"picture",extraFields:{emailVerified:"email_verified"}}}}]}},QS0=(Q)=>{if(Q.providerId==="microsoft")return e61(Q);throw Error(`Unsupported provider: ${Q.providerId}`)};function Q11(Q){return Q.toLowerCase().trim().replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function X11(){let Q=Math.floor(Math.random()*YS0.length),X=Math.floor(Math.random()*XS0.length),Y=YS0[Q]??"deco",J=XS0[X]??"studio";return`${Y}-${J}`}var XS0,YS0,Y11,J11,Jv,G11,W11,Z11,JS0,o8,GS0=void 0,$11,K11,H11,k5;var QU=y(()=>{tm();Lz0();WB0();gc();Fi();sB0();Vi();GD0();LL();si();fO0();tR0();Ge();XS0=["labs","hub","studio","workspace","systems","core","cloud","works"],YS0=["capybara","guarana","deco","samba","feijoada","capoeira","carnival"];Y11=Object.values(PN()).map((Q)=>Q.map((X)=>X.name)).flat(),J11={...NR,self:["*",...Y11]},Jv=dG(J11),G11=Jv.newRole({self:["*"],...QL.statements}),W11=Jv.newRole({self:["*"],...QL.statements}),Z11=Jv.newRole({self:["*"],...QL.statements}),JS0=Object.values(PN()).map((Q)=>Q.map((X)=>`self:${X.name}`)).flat(),o8=_R.auth;if(o8.inviteEmailProviderId&&o8.emailProviders&&o8.emailProviders.length>0){let Q=nR(o8.emailProviders,o8.inviteEmailProviderId);if(Q){let X=cR(Q);GS0=async(Y)=>{let J=Y.inviter.user?.name||Y.inviter.user?.email,G=`${process.env.BASE_URL||"http://localhost:3000"}/auth/accept-invitation?invitationId=${Y.invitation.id}`;await X({to:Y.email,subject:`Invitation to join ${Y.organization.name}`,html:`
|
|
989
|
+
`.execute(Q)).rows[0]?.exists)await s1`CREATE ROLE ${s1.id(Y)} NOLOGIN`.execute(Q);await s1`GRANT ${s1.id(Y)} TO CURRENT_USER`.execute(Q),await s1`GRANT USAGE, CREATE ON SCHEMA ${s1.id(X)} TO ${s1.id(Y)}`.execute(Q),await s1`GRANT ALL ON ALL TABLES IN SCHEMA ${s1.id(X)} TO ${s1.id(Y)}`.execute(Q),await s1`GRANT ALL ON ALL SEQUENCES IN SCHEMA ${s1.id(X)} TO ${s1.id(Y)}`.execute(Q),await s1`ALTER DEFAULT PRIVILEGES IN SCHEMA ${s1.id(X)} GRANT ALL ON TABLES TO ${s1.id(Y)}`.execute(Q),await s1`ALTER DEFAULT PRIVILEGES IN SCHEMA ${s1.id(X)} GRANT ALL ON SEQUENCES TO ${s1.id(Y)}`.execute(Q),await s1`REVOKE ALL ON SCHEMA public FROM ${s1.id(Y)}`.execute(Q)}async function S61(Q,X,Y,J){try{return await Q.transaction().execute(async(G)=>{return await s1`SET LOCAL ROLE ${s1.id(Y)}`.execute(G),await s1`SET LOCAL search_path TO ${s1.id(X)}`.execute(G),await s1.raw(J).execute(G)})}catch(G){if(I61(G))return await R61(Q,X,Y),await Q.transaction().execute(async(W)=>{return await s1`SET LOCAL ROLE ${s1.id(Y)}`.execute(W),await s1`SET LOCAL search_path TO ${s1.id(X)}`.execute(W),await s1.raw(J).execute(W)});throw G}}var T61,E61,UR0;var BR0=y(()=>{$6();C1();T61=N.object({results:N.array(N.unknown()).optional(),success:N.boolean().optional()});E61=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()});UR0=w6({name:"DATABASES_RUN_SQL",description:"Run a SQL query against the database",inputSchema:E61,outputSchema:N.object({result:N.array(T61)}),handler:async(Q,X)=>{y6(X),await X.access.check();let Y=A61(Q.sql,Q.params||[]);if(!X.connectionId)throw Error("Connection context required for database access");let J=j61(X.connectionId),G=C61(X.connectionId);return{result:[{results:(await S61(X.db,J,G,Y)).rows,success:!0}]}}})});var DR0,v61,NR0;var h7=y(()=>{$6();ek();DR0=N.object({connectionId:N.string().optional().describe("Filter subscriptions by connection ID (optional)")}),v61=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.union([N.string(),N.date()]).describe("Created timestamp"),updatedAt:N.union([N.string(),N.date()]).describe("Updated timestamp")}),NR0=N.object({subscriptions:N.array(v61).describe("List of subscriptions")})});var jt;var OR0=y(()=>{C1();h7();jt=w6({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:uw,outputSchema:mw,handler:async(Q,X)=>{y6(X);let Y=O1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to publish events. Use a connection-scoped token.");let G=await X.eventBus.publish(Y.id,J,{type:Q.type,subject:Q.subject,data:Q.data,deliverAt:Q.deliverAt,cron:Q.cron});return{id:G.id,type:G.type,source:G.source,time:G.time}}})});var Ct;var LR0=y(()=>{C1();h7();Ct=w6({name:"EVENT_SUBSCRIBE",description:"Subscribe to events of a specific type. The subscriber is automatically set to the caller's connection.",inputSchema:lw,outputSchema:dw,handler:async(Q,X)=>{y6(X);let Y=O1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to subscribe. Use a connection-scoped token.");let G=await X.eventBus.subscribe(Y.id,{connectionId:J,eventType:Q.eventType,publisher:Q.publisher,filter:Q.filter});return{subscription:{id:G.id,connectionId:G.connectionId,eventType:G.eventType,publisher:G.publisher,filter:G.filter,enabled:G.enabled,createdAt:G.createdAt,updatedAt:G.updatedAt}}}})});var It;var wR0=y(()=>{C1();h7();It=w6({name:"EVENT_UNSUBSCRIBE",description:"Unsubscribe from events by removing a subscription.",inputSchema:nw,outputSchema:iw,handler:async(Q,X)=>{y6(X);let Y=O1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to unsubscribe. Use a connection-scoped token.");let G=await X.eventBus.getSubscription(Y.id,Q.subscriptionId);if(!G)throw Error(`Subscription not found: ${Q.subscriptionId}`);if(G.connectionId!==J)throw Error("Cannot unsubscribe from a subscription owned by another connection");return{success:(await X.eventBus.unsubscribe(Y.id,Q.subscriptionId)).success,subscriptionId:Q.subscriptionId}}})});var Rt;var MR0=y(()=>{C1();h7();Rt=w6({name:"EVENT_CANCEL",description:"Cancel a recurring event to stop future deliveries. Only the publisher can cancel their own events.",inputSchema:aw,outputSchema:rw,handler:async(Q,X)=>{y6(X);let Y=O1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to cancel events. Use a connection-scoped token.");if(!await X.eventBus.getEvent(Y.id,Q.eventId))throw Error(`Event not found: ${Q.eventId}`);if(!(await X.eventBus.cancelEvent(Y.id,Q.eventId,J)).success)throw Error("Failed to cancel event. Either the event is already completed/failed, or you are not the publisher.");return{success:!0,eventId:Q.eventId}}})});var St;var PR0=y(()=>{C1();h7();St=w6({name:"EVENT_ACK",description:"Acknowledge delivery of an event. Call after successfully processing an event received via ON_EVENTS with retryAfter.",inputSchema:ow,outputSchema:sw,handler:async(Q,X)=>{y6(X);let Y=O1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to acknowledge events. Use a connection-scoped token.");if(!(await X.eventBus.ackEvent(Y.id,Q.eventId,J)).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:Q.eventId}}})});var kt;var TR0=y(()=>{C1();h7();kt=w6({name:"EVENT_SUBSCRIPTION_LIST",description:"List event subscriptions, optionally filtered by connection ID.",inputSchema:DR0,outputSchema:NR0,handler:async(Q,X)=>{y6(X);let Y=O1(X);return await X.access.check(),{subscriptions:(await X.eventBus.listSubscriptions(Y.id,Q.connectionId)).map((G)=>({id:G.id,connectionId:G.connectionId,eventType:G.eventType,publisher:G.publisher,filter:G.filter,enabled:G.enabled,createdAt:G.createdAt,updatedAt:G.updatedAt}))}}})});var vt;var AR0=y(()=>{E$();C1();h7();vt=w6({name:"EVENT_SYNC_SUBSCRIPTIONS",description:"Sync subscriptions to desired state. Creates new, deletes removed, updates changed filters. Subscriptions are identified by (eventType, publisher).",inputSchema:pw,outputSchema:cw,handler:async(Q,X)=>{y6(X);let Y=O1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to sync subscriptions. Use a connection-scoped token.");let G=await X.eventBus.syncSubscriptions(Y.id,{connectionId:J,subscriptions:Q.subscriptions}),W=G.subscriptions.filter((Z)=>Z.eventType?.startsWith("cron/")&&Z.publisher===Gz.SELF(Y.id));return await Promise.all(W.map(async(Z)=>{let $=Z.eventType.split("/")[1];$&&await X.eventBus.publish(Y.id,Gz.SELF(Y.id),{type:Z.eventType,cron:$,data:{}})})),{created:G.created,updated:G.updated,deleted:G.deleted,unchanged:G.unchanged,subscriptions:G.subscriptions.map((Z)=>({id:Z.id,connectionId:Z.connectionId,eventType:Z.eventType,publisher:Z.publisher,filter:Z.filter,enabled:Z.enabled,createdAt:Z.createdAt,updatedAt:Z.updatedAt}))}}})});var ER0=y(()=>{OR0();LR0();wR0();MR0();PR0();TR0();AR0();h7()});var _t,yt,y61,XW,jR0,CR0;var ez=y(()=>{$6();_t=N.enum(["inclusion","exclusion"]).describe("Tool selection mode: 'inclusion' = include selected (default), 'exclusion' = exclude selected"),yt=N.enum(["passthrough","smart_tool_selection","code_execution"]).describe("Gateway tool selection strategy: 'passthrough' (default), 'smart_tool_selection', or 'code_execution'"),y61=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.")}),XW=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:yt.describe("Gateway behavior strategy (metadata for now): 'passthrough', 'smart_tool_selection', or 'code_execution'"),tool_selection_mode:_t.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 default gateway for the organization"),connections:N.array(y61).describe("Connections with their selected tools (behavior depends on tool_selection_mode)")}),jR0=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:yt.optional().default("passthrough").describe("Gateway behavior strategy (defaults to 'passthrough')"),tool_selection_mode:_t.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 default gateway 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)")}),CR0=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:yt.optional().describe("New gateway behavior strategy"),tool_selection_mode:_t.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 default gateway 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 b61,f61,bt;var IR0=y(()=>{$6();C1();ez();b61=N.object({data:jR0.describe("Data for the new gateway")}),f61=N.object({item:XW.describe("The created gateway entity")}),bt=w6({name:"COLLECTION_GATEWAY_CREATE",description:"Create a new MCP gateway in the organization",inputSchema:b61,outputSchema:f61,handler:async(Q,X)=>{y6(X);let Y=O1(X);await X.access.check();let J=VY(X);if(!J)throw Error("User ID required to create gateway");let G={title:Q.data.title,description:Q.data.description??null,toolSelectionStrategy:Q.data.tool_selection_strategy??"passthrough",toolSelectionMode:Q.data.tool_selection_mode??"inclusion",icon:Q.data.icon??null,status:Q.data.status,isDefault:Q.data.is_default??!1,connections:Q.data.connections.map((Z)=>({connectionId:Z.connection_id,selectedTools:Z.selected_tools??null,selectedResources:Z.selected_resources??null,selectedPrompts:Z.selected_prompts??null}))},W=await X.storage.gateways.create(Y.id,J,G);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((Z)=>({connection_id:Z.connectionId,selected_tools:Z.selectedTools,selected_resources:Z.selectedResources,selected_prompts:Z.selectedPrompts})),created_at:W.createdAt,updated_at:W.updatedAt,created_by:W.createdBy,updated_by:W.updatedBy??void 0}}}})});function h61(Q){let X=[],Y=0;while(Y<Q.length){let J=Q[Y];if(J==="%")X.push(".*");else if(J==="_")X.push(".");else if(/[.*+?^${}()|[\]\\]/.test(J))X.push("\\"+J);else X.push(J);Y++}return X.join("")}function o$(Q){return typeof Q==="string"||typeof Q==="number"}function ft(Q,X){let Y=X.split("."),J=Q;for(let G of Y){if(J==null||typeof J!=="object")return;J=J[G]}return J}function x61(Q,X){return Q.connections.some((Y)=>Y.connection_id===X)}function Yv(Q,X){if("conditions"in X){let{operator:$,conditions:K}=X;switch($){case"and":return K.every((H)=>Yv(Q,H));case"or":return K.some((H)=>Yv(Q,H));case"not":return!K.every((H)=>Yv(Q,H));default:return!0}}let{field:Y,operator:J,value:G}=X,W=Y.join(".");if(W==="connection_id"){if(J!=="eq"||typeof G!=="string")return!1;return x61(Q,G)}let Z=ft(Q,W);switch(J){case"eq":return Z===G;case"gt":return o$(Z)&&o$(G)&&Z>G;case"gte":return o$(Z)&&o$(G)&&Z>=G;case"lt":return o$(Z)&&o$(G)&&Z<G;case"lte":return o$(Z)&&o$(G)&&Z<=G;case"in":return Array.isArray(G)&&G.includes(Z);case"like":if(typeof Z!=="string"||typeof G!=="string")return!1;if(G.length>100)return!1;let $=h61(G);return new RegExp(`^${$}$`,"i").test(Z);case"contains":if(typeof Z!=="string"||typeof G!=="string")return!1;return Z.toLowerCase().includes(G.toLowerCase());default:return!0}}function g61(Q,X){return[...Q].sort((Y,J)=>{for(let G of X){let W=G.field.join("."),Z=ft(Y,W),$=ft(J,W),K=0;if(Z==null&&$==null)continue;if(Z==null)K=G.nulls==="first"?-1:1;else if($==null)K=G.nulls==="first"?1:-1;else if(typeof Z==="string"&&typeof $==="string")K=Z.localeCompare($);else if(typeof Z==="number"&&typeof $==="number")K=Z-$;else K=String(Z).localeCompare(String($));if(K!==0)return G.direction==="desc"?-K:K}return 0})}var u61,m61,ht;var RR0=y(()=>{a$();C1();ez();u61=xw,m61=gw(XW),ht=w6({name:"COLLECTION_GATEWAY_LIST",description:"List all MCP gateways in the organization",inputSchema:u61,outputSchema:m61,handler:async(Q,X)=>{await X.access.check();let Y=O1(X),J=Q.where&&!("conditions"in Q.where)&&Q.where.field.join(".")==="connection_id"&&Q.where.operator==="eq"&&typeof Q.where.value==="string"?Q.where.value:void 0,W=(J?await X.storage.gateways.listByConnectionId(Y.id,J):await X.storage.gateways.list(Y.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(Q.where)W=W.filter((V)=>Yv(V,Q.where));if(Q.orderBy&&Q.orderBy.length>0)W=g61(W,Q.orderBy);let Z=W.length,$=Q.offset??0,K=Q.limit??100,H=W.slice($,$+K),F=$+K<Z;return{items:H,totalCount:Z,hasMore:F}}})});var l61,d61,xt;var SR0=y(()=>{$6();C1();ez();l61=N.object({id:N.string().describe("ID of the gateway to retrieve")}),d61=N.object({item:XW.nullable().describe("The retrieved gateway, or null if not found")}),xt=w6({name:"COLLECTION_GATEWAY_GET",description:"Get an MCP gateway by ID",inputSchema:l61,outputSchema:d61,handler:async(Q,X)=>{y6(X);let Y=O1(X);await X.access.check();let J=await X.storage.gateways.findById(Q.id);if(J&&J.organizationId!==Y.id)return{item:null};if(!J)return{item:null};return{item:{id:J.id,title:J.title,description:J.description,icon:J.icon,organization_id:J.organizationId,tool_selection_strategy:J.toolSelectionStrategy,tool_selection_mode:J.toolSelectionMode,status:J.status,is_default:J.isDefault,connections:J.connections.map((G)=>({connection_id:G.connectionId,selected_tools:G.selectedTools,selected_resources:G.selectedResources,selected_prompts:G.selectedPrompts})),created_at:J.createdAt,updated_at:J.updatedAt,created_by:J.createdBy,updated_by:J.updatedBy??void 0}}}})});var p61,c61,gt;var kR0=y(()=>{$6();C1();ez();p61=N.object({id:N.string().describe("ID of the gateway to update"),data:CR0.describe("Partial gateway data to update")}),c61=N.object({item:XW.describe("The updated gateway entity")}),gt=w6({name:"COLLECTION_GATEWAY_UPDATE",description:"Update an MCP gateway",inputSchema:p61,outputSchema:c61,handler:async(Q,X)=>{y6(X);let Y=O1(X);await X.access.check();let J=VY(X);if(!J)throw Error("User ID required to update gateway");let G=await X.storage.gateways.findById(Q.id);if(!G)throw Error(`Gateway not found: ${Q.id}`);if(G.organizationId!==Y.id)throw Error(`Gateway not found: ${Q.id}`);let W={};if(Q.data.title!==void 0)W.title=Q.data.title;if(Q.data.description!==void 0)W.description=Q.data.description;if(Q.data.tool_selection_strategy!==void 0)W.toolSelectionStrategy=Q.data.tool_selection_strategy;if(Q.data.tool_selection_mode!==void 0)W.toolSelectionMode=Q.data.tool_selection_mode;if(Q.data.icon!==void 0)W.icon=Q.data.icon;if(Q.data.status!==void 0)W.status=Q.data.status;if(Q.data.is_default!==void 0)W.isDefault=Q.data.is_default;if(Q.data.connections!==void 0)W.connections=Q.data.connections.map(($)=>({connectionId:$.connection_id,selectedTools:$.selected_tools??null,selectedResources:$.selected_resources??null,selectedPrompts:$.selected_prompts??null}));let Z=await X.storage.gateways.update(Q.id,J,W);return{item:{id:Z.id,title:Z.title,description:Z.description,icon:Z.icon,organization_id:Z.organizationId,tool_selection_strategy:Z.toolSelectionStrategy,tool_selection_mode:Z.toolSelectionMode,status:Z.status,is_default:Z.isDefault,connections:Z.connections.map(($)=>({connection_id:$.connectionId,selected_tools:$.selectedTools,selected_resources:$.selectedResources,selected_prompts:$.selectedPrompts})),created_at:Z.createdAt,updated_at:Z.updatedAt,created_by:Z.createdBy,updated_by:Z.updatedBy??void 0}}}})});var n61,i61,ut;var vR0=y(()=>{$6();C1();ez();n61=N.object({id:N.string().describe("ID of the gateway to delete")}),i61=N.object({item:XW.describe("The deleted gateway entity")}),ut=w6({name:"COLLECTION_GATEWAY_DELETE",description:"Delete an MCP gateway",inputSchema:n61,outputSchema:i61,handler:async(Q,X)=>{y6(X);let Y=O1(X);await X.access.check();let J=await X.storage.gateways.findById(Q.id);if(!J)throw Error(`Gateway not found: ${Q.id}`);if(J.organizationId!==Y.id)throw Error(`Gateway not found: ${Q.id}`);if(J.isDefault)throw Error("Cannot delete the default gateway. Set another gateway as default first.");return await X.storage.gateways.delete(Q.id),{item:{id:J.id,title:J.title,description:J.description,icon:J.icon,organization_id:J.organizationId,tool_selection_strategy:J.toolSelectionStrategy,tool_selection_mode:J.toolSelectionMode,status:J.status,is_default:J.isDefault,connections:J.connections.map((G)=>({connection_id:G.connectionId,selected_tools:G.selectedTools,selected_resources:G.selectedResources,selected_prompts:G.selectedPrompts})),created_at:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt,updated_at:J.updatedAt instanceof Date?J.updatedAt.toISOString():J.updatedAt,created_by:J.createdBy,updated_by:J.updatedBy??void 0}}}})});var _R0=y(()=>{IR0();RR0();SR0();kR0();vR0()});var r61,mt;var yR0=y(()=>{C1();$6();r61=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")}),mt=w6({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")}),outputSchema:N.object({logs:N.array(r61).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(Q,X)=>{let J={organizationId:O1(X).id,connectionId:Q.connectionId,gatewayId:Q.gatewayId,toolName:Q.toolName,isError:Q.isError,startDate:Q.startDate?new Date(Q.startDate):void 0,endDate:Q.endDate?new Date(Q.endDate):void 0,limit:Q.limit,offset:Q.offset},G=await X.storage.monitoring.query(J);return{logs:G.logs.map((W)=>({...W,timestamp:W.timestamp instanceof Date?W.timestamp.toISOString():W.timestamp})),total:G.total,offset:Q.offset,limit:Q.limit}}})});var lt;var bR0=y(()=>{C1();$6();lt=w6({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(Q,X)=>{let J={organizationId:O1(X).id,startDate:Q.startDate?new Date(Q.startDate):void 0,endDate:Q.endDate?new Date(Q.endDate):void 0},G=await X.storage.monitoring.getStats(J);return{...G,errorRatePercent:(G.errorRate*100).toFixed(2)}}})});var fR0=y(()=>{yR0();bR0()});var dt;var hR0=y(()=>{$6();C1();dt=w6({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.union([N.date(),N.string()]),members:N.array(N.any()).optional()}),handler:async(Q,X)=>{y6(X),await X.access.check();let Y=VY(X);if(!Y)throw Error("User ID required to create organization");let J=await X.boundAuth.organization.create({name:Q.name,slug:Q.slug,metadata:Q.description?{description:Q.description}:void 0,userId:Y});if(!J)throw Error("Failed to create organization");return J}})});var pt;var xR0=y(()=>{$6();C1();pt=w6({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.union([N.date(),N.string()])}))}),handler:async(Q,X)=>{y6(X),await X.access.check();let Y=VY(X),J=Q.userId||Y;if(!J)throw Error("User ID required to list organizations");return{organizations:await X.boundAuth.organization.list(J)}}})});var ct;var gR0=y(()=>{$6();C1();ct=w6({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.union([N.date(),N.string()]),members:N.array(N.any()).optional(),invitations:N.array(N.any()).optional()}),handler:async(Q,X)=>{y6(X),await X.access.check();let Y=await X.boundAuth.organization.get();if(!Y)throw Error("No active organization found");return Y}})});var nt;var uR0=y(()=>{$6();C1();nt=w6({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.union([N.date(),N.string()])}),handler:async(Q,X)=>{y6(X),await X.access.check();let Y={};if(Q.name)Y.name=Q.name;if(Q.slug)Y.slug=Q.slug;if(Q.description)Y.metadata={description:Q.description};let J=await X.boundAuth.organization.update({organizationId:Q.id,data:Y});if(!J)throw Error("Failed to update organization");return J}})});var it;var mR0=y(()=>{$6();C1();it=w6({name:"ORGANIZATION_DELETE",description:"Delete an organization",inputSchema:N.object({id:N.string()}),outputSchema:N.object({success:N.boolean(),id:N.string()}),handler:async(Q,X)=>{return y6(X),await X.access.check(),await X.boundAuth.organization.delete(Q.id),{success:!0,id:Q.id}}})});var ew;var at=y(()=>{$6();ew=N.object({title:N.string(),url:N.string(),icon:N.string()})});var rt;var lR0=y(()=>{$6();C1();at();rt=w6({name:"ORGANIZATION_SETTINGS_GET",description:"Get organization-level settings",inputSchema:N.object({}),outputSchema:N.object({organizationId:N.string(),sidebar_items:N.array(ew).nullable().optional(),createdAt:N.union([N.date(),N.string()]).optional(),updatedAt:N.union([N.date(),N.string()]).optional()}),handler:async(Q,X)=>{y6(X),await X.access.check();let Y=X.organization?.id;if(!Y)throw Error("Organization ID required (no active organization in context)");let J=await X.storage.organizationSettings.get(Y);if(!J)return{organizationId:Y};return J}})});var ot;var dR0=y(()=>{$6();C1();at();ot=w6({name:"ORGANIZATION_SETTINGS_UPDATE",description:"Update organization-level settings",inputSchema:N.object({organizationId:N.string(),sidebar_items:N.array(ew).optional()}),outputSchema:N.object({organizationId:N.string(),sidebar_items:N.array(ew).nullable().optional(),createdAt:N.union([N.date(),N.string()]),updatedAt:N.union([N.date(),N.string()])}),handler:async(Q,X)=>{if(y6(X),await X.access.check(),X.organization&&X.organization.id!==Q.organizationId)throw Error("Cannot update settings for a different organization");return await X.storage.organizationSettings.upsert(Q.organizationId,{sidebar_items:Q.sidebar_items})}})});var st;var pR0=y(()=>{$6();C1();st=w6({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.union([N.date(),N.string()])}),handler:async(Q,X)=>{y6(X),await X.access.check();let Y=Q.organizationId||X.organization?.id;if(!Y)throw Error("Organization ID required (no active organization in context)");let J=await X.boundAuth.organization.addMember({organizationId:Y,userId:Q.userId,role:Q.role});if(!J)throw Error("Failed to add member");return J}})});var tt;var cR0=y(()=>{$6();C1();tt=w6({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(Q,X)=>{y6(X),await X.access.check();let Y=Q.organizationId||X.organization?.id;if(!Y)throw Error("Organization ID required (no active organization in context)");return await X.boundAuth.organization.removeMember({organizationId:Y,memberIdOrEmail:Q.memberIdOrEmail}),{success:!0,memberIdOrEmail:Q.memberIdOrEmail}}})});var et;var nR0=y(()=>{$6();C1();et=w6({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.union([N.date(),N.string()]),user:N.object({id:N.string(),name:N.string(),email:N.string(),image:N.string().optional()}).optional()}))}),handler:async(Q,X)=>{y6(X),await X.access.check();let Y=X.organization?.id;if(!Y)throw Error("Organization ID required (no active organization in context)");let J=await X.boundAuth.organization.listMembers({organizationId:Y,limit:Q.limit,offset:Q.offset});return{members:Array.isArray(J)?J:[]}}})});var Qe;var iR0=y(()=>{$6();C1();Qe=w6({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.union([N.date(),N.string()]),user:N.object({email:N.string(),name:N.string(),image:N.string().optional()})}),handler:async(Q,X)=>{y6(X),await X.access.check();let Y=Q.organizationId||X.organization?.id;if(!Y)throw Error("Organization ID required (no active organization in context)");let J=await X.boundAuth.organization.updateMemberRole({organizationId:Y,memberId:Q.memberId,role:Q.role});if(!J)throw Error("Failed to update member role");return J}})});var aR0=y(()=>{hR0();xR0();gR0();uR0();mR0();lR0();dR0();pR0();cR0();nR0();iR0()});var oR0={};U1(oR0,{managementMCP:()=>Xe,ALL_TOOLS:()=>rR0});var rR0,Xe=(Q)=>{let X=rR0.map((J)=>({name:J.name,description:J.description,inputSchema:J.inputSchema,outputSchema:J.outputSchema,handler:async(G)=>{return Q.access.setToolName(J.name),await J.execute(G,Q)}}));return Fj0({name:"mcp-mesh-management",version:"1.0.0"}).withTools(X).build()};var Ye=y(()=>{Vj0();wI0();VR0();BR0();ER0();_R0();fR0();aR0();rR0=[dt,pt,ct,nt,it,rt,ot,st,tt,et,Qe,ss,Lt,wt,Tt,At,Et,bt,ht,xt,gt,ut,UR0,mt,lt,is,rs,os,as,jt,Ct,It,Rt,St,kt,vt]});function t61(){return[{permissions:{self:["*"]},getTools:async()=>{let{ALL_TOOLS:Q}=await Promise.resolve().then(() => (Ye(),oR0));return Q.map((X)=>{return{name:X.name,inputSchema:N.toJSONSchema(X.inputSchema,{unrepresentable:"any"}),outputSchema:X.outputSchema?N.toJSONSchema(X.outputSchema,{unrepresentable:"any"}):void 0,description:X.description}})},data:uO0(process.env.BASE_URL||"http://localhost:3000")},{data:gO0()}]}async function sR0(Q,X){try{let Y=H3(),J=new ML(process.env.ENCRYPTION_KEY||""),G=new PL(Y.db,J),W=new TL(Y.db),Z=t61(),$=[];await Promise.all(Z.map(async(K)=>{let H=null;if(K.permissions)H=(await k5.api.createApiKey({body:{name:`${K.data.app_name??crypto.randomUUID()}-mcp`,userId:X,permissions:K.permissions,rateLimitEnabled:!1,metadata:{organization:{id:Q},purpose:"default-org-connections"}}}))?.key;let F=await K.getTools?.()??await xz({id:"pending",title:K.data.title,connection_type:K.data.connection_type,connection_url:K.data.connection_url,connection_token:K.data.connection_token,connection_headers:K.data.connection_headers}).catch(()=>null),V=K.data.id?`${Q}_${K.data.id}`:void 0,q=await G.create({...K.data,id:V,tools:F,organization_id:Q,created_by:X,connection_token:K.data.connection_token??H});$.push(q.id)})),await W.create(Q,X,{title:"Default Gateway",description:"Auto-created gateway for organization",toolSelectionStrategy:"passthrough",toolSelectionMode:"exclusion",status:"active",isDefault:!0,connections:$.map((K)=>({connectionId:K}))})}catch(Y){console.error("Error creating default MCP connections:",Y)}}var tR0=y(()=>{E$();LL();ti();ei();Qa();fk();$6();QU()});var Je,eR0;var Ge=y(()=>{Je=["owner","admin","user"],eR0=["owner","admin"]});var e61=(Q)=>{return{defaultSSO:[{domain:Q.domain,providerId:Q.providerId,oidcConfig:{issuer:`https://login.microsoftonline.com/${Q.MS_TENANT_ID}/v2.0`,pkce:!0,clientId:Q.MS_CLIENT_ID,clientSecret:Q.MS_CLIENT_SECRET,discoveryEndpoint:`https://login.microsoftonline.com/${Q.MS_TENANT_ID}/v2.0/.well-known/openid-configuration`,authorizationEndpoint:`https://login.microsoftonline.com/${Q.MS_TENANT_ID}/oauth2/v2.0/authorize`,tokenEndpoint:`https://login.microsoftonline.com/${Q.MS_TENANT_ID}/oauth2/v2.0/token`,jwksEndpoint:`https://login.microsoftonline.com/${Q.MS_TENANT_ID}/discovery/v2.0/keys`,userInfoEndpoint:"https://graph.microsoft.com/oidc/userinfo",tokenEndpointAuthentication:"client_secret_post",scopes:Q.scopes,mapping:{id:"sub",email:"email",emailVerified:"email_verified",name:"name",image:"picture",extraFields:{emailVerified:"email_verified"}}}}]}},QS0=(Q)=>{if(Q.providerId==="microsoft")return e61(Q);throw Error(`Unsupported provider: ${Q.providerId}`)};function Q11(Q){return Q.toLowerCase().trim().replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function X11(){let Q=Math.floor(Math.random()*YS0.length),X=Math.floor(Math.random()*XS0.length),Y=YS0[Q]??"deco",J=XS0[X]??"studio";return`${Y}-${J}`}var XS0,YS0,Y11,J11,Jv,G11,W11,Z11,JS0,o8,GS0=void 0,$11,K11,H11,k5;var QU=y(()=>{tm();Lz0();WB0();gc();Fi();sB0();Vi();GD0();LL();si();fO0();tR0();Ge();XS0=["labs","hub","studio","workspace","systems","core","cloud","works"],YS0=["capybara","guarana","deco","samba","feijoada","capoeira","carnival"];Y11=Object.values(PN()).map((Q)=>Q.map((X)=>X.name)).flat(),J11={...NR,self:["*",...Y11]},Jv=dG(J11),G11=Jv.newRole({self:["*"],...QL.statements}),W11=Jv.newRole({self:["*"],...QL.statements}),Z11=Jv.newRole({self:["*"],...QL.statements}),JS0=Object.values(PN()).map((Q)=>Q.map((X)=>`self:${X.name}`)).flat(),o8=_R.auth;if(o8.inviteEmailProviderId&&o8.emailProviders&&o8.emailProviders.length>0){let Q=nR(o8.emailProviders,o8.inviteEmailProviderId);if(Q){let X=cR(Q);GS0=async(Y)=>{let J=Y.inviter.user?.name||Y.inviter.user?.email,G=`${process.env.BASE_URL||"http://localhost:3000"}/auth/accept-invitation?invitationId=${Y.invitation.id}`;await X({to:Y.email,subject:`Invitation to join ${Y.organization.name}`,html:`
|
|
990
990
|
<h2>You've been invited!</h2>
|
|
991
991
|
<p>${J} has invited you to join <strong>${Y.organization.name}</strong>.</p>
|
|
992
992
|
<p><a href="${G}">Click here to accept the invitation</a></p>
|