@decocms/mesh 2.29.1 → 2.29.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/dist/client/assets/{AlertCircle-B2wU6D_n.js → AlertCircle-BjDAjYli.js} +1 -1
  2. package/dist/client/assets/{ArrowLeft-NyHGzvbe.js → ArrowLeft-C3b0kZkv.js} +1 -1
  3. package/dist/client/assets/{ArrowUp-C6Sqn9AG.js → ArrowUp-UuyzMrp7.js} +1 -1
  4. package/dist/client/assets/{Check-D3xuSVGj.js → Check-BBlt8nj4.js} +1 -1
  5. package/dist/client/assets/{ChevronDown-C-3EfjEP.js → ChevronDown-C2nnNiko.js} +1 -1
  6. package/dist/client/assets/{Code01-DfyMLaC-.js → Code01-BkX8PbNA.js} +1 -1
  7. package/dist/client/assets/{Copy01-Dc1RdJpq.js → Copy01-eVnag3mk.js} +1 -1
  8. package/dist/client/assets/{DotsHorizontal-B2UMMt8A.js → DotsHorizontal-D8Oa-FB4.js} +1 -1
  9. package/dist/client/assets/{DotsVertical-DvDijuvP.js → DotsVertical-Cl1hRwhg.js} +1 -1
  10. package/dist/client/assets/{Download01-CkMxNb0B.js → Download01-BW7f1rv9.js} +1 -1
  11. package/dist/client/assets/{Edit01-L4Nnr0QQ.js → Edit01-C2f_e3xp.js} +1 -1
  12. package/dist/client/assets/{File06-CBX_wyuh.js → File06-D5XMLdKt.js} +1 -1
  13. package/dist/client/assets/{FilterLines-CDH3HxTZ.js → FilterLines-ZY2ZET-V.js} +1 -1
  14. package/dist/client/assets/{FlipBackward-BEzqS8y7.js → FlipBackward-BX_e7PV2.js} +1 -1
  15. package/dist/client/assets/{GitBranch01-XjgV7Utb.js → GitBranch01-BBkuZ0g6.js} +1 -1
  16. package/dist/client/assets/{Grid01-Bdr8TdFN.js → Grid01-uChhmLMS.js} +1 -1
  17. package/dist/client/assets/{Home02-DCkHxmzr.js → Home02-C3AGNyGt.js} +1 -1
  18. package/dist/client/assets/{Image01-Cz2WeHIZ.js → Image01-Ca9fCk1g.js} +1 -1
  19. package/dist/client/assets/{Inbox01-Bl63CjOF.js → Inbox01-7yaEdhih.js} +1 -1
  20. package/dist/client/assets/{InfoCircle-nAODGDfn.js → InfoCircle-ZFVXEe-o.js} +1 -1
  21. package/dist/client/assets/{Key01-CohHKaNI.js → Key01-BVzZzDXG.js} +1 -1
  22. package/dist/client/assets/{LinkExternal01-BVGqLQdf.js → LinkExternal01-DYbIdjWG.js} +1 -1
  23. package/dist/client/assets/{List-BiMBtc9h.js → List-DTNJ5e_Z.js} +1 -1
  24. package/dist/client/assets/{Loading01-BGMvClGA.js → Loading01-CVbOjnPi.js} +1 -1
  25. package/dist/client/assets/{Lock01-DkDYnCig.js → Lock01-Irv7dEl1.js} +1 -1
  26. package/dist/client/assets/{Play-D6WkVhCH.js → Play-el8E8avm.js} +1 -1
  27. package/dist/client/assets/{Plus-DOLhHKPS.js → Plus-jsBXu2Jm.js} +1 -1
  28. package/dist/client/assets/{SearchMd-wW0y4rSg.js → SearchMd-CDx95UHX.js} +1 -1
  29. package/dist/client/assets/{Terminal-wdncdOY3.js → Terminal-C4vz1dQ0.js} +1 -1
  30. package/dist/client/assets/{Trash01-uBQo4R5K.js → Trash01-hrLLpuYX.js} +1 -1
  31. package/dist/client/assets/{Upload01-DrOTJQud.js → Upload01-CdFUIAAb.js} +1 -1
  32. package/dist/client/assets/{X-BsuyfM7l.js → X-Bp6jT_CT.js} +1 -1
  33. package/dist/client/assets/{XClose-D2cxj93b.js → XClose-ChfIwjbU.js} +1 -1
  34. package/dist/client/assets/{agent-detail-VQXvW-QJ.js → agent-detail-BvL0RN-C.js} +1 -1
  35. package/dist/client/assets/{agents-D6fLoeau.js → agents-CDU0paf2.js} +1 -1
  36. package/dist/client/assets/{alert-dialog-njkM7m-D.js → alert-dialog-5F29h7ch.js} +1 -1
  37. package/dist/client/assets/{auth-catchall-BgrOMedF.js → auth-catchall-BnUTAkiU.js} +1 -1
  38. package/dist/client/assets/{avatar-DN0XBse5.js → avatar-_fJCi1jf.js} +1 -1
  39. package/dist/client/assets/{badge-C4NA8Y3o.js → badge-DIpSEo79.js} +1 -1
  40. package/dist/client/assets/{binder-Kl7aT5vq.js → binder-QE3BUq_4.js} +1 -1
  41. package/dist/client/assets/{button-BvR2W8G4.js → button-BID2CMhP.js} +1 -1
  42. package/dist/client/assets/{card-COq6R1Ol.js → card-6juGo41K.js} +1 -1
  43. package/dist/client/assets/{checkbox-eVOKaait.js → checkbox-BR6ZWQcp.js} +1 -1
  44. package/dist/client/assets/{collection-detail-BIHW3g46.js → collection-detail-DdU0S4bC.js} +1 -1
  45. package/dist/client/assets/{collection-display-button-BCRnx64a.js → collection-display-button-CES97i9G.js} +1 -1
  46. package/dist/client/assets/{collection-header-BfyNoDrz.js → collection-header-C2jCnQ0V.js} +1 -1
  47. package/dist/client/assets/{collection-page-DGdU_exK.js → collection-page-DQBRHwuf.js} +1 -1
  48. package/dist/client/assets/{collection-search-DqgXXQWv.js → collection-search-CYQ70Hoa.js} +1 -1
  49. package/dist/client/assets/{collection-tab-WUfWVMgI.js → collection-tab-5E9Q1B_9.js} +1 -1
  50. package/dist/client/assets/{collection-table-wrapper-bSjbJgfa.js → collection-table-wrapper-CVkp-9hJ.js} +1 -1
  51. package/dist/client/assets/{connection-sopQjWTN.js → connection-CzagOXhI.js} +1 -1
  52. package/dist/client/assets/{connection-card-D5GbzeyC.js → connection-card-De1P7KUX.js} +1 -1
  53. package/dist/client/assets/{connection-detail-DzUcsbPz.js → connection-detail-C6yPmWnc.js} +1 -1
  54. package/dist/client/assets/{connections-DmmC3rw3.js → connections-JU4CGCz5.js} +1 -1
  55. package/dist/client/assets/constants-VQyKSexs.js +1 -0
  56. package/dist/client/assets/{create-organization-dialog-nASMtJST.js → create-organization-dialog-DjIYezTr.js} +1 -1
  57. package/dist/client/assets/{dialog-B904z6ZY.js → dialog-N6lD2G23.js} +1 -1
  58. package/dist/client/assets/{dropdown-menu-BnIr5Jx8.js → dropdown-menu-CZuHPcK3.js} +1 -1
  59. package/dist/client/assets/{dynamic-plugin-layout-DahJzuQA.js → dynamic-plugin-layout-D2QU16mz.js} +1 -1
  60. package/dist/client/assets/{empty-state-CVynnCY5.js → empty-state-B2MmEXSc.js} +1 -1
  61. package/dist/client/assets/{empty-state-Dw5rHePk.js → empty-state-aph8hymo.js} +1 -1
  62. package/dist/client/assets/{env-vars-editor-C4fVY6WB.js → env-vars-editor-Bw5ArpUL.js} +1 -1
  63. package/dist/client/assets/{error-boundary-BQAARcQ8.js → error-boundary-BSc3aikh.js} +1 -1
  64. package/dist/client/assets/{extract-connection-data-BOG_2a3a.js → extract-connection-data-DsBhcJbM.js} +1 -1
  65. package/dist/client/assets/{file-browser-DW8BOHM2.js → file-browser-C7oCWAQD.js} +2 -2
  66. package/dist/client/assets/{form-SKjUzorv.js → form-R15NVDAL.js} +1 -1
  67. package/dist/client/assets/{grid-view-CEUpbNrR.js → grid-view-CW_NhGu9.js} +1 -1
  68. package/dist/client/assets/{home-Cqfqey-F.js → home-QfrULyzV.js} +1 -1
  69. package/dist/client/assets/{index-sI-UsvfH.js → index-BfX1PMhV.js} +1 -1
  70. package/dist/client/assets/{index-DEnww9gD.js → index-C0cxXUhv.js} +2 -2
  71. package/dist/client/assets/{index-BGkDS5MK.js → index-DJuj6s5W.js} +1 -1
  72. package/dist/client/assets/{index-DSRGhYN3.js → index-kNWs-Kaj.js} +1 -1
  73. package/dist/client/assets/{index-D4KRNGOL.js → index-wl-vFw7b.js} +1 -1
  74. package/dist/client/assets/{infiniteQueryObserver-CGYWk_ac.js → infiniteQueryObserver-CzQcKMvF.js} +1 -1
  75. package/dist/client/assets/{input-DgTGe31P.js → input-DHdPZHvh.js} +1 -1
  76. package/dist/client/assets/{layout-BIa7Ww4X.js → layout-DVqtFrGe.js} +1 -1
  77. package/dist/client/assets/{localstorage-keys-D17OGozQ.js → localstorage-keys-CySryjw_.js} +1 -1
  78. package/dist/client/assets/{login-B5xXqMPx.js → login-DK-wLmSi.js} +1 -1
  79. package/dist/client/assets/{mcp-oauth-dZd55Tzg.js → mcp-oauth-C_uVzdje.js} +1 -1
  80. package/dist/client/assets/{mcp-server-card-DJM3hj-p.js → mcp-server-card-utdZ5S32.js} +1 -1
  81. package/dist/client/assets/{mcp-server-detail-DLyr08JI.js → mcp-server-detail-MhY6fdyG.js} +1 -1
  82. package/dist/client/assets/{members-CyhMUe46.js → members-BM4vbqXY.js} +1 -1
  83. package/dist/client/assets/{monaco-editor-DqozmIOD.js → monaco-editor-Bvv8L85C.js} +1 -1
  84. package/dist/client/assets/{monitoring-CnFXHSqu.js → monitoring-CaEhdIcr.js} +1 -1
  85. package/dist/client/assets/{oauth-callback-CubY7ZAH.js → oauth-callback-HFODG9C4.js} +1 -1
  86. package/dist/client/assets/{page-DFKun2Tu.js → page-0IgoQPj0.js} +1 -1
  87. package/dist/client/assets/{page-u6lkgihQ.js → page-BbtKYCEh.js} +1 -1
  88. package/dist/client/assets/{pin-to-sidebar-button-BGiKx435.js → pin-to-sidebar-button-BTWnJIgz.js} +1 -1
  89. package/dist/client/assets/{plugin-empty-state-C6RQEnQT.js → plugin-empty-state-LAcvmaUO.js} +1 -1
  90. package/dist/client/assets/{plugin-header-BIVYVkxH.js → plugin-header-CIa7SNC1.js} +1 -1
  91. package/dist/client/assets/{plugins-CgIotr1d.js → plugins-Zgv-qqyu.js} +1 -1
  92. package/dist/client/assets/{popover-Dn4ivO-8.js → popover-ffhxj7L9.js} +1 -1
  93. package/dist/client/assets/{project-context-provider-D72115Hk.js → project-context-provider-CG5Jt9jX.js} +1 -1
  94. package/dist/client/assets/{registry-utils-BP4AlvoC.js → registry-utils-Cqqa8TSE.js} +1 -1
  95. package/dist/client/assets/{resizable-CvvIJMA2.js → resizable-e7LRtN-0.js} +1 -1
  96. package/dist/client/assets/{resource-tabs-BIg7eAtK.js → resource-tabs-B6SPH4Q6.js} +1 -1
  97. package/dist/client/assets/{schema-uDdRhKGN.js → schema-BesiDnBO.js} +1 -1
  98. package/dist/client/assets/{select-B9MrHEQV.js → select-Cd19OBy8.js} +1 -1
  99. package/dist/client/assets/{settings-Q3YU3dT_.js → settings-DgjJ7rwy.js} +1 -1
  100. package/dist/client/assets/shell-layout-C4m50Amb.js +3 -0
  101. package/dist/client/assets/{spinner-D65UOVx5.js → spinner-B3XPkxOB.js} +1 -1
  102. package/dist/client/assets/{switch-CRRx7Ihv.js → switch-rXNPyRWr.js} +1 -1
  103. package/dist/client/assets/{textarea-CPHR6Kxa.js → textarea-B0dfI4Xu.js} +1 -1
  104. package/dist/client/assets/{tool-set-selector-CCX0O6mj.js → tool-set-selector-DCV0H2hh.js} +1 -1
  105. package/dist/client/assets/{tools-list-CXNtlBT4.js → tools-list-DcCgeTm7.js} +1 -1
  106. package/dist/client/assets/{tooltip-D08WG2Dp.js → tooltip-BpIeWmG3.js} +1 -1
  107. package/dist/client/assets/{typewriter-title-CwCkt48S.js → typewriter-title-vmu3HKS1.js} +1 -1
  108. package/dist/client/assets/{use-binding-B3nCylWG.js → use-binding-CmWOKG-X.js} +1 -1
  109. package/dist/client/assets/{use-collections-GcxvTgiJ.js → use-collections-BRVu5nwP.js} +1 -1
  110. package/dist/client/assets/{use-connection-CkN55J_1.js → use-connection-D__nfNf6.js} +1 -1
  111. package/dist/client/assets/{use-connection-resources-D2edaHva.js → use-connection-resources-CaArMBqO.js} +1 -1
  112. package/dist/client/assets/{use-create-virtual-mcp-D-dhpSeW.js → use-create-virtual-mcp-CULFY9tZ.js} +1 -1
  113. package/dist/client/assets/{use-list-state-BRnheB8y.js → use-list-state-D7wpG1Rh.js} +1 -1
  114. package/dist/client/assets/{use-mcp-BQQPfGWJ.js → use-mcp-DsR0-4yM.js} +1 -1
  115. package/dist/client/assets/{use-members-DYIVgUcO.js → use-members-BTTcGaAb.js} +1 -1
  116. package/dist/client/assets/{use-mobile-CfOQmwhW.js → use-mobile-Bw0zGvKx.js} +1 -1
  117. package/dist/client/assets/{use-organization-settings-XdMGyJnx.js → use-organization-settings-DYYG9Qqm.js} +1 -1
  118. package/dist/client/assets/{use-tool-call-PpVkvWqr.js → use-tool-call-DdCnWg9K.js} +1 -1
  119. package/dist/client/assets/{use-virtual-mcp-BjvB4zxw.js → use-virtual-mcp-aCxo16E3.js} +1 -1
  120. package/dist/client/assets/{use-virtual-mcp-system-prompt-nay7WZGK.js → use-virtual-mcp-system-prompt-Be4EZZHh.js} +1 -1
  121. package/dist/client/assets/useInfiniteQuery-Dee7xpCM.js +1 -0
  122. package/dist/client/assets/{useMutation-BwDH9xn6.js → useMutation-DujnxbMG.js} +1 -1
  123. package/dist/client/assets/useQuery-CENoGrPp.js +1 -0
  124. package/dist/client/assets/{value-ClLnPq5S.js → value-BpSoQ0Q3.js} +1 -1
  125. package/dist/client/assets/{view-mode-toggle-DO5T8Hqo.js → view-mode-toggle--WEYRZgf.js} +1 -1
  126. package/dist/client/assets/{workflow-CfVwecJB.js → workflow-DtxWy1GI.js} +1 -1
  127. package/dist/client/index.html +1 -1
  128. package/dist/server/cli.js +1 -1
  129. package/dist/server/migrate.js +1 -1
  130. package/dist/server/server.js +1 -1
  131. package/package.json +1 -1
  132. package/dist/client/assets/constants-hDYh8bMu.js +0 -1
  133. package/dist/client/assets/shell-layout-BHlunMbQ.js +0 -3
  134. package/dist/client/assets/useInfiniteQuery-ft5Nm7Gb.js +0 -1
  135. package/dist/client/assets/useQuery-DqDScg2z.js +0 -1
@@ -269,7 +269,7 @@ ${Y.stack}`;return Q}try{let G=JSON.stringify(Y,null,2);if(G!=="{}"&&G.length<10
269
269
  Stack trace:
270
270
  ${Y.stack}`;return G}}catch{}if(typeof Y.toString==="function")try{let G=Y.toString();if(G!=="[object Object]")return G}catch{}let J=Object.keys(Y);if(J.length>0)return`Object with keys: ${J.join(", ")}`;return"[object Object]"}if(typeof X==="string")return X;if(typeof X==="number"||typeof X==="boolean")return String(X);if(typeof X==="function")return`[Function: ${X.name||"anon"}]`;if(typeof X==="symbol")return X.toString();if(typeof X==="bigint")return X.toString();try{return String(X)}catch{return"Unknown value (could not convert to string)"}}function iz(X,Y){switch(typeof Y){case"string":return X.newString(Y);case"number":return X.newNumber(Y);case"boolean":return Y?X.true:X.false;case"undefined":return X.undefined;case"object":{if(Y===null)return X.null;if(Array.isArray(Y)){let J=X.newArray();return Y.forEach((G,W)=>{let Z=iz(X,G);try{X.setProp(J,String(W),Z)}finally{Z.dispose?.()}}),J}let Q=X.newObject();for(let[J,G]of Object.entries(Y)){let W=iz(X,G);try{X.setProp(Q,J,W)}finally{W.dispose?.()}}return Q}case"function":{let Q=`__hostFn_${Date.now()}_${Math.random().toString(36).substr(2,9)}`;return X.newFunction(Q,(...G)=>{try{let W=G.map(($)=>X.dump($)),Z=Y(...W);if(Z&&typeof Z.then==="function"){let $=X.newPromise();return Z.then((K)=>{try{let H=iz(X,K);$.resolve(H),H.dispose(),X.runtime.executePendingJobs()}catch(H){let F=nz(H),V=X.newString(`Promise resolution error: ${F}`);$.reject(V),V.dispose(),X.runtime.executePendingJobs()}}).catch((K)=>{let H=nz(K),F=X.newString(`Promise rejection: ${H}`);$.reject(F),F.dispose(),X.runtime.executePendingJobs()}),$.handle}return iz(X,Z)}catch(W){let Z=nz(W);return X.newString(`HostFunctionError: ${Z}`)}finally{G.forEach((W)=>W.dispose())}})}case"bigint":return X.newString(Y.toString());case"symbol":return X.newString(Y.toString());default:try{return X.newString(String(Y))}catch{return X.undefined}}}var a91=()=>{};function o91(X){let Y=X.runtime.executePendingJobs(100);try{if("unwrap"in Y&&typeof Y.unwrap==="function")Y.unwrap()}finally{if("dispose"in Y&&typeof Y.dispose==="function")Y.dispose()}}async function r91(X,Y,Q){let J=Date.now(),G=X.resolvePromise(Y);while(!0){o91(X);let W=await Promise.race([G,pS6(0).then(()=>null)]);if(W!==null)return W;if(Date.now()-J>Q)throw Error(`Timed out after ${Q}ms while awaiting a QuickJS promise`)}}async function s40({tools:X,code:Y,timeoutMs:Q}){let Z=[];try{let J=await n91({memoryLimitBytes:33554432,stackSizeBytes:524288});const G=lb(Z,J.newContext({interruptAfterMs:Q}),0);const W=lb(Z,L91(G),0);try{let F=G.evalCode(Y,"index.mjs",{strip:!0,strict:!0,type:"module"}),V=G.unwrapResult(F),q=iz(G,X);G.setProp(G.global,"tools",q);let z=G.runtime.hasPendingJob()?G.unwrapResult(await r91(G,V,Q)):V;if(z!==V)V.dispose();let D=G.getProp(z,"default"),N=G.typeof(D);if(N!=="function")return{error:`Code must export default a function (tools). Got ${N}. Example: export default async (tools) => { /* ... */ }`,consoleLogs:W.logs};let L=G.callFunction(D,G.undefined,q),w=G.unwrapResult(L),C=await r91(G,w,Q),A=G.unwrapResult(C);if(G.runtime.hasPendingJob())o91(G);return{returnValue:G.dump(A),consoleLogs:W.logs}}catch(F){return console.log(F),{error:nz(F),consoleLogs:W.logs}}}catch($){var K=$,H=1}finally{VY0(Z,K,H)}}var pS6=(X)=>new Promise((Y)=>setTimeout(Y,X));var s91=a(()=>{i91();a91()});var t91=a(()=>{s91()});async function cS6(X,Y){let Q;if(X.tool_selection_mode==="exclusion"){let G=(await Y.storage.connections.list(X.organization_id)).filter((Z)=>Z.status==="active"),W=new Map;for(let Z of X.connections)W.set(Z.connection_id,{selectedTools:Z.selected_tools,selectedResources:Z.selected_resources,selectedPrompts:Z.selected_prompts});Q=[];for(let Z of G){let $=W.get(Z.id);if($===void 0)Q.push({connection:Z,selectedTools:null,selectedResources:null,selectedPrompts:null});else if(($.selectedTools===null||$.selectedTools.length===0)&&($.selectedResources===null||$.selectedResources.length===0)&&($.selectedPrompts===null||$.selectedPrompts.length===0));else Q.push({connection:Z,selectedTools:$.selectedTools,selectedResources:$.selectedResources,selectedPrompts:$.selectedPrompts})}}else{let J=X.connections.map((W)=>W.connection_id),G=[];for(let W of J){let Z=await Y.storage.connections.findById(W);if(Z&&Z.status==="active")G.push(Z)}Q=G.map((W)=>{let Z=X.connections.find(($)=>$.connection_id===W.id);return{connection:W,selectedTools:Z?.selected_tools??null,selectedResources:Z?.selected_resources??null,selectedPrompts:Z?.selected_prompts??null}})}return Q}async function e91(X,Y){return(await Y.storage.connections.list(X)).filter((J)=>J.status==="active").map((J)=>({connection:J,selectedTools:null,selectedResources:null,selectedPrompts:null}))}async function nS6(X,Y,Q){let J=await pz.create(X,Q),G=await J.mapSettled(async(F,V)=>{try{let z=(await F.proxy.client.listTools()).tools;if(Y==="exclusion"){if(F.selectedTools&&F.selectedTools.length>0){let D=new Set(F.selectedTools);z=z.filter((N)=>!D.has(N.name))}}else if(F.selectedTools&&F.selectedTools.length>0){let D=new Set(F.selectedTools);z=z.filter((N)=>D.has(N.name))}return{connectionId:V,connectionTitle:F.connection.title,tools:z}}catch(q){return console.error(`[code-execution] Failed to list tools for connection ${V}:`,q),null}}),W=new Set,Z=[],$=new Map,K=new Set;for(let F of G){if(F.status!=="fulfilled"||!F.value)continue;let{connectionId:V,connectionTitle:q,tools:z}=F.value;K.add(q);for(let D of z){if(W.has(D.name))continue;W.add(D.name),Z.push({...D,_meta:{connectionId:V,connectionTitle:q}}),$.set(D.name,{connectionId:V,originalName:D.name})}}return{tools:Z,callTool:async(F,V)=>{let q=$.get(F);if(!q)return{content:[{type:"text",text:`Tool not found: ${F}`}],isError:!0};let z=J.get(q.connectionId);if(!z)return{content:[{type:"text",text:`Connection not found for tool: ${F}`}],isError:!0};return await z.proxy.client.callTool({name:q.originalName,arguments:V})},categories:Array.from(K).sort()}}async function az(X){let Y=_1(X),Q,J="inclusion";if(X.connectionId){let G=await X.storage.virtualMcps.findById(X.connectionId);if(G)Q=await cS6(G,X),J=G.tool_selection_mode;else Q=await e91(Y.id,X)}else Q=await e91(Y.id,X);return nS6(Q,J,X)}function iS6(X){return X.toLowerCase().split(/[\s_\-./]+/).filter((Y)=>Y.length>=2)}function aS6(X,Y){let Q=0,J=Y.name.toLowerCase(),G=(Y.description??"").toLowerCase(),W=Y._meta.connectionTitle.toLowerCase();for(let Z of X){if(J===Z)Q+=10;else if(J.includes(Z))Q+=3;if(G.includes(Z))Q+=2;if(W.includes(Z))Q+=1}return Q}function ay(X,Y,Q){let J=iS6(X);if(J.length===0)return Y.slice(0,Q);return Y.map((G)=>({tool:G,score:aS6(J,G)})).filter((G)=>G.score>0).sort((G,W)=>W.score-G.score).slice(0,Q).map((G)=>G.tool)}function ry(X,Y){let Q=new Map(Y.map((G)=>[G.name,G]));return{tools:X.map((G)=>Q.get(G)).filter((G)=>G!==void 0).map((G)=>({name:G.name,description:G.description,connection:G._meta.connectionTitle,inputSchema:G.inputSchema,outputSchema:G.outputSchema})),notFound:X.filter((G)=>!Q.has(G))}}async function oy(X,Y,Q){let J=Object.fromEntries(Y.tools.map((G)=>[G.name,async(W)=>Y.callTool(G.name,W??{})]));return s40({code:X,tools:J,timeoutMs:Q})}function sy(X){return{content:[{type:"text",text:JSON.stringify(X,null,2)}]}}function rz(X){return{content:[{type:"text",text:JSON.stringify(X,null,2)}],isError:!0}}function zP(X){let Y=new Set(rS6);return X.filter((Q)=>!Y.has(Q.name))}var rS6;var BP=a(()=>{t91();rS6=["CODE_EXECUTION_SEARCH_TOOLS","CODE_EXECUTION_DESCRIBE_TOOLS","CODE_EXECUTION_RUN_CODE"]});var t40;var XQ1=a(()=>{Z6();qP();BP();t40=t0({name:"CODE_EXECUTION_SEARCH_TOOLS",description:"Search for available tools by name or description. Returns tool names and brief descriptions without full schemas. Use this to discover tools before calling CODE_EXECUTION_DESCRIBE_TOOLS for detailed schemas.",inputSchema:U91,outputSchema:z91,handler:async(X,Y)=>{U1(Y),_1(Y),await Y.access.check();let Q=await az(Y),J=ay(X.query,Q.tools,X.limit);return{query:X.query,results:J.map((G)=>({name:G.name,description:G.description,connection:G._meta.connectionTitle})),totalAvailable:Q.tools.length}}})});var e40;var YQ1=a(()=>{Z6();qP();BP();e40=t0({name:"CODE_EXECUTION_DESCRIBE_TOOLS",description:"Get detailed schemas for specific tools. Call after CODE_EXECUTION_SEARCH_TOOLS to get full input/output schemas before executing code.",inputSchema:B91,outputSchema:D91,handler:async(X,Y)=>{U1(Y),_1(Y),await Y.access.check();let Q=await az(Y);return ry(X.tools,Q.tools)}})});var X80;var QQ1=a(()=>{Z6();qP();BP();X80=t0({name:"CODE_EXECUTION_RUN_CODE",description:'Run JavaScript code in a sandbox. Code must be an ES module that `export default`s an async function that receives (tools) as its first parameter. Use CODE_EXECUTION_DESCRIBE_TOOLS to understand the input/output schemas for a tool before calling it. Use `await tools.toolName(args)` or `await tools["tool-name"](args)` to call tools.',inputSchema:N91,outputSchema:O91,handler:async(X,Y)=>{U1(Y),_1(Y),await Y.access.check();let Q=await az(Y);return await oy(X.code,Q,X.timeoutMs)}})});var JQ1=a(()=>{XQ1();YQ1();QQ1();qP()});var sS6,tS6,Y80;var GQ1=a(()=>{f$();s0();Z6();my();tG();sS6=U.object({data:Ce0.describe("Data for the new connection (id is auto-generated if not provided)")}),tS6=U.object({item:bJ.describe("The created connection entity")}),Y80=t0({name:"COLLECTION_CONNECTIONS_CREATE",description:"Create a new MCP connection in the organization",inputSchema:sS6,outputSchema:tS6,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=b8(Y);if(!J)throw Error("User ID required to create connection");let G={...X.data,organization_id:Q.id,created_by:J};if(G.connection_type==="VIRTUAL"){let K=h$(G.connection_url);if(!K)throw Error("VIRTUAL connection requires connection_url in format: virtual://$virtual_mcp_id");let H=await Y.storage.virtualMcps.findById(K);if(!H)throw Error(`Virtual MCP not found: ${K}`);if(H.organization_id!==Q.id)throw Error("Virtual MCP does not belong to the current organization");G.connection_url=rv(K)}let W=await lz({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 Y.storage.connections.create({...G,tools:Z});return await Y.eventBus.publish(Q.id,b$.SELF(Q.id),{type:"connection.created",data:$}),{item:$}}})});function DP(X,Y){if(X===Y)return!0;if(X==null||Y==null)return X===Y;if(typeof X!==typeof Y)return!1;if(Array.isArray(X)&&Array.isArray(Y)){if(X.length!==Y.length)return!1;return X.every((Q,J)=>DP(Q,Y[J]))}if(typeof X==="object"&&typeof Y==="object"){let Q=Object.keys(X),J=Object.keys(Y);if(Q.length!==J.length)return!1;return Q.every((G)=>J.includes(G)&&DP(X[G],Y[G]))}return!1}function Mk6(){return(X)=>{if(!Array.isArray(X))return!0;let Y=[];return X.every((Q)=>{if(Y.some((G)=>DP(Q,G)))return!1;return Y.push(Q),!0})}}function ty(X,Y){return X.safeParse(Y).success}function wY(X){if(typeof X==="boolean")return X?U.any():U.never();let Y={};for(let G of bk6)G.apply(Y,X);let Q=[];if(Y.string!==!1)Q.push(Y.string||U.string());if(Y.number!==!1)Q.push(Y.number||U.number());if(Y.boolean!==!1)Q.push(Y.boolean||U.boolean());if(Y.null!==!1)Q.push(Y.null||U.null());if(Y.array!==!1)Q.push(Y.array||U.array(U.any()));if(Y.tuple!==!1&&Y.tuple!==void 0)Q.push(Y.tuple);if(Y.object!==!1)if(Y.object)Q.push(Y.object);else{let G=U.custom((W)=>{return typeof W==="object"&&W!==null&&!Array.isArray(W)},"Must be an object, not an array");Q.push(G)}if(Y.file!==!1&&Y.file!==void 0)Q.push(Y.file);let J;if(Q.length===0)J=U.never();else if(Q.length===1)J=Q[0];else if(!Object.keys(X).some((W)=>W!=="$schema"&&W!=="title"&&W!=="description"))J=U.any();else J=U.union(Q);for(let G of fk6)J=G.apply(J,X);return J}var eS6=class{apply(X,Y){if(!Y.type)return;let Q=Array.isArray(Y.type)?Y.type:[Y.type],J=new Set(Q);if(!J.has("string"))X.string=!1;if(!J.has("number")&&!J.has("integer"))X.number=!1;if(!J.has("boolean"))X.boolean=!1;if(!J.has("null"))X.null=!1;if(!J.has("array"))X.array=!1;if(!J.has("object"))X.object=!1;if(J.has("integer")&&X.number!==!1){let G=X.number||U.number();if(G instanceof U.ZodNumber)X.number=G.int()}}},Xk6=class{apply(X,Y){if(Y.const===void 0)return;let Q=Y.const;if(X.string=!1,X.number=!1,X.boolean=!1,X.null=!1,X.array=!1,X.object=!1,typeof Q==="string")X.string=U.literal(Q);else if(typeof Q==="number")X.number=U.literal(Q);else if(typeof Q==="boolean")X.boolean=U.literal(Q);else if(Q===null)X.null=U.null();else if(Array.isArray(Q))X.array=void 0;else if(typeof Q==="object")X.object=void 0}},Yk6=class{apply(X,Y){if(!Y.enum)return;if(Y.enum.length===0){if(!Y.type)X.string=!1,X.number=!1,X.boolean=!1,X.null=!1,X.array=!1,X.object=!1;return}let Q={string:Y.enum.filter((J)=>typeof J==="string"),number:Y.enum.filter((J)=>typeof J==="number"),boolean:Y.enum.filter((J)=>typeof J==="boolean"),null:Y.enum.filter((J)=>J===null),array:Y.enum.filter((J)=>Array.isArray(J)),object:Y.enum.filter((J)=>typeof J==="object"&&J!==null&&!Array.isArray(J))};X.string=this.createTypeSchema(Q.string,"string"),X.number=this.createTypeSchema(Q.number,"number"),X.boolean=this.createTypeSchema(Q.boolean,"boolean"),X.null=Q.null.length>0?U.null():!1,X.array=Q.array.length>0?void 0:!1,X.object=Q.object.length>0?void 0:!1}createTypeSchema(X,Y){if(X.length===0)return!1;if(X.length===1)return U.literal(X[0]);if(Y==="string")return U.enum(X);if(Y==="number"){let[Q,J,...G]=X;return U.union([U.literal(Q),U.literal(J),...G.map((W)=>U.literal(W))])}if(Y==="boolean")return U.union([U.literal(!0),U.literal(!1)]);return!1}},Qk6=class{apply(X,Y){let Q=Y;if(Q.type==="string"&&Q.format==="binary"&&Q.contentEncoding==="binary"){let J=U.file();if(Q.minLength!==void 0)J=J.min(Q.minLength);if(Q.maxLength!==void 0)J=J.max(Q.maxLength);if(Q.contentMediaType!==void 0)J=J.mime(Q.contentMediaType);X.file=J,X.string=!1}}},Jk6=class{apply(X,Y){let Q=Y;if(Y.type===void 0&&(Q.minLength!==void 0||Q.maxLength!==void 0||Q.pattern!==void 0)){if(X.string===void 0)X.string=U.string()}}},Gk6=class{apply(X,Y){let Q=Y;if(Q.minLength===void 0)return;if(X.string!==!1){let J=X.string||U.string();if(J instanceof U.ZodString)X.string=J.refine((G)=>{return Array.from(G).length>=Q.minLength},{message:`String must be at least ${Q.minLength} characters long`})}}},Wk6=class{apply(X,Y){let Q=Y;if(Q.maxLength===void 0)return;if(X.string!==!1){let J=X.string||U.string();if(J instanceof U.ZodString)X.string=J.refine((G)=>{return Array.from(G).length<=Q.maxLength},{message:`String must be at most ${Q.maxLength} characters long`})}}},Zk6=class{apply(X,Y){let Q=Y;if(!Q.pattern)return;if(X.string!==!1){let J=X.string||U.string();if(J instanceof U.ZodString){let G=new RegExp(Q.pattern);X.string=J.regex(G)}}}},$k6=class{apply(X,Y){let Q=Y;if(Q.minimum===void 0)return;if(X.number!==!1){let J=X.number||U.number();if(J instanceof U.ZodNumber)X.number=J.min(Q.minimum)}}},Kk6=class{apply(X,Y){let Q=Y;if(Q.maximum===void 0)return;if(X.number!==!1){let J=X.number||U.number();if(J instanceof U.ZodNumber)X.number=J.max(Q.maximum)}}},Hk6=class{apply(X,Y){let Q=Y;if(Q.exclusiveMinimum===void 0)return;if(X.number!==!1){let J=X.number||U.number();if(J instanceof U.ZodNumber)if(typeof Q.exclusiveMinimum==="number")X.number=J.gt(Q.exclusiveMinimum);else X.number=!1}}},Fk6=class{apply(X,Y){let Q=Y;if(Q.exclusiveMaximum===void 0)return;if(X.number!==!1){let J=X.number||U.number();if(J instanceof U.ZodNumber)if(typeof Q.exclusiveMaximum==="number")X.number=J.lt(Q.exclusiveMaximum);else X.number=!1}}},Vk6=class{apply(X,Y){let Q=Y;if(Q.multipleOf===void 0)return;if(X.number!==!1){let J=X.number||U.number();if(J instanceof U.ZodNumber)X.number=J.refine((G)=>{if(Q.multipleOf===0)return!1;let W=G/Q.multipleOf,Z=Math.round(W),$=Math.min(Math.abs(G)*Number.EPSILON*10,Math.abs(Q.multipleOf)*Number.EPSILON*10);return Math.abs(W-Z)<=$/Math.abs(Q.multipleOf)},{message:`Must be a multiple of ${Q.multipleOf}`})}}},qk6=class{apply(X,Y){let Q=Y;if(Y.type===void 0&&(Q.minItems!==void 0||Q.maxItems!==void 0||Q.items!==void 0||Q.prefixItems!==void 0)){if(X.array===void 0)X.array=U.array(U.any())}}},Uk6=class{apply(X,Y){let Q=Y;if(Q.minItems===void 0)return;if(X.array!==!1)X.array=(X.array||U.array(U.any())).min(Q.minItems)}},zk6=class{apply(X,Y){let Q=Y;if(Q.maxItems===void 0)return;if(X.array!==!1)X.array=(X.array||U.array(U.any())).max(Q.maxItems)}},Bk6=class{apply(X,Y){let Q=Y;if(X.array===!1)return;if(Array.isArray(Q.items))X.array=X.array||U.array(U.any());else if(Q.items&&typeof Q.items!=="boolean"&&!Q.prefixItems){let J=wY(Q.items),G=U.array(J);if(X.array&&X.array instanceof U.ZodArray){let W=X.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)}})}X.array=G}else if(typeof Q.items==="boolean"&&Q.items===!1)if(!Q.prefixItems)X.array=U.array(U.any()).max(0);else X.array=X.array||U.array(U.any());else if(typeof Q.items==="boolean"&&Q.items===!0)X.array=X.array||U.array(U.any());else if(Q.prefixItems)X.array=X.array||U.array(U.any())}},Dk6=class{apply(X,Y){if(Y.type!=="array")return;let Q=Y;if(!Array.isArray(Q.items))return;if(X.array===!1)return;let J=Q.items.map((W)=>wY(W)),G;if(J.length===0)G=U.tuple([]);else G=U.tuple(J);if(Q.minItems!==void 0&&Q.minItems>J.length)G=!1;if(Q.maxItems!==void 0&&Q.maxItems<J.length)G=!1;X.tuple=G,X.array=!1}},Nk6=class{apply(X,Y){let Q=Y;if(X.object===!1)return;if(Q.properties||Q.required||Q.additionalProperties!==void 0)X.object=X.object||U.object({}).passthrough()}},Ok6=class{apply(X,Y){let Q=Y;if(Y.type===void 0&&(Q.maxProperties!==void 0||Q.minProperties!==void 0)){if(X.object===void 0)X.object=U.object({}).passthrough()}}},Lk6=class{apply(X,Y){let Q=Y;if(Q.maxProperties===void 0)return;if(X.object!==!1){let J=X.object||U.object({}).passthrough();X.object=J.refine((G)=>Object.keys(G).length<=Q.maxProperties,{message:`Object must have at most ${Q.maxProperties} properties`})}}},wk6=class{apply(X,Y){let Q=Y;if(Q.minProperties===void 0)return;if(X.object!==!1){let J=X.object||U.object({}).passthrough();X.object=J.refine((G)=>Object.keys(G).length>=Q.minProperties,{message:`Object must have at least ${Q.minProperties} properties`})}}},Pk6=class{apply(X,Y){if(!Y.not)return X;let Q=wY(Y.not);return X.refine((J)=>!ty(Q,J),{message:"Value must not match the 'not' schema"})}},Tk6=class{apply(X,Y){if(Y.uniqueItems!==!0)return X;return X.refine(Mk6(),{message:"Array items must be unique"})}},Ak6=class{apply(X,Y){if(!Y.allOf||Y.allOf.length===0)return X;return Y.allOf.map((J)=>wY(J)).reduce((J,G)=>U.intersection(J,G),X)}},Ek6=class{apply(X,Y){if(!Y.anyOf||Y.anyOf.length===0)return X;let Q=Y.anyOf.length===1?wY(Y.anyOf[0]):U.union([wY(Y.anyOf[0]),wY(Y.anyOf[1]),...Y.anyOf.slice(2).map((J)=>wY(J))]);return U.intersection(X,Q)}},jk6=class{apply(X,Y){if(!Y.oneOf||Y.oneOf.length===0)return X;let Q=Y.oneOf.map((J)=>wY(J));return X.refine((J)=>{let G=0;for(let W of Q)if(W.safeParse(J).success){if(G++,G>1)return!1}return G===1},{message:"Value must match exactly one of the oneOf schemas"})}},Ck6=class{apply(X,Y){let Q=Y;if(Q.prefixItems&&Array.isArray(Q.prefixItems)){let G=Q.prefixItems.map((W)=>wY(W));return X.refine((W)=>{if(!Array.isArray(W))return!0;for(let Z=0;Z<Math.min(W.length,G.length);Z++)if(!ty(G[Z],W[Z]))return!1;if(W.length>G.length){if(typeof Q.items==="boolean"&&Q.items===!1)return!1;else if(Q.items&&typeof Q.items==="object"&&!Array.isArray(Q.items)){let Z=wY(Q.items);for(let $=G.length;$<W.length;$++)if(!ty(Z,W[$]))return!1}}return!0},{message:"Array does not match prefixItems schema"})}return X}},Ik6=class{apply(X,Y){let Q=Y;if(!Q.properties&&!Q.required&&Q.additionalProperties!==!1)return X;if(X instanceof U.ZodObject||X instanceof U.ZodRecord){let J={};if(Q.properties){for(let[G,W]of Object.entries(Q.properties))if(W!==void 0)J[G]=wY(W)}if(Q.required&&Array.isArray(Q.required)){let G=new Set(Q.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(Q.additionalProperties===!1)return U.object(J);else return U.object(J).passthrough()}return X.refine((J)=>{if(typeof J!=="object"||J===null||Array.isArray(J))return!0;if(Q.properties){for(let[G,W]of Object.entries(Q.properties))if(W!==void 0){if(Object.getOwnPropertyDescriptor(J,G)!==void 0){if(!wY(W).safeParse(J[G]).success)return!1}}}if(Q.required&&Array.isArray(Q.required)){for(let G of Q.required)if(Object.getOwnPropertyDescriptor(J,G)===void 0)return!1}if(Q.additionalProperties===!1&&Q.properties){let G=new Set(Object.keys(Q.properties));for(let W in J)if(!G.has(W))return!1}return!0},{message:"Object constraints validation failed"})}},Rk6=class{apply(X,Y){if(!Y.enum||Y.enum.length===0)return X;let Q=Y.enum.filter((J)=>Array.isArray(J)||typeof J==="object"&&J!==null);if(Q.length===0)return X;return X.refine((J)=>{if(typeof J!=="object"||J===null)return!0;return Q.some((G)=>DP(J,G))},{message:"Value must match one of the enum values"})}},Sk6=class{apply(X,Y){if(Y.const===void 0)return X;let Q=Y.const;if(typeof Q!=="object"||Q===null)return X;return X.refine((J)=>DP(J,Q),{message:"Value must equal the const value"})}},kk6=class{apply(X,Y){if(Y.description)X=X.describe(Y.description);return X}},vk6=class{apply(X,Y){var Q;let J=Y;if(!((Q=J.required)==null?void 0:Q.includes("__proto__"))||Y.type!==void 0)return X;return U.any().refine((G)=>this.validateRequired(G,J.required),{message:"Missing required properties"})}validateRequired(X,Y){if(typeof X!=="object"||X===null||Array.isArray(X))return!0;return Y.every((Q)=>Object.prototype.hasOwnProperty.call(X,Q))}},_k6=class{apply(X,Y){var Q;let J=Y;if(J.contains===void 0)return X;let G=wY(J.contains),W=(Q=J.minContains)!=null?Q:1,Z=J.maxContains;return X.refine(($)=>{if(!Array.isArray($))return!0;let K=0;for(let H of $)if(ty(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"})}},yk6=class{apply(X,Y){let{default:Q}=Y;if(Q===void 0)return X;if(!X.safeParse(Q).success)return X;return X.default(Q)}},bk6,fk6;var WQ1=a(()=>{r6();r6();r6();r6();r6();r6();r6();r6();r6();r6();r6();r6();r6();r6();bk6=[new Xk6,new Yk6,new eS6,new Qk6,new Jk6,new qk6,new Ok6,new Gk6,new Wk6,new Zk6,new $k6,new Kk6,new Hk6,new Fk6,new Vk6,new Dk6,new Uk6,new zk6,new Bk6,new Lk6,new wk6,new Nk6],fk6=[new vk6,new Rk6,new Sk6,new Ak6,new Ek6,new jk6,new Ck6,new Ik6,new _k6,new Pk6,new Tk6,new yk6,new kk6]});class Q80{constructor(X){this._url=X}start(){if(this._socket)throw Error("WebSocketClientTransport already started! If using Client class, note that connect() calls start() automatically.");return new Promise((X,Y)=>{this._socket=new WebSocket(this._url,hk6),this._socket.onerror=(Q)=>{let J="error"in Q?Q.error:Error(`WebSocket error: ${JSON.stringify(Q)}`);Y(J),this.onerror?.(J)},this._socket.onopen=()=>{X()},this._socket.onclose=()=>{this.onclose?.()},this._socket.onmessage=(Q)=>{let J;try{J=gQ.parse(JSON.parse(Q.data))}catch(G){this.onerror?.(G);return}this.onmessage?.(J)}})}async close(){this._socket?.close()}send(X){return new Promise((Y,Q)=>{if(!this._socket){Q(Error("Not connected"));return}this._socket?.send(JSON.stringify(X)),Y()})}}var hk6="mcp";var ZQ1=a(()=>{OX()});function xk6(X){let Y=X;if(!Y||typeof Y!=="object"||!("method"in Y))return null;switch(Y.method){case"initialize":{let Q=Y?.params?.protocolVersion;if(!Q)return null;return{type:"emit",message:{result:{protocolVersion:Q,capabilities:{tools:{}},serverInfo:{name:"deco-chat-server",version:"1.0.0"}},jsonrpc:Y.jsonrpc??"2.0",id:Y.id}}}case"notifications/roots/list_changed":case"notifications/initialized":case"notifications/cancelled":case"notifications/progress":return{type:"suppress"};default:return null}}var J80;var $Q1=a(()=>{HP();J80=class J80 extends lW{constructor(X,Y){super(X,Y)}send(X,Y){let Q=xk6(X);if(Q?.type==="emit")return this.onmessage?.(Q.message),Promise.resolve();if(Q?.type==="suppress")return Promise.resolve();return super.send(X,Y)}}});var KQ1,HQ1=async(X,Y,Q)=>{let J=gk6(X.connection,Y,Q);if(!J)throw Error("Unknown MCP connection type");let G=new KQ1({name:X?.name??"MCP Client",version:"1.0.0"});return await G.connect(J),{client:G,callStreamableTool:(W,Z)=>{if(X.connection.type!=="HTTP")throw Error("HTTP connection required");let $=new Headers(Q);if(!$.has("Authorization"))$.set("Authorization",`Bearer ${X.connection.token}`);for(let[F,V]of Object.entries(X.connection.headers??{}))$.set(F,V);let K=new URL(X.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:$})}}},gk6=(X,Y,Q)=>{if(X.type==="Websocket")return new Q80(new URL(X.url));if(X.type!=="SSE"&&X.type!=="HTTP")return null;let G={...X.token?{authorization:`Bearer ${X.token}`}:{},...Q??{},..."headers"in X?X.headers||{}:{}};if(X.type==="SSE"){let W={requestInit:{headers:G,signal:Y}};if(X.token)W.eventSourceInit={fetch:(Z,$)=>{return fetch(Z,{...$,headers:{...G,Accept:"text/event-stream"},signal:Y})}};return new GF(new URL(X.url),W)}return new J80(new URL(X.url),{requestInit:{headers:G,signal:Y,credentials:"include"}})};var FQ1=a(()=>{Cz();xy();ZQ1();OX();$Q1();KQ1=class KQ1 extends JQ{constructor(X,Y){super(X,Y)}async listTools(X,Y){return await this.request({method:"tools/list",params:X},IM,Y)}}});function qQ1(X){let Y=(Q)=>{if("connection"in X)return HQ1({connection:X.connection},void 0,Q);return X.client};return new Proxy({},{get(Q,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=X?.debugId?.(),V=F?{"x-trace-debug-id":F}:void 0,{client:q,callStreamableTool:z}=await Y(V);if(X?.streamable?.[String(H)])return z(String(H),K);let{structuredContent:D,isError:N,content:L}=await q.callTool({name:String(H),arguments:K});if(N){let w=L?.[0]?.text,C=typeof w==="string"?uk6(w):null,A=C?.code&&typeof X?.getErrorByStatusCode==="function"?X.getErrorByStatusCode(C.code,C.message,C.traceId):null;if(A)throw A;throw Error(`Tool ${String(H)} returned an error: ${JSON.stringify(D??L)}`)}return D}async function W(){let{client:K}=await Y(),{tools:H}=await K.listTools();return H}async function Z(){if(!("connection"in X))return W();let K=X.connection,H=JSON.stringify(K);try{if(!ey.has(H))ey.set(H,W());return await ey.get(H)}catch(F){console.error("Failed to list tools",F),ey.delete(H);return}}async function $(){return(await Z()??[]).map((H)=>VQ1(H,G))}return G.asTool=async()=>{let H=(await Z()??[]).find((F)=>F.name===J);if(!H)throw Error(`Tool ${J} not found`);return VQ1(H,G)},G}})}var uk6=(X)=>{try{return JSON.parse(X)}catch{return X}},ey,VQ1=(X,Y)=>{return{...X,id:X.name,inputSchema:X.inputSchema?wY(X.inputSchema):void 0,outputSchema:X.outputSchema?wY(X.outputSchema):void 0,execute:(Q)=>{return Y(Q.context,X.name)}}};var UQ1=a(()=>{WQ1();FQ1();ey=new Map});function Xb(X){return qQ1(X)}var Yx4;var zQ1=a(()=>{UQ1();Yx4=new Proxy({},{get(X,Y){if(Y==="toJSON")return null;if(Y==="forConnection")return(Q)=>Xb({connection:Q});return global[Y]}})});function Yb(X){return{isImplementedBy:(Y)=>{for(let Q of X){let J=typeof Q.name==="string"?new RegExp(`^${Q.name}$`):Q.name,G=Y.find((W)=>J.test(W.name));if(!G&&Q.opt)continue;if(!G)return!1}return!0}}}var VF=(X)=>{return{...Yb(X),forClient:(Y)=>{return Xb({client:Y,streamable:X.reduce((Q,J)=>{return Q[J.name]=J.streamable===!0,Q},{})})},forConnection:(Y)=>{return Xb({connection:Y,streamable:X.reduce((Q,J)=>{return Q[J.name]=J.streamable===!0,Q},{})})}}};var NP=a(()=>{zQ1()});function OP(X,Y,Q){this.props=X,this.context=Y,this.refs=DQ1,this.updater=Q||BQ1}function NQ1(){}function OQ1(X,Y,Q){this.props=X,this.context=Y,this.refs=DQ1,this.updater=Q||BQ1}var mk6,lk6,BQ1,dk6,DQ1,G80,W80=function(X){return X={$$typeof:lk6,_currentValue:X,_currentValue2:X,_threadCount:0,Provider:null,Consumer:null},X.Provider=X,X.Consumer={$$typeof:mk6,_context:X},X};var LQ1=a(()=>{mk6=Symbol.for("react.consumer"),lk6=Symbol.for("react.context"),BQ1={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},dk6=Object.assign,DQ1={};OP.prototype.isReactComponent={};OP.prototype.setState=function(X,Y){if(typeof X!=="object"&&typeof X!=="function"&&X!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,X,Y,"setState")};OP.prototype.forceUpdate=function(X){this.updater.enqueueForceUpdate(this,X,"forceUpdate")};NQ1.prototype=OP.prototype;G80=OQ1.prototype=new NQ1;G80.constructor=OQ1;dk6(G80,OP.prototype);G80.isPureReactComponent=!0});var Z80=()=>{};var Vx4;var wQ1=a(()=>{LQ1();Z80();Vx4=W80(null)});function UF(X){return U.object({items:U.array(X).describe("Array of collection items"),totalCount:U.number().int().min(0).optional().describe("Total number of matching items (if available)"),hasMore:U.boolean().optional().describe("Whether there are more items available")})}function wP(X){return U.object({item:X.nullable().describe("The retrieved item, or null if not found")})}function nk6(X){return U.object({data:X.partial().describe("Data for the new entity (id may be auto-generated)")})}function ik6(X){return U.object({item:X.describe("The created entity with generated id")})}function ak6(X){return U.object({id:U.string().describe("ID of the entity to update"),data:X.partial().describe("Partial entity data to update")})}function rk6(X){return U.object({item:X.describe("The updated entity")})}function PP(X){return U.object({item:X.describe("The deleted entity")})}function sz(X,Y,Q){let J=X.toUpperCase(),G=Q?.readOnly??!1,W=[{name:`COLLECTION_${J}_LIST`,inputSchema:qF,outputSchema:UF(Y)},{name:`COLLECTION_${J}_GET`,inputSchema:LP,outputSchema:wP(Y)}];if(!G)W.push({name:`COLLECTION_${J}_CREATE`,inputSchema:nk6(Y),outputSchema:ik6(Y),opt:!0},{name:`COLLECTION_${J}_UPDATE`,inputSchema:ak6(Y),outputSchema:rk6(Y),opt:!0},{name:`COLLECTION_${J}_DELETE`,inputSchema:MP,outputSchema:PP(Y),opt:!0});return W}var oz,pk6,MQ1,ck6,qF,LP,MP;var f5=a(()=>{s0();oz=U.object({id:U.string().describe("Unique identifier for the entity"),title:U.string().describe("Human-readable title for the entity"),description:U.string().nullish().describe("Description of the entity"),created_at:U.string().datetime(),updated_at:U.string().datetime(),created_by:U.string().optional(),updated_by:U.string().optional()}),pk6=U.object({field:U.array(U.string()),operator:U.enum(["eq","gt","gte","lt","lte","in","like","contains"]),value:U.unknown()}),MQ1=U.lazy(()=>U.union([pk6,U.object({operator:U.enum(["and","or","not"]),conditions:U.array(MQ1)})])),ck6=U.object({field:U.array(U.string()),direction:U.enum(["asc","desc"]),nulls:U.enum(["first","last"]).optional()}),qF=U.object({where:MQ1.optional().describe("Filter expression"),orderBy:U.array(ck6).optional().describe("Sort expressions"),limit:U.number().int().min(1).max(1000).optional().describe("Maximum number of items to return"),offset:U.number().int().min(0).optional().describe("Number of items to skip")});LP=U.object({id:U.string().describe("ID of the entity to retrieve")});MP=U.object({id:U.string().describe("ID of the entity to delete")})});var ok6,PQ1,Ox4;var TQ1=a(()=>{s0();f5();ok6=U.object({id:U.string(),name:U.string(),description:U.string().optional(),inputSchema:U.record(U.string(),U.unknown()),outputSchema:U.record(U.string(),U.unknown()).optional()}),PQ1=oz.extend({_meta:U.object({"io.decocms":U.object({id:U.string(),verified:U.boolean(),scopeName:U.string(),appName:U.string(),friendlyName:U.string().nullable().optional(),metadata:U.record(U.string(),U.unknown()).nullable().optional(),publishedAt:U.string().datetime().optional(),updatedAt:U.string().datetime().optional(),tools:U.array(ok6).nullable().optional().describe("Available tools exposed by this app")}).optional()}).optional(),server:U.object({$schema:U.string().optional(),_meta:U.record(U.string(),U.unknown()).optional(),name:U.string().describe("The server name (scope/app)"),title:U.string().optional().describe("User-friendly title"),description:U.string().optional().describe("Server description"),icons:U.array(U.object({src:U.string(),mimeType:U.string().optional(),sizes:U.array(U.string()).optional(),theme:U.enum(["light","dark"]).optional()})).optional(),remotes:U.array(U.object({type:U.enum(["http","stdio","sse"]),url:U.string().optional(),headers:U.array(U.unknown()).optional()})).optional(),packages:U.array(U.unknown()).optional(),repository:U.object({url:U.string(),source:U.string().optional(),subfolder:U.string().optional()}).optional(),version:U.string().optional(),websiteUrl:U.string().optional()})}),Ox4=sz("registry_app",PQ1,{readOnly:!0})});var AQ1,EQ1,jQ1,CQ1,IQ1,$80;var RQ1=a(()=>{s0();NP();AQ1=U.object({specversion:U.literal("1.0").describe("CloudEvents specification version"),id:U.string().describe("Unique identifier for this event (UUID recommended)"),source:U.string().describe("Connection ID of the event publisher"),type:U.string().describe("Event type (e.g., 'order.created', 'user.signup')"),time:U.string().datetime().optional().describe("Timestamp of when the event occurred (ISO 8601)"),subject:U.string().optional().describe("Subject/resource identifier (e.g., order ID, user ID)"),datacontenttype:U.string().optional().default("application/json").describe("Content type of the data attribute"),dataschema:U.string().url().optional().describe("URI to the schema for the data attribute"),data:U.unknown().optional().describe("Event payload (any JSON value)")}),EQ1=U.object({events:U.array(AQ1).min(1).describe("Batch of CloudEvents to process")}),jQ1=U.object({success:U.boolean().optional().describe("Whether this event was processed successfully"),error:U.string().optional().describe("Error message for this event"),retryAfter:U.number().int().positive().optional().describe("Re-deliver this event after this many ms")}),CQ1=U.object({success:U.boolean().optional().describe("Batch success - applies to events not in results"),error:U.string().optional().describe("Batch error message - applies to events not in results"),processedCount:U.number().int().min(0).optional().describe("Number of events successfully processed"),retryAfter:U.number().int().positive().optional().describe("Batch retryAfter - applies to events not in results"),results:U.record(U.string(),jQ1).optional().describe("Per-event results keyed by event ID")}),IQ1=[{name:"ON_EVENTS",inputSchema:EQ1,outputSchema:CQ1}],$80=VF(IQ1)});var TP,AP,EP,jP,SQ1,kQ1,CP,IP,RP,SP,kP,vP,_P,yP,vQ1,sk6;var _Q1=a(()=>{s0();NP();TP=U.object({type:U.string().min(1).max(255).describe("Event type identifier"),subject:U.string().max(255).optional().describe("Subject/resource identifier (e.g., order ID)"),data:U.unknown().optional().describe("Event payload"),deliverAt:U.string().datetime().optional().describe("Scheduled delivery time (ISO 8601). Omit for immediate delivery."),cron:U.string().max(100).optional().describe("Cron expression for recurring delivery. Use EVENT_CANCEL to stop.")}),AP=U.object({id:U.string().describe("Unique event ID"),type:U.string().describe("Event type"),source:U.string().describe("Source connection ID"),time:U.string().describe("Event timestamp")}),EP=U.object({eventType:U.string().min(1).max(255).describe("Event type to subscribe to"),publisher:U.string().optional().describe("Filter events by publisher connection ID"),filter:U.string().max(1000).optional().describe("JSONPath filter expression on event data")}),jP=U.object({subscription:U.object({id:U.string().describe("Subscription ID"),connectionId:U.string().describe("Subscriber connection ID"),eventType:U.string().describe("Event type pattern"),publisher:U.string().nullable().describe("Publisher connection filter"),filter:U.string().nullable().describe("JSONPath filter expression"),enabled:U.boolean().describe("Whether subscription is enabled"),createdAt:U.string().datetime().describe("Created timestamp (ISO 8601)"),updatedAt:U.string().datetime().describe("Updated timestamp (ISO 8601)")})}),SQ1=U.object({eventType:U.string().min(1).max(255).describe("Event type to subscribe to"),publisher:U.string().optional().describe("Filter events by publisher connection ID"),filter:U.string().max(1000).optional().describe("JSONPath filter expression on event data")}),kQ1=U.object({id:U.string().describe("Subscription ID"),connectionId:U.string().describe("Subscriber connection ID"),eventType:U.string().describe("Event type pattern"),publisher:U.string().nullable().describe("Publisher connection filter"),filter:U.string().nullable().describe("JSONPath filter expression"),enabled:U.boolean().describe("Whether subscription is enabled"),createdAt:U.string().datetime().describe("Created timestamp (ISO 8601)"),updatedAt:U.string().datetime().describe("Updated timestamp (ISO 8601)")}),CP=U.object({subscriptions:U.array(SQ1).describe("Desired subscriptions - system will create/update/delete to match")}),IP=U.object({created:U.number().int().min(0).describe("Number of subscriptions created"),updated:U.number().int().min(0).describe("Number of subscriptions with filter updated"),deleted:U.number().int().min(0).describe("Number of subscriptions removed"),unchanged:U.number().int().min(0).describe("Number of subscriptions unchanged"),subscriptions:U.array(kQ1).describe("Current subscriptions after sync")}),RP=U.object({subscriptionId:U.string().describe("Subscription ID to remove")}),SP=U.object({success:U.boolean().describe("Whether unsubscribe was successful"),subscriptionId:U.string().describe("Subscription ID that was removed")}),kP=U.object({eventId:U.string().describe("Event ID to cancel")}),vP=U.object({success:U.boolean().describe("Whether cancellation was successful"),eventId:U.string().describe("Event ID that was cancelled")}),_P=U.object({eventId:U.string().describe("Event ID to acknowledge")}),yP=U.object({success:U.boolean().describe("Whether ACK was successful"),eventId:U.string().describe("Event ID that was acknowledged")}),vQ1=[{name:"EVENT_PUBLISH",inputSchema:TP,outputSchema:AP},{name:"EVENT_SUBSCRIBE",inputSchema:EP,outputSchema:jP},{name:"EVENT_UNSUBSCRIBE",inputSchema:RP,outputSchema:SP},{name:"EVENT_CANCEL",inputSchema:kP,outputSchema:vP},{name:"EVENT_ACK",inputSchema:_P,outputSchema:yP},{name:"EVENT_SYNC_SUBSCRIPTIONS",inputSchema:CP,outputSchema:IP}],sk6=VF(vQ1)});var Cx4,Ix4,Rx4,Sx4,kx4,vx4,_x4,yx4,bx4,fx4,hx4,xx4;var yQ1=a(()=>{s0();Cx4=U.object({prefix:U.string().optional().describe("Filter objects by prefix (e.g., 'folder/' for folder contents)"),maxKeys:U.number().optional().default(1000).describe("Maximum number of keys to return (default: 1000)"),continuationToken:U.string().optional().describe("Token for pagination from previous response"),delimiter:U.string().optional().describe("Delimiter for grouping keys (typically '/'). When set, commonPrefixes returns folder paths.")}),Ix4=U.object({objects:U.array(U.object({key:U.string().describe("Object key/path"),size:U.number().describe("Object size in bytes"),lastModified:U.string().describe("Last modified timestamp"),etag:U.string().describe("Entity tag for the object")})),nextContinuationToken:U.string().optional().describe("Token for fetching next page of results"),isTruncated:U.boolean().describe("Whether there are more results available"),commonPrefixes:U.array(U.string()).optional().describe("Folder paths when delimiter is used (e.g., ['photos/2024/', 'photos/2025/'])")}),Rx4=U.object({key:U.string().describe("Object key/path to get metadata for")}),Sx4=U.object({contentType:U.string().optional().describe("MIME type of the object"),contentLength:U.number().describe("Size of the object in bytes"),lastModified:U.string().describe("Last modified timestamp"),etag:U.string().describe("Entity tag for the object"),metadata:U.record(U.string(),U.string()).optional().describe("Custom metadata key-value pairs")}),kx4=U.object({key:U.string().describe("Object key/path to generate URL for"),expiresIn:U.number().optional().describe("URL expiration time in seconds (default: from state config or 3600)")}),vx4=U.object({url:U.string().describe("Presigned URL for downloading the object"),expiresIn:U.number().describe("Expiration time in seconds that was used")}),_x4=U.object({key:U.string().describe("Object key/path for the upload"),expiresIn:U.number().optional().describe("URL expiration time in seconds (default: from state config or 3600)"),contentType:U.string().optional().describe("MIME type for the object being uploaded")}),yx4=U.object({url:U.string().describe("Presigned URL for uploading the object"),expiresIn:U.number().describe("Expiration time in seconds that was used")}),bx4=U.object({key:U.string().describe("Object key/path to delete")}),fx4=U.object({success:U.boolean().describe("Whether the deletion was successful"),key:U.string().describe("The key that was deleted")}),hx4=U.object({keys:U.array(U.string()).max(1000).describe("Array of object keys/paths to delete (max 1000)")}),xx4=U.object({deleted:U.array(U.string()).describe("Array of successfully deleted keys"),errors:U.array(U.object({key:U.string(),message:U.string()})).describe("Array of errors for failed deletions")})});var Qb=a(()=>{NP();wQ1();TQ1();RQ1();_Q1();yQ1()});var tk6,ek6,bQ1;var fQ1=a(()=>{s0();f5();tk6=oz.extend({avatar:U.string().describe("URL or data URI to the assistant's avatar image"),system_prompt:U.string().describe("System prompt that defines the assistant's behavior"),virtual_mcp_id:U.string().describe("Virtual MCP ID to use for this assistant"),model:U.object({id:U.string().describe("Model ID"),connectionId:U.string().describe("Connection ID that provides the model")}).describe("Selected model reference for this assistant")}),ek6=sz("assistant",tk6),bQ1=[...ek6]});var bP,pW,xQ1,Xv6,Yv6,gQ1,Qv6,Jv6,Gv6,Wv6,Zv6,$v6,uQ1,Kv6,Hv6,Fv6,Vv6,qv6,Uv6,zv6,Bv6,Dv6,Nv6,Gg4,Ov6,Wg4,hQ1,Lv6,wv6,K80,Jb;var Gb=a(()=>{s0();NP();f5();bP=U.lazy(()=>U.union([U.null(),U.string(),U.number(),U.boolean(),U.record(U.string(),bP),U.array(bP)])),pW=U.record(U.string(),U.record(U.string(),bP)).optional().describe("Additional provider-specific options. Outer record keyed by provider name, inner by option key"),xQ1=U.object({type:U.literal("text"),text:U.string().describe("The text content"),providerOptions:pW}),Xv6=U.object({type:U.literal("text"),text:U.string().describe("The text content"),providerMetadata:U.any().optional().describe("Additional provider-specific metadata")}),Yv6=U.string().describe("File data as URL string"),gQ1=U.object({type:U.literal("file"),filename:U.string().optional().describe("Optional filename of the file"),data:Yv6,mediaType:U.string().describe("IANA media type of the file (e.g., image/png, audio/mp3)"),providerOptions:pW}),Qv6=U.object({type:U.literal("file"),mediaType:U.string().describe("IANA media type of the file (e.g., image/png, audio/mp3)"),data:U.string().describe("Generated file data as base64 encoded string")}),Jv6=U.object({type:U.literal("reasoning"),text:U.string().describe("The reasoning text"),providerOptions:pW}),Gv6=U.object({type:U.literal("reasoning"),text:U.string().describe("The reasoning text"),providerMetadata:U.any().optional().describe("Additional provider-specific metadata")}),Wv6=U.object({type:U.literal("tool-call"),toolCallId:U.string().describe("ID of the tool call, used to match with tool result"),toolName:U.string().describe("Name of the tool being called"),input:U.string().describe("Arguments of the tool call (JSON-serializable object matching tool input schema)"),providerExecuted:U.boolean().optional().describe("Whether the tool call will be executed by the provider"),providerOptions:pW}),Zv6=U.object({type:U.literal("tool-call"),toolCallId:U.string().describe("ID of the tool call"),toolName:U.string().describe("Name of the tool being called"),input:U.string().describe("Stringified JSON object with the tool call arguments"),providerExecuted:U.boolean().optional().describe("Whether the tool call will be executed by the provider"),providerMetadata:U.any().optional().describe("Additional provider-specific metadata")}),$v6=U.union([U.object({type:U.literal("text"),value:U.string()}),U.object({type:U.literal("json"),value:bP}),U.object({type:U.literal("error-text"),value:U.string()}),U.object({type:U.literal("error-json"),value:bP}),U.object({type:U.literal("content"),value:U.array(U.union([U.object({type:U.literal("text"),text:U.string().describe("Text content")}),U.object({type:U.literal("media"),data:U.string().describe("Base-64 encoded media data"),mediaType:U.string().describe("IANA media type")})]))})]),uQ1=U.object({type:U.literal("tool-result"),toolCallId:U.string().describe("ID of the tool call that this result is associated with"),toolName:U.string().describe("Name of the tool that generated this result"),output:$v6.describe("Result of the tool call"),result:U.unknown().describe("Unknown result of the tool call"),providerOptions:pW}),Kv6=U.object({type:U.literal("tool-result"),toolCallId:U.string().describe("ID of the tool call that this result is associated with"),toolName:U.string().describe("Name of the tool that generated this result"),result:U.any().describe("Result of the tool call (JSON-serializable)"),isError:U.boolean().optional().describe("Whether the result is an error or error message"),providerExecuted:U.boolean().optional().describe("Whether the tool result was generated by the provider"),providerMetadata:U.any().optional().describe("Additional provider-specific metadata")}),Hv6=U.union([U.object({type:U.literal("source"),sourceType:U.literal("url"),id:U.string().describe("The ID of the source"),url:U.string().describe("The URL of the source"),title:U.string().optional().describe("The title of the source"),providerMetadata:U.any().optional().describe("Additional provider-specific metadata")}),U.object({type:U.literal("source"),sourceType:U.literal("document"),id:U.string().describe("The ID of the source"),mediaType:U.string().describe("IANA media type of the document (e.g., application/pdf)"),title:U.string().describe("The title of the document"),filename:U.string().optional().describe("Optional filename of the document"),providerMetadata:U.any().optional().describe("Additional provider-specific metadata")})]),Fv6=U.object({role:U.literal("system"),content:U.string().describe("System message content"),providerOptions:pW}),Vv6=U.object({role:U.literal("user"),content:U.array(U.union([xQ1,gQ1])).describe("User message content parts (text or file)"),providerOptions:pW}),qv6=U.object({role:U.literal("assistant"),content:U.array(U.union([xQ1,gQ1,Jv6,Wv6,uQ1])).describe("Assistant message content parts (text, file, reasoning, tool-call, or tool-result)"),providerOptions:pW}),Uv6=U.object({role:U.literal("tool"),content:U.array(uQ1).describe("Tool message content (tool results)"),providerOptions:pW}),zv6=U.union([Fv6,Vv6,qv6,Uv6]),Bv6=U.array(zv6).describe("A list of messages forming the prompt"),Dv6=U.object({prompt:Bv6.describe("A language model prompt is a standardized prompt type (array of messages with roles: system, user, assistant, tool)"),maxOutputTokens:U.number().optional().describe("Maximum number of tokens to generate"),temperature:U.number().optional().describe("Temperature setting. The range depends on the provider and model"),topP:U.number().optional().describe("Nucleus sampling parameter"),topK:U.number().optional().describe("Only sample from the top K options for each subsequent token. Used to remove long tail low probability responses"),presencePenalty:U.number().optional().describe("Presence penalty setting. It affects the likelihood of the model to repeat information that is already in the prompt"),frequencyPenalty:U.number().optional().describe("Frequency penalty setting. It affects the likelihood of the model to repeatedly use the same words or phrases"),seed:U.number().optional().describe("The seed (integer) to use for random sampling. If set and supported by the model, calls will generate deterministic results"),stopSequences:U.array(U.string()).optional().describe("Stop sequences. If set, the model will stop generating text when one of the stop sequences is generated"),responseFormat:U.union([U.object({type:U.literal("text")}),U.object({type:U.literal("json"),schema:U.any().optional().describe("JSON schema that the generated output should conform to"),name:U.string().optional().describe("Name of output that should be generated"),description:U.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:U.array(U.any()).optional().describe("The tools that are available for the model"),toolChoice:U.any().optional().describe("Specifies how the tool should be selected. Defaults to 'auto'"),includeRawChunks:U.boolean().optional().describe("Include raw chunks in the stream. Only applicable for streaming calls"),abortSignal:U.any().optional().describe("Abort signal for cancelling the operation"),providerOptions:U.any().optional().describe("Additional provider-specific options")}),Nv6=U.object({content:U.array(U.union([Xv6,Qv6,Gv6,Zv6,Kv6,Hv6])).describe("Ordered content that the model has generated (text, tool-calls, reasoning, files, sources)"),finishReason:U.enum(["stop","length","content-filter","tool-calls","error","other","unknown"]).describe("Reason why generation stopped"),usage:U.looseObject({inputTokens:U.number().optional(),outputTokens:U.number().optional(),totalTokens:U.number().optional(),reasoningTokens:U.number().optional()}).describe("Usage information for the language model call"),providerMetadata:U.any().optional().describe("Additional provider-specific metadata"),request:U.object({body:U.any().optional().describe("Request HTTP body sent to the provider API")}).optional().describe("Optional request information for telemetry and debugging"),response:U.object({id:U.string().optional().describe("ID for the generated response"),timestamp:U.iso.datetime().optional().describe("Timestamp for the start of the generated response"),modelId:U.string().optional().describe("The ID of the response model that was used"),headers:U.record(U.string(),U.string()).optional().describe("Response headers"),body:U.any().optional().describe("Response HTTP body")}).optional().describe("Optional response information for telemetry and debugging"),warnings:U.array(U.any()).describe("Warnings for the call, e.g. unsupported settings")}),Gg4=U.object({stream:U.any().describe("ReadableStream of LanguageModelV2StreamPart"),request:U.object({body:U.any().optional().describe("Request HTTP body sent to the provider API")}).optional().describe("Optional request information for telemetry and debugging"),response:U.object({headers:U.record(U.string(),U.string()).optional().describe("Response headers")}).optional().describe("Optional response data")}),Ov6=U.object({supportedUrls:U.record(U.string(),U.array(U.string())).describe("Supported URL patterns by media type for the provider")}),Wg4=U.object({modelId:U.string().describe("The ID of the model"),logo:U.string().nullable(),description:U.string().nullable(),capabilities:U.array(U.string()),limits:U.object({contextWindow:U.number(),maxOutputTokens:U.number()}).nullable(),costs:U.object({input:U.number(),output:U.number()}).nullable(),provider:U.enum(["openai","anthropic","google","x-ai","deepseek","openai-compatible","openrouter"]).nullable()}),hQ1=U.object({modelId:U.string().describe("The ID of the model"),callOptions:Dv6}),Lv6=oz.extend({logo:U.string().nullable(),description:U.string().nullable(),capabilities:U.array(U.string()),limits:U.object({contextWindow:U.number(),maxOutputTokens:U.number()}).nullable(),costs:U.object({input:U.number(),output:U.number()}).nullable(),provider:U.enum(["openai","anthropic","google","xai","deepseek","openai-compatible","openrouter"]).nullable()}),wv6=sz("llm",Lv6,{readOnly:!0}),K80=[{name:"LLM_METADATA",inputSchema:U.object({modelId:U.string().describe("The ID of the model")}),outputSchema:Ov6},{name:"LLM_DO_STREAM",inputSchema:hQ1,streamable:!0},{name:"LLM_DO_GENERATE",inputSchema:hQ1,outputSchema:Nv6},...wv6],Jb=VF(K80)});function Pv6(X){let Y=[],Q=0;while(Q<X.length){let J=X[Q];if(J==="%")Y.push(".*");else if(J==="_")Y.push(".");else if(/[.*+?^${}()|[\]\\]/.test(J))Y.push("\\"+J);else Y.push(J);Q++}return Y.join("")}function $K(X){return typeof X==="string"||typeof X==="number"}function Wb(X,Y){if("conditions"in Y){let{operator:$,conditions:K}=Y;switch($){case"and":return K.every((H)=>Wb(X,H));case"or":return K.some((H)=>Wb(X,H));case"not":return!K.every((H)=>Wb(X,H));default:return!0}}let{field:Q,operator:J,value:G}=Y,W=Q.join("."),Z=H80(X,W);switch(J){case"eq":return Z===G;case"gt":return $K(Z)&&$K(G)&&Z>G;case"gte":return $K(Z)&&$K(G)&&Z>=G;case"lt":return $K(Z)&&$K(G)&&Z<G;case"lte":return $K(Z)&&$K(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 $=Pv6(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 H80(X,Y){let Q=Y.split("."),J=X;for(let G of Q){if(J==null||typeof J!=="object")return;J=J[G]}return J}function Tv6(X,Y){return[...X].sort((Q,J)=>{for(let G of Y){let W=G.field.join("."),Z=H80(Q,W),$=H80(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 Mv6,Av6,Ev6,F80;var mQ1=a(()=>{Qb();fQ1();f5();Gb();s0();Z6();tG();Mv6={LLM:K80,ASSISTANTS:bQ1};Av6=qF.extend({binding:U.union([U.object({}).passthrough(),U.string()]).optional()}),Ev6=UF(bJ),F80=t0({name:"COLLECTION_CONNECTIONS_LIST",description:"List all connections in the organization with filtering, sorting, and pagination",inputSchema:Av6,outputSchema:Ev6,handler:async(X,Y)=>{await Y.access.check();let Q=_1(Y),J=X.binding?typeof X.binding==="string"?(()=>{let z=Mv6[X.binding.toUpperCase()];if(!z)throw Error(`Unknown binding: ${X.binding}`);return z})():X.binding:void 0,G=J?Yb(J):void 0,Z=(await Y.storage.connections.list(Q.id)).filter((z)=>z.connection_type!=="VIRTUAL"),$=G?await Promise.all(Z.map(async(z)=>{if(!z.tools||z.tools.length===0)return null;return G.isImplementedBy(z.tools.map((N)=>({name:N.name,inputSchema:N.inputSchema,outputSchema:N.outputSchema})))?z:null})).then((z)=>z.filter((D)=>D!==null)):Z;if(X.where)$=$.filter((z)=>Wb(z,X.where));if(X.orderBy&&X.orderBy.length>0)$=Tv6($,X.orderBy);let K=$.length,H=X.offset??0,F=X.limit??100,V=$.slice(H,H+F),q=H+F<K;return{items:V,totalCount:K,hasMore:q}}})});var jv6,V80;var lQ1=a(()=>{f5();Z6();tG();jv6=wP(bJ),V80=t0({name:"COLLECTION_CONNECTIONS_GET",description:"Get connection details by ID",inputSchema:LP,outputSchema:jv6,handler:async(X,Y)=>{let Q=_1(Y);await Y.access.check();let J=await Y.storage.connections.findById(X.id);if(!J||J.organization_id!==Q.id)return{item:null};return{item:J}}})});var Zb=(X,Y)=>{if(Y===null||Y===void 0)return;let Q=X.replace(/\[(\w+)\]/g,".$1").split(".").filter(Boolean),J=Y;for(let G of Q){if(J===null||J===void 0||typeof J!=="object")return;J=J[G]}return J};function dQ1(X){let Y=X.split("::");if(Y.length!==2||!Y[0]||!Y[1])throw Error(`Invalid scope format: ${X}. Expected format: "KEY::SCOPE"`);return Y}function Cv6(X){let Y=X.split("::");if(Y.length!==2||!Y[0]||!Y[1])return null;return Y}function Iv6(X){if(typeof X==="object"&&X!==null&&"value"in X){let Y=X.value;if(typeof Y==="string")return Y}return null}function q80(X,Y){let Q={};if(!X||!Y)return Q;for(let J of Y){if(J==="*"){Q["*"]=["*"];continue}let G=Cv6(J);if(!G)continue;let[W,Z]=G,$=Zb(W,X),K=Iv6($);if(K){if(!Q[K])Q[K]=[];Q[K].push(Z)}}return Q}function pQ1(X,Y){let Q=q80(X,Y);return new Set(Object.keys(Q).filter((J)=>J!=="*"))}var U80=()=>{};class cW{db;vault;constructor(X,Y){this.db=X;this.vault=Y}async get(X){let Y=await this.db.selectFrom("downstream_tokens").selectAll().where("connectionId","=",X).executeTakeFirst();if(!Y)return null;return this.decryptToken(Y)}async upsert(X){let Y=new Date().toISOString(),Q=await this.vault.encrypt(X.accessToken),J=X.refreshToken?await this.vault.encrypt(X.refreshToken):null,G=X.clientSecret?await this.vault.encrypt(X.clientSecret):null;return await this.db.transaction().execute(async(W)=>{let Z=await W.selectFrom("downstream_tokens").select(["id","createdAt"]).where("connectionId","=",X.connectionId).executeTakeFirst();if(Z)return await W.updateTable("downstream_tokens").set({accessToken:Q,refreshToken:J,scope:X.scope,expiresAt:X.expiresAt?.toISOString()??null,clientId:X.clientId,clientSecret:G,tokenEndpoint:X.tokenEndpoint,updatedAt:Y}).where("id","=",Z.id).execute(),{id:Z.id,connectionId:X.connectionId,accessToken:X.accessToken,refreshToken:X.refreshToken,scope:X.scope,expiresAt:X.expiresAt,createdAt:Z.createdAt,updatedAt:Y,clientId:X.clientId,clientSecret:X.clientSecret,tokenEndpoint:X.tokenEndpoint};let $=o8("dtok");return await W.insertInto("downstream_tokens").values({id:$,connectionId:X.connectionId,accessToken:Q,refreshToken:J,scope:X.scope,expiresAt:X.expiresAt?.toISOString()??null,clientId:X.clientId,clientSecret:G,tokenEndpoint:X.tokenEndpoint,createdAt:Y,updatedAt:Y}).execute(),{id:$,connectionId:X.connectionId,accessToken:X.accessToken,refreshToken:X.refreshToken,scope:X.scope,expiresAt:X.expiresAt,createdAt:Y,updatedAt:Y,clientId:X.clientId,clientSecret:X.clientSecret,tokenEndpoint:X.tokenEndpoint}})}async delete(X){await this.db.deleteFrom("downstream_tokens").where("connectionId","=",X).execute()}isExpired(X,Y=0){if(!X.expiresAt)return!1;let J=(X.expiresAt instanceof Date?X.expiresAt:new Date(X.expiresAt)).getTime();if(Number.isNaN(J))return!0;return J-Y<Date.now()}async decryptToken(X){let Y=await this.vault.decrypt(X.accessToken),Q=X.refreshToken?await this.vault.decrypt(X.refreshToken):null,J=X.clientSecret?await this.vault.decrypt(X.clientSecret):null;return{id:X.id,connectionId:X.connectionId,accessToken:Y,refreshToken:Q,scope:X.scope,expiresAt:X.expiresAt,createdAt:X.createdAt,updatedAt:X.updatedAt,clientId:X.clientId,clientSecret:J,tokenEndpoint:X.tokenEndpoint}}}var $b=a(()=>{CW()});async function kv6(X,Y,Q,J){for(let W of Y){if(W==="*")continue;let[Z]=dQ1(W),$=Zb(Z,X);if($===void 0||$===null)throw Error(`Scope references key "${Z}" but it's not present in state`)}let G=pQ1(X,Y);for(let W of G){if(W===T5.SELF)continue;let Z=await J.storage.connections.findById(W);if(!Z||Z.organization_id!==Q)throw Error(`Referenced connection not found: ${W}`);try{await J.access.check(W)}catch($){throw Error(`Access denied to referenced connection: ${W}. ${$.message}`)}}}var Rv6,Sv6,z80;var cQ1=a(()=>{U80();f$();$b();s0();Z6();my();tG();Rv6=U.object({id:U.string().describe("ID of the connection to update"),data:Ie0.describe("Partial connection data to update")}),Sv6=U.object({item:bJ.describe("The updated connection entity")});z80=t0({name:"COLLECTION_CONNECTIONS_UPDATE",description:"Update an existing MCP connection in the organization",inputSchema:Rv6,outputSchema:Sv6,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);if(await Y.access.check(),!b8(Y))throw Error("User ID required to update connection");let{id:G,data:W}=X,Z=await Y.storage.connections.findById(G);if(!Z||Z.organization_id!==Q.id)throw Error("Connection not found in organization");let $=W.connection_type??Z.connection_type,K=W.connection_url??Z.connection_url;if($==="VIRTUAL"){let L=h$(K);if(!L)throw Error("VIRTUAL connection requires connection_url in format: virtual://$virtual_mcp_id");let w=await Y.storage.virtualMcps.findById(L);if(!w)throw Error(`Virtual MCP not found: ${L}`);if(w.organization_id!==Q.id)throw Error("Virtual MCP does not belong to the current organization");K=rv(L)}let H=W.configuration_state??Z.configuration_state,F=W.configuration_scopes??Z.configuration_scopes??[];if(W.configuration_state!==void 0||W.configuration_scopes!==void 0){if(W.configuration_state!==void 0)H=W.configuration_state;else if(H===null)H={};if(W.configuration_scopes!==void 0)F=W.configuration_scopes??[];if(F.length>0&&H)await kv6(H,F,Q.id,Y)}let V=W.connection_token??Z.connection_token;if(!V)try{let w=await new cW(Y.db,Y.vault).get(G);if(w?.accessToken)V=w.accessToken}catch{}let q=await lz({id:Z.id,title:W.title??Z.title,connection_type:$,connection_url:K,connection_token:V,connection_headers:W.connection_headers??Z.connection_headers}).catch(()=>null),z=q?.length?q:null,D={...W,connection_url:K,tools:z,configuration_state:H,configuration_scopes:F},N=await Y.storage.connections.update(G,D);if((W.configuration_state!==void 0||W.configuration_scopes!==void 0)&&H&&F.length>0)try{await(await Y.createMCPProxy(G)).client.callTool({name:"ON_MCP_CONFIGURATION",arguments:{state:H,scopes:F}})}catch(L){console.error("Failed to invoke ON_MCP_CONFIGURATION callback",L)}return{item:N}}})});var B80;var nQ1=a(()=>{f5();Z6();tG();B80=t0({name:"COLLECTION_CONNECTIONS_DELETE",description:"Delete a connection",inputSchema:MP,outputSchema:PP(bJ),handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=await Y.storage.connections.findById(X.id);if(!J)throw Error(`Connection not found: ${X.id}`);if(J.organization_id!==Q.id)throw Error("Connection not found in organization");return await Y.storage.connections.delete(X.id),{item:J}}})});var D80;var iQ1=a(()=>{s0();Z6();D80=t0({name:"CONNECTION_TEST",description:"Test connection health and latency",inputSchema:U.object({id:U.string()}),outputSchema:U.object({id:U.string(),healthy:U.boolean(),latencyMs:U.number()}),handler:async(X,Y)=>{let Q=_1(Y);await Y.access.check();let J=await Y.storage.connections.findById(X.id);if(!J||J.organization_id!==Q.id)throw Error("Connection not found");let G=await Y.storage.connections.testConnection(X.id);return{id:X.id,...G}}})});var aQ1=a(()=>{GQ1();mQ1();lQ1();cQ1();nQ1();iQ1()});import{sql as t6}from"kysely";function rQ1(X){if(X===null||X===void 0)return"NULL";if(typeof X==="number")return String(X);if(typeof X==="boolean")return X?"TRUE":"FALSE";if(typeof X==="string")return`'${X.replace(/'/g,"''")}'`;if(X instanceof Date)return`'${X.toISOString()}'`;return`'${JSON.stringify(X).replace(/'/g,"''")}'`}function yv6(X,Y){let Q=X;for(let G=Y.length;G>=1;G--){let W=`$${G}`;if(Q.includes(W))Q=Q.replaceAll(W,rQ1(Y[G-1]))}let J=[];for(let G=0;G<Q.length;G++)if(Q[G]==="?")J.push(G);for(let G=Math.min(J.length,Y.length)-1;G>=0;G--){let W=J[G],Z=rQ1(Y[G]);Q=Q.slice(0,W)+Z+Q.slice(W+1)}return Q}function oQ1(X){return X.replace(/-/g,"_")}function fv6(X){return`app_${oQ1(X)}`}function hv6(X){return`app_role_${oQ1(X)}`}function xv6(X){if(X instanceof Error){let Y=X.message.toLowerCase(),Q=X.code;return Q==="3F000"||Q==="42704"||Y.includes("schema")&&Y.includes("does not exist")||Y.includes("role")&&Y.includes("does not exist")}return!1}async function gv6(X,Y,Q){if(await t6`CREATE SCHEMA IF NOT EXISTS ${t6.id(Y)}`.execute(X),!(await t6`
271
271
  SELECT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = ${Q}) as exists
272
- `.execute(X)).rows[0]?.exists)await t6`CREATE ROLE ${t6.id(Q)} NOLOGIN`.execute(X);await t6`GRANT ${t6.id(Q)} TO CURRENT_USER`.execute(X),await t6`GRANT USAGE, CREATE ON SCHEMA ${t6.id(Y)} TO ${t6.id(Q)}`.execute(X),await t6`GRANT ALL ON ALL TABLES IN SCHEMA ${t6.id(Y)} TO ${t6.id(Q)}`.execute(X),await t6`GRANT ALL ON ALL SEQUENCES IN SCHEMA ${t6.id(Y)} TO ${t6.id(Q)}`.execute(X),await t6`ALTER DEFAULT PRIVILEGES IN SCHEMA ${t6.id(Y)} GRANT ALL ON TABLES TO ${t6.id(Q)}`.execute(X),await t6`ALTER DEFAULT PRIVILEGES IN SCHEMA ${t6.id(Y)} GRANT ALL ON SEQUENCES TO ${t6.id(Q)}`.execute(X),await t6`REVOKE ALL ON SCHEMA public FROM ${t6.id(Q)}`.execute(X)}async function uv6(X,Y,Q,J){try{return await X.transaction().execute(async(G)=>{return await t6`SET LOCAL ROLE ${t6.id(Q)}`.execute(G),await t6`SET LOCAL search_path TO ${t6.id(Y)}`.execute(G),await t6.raw(J).execute(G)})}catch(G){if(xv6(G))return await gv6(X,Y,Q),await X.transaction().execute(async(W)=>{return await t6`SET LOCAL ROLE ${t6.id(Q)}`.execute(W),await t6`SET LOCAL search_path TO ${t6.id(Y)}`.execute(W),await t6.raw(J).execute(W)});throw G}}var _v6,bv6,sQ1;var tQ1=a(()=>{s0();Z6();_v6=U.object({results:U.array(U.unknown()).optional(),success:U.boolean().optional()});bv6=U.object({sql:U.string().describe("The SQL query to run"),params:U.array(U.any()).describe("The parameters to pass to the SQL query").optional()});sQ1=t0({name:"DATABASES_RUN_SQL",description:"Run a SQL query against the database",inputSchema:bv6,outputSchema:U.object({result:U.array(_v6)}),handler:async(X,Y)=>{U1(Y),await Y.access.check();let Q=yv6(X.sql,X.params||[]);if(!Y.connectionId)throw Error("Connection context required for database access");let J=fv6(Y.connectionId),G=hv6(Y.connectionId);return{result:[{results:(await uv6(Y.db,J,G,Q)).rows,success:!0}]}}})});var eQ1,lv6,XJ1;var nW=a(()=>{s0();Qb();eQ1=U.object({connectionId:U.string().optional().describe("Filter subscriptions by connection ID (optional)")}),lv6=U.object({id:U.string().describe("Subscription ID"),connectionId:U.string().describe("Subscriber connection ID"),eventType:U.string().describe("Event type pattern"),publisher:U.string().nullable().describe("Publisher connection filter (null = all publishers)"),filter:U.string().nullable().describe("JSONPath filter expression"),enabled:U.boolean().describe("Whether subscription is enabled"),createdAt:U.string().datetime().describe("Created timestamp (ISO 8601)"),updatedAt:U.string().datetime().describe("Updated timestamp (ISO 8601)")}),XJ1=U.object({subscriptions:U.array(lv6).describe("List of subscriptions")})});var N80;var YJ1=a(()=>{Z6();nW();N80=t0({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:TP,outputSchema:AP,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=Y.connectionId;if(!J)throw Error("Connection ID required to publish events. Use a connection-scoped token.");let G=await Y.eventBus.publish(Q.id,J,{type:X.type,subject:X.subject,data:X.data,deliverAt:X.deliverAt,cron:X.cron});return{id:G.id,type:G.type,source:G.source,time:G.time}}})});var O80;var QJ1=a(()=>{Z6();nW();O80=t0({name:"EVENT_SUBSCRIBE",description:"Subscribe to events of a specific type. The subscriber is automatically set to the caller's connection.",inputSchema:EP,outputSchema:jP,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=Y.connectionId;if(!J)throw Error("Connection ID required to subscribe. Use a connection-scoped token.");let G=await Y.eventBus.subscribe(Q.id,{connectionId:J,eventType:X.eventType,publisher:X.publisher,filter:X.filter});return{subscription:{id:G.id,connectionId:G.connectionId,eventType:G.eventType,publisher:G.publisher,filter:G.filter,enabled:G.enabled,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt,updatedAt:G.updatedAt instanceof Date?G.updatedAt.toISOString():G.updatedAt}}}})});var L80;var JJ1=a(()=>{Z6();nW();L80=t0({name:"EVENT_UNSUBSCRIBE",description:"Unsubscribe from events by removing a subscription.",inputSchema:RP,outputSchema:SP,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=Y.connectionId;if(!J)throw Error("Connection ID required to unsubscribe. Use a connection-scoped token.");let G=await Y.eventBus.getSubscription(Q.id,X.subscriptionId);if(!G)throw Error(`Subscription not found: ${X.subscriptionId}`);if(G.connectionId!==J)throw Error("Cannot unsubscribe from a subscription owned by another connection");return{success:(await Y.eventBus.unsubscribe(Q.id,X.subscriptionId)).success,subscriptionId:X.subscriptionId}}})});var w80;var GJ1=a(()=>{Z6();nW();w80=t0({name:"EVENT_CANCEL",description:"Cancel a recurring event to stop future deliveries. Only the publisher can cancel their own events.",inputSchema:kP,outputSchema:vP,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=Y.connectionId;if(!J)throw Error("Connection ID required to cancel events. Use a connection-scoped token.");if(!await Y.eventBus.getEvent(Q.id,X.eventId))throw Error(`Event not found: ${X.eventId}`);if(!(await Y.eventBus.cancelEvent(Q.id,X.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:X.eventId}}})});var M80;var WJ1=a(()=>{Z6();nW();M80=t0({name:"EVENT_ACK",description:"Acknowledge delivery of an event. Call after successfully processing an event received via ON_EVENTS with retryAfter.",inputSchema:_P,outputSchema:yP,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=Y.connectionId;if(!J)throw Error("Connection ID required to acknowledge events. Use a connection-scoped token.");if(!(await Y.eventBus.ackEvent(Q.id,X.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:X.eventId}}})});var P80;var ZJ1=a(()=>{Z6();nW();P80=t0({name:"EVENT_SUBSCRIPTION_LIST",description:"List event subscriptions, optionally filtered by connection ID.",inputSchema:eQ1,outputSchema:XJ1,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);return await Y.access.check(),{subscriptions:(await Y.eventBus.listSubscriptions(Q.id,X.connectionId)).map((G)=>({id:G.id,connectionId:G.connectionId,eventType:G.eventType,publisher:G.publisher,filter:G.filter,enabled:G.enabled,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt,updatedAt:G.updatedAt instanceof Date?G.updatedAt.toISOString():G.updatedAt}))}}})});var T80;var $J1=a(()=>{Z6();nW();T80=t0({name:"EVENT_SYNC_SUBSCRIPTIONS",description:"Sync subscriptions to desired state. Creates new, deletes removed, updates changed filters. Subscriptions are identified by (eventType, publisher).",inputSchema:CP,outputSchema:IP,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=Y.connectionId;if(!J)throw Error("Connection ID required to sync subscriptions. Use a connection-scoped token.");let G=await Y.eventBus.syncSubscriptions(Q.id,{connectionId:J,subscriptions:X.subscriptions});return{created:G.created,updated:G.updated,deleted:G.deleted,unchanged:G.unchanged,subscriptions:G.subscriptions.map((W)=>({id:W.id,connectionId:W.connectionId,eventType:W.eventType,publisher:W.publisher,filter:W.filter,enabled:W.enabled,createdAt:W.createdAt instanceof Date?W.createdAt.toISOString():W.createdAt,updatedAt:W.updatedAt instanceof Date?W.updatedAt.toISOString():W.updatedAt}))}}})});var KJ1=a(()=>{YJ1();QJ1();JJ1();GJ1();WJ1();ZJ1();$J1();nW()});var A80,pv6,H7,HJ1,FJ1;var tz=a(()=>{s0();A80=U.enum(["inclusion","exclusion"]).describe("Tool selection mode: 'inclusion' = include selected (default), 'exclusion' = exclude selected"),pv6=U.object({connection_id:U.string().describe("Connection ID"),selected_tools:U.array(U.string()).nullable().describe("Selected tool names. With 'inclusion' mode: null = all tools included. With 'exclusion' mode: null = entire connection excluded"),selected_resources:U.array(U.string()).nullable().describe("Selected resource URIs or patterns. Supports * and ** wildcards for pattern matching. With 'inclusion' mode: null = all resources included."),selected_prompts:U.array(U.string()).nullable().describe("Selected prompt names. With 'inclusion' mode: null = all prompts included. With 'exclusion' mode: null = entire connection excluded.")}),H7=U.object({id:U.string().describe("Unique identifier for the virtual MCP"),title:U.string().describe("Human-readable name for the virtual MCP"),description:U.string().nullable().describe("Description of the virtual MCP"),icon:U.string().nullable().optional().describe("Icon URL for the virtual MCP"),created_at:U.string().describe("When the virtual MCP was created"),updated_at:U.string().describe("When the virtual MCP was last updated"),created_by:U.string().describe("User ID who created the virtual MCP"),updated_by:U.string().optional().describe("User ID who last updated the virtual MCP"),organization_id:U.string().describe("Organization ID this virtual MCP belongs to"),tool_selection_mode:A80.describe("Tool selection mode: 'inclusion' = include selected, 'exclusion' = exclude selected"),status:U.enum(["active","inactive"]).describe("Current status"),connections:U.array(pv6).describe("Connections with their selected tools (behavior depends on tool_selection_mode)")}),HJ1=U.object({title:U.string().min(1).max(255).describe("Name for the virtual MCP"),description:U.string().nullable().optional().describe("Optional description"),tool_selection_mode:A80.optional().default("inclusion").describe("Tool selection mode (defaults to 'inclusion')"),icon:U.string().nullable().optional().describe("Optional icon URL"),status:U.enum(["active","inactive"]).optional().default("active").describe("Initial status"),connections:U.array(U.object({connection_id:U.string().describe("Connection ID"),selected_tools:U.array(U.string()).nullable().optional().describe("Selected tool names (null/undefined = all tools or full exclusion)"),selected_resources:U.array(U.string()).nullable().optional().describe("Selected resource URIs or patterns with * and ** wildcards (null/undefined = all resources)"),selected_prompts:U.array(U.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)")}),FJ1=U.object({title:U.string().min(1).max(255).optional().describe("New name"),description:U.string().nullable().optional().describe("New description (null to clear)"),tool_selection_mode:A80.optional().describe("New tool selection mode"),icon:U.string().nullable().optional().describe("New icon URL (null to clear)"),status:U.enum(["active","inactive"]).optional().describe("New status"),connections:U.array(U.object({connection_id:U.string().describe("Connection ID"),selected_tools:U.array(U.string()).nullable().optional().describe("Selected tool names (null/undefined = all tools or full exclusion)"),selected_resources:U.array(U.string()).nullable().optional().describe("Selected resource URIs or patterns with * and ** wildcards (null/undefined = all resources)"),selected_prompts:U.array(U.string()).nullable().optional().describe("Selected prompt names (null/undefined = all prompts or full exclusion)")})).optional().describe("New connections (replaces existing)")})});var cv6,nv6,E80;var VJ1=a(()=>{s0();Z6();tz();cv6=U.object({data:HJ1.describe("Data for the new virtual MCP")}),nv6=U.object({item:H7.describe("The created virtual MCP entity")}),E80=t0({name:"COLLECTION_VIRTUAL_MCP_CREATE",description:"Create a new MCP virtual MCP in the organization",inputSchema:cv6,outputSchema:nv6,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=b8(Y);if(!J)throw Error("User ID required to create virtual MCP");return{item:await Y.storage.virtualMcps.create(Q.id,J,X.data)}}})});function iv6(X){let Y=[],Q=0;while(Q<X.length){let J=X[Q];if(J==="%")Y.push(".*");else if(J==="_")Y.push(".");else if(/[.*+?^${}()|[\]\\]/.test(J))Y.push("\\"+J);else Y.push(J);Q++}return Y.join("")}function KK(X){return typeof X==="string"||typeof X==="number"}function j80(X,Y){let Q=Y.split("."),J=X;for(let G of Q){if(J==null||typeof J!=="object")return;J=J[G]}return J}function av6(X,Y){return X.connections.some((Q)=>Q.connection_id===Y)}function Kb(X,Y){if("conditions"in Y){let{operator:$,conditions:K}=Y;switch($){case"and":return K.every((H)=>Kb(X,H));case"or":return K.some((H)=>Kb(X,H));case"not":return!K.every((H)=>Kb(X,H));default:return!0}}let{field:Q,operator:J,value:G}=Y,W=Q.join(".");if(W==="connection_id"){if(J!=="eq"||typeof G!=="string")return!1;return av6(X,G)}let Z=j80(X,W);switch(J){case"eq":return Z===G;case"gt":return KK(Z)&&KK(G)&&Z>G;case"gte":return KK(Z)&&KK(G)&&Z>=G;case"lt":return KK(Z)&&KK(G)&&Z<G;case"lte":return KK(Z)&&KK(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 $=iv6(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 rv6(X,Y){return[...X].sort((Q,J)=>{for(let G of Y){let W=G.field.join("."),Z=j80(Q,W),$=j80(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 ov6,sv6,C80;var qJ1=a(()=>{f5();Z6();tz();ov6=qF,sv6=UF(H7),C80=t0({name:"COLLECTION_VIRTUAL_MCP_LIST",description:"List all MCP virtual MCPs in the organization",inputSchema:ov6,outputSchema:sv6,handler:async(X,Y)=>{await Y.access.check();let Q=_1(Y),J=X.where&&!("conditions"in X.where)&&X.where.field.join(".")==="connection_id"&&X.where.operator==="eq"&&typeof X.where.value==="string"?X.where.value:void 0,W=J?await Y.storage.virtualMcps.listByConnectionId(Q.id,J):await Y.storage.virtualMcps.list(Q.id);if(X.where)W=W.filter((V)=>Kb(V,X.where));if(X.orderBy&&X.orderBy.length>0)W=rv6(W,X.orderBy);let Z=W.length,$=X.offset??0,K=X.limit??100,H=W.slice($,$+K),F=$+K<Z;return{items:H,totalCount:Z,hasMore:F}}})});var tv6,ev6,I80;var UJ1=a(()=>{s0();Z6();tz();tv6=U.object({id:U.string().describe("ID of the virtual MCP to retrieve")}),ev6=U.object({item:H7.nullable().describe("The retrieved virtual MCP, or null if not found")}),I80=t0({name:"COLLECTION_VIRTUAL_MCP_GET",description:"Get an MCP virtual MCP by ID",inputSchema:tv6,outputSchema:ev6,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=await Y.storage.virtualMcps.findById(X.id);if(J&&J.organization_id!==Q.id)return{item:null};if(!J)return{item:null};return{item:J}}})});var X_6,Y_6,R80;var zJ1=a(()=>{s0();Z6();tz();X_6=U.object({id:U.string().describe("ID of the virtual MCP to update"),data:FJ1.describe("Partial virtual MCP data to update")}),Y_6=U.object({item:H7.describe("The updated virtual MCP entity")}),R80=t0({name:"COLLECTION_VIRTUAL_MCP_UPDATE",description:"Update an MCP virtual MCP",inputSchema:X_6,outputSchema:Y_6,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=b8(Y);if(!J)throw Error("User ID required to update virtual MCP");let G=await Y.storage.virtualMcps.findById(X.id);if(!G)throw Error(`Virtual MCP not found: ${X.id}`);if(G.organization_id!==Q.id)throw Error(`Virtual MCP not found: ${X.id}`);return{item:await Y.storage.virtualMcps.update(X.id,J,X.data)}}})});var Q_6,J_6,S80;var BJ1=a(()=>{s0();Z6();tz();Q_6=U.object({id:U.string().describe("ID of the virtual MCP to delete")}),J_6=U.object({item:H7.describe("The deleted virtual MCP entity")}),S80=t0({name:"COLLECTION_VIRTUAL_MCP_DELETE",description:"Delete an MCP virtual MCP",inputSchema:Q_6,outputSchema:J_6,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=await Y.storage.virtualMcps.findById(X.id);if(!J)throw Error(`Virtual MCP not found: ${X.id}`);if(J.organization_id!==Q.id)throw Error(`Virtual MCP not found: ${X.id}`);return await Y.storage.virtualMcps.delete(X.id),{item:J}}})});var DJ1=a(()=>{VJ1();qJ1();UJ1();zJ1();BJ1()});var W_6,k80;var NJ1=a(()=>{Z6();s0();W_6=U.object({id:U.string().optional().describe("Unique log identifier"),organizationId:U.string().describe("Organization ID"),connectionId:U.string().describe("Connection ID"),connectionTitle:U.string().describe("Connection display name"),toolName:U.string().describe("Name of the tool that was called"),input:U.record(U.string(),U.unknown()).describe("Redacted tool input"),output:U.record(U.string(),U.unknown()).describe("Redacted tool output"),isError:U.boolean().describe("Whether the call resulted in an error"),errorMessage:U.string().nullish().describe("Error message if applicable"),durationMs:U.number().describe("Call duration in milliseconds"),timestamp:U.string().describe("ISO 8601 timestamp of the call"),userId:U.string().nullish().describe("User who triggered the call"),requestId:U.string().describe("Unique request identifier"),userAgent:U.string().nullish().describe("Client identifier (x-mesh-client header)"),virtualMcpId:U.string().nullish().describe("Virtual MCP (Agent) ID if routed through an agent"),properties:U.record(U.string(),U.string()).nullish().describe("Custom key-value metadata attached to the log")}),k80=t0({name:"MONITORING_LOGS_LIST",description:"List monitoring logs for tool calls in the organization",inputSchema:U.object({connectionId:U.string().optional().describe("Filter by connection ID"),virtualMcpId:U.string().optional().describe("Filter by Virtual MCP (Agent) ID"),toolName:U.string().optional().describe("Filter by tool name"),isError:U.boolean().optional().describe("Filter by error status"),startDate:U.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:U.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)"),limit:U.number().default(100).describe("Maximum number of results"),offset:U.number().default(0).describe("Offset for pagination"),properties:U.record(U.string(),U.string()).optional().describe("Filter by exact property key=value matches"),propertyKeys:U.array(U.string()).optional().describe("Filter by logs that have these property keys"),propertyPatterns:U.record(U.string(),U.string()).optional().describe("Filter by property value patterns (SQL LIKE, use % as wildcard)")}),outputSchema:U.object({logs:U.array(W_6).describe("Array of monitoring logs"),total:U.number().describe("Total number of logs matching filters"),offset:U.number().describe("Current offset for pagination"),limit:U.number().describe("Current limit for pagination")}),handler:async(X,Y)=>{let Q=_1(Y),G=X.properties||X.propertyKeys||X.propertyPatterns?{properties:X.properties,propertyKeys:X.propertyKeys,propertyPatterns:X.propertyPatterns}:void 0,W={organizationId:Q.id,connectionId:X.connectionId,virtualMcpId:X.virtualMcpId,toolName:X.toolName,isError:X.isError,startDate:X.startDate?new Date(X.startDate):void 0,endDate:X.endDate?new Date(X.endDate):void 0,limit:X.limit,offset:X.offset,propertyFilters:G},Z=await Y.storage.monitoring.query(W);return{logs:Z.logs.map(($)=>({...$,timestamp:$.timestamp instanceof Date?$.timestamp.toISOString():$.timestamp})),total:Z.total,offset:X.offset,limit:X.limit}}})});var v80;var OJ1=a(()=>{Z6();s0();v80=t0({name:"MONITORING_STATS",description:"Get aggregated statistics for tool call monitoring",inputSchema:U.object({startDate:U.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:U.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)")}),outputSchema:U.object({totalCalls:U.number().describe("Total number of tool calls"),errorRate:U.number().describe("Error rate as a decimal (0 to 1)"),avgDurationMs:U.number().describe("Average call duration in milliseconds"),errorRatePercent:U.string().describe("Error rate as a percentage string")}),handler:async(X,Y)=>{let J={organizationId:_1(Y).id,startDate:X.startDate?new Date(X.startDate):void 0,endDate:X.endDate?new Date(X.endDate):void 0},G=await Y.storage.monitoring.getStats(J);return{...G,errorRatePercent:(G.errorRate*100).toFixed(2)}}})});var LJ1=a(()=>{NJ1();OJ1()});var _80;var wJ1=a(()=>{s0();Z6();_80=t0({name:"ORGANIZATION_CREATE",description:"Create a new organization",inputSchema:U.object({slug:U.string().min(1).max(50).regex(/^[a-z0-9-]+$/,"Slug must be lowercase alphanumeric with hyphens"),name:U.string().min(1).max(255),description:U.string().optional()}),outputSchema:U.object({id:U.string(),name:U.string(),slug:U.string(),logo:U.string().nullable().optional(),metadata:U.any().optional(),createdAt:U.string().datetime().describe("ISO 8601 timestamp"),members:U.array(U.any()).optional()}),handler:async(X,Y)=>{U1(Y),await Y.access.check();let Q=b8(Y);if(!Q)throw Error("User ID required to create organization");let J=await Y.boundAuth.organization.create({name:X.name,slug:X.slug,metadata:X.description?{description:X.description}:void 0,userId:Q});if(!J)throw Error("Failed to create organization");return{...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt}}})});var y80;var MJ1=a(()=>{s0();Z6();y80=t0({name:"ORGANIZATION_LIST",description:"List all organizations user has access to",inputSchema:U.object({userId:U.string().optional()}),outputSchema:U.object({organizations:U.array(U.object({id:U.string(),name:U.string(),slug:U.string(),logo:U.string().nullable().optional(),metadata:U.any().optional(),createdAt:U.string().datetime().describe("ISO 8601 timestamp")}))}),handler:async(X,Y)=>{U1(Y),await Y.access.check();let Q=b8(Y),J=X.userId||Q;if(!J)throw Error("User ID required to list organizations");return{organizations:(await Y.boundAuth.organization.list(J)).map((W)=>({...W,createdAt:W.createdAt instanceof Date?W.createdAt.toISOString():W.createdAt}))}}})});var b80;var PJ1=a(()=>{s0();Z6();b80=t0({name:"ORGANIZATION_GET",description:"Get organization details by slug or ID",inputSchema:U.object({}),outputSchema:U.object({id:U.string(),name:U.string(),slug:U.string(),logo:U.string().nullable().optional(),metadata:U.any().optional(),createdAt:U.string().datetime().describe("ISO 8601 timestamp"),members:U.array(U.any()).optional(),invitations:U.array(U.any()).optional()}),handler:async(X,Y)=>{U1(Y),await Y.access.check();let Q=await Y.boundAuth.organization.get();if(!Q)throw Error("No active organization found");return{...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt}}})});var f80;var TJ1=a(()=>{s0();Z6();f80=t0({name:"ORGANIZATION_UPDATE",description:"Update an existing organization",inputSchema:U.object({id:U.string(),slug:U.string().min(1).max(50).regex(/^[a-z0-9-]+$/).optional(),name:U.string().min(1).max(255).optional(),description:U.string().optional()}),outputSchema:U.object({id:U.string(),name:U.string(),slug:U.string(),logo:U.string().nullable().optional(),metadata:U.any().optional(),createdAt:U.string().datetime().describe("ISO 8601 timestamp")}),handler:async(X,Y)=>{U1(Y),await Y.access.check();let Q={};if(X.name)Q.name=X.name;if(X.slug)Q.slug=X.slug;if(X.description)Q.metadata={description:X.description};let J=await Y.boundAuth.organization.update({organizationId:X.id,data:Q});if(!J)throw Error("Failed to update organization");return{...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt}}})});var h80;var AJ1=a(()=>{s0();Z6();h80=t0({name:"ORGANIZATION_DELETE",description:"Delete an organization",inputSchema:U.object({id:U.string()}),outputSchema:U.object({success:U.boolean(),id:U.string()}),handler:async(X,Y)=>{return U1(Y),await Y.access.check(),await Y.boundAuth.organization.delete(X.id),{success:!0,id:X.id}}})});var fP;var x80=a(()=>{s0();fP=U.object({title:U.string(),url:U.string(),icon:U.string()})});var g80;var EJ1=a(()=>{s0();Z6();x80();g80=t0({name:"ORGANIZATION_SETTINGS_GET",description:"Get organization-level settings",inputSchema:U.object({}),outputSchema:U.object({organizationId:U.string(),sidebar_items:U.array(fP).nullable().optional(),enabled_plugins:U.array(U.string()).nullable().optional(),createdAt:U.string().datetime().optional().describe("ISO 8601 timestamp"),updatedAt:U.string().datetime().optional().describe("ISO 8601 timestamp")}),handler:async(X,Y)=>{U1(Y),await Y.access.check();let Q=Y.organization?.id;if(!Q)throw Error("Organization ID required (no active organization in context)");let J=await Y.storage.organizationSettings.get(Q);if(!J)return{organizationId:Q};return{...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt,updatedAt:J.updatedAt instanceof Date?J.updatedAt.toISOString():J.updatedAt}}})});var u80;var jJ1=a(()=>{s0();Z6();x80();u80=t0({name:"ORGANIZATION_SETTINGS_UPDATE",description:"Update organization-level settings",inputSchema:U.object({organizationId:U.string(),sidebar_items:U.array(fP).optional(),enabled_plugins:U.array(U.string()).optional()}),outputSchema:U.object({organizationId:U.string(),sidebar_items:U.array(fP).nullable().optional(),enabled_plugins:U.array(U.string()).nullable().optional(),createdAt:U.string().datetime().describe("ISO 8601 timestamp"),updatedAt:U.string().datetime().describe("ISO 8601 timestamp")}),handler:async(X,Y)=>{if(U1(Y),await Y.access.check(),Y.organization&&Y.organization.id!==X.organizationId)throw Error("Cannot update settings for a different organization");let Q=await Y.storage.organizationSettings.upsert(X.organizationId,{sidebar_items:X.sidebar_items,enabled_plugins:X.enabled_plugins});return{...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt,updatedAt:Q.updatedAt instanceof Date?Q.updatedAt.toISOString():Q.updatedAt}}})});var m80;var CJ1=a(()=>{s0();Z6();m80=t0({name:"ORGANIZATION_MEMBER_ADD",description:"Add a member to an organization",inputSchema:U.object({organizationId:U.string().optional(),userId:U.string(),role:U.array(U.string())}),outputSchema:U.object({id:U.string(),organizationId:U.string(),userId:U.string(),role:U.union([U.string(),U.array(U.string())]),createdAt:U.string().datetime().describe("ISO 8601 timestamp")}),handler:async(X,Y)=>{U1(Y),await Y.access.check();let Q=X.organizationId||Y.organization?.id;if(!Q)throw Error("Organization ID required (no active organization in context)");let J=await Y.boundAuth.organization.addMember({organizationId:Q,userId:X.userId,role:X.role});if(!J)throw Error("Failed to add member");return{...J,role:J.role,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt}}})});var l80;var IJ1=a(()=>{s0();Z6();l80=t0({name:"ORGANIZATION_MEMBER_REMOVE",description:"Remove a member from an organization",inputSchema:U.object({organizationId:U.string().optional(),memberIdOrEmail:U.string()}),outputSchema:U.object({success:U.boolean(),memberIdOrEmail:U.string()}),handler:async(X,Y)=>{U1(Y),await Y.access.check();let Q=X.organizationId||Y.organization?.id;if(!Q)throw Error("Organization ID required (no active organization in context)");return await Y.boundAuth.organization.removeMember({organizationId:Q,memberIdOrEmail:X.memberIdOrEmail}),{success:!0,memberIdOrEmail:X.memberIdOrEmail}}})});var d80;var RJ1=a(()=>{s0();Z6();d80=t0({name:"ORGANIZATION_MEMBER_LIST",description:"List all members in an organization",inputSchema:U.object({limit:U.number().optional(),offset:U.number().optional()}),outputSchema:U.object({members:U.array(U.object({id:U.string(),organizationId:U.string(),userId:U.string(),role:U.string(),createdAt:U.string().datetime().describe("ISO 8601 timestamp"),user:U.object({id:U.string(),name:U.string(),email:U.string(),image:U.string().optional()}).optional()}))}),handler:async(X,Y)=>{U1(Y),await Y.access.check();let Q=Y.organization?.id;if(!Q)throw Error("Organization ID required (no active organization in context)");let J=await Y.boundAuth.organization.listMembers({organizationId:Q,limit:X.limit,offset:X.offset});return{members:(Array.isArray(J)?J:[]).map((W)=>({...W,createdAt:W.createdAt instanceof Date?W.createdAt.toISOString():W.createdAt}))}}})});var p80;var SJ1=a(()=>{s0();Z6();p80=t0({name:"ORGANIZATION_MEMBER_UPDATE_ROLE",description:"Update a member's role in an organization",inputSchema:U.object({organizationId:U.string().optional(),memberId:U.string(),role:U.array(U.string())}),outputSchema:U.object({id:U.string(),organizationId:U.string(),userId:U.string(),role:U.union([U.literal("admin"),U.literal("member"),U.literal("owner")]),createdAt:U.string().datetime().describe("ISO 8601 timestamp"),user:U.object({email:U.string(),name:U.string(),image:U.string().optional()})}),handler:async(X,Y)=>{U1(Y),await Y.access.check();let Q=X.organizationId||Y.organization?.id;if(!Q)throw Error("Organization ID required (no active organization in context)");let J=await Y.boundAuth.organization.updateMemberRole({organizationId:Q,memberId:X.memberId,role:X.role});if(!J)throw Error("Failed to update member role");return{...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt}}})});var kJ1=a(()=>{wJ1();MJ1();PJ1();TJ1();AJ1();EJ1();jJ1();CJ1();IJ1();RJ1();SJ1()});var vJ1,F7,_J1,yJ1;var zF=a(()=>{s0();vJ1=U.object({id:U.string().describe("Unique message ID"),threadId:U.string().describe("ID of the parent thread"),metadata:U.unknown().optional().describe("Optional message metadata"),parts:U.array(U.record(U.string(),U.unknown())).describe("Message content parts (AI SDK UIMessagePart format)"),role:U.enum(["user","assistant","system"]).describe("Message role"),createdAt:U.string().datetime().describe("Timestamp of creation"),updatedAt:U.string().datetime().describe("Timestamp of last update")}),F7=U.object({id:U.string().describe("Unique thread ID"),organizationId:U.string().describe("Organization this thread belongs to"),title:U.string().describe("Thread title"),description:U.string().nullable().describe("Thread description"),createdAt:U.string().datetime().describe("Timestamp of creation"),updatedAt:U.string().datetime().describe("Timestamp of last update"),hidden:U.boolean().optional().describe("Whether the thread is hidden"),createdBy:U.string().describe("User ID who created the thread"),updatedBy:U.string().nullable().describe("User ID who last updated the thread")}),_J1=U.object({id:U.string().optional().describe("Optional custom ID for the thread"),title:U.string().describe("Thread title"),description:U.string().nullish().describe("Thread description")}),yJ1=U.object({title:U.string().optional().describe("New thread title"),description:U.string().nullish().describe("New thread description"),hidden:U.boolean().optional().describe("Whether the thread is hidden")})});var K_6,H_6,c80;var bJ1=a(()=>{s0();Z6();zF();CW();K_6=U.object({data:_J1.describe("Data for the new thread (id is auto-generated if not provided)")}),H_6=U.object({item:F7.describe("The created thread entity")}),c80=t0({name:"COLLECTION_THREADS_CREATE",description:"Create a new thread in the organization",inputSchema:K_6,outputSchema:H_6,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=b8(Y);if(!J)throw Error("User ID required to create thread");let G=X.data.id??o8("thrd"),W=await Y.storage.threads.create({id:G,organizationId:Q.id,title:X.data.title,description:X.data.description,createdBy:J});return{item:{...W,hidden:W.hidden??!1}}}})});var F_6,V_6,n80;var fJ1=a(()=>{f5();Z6();zF();s0();F_6=qF.extend({where:U.object({created_by:U.string().optional()}).optional()}),V_6=UF(F7),n80=t0({name:"COLLECTION_THREADS_LIST",description:"List all threads in the organization with filtering, sorting, and pagination",inputSchema:F_6,outputSchema:V_6,handler:async(X,Y)=>{await Y.access.check();let Q=Y.auth.user?.id;if(!Q)throw Error("User ID required to list threads");let J=_1(Y),G=X.offset??0,W=X.limit??100,{threads:Z,total:$}=await Y.storage.threads.list(J.id,Q,{limit:W,offset:G}),K=G+W<$;return{items:Z.map((H)=>({...H,hidden:H.hidden??!1})),totalCount:$,hasMore:K}}})});var q_6,i80;var hJ1=a(()=>{f5();Z6();zF();q_6=wP(F7),i80=t0({name:"COLLECTION_THREADS_GET",description:"Get thread details by ID",inputSchema:LP,outputSchema:q_6,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=await Y.storage.threads.get(X.id);if(!J||J.organizationId!==Q.id)return{item:null};return{item:{...J,hidden:J.hidden??!1}}}})});var U_6,z_6,a80;var xJ1=a(()=>{s0();Z6();zF();U_6=U.object({id:U.string().describe("ID of the thread to update"),data:yJ1.describe("Partial thread data to update")}),z_6=U.object({item:F7.describe("The updated thread entity")}),a80=t0({name:"COLLECTION_THREADS_UPDATE",description:"Update an existing thread in the organization",inputSchema:U_6,outputSchema:z_6,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=b8(Y);if(!J)throw Error("User ID required to update thread");let{id:G,data:W}=X,Z=await Y.storage.threads.get(G);if(!Z||Z.organizationId!==Q.id)throw Error("Thread not found in organization");let $=await Y.storage.threads.update(G,{title:W.title,description:W.description,hidden:W.hidden,updatedBy:J});return{item:{...$,hidden:$.hidden??!1}}}})});var r80;var gJ1=a(()=>{f5();Z6();zF();r80=t0({name:"COLLECTION_THREADS_DELETE",description:"Delete a thread",inputSchema:MP,outputSchema:PP(F7),handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=await Y.storage.threads.get(X.id);if(!J)throw Error(`Thread not found: ${X.id}`);if(J.organizationId!==Q.id)throw Error(`Thread not found: ${X.id}`);return await Y.storage.threads.delete(X.id),{item:{...J,hidden:J.hidden??!1}}}})});var B_6,D_6,o80;var uJ1=a(()=>{s0();Z6();zF();B_6=U.object({threadId:U.string().describe("ID of the thread to list messages for"),limit:U.number().optional().describe("Maximum number of messages to return"),offset:U.number().optional().describe("Number of messages to skip")}),D_6=U.object({items:U.array(vJ1).describe("List of thread messages"),totalCount:U.number().describe("Total number of messages in the thread"),hasMore:U.boolean().describe("Whether there are more messages available")}),o80=t0({name:"COLLECTION_THREAD_MESSAGES_LIST",description:"List all messages for a specific thread",inputSchema:B_6,outputSchema:D_6,handler:async(X,Y)=>{let Q=_1(Y);await Y.access.check();let J=await Y.storage.threads.get(X.threadId);if(!J||J.organizationId!==Q.id)throw Error("Thread not found in organization");let G=X.offset??0,W=X.limit??100,{messages:Z,total:$}=await Y.storage.threads.listMessages(X.threadId,{limit:W,offset:G}),K=G+W<$;return{items:Z,totalCount:$,hasMore:K}}})});var mJ1=a(()=>{bJ1();fJ1();hJ1();xJ1();gJ1();uJ1()});var O_6,L_6,s80;var lJ1=a(()=>{s0();Z6();O_6=U.object({id:U.string().min(1)}),L_6=U.object({user:U.object({id:U.string(),name:U.string(),email:U.string(),image:U.string().nullable()}).nullable()}),s80=t0({name:"USER_GET",description:"Get a user by id (restricted to shared organizations)",inputSchema:O_6,outputSchema:L_6,handler:async(X,Y)=>{await Y.access.check(),U1(Y);let Q=b8(Y);if(!Q)throw Error("Authentication required");let J=await Y.storage.users.findById(X.id,Q);if(!J)return{user:null};return{user:{id:J.id,name:J.name,email:J.email,image:J.image??null}}}})});var dJ1=a(()=>{lJ1()});var cJ1={};I8(cJ1,{managementMCP:()=>t80,ALL_TOOLS:()=>pJ1});var pJ1,t80=(X)=>{let Y=pJ1.map((J)=>({name:J.name,description:J.description,inputSchema:J.inputSchema,outputSchema:J.outputSchema,handler:async(G)=>{return X.access.setToolName(J.name),await J.execute(G,X)}}));return sY1({name:"mcp-mesh-management",version:"1.0.0"}).withTools(Y).build()};var e80=a(()=>{tY1();q91();JQ1();aQ1();tQ1();KJ1();DJ1();LJ1();kJ1();mJ1();dJ1();pJ1=[_80,y80,b80,f80,h80,g80,u80,m80,l80,d80,p80,Y80,F80,V80,z80,B80,D80,E80,C80,I80,R80,S80,sQ1,k80,v80,R40,k40,v40,S40,N80,O80,L80,w80,M80,P80,T80,s80,t40,e40,X80,c80,n80,i80,a80,r80,o80]});var RX0=I((Fi4,y71)=>{var{defineProperty:IX0,getOwnPropertyDescriptor:xb6,getOwnPropertyNames:gb6}=Object,ub6=Object.prototype.hasOwnProperty,mb6=(X,Y)=>{for(var Q in Y)IX0(X,Q,{get:Y[Q],enumerable:!0})},lb6=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of gb6(Y))if(!ub6.call(X,G)&&G!==Q)IX0(X,G,{get:()=>Y[G],enumerable:!(J=xb6(Y,G))||J.enumerable})}return X},db6=(X)=>lb6(IX0({},"__esModule",{value:!0}),X),v71={};mb6(v71,{SYMBOL_FOR_REQ_CONTEXT:()=>_71,getContext:()=>pb6});y71.exports=db6(v71);var _71=Symbol.for("@vercel/request-context");function pb6(){return globalThis[_71]?.get?.()??{}}});var nP=I((Vi4,h71)=>{var{defineProperty:SX0,getOwnPropertyDescriptor:cb6,getOwnPropertyNames:nb6}=Object,ib6=Object.prototype.hasOwnProperty,ab6=(X,Y)=>{for(var Q in Y)SX0(X,Q,{get:Y[Q],enumerable:!0})},rb6=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of nb6(Y))if(!ib6.call(X,G)&&G!==Q)SX0(X,G,{get:()=>Y[G],enumerable:!(J=cb6(Y,G))||J.enumerable})}return X},ob6=(X)=>rb6(SX0({},"__esModule",{value:!0}),X),b71={};ab6(b71,{VercelOidcTokenError:()=>f71});h71.exports=ob6(b71);class f71 extends Error{constructor(X,Y){super(X);this.name="VercelOidcTokenError",this.cause=Y}toString(){if(this.cause)return`${this.name}: ${this.message}: ${this.cause}`;return`${this.name}: ${this.message}`}}});var m71=I((qi4,u71)=>{var{create:sb6,defineProperty:Mb,getOwnPropertyDescriptor:tb6,getOwnPropertyNames:eb6,getPrototypeOf:Xf6}=Object,Yf6=Object.prototype.hasOwnProperty,Qf6=(X,Y)=>{for(var Q in Y)Mb(X,Q,{get:Y[Q],enumerable:!0})},x71=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of eb6(Y))if(!Yf6.call(X,G)&&G!==Q)Mb(X,G,{get:()=>Y[G],enumerable:!(J=tb6(Y,G))||J.enumerable})}return X},vX0=(X,Y,Q)=>(Q=X!=null?sb6(Xf6(X)):{},x71(Y||!X||!X.__esModule?Mb(Q,"default",{value:X,enumerable:!0}):Q,X)),Jf6=(X)=>x71(Mb({},"__esModule",{value:!0}),X),g71={};Qf6(g71,{findRootDir:()=>Zf6,getUserDataDir:()=>$f6});u71.exports=Jf6(g71);var iP=vX0(z0("path")),Gf6=vX0(z0("fs")),kX0=vX0(z0("os")),Wf6=nP();function Zf6(){try{let X=process.cwd();while(X!==iP.default.dirname(X)){let Y=iP.default.join(X,".vercel");if(Gf6.default.existsSync(Y))return X;X=iP.default.dirname(X)}}catch(X){throw new Wf6.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}function $f6(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(kX0.default.platform()){case"darwin":return iP.default.join(kX0.default.homedir(),"Library/Application Support");case"linux":return iP.default.join(kX0.default.homedir(),".local/share");case"win32":if(process.env.LOCALAPPDATA)return process.env.LOCALAPPDATA;return null;default:return null}}});var a71=I((Ui4,i71)=>{var{create:Kf6,defineProperty:Pb,getOwnPropertyDescriptor:Hf6,getOwnPropertyNames:Ff6,getPrototypeOf:Vf6}=Object,qf6=Object.prototype.hasOwnProperty,Uf6=(X,Y)=>{for(var Q in Y)Pb(X,Q,{get:Y[Q],enumerable:!0})},l71=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of Ff6(Y))if(!qf6.call(X,G)&&G!==Q)Pb(X,G,{get:()=>Y[G],enumerable:!(J=Hf6(Y,G))||J.enumerable})}return X},d71=(X,Y,Q)=>(Q=X!=null?Kf6(Vf6(X)):{},l71(Y||!X||!X.__esModule?Pb(Q,"default",{value:X,enumerable:!0}):Q,X)),zf6=(X)=>l71(Pb({},"__esModule",{value:!0}),X),p71={};Uf6(p71,{isValidAccessToken:()=>Of6,readAuthConfig:()=>Df6,writeAuthConfig:()=>Nf6});i71.exports=zf6(p71);var aP=d71(z0("fs")),c71=d71(z0("path")),Bf6=Tb();function n71(){let X=(0,Bf6.getVercelDataDir)();if(!X)throw Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return c71.join(X,"auth.json")}function Df6(){try{let X=n71();if(!aP.existsSync(X))return null;let Y=aP.readFileSync(X,"utf8");if(!Y)return null;return JSON.parse(Y)}catch(X){return null}}function Nf6(X){let Y=n71(),Q=c71.dirname(Y);if(!aP.existsSync(Q))aP.mkdirSync(Q,{mode:504,recursive:!0});aP.writeFileSync(Y,JSON.stringify(X,null,2),{mode:384})}function Of6(X){if(!X.token)return!1;if(typeof X.expiresAt!=="number")return!0;let Y=Math.floor(Date.now()/1000);return X.expiresAt>=Y}});var t71=I((zi4,s71)=>{var{defineProperty:bX0,getOwnPropertyDescriptor:Lf6,getOwnPropertyNames:wf6}=Object,Mf6=Object.prototype.hasOwnProperty,Pf6=(X,Y)=>{for(var Q in Y)bX0(X,Q,{get:Y[Q],enumerable:!0})},Tf6=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of wf6(Y))if(!Mf6.call(X,G)&&G!==Q)bX0(X,G,{get:()=>Y[G],enumerable:!(J=Lf6(Y,G))||J.enumerable})}return X},Af6=(X)=>Tf6(bX0({},"__esModule",{value:!0}),X),r71={};Pf6(r71,{processTokenResponse:()=>Rf6,refreshTokenRequest:()=>If6});s71.exports=Af6(r71);var _X0=z0("os"),Ef6="https://vercel.com",jf6="cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",o71=`@vercel/oidc node-${process.version} ${(0,_X0.platform)()} (${(0,_X0.arch)()}) ${(0,_X0.hostname)()}`,yX0=null;async function Cf6(){if(yX0)return yX0;let X=`${Ef6}/.well-known/openid-configuration`,Y=await fetch(X,{headers:{"user-agent":o71}});if(!Y.ok)throw Error("Failed to discover OAuth endpoints");let Q=await Y.json();if(!Q||typeof Q.token_endpoint!=="string")throw Error("Invalid OAuth discovery response");let J=Q.token_endpoint;return yX0=J,J}async function If6(X){let Y=await Cf6();return await fetch(Y,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":o71},body:new URLSearchParams({client_id:jf6,grant_type:"refresh_token",...X})})}async function Rf6(X){let Y=await X.json();if(!X.ok){let Q=typeof Y==="object"&&Y&&"error"in Y?String(Y.error):"Token refresh failed";return[Error(Q)]}if(typeof Y!=="object"||Y===null)return[Error("Invalid token response")];if(typeof Y.access_token!=="string")return[Error("Missing access_token in response")];if(Y.token_type!=="Bearer")return[Error("Invalid token_type in response")];if(typeof Y.expires_in!=="number")return[Error("Missing expires_in in response")];return[null,Y]}});var Tb=I((Bi4,JW1)=>{var{create:Sf6,defineProperty:Ab,getOwnPropertyDescriptor:kf6,getOwnPropertyNames:vf6,getPrototypeOf:_f6}=Object,yf6=Object.prototype.hasOwnProperty,bf6=(X,Y)=>{for(var Q in Y)Ab(X,Q,{get:Y[Q],enumerable:!0})},XW1=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of vf6(Y))if(!yf6.call(X,G)&&G!==Q)Ab(X,G,{get:()=>Y[G],enumerable:!(J=kf6(Y,G))||J.enumerable})}return X},YW1=(X,Y,Q)=>(Q=X!=null?Sf6(_f6(X)):{},XW1(Y||!X||!X.__esModule?Ab(Q,"default",{value:X,enumerable:!0}):Q,X)),ff6=(X)=>XW1(Ab({},"__esModule",{value:!0}),X),QW1={};bf6(QW1,{assertVercelOidcTokenResponse:()=>fX0,findProjectInfo:()=>uf6,getTokenPayload:()=>df6,getVercelCliToken:()=>xf6,getVercelDataDir:()=>hf6,getVercelOidcToken:()=>gf6,isExpired:()=>pf6,loadToken:()=>lf6,saveToken:()=>mf6});JW1.exports=ff6(QW1);var rP=YW1(z0("path")),PF=YW1(z0("fs")),WB=nP(),Eb=m71(),GB=a71(),e71=t71();function hf6(){let Y=(0,Eb.getUserDataDir)();if(!Y)return null;return rP.join(Y,"com.vercel.cli")}async function xf6(){let X=(0,GB.readAuthConfig)();if(!X)return null;if((0,GB.isValidAccessToken)(X))return X.token||null;if(!X.refreshToken)return(0,GB.writeAuthConfig)({}),null;try{let Y=await(0,e71.refreshTokenRequest)({refresh_token:X.refreshToken}),[Q,J]=await(0,e71.processTokenResponse)(Y);if(Q||!J)return(0,GB.writeAuthConfig)({}),null;let G={token:J.access_token,expiresAt:Math.floor(Date.now()/1000)+J.expires_in};if(J.refresh_token)G.refreshToken=J.refresh_token;return(0,GB.writeAuthConfig)(G),G.token??null}catch(Y){return(0,GB.writeAuthConfig)({}),null}}async function gf6(X,Y,Q){let J=`https://api.vercel.com/v1/projects/${Y}/token?source=vercel-oidc-refresh${Q?`&teamId=${Q}`:""}`,G=await fetch(J,{method:"POST",headers:{Authorization:`Bearer ${X}`}});if(!G.ok)throw new WB.VercelOidcTokenError(`Failed to refresh OIDC token: ${G.statusText}`);let W=await G.json();return fX0(W),W}function fX0(X){if(!X||typeof X!=="object")throw TypeError("Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again");if(!("token"in X)||typeof X.token!=="string")throw TypeError("Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again")}function uf6(){let X=(0,Eb.findRootDir)();if(!X)throw new WB.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let Y=rP.join(X,".vercel","project.json");if(!PF.existsSync(Y))throw new WB.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let Q=JSON.parse(PF.readFileSync(Y,"utf8"));if(typeof Q.projectId!=="string"&&typeof Q.orgId!=="string")throw TypeError("Expected a string-valued projectId property. Try running `vc link` to re-link your project.");return{projectId:Q.projectId,teamId:Q.orgId}}function mf6(X,Y){let Q=(0,Eb.getUserDataDir)();if(!Q)throw new WB.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let J=rP.join(Q,"com.vercel.token",`${Y}.json`),G=JSON.stringify(X);PF.mkdirSync(rP.dirname(J),{mode:504,recursive:!0}),PF.writeFileSync(J,G),PF.chmodSync(J,432);return}function lf6(X){let Y=(0,Eb.getUserDataDir)();if(!Y)throw new WB.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let Q=rP.join(Y,"com.vercel.token",`${X}.json`);if(!PF.existsSync(Q))return null;let J=JSON.parse(PF.readFileSync(Q,"utf8"));return fX0(J),J}function df6(X){let Y=X.split(".");if(Y.length!==3)throw new WB.VercelOidcTokenError("Invalid token. Please run `vc env pull` and try again");let Q=Y[1].replace(/-/g,"+").replace(/_/g,"/"),J=Q.padEnd(Q.length+(4-Q.length%4)%4,"=");return JSON.parse(Buffer.from(J,"base64").toString("utf8"))}function pf6(X){return X.exp*1000<Date.now()}});var ZW1=I((Di4,WW1)=>{var{defineProperty:xX0,getOwnPropertyDescriptor:cf6,getOwnPropertyNames:nf6}=Object,if6=Object.prototype.hasOwnProperty,af6=(X,Y)=>{for(var Q in Y)xX0(X,Q,{get:Y[Q],enumerable:!0})},rf6=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of nf6(Y))if(!if6.call(X,G)&&G!==Q)xX0(X,G,{get:()=>Y[G],enumerable:!(J=cf6(Y,G))||J.enumerable})}return X},of6=(X)=>rf6(xX0({},"__esModule",{value:!0}),X),GW1={};af6(GW1,{refreshToken:()=>sf6});WW1.exports=of6(GW1);var hX0=nP(),TF=Tb();async function sf6(){let{projectId:X,teamId:Y}=(0,TF.findProjectInfo)(),Q=(0,TF.loadToken)(X);if(!Q||(0,TF.isExpired)((0,TF.getTokenPayload)(Q.token))){let J=await(0,TF.getVercelCliToken)();if(!J)throw new hX0.VercelOidcTokenError("Failed to refresh OIDC token: Log in to Vercel CLI and link your project with `vc link`");if(!X)throw new hX0.VercelOidcTokenError("Failed to refresh OIDC token: Try re-linking your project with `vc link`");if(Q=await(0,TF.getVercelOidcToken)(J,X,Y),!Q)throw new hX0.VercelOidcTokenError("Failed to refresh OIDC token");(0,TF.saveToken)(Q,X)}process.env.VERCEL_OIDC_TOKEN=Q.token;return}});var HW1=I((Ni4,KW1)=>{var{defineProperty:uX0,getOwnPropertyDescriptor:tf6,getOwnPropertyNames:ef6}=Object,Xh6=Object.prototype.hasOwnProperty,Yh6=(X,Y)=>{for(var Q in Y)uX0(X,Q,{get:Y[Q],enumerable:!0})},Qh6=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of ef6(Y))if(!Xh6.call(X,G)&&G!==Q)uX0(X,G,{get:()=>Y[G],enumerable:!(J=tf6(Y,G))||J.enumerable})}return X},Jh6=(X)=>Qh6(uX0({},"__esModule",{value:!0}),X),$W1={};Yh6($W1,{getVercelOidcToken:()=>Zh6,getVercelOidcTokenSync:()=>gX0});KW1.exports=Jh6($W1);var Gh6=RX0(),Wh6=nP();async function Zh6(){let X="",Y;try{X=gX0()}catch(Q){Y=Q}try{let[{getTokenPayload:Q,isExpired:J},{refreshToken:G}]=await Promise.all([await Promise.resolve().then(() => e6(Tb())),await Promise.resolve().then(() => e6(ZW1()))]);if(!X||J(Q(X)))await G(),X=gX0()}catch(Q){let J=Y instanceof Error?Y.message:"";if(Q instanceof Error)J=`${J}
272
+ `.execute(X)).rows[0]?.exists)await t6`CREATE ROLE ${t6.id(Q)} NOLOGIN`.execute(X);await t6`GRANT ${t6.id(Q)} TO CURRENT_USER`.execute(X),await t6`GRANT USAGE, CREATE ON SCHEMA ${t6.id(Y)} TO ${t6.id(Q)}`.execute(X),await t6`GRANT ALL ON ALL TABLES IN SCHEMA ${t6.id(Y)} TO ${t6.id(Q)}`.execute(X),await t6`GRANT ALL ON ALL SEQUENCES IN SCHEMA ${t6.id(Y)} TO ${t6.id(Q)}`.execute(X),await t6`ALTER DEFAULT PRIVILEGES IN SCHEMA ${t6.id(Y)} GRANT ALL ON TABLES TO ${t6.id(Q)}`.execute(X),await t6`ALTER DEFAULT PRIVILEGES IN SCHEMA ${t6.id(Y)} GRANT ALL ON SEQUENCES TO ${t6.id(Q)}`.execute(X),await t6`REVOKE ALL ON SCHEMA public FROM ${t6.id(Q)}`.execute(X)}async function uv6(X,Y,Q,J){try{return await X.transaction().execute(async(G)=>{return await t6`SET LOCAL ROLE ${t6.id(Q)}`.execute(G),await t6`SET LOCAL search_path TO ${t6.id(Y)}`.execute(G),await t6.raw(J).execute(G)})}catch(G){if(xv6(G))return await gv6(X,Y,Q),await X.transaction().execute(async(W)=>{return await t6`SET LOCAL ROLE ${t6.id(Q)}`.execute(W),await t6`SET LOCAL search_path TO ${t6.id(Y)}`.execute(W),await t6.raw(J).execute(W)});throw G}}var _v6,bv6,sQ1;var tQ1=a(()=>{s0();Z6();_v6=U.object({results:U.array(U.unknown()).optional(),success:U.boolean().optional()});bv6=U.object({sql:U.string().describe("The SQL query to run"),params:U.array(U.any()).describe("The parameters to pass to the SQL query").optional()});sQ1=t0({name:"DATABASES_RUN_SQL",description:"Run a SQL query against the database",inputSchema:bv6,outputSchema:U.object({result:U.array(_v6)}),handler:async(X,Y)=>{U1(Y),await Y.access.check();let Q=yv6(X.sql,X.params||[]);if(!Y.connectionId)throw Error("Connection context required for database access");let J=fv6(Y.connectionId),G=hv6(Y.connectionId);return{result:[{results:(await uv6(Y.db,J,G,Q)).rows,success:!0}]}}})});var eQ1,lv6,XJ1;var nW=a(()=>{s0();Qb();eQ1=U.object({connectionId:U.string().optional().describe("Filter subscriptions by connection ID (optional)")}),lv6=U.object({id:U.string().describe("Subscription ID"),connectionId:U.string().describe("Subscriber connection ID"),eventType:U.string().describe("Event type pattern"),publisher:U.string().nullable().describe("Publisher connection filter (null = all publishers)"),filter:U.string().nullable().describe("JSONPath filter expression"),enabled:U.boolean().describe("Whether subscription is enabled"),createdAt:U.string().datetime().describe("Created timestamp (ISO 8601)"),updatedAt:U.string().datetime().describe("Updated timestamp (ISO 8601)")}),XJ1=U.object({subscriptions:U.array(lv6).describe("List of subscriptions")})});var N80;var YJ1=a(()=>{Z6();nW();N80=t0({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:TP,outputSchema:AP,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=Y.connectionId;if(!J)throw Error("Connection ID required to publish events. Use a connection-scoped token.");let G=await Y.eventBus.publish(Q.id,J,{type:X.type,subject:X.subject,data:X.data,deliverAt:X.deliverAt,cron:X.cron});return{id:G.id,type:G.type,source:G.source,time:G.time}}})});var O80;var QJ1=a(()=>{Z6();nW();O80=t0({name:"EVENT_SUBSCRIBE",description:"Subscribe to events of a specific type. The subscriber is automatically set to the caller's connection.",inputSchema:EP,outputSchema:jP,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=Y.connectionId;if(!J)throw Error("Connection ID required to subscribe. Use a connection-scoped token.");let G=await Y.eventBus.subscribe(Q.id,{connectionId:J,eventType:X.eventType,publisher:X.publisher,filter:X.filter});return{subscription:{id:G.id,connectionId:G.connectionId,eventType:G.eventType,publisher:G.publisher,filter:G.filter,enabled:G.enabled,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt,updatedAt:G.updatedAt instanceof Date?G.updatedAt.toISOString():G.updatedAt}}}})});var L80;var JJ1=a(()=>{Z6();nW();L80=t0({name:"EVENT_UNSUBSCRIBE",description:"Unsubscribe from events by removing a subscription.",inputSchema:RP,outputSchema:SP,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=Y.connectionId;if(!J)throw Error("Connection ID required to unsubscribe. Use a connection-scoped token.");let G=await Y.eventBus.getSubscription(Q.id,X.subscriptionId);if(!G)throw Error(`Subscription not found: ${X.subscriptionId}`);if(G.connectionId!==J)throw Error("Cannot unsubscribe from a subscription owned by another connection");return{success:(await Y.eventBus.unsubscribe(Q.id,X.subscriptionId)).success,subscriptionId:X.subscriptionId}}})});var w80;var GJ1=a(()=>{Z6();nW();w80=t0({name:"EVENT_CANCEL",description:"Cancel a recurring event to stop future deliveries. Only the publisher can cancel their own events.",inputSchema:kP,outputSchema:vP,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=Y.connectionId;if(!J)throw Error("Connection ID required to cancel events. Use a connection-scoped token.");if(!await Y.eventBus.getEvent(Q.id,X.eventId))throw Error(`Event not found: ${X.eventId}`);if(!(await Y.eventBus.cancelEvent(Q.id,X.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:X.eventId}}})});var M80;var WJ1=a(()=>{Z6();nW();M80=t0({name:"EVENT_ACK",description:"Acknowledge delivery of an event. Call after successfully processing an event received via ON_EVENTS with retryAfter.",inputSchema:_P,outputSchema:yP,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=Y.connectionId;if(!J)throw Error("Connection ID required to acknowledge events. Use a connection-scoped token.");if(!(await Y.eventBus.ackEvent(Q.id,X.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:X.eventId}}})});var P80;var ZJ1=a(()=>{Z6();nW();P80=t0({name:"EVENT_SUBSCRIPTION_LIST",description:"List event subscriptions, optionally filtered by connection ID.",inputSchema:eQ1,outputSchema:XJ1,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);return await Y.access.check(),{subscriptions:(await Y.eventBus.listSubscriptions(Q.id,X.connectionId)).map((G)=>({id:G.id,connectionId:G.connectionId,eventType:G.eventType,publisher:G.publisher,filter:G.filter,enabled:G.enabled,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt,updatedAt:G.updatedAt instanceof Date?G.updatedAt.toISOString():G.updatedAt}))}}})});var T80;var $J1=a(()=>{Z6();nW();T80=t0({name:"EVENT_SYNC_SUBSCRIPTIONS",description:"Sync subscriptions to desired state. Creates new, deletes removed, updates changed filters. Subscriptions are identified by (eventType, publisher).",inputSchema:CP,outputSchema:IP,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=Y.connectionId;if(!J)throw Error("Connection ID required to sync subscriptions. Use a connection-scoped token.");let G=await Y.eventBus.syncSubscriptions(Q.id,{connectionId:J,subscriptions:X.subscriptions});return{created:G.created,updated:G.updated,deleted:G.deleted,unchanged:G.unchanged,subscriptions:G.subscriptions.map((W)=>({id:W.id,connectionId:W.connectionId,eventType:W.eventType,publisher:W.publisher,filter:W.filter,enabled:W.enabled,createdAt:W.createdAt instanceof Date?W.createdAt.toISOString():W.createdAt,updatedAt:W.updatedAt instanceof Date?W.updatedAt.toISOString():W.updatedAt}))}}})});var KJ1=a(()=>{YJ1();QJ1();JJ1();GJ1();WJ1();ZJ1();$J1();nW()});var A80,pv6,H7,HJ1,FJ1;var tz=a(()=>{s0();A80=U.enum(["inclusion","exclusion"]).describe("Tool selection mode: 'inclusion' = include selected (default), 'exclusion' = exclude selected"),pv6=U.object({connection_id:U.string().describe("Connection ID"),selected_tools:U.array(U.string()).nullable().describe("Selected tool names. With 'inclusion' mode: null = all tools included. With 'exclusion' mode: null = entire connection excluded"),selected_resources:U.array(U.string()).nullable().describe("Selected resource URIs or patterns. Supports * and ** wildcards for pattern matching. With 'inclusion' mode: null = all resources included."),selected_prompts:U.array(U.string()).nullable().describe("Selected prompt names. With 'inclusion' mode: null = all prompts included. With 'exclusion' mode: null = entire connection excluded.")}),H7=U.object({id:U.string().describe("Unique identifier for the virtual MCP"),title:U.string().describe("Human-readable name for the virtual MCP"),description:U.string().nullable().describe("Description of the virtual MCP"),icon:U.string().nullable().optional().describe("Icon URL for the virtual MCP"),created_at:U.string().describe("When the virtual MCP was created"),updated_at:U.string().describe("When the virtual MCP was last updated"),created_by:U.string().describe("User ID who created the virtual MCP"),updated_by:U.string().optional().describe("User ID who last updated the virtual MCP"),organization_id:U.string().describe("Organization ID this virtual MCP belongs to"),tool_selection_mode:A80.describe("Tool selection mode: 'inclusion' = include selected, 'exclusion' = exclude selected"),status:U.enum(["active","inactive"]).describe("Current status"),connections:U.array(pv6).describe("Connections with their selected tools (behavior depends on tool_selection_mode)")}),HJ1=U.object({title:U.string().min(1).max(255).describe("Name for the virtual MCP"),description:U.string().nullable().optional().describe("Optional description"),tool_selection_mode:A80.optional().default("inclusion").describe("Tool selection mode (defaults to 'inclusion')"),icon:U.string().nullable().optional().describe("Optional icon URL"),status:U.enum(["active","inactive"]).optional().default("active").describe("Initial status"),connections:U.array(U.object({connection_id:U.string().describe("Connection ID"),selected_tools:U.array(U.string()).nullable().optional().describe("Selected tool names (null/undefined = all tools or full exclusion)"),selected_resources:U.array(U.string()).nullable().optional().describe("Selected resource URIs or patterns with * and ** wildcards (null/undefined = all resources)"),selected_prompts:U.array(U.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)")}),FJ1=U.object({title:U.string().min(1).max(255).optional().describe("New name"),description:U.string().nullable().optional().describe("New description (null to clear)"),tool_selection_mode:A80.optional().describe("New tool selection mode"),icon:U.string().nullable().optional().describe("New icon URL (null to clear)"),status:U.enum(["active","inactive"]).optional().describe("New status"),connections:U.array(U.object({connection_id:U.string().describe("Connection ID"),selected_tools:U.array(U.string()).nullable().optional().describe("Selected tool names (null/undefined = all tools or full exclusion)"),selected_resources:U.array(U.string()).nullable().optional().describe("Selected resource URIs or patterns with * and ** wildcards (null/undefined = all resources)"),selected_prompts:U.array(U.string()).nullable().optional().describe("Selected prompt names (null/undefined = all prompts or full exclusion)")})).optional().describe("New connections (replaces existing)")})});var cv6,nv6,E80;var VJ1=a(()=>{s0();Z6();tz();cv6=U.object({data:HJ1.describe("Data for the new virtual MCP")}),nv6=U.object({item:H7.describe("The created virtual MCP entity")}),E80=t0({name:"COLLECTION_VIRTUAL_MCP_CREATE",description:"Create a new MCP virtual MCP in the organization",inputSchema:cv6,outputSchema:nv6,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=b8(Y);if(!J)throw Error("User ID required to create virtual MCP");return{item:await Y.storage.virtualMcps.create(Q.id,J,X.data)}}})});function iv6(X){let Y=[],Q=0;while(Q<X.length){let J=X[Q];if(J==="%")Y.push(".*");else if(J==="_")Y.push(".");else if(/[.*+?^${}()|[\]\\]/.test(J))Y.push("\\"+J);else Y.push(J);Q++}return Y.join("")}function KK(X){return typeof X==="string"||typeof X==="number"}function j80(X,Y){let Q=Y.split("."),J=X;for(let G of Q){if(J==null||typeof J!=="object")return;J=J[G]}return J}function av6(X,Y){return X.connections.some((Q)=>Q.connection_id===Y)}function Kb(X,Y){if("conditions"in Y){let{operator:$,conditions:K}=Y;switch($){case"and":return K.every((H)=>Kb(X,H));case"or":return K.some((H)=>Kb(X,H));case"not":return!K.every((H)=>Kb(X,H));default:return!0}}let{field:Q,operator:J,value:G}=Y,W=Q.join(".");if(W==="connection_id"){if(J!=="eq"||typeof G!=="string")return!1;return av6(X,G)}let Z=j80(X,W);switch(J){case"eq":return Z===G;case"gt":return KK(Z)&&KK(G)&&Z>G;case"gte":return KK(Z)&&KK(G)&&Z>=G;case"lt":return KK(Z)&&KK(G)&&Z<G;case"lte":return KK(Z)&&KK(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 $=iv6(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 rv6(X,Y){return[...X].sort((Q,J)=>{for(let G of Y){let W=G.field.join("."),Z=j80(Q,W),$=j80(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 ov6,sv6,C80;var qJ1=a(()=>{f5();Z6();tz();ov6=qF,sv6=UF(H7),C80=t0({name:"COLLECTION_VIRTUAL_MCP_LIST",description:"List all MCP virtual MCPs in the organization",inputSchema:ov6,outputSchema:sv6,handler:async(X,Y)=>{await Y.access.check();let Q=_1(Y),J=X.where&&!("conditions"in X.where)&&X.where.field.join(".")==="connection_id"&&X.where.operator==="eq"&&typeof X.where.value==="string"?X.where.value:void 0,W=J?await Y.storage.virtualMcps.listByConnectionId(Q.id,J):await Y.storage.virtualMcps.list(Q.id);if(X.where)W=W.filter((V)=>Kb(V,X.where));if(X.orderBy&&X.orderBy.length>0)W=rv6(W,X.orderBy);let Z=W.length,$=X.offset??0,K=X.limit??100,H=W.slice($,$+K),F=$+K<Z;return{items:H,totalCount:Z,hasMore:F}}})});var tv6,ev6,I80;var UJ1=a(()=>{s0();Z6();tz();tv6=U.object({id:U.string().describe("ID of the virtual MCP to retrieve")}),ev6=U.object({item:H7.nullable().describe("The retrieved virtual MCP, or null if not found")}),I80=t0({name:"COLLECTION_VIRTUAL_MCP_GET",description:"Get an MCP virtual MCP by ID",inputSchema:tv6,outputSchema:ev6,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=await Y.storage.virtualMcps.findById(X.id);if(J&&J.organization_id!==Q.id)return{item:null};if(!J)return{item:null};return{item:J}}})});var X_6,Y_6,R80;var zJ1=a(()=>{s0();Z6();tz();X_6=U.object({id:U.string().describe("ID of the virtual MCP to update"),data:FJ1.describe("Partial virtual MCP data to update")}),Y_6=U.object({item:H7.describe("The updated virtual MCP entity")}),R80=t0({name:"COLLECTION_VIRTUAL_MCP_UPDATE",description:"Update an MCP virtual MCP",inputSchema:X_6,outputSchema:Y_6,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=b8(Y);if(!J)throw Error("User ID required to update virtual MCP");let G=await Y.storage.virtualMcps.findById(X.id);if(!G)throw Error(`Virtual MCP not found: ${X.id}`);if(G.organization_id!==Q.id)throw Error(`Virtual MCP not found: ${X.id}`);return{item:await Y.storage.virtualMcps.update(X.id,J,X.data)}}})});var Q_6,J_6,S80;var BJ1=a(()=>{s0();Z6();tz();Q_6=U.object({id:U.string().describe("ID of the virtual MCP to delete")}),J_6=U.object({item:H7.describe("The deleted virtual MCP entity")}),S80=t0({name:"COLLECTION_VIRTUAL_MCP_DELETE",description:"Delete an MCP virtual MCP",inputSchema:Q_6,outputSchema:J_6,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=await Y.storage.virtualMcps.findById(X.id);if(!J)throw Error(`Virtual MCP not found: ${X.id}`);if(J.organization_id!==Q.id)throw Error(`Virtual MCP not found: ${X.id}`);return await Y.storage.virtualMcps.delete(X.id),{item:J}}})});var DJ1=a(()=>{VJ1();qJ1();UJ1();zJ1();BJ1()});var W_6,k80;var NJ1=a(()=>{Z6();s0();W_6=U.object({id:U.string().optional().describe("Unique log identifier"),organizationId:U.string().describe("Organization ID"),connectionId:U.string().describe("Connection ID"),connectionTitle:U.string().describe("Connection display name"),toolName:U.string().describe("Name of the tool that was called"),input:U.record(U.string(),U.unknown()).describe("Redacted tool input"),output:U.record(U.string(),U.unknown()).describe("Redacted tool output"),isError:U.boolean().describe("Whether the call resulted in an error"),errorMessage:U.string().nullish().describe("Error message if applicable"),durationMs:U.number().describe("Call duration in milliseconds"),timestamp:U.string().describe("ISO 8601 timestamp of the call"),userId:U.string().nullish().describe("User who triggered the call"),requestId:U.string().describe("Unique request identifier"),userAgent:U.string().nullish().describe("Client identifier (x-mesh-client header)"),virtualMcpId:U.string().nullish().describe("Virtual MCP (Agent) ID if routed through an agent"),properties:U.record(U.string(),U.string()).nullish().describe("Custom key-value metadata attached to the log")}),k80=t0({name:"MONITORING_LOGS_LIST",description:"List monitoring logs for tool calls in the organization",inputSchema:U.object({connectionId:U.string().optional().describe("Filter by connection ID"),virtualMcpId:U.string().optional().describe("Filter by Virtual MCP (Agent) ID"),toolName:U.string().optional().describe("Filter by tool name"),isError:U.boolean().optional().describe("Filter by error status"),startDate:U.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:U.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)"),limit:U.number().default(100).describe("Maximum number of results"),offset:U.number().default(0).describe("Offset for pagination"),properties:U.record(U.string(),U.string()).optional().describe("Filter by exact property key=value matches"),propertyKeys:U.array(U.string()).optional().describe("Filter by logs that have these property keys"),propertyPatterns:U.record(U.string(),U.string()).optional().describe("Filter by property value patterns (SQL LIKE, use % as wildcard)")}),outputSchema:U.object({logs:U.array(W_6).describe("Array of monitoring logs"),total:U.number().describe("Total number of logs matching filters"),offset:U.number().describe("Current offset for pagination"),limit:U.number().describe("Current limit for pagination")}),handler:async(X,Y)=>{let Q=_1(Y),G=X.properties||X.propertyKeys||X.propertyPatterns?{properties:X.properties,propertyKeys:X.propertyKeys,propertyPatterns:X.propertyPatterns}:void 0,W={organizationId:Q.id,connectionId:X.connectionId,virtualMcpId:X.virtualMcpId,toolName:X.toolName,isError:X.isError,startDate:X.startDate?new Date(X.startDate):void 0,endDate:X.endDate?new Date(X.endDate):void 0,limit:X.limit,offset:X.offset,propertyFilters:G},Z=await Y.storage.monitoring.query(W);return{logs:Z.logs.map(($)=>({...$,timestamp:$.timestamp instanceof Date?$.timestamp.toISOString():$.timestamp})),total:Z.total,offset:X.offset,limit:X.limit}}})});var v80;var OJ1=a(()=>{Z6();s0();v80=t0({name:"MONITORING_STATS",description:"Get aggregated statistics for tool call monitoring",inputSchema:U.object({startDate:U.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:U.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)")}),outputSchema:U.object({totalCalls:U.number().describe("Total number of tool calls"),errorRate:U.number().describe("Error rate as a decimal (0 to 1)"),avgDurationMs:U.number().describe("Average call duration in milliseconds"),errorRatePercent:U.string().describe("Error rate as a percentage string")}),handler:async(X,Y)=>{let J={organizationId:_1(Y).id,startDate:X.startDate?new Date(X.startDate):void 0,endDate:X.endDate?new Date(X.endDate):void 0},G=await Y.storage.monitoring.getStats(J);return{...G,errorRatePercent:(G.errorRate*100).toFixed(2)}}})});var LJ1=a(()=>{NJ1();OJ1()});var _80;var wJ1=a(()=>{s0();Z6();_80=t0({name:"ORGANIZATION_CREATE",description:"Create a new organization",inputSchema:U.object({slug:U.string().min(1).max(50).regex(/^[a-z0-9-]+$/,"Slug must be lowercase alphanumeric with hyphens"),name:U.string().min(1).max(255),description:U.string().optional()}),outputSchema:U.object({id:U.string(),name:U.string(),slug:U.string(),logo:U.string().nullable().optional(),metadata:U.any().optional(),createdAt:U.string().datetime().describe("ISO 8601 timestamp"),members:U.array(U.any()).optional()}),handler:async(X,Y)=>{U1(Y),await Y.access.check();let Q=b8(Y);if(!Q)throw Error("User ID required to create organization");let J=await Y.boundAuth.organization.create({name:X.name,slug:X.slug,metadata:X.description?{description:X.description}:void 0,userId:Q});if(!J)throw Error("Failed to create organization");return{...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt}}})});var y80;var MJ1=a(()=>{s0();Z6();y80=t0({name:"ORGANIZATION_LIST",description:"List all organizations user has access to",inputSchema:U.object({userId:U.string().optional()}),outputSchema:U.object({organizations:U.array(U.object({id:U.string(),name:U.string(),slug:U.string(),logo:U.string().nullable().optional(),metadata:U.any().optional(),createdAt:U.string().datetime().describe("ISO 8601 timestamp")}))}),handler:async(X,Y)=>{U1(Y),await Y.access.check();let Q=b8(Y),J=X.userId||Q;if(!J)throw Error("User ID required to list organizations");return{organizations:(await Y.boundAuth.organization.list(J)).map((W)=>({...W,createdAt:W.createdAt instanceof Date?W.createdAt.toISOString():W.createdAt}))}}})});var b80;var PJ1=a(()=>{s0();Z6();b80=t0({name:"ORGANIZATION_GET",description:"Get organization details by slug or ID",inputSchema:U.object({}),outputSchema:U.object({id:U.string(),name:U.string(),slug:U.string(),logo:U.string().nullable().optional(),metadata:U.any().optional(),createdAt:U.string().datetime().describe("ISO 8601 timestamp"),members:U.array(U.any()).optional(),invitations:U.array(U.any()).optional()}),handler:async(X,Y)=>{U1(Y),await Y.access.check();let Q=await Y.boundAuth.organization.get();if(!Q)throw Error("No active organization found");let J=new Date,G=Q.invitations?.filter((W)=>new Date(W.expiresAt)>J);return{...Q,invitations:G,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt}}})});var f80;var TJ1=a(()=>{s0();Z6();f80=t0({name:"ORGANIZATION_UPDATE",description:"Update an existing organization",inputSchema:U.object({id:U.string(),slug:U.string().min(1).max(50).regex(/^[a-z0-9-]+$/).optional(),name:U.string().min(1).max(255).optional(),description:U.string().optional()}),outputSchema:U.object({id:U.string(),name:U.string(),slug:U.string(),logo:U.string().nullable().optional(),metadata:U.any().optional(),createdAt:U.string().datetime().describe("ISO 8601 timestamp")}),handler:async(X,Y)=>{U1(Y),await Y.access.check();let Q={};if(X.name)Q.name=X.name;if(X.slug)Q.slug=X.slug;if(X.description)Q.metadata={description:X.description};let J=await Y.boundAuth.organization.update({organizationId:X.id,data:Q});if(!J)throw Error("Failed to update organization");return{...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt}}})});var h80;var AJ1=a(()=>{s0();Z6();h80=t0({name:"ORGANIZATION_DELETE",description:"Delete an organization",inputSchema:U.object({id:U.string()}),outputSchema:U.object({success:U.boolean(),id:U.string()}),handler:async(X,Y)=>{return U1(Y),await Y.access.check(),await Y.boundAuth.organization.delete(X.id),{success:!0,id:X.id}}})});var fP;var x80=a(()=>{s0();fP=U.object({title:U.string(),url:U.string(),icon:U.string()})});var g80;var EJ1=a(()=>{s0();Z6();x80();g80=t0({name:"ORGANIZATION_SETTINGS_GET",description:"Get organization-level settings",inputSchema:U.object({}),outputSchema:U.object({organizationId:U.string(),sidebar_items:U.array(fP).nullable().optional(),enabled_plugins:U.array(U.string()).nullable().optional(),createdAt:U.string().datetime().optional().describe("ISO 8601 timestamp"),updatedAt:U.string().datetime().optional().describe("ISO 8601 timestamp")}),handler:async(X,Y)=>{U1(Y),await Y.access.check();let Q=Y.organization?.id;if(!Q)throw Error("Organization ID required (no active organization in context)");let J=await Y.storage.organizationSettings.get(Q);if(!J)return{organizationId:Q};return{...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt,updatedAt:J.updatedAt instanceof Date?J.updatedAt.toISOString():J.updatedAt}}})});var u80;var jJ1=a(()=>{s0();Z6();x80();u80=t0({name:"ORGANIZATION_SETTINGS_UPDATE",description:"Update organization-level settings",inputSchema:U.object({organizationId:U.string(),sidebar_items:U.array(fP).optional(),enabled_plugins:U.array(U.string()).optional()}),outputSchema:U.object({organizationId:U.string(),sidebar_items:U.array(fP).nullable().optional(),enabled_plugins:U.array(U.string()).nullable().optional(),createdAt:U.string().datetime().describe("ISO 8601 timestamp"),updatedAt:U.string().datetime().describe("ISO 8601 timestamp")}),handler:async(X,Y)=>{if(U1(Y),await Y.access.check(),Y.organization&&Y.organization.id!==X.organizationId)throw Error("Cannot update settings for a different organization");let Q=await Y.storage.organizationSettings.upsert(X.organizationId,{sidebar_items:X.sidebar_items,enabled_plugins:X.enabled_plugins});return{...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt,updatedAt:Q.updatedAt instanceof Date?Q.updatedAt.toISOString():Q.updatedAt}}})});var m80;var CJ1=a(()=>{s0();Z6();m80=t0({name:"ORGANIZATION_MEMBER_ADD",description:"Add a member to an organization",inputSchema:U.object({organizationId:U.string().optional(),userId:U.string(),role:U.array(U.string())}),outputSchema:U.object({id:U.string(),organizationId:U.string(),userId:U.string(),role:U.union([U.string(),U.array(U.string())]),createdAt:U.string().datetime().describe("ISO 8601 timestamp")}),handler:async(X,Y)=>{U1(Y),await Y.access.check();let Q=X.organizationId||Y.organization?.id;if(!Q)throw Error("Organization ID required (no active organization in context)");let J=await Y.boundAuth.organization.addMember({organizationId:Q,userId:X.userId,role:X.role});if(!J)throw Error("Failed to add member");return{...J,role:J.role,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt}}})});var l80;var IJ1=a(()=>{s0();Z6();l80=t0({name:"ORGANIZATION_MEMBER_REMOVE",description:"Remove a member from an organization",inputSchema:U.object({organizationId:U.string().optional(),memberIdOrEmail:U.string()}),outputSchema:U.object({success:U.boolean(),memberIdOrEmail:U.string()}),handler:async(X,Y)=>{U1(Y),await Y.access.check();let Q=X.organizationId||Y.organization?.id;if(!Q)throw Error("Organization ID required (no active organization in context)");return await Y.boundAuth.organization.removeMember({organizationId:Q,memberIdOrEmail:X.memberIdOrEmail}),{success:!0,memberIdOrEmail:X.memberIdOrEmail}}})});var d80;var RJ1=a(()=>{s0();Z6();d80=t0({name:"ORGANIZATION_MEMBER_LIST",description:"List all members in an organization",inputSchema:U.object({limit:U.number().optional(),offset:U.number().optional()}),outputSchema:U.object({members:U.array(U.object({id:U.string(),organizationId:U.string(),userId:U.string(),role:U.string(),createdAt:U.string().datetime().describe("ISO 8601 timestamp"),user:U.object({id:U.string(),name:U.string(),email:U.string(),image:U.string().optional()}).optional()}))}),handler:async(X,Y)=>{U1(Y),await Y.access.check();let Q=Y.organization?.id;if(!Q)throw Error("Organization ID required (no active organization in context)");let J=await Y.boundAuth.organization.listMembers({organizationId:Q,limit:X.limit,offset:X.offset});return{members:(Array.isArray(J)?J:[]).map((W)=>({...W,createdAt:W.createdAt instanceof Date?W.createdAt.toISOString():W.createdAt}))}}})});var p80;var SJ1=a(()=>{s0();Z6();p80=t0({name:"ORGANIZATION_MEMBER_UPDATE_ROLE",description:"Update a member's role in an organization",inputSchema:U.object({organizationId:U.string().optional(),memberId:U.string(),role:U.array(U.string())}),outputSchema:U.object({id:U.string(),organizationId:U.string(),userId:U.string(),role:U.union([U.literal("admin"),U.literal("member"),U.literal("owner")]),createdAt:U.string().datetime().describe("ISO 8601 timestamp"),user:U.object({email:U.string(),name:U.string(),image:U.string().optional()})}),handler:async(X,Y)=>{U1(Y),await Y.access.check();let Q=X.organizationId||Y.organization?.id;if(!Q)throw Error("Organization ID required (no active organization in context)");let J=await Y.boundAuth.organization.updateMemberRole({organizationId:Q,memberId:X.memberId,role:X.role});if(!J)throw Error("Failed to update member role");return{...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt}}})});var kJ1=a(()=>{wJ1();MJ1();PJ1();TJ1();AJ1();EJ1();jJ1();CJ1();IJ1();RJ1();SJ1()});var vJ1,F7,_J1,yJ1;var zF=a(()=>{s0();vJ1=U.object({id:U.string().describe("Unique message ID"),threadId:U.string().describe("ID of the parent thread"),metadata:U.unknown().optional().describe("Optional message metadata"),parts:U.array(U.record(U.string(),U.unknown())).describe("Message content parts (AI SDK UIMessagePart format)"),role:U.enum(["user","assistant","system"]).describe("Message role"),createdAt:U.string().datetime().describe("Timestamp of creation"),updatedAt:U.string().datetime().describe("Timestamp of last update")}),F7=U.object({id:U.string().describe("Unique thread ID"),organizationId:U.string().describe("Organization this thread belongs to"),title:U.string().describe("Thread title"),description:U.string().nullable().describe("Thread description"),createdAt:U.string().datetime().describe("Timestamp of creation"),updatedAt:U.string().datetime().describe("Timestamp of last update"),hidden:U.boolean().optional().describe("Whether the thread is hidden"),createdBy:U.string().describe("User ID who created the thread"),updatedBy:U.string().nullable().describe("User ID who last updated the thread")}),_J1=U.object({id:U.string().optional().describe("Optional custom ID for the thread"),title:U.string().describe("Thread title"),description:U.string().nullish().describe("Thread description")}),yJ1=U.object({title:U.string().optional().describe("New thread title"),description:U.string().nullish().describe("New thread description"),hidden:U.boolean().optional().describe("Whether the thread is hidden")})});var K_6,H_6,c80;var bJ1=a(()=>{s0();Z6();zF();CW();K_6=U.object({data:_J1.describe("Data for the new thread (id is auto-generated if not provided)")}),H_6=U.object({item:F7.describe("The created thread entity")}),c80=t0({name:"COLLECTION_THREADS_CREATE",description:"Create a new thread in the organization",inputSchema:K_6,outputSchema:H_6,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=b8(Y);if(!J)throw Error("User ID required to create thread");let G=X.data.id??o8("thrd"),W=await Y.storage.threads.create({id:G,organizationId:Q.id,title:X.data.title,description:X.data.description,createdBy:J});return{item:{...W,hidden:W.hidden??!1}}}})});var F_6,V_6,n80;var fJ1=a(()=>{f5();Z6();zF();s0();F_6=qF.extend({where:U.object({created_by:U.string().optional()}).optional()}),V_6=UF(F7),n80=t0({name:"COLLECTION_THREADS_LIST",description:"List all threads in the organization with filtering, sorting, and pagination",inputSchema:F_6,outputSchema:V_6,handler:async(X,Y)=>{await Y.access.check();let Q=Y.auth.user?.id;if(!Q)throw Error("User ID required to list threads");let J=_1(Y),G=X.offset??0,W=X.limit??100,{threads:Z,total:$}=await Y.storage.threads.list(J.id,Q,{limit:W,offset:G}),K=G+W<$;return{items:Z.map((H)=>({...H,hidden:H.hidden??!1})),totalCount:$,hasMore:K}}})});var q_6,i80;var hJ1=a(()=>{f5();Z6();zF();q_6=wP(F7),i80=t0({name:"COLLECTION_THREADS_GET",description:"Get thread details by ID",inputSchema:LP,outputSchema:q_6,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=await Y.storage.threads.get(X.id);if(!J||J.organizationId!==Q.id)return{item:null};return{item:{...J,hidden:J.hidden??!1}}}})});var U_6,z_6,a80;var xJ1=a(()=>{s0();Z6();zF();U_6=U.object({id:U.string().describe("ID of the thread to update"),data:yJ1.describe("Partial thread data to update")}),z_6=U.object({item:F7.describe("The updated thread entity")}),a80=t0({name:"COLLECTION_THREADS_UPDATE",description:"Update an existing thread in the organization",inputSchema:U_6,outputSchema:z_6,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=b8(Y);if(!J)throw Error("User ID required to update thread");let{id:G,data:W}=X,Z=await Y.storage.threads.get(G);if(!Z||Z.organizationId!==Q.id)throw Error("Thread not found in organization");let $=await Y.storage.threads.update(G,{title:W.title,description:W.description,hidden:W.hidden,updatedBy:J});return{item:{...$,hidden:$.hidden??!1}}}})});var r80;var gJ1=a(()=>{f5();Z6();zF();r80=t0({name:"COLLECTION_THREADS_DELETE",description:"Delete a thread",inputSchema:MP,outputSchema:PP(F7),handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=await Y.storage.threads.get(X.id);if(!J)throw Error(`Thread not found: ${X.id}`);if(J.organizationId!==Q.id)throw Error(`Thread not found: ${X.id}`);return await Y.storage.threads.delete(X.id),{item:{...J,hidden:J.hidden??!1}}}})});var B_6,D_6,o80;var uJ1=a(()=>{s0();Z6();zF();B_6=U.object({threadId:U.string().describe("ID of the thread to list messages for"),limit:U.number().optional().describe("Maximum number of messages to return"),offset:U.number().optional().describe("Number of messages to skip")}),D_6=U.object({items:U.array(vJ1).describe("List of thread messages"),totalCount:U.number().describe("Total number of messages in the thread"),hasMore:U.boolean().describe("Whether there are more messages available")}),o80=t0({name:"COLLECTION_THREAD_MESSAGES_LIST",description:"List all messages for a specific thread",inputSchema:B_6,outputSchema:D_6,handler:async(X,Y)=>{let Q=_1(Y);await Y.access.check();let J=await Y.storage.threads.get(X.threadId);if(!J||J.organizationId!==Q.id)throw Error("Thread not found in organization");let G=X.offset??0,W=X.limit??100,{messages:Z,total:$}=await Y.storage.threads.listMessages(X.threadId,{limit:W,offset:G}),K=G+W<$;return{items:Z,totalCount:$,hasMore:K}}})});var mJ1=a(()=>{bJ1();fJ1();hJ1();xJ1();gJ1();uJ1()});var O_6,L_6,s80;var lJ1=a(()=>{s0();Z6();O_6=U.object({id:U.string().min(1)}),L_6=U.object({user:U.object({id:U.string(),name:U.string(),email:U.string(),image:U.string().nullable()}).nullable()}),s80=t0({name:"USER_GET",description:"Get a user by id (restricted to shared organizations)",inputSchema:O_6,outputSchema:L_6,handler:async(X,Y)=>{await Y.access.check(),U1(Y);let Q=b8(Y);if(!Q)throw Error("Authentication required");let J=await Y.storage.users.findById(X.id,Q);if(!J)return{user:null};return{user:{id:J.id,name:J.name,email:J.email,image:J.image??null}}}})});var dJ1=a(()=>{lJ1()});var cJ1={};I8(cJ1,{managementMCP:()=>t80,ALL_TOOLS:()=>pJ1});var pJ1,t80=(X)=>{let Y=pJ1.map((J)=>({name:J.name,description:J.description,inputSchema:J.inputSchema,outputSchema:J.outputSchema,handler:async(G)=>{return X.access.setToolName(J.name),await J.execute(G,X)}}));return sY1({name:"mcp-mesh-management",version:"1.0.0"}).withTools(Y).build()};var e80=a(()=>{tY1();q91();JQ1();aQ1();tQ1();KJ1();DJ1();LJ1();kJ1();mJ1();dJ1();pJ1=[_80,y80,b80,f80,h80,g80,u80,m80,l80,d80,p80,Y80,F80,V80,z80,B80,D80,E80,C80,I80,R80,S80,sQ1,k80,v80,R40,k40,v40,S40,N80,O80,L80,w80,M80,P80,T80,s80,t40,e40,X80,c80,n80,i80,a80,r80,o80]});var RX0=I((Fi4,y71)=>{var{defineProperty:IX0,getOwnPropertyDescriptor:xb6,getOwnPropertyNames:gb6}=Object,ub6=Object.prototype.hasOwnProperty,mb6=(X,Y)=>{for(var Q in Y)IX0(X,Q,{get:Y[Q],enumerable:!0})},lb6=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of gb6(Y))if(!ub6.call(X,G)&&G!==Q)IX0(X,G,{get:()=>Y[G],enumerable:!(J=xb6(Y,G))||J.enumerable})}return X},db6=(X)=>lb6(IX0({},"__esModule",{value:!0}),X),v71={};mb6(v71,{SYMBOL_FOR_REQ_CONTEXT:()=>_71,getContext:()=>pb6});y71.exports=db6(v71);var _71=Symbol.for("@vercel/request-context");function pb6(){return globalThis[_71]?.get?.()??{}}});var nP=I((Vi4,h71)=>{var{defineProperty:SX0,getOwnPropertyDescriptor:cb6,getOwnPropertyNames:nb6}=Object,ib6=Object.prototype.hasOwnProperty,ab6=(X,Y)=>{for(var Q in Y)SX0(X,Q,{get:Y[Q],enumerable:!0})},rb6=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of nb6(Y))if(!ib6.call(X,G)&&G!==Q)SX0(X,G,{get:()=>Y[G],enumerable:!(J=cb6(Y,G))||J.enumerable})}return X},ob6=(X)=>rb6(SX0({},"__esModule",{value:!0}),X),b71={};ab6(b71,{VercelOidcTokenError:()=>f71});h71.exports=ob6(b71);class f71 extends Error{constructor(X,Y){super(X);this.name="VercelOidcTokenError",this.cause=Y}toString(){if(this.cause)return`${this.name}: ${this.message}: ${this.cause}`;return`${this.name}: ${this.message}`}}});var m71=I((qi4,u71)=>{var{create:sb6,defineProperty:Mb,getOwnPropertyDescriptor:tb6,getOwnPropertyNames:eb6,getPrototypeOf:Xf6}=Object,Yf6=Object.prototype.hasOwnProperty,Qf6=(X,Y)=>{for(var Q in Y)Mb(X,Q,{get:Y[Q],enumerable:!0})},x71=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of eb6(Y))if(!Yf6.call(X,G)&&G!==Q)Mb(X,G,{get:()=>Y[G],enumerable:!(J=tb6(Y,G))||J.enumerable})}return X},vX0=(X,Y,Q)=>(Q=X!=null?sb6(Xf6(X)):{},x71(Y||!X||!X.__esModule?Mb(Q,"default",{value:X,enumerable:!0}):Q,X)),Jf6=(X)=>x71(Mb({},"__esModule",{value:!0}),X),g71={};Qf6(g71,{findRootDir:()=>Zf6,getUserDataDir:()=>$f6});u71.exports=Jf6(g71);var iP=vX0(z0("path")),Gf6=vX0(z0("fs")),kX0=vX0(z0("os")),Wf6=nP();function Zf6(){try{let X=process.cwd();while(X!==iP.default.dirname(X)){let Y=iP.default.join(X,".vercel");if(Gf6.default.existsSync(Y))return X;X=iP.default.dirname(X)}}catch(X){throw new Wf6.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}function $f6(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(kX0.default.platform()){case"darwin":return iP.default.join(kX0.default.homedir(),"Library/Application Support");case"linux":return iP.default.join(kX0.default.homedir(),".local/share");case"win32":if(process.env.LOCALAPPDATA)return process.env.LOCALAPPDATA;return null;default:return null}}});var a71=I((Ui4,i71)=>{var{create:Kf6,defineProperty:Pb,getOwnPropertyDescriptor:Hf6,getOwnPropertyNames:Ff6,getPrototypeOf:Vf6}=Object,qf6=Object.prototype.hasOwnProperty,Uf6=(X,Y)=>{for(var Q in Y)Pb(X,Q,{get:Y[Q],enumerable:!0})},l71=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of Ff6(Y))if(!qf6.call(X,G)&&G!==Q)Pb(X,G,{get:()=>Y[G],enumerable:!(J=Hf6(Y,G))||J.enumerable})}return X},d71=(X,Y,Q)=>(Q=X!=null?Kf6(Vf6(X)):{},l71(Y||!X||!X.__esModule?Pb(Q,"default",{value:X,enumerable:!0}):Q,X)),zf6=(X)=>l71(Pb({},"__esModule",{value:!0}),X),p71={};Uf6(p71,{isValidAccessToken:()=>Of6,readAuthConfig:()=>Df6,writeAuthConfig:()=>Nf6});i71.exports=zf6(p71);var aP=d71(z0("fs")),c71=d71(z0("path")),Bf6=Tb();function n71(){let X=(0,Bf6.getVercelDataDir)();if(!X)throw Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return c71.join(X,"auth.json")}function Df6(){try{let X=n71();if(!aP.existsSync(X))return null;let Y=aP.readFileSync(X,"utf8");if(!Y)return null;return JSON.parse(Y)}catch(X){return null}}function Nf6(X){let Y=n71(),Q=c71.dirname(Y);if(!aP.existsSync(Q))aP.mkdirSync(Q,{mode:504,recursive:!0});aP.writeFileSync(Y,JSON.stringify(X,null,2),{mode:384})}function Of6(X){if(!X.token)return!1;if(typeof X.expiresAt!=="number")return!0;let Y=Math.floor(Date.now()/1000);return X.expiresAt>=Y}});var t71=I((zi4,s71)=>{var{defineProperty:bX0,getOwnPropertyDescriptor:Lf6,getOwnPropertyNames:wf6}=Object,Mf6=Object.prototype.hasOwnProperty,Pf6=(X,Y)=>{for(var Q in Y)bX0(X,Q,{get:Y[Q],enumerable:!0})},Tf6=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of wf6(Y))if(!Mf6.call(X,G)&&G!==Q)bX0(X,G,{get:()=>Y[G],enumerable:!(J=Lf6(Y,G))||J.enumerable})}return X},Af6=(X)=>Tf6(bX0({},"__esModule",{value:!0}),X),r71={};Pf6(r71,{processTokenResponse:()=>Rf6,refreshTokenRequest:()=>If6});s71.exports=Af6(r71);var _X0=z0("os"),Ef6="https://vercel.com",jf6="cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",o71=`@vercel/oidc node-${process.version} ${(0,_X0.platform)()} (${(0,_X0.arch)()}) ${(0,_X0.hostname)()}`,yX0=null;async function Cf6(){if(yX0)return yX0;let X=`${Ef6}/.well-known/openid-configuration`,Y=await fetch(X,{headers:{"user-agent":o71}});if(!Y.ok)throw Error("Failed to discover OAuth endpoints");let Q=await Y.json();if(!Q||typeof Q.token_endpoint!=="string")throw Error("Invalid OAuth discovery response");let J=Q.token_endpoint;return yX0=J,J}async function If6(X){let Y=await Cf6();return await fetch(Y,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":o71},body:new URLSearchParams({client_id:jf6,grant_type:"refresh_token",...X})})}async function Rf6(X){let Y=await X.json();if(!X.ok){let Q=typeof Y==="object"&&Y&&"error"in Y?String(Y.error):"Token refresh failed";return[Error(Q)]}if(typeof Y!=="object"||Y===null)return[Error("Invalid token response")];if(typeof Y.access_token!=="string")return[Error("Missing access_token in response")];if(Y.token_type!=="Bearer")return[Error("Invalid token_type in response")];if(typeof Y.expires_in!=="number")return[Error("Missing expires_in in response")];return[null,Y]}});var Tb=I((Bi4,JW1)=>{var{create:Sf6,defineProperty:Ab,getOwnPropertyDescriptor:kf6,getOwnPropertyNames:vf6,getPrototypeOf:_f6}=Object,yf6=Object.prototype.hasOwnProperty,bf6=(X,Y)=>{for(var Q in Y)Ab(X,Q,{get:Y[Q],enumerable:!0})},XW1=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of vf6(Y))if(!yf6.call(X,G)&&G!==Q)Ab(X,G,{get:()=>Y[G],enumerable:!(J=kf6(Y,G))||J.enumerable})}return X},YW1=(X,Y,Q)=>(Q=X!=null?Sf6(_f6(X)):{},XW1(Y||!X||!X.__esModule?Ab(Q,"default",{value:X,enumerable:!0}):Q,X)),ff6=(X)=>XW1(Ab({},"__esModule",{value:!0}),X),QW1={};bf6(QW1,{assertVercelOidcTokenResponse:()=>fX0,findProjectInfo:()=>uf6,getTokenPayload:()=>df6,getVercelCliToken:()=>xf6,getVercelDataDir:()=>hf6,getVercelOidcToken:()=>gf6,isExpired:()=>pf6,loadToken:()=>lf6,saveToken:()=>mf6});JW1.exports=ff6(QW1);var rP=YW1(z0("path")),PF=YW1(z0("fs")),WB=nP(),Eb=m71(),GB=a71(),e71=t71();function hf6(){let Y=(0,Eb.getUserDataDir)();if(!Y)return null;return rP.join(Y,"com.vercel.cli")}async function xf6(){let X=(0,GB.readAuthConfig)();if(!X)return null;if((0,GB.isValidAccessToken)(X))return X.token||null;if(!X.refreshToken)return(0,GB.writeAuthConfig)({}),null;try{let Y=await(0,e71.refreshTokenRequest)({refresh_token:X.refreshToken}),[Q,J]=await(0,e71.processTokenResponse)(Y);if(Q||!J)return(0,GB.writeAuthConfig)({}),null;let G={token:J.access_token,expiresAt:Math.floor(Date.now()/1000)+J.expires_in};if(J.refresh_token)G.refreshToken=J.refresh_token;return(0,GB.writeAuthConfig)(G),G.token??null}catch(Y){return(0,GB.writeAuthConfig)({}),null}}async function gf6(X,Y,Q){let J=`https://api.vercel.com/v1/projects/${Y}/token?source=vercel-oidc-refresh${Q?`&teamId=${Q}`:""}`,G=await fetch(J,{method:"POST",headers:{Authorization:`Bearer ${X}`}});if(!G.ok)throw new WB.VercelOidcTokenError(`Failed to refresh OIDC token: ${G.statusText}`);let W=await G.json();return fX0(W),W}function fX0(X){if(!X||typeof X!=="object")throw TypeError("Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again");if(!("token"in X)||typeof X.token!=="string")throw TypeError("Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again")}function uf6(){let X=(0,Eb.findRootDir)();if(!X)throw new WB.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let Y=rP.join(X,".vercel","project.json");if(!PF.existsSync(Y))throw new WB.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let Q=JSON.parse(PF.readFileSync(Y,"utf8"));if(typeof Q.projectId!=="string"&&typeof Q.orgId!=="string")throw TypeError("Expected a string-valued projectId property. Try running `vc link` to re-link your project.");return{projectId:Q.projectId,teamId:Q.orgId}}function mf6(X,Y){let Q=(0,Eb.getUserDataDir)();if(!Q)throw new WB.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let J=rP.join(Q,"com.vercel.token",`${Y}.json`),G=JSON.stringify(X);PF.mkdirSync(rP.dirname(J),{mode:504,recursive:!0}),PF.writeFileSync(J,G),PF.chmodSync(J,432);return}function lf6(X){let Y=(0,Eb.getUserDataDir)();if(!Y)throw new WB.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let Q=rP.join(Y,"com.vercel.token",`${X}.json`);if(!PF.existsSync(Q))return null;let J=JSON.parse(PF.readFileSync(Q,"utf8"));return fX0(J),J}function df6(X){let Y=X.split(".");if(Y.length!==3)throw new WB.VercelOidcTokenError("Invalid token. Please run `vc env pull` and try again");let Q=Y[1].replace(/-/g,"+").replace(/_/g,"/"),J=Q.padEnd(Q.length+(4-Q.length%4)%4,"=");return JSON.parse(Buffer.from(J,"base64").toString("utf8"))}function pf6(X){return X.exp*1000<Date.now()}});var ZW1=I((Di4,WW1)=>{var{defineProperty:xX0,getOwnPropertyDescriptor:cf6,getOwnPropertyNames:nf6}=Object,if6=Object.prototype.hasOwnProperty,af6=(X,Y)=>{for(var Q in Y)xX0(X,Q,{get:Y[Q],enumerable:!0})},rf6=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of nf6(Y))if(!if6.call(X,G)&&G!==Q)xX0(X,G,{get:()=>Y[G],enumerable:!(J=cf6(Y,G))||J.enumerable})}return X},of6=(X)=>rf6(xX0({},"__esModule",{value:!0}),X),GW1={};af6(GW1,{refreshToken:()=>sf6});WW1.exports=of6(GW1);var hX0=nP(),TF=Tb();async function sf6(){let{projectId:X,teamId:Y}=(0,TF.findProjectInfo)(),Q=(0,TF.loadToken)(X);if(!Q||(0,TF.isExpired)((0,TF.getTokenPayload)(Q.token))){let J=await(0,TF.getVercelCliToken)();if(!J)throw new hX0.VercelOidcTokenError("Failed to refresh OIDC token: Log in to Vercel CLI and link your project with `vc link`");if(!X)throw new hX0.VercelOidcTokenError("Failed to refresh OIDC token: Try re-linking your project with `vc link`");if(Q=await(0,TF.getVercelOidcToken)(J,X,Y),!Q)throw new hX0.VercelOidcTokenError("Failed to refresh OIDC token");(0,TF.saveToken)(Q,X)}process.env.VERCEL_OIDC_TOKEN=Q.token;return}});var HW1=I((Ni4,KW1)=>{var{defineProperty:uX0,getOwnPropertyDescriptor:tf6,getOwnPropertyNames:ef6}=Object,Xh6=Object.prototype.hasOwnProperty,Yh6=(X,Y)=>{for(var Q in Y)uX0(X,Q,{get:Y[Q],enumerable:!0})},Qh6=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of ef6(Y))if(!Xh6.call(X,G)&&G!==Q)uX0(X,G,{get:()=>Y[G],enumerable:!(J=tf6(Y,G))||J.enumerable})}return X},Jh6=(X)=>Qh6(uX0({},"__esModule",{value:!0}),X),$W1={};Yh6($W1,{getVercelOidcToken:()=>Zh6,getVercelOidcTokenSync:()=>gX0});KW1.exports=Jh6($W1);var Gh6=RX0(),Wh6=nP();async function Zh6(){let X="",Y;try{X=gX0()}catch(Q){Y=Q}try{let[{getTokenPayload:Q,isExpired:J},{refreshToken:G}]=await Promise.all([await Promise.resolve().then(() => e6(Tb())),await Promise.resolve().then(() => e6(ZW1()))]);if(!X||J(Q(X)))await G(),X=gX0()}catch(Q){let J=Y instanceof Error?Y.message:"";if(Q instanceof Error)J=`${J}
273
273
  ${Q.message}`;if(J)throw new Wh6.VercelOidcTokenError(J);throw Q}return X}function gX0(){let X=(0,Gh6.getContext)().headers?.["x-vercel-oidc-token"]??process.env.VERCEL_OIDC_TOKEN;if(!X)throw Error("The 'x-vercel-oidc-token' header is missing from the request. Do you have the OIDC option enabled in the Vercel project settings?");return X}});var lX0=I((Oi4,qW1)=>{var{defineProperty:mX0,getOwnPropertyDescriptor:$h6,getOwnPropertyNames:Kh6}=Object,Hh6=Object.prototype.hasOwnProperty,Fh6=(X,Y)=>{for(var Q in Y)mX0(X,Q,{get:Y[Q],enumerable:!0})},Vh6=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of Kh6(Y))if(!Hh6.call(X,G)&&G!==Q)mX0(X,G,{get:()=>Y[G],enumerable:!(J=$h6(Y,G))||J.enumerable})}return X},qh6=(X)=>Vh6(mX0({},"__esModule",{value:!0}),X),VW1={};Fh6(VW1,{getContext:()=>Uh6.getContext,getVercelOidcToken:()=>FW1.getVercelOidcToken,getVercelOidcTokenSync:()=>FW1.getVercelOidcTokenSync});qW1.exports=qh6(VW1);var FW1=HW1(),Uh6=RX0()});var qj=e6($1(),1),D_0=e6($_0(),1),N_0=e6(rl(),1),O_0=e6(Tl(),1),ol=new N_0.PrometheusExporter({preventServerStart:!0}),Qo1=new D_0.NodeSDK({serviceName:"mcp-mesh",traceExporter:new O_0.OTLPTraceExporter({url:process.env.OTEL_EXPORTER_OTLP_TRACES_ENDPOINT||process.env.OTEL_EXPORTER_OTLP_ENDPOINT||"http://localhost:4318/v1/traces"}),metricReader:ol});Qo1.start();var QN=qj.trace.getTracer("mcp-mesh","1.0.0"),Uj=qj.metrics.getMeter("mcp-mesh","1.0.0");var bV=class extends Error{res;status;constructor(X=500,Y){super(Y?.message,{cause:Y?.cause});this.res=Y?.res,this.status=X}getResponse(){if(this.res)return new Response(this.res.body,{status:this.status,headers:this.res.headers});return new Response(this.message,{status:this.status})}};var L_0=["connection","keep-alive","proxy-authenticate","proxy-authorization","te","trailer","transfer-encoding","upgrade"],Jo1=/^[!#$%&'*+\-.0-9A-Z^_`a-z|~]+$/,Go1=(X,Y)=>{if(!X)return{};let Q=new Headers(X.headers);if(Y){let J=Q.get("connection");if(J){let G=J.split(",").map((Z)=>Z.trim()),W=G.filter((Z)=>!Jo1.test(Z));if(W.length>0)throw new bV(400,{message:`Invalid Connection header value: ${W.join(", ")}`});G.forEach((Z)=>{Q.delete(Z)})}}return L_0.forEach((J)=>{Q.delete(J)}),{method:X.method,body:X.body,duplex:X.body?"half":void 0,headers:Q,signal:X.signal}},Wo1=(X)=>{if(!X.headers||Array.isArray(X.headers)||X.headers instanceof Headers)return X;let Y=new Headers;for(let[Q,J]of Object.entries(X.headers))if(J==null)Y.delete(Q);else Y.set(Q,J);return X.headers=Y,X},w_0=async(X,Y)=>{let{raw:Q,customFetch:J,strictConnectionProcessing:G=!1,...W}=Y instanceof Request?{raw:Y}:Y??{},Z=new Request(X,{...Go1(Q,G),...Wo1(W)});Z.headers.delete("accept-encoding");let $=await(J||fetch)(Z),K=new Headers($.headers);if(L_0.forEach((H)=>{K.delete(H)}),K.has("content-encoding"))K.delete("content-encoding"),K.delete("content-length");return new Response($.body,{status:$.status,statusText:$.statusText,headers:K})};var M_0=(X)=>(Y)=>{let Q=new URL(Y.req.raw.url),J=new URL(X);return J.pathname=Q.pathname,J.search=Q.search,w_0(J,{raw:Y.req.raw,headers:{...Y.req.raw.headers}})};import{resolve as JN,dirname as Zo1,join as $o1,extname as Ko1}from"path";var Ho1="http://localhost:4000",Fo1="./dist/client";function Vo1(X,Y){let Q=JN(Y),J=JN(X);return J===Q||J.startsWith(Q+"/")}function qo1({requestPath:X,clientDir:Y}){let Q=X.startsWith("/")?X.slice(1):X,J=JN(Y,Q);if(!Vo1(J,Y))return null;return J}function P_0(X,Y="../client"){let Q=new URL(X),J=Zo1(Q.pathname);return JN(J,Y)}function T_0(X={}){let{env:Y="production",devServerUrl:Q=Ho1,clientDir:J=Fo1,isServerPath:G=()=>!1}=X;if(Y==="development"){let W=M_0(Q);return async function($){let K=new URL($.url);if(G(K.pathname))return null;let H={req:{raw:$,url:$.url}};return W(H)}}return async function(Z){if(Z.method!=="GET")return null;let $=new URL(Z.url),K;try{K=decodeURIComponent($.pathname)}catch{return null}if(G(K))return null;let H=qo1({requestPath:K,clientDir:J});if(!H)return null;let F=$o1(H,"index.html"),V=JN(J,"index.html"),q=Z.headers.get("accept"),D=q?.includes("text/html")||q?.includes("*/*")&&["",".html"].includes(Ko1(H))?[F,V]:[];for(let N of[H,...D])try{let L=Bun.file(N);if(await L.exists())return new Response(L)}catch{}return null}}var o$1=e6(rl(),1);var sl=(X,Y,Q)=>{return(J,G)=>{let W=-1;return Z(0);async function Z($){if($<=W)throw Error("next() called multiple times");W=$;let K,H=!1,F;if(X[$])F=X[$][0][0],J.req.routeIndex=$;else F=$===X.length&&G||void 0;if(F)try{K=await F(J,()=>Z($+1))}catch(V){if(V instanceof Error&&Y)J.error=V,K=await Y(V,J),H=!0;else throw V}else if(J.finalized===!1&&Q)K=await Q(J);if(K&&(J.finalized===!1||H))J.res=K;return J}}};var A_0=Symbol();var E_0=async(X,Y=Object.create(null))=>{let{all:Q=!1,dot:J=!1}=Y,W=(X instanceof zj?X.raw.headers:X.headers).get("Content-Type");if(W?.startsWith("multipart/form-data")||W?.startsWith("application/x-www-form-urlencoded"))return Uo1(X,{all:Q,dot:J});return{}};async function Uo1(X,Y){let Q=await X.formData();if(Q)return zo1(Q,Y);return{}}function zo1(X,Y){let Q=Object.create(null);if(X.forEach((J,G)=>{if(!(Y.all||G.endsWith("[]")))Q[G]=J;else Bo1(Q,G,J)}),Y.dot)Object.entries(Q).forEach(([J,G])=>{if(J.includes("."))Do1(Q,J,G),delete Q[J]});return Q}var Bo1=(X,Y,Q)=>{if(X[Y]!==void 0)if(Array.isArray(X[Y]))X[Y].push(Q);else X[Y]=[X[Y],Q];else if(!Y.endsWith("[]"))X[Y]=Q;else X[Y]=[Q]},Do1=(X,Y,Q)=>{let J=X,G=Y.split(".");G.forEach((W,Z)=>{if(Z===G.length-1)J[W]=Q;else{if(!J[W]||typeof J[W]!=="object"||Array.isArray(J[W])||J[W]instanceof File)J[W]=Object.create(null);J=J[W]}})};var el=(X)=>{let Y=X.split("/");if(Y[0]==="")Y.shift();return Y},j_0=(X)=>{let{groups:Y,path:Q}=No1(X),J=el(Q);return Oo1(J,Y)},No1=(X)=>{let Y=[];return X=X.replace(/\{[^}]+\}/g,(Q,J)=>{let G=`@${J}`;return Y.push([G,Q]),G}),{groups:Y,path:X}},Oo1=(X,Y)=>{for(let Q=Y.length-1;Q>=0;Q--){let[J]=Y[Q];for(let G=X.length-1;G>=0;G--)if(X[G].includes(J)){X[G]=X[G].replace(J,Y[Q][1]);break}}return X},Bj={},C_0=(X,Y)=>{if(X==="*")return"*";let Q=X.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(Q){let J=`${X}#${Y}`;if(!Bj[J])if(Q[2])Bj[J]=Y&&Y[0]!==":"&&Y[0]!=="*"?[J,Q[1],new RegExp(`^${Q[2]}(?=/${Y})`)]:[X,Q[1],new RegExp(`^${Q[2]}$`)];else Bj[J]=[X,Q[1],!0];return Bj[J]}return null},fV=(X,Y)=>{try{return Y(X)}catch{return X.replace(/(?:%[0-9A-Fa-f]{2})+/g,(Q)=>{try{return Y(Q)}catch{return Q}})}},Lo1=(X)=>fV(X,decodeURI),Xd=(X)=>{let Y=X.url,Q=Y.indexOf("/",Y.indexOf(":")+4),J=Q;for(;J<Y.length;J++){let G=Y.charCodeAt(J);if(G===37){let W=Y.indexOf("?",J),Z=Y.slice(Q,W===-1?void 0:W);return Lo1(Z.includes("%25")?Z.replace(/%25/g,"%2525"):Z)}else if(G===63)break}return Y.slice(Q,J)};var I_0=(X)=>{let Y=Xd(X);return Y.length>1&&Y.at(-1)==="/"?Y.slice(0,-1):Y},KH=(X,Y,...Q)=>{if(Q.length)Y=KH(Y,...Q);return`${X?.[0]==="/"?"":"/"}${X}${Y==="/"?"":`${X?.at(-1)==="/"?"":"/"}${Y?.[0]==="/"?Y.slice(1):Y}`}`},Dj=(X)=>{if(X.charCodeAt(X.length-1)!==63||!X.includes(":"))return null;let Y=X.split("/"),Q=[],J="";return Y.forEach((G)=>{if(G!==""&&!/\:/.test(G))J+="/"+G;else if(/\:/.test(G))if(/\?/.test(G)){if(Q.length===0&&J==="")Q.push("/");else Q.push(J);let W=G.replace("?","");J+="/"+W,Q.push(J)}else J+="/"+G}),Q.filter((G,W,Z)=>Z.indexOf(G)===W)},tl=(X)=>{if(!/[%+]/.test(X))return X;if(X.indexOf("+")!==-1)X=X.replace(/\+/g," ");return X.indexOf("%")!==-1?fV(X,GN):X},R_0=(X,Y,Q)=>{let J;if(!Q&&Y&&!/[%+]/.test(Y)){let Z=X.indexOf("?",8);if(Z===-1)return;if(!X.startsWith(Y,Z+1))Z=X.indexOf(`&${Y}`,Z+1);while(Z!==-1){let $=X.charCodeAt(Z+Y.length+1);if($===61){let K=Z+Y.length+2,H=X.indexOf("&",K);return tl(X.slice(K,H===-1?void 0:H))}else if($==38||isNaN($))return"";Z=X.indexOf(`&${Y}`,Z+1)}if(J=/[%+]/.test(X),!J)return}let G={};J??=/[%+]/.test(X);let W=X.indexOf("?",8);while(W!==-1){let Z=X.indexOf("&",W+1),$=X.indexOf("=",W);if($>Z&&Z!==-1)$=-1;let K=X.slice(W+1,$===-1?Z===-1?void 0:Z:$);if(J)K=tl(K);if(W=Z,K==="")continue;let H;if($===-1)H="";else if(H=X.slice($+1,Z===-1?void 0:Z),J)H=tl(H);if(Q){if(!(G[K]&&Array.isArray(G[K])))G[K]=[];G[K].push(H)}else G[K]??=H}return Y?G[Y]:G},S_0=R_0,k_0=(X,Y)=>{return R_0(X,Y,!0)},GN=decodeURIComponent;var v_0=(X)=>fV(X,GN),zj=class{raw;#X;#Y;routeIndex=0;path;bodyCache={};constructor(X,Y="/",Q=[[]]){this.raw=X,this.path=Y,this.#Y=Q,this.#X={}}param(X){return X?this.#Q(X):this.#J()}#Q(X){let Y=this.#Y[0][this.routeIndex][1][X],Q=this.#W(Y);return Q&&/\%/.test(Q)?v_0(Q):Q}#J(){let X={},Y=Object.keys(this.#Y[0][this.routeIndex][1]);for(let Q of Y){let J=this.#W(this.#Y[0][this.routeIndex][1][Q]);if(J!==void 0)X[Q]=/\%/.test(J)?v_0(J):J}return X}#W(X){return this.#Y[1]?this.#Y[1][X]:X}query(X){return S_0(this.url,X)}queries(X){return k_0(this.url,X)}header(X){if(X)return this.raw.headers.get(X)??void 0;let Y={};return this.raw.headers.forEach((Q,J)=>{Y[J]=Q}),Y}async parseBody(X){return this.bodyCache.parsedBody??=await E_0(this,X)}#G=(X)=>{let{bodyCache:Y,raw:Q}=this,J=Y[X];if(J)return J;let G=Object.keys(Y)[0];if(G)return Y[G].then((W)=>{if(G==="json")W=JSON.stringify(W);return new Response(W)[X]()});return Y[X]=Q[X]()};json(){return this.#G("text").then((X)=>JSON.parse(X))}text(){return this.#G("text")}arrayBuffer(){return this.#G("arrayBuffer")}blob(){return this.#G("blob")}formData(){return this.#G("formData")}addValidatedData(X,Y){this.#X[X]=Y}valid(X){return this.#X[X]}get url(){return this.raw.url}get method(){return this.raw.method}get[A_0](){return this.#Y}get matchedRoutes(){return this.#Y[0].map(([[,X]])=>X)}get routePath(){return this.#Y[0].map(([[,X]])=>X)[this.routeIndex].path}};var Nj={Stringify:1,BeforeStream:2,Stream:3},wo1=(X,Y)=>{let Q=new String(X);return Q.isEscaped=!0,Q.callbacks=Y,Q};var WN=async(X,Y,Q,J,G)=>{if(typeof X==="object"&&!(X instanceof String)){if(!(X instanceof Promise))X=X.toString();if(X instanceof Promise)X=await X}let W=X.callbacks;if(!W?.length)return Promise.resolve(X);if(G)G[0]+=X;else G=[X];let Z=Promise.all(W.map(($)=>$({phase:Y,buffer:G,context:J}))).then(($)=>Promise.all($.filter(Boolean).map((K)=>WN(K,Y,!1,J,G))).then(()=>G[0]));if(Q)return wo1(await Z,W);else return Z};var __0="text/plain; charset=UTF-8",Yd=(X,Y)=>{return{"Content-Type":X,...Y}},y_0=class{#X;#Y;env={};#Q;finalized=!1;error;#J;#W;#G;#$;#Z;#H;#K;#V;#q;constructor(X,Y){if(this.#X=X,Y)this.#W=Y.executionCtx,this.env=Y.env,this.#H=Y.notFoundHandler,this.#q=Y.path,this.#V=Y.matchResult}get req(){return this.#Y??=new zj(this.#X,this.#q,this.#V),this.#Y}get event(){if(this.#W&&"respondWith"in this.#W)return this.#W;else throw Error("This context has no FetchEvent")}get executionCtx(){if(this.#W)return this.#W;else throw Error("This context has no ExecutionContext")}get res(){return this.#G||=new Response(null,{headers:this.#K??=new Headers})}set res(X){if(this.#G&&X){X=new Response(X.body,X);for(let[Y,Q]of this.#G.headers.entries()){if(Y==="content-type")continue;if(Y==="set-cookie"){let J=this.#G.headers.getSetCookie();X.headers.delete("set-cookie");for(let G of J)X.headers.append("set-cookie",G)}else X.headers.set(Y,Q)}}this.#G=X,this.finalized=!0}render=(...X)=>{return this.#Z??=(Y)=>this.html(Y),this.#Z(...X)};setLayout=(X)=>this.#$=X;getLayout=()=>this.#$;setRenderer=(X)=>{this.#Z=X};header=(X,Y,Q)=>{if(this.finalized)this.#G=new Response(this.#G.body,this.#G);let J=this.#G?this.#G.headers:this.#K??=new Headers;if(Y===void 0)J.delete(X);else if(Q?.append)J.append(X,Y);else J.set(X,Y)};status=(X)=>{this.#J=X};set=(X,Y)=>{this.#Q??=new Map,this.#Q.set(X,Y)};get=(X)=>{return this.#Q?this.#Q.get(X):void 0};get var(){if(!this.#Q)return{};return Object.fromEntries(this.#Q)}#F(X,Y,Q){let J=this.#G?new Headers(this.#G.headers):this.#K??new Headers;if(typeof Y==="object"&&"headers"in Y){let W=Y.headers instanceof Headers?Y.headers:new Headers(Y.headers);for(let[Z,$]of W)if(Z.toLowerCase()==="set-cookie")J.append(Z,$);else J.set(Z,$)}if(Q)for(let[W,Z]of Object.entries(Q))if(typeof Z==="string")J.set(W,Z);else{J.delete(W);for(let $ of Z)J.append(W,$)}let G=typeof Y==="number"?Y:Y?.status??this.#J;return new Response(X,{status:G,headers:J})}newResponse=(...X)=>this.#F(...X);body=(X,Y,Q)=>this.#F(X,Y,Q);text=(X,Y,Q)=>{return!this.#K&&!this.#J&&!Y&&!Q&&!this.finalized?new Response(X):this.#F(X,Y,Yd(__0,Q))};json=(X,Y,Q)=>{return this.#F(JSON.stringify(X),Y,Yd("application/json",Q))};html=(X,Y,Q)=>{let J=(G)=>this.#F(G,Y,Yd("text/html; charset=UTF-8",Q));return typeof X==="object"?WN(X,Nj.Stringify,!1,{}).then(J):J(X)};redirect=(X,Y)=>{let Q=String(X);return this.header("Location",!/[^\x00-\xFF]/.test(Q)?Q:encodeURI(Q)),this.newResponse(null,Y??302)};notFound=()=>{return this.#H??=()=>new Response,this.#H(this)}};var p4="ALL",b_0="all",f_0=["get","post","put","delete","options","patch"],Oj="Can not add a route since the matcher is already built.",Lj=class extends Error{};var h_0="__COMPOSED_HANDLER";var Mo1=(X)=>{return X.text("404 Not Found",404)},x_0=(X,Y)=>{if("getResponse"in X){let Q=X.getResponse();return Y.newResponse(Q.body,Q)}return console.error(X),Y.text("Internal Server Error",500)},g_0=class X{get;post;put;delete;options;patch;all;on;use;router;getPath;_basePath="/";#X="/";routes=[];constructor(Y={}){[...f_0,b_0].forEach((W)=>{this[W]=(Z,...$)=>{if(typeof Z==="string")this.#X=Z;else this.#J(W,this.#X,Z);return $.forEach((K)=>{this.#J(W,this.#X,K)}),this}}),this.on=(W,Z,...$)=>{for(let K of[Z].flat()){this.#X=K;for(let H of[W].flat())$.map((F)=>{this.#J(H.toUpperCase(),this.#X,F)})}return this},this.use=(W,...Z)=>{if(typeof W==="string")this.#X=W;else this.#X="*",Z.unshift(W);return Z.forEach(($)=>{this.#J(p4,this.#X,$)}),this};let{strict:J,...G}=Y;Object.assign(this,G),this.getPath=J??!0?Y.getPath??Xd:I_0}#Y(){let Y=new X({router:this.router,getPath:this.getPath});return Y.errorHandler=this.errorHandler,Y.#Q=this.#Q,Y.routes=this.routes,Y}#Q=Mo1;errorHandler=x_0;route(Y,Q){let J=this.basePath(Y);return Q.routes.map((G)=>{let W;if(Q.errorHandler===x_0)W=G.handler;else W=async(Z,$)=>(await sl([],Q.errorHandler)(Z,()=>G.handler(Z,$))).res,W[h_0]=G.handler;J.#J(G.method,G.path,W)}),this}basePath(Y){let Q=this.#Y();return Q._basePath=KH(this._basePath,Y),Q}onError=(Y)=>{return this.errorHandler=Y,this};notFound=(Y)=>{return this.#Q=Y,this};mount(Y,Q,J){let G,W;if(J)if(typeof J==="function")W=J;else if(W=J.optionHandler,J.replaceRequest===!1)G=(K)=>K;else G=J.replaceRequest;let Z=W?(K)=>{let H=W(K);return Array.isArray(H)?H:[H]}:(K)=>{let H=void 0;try{H=K.executionCtx}catch{}return[K.env,H]};G||=(()=>{let K=KH(this._basePath,Y),H=K==="/"?0:K.length;return(F)=>{let V=new URL(F.url);return V.pathname=V.pathname.slice(H)||"/",new Request(V,F)}})();let $=async(K,H)=>{let F=await Q(G(K.req.raw),...Z(K));if(F)return F;await H()};return this.#J(p4,KH(Y,"*"),$),this}#J(Y,Q,J){Y=Y.toUpperCase(),Q=KH(this._basePath,Q);let G={basePath:this._basePath,path:Q,method:Y,handler:J};this.router.add(Y,Q,[J,G]),this.routes.push(G)}#W(Y,Q){if(Y instanceof Error)return this.errorHandler(Y,Q);throw Y}#G(Y,Q,J,G){if(G==="HEAD")return(async()=>new Response(null,await this.#G(Y,Q,J,"GET")))();let W=this.getPath(Y,{env:J}),Z=this.router.match(G,W),$=new y_0(Y,{path:W,matchResult:Z,env:J,executionCtx:Q,notFoundHandler:this.#Q});if(Z[0].length===1){let H;try{H=Z[0][0][0][0]($,async()=>{$.res=await this.#Q($)})}catch(F){return this.#W(F,$)}return H instanceof Promise?H.then((F)=>F||($.finalized?$.res:this.#Q($))).catch((F)=>this.#W(F,$)):H??this.#Q($)}let K=sl(Z[0],this.errorHandler,this.#Q);return(async()=>{try{let H=await K($);if(!H.finalized)throw Error("Context is not finalized. Did you forget to return a Response object or `await next()`?");return H.res}catch(H){return this.#W(H,$)}})()}fetch=(Y,...Q)=>{return this.#G(Y,Q[1],Q[0],Y.method)};request=(Y,Q,J,G)=>{if(Y instanceof Request)return this.fetch(Q?new Request(Y,Q):Y,J,G);return Y=Y.toString(),this.fetch(new Request(/^https?:\/\//.test(Y)?Y:`http://localhost${KH("/",Y)}`,Q),J,G)};fire=()=>{addEventListener("fetch",(Y)=>{Y.respondWith(this.#G(Y.request,Y,void 0,Y.request.method))})}};var ZN=[];function wj(X,Y){let Q=this.buildAllMatchers(),J=(G,W)=>{let Z=Q[G]||Q[p4],$=Z[2][W];if($)return $;let K=W.match(Z[0]);if(!K)return[[],ZN];let H=K.indexOf("",1);return[Z[1][H],K]};return this.match=J,J(X,Y)}var Mj="[^/]+",$N=".*",KN="(?:|/.*)",HH=Symbol(),Po1=new Set(".\\+*[^]$()");function To1(X,Y){if(X.length===1)return Y.length===1?X<Y?-1:1:-1;if(Y.length===1)return 1;if(X===$N||X===KN)return 1;else if(Y===$N||Y===KN)return-1;if(X===Mj)return 1;else if(Y===Mj)return-1;return X.length===Y.length?X<Y?-1:1:Y.length-X.length}var u_0=class X{#X;#Y;#Q=Object.create(null);insert(Y,Q,J,G,W){if(Y.length===0){if(this.#X!==void 0)throw HH;if(W)return;this.#X=Q;return}let[Z,...$]=Y,K=Z==="*"?$.length===0?["","",$N]:["","",Mj]:Z==="/*"?["","",KN]:Z.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/),H;if(K){let F=K[1],V=K[2]||Mj;if(F&&K[2]){if(V===".*")throw HH;if(V=V.replace(/^\((?!\?:)(?=[^)]+\)$)/,"(?:"),/\((?!\?:)/.test(V))throw HH}if(H=this.#Q[V],!H){if(Object.keys(this.#Q).some((q)=>q!==$N&&q!==KN))throw HH;if(W)return;if(H=this.#Q[V]=new X,F!=="")H.#Y=G.varIndex++}if(!W&&F!=="")J.push([F,H.#Y])}else if(H=this.#Q[Z],!H){if(Object.keys(this.#Q).some((F)=>F.length>1&&F!==$N&&F!==KN))throw HH;if(W)return;H=this.#Q[Z]=new X}H.insert($,Q,J,G,W)}buildRegExpStr(){let Q=Object.keys(this.#Q).sort(To1).map((J)=>{let G=this.#Q[J];return(typeof G.#Y==="number"?`(${J})@${G.#Y}`:Po1.has(J)?`\\${J}`:J)+G.buildRegExpStr()});if(typeof this.#X==="number")Q.unshift(`#${this.#X}`);if(Q.length===0)return"";if(Q.length===1)return Q[0];return"(?:"+Q.join("|")+")"}};var m_0=class{#X={varIndex:0};#Y=new u_0;insert(X,Y,Q){let J=[],G=[];for(let Z=0;;){let $=!1;if(X=X.replace(/\{[^}]+\}/g,(K)=>{let H=`@\\${Z}`;return G[Z]=[H,K],Z++,$=!0,H}),!$)break}let W=X.match(/(?::[^\/]+)|(?:\/\*$)|./g)||[];for(let Z=G.length-1;Z>=0;Z--){let[$]=G[Z];for(let K=W.length-1;K>=0;K--)if(W[K].indexOf($)!==-1){W[K]=W[K].replace($,G[Z][1]);break}}return this.#Y.insert(W,Y,J,this.#X,Q),J}buildRegExp(){let X=this.#Y.buildRegExpStr();if(X==="")return[/^$/,[],[]];let Y=0,Q=[],J=[];return X=X.replace(/#(\d+)|@(\d+)|\.\*\$/g,(G,W,Z)=>{if(W!==void 0)return Q[++Y]=Number(W),"$()";if(Z!==void 0)return J[Number(Z)]=++Y,"";return""}),[new RegExp(`^${X}`),Q,J]}};var Ao1=[/^$/,[],Object.create(null)],l_0=Object.create(null);function d_0(X){return l_0[X]??=new RegExp(X==="*"?"":`^${X.replace(/\/\*$|([.\\+*[^\]$()])/g,(Y,Q)=>Q?`\\${Q}`:"(?:|/.*)")}$`)}function Eo1(){l_0=Object.create(null)}function jo1(X){let Y=new m_0,Q=[];if(X.length===0)return Ao1;let J=X.map((H)=>[!/\*|\/:/.test(H[0]),...H]).sort(([H,F],[V,q])=>H?1:V?-1:F.length-q.length),G=Object.create(null);for(let H=0,F=-1,V=J.length;H<V;H++){let[q,z,D]=J[H];if(q)G[z]=[D.map(([L])=>[L,Object.create(null)]),ZN];else F++;let N;try{N=Y.insert(z,F,q)}catch(L){throw L===HH?new Lj(z):L}if(q)continue;Q[F]=D.map(([L,w])=>{let C=Object.create(null);w-=1;for(;w>=0;w--){let[A,T]=N[w];C[A]=T}return[L,C]})}let[W,Z,$]=Y.buildRegExp();for(let H=0,F=Q.length;H<F;H++)for(let V=0,q=Q[H].length;V<q;V++){let z=Q[H][V]?.[1];if(!z)continue;let D=Object.keys(z);for(let N=0,L=D.length;N<L;N++)z[D[N]]=$[z[D[N]]]}let K=[];for(let H in Z)K[H]=Q[Z[H]];return[W,K,G]}function hV(X,Y){if(!X)return;for(let Q of Object.keys(X).sort((J,G)=>G.length-J.length))if(d_0(Q).test(Y))return[...X[Q]];return}var Pj=class{name="RegExpRouter";#X;#Y;constructor(){this.#X={[p4]:Object.create(null)},this.#Y={[p4]:Object.create(null)}}add(X,Y,Q){let J=this.#X,G=this.#Y;if(!J||!G)throw Error(Oj);if(!J[X])[J,G].forEach(($)=>{$[X]=Object.create(null),Object.keys($[p4]).forEach((K)=>{$[X][K]=[...$[p4][K]]})});if(Y==="/*")Y="*";let W=(Y.match(/\/:/g)||[]).length;if(/\*$/.test(Y)){let $=d_0(Y);if(X===p4)Object.keys(J).forEach((K)=>{J[K][Y]||=hV(J[K],Y)||hV(J[p4],Y)||[]});else J[X][Y]||=hV(J[X],Y)||hV(J[p4],Y)||[];Object.keys(J).forEach((K)=>{if(X===p4||X===K)Object.keys(J[K]).forEach((H)=>{$.test(H)&&J[K][H].push([Q,W])})}),Object.keys(G).forEach((K)=>{if(X===p4||X===K)Object.keys(G[K]).forEach((H)=>$.test(H)&&G[K][H].push([Q,W]))});return}let Z=Dj(Y)||[Y];for(let $=0,K=Z.length;$<K;$++){let H=Z[$];Object.keys(G).forEach((F)=>{if(X===p4||X===F)G[F][H]||=[...hV(J[F],H)||hV(J[p4],H)||[]],G[F][H].push([Q,W-K+$+1])})}}match=wj;buildAllMatchers(){let X=Object.create(null);return Object.keys(this.#Y).concat(Object.keys(this.#X)).forEach((Y)=>{X[Y]||=this.#Q(Y)}),this.#X=this.#Y=void 0,Eo1(),X}#Q(X){let Y=[],Q=X===p4;if([this.#X,this.#Y].forEach((J)=>{let G=J[X]?Object.keys(J[X]).map((W)=>[W,J[X][W]]):[];if(G.length!==0)Q||=!0,Y.push(...G);else if(X!==p4)Y.push(...Object.keys(J[p4]).map((W)=>[W,J[p4][W]]))}),!Q)return null;else return jo1(Y)}};var Co1=class{name="PreparedRegExpRouter";#X;#Y;constructor(X,Y){this.#X=X,this.#Y=Y}#Q(X,Y){let Q=this.#X[X];Q[1].forEach((J)=>J&&J.push(Y)),Object.values(Q[2]).forEach((J)=>J[0].push(Y))}#J(X,Y,Q,J,G){let W=this.#X[X];if(!G)W[2][Y][0].push([Q,{}]);else J.forEach((Z)=>{if(typeof Z==="number")W[1][Z].push([Q,G]);else W[2][Z||Y][0].push([Q,G])})}add(X,Y,Q){if(!this.#X[X]){let G=this.#X[p4],W={};for(let Z in G[2])W[Z]=[G[2][Z][0].slice(),ZN];this.#X[X]=[G[0],G[1].map((Z)=>Array.isArray(Z)?Z.slice():0),W]}if(Y==="/*"||Y==="*"){let G=[Q,{}];if(X===p4)for(let W in this.#X)this.#Q(W,G);else this.#Q(X,G);return}let J=this.#Y[Y];if(!J)throw Error(`Path ${Y} is not registered`);for(let[G,W]of J)if(X===p4)for(let Z in this.#X)this.#J(Z,Y,Q,G,W);else this.#J(X,Y,Q,G,W)}buildAllMatchers(){return this.#X}match=wj};var Qd=class{name="SmartRouter";#X=[];#Y=[];constructor(X){this.#X=X.routers}add(X,Y,Q){if(!this.#Y)throw Error(Oj);this.#Y.push([X,Y,Q])}match(X,Y){if(!this.#Y)throw Error("Fatal error");let Q=this.#X,J=this.#Y,G=Q.length,W=0,Z;for(;W<G;W++){let $=Q[W];try{for(let K=0,H=J.length;K<H;K++)$.add(...J[K]);Z=$.match(X,Y)}catch(K){if(K instanceof Lj)continue;throw K}this.match=$.match.bind($),this.#X=[$],this.#Y=void 0;break}if(W===G)throw Error("Fatal error");return this.name=`SmartRouter + ${this.activeRouter.name}`,Z}get activeRouter(){if(this.#Y||this.#X.length!==1)throw Error("No active router has been determined yet.");return this.#X[0]}};var HN=Object.create(null),p_0=class X{#X;#Y;#Q;#J=0;#W=HN;constructor(Y,Q,J){if(this.#Y=J||Object.create(null),this.#X=[],Y&&Q){let G=Object.create(null);G[Y]={handler:Q,possibleKeys:[],score:0},this.#X=[G]}this.#Q=[]}insert(Y,Q,J){this.#J=++this.#J;let G=this,W=j_0(Q),Z=[];for(let $=0,K=W.length;$<K;$++){let H=W[$],F=W[$+1],V=C_0(H,F),q=Array.isArray(V)?V[0]:H;if(q in G.#Y){if(G=G.#Y[q],V)Z.push(V[1]);continue}if(G.#Y[q]=new X,V)G.#Q.push(V),Z.push(V[1]);G=G.#Y[q]}return G.#X.push({[Y]:{handler:J,possibleKeys:Z.filter(($,K,H)=>H.indexOf($)===K),score:this.#J}}),G}#G(Y,Q,J,G){let W=[];for(let Z=0,$=Y.#X.length;Z<$;Z++){let K=Y.#X[Z],H=K[Q]||K[p4],F={};if(H!==void 0){if(H.params=Object.create(null),W.push(H),J!==HN||G&&G!==HN)for(let V=0,q=H.possibleKeys.length;V<q;V++){let z=H.possibleKeys[V],D=F[H.score];H.params[z]=G?.[z]&&!D?G[z]:J[z]??G?.[z],F[H.score]=!0}}}return W}search(Y,Q){let J=[];this.#W=HN;let W=[this],Z=el(Q),$=[];for(let K=0,H=Z.length;K<H;K++){let F=Z[K],V=K===H-1,q=[];for(let z=0,D=W.length;z<D;z++){let N=W[z],L=N.#Y[F];if(L)if(L.#W=N.#W,V){if(L.#Y["*"])J.push(...this.#G(L.#Y["*"],Y,N.#W));J.push(...this.#G(L,Y,N.#W))}else q.push(L);for(let w=0,C=N.#Q.length;w<C;w++){let A=N.#Q[w],T=N.#W===HN?{}:{...N.#W};if(A==="*"){let y=N.#Y["*"];if(y)J.push(...this.#G(y,Y,N.#W)),y.#W=T,q.push(y);continue}let[P,j,R]=A;if(!F&&!(R instanceof RegExp))continue;let k=N.#Y[P],_=Z.slice(K).join("/");if(R instanceof RegExp){let y=R.exec(_);if(y){if(T[j]=y[0],J.push(...this.#G(k,Y,N.#W,T)),Object.keys(k.#Y).length){k.#W=T;let b=y[0].match(/\//)?.length??0;($[b]||=[]).push(k)}continue}}if(R===!0||R.test(F))if(T[j]=F,V){if(J.push(...this.#G(k,Y,T,N.#W)),k.#Y["*"])J.push(...this.#G(k.#Y["*"],Y,T,N.#W))}else k.#W=T,q.push(k)}}W=q.concat($.shift()??[])}if(J.length>1)J.sort((K,H)=>{return K.score-H.score});return[J.map(({handler:K,params:H})=>[K,H])]}};var Jd=class{name="TrieRouter";#X;constructor(){this.#X=new p_0}add(X,Y,Q){let J=Dj(Y);if(J){for(let G=0,W=J.length;G<W;G++)this.#X.insert(X,J[G],Q);return}this.#X.insert(X,Y,Q)}match(X,Y){return this.#X.search(X,Y)}};var l8=class extends g_0{constructor(X={}){super(X);this.router=X.router??new Qd({routers:[new Pj,new Jd]})}};function Io1(){let{process:X,Deno:Y}=globalThis;return!(typeof Y?.noColor==="boolean"?Y.noColor:X!==void 0?"NO_COLOR"in X?.env:!1)}async function c_0(){let{navigator:X}=globalThis,Y="cloudflare:workers";return!(X!==void 0&&X.userAgent==="Cloudflare-Workers"?await(async()=>{try{return"NO_COLOR"in((await import("cloudflare:workers")).env??{})}catch{return!1}})():!Io1())}var Ro1=(X)=>{let[Y,Q]=[",","."];return X.map((G)=>G.replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1"+Y)).join(Q)},So1=(X)=>{let Y=Date.now()-X;return Ro1([Y<1000?Y+"ms":Math.round(Y/1000)+"s"])},ko1=async(X)=>{if(await c_0())switch(X/100|0){case 5:return`\x1B[31m${X}\x1B[0m`;case 4:return`\x1B[33m${X}\x1B[0m`;case 3:return`\x1B[36m${X}\x1B[0m`;case 2:return`\x1B[32m${X}\x1B[0m`}return`${X}`};async function n_0(X,Y,Q,J,G=0,W){let Z=Y==="<--"?`${Y} ${Q} ${J}`:`${Y} ${Q} ${J} ${await ko1(G)} ${W}`;X(Z)}var i_0=(X=console.log)=>{return async function(Q,J){let{method:G,url:W}=Q.req,Z=W.slice(W.indexOf("/",8));await n_0(X,"<--",G,Z);let $=Date.now();await J(),await n_0(X,"-->",G,Z,Q.res.status,So1($))}};var a_0=(X)=>{let Q={...{origin:"*",allowMethods:["GET","HEAD","PUT","POST","DELETE","PATCH"],allowHeaders:[],exposeHeaders:[]},...X},J=((W)=>{if(typeof W==="string")if(W==="*")return()=>W;else return(Z)=>W===Z?Z:null;else if(typeof W==="function")return W;else return(Z)=>W.includes(Z)?Z:null})(Q.origin),G=((W)=>{if(typeof W==="function")return W;else if(Array.isArray(W))return()=>W;else return()=>[]})(Q.allowMethods);return async function(Z,$){function K(F,V){Z.res.headers.set(F,V)}let H=await J(Z.req.header("origin")||"",Z);if(H)K("Access-Control-Allow-Origin",H);if(Q.credentials)K("Access-Control-Allow-Credentials","true");if(Q.exposeHeaders?.length)K("Access-Control-Expose-Headers",Q.exposeHeaders.join(","));if(Z.req.method==="OPTIONS"){if(Q.origin!=="*")K("Vary","Origin");if(Q.maxAge!=null)K("Access-Control-Max-Age",Q.maxAge.toString());let F=await G(Z.req.header("origin")||"",Z);if(F.length)K("Access-Control-Allow-Methods",F.join(","));let V=Q.allowHeaders;if(!V?.length){let q=Z.req.header("Access-Control-Request-Headers");if(q)V=q.split(/\s*,\s*/)}if(V?.length)K("Access-Control-Allow-Headers",V.join(",")),Z.res.headers.append("Vary","Access-Control-Request-Headers");return Z.res.headers.delete("Content-Length"),Z.res.headers.delete("Content-Type"),new Response(null,{headers:Z.res.headers,status:204,statusText:"No Content"})}if(await $(),Q.origin!=="*")Z.header("Vary","Origin",{append:!0})}};var r_0=()=>{try{return performance.now()}catch{}return Date.now()},Gd=(X)=>{let Y={total:!0,enabled:!0,totalDescription:"Total Response Time",autoEnd:!0,crossOrigin:!1,...X};return async function(J,G){let W=[],Z=new Map;if(J.get("metric"))return await G();if(J.set("metric",{headers:W,timers:Z}),Y.total)xV(J,"total",Y.totalDescription);if(await G(),Y.total)FH(J,"total");if(Y.autoEnd)Z.forEach((K,H)=>FH(J,H));if(typeof Y.enabled==="function"?Y.enabled(J):Y.enabled){J.res.headers.append("Server-Timing",W.join(","));let K=typeof Y.crossOrigin==="function"?Y.crossOrigin(J):Y.crossOrigin;if(K)J.res.headers.append("Timing-Allow-Origin",typeof K==="string"?K:"*")}}},o_0=(X,Y,Q,J,G)=>{let W=X.get("metric");if(!W){console.warn("Metrics not initialized! Please add the `timing()` middleware to this route!");return}if(typeof Q==="number"){let Z=Q.toFixed(G||1),$=J?`${Y};dur=${Z};desc="${J}"`:`${Y};dur=${Z}`;W.headers.push($)}else{let Z=Q?`${Y};desc="${Q}"`:`${Y}`;W.headers.push(Z)}},xV=(X,Y,Q)=>{let J=X.get("metric");if(!J){console.warn("Metrics not initialized! Please add the `timing()` middleware to this route!");return}J.timers.set(Y,{description:Q,start:r_0()})},FH=(X,Y,Q)=>{let J=X.get("metric");if(!J){console.warn("Metrics not initialized! Please add the `timing()` middleware to this route!");return}let G=J.timers.get(Y);if(!G){console.warn(`Timer "${Y}" does not exist!`);return}let{description:W,start:Z}=G,$=r_0()-Z;o_0(X,Y,$,W,Q),J.timers.delete(Y)};var vo1=/^[\w!#$%&'*.^`|~+-]+$/,_o1=/^[ !#-:<-[\]-~]*$/,Wd=(X,Y)=>{if(Y&&X.indexOf(Y)===-1)return{};let Q=X.trim().split(";"),J={};for(let G of Q){G=G.trim();let W=G.indexOf("=");if(W===-1)continue;let Z=G.substring(0,W).trim();if(Y&&Y!==Z||!vo1.test(Z))continue;let $=G.substring(W+1).trim();if($.startsWith('"')&&$.endsWith('"'))$=$.slice(1,-1);if(_o1.test($)){if(J[Z]=$.indexOf("%")!==-1?fV($,GN):$,Y)break}}return J};var s_0=(X,Y,Q)=>{let J=X.req.raw.headers.get("Cookie");if(typeof Y==="string"){if(!J)return;let W=Y;if(Q==="secure")W="__Secure-"+Y;else if(Q==="host")W="__Host-"+Y;return Wd(J,W)[W]}if(!J)return{};return Wd(J)};var Zd=[{name:"ORGANIZATION_CREATE",description:"Create a new organization",category:"Organizations"},{name:"ORGANIZATION_LIST",description:"List organizations",category:"Organizations"},{name:"ORGANIZATION_GET",description:"View organization details",category:"Organizations"},{name:"ORGANIZATION_UPDATE",description:"Update organization",category:"Organizations"},{name:"ORGANIZATION_DELETE",description:"Delete organization",category:"Organizations",dangerous:!0},{name:"ORGANIZATION_SETTINGS_GET",description:"View organization settings",category:"Organizations"},{name:"ORGANIZATION_SETTINGS_UPDATE",description:"Update organization settings",category:"Organizations"},{name:"ORGANIZATION_MEMBER_ADD",description:"Add members",category:"Organizations"},{name:"ORGANIZATION_MEMBER_REMOVE",description:"Remove members",category:"Organizations",dangerous:!0},{name:"ORGANIZATION_MEMBER_LIST",description:"List members",category:"Organizations"},{name:"ORGANIZATION_MEMBER_UPDATE_ROLE",description:"Update member roles",category:"Organizations"},{name:"COLLECTION_CONNECTIONS_CREATE",description:"Create connections",category:"Connections"},{name:"COLLECTION_CONNECTIONS_LIST",description:"List connections",category:"Connections"},{name:"COLLECTION_CONNECTIONS_GET",description:"View connection details",category:"Connections"},{name:"COLLECTION_CONNECTIONS_UPDATE",description:"Update connections",category:"Connections"},{name:"COLLECTION_CONNECTIONS_DELETE",description:"Delete connections",category:"Connections",dangerous:!0},{name:"CONNECTION_TEST",description:"Test connections",category:"Connections"},{name:"DATABASES_RUN_SQL",description:"Run SQL queries",category:"Connections",dangerous:!0},{name:"COLLECTION_VIRTUAL_MCP_CREATE",description:"Create virtual MCPs",category:"Virtual MCPs"},{name:"COLLECTION_VIRTUAL_MCP_LIST",description:"List virtual MCPs",category:"Virtual MCPs"},{name:"COLLECTION_VIRTUAL_MCP_GET",description:"View virtual MCP details",category:"Virtual MCPs"},{name:"COLLECTION_VIRTUAL_MCP_UPDATE",description:"Update virtual MCPs",category:"Virtual MCPs"},{name:"COLLECTION_VIRTUAL_MCP_DELETE",description:"Delete virtual MCPs",category:"Virtual MCPs",dangerous:!0},{name:"MONITORING_LOGS_LIST",description:"List monitoring logs",category:"Monitoring"},{name:"MONITORING_STATS",description:"View monitoring statistics",category:"Monitoring"},{name:"API_KEY_CREATE",description:"Create API key",category:"API Keys"},{name:"API_KEY_LIST",description:"List API keys",category:"API Keys"},{name:"API_KEY_UPDATE",description:"Update API key",category:"API Keys"},{name:"API_KEY_DELETE",description:"Delete API key",category:"API Keys",dangerous:!0},{name:"EVENT_PUBLISH",description:"Publish events",category:"Event Bus"},{name:"EVENT_SUBSCRIBE",description:"Subscribe to events",category:"Event Bus"},{name:"EVENT_UNSUBSCRIBE",description:"Unsubscribe from events",category:"Event Bus"},{name:"EVENT_CANCEL",description:"Cancel recurring events",category:"Event Bus"},{name:"EVENT_ACK",description:"Acknowledge event delivery",category:"Event Bus"},{name:"EVENT_SUBSCRIPTION_LIST",description:"List event subscriptions",category:"Event Bus"},{name:"EVENT_SYNC_SUBSCRIPTIONS",description:"Sync subscriptions to desired state",category:"Event Bus"},{name:"USER_GET",description:"Get a user by id",category:"Users"},{name:"CODE_EXECUTION_SEARCH_TOOLS",description:"Search available tools by name or description",category:"Code Execution"},{name:"CODE_EXECUTION_DESCRIBE_TOOLS",description:"Get detailed schemas for specific tools",category:"Code Execution"},{name:"CODE_EXECUTION_RUN_CODE",description:"Run JavaScript code in a sandbox with tool access",category:"Code Execution",dangerous:!0},{name:"COLLECTION_THREADS_CREATE",description:"Create threads",category:"Threads"},{name:"COLLECTION_THREADS_LIST",description:"List threads",category:"Threads"},{name:"COLLECTION_THREADS_GET",description:"View thread details",category:"Threads"},{name:"COLLECTION_THREADS_UPDATE",description:"Update threads",category:"Threads"},{name:"COLLECTION_THREADS_DELETE",description:"Delete threads",category:"Threads",dangerous:!0},{name:"COLLECTION_THREAD_MESSAGES_LIST",description:"List thread messages",category:"Threads"}];function FN(){let X={Organizations:[],Connections:[],"Virtual MCPs":[],Threads:[],Monitoring:[],Users:[],"API Keys":[],"Event Bus":[],"Code Execution":[]};for(let Y of Zd)X[Y.category]?.push(Y);return X}var yo1=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",bo1="[:A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]["+yo1+"]*",fo1=new RegExp("^"+bo1+"$");function t_0(X,Y){let Q=[],J=Y.exec(X);while(J){let G=[];G.startIndex=Y.lastIndex-J[0].length;let W=J.length;for(let Z=0;Z<W;Z++)G.push(J[Z]);Q.push(G),J=Y.exec(X)}return Q}var $d=function(X){let Y=fo1.exec(X);return!(Y===null||typeof Y>"u")};var ho1={allowBooleanAttributes:!1,unpairedTags:[]};function Jy0(X,Y){Y=Object.assign({},ho1,Y);let Q=[],J=!1,G=!1;if(X[0]==="\uFEFF")X=X.substr(1);for(let W=0;W<X.length;W++)if(X[W]==="<"&&X[W+1]==="?"){if(W+=2,W=Xy0(X,W),W.err)return W}else if(X[W]==="<"){let Z=W;if(W++,X[W]==="!"){W=Yy0(X,W);continue}else{let $=!1;if(X[W]==="/")$=!0,W++;let K="";for(;W<X.length&&X[W]!==">"&&X[W]!==" "&&X[W]!=="\t"&&X[W]!==`
274
274
  `&&X[W]!=="\r";W++)K+=X[W];if(K=K.trim(),K[K.length-1]==="/")K=K.substring(0,K.length-1),W--;if(!co1(K)){let V;if(K.trim().length===0)V="Invalid space after '<'.";else V="Tag '"+K+"' is an invalid name.";return d8("InvalidTag",V,rY(X,W))}let H=uo1(X,W);if(H===!1)return d8("InvalidAttr","Attributes for '"+K+"' have open quote.",rY(X,W));let F=H.value;if(W=H.index,F[F.length-1]==="/"){let V=W-F.length;F=F.substring(0,F.length-1);let q=Qy0(F,Y);if(q===!0)J=!0;else return d8(q.err.code,q.err.msg,rY(X,V+q.err.line))}else if($)if(!H.tagClosed)return d8("InvalidTag","Closing tag '"+K+"' doesn't have proper closing.",rY(X,W));else if(F.trim().length>0)return d8("InvalidTag","Closing tag '"+K+"' can't have attributes or invalid starting.",rY(X,Z));else if(Q.length===0)return d8("InvalidTag","Closing tag '"+K+"' has not been opened.",rY(X,Z));else{let V=Q.pop();if(K!==V.tagName){let q=rY(X,V.tagStartPos);return d8("InvalidTag","Expected closing tag '"+V.tagName+"' (opened in line "+q.line+", col "+q.col+") instead of closing tag '"+K+"'.",rY(X,Z))}if(Q.length==0)G=!0}else{let V=Qy0(F,Y);if(V!==!0)return d8(V.err.code,V.err.msg,rY(X,W-F.length+V.err.line));if(G===!0)return d8("InvalidXml","Multiple possible root nodes found.",rY(X,W));else if(Y.unpairedTags.indexOf(K)!==-1);else Q.push({tagName:K,tagStartPos:Z});J=!0}for(W++;W<X.length;W++)if(X[W]==="<")if(X[W+1]==="!"){W++,W=Yy0(X,W);continue}else if(X[W+1]==="?"){if(W=Xy0(X,++W),W.err)return W}else break;else if(X[W]==="&"){let V=do1(X,W);if(V==-1)return d8("InvalidChar","char '&' is not expected.",rY(X,W));W=V}else if(G===!0&&!e_0(X[W]))return d8("InvalidXml","Extra text at the end",rY(X,W));if(X[W]==="<")W--}}else{if(e_0(X[W]))continue;return d8("InvalidChar","char '"+X[W]+"' is not expected.",rY(X,W))}if(!J)return d8("InvalidXml","Start tag expected.",1);else if(Q.length==1)return d8("InvalidTag","Unclosed tag '"+Q[0].tagName+"'.",rY(X,Q[0].tagStartPos));else if(Q.length>0)return d8("InvalidXml","Invalid '"+JSON.stringify(Q.map((W)=>W.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1});return!0}function e_0(X){return X===" "||X==="\t"||X===`
275
275
  `||X==="\r"}function Xy0(X,Y){let Q=Y;for(;Y<X.length;Y++)if(X[Y]=="?"||X[Y]==" "){let J=X.substr(Q,Y-Q);if(Y>5&&J==="xml")return d8("InvalidXml","XML declaration allowed only at the start of the document.",rY(X,Y));else if(X[Y]=="?"&&X[Y+1]==">"){Y++;break}else continue}return Y}function Yy0(X,Y){if(X.length>Y+5&&X[Y+1]==="-"&&X[Y+2]==="-"){for(Y+=3;Y<X.length;Y++)if(X[Y]==="-"&&X[Y+1]==="-"&&X[Y+2]===">"){Y+=2;break}}else if(X.length>Y+8&&X[Y+1]==="D"&&X[Y+2]==="O"&&X[Y+3]==="C"&&X[Y+4]==="T"&&X[Y+5]==="Y"&&X[Y+6]==="P"&&X[Y+7]==="E"){let Q=1;for(Y+=8;Y<X.length;Y++)if(X[Y]==="<")Q++;else if(X[Y]===">"){if(Q--,Q===0)break}}else if(X.length>Y+9&&X[Y+1]==="["&&X[Y+2]==="C"&&X[Y+3]==="D"&&X[Y+4]==="A"&&X[Y+5]==="T"&&X[Y+6]==="A"&&X[Y+7]==="["){for(Y+=8;Y<X.length;Y++)if(X[Y]==="]"&&X[Y+1]==="]"&&X[Y+2]===">"){Y+=2;break}}return Y}var xo1='"',go1="'";function uo1(X,Y){let Q="",J="",G=!1;for(;Y<X.length;Y++){if(X[Y]===xo1||X[Y]===go1)if(J==="")J=X[Y];else if(J!==X[Y]);else J="";else if(X[Y]===">"){if(J===""){G=!0;break}}Q+=X[Y]}if(J!=="")return!1;return{value:Q,index:Y,tagClosed:G}}var mo1=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function Qy0(X,Y){let Q=t_0(X,mo1),J={};for(let G=0;G<Q.length;G++){if(Q[G][1].length===0)return d8("InvalidAttr","Attribute '"+Q[G][2]+"' has no space in starting.",VN(Q[G]));else if(Q[G][3]!==void 0&&Q[G][4]===void 0)return d8("InvalidAttr","Attribute '"+Q[G][2]+"' is without value.",VN(Q[G]));else if(Q[G][3]===void 0&&!Y.allowBooleanAttributes)return d8("InvalidAttr","boolean attribute '"+Q[G][2]+"' is not allowed.",VN(Q[G]));let W=Q[G][2];if(!po1(W))return d8("InvalidAttr","Attribute '"+W+"' is an invalid name.",VN(Q[G]));if(!J.hasOwnProperty(W))J[W]=1;else return d8("InvalidAttr","Attribute '"+W+"' is repeated.",VN(Q[G]))}return!0}function lo1(X,Y){let Q=/\d/;if(X[Y]==="x")Y++,Q=/[\da-fA-F]/;for(;Y<X.length;Y++){if(X[Y]===";")return Y;if(!X[Y].match(Q))break}return-1}function do1(X,Y){if(Y++,X[Y]===";")return-1;if(X[Y]==="#")return Y++,lo1(X,Y);let Q=0;for(;Y<X.length;Y++,Q++){if(X[Y].match(/\w/)&&Q<20)continue;if(X[Y]===";")break;return-1}return Y}function d8(X,Y,Q){return{err:{code:X,msg:Y,line:Q.line||Q,col:Q.col}}}function po1(X){return $d(X)}function co1(X){return $d(X)}function rY(X,Y){let Q=X.substring(0,Y).split(/\r?\n/);return{line:Q.length,col:Q[Q.length-1].length+1}}function VN(X){return X.startIndex+X[1].length}var Gy0={validate:Jy0};var hY=e6(Gd0(),1);sZ();D5();sZ();D5();U9();mX();var P8=(X,Y="ms")=>{return new Date(Date.now()+(Y==="sec"?X*1000:X))},Ek=new WeakMap;function yi0(X,Y){let Q=Y.fields,J={};for(let G in X){let W=Q[G];if(!W){J[G]=X[G];continue}if(W.returned===!1)continue;J[G]=X[G]}return J}function jk(X,Y){if(!Ek.has(X))Ek.set(X,new Map);let Q=Ek.get(X);if(Q.has(Y))return Q.get(Y);let J={...Y==="user"?X.user?.additionalFields:{},...Y==="session"?X.session?.additionalFields:{}};for(let G of X.plugins||[])if(G.schema&&G.schema[Y])J={...J,...G.schema[Y].fields};return Ek.get(X).set(Y,J),J}function UY(X,Y){return{...yi0(Y,{fields:jk(X,"user")}),id:Y.id}}function zW(X,Y){return yi0(Y,{fields:jk(X,"session")})}function bi0(X,Y){let Q=Y.action||"create",J=Y.fields,G=Object.assign(Object.create(null),null);for(let W in J){if(W in X){if(J[W].input===!1){if(J[W].defaultValue!==void 0){if(Q!=="update"){G[W]=J[W].defaultValue;continue}}if(X[W])throw new n("BAD_REQUEST",{message:`${W} is not allowed to be set`});continue}if(J[W].validator?.input&&X[W]!==void 0){G[W]=J[W].validator.input["~standard"].validate(X[W]);continue}if(J[W].transform?.input&&X[W]!==void 0){G[W]=J[W].transform?.input(X[W]);continue}G[W]=X[W];continue}if(J[W].defaultValue!==void 0&&Q==="create"){if(typeof J[W].defaultValue==="function"){G[W]=J[W].defaultValue();continue}G[W]=J[W].defaultValue;continue}if(J[W].required&&Q==="create")throw new n("BAD_REQUEST",{message:`${W} is required`})}return G}function ps(X,Y={},Q){return bi0(Y,{fields:jk(X,"user"),action:Q})}function fi0(X,Y){return bi0(Y,{fields:jk(X,"session")})}function i9(X,Y){if(!Y)return X;for(let Q in Y){let J=Y[Q]?.modelName;if(J)X[Q].modelName=J;for(let G in X[Q].fields){let W=Y[Q]?.fields?.[G];if(!W)continue;X[Q].fields[G].fieldName=W}}return X}a9();s0();var sK6="127.0.0.1";function j$(X,Y){if(Y.advanced?.ipAddress?.disableIpTracking)return null;if(DW()||bU())return sK6;let Q="headers"in X?X.headers:X,J=Y.advanced?.ipAddress?.ipAddressHeaders||["x-forwarded-for"];for(let G of J){let W="get"in Q?Q.get(G):Q[G];if(typeof W==="string"){let Z=W.split(",")[0].trim();if(tK6(Z))return Z}}return null}function tK6(X){if(O3().safeParse(X).success)return!0;if(L3().safeParse(X).success)return!0;return!1}z9();hG();a9();n8();import{sql as dG}from"kysely";async function GH6(X,Y){let Q;if(!X.database){let J=PJ(X),G=Object.keys(J).reduce((Z,$)=>{return Z[$]=[],Z},{}),{memoryAdapter:W}=await Promise.resolve().then(() => (ui0(),gi0));Q=W(G)(X)}else if(typeof X.database==="function")Q=X.database(X);else Q=await Y(X);if(!Q.transaction)d1.warn("Adapter does not correctly implement transaction function, patching it automatically. Please update your adapter implementation."),Q.transaction=async(J)=>{return J(Q)};return Q}async function mi0(X){return GH6(X,async(Y)=>{let{createKyselyAdapter:Q}=await Promise.resolve().then(() => (rs(),as)),{kysely:J,databaseType:G,transaction:W}=await Q(Y);if(!J)throw new I1("Failed to initialize database adapter");let{kyselyAdapter:Z}=await Promise.resolve().then(() => (rs(),as));return Z(J,{type:G||"sqlite",debugLogs:Y.database&&"debugLogs"in Y.database?Y.database.debugLogs:!1,transaction:W})(Y)})}function WH6(X,Y){let Q=Y.hooks;async function J(K,H,F){let V=await jQ(),q=K;for(let N of Q||[]){let L=N[H]?.create?.before;if(L){let w=await L(q,V);if(w===!1)return null;if(typeof w==="object"&&"data"in w)q={...q,...w.data}}}let z=F?await F.fn(q):null,D=!F||F.executeMainFn?await(await N4(X)).create({model:H,data:q,forceAllowId:!0}):z;for(let N of Q||[]){let L=N[H]?.create?.after;if(L)await L(D,V)}return D}async function G(K,H,F,V){let q=await jQ(),z=K;for(let L of Q||[]){let w=L[F]?.update?.before;if(w){let C=await w(K,q);if(C===!1)return null;if(typeof C==="object"&&"data"in C)z={...z,...C.data}}}let D=V?await V.fn(z):null,N=!V||V.executeMainFn?await(await N4(X)).update({model:F,update:z,where:H}):D;for(let L of Q||[]){let w=L[F]?.update?.after;if(w)await w(N,q)}return N}async function W(K,H,F,V){let q=await jQ(),z=K;for(let L of Q||[]){let w=L[F]?.update?.before;if(w){let C=await w(K,q);if(C===!1)return null;if(typeof C==="object"&&"data"in C)z={...z,...C.data}}}let D=V?await V.fn(z):null,N=!V||V.executeMainFn?await(await N4(X)).updateMany({model:F,update:z,where:H}):D;for(let L of Q||[]){let w=L[F]?.update?.after;if(w)await w(N,q)}return N}async function Z(K,H,F){let V=await jQ(),q=null;try{q=(await(await N4(X)).findMany({model:H,where:K,limit:1}))[0]||null}catch(N){}if(q)for(let N of Q||[]){let L=N[H]?.delete?.before;if(L){if(await L(q,V)===!1)return null}}let z=F?await F.fn(K):null,D=!F||F.executeMainFn?await(await N4(X)).delete({model:H,where:K}):z;if(q)for(let N of Q||[]){let L=N[H]?.delete?.after;if(L)await L(q,V)}return D}async function $(K,H,F){let V=await jQ(),q=[];try{q=await(await N4(X)).findMany({model:H,where:K})}catch(N){}for(let N of q)for(let L of Q||[]){let w=L[H]?.delete?.before;if(w){if(await w(N,V)===!1)return null}}let z=F?await F.fn(K):null,D=!F||F.executeMainFn?await(await N4(X)).deleteMany({model:H,where:K}):z;for(let N of q)for(let L of Q||[]){let w=L[H]?.delete?.after;if(w)await w(N,V)}return D}return{createWithHooks:J,updateWithHooks:G,updateManyWithHooks:W,deleteWithHooks:Z,deleteManyWithHooks:$}}var os=(X,Y)=>{let{logger:Q,options:J}=Y,G=J.secondaryStorage,W=J.session?.expiresIn||604800,{createWithHooks:Z,updateWithHooks:$,updateManyWithHooks:K,deleteWithHooks:H,deleteManyWithHooks:F}=WH6(X,Y);async function V(q){if(!G)return;let z=await G.get(`active-sessions-${q.id}`);if(!z)return;let D=Date.now(),N=(E4(z)||[]).filter((L)=>L.expiresAt>D);await Promise.all(N.map(async({token:L})=>{let w=await G.get(L);if(!w)return;let C=E4(w);if(!C)return;let A=Math.max(Math.floor(new Date(C.session.expiresAt).getTime()-D)/1000,0);await G.set(L,JSON.stringify({session:C.session,user:q}),Math.floor(A))}))}return{createOAuthUser:async(q,z)=>{return mO(X,async()=>{let D=await Z({createdAt:new Date,updatedAt:new Date,...q},"user",void 0);return{user:D,account:await Z({...z,userId:D.id,createdAt:new Date,updatedAt:new Date},"account",void 0)}})},createUser:async(q)=>{return await Z({createdAt:new Date,updatedAt:new Date,...q,email:q.email?.toLowerCase()},"user",void 0)},createAccount:async(q)=>{return await Z({createdAt:new Date,updatedAt:new Date,...q},"account",void 0)},listSessions:async(q)=>{if(G){let z=await G.get(`active-sessions-${q}`);if(!z)return[];let D=E4(z)||[],N=Date.now(),L=D.filter((C)=>C.expiresAt>N),w=[];for(let C of L){let A=await G.get(C.token);if(A){let T=E4(A);if(!T)return[];let P=zW(Y.options,{...T.session,expiresAt:new Date(T.session.expiresAt)});w.push(P)}}return w}return await(await N4(X)).findMany({model:"session",where:[{field:"userId",value:q}]})},listUsers:async(q,z,D,N)=>{return await(await N4(X)).findMany({model:"user",limit:q,offset:z,sortBy:D,where:N})},countTotalUsers:async(q)=>{let z=await(await N4(X)).count({model:"user",where:q});if(typeof z==="string")return parseInt(z);return z},deleteUser:async(q)=>{if(G)await G.delete(`active-sessions-${q}`);if(!G||J.session?.storeSessionInDatabase)await F([{field:"userId",value:q}],"session",void 0);await F([{field:"userId",value:q}],"account",void 0),await H([{field:"id",value:q}],"user",void 0)},createSession:async(q,z,D,N)=>{let L=await jQ().catch(()=>null),w=L?.headers||L?.request?.headers,{id:C,...A}=D||{},T=fi0(L?.context.options??J,{}),P={ipAddress:L?.request||L?.headers?j$(L?.request||L?.headers,L?.context.options)||"":"",userAgent:w?.get("user-agent")||"",...A,expiresAt:z?P8(86400,"sec"):P8(W,"sec"),userId:q,token:GX(32),createdAt:new Date,updatedAt:new Date,...T,...N?A:{}};return await Z(P,"session",G?{fn:async(j)=>{let R=await G.get(`active-sessions-${q}`),k=[],_=Date.now();if(R)k=E4(R)||[],k=k.filter((h)=>h.expiresAt>_);let y=k.sort((h,s)=>h.expiresAt-s.expiresAt),b=y.at(-1)?.expiresAt;if(y.push({token:P.token,expiresAt:P.expiresAt.getTime()}),!b||b<P.expiresAt.getTime())b=P.expiresAt.getTime();let r=Math.max(Math.floor((b-_)/1000),0);if(r>0)await G.set(`active-sessions-${q}`,JSON.stringify(y),r);let x=await X.findOne({model:"user",where:[{field:"id",value:q}]}),S=Math.max(Math.floor((P.expiresAt.getTime()-_)/1000),0);if(S>0)await G.set(P.token,JSON.stringify({session:j,user:x}),S);return j},executeMainFn:J.session?.storeSessionInDatabase}:void 0)},findSession:async(q)=>{if(G){let L=await G.get(q);if(!L&&!J.session?.storeSessionInDatabase)return null;if(L){let w=E4(L);if(!w)return null;return{session:zW(Y.options,{...w.session,expiresAt:new Date(w.session.expiresAt),createdAt:new Date(w.session.createdAt),updatedAt:new Date(w.session.updatedAt)}),user:UY(Y.options,{...w.user,createdAt:new Date(w.user.createdAt),updatedAt:new Date(w.user.updatedAt)})}}}let z=await(await N4(X)).findOne({model:"session",where:[{value:q,field:"token"}],join:{user:!0}});if(!z)return null;let{user:D,...N}=z;if(!D)return null;return{session:zW(Y.options,N),user:UY(Y.options,D)}},findSessions:async(q)=>{if(G){let D=[];for(let N of q){let L=await G.get(N);if(L){let w=E4(L);if(!w)return[];let C={session:{...w.session,expiresAt:new Date(w.session.expiresAt)},user:{...w.user,createdAt:new Date(w.user.createdAt),updatedAt:new Date(w.user.updatedAt)}};D.push(C)}}return D}let z=await(await N4(X)).findMany({model:"session",where:[{field:"token",value:q,operator:"in"}],join:{user:!0}});if(!z.length)return[];if(z.some((D)=>!D.user))return[];return z.map((D)=>{let{user:N,...L}=D;return{session:L,user:N}})},updateSession:async(q,z)=>{return await $(z,[{field:"token",value:q}],"session",G?{async fn(D){let N=await G.get(q),L=null;if(N){let w=E4(N);if(!w)return null;return L={...w.session,...D},L}else return null},executeMainFn:J.session?.storeSessionInDatabase}:void 0)},deleteSession:async(q)=>{if(G){let z=await G.get(q);if(z){let{session:D}=E4(z)??{};if(!D){Q.error("Session not found in secondary storage");return}let N=D.userId,L=await G.get(`active-sessions-${N}`);if(L){let w=E4(L)||[],C=Date.now(),A=w.filter((P)=>P.expiresAt>C&&P.token!==q),T=A.sort((P,j)=>P.expiresAt-j.expiresAt).at(-1)?.expiresAt;if(A.length>0&&T&&T>Date.now())await G.set(`active-sessions-${N}`,JSON.stringify(A),Math.floor((T-C)/1000));else await G.delete(`active-sessions-${N}`)}else Q.error("Active sessions list not found in secondary storage")}if(await G.delete(q),!J.session?.storeSessionInDatabase||Y.options.session?.preserveSessionInDatabase)return}await(await N4(X)).delete({model:"session",where:[{field:"token",value:q}]})},deleteAccounts:async(q)=>{await F([{field:"userId",value:q}],"account",void 0)},deleteAccount:async(q)=>{await H([{field:"id",value:q}],"account",void 0)},deleteSessions:async(q)=>{if(G){if(typeof q==="string"){let z=await G.get(`active-sessions-${q}`),D=z?E4(z):[];if(!D)return;for(let N of D)await G.delete(N.token)}else for(let z of q)if(await G.get(z))await G.delete(z);if(!J.session?.storeSessionInDatabase||Y.options.session?.preserveSessionInDatabase)return}await F([{field:Array.isArray(q)?"token":"userId",value:q,operator:Array.isArray(q)?"in":void 0}],"session",void 0)},findOAuthUser:async(q,z,D)=>{let N=await(await N4(X)).findMany({model:"account",where:[{value:z,field:"accountId"}],join:{user:!0}}).then((L)=>{return L.find((w)=>w.providerId===D)});if(N)if(N.user)return{user:N.user,accounts:[N]};else{let L=await(await N4(X)).findOne({model:"user",where:[{value:q.toLowerCase(),field:"email"}]});if(L)return{user:L,accounts:[N]};return null}else{let L=await(await N4(X)).findOne({model:"user",where:[{value:q.toLowerCase(),field:"email"}]});if(L)return{user:L,accounts:await(await N4(X)).findMany({model:"account",where:[{value:L.id,field:"userId"}]})||[]};else return null}},findUserByEmail:async(q,z)=>{let D=await(await N4(X)).findOne({model:"user",where:[{value:q.toLowerCase(),field:"email"}],join:{...z?.includeAccounts?{account:!0}:{}}});if(!D)return null;let{account:N,...L}=D;return{user:L,accounts:N??[]}},findUserById:async(q)=>{if(!q)return null;return await(await N4(X)).findOne({model:"user",where:[{field:"id",value:q}]})},linkAccount:async(q)=>{return await Z({createdAt:new Date,updatedAt:new Date,...q},"account",void 0)},updateUser:async(q,z)=>{let D=await $(z,[{field:"id",value:q}],"user",void 0);return await V(D),await V(D),D},updateUserByEmail:async(q,z)=>{let D=await $(z,[{field:"email",value:q.toLowerCase()}],"user",void 0);return await V(D),await V(D),D},updatePassword:async(q,z)=>{await K({password:z},[{field:"userId",value:q},{field:"providerId",value:"credential"}],"account",void 0)},findAccounts:async(q)=>{return await(await N4(X)).findMany({model:"account",where:[{field:"userId",value:q}]})},findAccount:async(q)=>{return await(await N4(X)).findOne({model:"account",where:[{field:"accountId",value:q}]})},findAccountByProviderId:async(q,z)=>{return await(await N4(X)).findOne({model:"account",where:[{field:"accountId",value:q},{field:"providerId",value:z}]})},findAccountByUserId:async(q)=>{return await(await N4(X)).findMany({model:"account",where:[{field:"userId",value:q}]})},updateAccount:async(q,z)=>{return await $(z,[{field:"id",value:q}],"account",void 0)},createVerificationValue:async(q)=>{return await Z({createdAt:new Date,updatedAt:new Date,...q},"verification",void 0)},findVerificationValue:async(q)=>{let z=await(await N4(X)).findMany({model:"verification",where:[{field:"identifier",value:q}],sortBy:{field:"createdAt",direction:"desc"},limit:1});if(!J.verification?.disableCleanup)await(await N4(X)).deleteMany({model:"verification",where:[{field:"expiresAt",value:new Date,operator:"lt"}]});return z[0]},deleteVerificationValue:async(q)=>{await(await N4(X)).delete({model:"verification",where:[{field:"id",value:q}]})},deleteVerificationByIdentifier:async(q)=>{await(await N4(X)).delete({model:"verification",where:[{field:"identifier",value:q}]})},updateVerificationValue:async(q,z)=>{return await $(z,[{field:"id",value:q}],"verification",void 0)}}};function ZH6(X){let Y=PJ(X),Q={};for(let J in Y){let G=Y[J],W=G.fields,Z={};if(Object.entries(W).forEach(([$,K])=>{if(Z[K.fieldName||$]=K,K.references){let H=Y[K.references.model];if(H)Z[K.fieldName||$].references={...K.references,model:H.modelName,field:K.references.field}}}),Q[G.modelName]){Q[G.modelName].fields={...Q[G.modelName].fields,...Z};continue}Q[G.modelName]={fields:Z,order:G.order||1/0}}return Q}var $H6={postgres:{string:["character varying","varchar","text","uuid"],number:["int4","integer","bigint","smallint","numeric","real","double precision"],boolean:["bool","boolean"],date:["timestamptz","timestamp","date"],json:["json","jsonb"]},mysql:{string:["varchar","text","uuid"],number:["integer","int","bigint","smallint","decimal","float","double"],boolean:["boolean","tinyint"],date:["timestamp","datetime","date"],json:["json"]},sqlite:{string:["TEXT"],number:["INTEGER","REAL"],boolean:["INTEGER","BOOLEAN"],date:["DATE","INTEGER"],json:["TEXT"]},mssql:{string:["varchar","nvarchar","uniqueidentifier"],number:["int","bigint","smallint","decimal","float","double"],boolean:["bit","smallint"],date:["datetime2","date","datetime"],json:["varchar","nvarchar"]}};function KH6(X,Y,Q){function J(W){return W.toLowerCase().split("(")[0].trim()}if(Y==="string[]"||Y==="number[]")return X.toLowerCase().includes("json");let G=$H6[Q];return(Array.isArray(Y)?G.string.map((W)=>W.toLowerCase()):G[Y].map((W)=>W.toLowerCase())).includes(J(X))}async function HH6(X){try{let Y=await dG`SHOW search_path`.execute(X);if(Y.rows[0]?.search_path)return Y.rows[0].search_path.split(",").map((Q)=>Q.trim()).map((Q)=>Q.replace(/^["']|["']$/g,"")).filter((Q)=>!Q.startsWith("$"))[0]||"public"}catch(Y){}return"public"}async function li0(X){let Y=ZH6(X),Q=hU(X.logger),{kysely:J,databaseType:G}=await CC(X);if(!G)Q.warn("Could not determine database type, defaulting to sqlite. Please provide a type in the database options to avoid this."),G="sqlite";if(!J)Q.error("Only kysely adapter is supported for migrations. You can use `generate` command to generate the schema, if you're using a different adapter."),process.exit(1);let W="public";if(G==="postgres"){W=await HH6(J),Q.debug(`PostgreSQL migration: Using schema '${W}' (from search_path)`);try{if(!(await dG`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decocms/mesh",
3
- "version": "2.29.1",
3
+ "version": "2.29.2",
4
4
  "description": "MCP Mesh - Self-hostable MCP Gateway for managing AI connections and tools",
5
5
  "author": "Deco team",
6
6
  "license": "MIT",
@@ -1 +0,0 @@
1
- import{aG as a,bC as t}from"./index-DEnww9gD.js";const e=a(t,{target:"draft-7"});export{e as B};