@decocms/mesh 2.38.2 → 2.38.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{AlertCircle-z3xwiUwg.js → AlertCircle-DwLOjdfH.js} +1 -1
- package/dist/client/assets/{ArrowLeft-BkoJglZy.js → ArrowLeft-kGx3Y-zX.js} +1 -1
- package/dist/client/assets/{ArrowUp-BAMBJKzk.js → ArrowUp-DWcXOBpz.js} +1 -1
- package/dist/client/assets/{Check-BK9-0hKa.js → Check-B2vj72U5.js} +1 -1
- package/dist/client/assets/{ChevronDown-PIP2u0bO.js → ChevronDown-Vb06lc-B.js} +1 -1
- package/dist/client/assets/{Code01-Bur40qHc.js → Code01-DwHTWnoR.js} +1 -1
- package/dist/client/assets/{Copy01-BOhF0ZEB.js → Copy01-BAk05E9H.js} +1 -1
- package/dist/client/assets/{CpuChip02-BTAUjBs1.js → CpuChip02-DbAeAdPe.js} +1 -1
- package/dist/client/assets/{DotsHorizontal-DxGrUc9a.js → DotsHorizontal-Cj7CLHDn.js} +1 -1
- package/dist/client/assets/{DotsVertical-D61roAg3.js → DotsVertical-XYYRNoTX.js} +1 -1
- package/dist/client/assets/{Download01-DH0bL3Nt.js → Download01-CHXxU49K.js} +1 -1
- package/dist/client/assets/{Edit01-DINJ246_.js → Edit01-B9xu7jSw.js} +1 -1
- package/dist/client/assets/{File06-DVkrNas0.js → File06-D7bjpxHc.js} +1 -1
- package/dist/client/assets/{FilterLines-so_Nzmiv.js → FilterLines-CIEdE4Wb.js} +1 -1
- package/dist/client/assets/{FlipBackward-iQ8t51Yv.js → FlipBackward-CRoccaVQ.js} +1 -1
- package/dist/client/assets/{GitBranch01-T4MUtqYK.js → GitBranch01-B_LsZRsF.js} +1 -1
- package/dist/client/assets/{Grid01-CN_8958k.js → Grid01-DvrY1gt1.js} +1 -1
- package/dist/client/assets/{Home02-DuEnlN2j.js → Home02-_JdnGU0Y.js} +1 -1
- package/dist/client/assets/{Image01-CAZIUcM5.js → Image01-WlrQGekP.js} +1 -1
- package/dist/client/assets/{Inbox01-CM3kHNUT.js → Inbox01-Cx7mk7qN.js} +1 -1
- package/dist/client/assets/{InfoCircle-yeMjcoma.js → InfoCircle-BV74k_Yn.js} +1 -1
- package/dist/client/assets/{Key01-9yBwokED.js → Key01-CRs4BGmx.js} +1 -1
- package/dist/client/assets/{LinkExternal01-DVQPzyFK.js → LinkExternal01-H-oJkxYN.js} +1 -1
- package/dist/client/assets/{List-BuWxjuK8.js → List-BCcNlZrf.js} +1 -1
- package/dist/client/assets/{Loading01-D1yLQLik.js → Loading01-Dul6ue0E.js} +1 -1
- package/dist/client/assets/{Lock01-RqyglEYd.js → Lock01-Cy1pPqT8.js} +1 -1
- package/dist/client/assets/{Play-DVdw4qV-.js → Play-BpLCryum.js} +1 -1
- package/dist/client/assets/{Plus-Je-soon7.js → Plus-BVDMzeyp.js} +1 -1
- package/dist/client/assets/{SearchMd-CbtolPap.js → SearchMd-jGEmiNrX.js} +1 -1
- package/dist/client/assets/{Terminal-DYGeKWvi.js → Terminal-CE84-sCv.js} +1 -1
- package/dist/client/assets/{Trash01-CZvA_s0Y.js → Trash01-B0ak1X_N.js} +1 -1
- package/dist/client/assets/{Upload01-DhaDMFFD.js → Upload01-C0kHDVw4.js} +1 -1
- package/dist/client/assets/{X-sxVQmAsr.js → X-BLWQxpEf.js} +1 -1
- package/dist/client/assets/{XClose-zzu-jidq.js → XClose-DB-yTUBg.js} +1 -1
- package/dist/client/assets/{agent-detail-BlRpinmR.js → agent-detail-DmNNNO27.js} +1 -1
- package/dist/client/assets/{agents-DknJreAQ.js → agents-Cc3M23qv.js} +1 -1
- package/dist/client/assets/{alert-dialog-CVkwkecf.js → alert-dialog-djFlPxmw.js} +1 -1
- package/dist/client/assets/{auth-catchall-w4I8mOfz.js → auth-catchall-BJHCOfwt.js} +1 -1
- package/dist/client/assets/{avatar-C9tVSVlv.js → avatar-B5p9MTms.js} +1 -1
- package/dist/client/assets/{badge-C7J4I2Hj.js → badge-BSYGnPtt.js} +1 -1
- package/dist/client/assets/{binder-CbjhFDGc.js → binder-DWCHeQZ9.js} +1 -1
- package/dist/client/assets/{button-CceSuFKi.js → button-AdEzXtPt.js} +1 -1
- package/dist/client/assets/{card-BGHb8OmC.js → card-CQNrgAR3.js} +1 -1
- package/dist/client/assets/{checkbox-Cu04V43g.js → checkbox-3cM8_JBb.js} +1 -1
- package/dist/client/assets/{collection-detail-D2oIsKq-.js → collection-detail-BOnOtOYD.js} +1 -1
- package/dist/client/assets/{collection-display-button-Df_9WgFb.js → collection-display-button-DpjzbbIn.js} +1 -1
- package/dist/client/assets/{collection-header-COgMCOx8.js → collection-header-B4-DpfAL.js} +1 -1
- package/dist/client/assets/{collection-page-DVakSZpa.js → collection-page-b5lRP5ne.js} +1 -1
- package/dist/client/assets/{collection-search-Fe3W5Myr.js → collection-search-DqVEDOqS.js} +1 -1
- package/dist/client/assets/{collection-tab-_C4vj95J.js → collection-tab-BQhJW6AS.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-VkF3O5dC.js → collection-table-wrapper-B8ubC3Sh.js} +1 -1
- package/dist/client/assets/{connection-card-Bq9AH0T5.js → connection-card-C7f1dOrX.js} +1 -1
- package/dist/client/assets/{connection-detail-CbrkwDLO.js → connection-detail-RVxHc67u.js} +1 -1
- package/dist/client/assets/{connections-unSJ25xy.js → connections-Bv_34Usi.js} +1 -1
- package/dist/client/assets/{constants-DqnLzZpL.js → constants-BEKdbCo6.js} +1 -1
- package/dist/client/assets/constants-C88aG7V1.js +1 -0
- package/dist/client/assets/{create-organization-dialog-DCA75BPi.js → create-organization-dialog-BW4DOW5y.js} +1 -1
- package/dist/client/assets/{dialog-CL6M-Xmi.js → dialog-DLbo5T8N.js} +1 -1
- package/dist/client/assets/{dropdown-menu-BMu3zBVo.js → dropdown-menu-CM0mCcd3.js} +1 -1
- package/dist/client/assets/{dynamic-plugin-layout-CKzehx9R.js → dynamic-plugin-layout-DQFkQzWH.js} +1 -1
- package/dist/client/assets/{empty-state-BHdJzPJs.js → empty-state-BrUv9lsZ.js} +1 -1
- package/dist/client/assets/{empty-state-B0xeJKH5.js → empty-state-DZFeepnb.js} +1 -1
- package/dist/client/assets/{env-vars-editor-CtvDpSON.js → env-vars-editor-BAOHiLu2.js} +1 -1
- package/dist/client/assets/{error-boundary-vgLVbtql.js → error-boundary-DaCO9OCg.js} +1 -1
- package/dist/client/assets/{extract-connection-data-w2VKbBVM.js → extract-connection-data-C1X2zeqi.js} +1 -1
- package/dist/client/assets/{file-browser-C_o-XRN_.js → file-browser-DW6TJdZX.js} +2 -2
- package/dist/client/assets/{form-DWBp_92q.js → form-D8bvI4tc.js} +1 -1
- package/dist/client/assets/{grid-view-D4uG2rz_.js → grid-view-BLOYnzFT.js} +1 -1
- package/dist/client/assets/{home-tcH3yRYZ.js → home-DlKoJ54P.js} +1 -1
- package/dist/client/assets/{index-CQ6L3uZi.js → index-By7Mca_U.js} +1 -1
- package/dist/client/assets/{index-DimTMp-G.js → index-Ck_HNGGd.js} +2 -2
- package/dist/client/assets/{index-CUpy3pKS.js → index-CtrgR5Sj.js} +1 -1
- package/dist/client/assets/{index-D4QmV-sc.js → index-DSyGEqnv.js} +1 -1
- package/dist/client/assets/{index-D1MpJYf1.js → index-Dpe1Ly1c.js} +1 -1
- package/dist/client/assets/{index-BfBspZNA.js → index-I1CjKwfa.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-DeWE7Mv6.js → infiniteQueryObserver-yBeVIl9y.js} +1 -1
- package/dist/client/assets/{input-BzZt5UMQ.js → input-BD07TV73.js} +1 -1
- package/dist/client/assets/{layout-DqvUpliw.js → layout-CtPQmm1R.js} +1 -1
- package/dist/client/assets/{localstorage-keys-Pb1bSOSH.js → localstorage-keys-bIhPsHqu.js} +1 -1
- package/dist/client/assets/{login-Bw3mNwou.js → login-DsME5Q78.js} +1 -1
- package/dist/client/assets/{mcp-oauth-DVTAVhIy.js → mcp-oauth-nsjatGUX.js} +1 -1
- package/dist/client/assets/{mcp-server-card-BOsrfsoy.js → mcp-server-card-Bhmbue9c.js} +1 -1
- package/dist/client/assets/{mcp-server-detail-DL4a0l-I.js → mcp-server-detail-B4am-5Te.js} +2 -2
- package/dist/client/assets/{members-CaWwLwBY.js → members-BB0T9TqV.js} +1 -1
- package/dist/client/assets/{monaco-editor-C3l8YLnM.js → monaco-editor-CP1tDtbL.js} +1 -1
- package/dist/client/assets/{monitoring-BXzU__Q2.js → monitoring-PT-sW85P.js} +2 -2
- package/dist/client/assets/{oauth-callback-C29sykPI.js → oauth-callback-B-DW0xRP.js} +1 -1
- package/dist/client/assets/{page-D9f3s0Zn.js → page-Cc8e_HoP.js} +1 -1
- package/dist/client/assets/{page-DFTluz6T.js → page-rhO8Ndm_.js} +2 -2
- package/dist/client/assets/{pin-to-sidebar-button-a3_Q5PIg.js → pin-to-sidebar-button-C0LI8OyX.js} +1 -1
- package/dist/client/assets/{plugin-empty-state-gioOq0db.js → plugin-empty-state-Snmmscpf.js} +1 -1
- package/dist/client/assets/{plugin-header-OS_VhXuY.js → plugin-header-CQUxkpkP.js} +1 -1
- package/dist/client/assets/{plugins-6jaAX9OI.js → plugins-Z6bDUs1U.js} +1 -1
- package/dist/client/assets/{popover-DCXtR4UV.js → popover-C2dO17KJ.js} +1 -1
- package/dist/client/assets/{registry-utils-B1EtgBkU.js → registry-utils-BE0ZphJL.js} +1 -1
- package/dist/client/assets/{resizable-C5jfRumR.js → resizable-C65jXR9m.js} +1 -1
- package/dist/client/assets/{resource-tabs-BNBJ-3ue.js → resource-tabs-CMKv9MLy.js} +1 -1
- package/dist/client/assets/{select-DVxy4dZt.js → select-DjQ5i8qH.js} +1 -1
- package/dist/client/assets/{settings-DlMrUAFl.js → settings-B6WkV5Xi.js} +1 -1
- package/dist/client/assets/{shell-layout-C02QmtDM.js → shell-layout-BAq9UL-m.js} +1 -1
- package/dist/client/assets/{spinner-BK_gptNQ.js → spinner-D1jlVRw-.js} +1 -1
- package/dist/client/assets/{switch-BEUY1ZkG.js → switch-VxY_iYFv.js} +1 -1
- package/dist/client/assets/{textarea-Dok2BUMd.js → textarea-Ca9yvCmH.js} +1 -1
- package/dist/client/assets/{tool-set-selector-BPpD_gne.js → tool-set-selector-Gam2FuD6.js} +1 -1
- package/dist/client/assets/{tools-list-eucrhDw_.js → tools-list-NAnIcc4C.js} +1 -1
- package/dist/client/assets/{tooltip-BotDoy6T.js → tooltip-CXbR3les.js} +1 -1
- package/dist/client/assets/{typewriter-title-C0AyXxMG.js → typewriter-title-C-fZ8H0Y.js} +1 -1
- package/dist/client/assets/{use-binding-Dj1HVNst.js → use-binding-Bio_IG23.js} +1 -1
- package/dist/client/assets/{use-collections-Vpvt2q4e.js → use-collections-BtupqZP_.js} +1 -1
- package/dist/client/assets/{use-connection-DTjI_RtQ.js → use-connection-Dd7Yvjif.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-Jf2xsGTe.js → use-create-virtual-mcp-fvY3FmjO.js} +1 -1
- package/dist/client/assets/{use-list-state-Bzarl2oM.js → use-list-state-D5d2Dsd0.js} +1 -1
- package/dist/client/assets/{use-members-BtNqo2oh.js → use-members-fszl9icN.js} +1 -1
- package/dist/client/assets/{use-mobile-CcOC6HBd.js → use-mobile-jDYVRPrZ.js} +1 -1
- package/dist/client/assets/{use-organization-settings-CwiS3zFY.js → use-organization-settings-DjIJdwlh.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-hN6G5B_j.js → use-virtual-mcp-wPhrZ9RR.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-BVNnXO_N.js +1 -0
- package/dist/client/assets/{useMutation-d4_WWA7-.js → useMutation-BucpIOAt.js} +1 -1
- package/dist/client/assets/useQuery-Zp-sAZMS.js +1 -0
- package/dist/client/assets/{value-BHid2kuo.js → value-E9Fqy7St.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-DhWV5fbM.js → view-mode-toggle-CR_cIdX-.js} +1 -1
- package/dist/client/assets/{virtual-mcp-Dyh0Ag7o.js → virtual-mcp-CLFdFi_E.js} +1 -1
- package/dist/client/assets/{workflow-Bw7jESqY.js → workflow-DJOiUaHZ.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +2 -2
- package/dist/server/migrate.js +2 -2
- package/dist/server/server.js +2 -2
- package/package.json +1 -1
- package/dist/client/assets/constants-CrS7edVE.js +0 -1
- package/dist/client/assets/useInfiniteQuery-B-B7Ix7h.js +0 -1
- package/dist/client/assets/useQuery-BMYUlGUP.js +0 -1
package/dist/server/server.js
CHANGED
|
@@ -267,9 +267,9 @@ ${X.stack}`;return Y}if(typeof X==="object"&&X!==null){let Y=X,Q="";if(typeof Y.
|
|
|
267
267
|
${Y.stack}`;return Q}try{let G=JSON.stringify(Y,null,2);if(G!=="{}"&&G.length<1000){if(typeof Y.stack==="string"&&Y.stack&&Y.stack.length<2000)return`${G}
|
|
268
268
|
|
|
269
269
|
Stack trace:
|
|
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 XB(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=XB(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=XB(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=XB(X,K);$.resolve(H),H.dispose(),X.runtime.executePendingJobs()}catch(H){let F=ez(H),V=X.newString(`Promise resolution error: ${F}`);$.reject(V),V.dispose(),X.runtime.executePendingJobs()}}).catch((K)=>{let H=ez(K),F=X.newString(`Promise rejection: ${H}`);$.reject(F),F.dispose(),X.runtime.executePendingJobs()}),$.handle}return XB(X,Z)}catch(W){let Z=ez(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 wJ1=()=>{};function PJ1(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 MJ1(X,Y,Q){let J=Date.now(),G=X.resolvePromise(Y);while(!0){PJ1(X);let W=await Promise.race([G,Zy6(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 g80({tools:X,code:Y,timeoutMs:Q}){let Z=[];try{let J=await OJ1({memoryLimitBytes:33554432,stackSizeBytes:524288});const G=Zf(Z,J.newContext({interruptAfterMs:Q}),0);const W=Zf(Z,cQ1(G),0);try{let F=G.evalCode(Y,"index.mjs",{strip:!0,strict:!0,type:"module"}),V=G.unwrapResult(F),q=XB(G,X);G.setProp(G.global,"tools",q);let z=G.runtime.hasPendingJob()?G.unwrapResult(await MJ1(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 MJ1(G,w,Q),T=G.unwrapResult(C);if(G.runtime.hasPendingJob())PJ1(G);return{returnValue:G.dump(T),consoleLogs:W.logs}}catch(F){return console.log(F),{error:ez(F),consoleLogs:W.logs}}}catch($){var K=$,H=1}finally{oY0(Z,K,H)}}var Zy6=(X)=>new Promise((Y)=>setTimeout(Y,X));var AJ1=p(()=>{LJ1();wJ1()});var TJ1=p(()=>{AJ1()});async function $y6(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 EJ1(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 Ky6(X,Y,Q){let J=await sz.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 YB(X){let Y=_1(X),Q,J="inclusion";if(X.connectionId){let G=await X.storage.virtualMcps.findById(X.connectionId);if(G)Q=await $y6(G,X),J=G.tool_selection_mode;else Q=await EJ1(Y.id,X)}else Q=await EJ1(Y.id,X);return Ky6(Q,J,X)}function Hy6(X){return X.toLowerCase().split(/[\s_\-./]+/).filter((Y)=>Y.length>=2)}function Fy6(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 Fb(X,Y,Q){let J=Hy6(X);if(J.length===0)return Y.slice(0,Q);return Y.map((G)=>({tool:G,score:Fy6(J,G)})).filter((G)=>G.score>0).sort((G,W)=>W.score-G.score).slice(0,Q).map((G)=>G.tool)}function Vb(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 qb(X,Y,Q){let J=Object.fromEntries(Y.tools.map((G)=>[G.name,async(W)=>Y.callTool(G.name,W??{})]));return g80({code:X,tools:J,timeoutMs:Q})}function Ub(X){return{content:[{type:"text",text:JSON.stringify(X,null,2)}]}}function QB(X){return{content:[{type:"text",text:JSON.stringify(X,null,2)}],isError:!0}}function EP(X){let Y=new Set(Vy6);return X.filter((Q)=>!Y.has(Q.name))}var Vy6;var jP=p(()=>{TJ1();Vy6=["CODE_EXECUTION_SEARCH_TOOLS","CODE_EXECUTION_DESCRIBE_TOOLS","CODE_EXECUTION_RUN_CODE"]});var u80;var jJ1=p(()=>{Z6();AP();jP();u80=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:gQ1,outputSchema:uQ1,handler:async(X,Y)=>{U1(Y),_1(Y),await Y.access.check();let Q=await YB(Y),J=Fb(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 m80;var CJ1=p(()=>{Z6();AP();jP();m80=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:mQ1,outputSchema:lQ1,handler:async(X,Y)=>{U1(Y),_1(Y),await Y.access.check();let Q=await YB(Y);return Vb(X.tools,Q.tools)}})});var l80;var IJ1=p(()=>{Z6();AP();jP();l80=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:dQ1,outputSchema:pQ1,handler:async(X,Y)=>{U1(Y),_1(Y),await Y.access.check();let Q=await YB(Y);return await qb(X.code,Q,X.timeoutMs)}})});var RJ1=p(()=>{jJ1();CJ1();IJ1();AP()});var Uy6,zy6,d80;var SJ1=p(()=>{gL();a0();Z6();Jb();q7();Uy6=U.object({data:V91.describe("Data for the new connection (id is auto-generated if not provided)")}),zy6=U.object({item:dJ.describe("The created connection entity")}),d80=t0({name:"COLLECTION_CONNECTIONS_CREATE",description:"Create a new MCP connection in the organization",inputSchema:Uy6,outputSchema:zy6,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=f8(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=$K(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=sy(K)}let W=await rz({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,ZW.SELF(Q.id),{type:"connection.created",data:$}),{item:$}}})});function CP(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)=>CP(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)&&CP(X[G],Y[G]))}return!1}function hy6(){return(X)=>{if(!Array.isArray(X))return!0;let Y=[];return X.every((Q)=>{if(Y.some((G)=>CP(Q,G)))return!1;return Y.push(Q),!0})}}function zb(X,Y){return X.safeParse(Y).success}function MY(X){if(typeof X==="boolean")return X?U.any():U.never();let Y={};for(let G of sy6)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 ty6)J=G.apply(J,X);return J}var By6=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()}}},Dy6=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}},Ny6=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}},Oy6=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}}},Ly6=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()}}},wy6=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`})}}},My6=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`})}}},Py6=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)}}}},Ay6=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)}}},Ty6=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)}}},Ey6=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}}},jy6=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}}},Cy6=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}`})}}},Iy6=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())}}},Ry6=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)}},Sy6=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)}},ky6=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=MY(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())}},vy6=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)=>MY(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}},_y6=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()}},yy6=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()}}},by6=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`})}}},fy6=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`})}}},xy6=class{apply(X,Y){if(!Y.not)return X;let Q=MY(Y.not);return X.refine((J)=>!zb(Q,J),{message:"Value must not match the 'not' schema"})}},gy6=class{apply(X,Y){if(Y.uniqueItems!==!0)return X;return X.refine(hy6(),{message:"Array items must be unique"})}},uy6=class{apply(X,Y){if(!Y.allOf||Y.allOf.length===0)return X;return Y.allOf.map((J)=>MY(J)).reduce((J,G)=>U.intersection(J,G),X)}},my6=class{apply(X,Y){if(!Y.anyOf||Y.anyOf.length===0)return X;let Q=Y.anyOf.length===1?MY(Y.anyOf[0]):U.union([MY(Y.anyOf[0]),MY(Y.anyOf[1]),...Y.anyOf.slice(2).map((J)=>MY(J))]);return U.intersection(X,Q)}},ly6=class{apply(X,Y){if(!Y.oneOf||Y.oneOf.length===0)return X;let Q=Y.oneOf.map((J)=>MY(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"})}},dy6=class{apply(X,Y){let Q=Y;if(Q.prefixItems&&Array.isArray(Q.prefixItems)){let G=Q.prefixItems.map((W)=>MY(W));return X.refine((W)=>{if(!Array.isArray(W))return!0;for(let Z=0;Z<Math.min(W.length,G.length);Z++)if(!zb(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=MY(Q.items);for(let $=G.length;$<W.length;$++)if(!zb(Z,W[$]))return!1}}return!0},{message:"Array does not match prefixItems schema"})}return X}},py6=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]=MY(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(!MY(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"})}},cy6=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)=>CP(J,G))},{message:"Value must match one of the enum values"})}},ny6=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)=>CP(J,Q),{message:"Value must equal the const value"})}},iy6=class{apply(X,Y){if(Y.description)X=X.describe(Y.description);return X}},ay6=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))}},ry6=class{apply(X,Y){var Q;let J=Y;if(J.contains===void 0)return X;let G=MY(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(zb(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"})}},oy6=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)}},sy6,ty6;var kJ1=p(()=>{c6();c6();c6();c6();c6();c6();c6();c6();c6();c6();c6();c6();c6();c6();sy6=[new Dy6,new Ny6,new By6,new Oy6,new Ly6,new Iy6,new yy6,new wy6,new My6,new Py6,new Ay6,new Ty6,new Ey6,new jy6,new Cy6,new vy6,new Ry6,new Sy6,new ky6,new by6,new fy6,new _y6],ty6=[new ay6,new cy6,new ny6,new uy6,new my6,new ly6,new dy6,new py6,new ry6,new xy6,new gy6,new oy6,new iy6]});class p80{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,ey6),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=PQ.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 ey6="mcp";var vJ1=p(()=>{qX()});function Xb6(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 c80;var _J1=p(()=>{oq();c80=class c80 extends IG{constructor(X,Y){super(X,Y)}send(X,Y){let Q=Xb6(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 yJ1,bJ1=async(X,Y,Q)=>{let J=Yb6(X.connection,Y,Q);if(!J)throw Error("Unknown MCP connection type");let G=new yJ1({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 K=new Headers(Q);if(!K.has("Authorization"))K.set("Authorization",`Bearer ${X.connection.token}`);for(let[V,q]of Object.entries(X.connection.headers??{}))K.set(V,q);let H=new URL(X.connection.url),F=H.pathname.replace(/\/+$/,"")||"/";return H.pathname=`${F}/call-tool/${encodeURIComponent(W)}`,fetch(H.href,{method:"POST",redirect:"manual",body:JSON.stringify(Z),headers:K,signal:$})}}},Yb6=(X,Y,Q)=>{if(X.type==="Websocket")return new p80(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 VF(new URL(X.url),W)}return new c80(new URL(X.url),{requestInit:{headers:G,signal:Y,credentials:"include"}})};var fJ1=p(()=>{eH();Xb();vJ1();qX();_J1();yJ1=class yJ1 extends l9{constructor(X,Y){super(X,Y)}async listTools(X,Y){return await this.request({method:"tools/list",params:X},HL,Y)}}});function xJ1(X){let Y=(Q)=>{if("connection"in X)return bJ1({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){let F,V;if(typeof H==="object")F=J,V=H;else F??=J;let q=X?.debugId?.(),z=q?{"x-trace-debug-id":q}:void 0,{client:D,callStreamableTool:N}=await Y(z);if(X?.streamable?.[String(F)])return N(String(F),K,V?.signal??void 0);let{structuredContent:L,isError:w,content:C}=await D.callTool({name:String(F),arguments:K},void 0,{signal:V?.signal??void 0});if(w){let T=C?.[0]?.text,A=typeof T==="string"?Qb6(T):null,P=A?.code&&typeof X?.getErrorByStatusCode==="function"?X.getErrorByStatusCode(A.code,A.message,A.traceId):null;if(P)throw P;throw Error(`Tool ${String(F)} returned an error: ${JSON.stringify(L??C)}`)}return L}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(!Bb.has(H))Bb.set(H,W());return await Bb.get(H)}catch(F){console.error("Failed to list tools",F),Bb.delete(H);return}}async function $(){return(await Z()??[]).map((H)=>hJ1(H,G))}return G.asTool=async()=>{let H=(await Z()??[]).find((F)=>F.name===J);if(!H)throw Error(`Tool ${J} not found`);return hJ1(H,G)},G}})}var Qb6=(X)=>{try{return JSON.parse(X)}catch{return X}},Bb,hJ1=(X,Y)=>{return{...X,id:X.name,inputSchema:X.inputSchema?MY(X.inputSchema):void 0,outputSchema:X.outputSchema?MY(X.outputSchema):void 0,execute:(Q)=>{return Y(Q.context,X.name)}}};var gJ1=p(()=>{kJ1();fJ1();Bb=new Map});function Db(X){return xJ1(X)}var Pl4;var uJ1=p(()=>{gJ1();Pl4=new Proxy({},{get(X,Y){if(Y==="toJSON")return null;if(Y==="forConnection")return(Q)=>Db({connection:Q});return global[Y]}})});function Nb(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 NF=(X)=>{return{...Nb(X),forClient:(Y)=>{return Db({client:Y,streamable:X.reduce((Q,J)=>{return Q[J.name]=J.streamable===!0,Q},{})})},forConnection:(Y)=>{return Db({connection:Y,streamable:X.reduce((Q,J)=>{return Q[J.name]=J.streamable===!0,Q},{})})}}};var IP=p(()=>{uJ1()});var n80,Cl4;var mJ1=p(()=>{qN();n80=E6(VN(),1),Cl4=n80.createContext(null)});function LF(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 SP(X){return U.object({item:X.nullable().describe("The retrieved item, or null if not found")})}function Wb6(X){return U.object({data:X.partial().describe("Data for the new entity (id may be auto-generated)")})}function Zb6(X){return U.object({item:X.describe("The created entity with generated id")})}function $b6(X){return U.object({id:U.string().describe("ID of the entity to update"),data:X.partial().describe("Partial entity data to update")})}function Kb6(X){return U.object({item:X.describe("The updated entity")})}function vP(X){return U.object({item:X.describe("The deleted entity")})}function GB(X,Y,Q){let J=X.toUpperCase(),G=Q?.readOnly??!1,W=[{name:`COLLECTION_${J}_LIST`,inputSchema:OF,outputSchema:LF(Y)},{name:`COLLECTION_${J}_GET`,inputSchema:RP,outputSchema:SP(Y)}];if(!G)W.push({name:`COLLECTION_${J}_CREATE`,inputSchema:Wb6(Y),outputSchema:Zb6(Y),opt:!0},{name:`COLLECTION_${J}_UPDATE`,inputSchema:$b6(Y),outputSchema:Kb6(Y),opt:!0},{name:`COLLECTION_${J}_DELETE`,inputSchema:kP,outputSchema:vP(Y),opt:!0});return W}var JB,Jb6,lJ1,Gb6,OF,RP,kP;var x5=p(()=>{a0();JB=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()}),Jb6=U.object({field:U.array(U.string()),operator:U.enum(["eq","gt","gte","lt","lte","in","like","contains"]),value:U.unknown()}),lJ1=U.lazy(()=>U.union([Jb6,U.object({operator:U.enum(["and","or","not"]),conditions:U.array(lJ1)})])),Gb6=U.object({field:U.array(U.string()),direction:U.enum(["asc","desc"]),nulls:U.enum(["first","last"]).optional()}),OF=U.object({where:lJ1.optional().describe("Filter expression"),orderBy:U.array(Gb6).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")});RP=U.object({id:U.string().describe("ID of the entity to retrieve")});kP=U.object({id:U.string().describe("ID of the entity to delete")})});var Hb6,dJ1,yl4;var pJ1=p(()=>{a0();x5();Hb6=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()}),dJ1=JB.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(Hb6).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()})}),yl4=GB("registry_app",dJ1,{readOnly:!0})});var cJ1,nJ1,iJ1,aJ1,rJ1,i80;var oJ1=p(()=>{a0();IP();cJ1=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)")}),nJ1=U.object({events:U.array(cJ1).min(1).describe("Batch of CloudEvents to process")}),iJ1=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")}),aJ1=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(),iJ1).optional().describe("Per-event results keyed by event ID")}),rJ1=[{name:"ON_EVENTS",inputSchema:nJ1,outputSchema:aJ1}],i80=NF(rJ1)});var _P,yP,bP,fP,sJ1,tJ1,hP,xP,gP,uP,mP,lP,dP,pP,eJ1,Fb6;var X51=p(()=>{a0();IP();_P=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.")}),yP=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")}),bP=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")}),fP=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)")})}),sJ1=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")}),tJ1=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)")}),hP=U.object({subscriptions:U.array(sJ1).describe("Desired subscriptions - system will create/update/delete to match")}),xP=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(tJ1).describe("Current subscriptions after sync")}),gP=U.object({subscriptionId:U.string().describe("Subscription ID to remove")}),uP=U.object({success:U.boolean().describe("Whether unsubscribe was successful"),subscriptionId:U.string().describe("Subscription ID that was removed")}),mP=U.object({eventId:U.string().describe("Event ID to cancel")}),lP=U.object({success:U.boolean().describe("Whether cancellation was successful"),eventId:U.string().describe("Event ID that was cancelled")}),dP=U.object({eventId:U.string().describe("Event ID to acknowledge")}),pP=U.object({success:U.boolean().describe("Whether ACK was successful"),eventId:U.string().describe("Event ID that was acknowledged")}),eJ1=[{name:"EVENT_PUBLISH",inputSchema:_P,outputSchema:yP},{name:"EVENT_SUBSCRIBE",inputSchema:bP,outputSchema:fP},{name:"EVENT_UNSUBSCRIBE",inputSchema:gP,outputSchema:uP},{name:"EVENT_CANCEL",inputSchema:mP,outputSchema:lP},{name:"EVENT_ACK",inputSchema:dP,outputSchema:pP},{name:"EVENT_SYNC_SUBSCRIPTIONS",inputSchema:hP,outputSchema:xP}],Fb6=NF(eJ1)});var dl4,pl4,cl4,nl4,il4,al4,rl4,ol4,sl4,tl4,el4,Xd4;var Y51=p(()=>{a0();dl4=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.")}),pl4=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/'])")}),cl4=U.object({key:U.string().describe("Object key/path to get metadata for")}),nl4=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")}),il4=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)")}),al4=U.object({url:U.string().describe("Presigned URL for downloading the object"),expiresIn:U.number().describe("Expiration time in seconds that was used")}),rl4=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")}),ol4=U.object({url:U.string().describe("Presigned URL for uploading the object"),expiresIn:U.number().describe("Expiration time in seconds that was used")}),sl4=U.object({key:U.string().describe("Object key/path to delete")}),tl4=U.object({success:U.boolean().describe("Whether the deletion was successful"),key:U.string().describe("The key that was deleted")}),el4=U.object({keys:U.array(U.string()).max(1000).describe("Array of object keys/paths to delete (max 1000)")}),Xd4=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 Ob=p(()=>{IP();mJ1();pJ1();oJ1();X51();Y51()});var Vb6,qb6,Q51;var J51=p(()=>{a0();x5();Vb6=JB.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")}),qb6=GB("assistant",Vb6),Q51=[...qb6]});var cP,aW,W51,Ub6,zb6,Z51,Bb6,Db6,Nb6,Ob6,Lb6,wb6,$51,Mb6,Pb6,Ab6,Tb6,Eb6,jb6,Cb6,Ib6,Rb6,Sb6,wd4,kb6,Md4,G51,vb6,_b6,a80,Lb;var wb=p(()=>{a0();IP();x5();cP=U.lazy(()=>U.union([U.null(),U.string(),U.number(),U.boolean(),U.record(U.string(),cP),U.array(cP)])),aW=U.record(U.string(),U.record(U.string(),cP)).optional().describe("Additional provider-specific options. Outer record keyed by provider name, inner by option key"),W51=U.object({type:U.literal("text"),text:U.string().describe("The text content"),providerOptions:aW}),Ub6=U.object({type:U.literal("text"),text:U.string().describe("The text content"),providerMetadata:U.any().optional().describe("Additional provider-specific metadata")}),zb6=U.string().describe("File data as URL string"),Z51=U.object({type:U.literal("file"),filename:U.string().optional().describe("Optional filename of the file"),data:zb6,mediaType:U.string().describe("IANA media type of the file (e.g., image/png, audio/mp3)"),providerOptions:aW}),Bb6=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")}),Db6=U.object({type:U.literal("reasoning"),text:U.string().describe("The reasoning text"),providerOptions:aW}),Nb6=U.object({type:U.literal("reasoning"),text:U.string().describe("The reasoning text"),providerMetadata:U.any().optional().describe("Additional provider-specific metadata")}),Ob6=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:aW}),Lb6=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")}),wb6=U.union([U.object({type:U.literal("text"),value:U.string()}),U.object({type:U.literal("json"),value:cP}),U.object({type:U.literal("error-text"),value:U.string()}),U.object({type:U.literal("error-json"),value:cP}),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")})]))})]),$51=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:wb6.describe("Result of the tool call"),result:U.unknown().describe("Unknown result of the tool call"),providerOptions:aW}),Mb6=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")}),Pb6=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")})]),Ab6=U.object({role:U.literal("system"),content:U.string().describe("System message content"),providerOptions:aW}),Tb6=U.object({role:U.literal("user"),content:U.array(U.union([W51,Z51])).describe("User message content parts (text or file)"),providerOptions:aW}),Eb6=U.object({role:U.literal("assistant"),content:U.array(U.union([W51,Z51,Db6,Ob6,$51])).describe("Assistant message content parts (text, file, reasoning, tool-call, or tool-result)"),providerOptions:aW}),jb6=U.object({role:U.literal("tool"),content:U.array($51).describe("Tool message content (tool results)"),providerOptions:aW}),Cb6=U.union([Ab6,Tb6,Eb6,jb6]),Ib6=U.array(Cb6).describe("A list of messages forming the prompt"),Rb6=U.object({prompt:Ib6.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")}),Sb6=U.object({content:U.array(U.union([Ub6,Bb6,Nb6,Lb6,Mb6,Pb6])).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")}),wd4=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")}),kb6=U.object({supportedUrls:U.record(U.string(),U.array(U.string())).describe("Supported URL patterns by media type for the provider")}),Md4=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()}),G51=U.object({modelId:U.string().describe("The ID of the model"),callOptions:Rb6}),vb6=JB.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()}),_b6=GB("llm",vb6,{readOnly:!0}),a80=[{name:"LLM_METADATA",inputSchema:U.object({modelId:U.string().describe("The ID of the model")}),outputSchema:kb6},{name:"LLM_DO_STREAM",inputSchema:G51,streamable:!0},{name:"LLM_DO_GENERATE",inputSchema:G51,outputSchema:Sb6},..._b6],Lb=NF(a80)});function bb6(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 VK(X){return typeof X==="string"||typeof X==="number"}function Mb(X,Y){if("conditions"in Y){let{operator:$,conditions:K}=Y;switch($){case"and":return K.every((H)=>Mb(X,H));case"or":return K.some((H)=>Mb(X,H));case"not":return!K.every((H)=>Mb(X,H));default:return!0}}let{field:Q,operator:J,value:G}=Y,W=Q.join("."),Z=r80(X,W);switch(J){case"eq":return Z===G;case"gt":return VK(Z)&&VK(G)&&Z>G;case"gte":return VK(Z)&&VK(G)&&Z>=G;case"lt":return VK(Z)&&VK(G)&&Z<G;case"lte":return VK(Z)&&VK(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 $=bb6(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 r80(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 fb6(X,Y){return[...X].sort((Q,J)=>{for(let G of Y){let W=G.field.join("."),Z=r80(Q,W),$=r80(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 yb6,hb6,xb6,o80;var K51=p(()=>{Ob();J51();x5();wb();a0();Z6();q7();yb6={LLM:a80,ASSISTANTS:Q51};hb6=OF.extend({binding:U.union([U.object({}).passthrough(),U.string()]).optional()}),xb6=LF(dJ),o80=t0({name:"COLLECTION_CONNECTIONS_LIST",description:"List all connections in the organization with filtering, sorting, and pagination",inputSchema:hb6,outputSchema:xb6,handler:async(X,Y)=>{await Y.access.check();let Q=_1(Y),J=X.binding?typeof X.binding==="string"?(()=>{let z=yb6[X.binding.toUpperCase()];if(!z)throw Error(`Unknown binding: ${X.binding}`);return z})():X.binding:void 0,G=J?Nb(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)=>Mb(z,X.where));if(X.orderBy&&X.orderBy.length>0)$=fb6($,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 gb6,s80;var H51=p(()=>{x5();Z6();q7();gb6=SP(dJ),s80=t0({name:"COLLECTION_CONNECTIONS_GET",description:"Get connection details by ID",inputSchema:RP,outputSchema:gb6,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 Pb=(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 F51(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 ub6(X){let Y=X.split("::");if(Y.length!==2||!Y[0]||!Y[1])return null;return Y}function mb6(X){if(typeof X==="object"&&X!==null&&"value"in X){let Y=X.value;if(typeof Y==="string")return Y}return null}function t80(X,Y){let Q={};if(!X||!Y)return Q;for(let J of Y){if(J==="*"){Q["*"]=["*"];continue}let G=ub6(J);if(!G)continue;let[W,Z]=G,$=Pb(W,X),K=mb6($);if(K){if(!Q[K])Q[K]=[];Q[K].push(Z)}}return Q}function V51(X,Y){let Q=t80(X,Y);return new Set(Object.keys(Q).filter((J)=>J!=="*"))}var e80=()=>{};class rW{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 $=t8("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 Ab=p(()=>{cW()});async function pb6(X,Y,Q,J){for(let W of Y){if(W==="*")continue;let[Z]=F51(W),$=Pb(Z,X);if($===void 0||$===null)throw Error(`Scope references key "${Z}" but it's not present in state`)}let G=V51(X,Y);for(let W of G){if(W.endsWith("_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 lb6,db6,XX0;var q51=p(()=>{e80();Ab();a0();Z6();Jb();q7();lb6=U.object({id:U.string().describe("ID of the connection to update"),data:q91.describe("Partial connection data to update")}),db6=U.object({item:dJ.describe("The updated connection entity")});XX0=t0({name:"COLLECTION_CONNECTIONS_UPDATE",description:"Update an existing MCP connection in the organization",inputSchema:lb6,outputSchema:db6,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);if(await Y.access.check(),!f8(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=$K(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=sy(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 pb6(H,F,Q.id,Y)}let V=W.connection_token??Z.connection_token;if(!V)try{let w=await new rW(Y.db,Y.vault).get(G);if(w?.accessToken)V=w.accessToken}catch{}let q=await rz({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 YX0;var U51=p(()=>{x5();Z6();q7();YX0=t0({name:"COLLECTION_CONNECTIONS_DELETE",description:"Delete a connection",inputSchema:kP,outputSchema:vP(dJ),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 QX0;var z51=p(()=>{a0();Z6();QX0=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 B51=p(()=>{SJ1();K51();H51();q51();U51();z51()});import{sql as e6}from"kysely";function D51(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 ib6(X,Y){let Q=X;for(let G=Y.length;G>=1;G--){let W=`$${G}`;if(Q.includes(W))Q=Q.replaceAll(W,D51(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=D51(Y[G]);Q=Q.slice(0,W)+Z+Q.slice(W+1)}return Q}function N51(X){return X.replace(/-/g,"_")}function rb6(X){return`app_${N51(X)}`}function ob6(X){return`app_role_${N51(X)}`}function sb6(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 tb6(X,Y,Q){if(await e6`CREATE SCHEMA IF NOT EXISTS ${e6.id(Y)}`.execute(X),!(await e6`
|
|
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 XB(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=XB(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=XB(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=XB(X,K);$.resolve(H),H.dispose(),X.runtime.executePendingJobs()}catch(H){let F=ez(H),V=X.newString(`Promise resolution error: ${F}`);$.reject(V),V.dispose(),X.runtime.executePendingJobs()}}).catch((K)=>{let H=ez(K),F=X.newString(`Promise rejection: ${H}`);$.reject(F),F.dispose(),X.runtime.executePendingJobs()}),$.handle}return XB(X,Z)}catch(W){let Z=ez(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 wJ1=()=>{};function PJ1(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 MJ1(X,Y,Q){let J=Date.now(),G=X.resolvePromise(Y);while(!0){PJ1(X);let W=await Promise.race([G,Zy6(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 g80({tools:X,code:Y,timeoutMs:Q}){let Z=[];try{let J=await OJ1({memoryLimitBytes:33554432,stackSizeBytes:524288});const G=Zf(Z,J.newContext({interruptAfterMs:Q}),0);const W=Zf(Z,cQ1(G),0);try{let F=G.evalCode(Y,"index.mjs",{strip:!0,strict:!0,type:"module"}),V=G.unwrapResult(F),q=XB(G,X);G.setProp(G.global,"tools",q);let z=G.runtime.hasPendingJob()?G.unwrapResult(await MJ1(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 MJ1(G,w,Q),T=G.unwrapResult(C);if(G.runtime.hasPendingJob())PJ1(G);return{returnValue:G.dump(T),consoleLogs:W.logs}}catch(F){return console.log(F),{error:ez(F),consoleLogs:W.logs}}}catch($){var K=$,H=1}finally{oY0(Z,K,H)}}var Zy6=(X)=>new Promise((Y)=>setTimeout(Y,X));var AJ1=p(()=>{LJ1();wJ1()});var TJ1=p(()=>{AJ1()});async function $y6(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 EJ1(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 Ky6(X,Y,Q){let J=await sz.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 YB(X){let Y=_1(X),Q,J="inclusion";if(X.connectionId){let G=await X.storage.virtualMcps.findById(X.connectionId);if(G)Q=await $y6(G,X),J=G.tool_selection_mode;else Q=await EJ1(Y.id,X)}else Q=await EJ1(Y.id,X);return Ky6(Q,J,X)}function Hy6(X){return X.toLowerCase().split(/[\s_\-./]+/).filter((Y)=>Y.length>=2)}function Fy6(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 Fb(X,Y,Q){let J=Hy6(X);if(J.length===0)return Y.slice(0,Q);return Y.map((G)=>({tool:G,score:Fy6(J,G)})).filter((G)=>G.score>0).sort((G,W)=>W.score-G.score).slice(0,Q).map((G)=>G.tool)}function Vb(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 qb(X,Y,Q){let J=Object.fromEntries(Y.tools.map((G)=>[G.name,async(W)=>Y.callTool(G.name,W??{})]));return g80({code:X,tools:J,timeoutMs:Q})}function Ub(X){return{content:[{type:"text",text:JSON.stringify(X,null,2)}]}}function QB(X){return{content:[{type:"text",text:JSON.stringify(X,null,2)}],isError:!0}}function EP(X){let Y=new Set(Vy6);return X.filter((Q)=>!Y.has(Q.name))}var Vy6;var jP=p(()=>{TJ1();Vy6=["CODE_EXECUTION_SEARCH_TOOLS","CODE_EXECUTION_DESCRIBE_TOOLS","CODE_EXECUTION_RUN_CODE"]});var u80;var jJ1=p(()=>{Z6();AP();jP();u80=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:gQ1,outputSchema:uQ1,handler:async(X,Y)=>{U1(Y),_1(Y),await Y.access.check();let Q=await YB(Y),J=Fb(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 m80;var CJ1=p(()=>{Z6();AP();jP();m80=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:mQ1,outputSchema:lQ1,handler:async(X,Y)=>{U1(Y),_1(Y),await Y.access.check();let Q=await YB(Y);return Vb(X.tools,Q.tools)}})});var l80;var IJ1=p(()=>{Z6();AP();jP();l80=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:dQ1,outputSchema:pQ1,handler:async(X,Y)=>{U1(Y),_1(Y),await Y.access.check();let Q=await YB(Y);return await qb(X.code,Q,X.timeoutMs)}})});var RJ1=p(()=>{jJ1();CJ1();IJ1();AP()});var Uy6,zy6,d80;var SJ1=p(()=>{gL();a0();Z6();Jb();q7();Uy6=U.object({data:V91.describe("Data for the new connection (id is auto-generated if not provided)")}),zy6=U.object({item:dJ.describe("The created connection entity")}),d80=t0({name:"COLLECTION_CONNECTIONS_CREATE",description:"Create a new MCP connection in the organization",inputSchema:Uy6,outputSchema:zy6,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=f8(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=$K(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=sy(K)}let W=await rz({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,ZW.SELF(Q.id),{type:"connection.created",data:$}),{item:$}}})});function CP(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)=>CP(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)&&CP(X[G],Y[G]))}return!1}function hy6(){return(X)=>{if(!Array.isArray(X))return!0;let Y=[];return X.every((Q)=>{if(Y.some((G)=>CP(Q,G)))return!1;return Y.push(Q),!0})}}function zb(X,Y){return X.safeParse(Y).success}function MY(X){if(typeof X==="boolean")return X?U.any():U.never();let Y={};for(let G of sy6)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 ty6)J=G.apply(J,X);return J}var By6=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()}}},Dy6=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}},Ny6=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}},Oy6=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}}},Ly6=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()}}},wy6=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`})}}},My6=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`})}}},Py6=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)}}}},Ay6=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)}}},Ty6=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)}}},Ey6=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}}},jy6=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}}},Cy6=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}`})}}},Iy6=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())}}},Ry6=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)}},Sy6=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)}},ky6=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=MY(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())}},vy6=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)=>MY(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}},_y6=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()}},yy6=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()}}},by6=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`})}}},fy6=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`})}}},xy6=class{apply(X,Y){if(!Y.not)return X;let Q=MY(Y.not);return X.refine((J)=>!zb(Q,J),{message:"Value must not match the 'not' schema"})}},gy6=class{apply(X,Y){if(Y.uniqueItems!==!0)return X;return X.refine(hy6(),{message:"Array items must be unique"})}},uy6=class{apply(X,Y){if(!Y.allOf||Y.allOf.length===0)return X;return Y.allOf.map((J)=>MY(J)).reduce((J,G)=>U.intersection(J,G),X)}},my6=class{apply(X,Y){if(!Y.anyOf||Y.anyOf.length===0)return X;let Q=Y.anyOf.length===1?MY(Y.anyOf[0]):U.union([MY(Y.anyOf[0]),MY(Y.anyOf[1]),...Y.anyOf.slice(2).map((J)=>MY(J))]);return U.intersection(X,Q)}},ly6=class{apply(X,Y){if(!Y.oneOf||Y.oneOf.length===0)return X;let Q=Y.oneOf.map((J)=>MY(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"})}},dy6=class{apply(X,Y){let Q=Y;if(Q.prefixItems&&Array.isArray(Q.prefixItems)){let G=Q.prefixItems.map((W)=>MY(W));return X.refine((W)=>{if(!Array.isArray(W))return!0;for(let Z=0;Z<Math.min(W.length,G.length);Z++)if(!zb(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=MY(Q.items);for(let $=G.length;$<W.length;$++)if(!zb(Z,W[$]))return!1}}return!0},{message:"Array does not match prefixItems schema"})}return X}},py6=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]=MY(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(!MY(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"})}},cy6=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)=>CP(J,G))},{message:"Value must match one of the enum values"})}},ny6=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)=>CP(J,Q),{message:"Value must equal the const value"})}},iy6=class{apply(X,Y){if(Y.description)X=X.describe(Y.description);return X}},ay6=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))}},ry6=class{apply(X,Y){var Q;let J=Y;if(J.contains===void 0)return X;let G=MY(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(zb(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"})}},oy6=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)}},sy6,ty6;var kJ1=p(()=>{c6();c6();c6();c6();c6();c6();c6();c6();c6();c6();c6();c6();c6();c6();sy6=[new Dy6,new Ny6,new By6,new Oy6,new Ly6,new Iy6,new yy6,new wy6,new My6,new Py6,new Ay6,new Ty6,new Ey6,new jy6,new Cy6,new vy6,new Ry6,new Sy6,new ky6,new by6,new fy6,new _y6],ty6=[new ay6,new cy6,new ny6,new uy6,new my6,new ly6,new dy6,new py6,new ry6,new xy6,new gy6,new oy6,new iy6]});class p80{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,ey6),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=PQ.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 ey6="mcp";var vJ1=p(()=>{qX()});function Xb6(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 c80;var _J1=p(()=>{oq();c80=class c80 extends IG{constructor(X,Y){super(X,Y)}send(X,Y){let Q=Xb6(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 yJ1,bJ1=async(X,Y,Q)=>{let J=Yb6(X.connection,Y,Q);if(!J)throw Error("Unknown MCP connection type");let G=new yJ1({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 K=new Headers(Q);if(!K.has("Authorization"))K.set("Authorization",`Bearer ${X.connection.token}`);for(let[V,q]of Object.entries(X.connection.headers??{}))K.set(V,q);let H=new URL(X.connection.url),F=H.pathname.replace(/\/+$/,"")||"/";return H.pathname=`${F}/call-tool/${encodeURIComponent(W)}`,fetch(H.href,{method:"POST",redirect:"manual",body:JSON.stringify(Z),headers:K,signal:$})}}},Yb6=(X,Y,Q)=>{if(X.type==="Websocket")return new p80(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 VF(new URL(X.url),W)}return new c80(new URL(X.url),{requestInit:{headers:G,signal:Y,credentials:"include"}})};var fJ1=p(()=>{eH();Xb();vJ1();qX();_J1();yJ1=class yJ1 extends l9{constructor(X,Y){super(X,Y)}async listTools(X,Y){return await this.request({method:"tools/list",params:X},HL,Y)}}});function xJ1(X){let Y=(Q)=>{if("connection"in X)return bJ1({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"?Qb6(w):null,T=C?.code&&typeof X?.getErrorByStatusCode==="function"?X.getErrorByStatusCode(C.code,C.message,C.traceId):null;if(T)throw T;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(!Bb.has(H))Bb.set(H,W());return await Bb.get(H)}catch(F){console.error("Failed to list tools",F),Bb.delete(H);return}}async function $(){return(await Z()??[]).map((H)=>hJ1(H,G))}return G.asTool=async()=>{let H=(await Z()??[]).find((F)=>F.name===J);if(!H)throw Error(`Tool ${J} not found`);return hJ1(H,G)},G}})}var Qb6=(X)=>{try{return JSON.parse(X)}catch{return X}},Bb,hJ1=(X,Y)=>{return{...X,id:X.name,inputSchema:X.inputSchema?MY(X.inputSchema):void 0,outputSchema:X.outputSchema?MY(X.outputSchema):void 0,execute:(Q)=>{return Y(Q.context,X.name)}}};var gJ1=p(()=>{kJ1();fJ1();Bb=new Map});function Db(X){return xJ1(X)}var Pl4;var uJ1=p(()=>{gJ1();Pl4=new Proxy({},{get(X,Y){if(Y==="toJSON")return null;if(Y==="forConnection")return(Q)=>Db({connection:Q});return global[Y]}})});function Nb(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 NF=(X)=>{return{...Nb(X),forClient:(Y)=>{return Db({client:Y,streamable:X.reduce((Q,J)=>{return Q[J.name]=J.streamable===!0,Q},{})})},forConnection:(Y)=>{return Db({connection:Y,streamable:X.reduce((Q,J)=>{return Q[J.name]=J.streamable===!0,Q},{})})}}};var IP=p(()=>{uJ1()});var n80,Cl4;var mJ1=p(()=>{qN();n80=E6(VN(),1),Cl4=n80.createContext(null)});function LF(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 SP(X){return U.object({item:X.nullable().describe("The retrieved item, or null if not found")})}function Wb6(X){return U.object({data:X.partial().describe("Data for the new entity (id may be auto-generated)")})}function Zb6(X){return U.object({item:X.describe("The created entity with generated id")})}function $b6(X){return U.object({id:U.string().describe("ID of the entity to update"),data:X.partial().describe("Partial entity data to update")})}function Kb6(X){return U.object({item:X.describe("The updated entity")})}function vP(X){return U.object({item:X.describe("The deleted entity")})}function GB(X,Y,Q){let J=X.toUpperCase(),G=Q?.readOnly??!1,W=[{name:`COLLECTION_${J}_LIST`,inputSchema:OF,outputSchema:LF(Y)},{name:`COLLECTION_${J}_GET`,inputSchema:RP,outputSchema:SP(Y)}];if(!G)W.push({name:`COLLECTION_${J}_CREATE`,inputSchema:Wb6(Y),outputSchema:Zb6(Y),opt:!0},{name:`COLLECTION_${J}_UPDATE`,inputSchema:$b6(Y),outputSchema:Kb6(Y),opt:!0},{name:`COLLECTION_${J}_DELETE`,inputSchema:kP,outputSchema:vP(Y),opt:!0});return W}var JB,Jb6,lJ1,Gb6,OF,RP,kP;var x5=p(()=>{a0();JB=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()}),Jb6=U.object({field:U.array(U.string()),operator:U.enum(["eq","gt","gte","lt","lte","in","like","contains"]),value:U.unknown()}),lJ1=U.lazy(()=>U.union([Jb6,U.object({operator:U.enum(["and","or","not"]),conditions:U.array(lJ1)})])),Gb6=U.object({field:U.array(U.string()),direction:U.enum(["asc","desc"]),nulls:U.enum(["first","last"]).optional()}),OF=U.object({where:lJ1.optional().describe("Filter expression"),orderBy:U.array(Gb6).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")});RP=U.object({id:U.string().describe("ID of the entity to retrieve")});kP=U.object({id:U.string().describe("ID of the entity to delete")})});var Hb6,dJ1,yl4;var pJ1=p(()=>{a0();x5();Hb6=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()}),dJ1=JB.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(Hb6).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()})}),yl4=GB("registry_app",dJ1,{readOnly:!0})});var cJ1,nJ1,iJ1,aJ1,rJ1,i80;var oJ1=p(()=>{a0();IP();cJ1=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)")}),nJ1=U.object({events:U.array(cJ1).min(1).describe("Batch of CloudEvents to process")}),iJ1=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")}),aJ1=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(),iJ1).optional().describe("Per-event results keyed by event ID")}),rJ1=[{name:"ON_EVENTS",inputSchema:nJ1,outputSchema:aJ1}],i80=NF(rJ1)});var _P,yP,bP,fP,sJ1,tJ1,hP,xP,gP,uP,mP,lP,dP,pP,eJ1,Fb6;var X51=p(()=>{a0();IP();_P=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.")}),yP=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")}),bP=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")}),fP=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)")})}),sJ1=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")}),tJ1=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)")}),hP=U.object({subscriptions:U.array(sJ1).describe("Desired subscriptions - system will create/update/delete to match")}),xP=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(tJ1).describe("Current subscriptions after sync")}),gP=U.object({subscriptionId:U.string().describe("Subscription ID to remove")}),uP=U.object({success:U.boolean().describe("Whether unsubscribe was successful"),subscriptionId:U.string().describe("Subscription ID that was removed")}),mP=U.object({eventId:U.string().describe("Event ID to cancel")}),lP=U.object({success:U.boolean().describe("Whether cancellation was successful"),eventId:U.string().describe("Event ID that was cancelled")}),dP=U.object({eventId:U.string().describe("Event ID to acknowledge")}),pP=U.object({success:U.boolean().describe("Whether ACK was successful"),eventId:U.string().describe("Event ID that was acknowledged")}),eJ1=[{name:"EVENT_PUBLISH",inputSchema:_P,outputSchema:yP},{name:"EVENT_SUBSCRIBE",inputSchema:bP,outputSchema:fP},{name:"EVENT_UNSUBSCRIBE",inputSchema:gP,outputSchema:uP},{name:"EVENT_CANCEL",inputSchema:mP,outputSchema:lP},{name:"EVENT_ACK",inputSchema:dP,outputSchema:pP},{name:"EVENT_SYNC_SUBSCRIPTIONS",inputSchema:hP,outputSchema:xP}],Fb6=NF(eJ1)});var dl4,pl4,cl4,nl4,il4,al4,rl4,ol4,sl4,tl4,el4,Xd4;var Y51=p(()=>{a0();dl4=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.")}),pl4=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/'])")}),cl4=U.object({key:U.string().describe("Object key/path to get metadata for")}),nl4=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")}),il4=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)")}),al4=U.object({url:U.string().describe("Presigned URL for downloading the object"),expiresIn:U.number().describe("Expiration time in seconds that was used")}),rl4=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")}),ol4=U.object({url:U.string().describe("Presigned URL for uploading the object"),expiresIn:U.number().describe("Expiration time in seconds that was used")}),sl4=U.object({key:U.string().describe("Object key/path to delete")}),tl4=U.object({success:U.boolean().describe("Whether the deletion was successful"),key:U.string().describe("The key that was deleted")}),el4=U.object({keys:U.array(U.string()).max(1000).describe("Array of object keys/paths to delete (max 1000)")}),Xd4=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 Ob=p(()=>{IP();mJ1();pJ1();oJ1();X51();Y51()});var Vb6,qb6,Q51;var J51=p(()=>{a0();x5();Vb6=JB.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")}),qb6=GB("assistant",Vb6),Q51=[...qb6]});var cP,aW,W51,Ub6,zb6,Z51,Bb6,Db6,Nb6,Ob6,Lb6,wb6,$51,Mb6,Pb6,Ab6,Tb6,Eb6,jb6,Cb6,Ib6,Rb6,Sb6,wd4,kb6,Md4,G51,vb6,_b6,a80,Lb;var wb=p(()=>{a0();IP();x5();cP=U.lazy(()=>U.union([U.null(),U.string(),U.number(),U.boolean(),U.record(U.string(),cP),U.array(cP)])),aW=U.record(U.string(),U.record(U.string(),cP)).optional().describe("Additional provider-specific options. Outer record keyed by provider name, inner by option key"),W51=U.object({type:U.literal("text"),text:U.string().describe("The text content"),providerOptions:aW}),Ub6=U.object({type:U.literal("text"),text:U.string().describe("The text content"),providerMetadata:U.any().optional().describe("Additional provider-specific metadata")}),zb6=U.string().describe("File data as URL string"),Z51=U.object({type:U.literal("file"),filename:U.string().optional().describe("Optional filename of the file"),data:zb6,mediaType:U.string().describe("IANA media type of the file (e.g., image/png, audio/mp3)"),providerOptions:aW}),Bb6=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")}),Db6=U.object({type:U.literal("reasoning"),text:U.string().describe("The reasoning text"),providerOptions:aW}),Nb6=U.object({type:U.literal("reasoning"),text:U.string().describe("The reasoning text"),providerMetadata:U.any().optional().describe("Additional provider-specific metadata")}),Ob6=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:aW}),Lb6=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")}),wb6=U.union([U.object({type:U.literal("text"),value:U.string()}),U.object({type:U.literal("json"),value:cP}),U.object({type:U.literal("error-text"),value:U.string()}),U.object({type:U.literal("error-json"),value:cP}),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")})]))})]),$51=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:wb6.describe("Result of the tool call"),result:U.unknown().describe("Unknown result of the tool call"),providerOptions:aW}),Mb6=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")}),Pb6=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")})]),Ab6=U.object({role:U.literal("system"),content:U.string().describe("System message content"),providerOptions:aW}),Tb6=U.object({role:U.literal("user"),content:U.array(U.union([W51,Z51])).describe("User message content parts (text or file)"),providerOptions:aW}),Eb6=U.object({role:U.literal("assistant"),content:U.array(U.union([W51,Z51,Db6,Ob6,$51])).describe("Assistant message content parts (text, file, reasoning, tool-call, or tool-result)"),providerOptions:aW}),jb6=U.object({role:U.literal("tool"),content:U.array($51).describe("Tool message content (tool results)"),providerOptions:aW}),Cb6=U.union([Ab6,Tb6,Eb6,jb6]),Ib6=U.array(Cb6).describe("A list of messages forming the prompt"),Rb6=U.object({prompt:Ib6.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")}),Sb6=U.object({content:U.array(U.union([Ub6,Bb6,Nb6,Lb6,Mb6,Pb6])).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")}),wd4=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")}),kb6=U.object({supportedUrls:U.record(U.string(),U.array(U.string())).describe("Supported URL patterns by media type for the provider")}),Md4=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()}),G51=U.object({modelId:U.string().describe("The ID of the model"),callOptions:Rb6}),vb6=JB.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()}),_b6=GB("llm",vb6,{readOnly:!0}),a80=[{name:"LLM_METADATA",inputSchema:U.object({modelId:U.string().describe("The ID of the model")}),outputSchema:kb6},{name:"LLM_DO_STREAM",inputSchema:G51,streamable:!0},{name:"LLM_DO_GENERATE",inputSchema:G51,outputSchema:Sb6},..._b6],Lb=NF(a80)});function bb6(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 VK(X){return typeof X==="string"||typeof X==="number"}function Mb(X,Y){if("conditions"in Y){let{operator:$,conditions:K}=Y;switch($){case"and":return K.every((H)=>Mb(X,H));case"or":return K.some((H)=>Mb(X,H));case"not":return!K.every((H)=>Mb(X,H));default:return!0}}let{field:Q,operator:J,value:G}=Y,W=Q.join("."),Z=r80(X,W);switch(J){case"eq":return Z===G;case"gt":return VK(Z)&&VK(G)&&Z>G;case"gte":return VK(Z)&&VK(G)&&Z>=G;case"lt":return VK(Z)&&VK(G)&&Z<G;case"lte":return VK(Z)&&VK(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 $=bb6(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 r80(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 fb6(X,Y){return[...X].sort((Q,J)=>{for(let G of Y){let W=G.field.join("."),Z=r80(Q,W),$=r80(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 yb6,hb6,xb6,o80;var K51=p(()=>{Ob();J51();x5();wb();a0();Z6();q7();yb6={LLM:a80,ASSISTANTS:Q51};hb6=OF.extend({binding:U.union([U.object({}).passthrough(),U.string()]).optional()}),xb6=LF(dJ),o80=t0({name:"COLLECTION_CONNECTIONS_LIST",description:"List all connections in the organization with filtering, sorting, and pagination",inputSchema:hb6,outputSchema:xb6,handler:async(X,Y)=>{await Y.access.check();let Q=_1(Y),J=X.binding?typeof X.binding==="string"?(()=>{let z=yb6[X.binding.toUpperCase()];if(!z)throw Error(`Unknown binding: ${X.binding}`);return z})():X.binding:void 0,G=J?Nb(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)=>Mb(z,X.where));if(X.orderBy&&X.orderBy.length>0)$=fb6($,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 gb6,s80;var H51=p(()=>{x5();Z6();q7();gb6=SP(dJ),s80=t0({name:"COLLECTION_CONNECTIONS_GET",description:"Get connection details by ID",inputSchema:RP,outputSchema:gb6,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 Pb=(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 F51(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 ub6(X){let Y=X.split("::");if(Y.length!==2||!Y[0]||!Y[1])return null;return Y}function mb6(X){if(typeof X==="object"&&X!==null&&"value"in X){let Y=X.value;if(typeof Y==="string")return Y}return null}function t80(X,Y){let Q={};if(!X||!Y)return Q;for(let J of Y){if(J==="*"){Q["*"]=["*"];continue}let G=ub6(J);if(!G)continue;let[W,Z]=G,$=Pb(W,X),K=mb6($);if(K){if(!Q[K])Q[K]=[];Q[K].push(Z)}}return Q}function V51(X,Y){let Q=t80(X,Y);return new Set(Object.keys(Q).filter((J)=>J!=="*"))}var e80=()=>{};class rW{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 $=t8("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 Ab=p(()=>{cW()});async function pb6(X,Y,Q,J){for(let W of Y){if(W==="*")continue;let[Z]=F51(W),$=Pb(Z,X);if($===void 0||$===null)throw Error(`Scope references key "${Z}" but it's not present in state`)}let G=V51(X,Y);for(let W of G){if(W.endsWith("_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 lb6,db6,XX0;var q51=p(()=>{e80();Ab();a0();Z6();Jb();q7();lb6=U.object({id:U.string().describe("ID of the connection to update"),data:q91.describe("Partial connection data to update")}),db6=U.object({item:dJ.describe("The updated connection entity")});XX0=t0({name:"COLLECTION_CONNECTIONS_UPDATE",description:"Update an existing MCP connection in the organization",inputSchema:lb6,outputSchema:db6,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);if(await Y.access.check(),!f8(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=$K(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=sy(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 pb6(H,F,Q.id,Y)}let V=W.connection_token??Z.connection_token;if(!V)try{let w=await new rW(Y.db,Y.vault).get(G);if(w?.accessToken)V=w.accessToken}catch{}let q=await rz({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 YX0;var U51=p(()=>{x5();Z6();q7();YX0=t0({name:"COLLECTION_CONNECTIONS_DELETE",description:"Delete a connection",inputSchema:kP,outputSchema:vP(dJ),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 QX0;var z51=p(()=>{a0();Z6();QX0=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 B51=p(()=>{SJ1();K51();H51();q51();U51();z51()});import{sql as e6}from"kysely";function D51(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 ib6(X,Y){let Q=X;for(let G=Y.length;G>=1;G--){let W=`$${G}`;if(Q.includes(W))Q=Q.replaceAll(W,D51(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=D51(Y[G]);Q=Q.slice(0,W)+Z+Q.slice(W+1)}return Q}function N51(X){return X.replace(/-/g,"_")}function rb6(X){return`app_${N51(X)}`}function ob6(X){return`app_role_${N51(X)}`}function sb6(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 tb6(X,Y,Q){if(await e6`CREATE SCHEMA IF NOT EXISTS ${e6.id(Y)}`.execute(X),!(await e6`
|
|
271
271
|
SELECT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = ${Q}) as exists
|
|
272
|
-
`.execute(X)).rows[0]?.exists)await e6`CREATE ROLE ${e6.id(Q)} NOLOGIN`.execute(X);await e6`GRANT ${e6.id(Q)} TO CURRENT_USER`.execute(X),await e6`GRANT USAGE, CREATE ON SCHEMA ${e6.id(Y)} TO ${e6.id(Q)}`.execute(X),await e6`GRANT ALL ON ALL TABLES IN SCHEMA ${e6.id(Y)} TO ${e6.id(Q)}`.execute(X),await e6`GRANT ALL ON ALL SEQUENCES IN SCHEMA ${e6.id(Y)} TO ${e6.id(Q)}`.execute(X),await e6`ALTER DEFAULT PRIVILEGES IN SCHEMA ${e6.id(Y)} GRANT ALL ON TABLES TO ${e6.id(Q)}`.execute(X),await e6`ALTER DEFAULT PRIVILEGES IN SCHEMA ${e6.id(Y)} GRANT ALL ON SEQUENCES TO ${e6.id(Q)}`.execute(X),await e6`REVOKE ALL ON SCHEMA public FROM ${e6.id(Q)}`.execute(X)}async function eb6(X,Y,Q,J){try{return await X.transaction().execute(async(G)=>{return await e6`SET LOCAL ROLE ${e6.id(Q)}`.execute(G),await e6`SET LOCAL search_path TO ${e6.id(Y)}`.execute(G),await e6.raw(J).execute(G)})}catch(G){if(sb6(G))return await tb6(X,Y,Q),await X.transaction().execute(async(W)=>{return await e6`SET LOCAL ROLE ${e6.id(Q)}`.execute(W),await e6`SET LOCAL search_path TO ${e6.id(Y)}`.execute(W),await e6.raw(J).execute(W)});throw G}}var nb6,ab6,O51;var L51=p(()=>{a0();Z6();nb6=U.object({results:U.array(U.unknown()).optional(),success:U.boolean().optional()});ab6=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()});O51=t0({name:"DATABASES_RUN_SQL",description:"Run a SQL query against the database",inputSchema:ab6,outputSchema:U.object({result:U.array(nb6)}),handler:async(X,Y)=>{U1(Y),await Y.access.check();let Q=ib6(X.sql,X.params||[]);if(!Y.connectionId)throw Error("Connection context required for database access");let J=rb6(Y.connectionId),G=ob6(Y.connectionId);return{result:[{results:(await eb6(Y.db,J,G,Q)).rows,success:!0}]}}})});var w51,Yf6,M51;var oW=p(()=>{a0();Ob();w51=U.object({connectionId:U.string().optional().describe("Filter subscriptions by connection ID (optional)")}),Yf6=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)")}),M51=U.object({subscriptions:U.array(Yf6).describe("List of subscriptions")})});var JX0;var P51=p(()=>{Z6();oW();JX0=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:_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 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 GX0;var A51=p(()=>{Z6();oW();GX0=t0({name:"EVENT_SUBSCRIBE",description:"Subscribe to events of a specific type. The subscriber is automatically set to the caller's connection.",inputSchema:bP,outputSchema:fP,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 WX0;var T51=p(()=>{Z6();oW();WX0=t0({name:"EVENT_UNSUBSCRIBE",description:"Unsubscribe from events by removing a subscription.",inputSchema:gP,outputSchema:uP,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 ZX0;var E51=p(()=>{Z6();oW();ZX0=t0({name:"EVENT_CANCEL",description:"Cancel a recurring event to stop future deliveries. Only the publisher can cancel their own events.",inputSchema:mP,outputSchema:lP,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 $X0;var j51=p(()=>{Z6();oW();$X0=t0({name:"EVENT_ACK",description:"Acknowledge delivery of an event. Call after successfully processing an event received via ON_EVENTS with retryAfter.",inputSchema:dP,outputSchema:pP,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 KX0;var C51=p(()=>{Z6();oW();KX0=t0({name:"EVENT_SUBSCRIPTION_LIST",description:"List event subscriptions, optionally filtered by connection ID.",inputSchema:w51,outputSchema:M51,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 HX0;var I51=p(()=>{Z6();oW();HX0=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:hP,outputSchema:xP,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 R51=p(()=>{P51();A51();T51();E51();j51();C51();I51();oW()});var FX0,Jf6,U7,S51,k51;var WB=p(()=>{a0();FX0=U.enum(["inclusion","exclusion"]).describe("Tool selection mode: 'inclusion' = include selected (default), 'exclusion' = exclude selected"),Jf6=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.")}),U7=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:FX0.describe("Tool selection mode: 'inclusion' = include selected, 'exclusion' = exclude selected"),status:U.enum(["active","inactive"]).describe("Current status"),metadata:U.object({instructions:U.string().optional().describe("MCP server instructions")}).nullable().optional().describe("Additional metadata including MCP server instructions"),connections:U.array(Jf6).describe("Connections with their selected tools (behavior depends on tool_selection_mode)")}),S51=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:FX0.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"),metadata:U.object({instructions:U.string().optional().describe("MCP server instructions")}).nullable().optional().describe("Additional metadata including MCP server instructions"),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)")}),k51=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:FX0.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"),metadata:U.object({instructions:U.string().optional().describe("MCP server instructions")}).nullable().optional().describe("Additional metadata including MCP server instructions"),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 Gf6,Wf6,VX0;var v51=p(()=>{a0();Z6();WB();Gf6=U.object({data:S51.describe("Data for the new virtual MCP")}),Wf6=U.object({item:U7.describe("The created virtual MCP entity")}),VX0=t0({name:"COLLECTION_VIRTUAL_MCP_CREATE",description:"Create a new MCP virtual MCP in the organization",inputSchema:Gf6,outputSchema:Wf6,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=f8(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 Zf6(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 qK(X){return typeof X==="string"||typeof X==="number"}function qX0(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 $f6(X,Y){return X.connections.some((Q)=>Q.connection_id===Y)}function Tb(X,Y){if("conditions"in Y){let{operator:$,conditions:K}=Y;switch($){case"and":return K.every((H)=>Tb(X,H));case"or":return K.some((H)=>Tb(X,H));case"not":return!K.every((H)=>Tb(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 $f6(X,G)}let Z=qX0(X,W);switch(J){case"eq":return Z===G;case"gt":return qK(Z)&&qK(G)&&Z>G;case"gte":return qK(Z)&&qK(G)&&Z>=G;case"lt":return qK(Z)&&qK(G)&&Z<G;case"lte":return qK(Z)&&qK(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 $=Zf6(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 Kf6(X,Y){return[...X].sort((Q,J)=>{for(let G of Y){let W=G.field.join("."),Z=qX0(Q,W),$=qX0(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 Hf6,Ff6,UX0;var _51=p(()=>{x5();Z6();WB();Hf6=OF,Ff6=LF(U7),UX0=t0({name:"COLLECTION_VIRTUAL_MCP_LIST",description:"List all MCP virtual MCPs in the organization",inputSchema:Hf6,outputSchema:Ff6,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)=>Tb(V,X.where));if(X.orderBy&&X.orderBy.length>0)W=Kf6(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 Vf6,qf6,zX0;var y51=p(()=>{a0();Z6();WB();Vf6=U.object({id:U.string().describe("ID of the virtual MCP to retrieve")}),qf6=U.object({item:U7.nullable().describe("The retrieved virtual MCP, or null if not found")}),zX0=t0({name:"COLLECTION_VIRTUAL_MCP_GET",description:"Get an MCP virtual MCP by ID",inputSchema:Vf6,outputSchema:qf6,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 Uf6,zf6,BX0;var b51=p(()=>{a0();Z6();WB();Uf6=U.object({id:U.string().describe("ID of the virtual MCP to update"),data:k51.describe("Partial virtual MCP data to update")}),zf6=U.object({item:U7.describe("The updated virtual MCP entity")}),BX0=t0({name:"COLLECTION_VIRTUAL_MCP_UPDATE",description:"Update an MCP virtual MCP",inputSchema:Uf6,outputSchema:zf6,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=f8(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 Bf6,Df6,DX0;var f51=p(()=>{a0();Z6();WB();Bf6=U.object({id:U.string().describe("ID of the virtual MCP to delete")}),Df6=U.object({item:U7.describe("The deleted virtual MCP entity")}),DX0=t0({name:"COLLECTION_VIRTUAL_MCP_DELETE",description:"Delete an MCP virtual MCP",inputSchema:Bf6,outputSchema:Df6,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 h51=p(()=>{v51();_51();y51();b51();f51()});var Of6,NX0;var x51=p(()=>{Z6();a0();Of6=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")}),NX0=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(Of6).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 OX0;var g51=p(()=>{Z6();a0();OX0=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 u51=p(()=>{x51();g51()});var LX0;var m51=p(()=>{a0();Z6();LX0=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=f8(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 wX0;var l51=p(()=>{a0();Z6();wX0=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=f8(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 MX0;var d51=p(()=>{a0();Z6();MX0=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 PX0;var p51=p(()=>{a0();Z6();PX0=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 AX0;var c51=p(()=>{a0();Z6();AX0=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 nP;var TX0=p(()=>{a0();nP=U.object({title:U.string(),url:U.string(),icon:U.string()})});var EX0;var n51=p(()=>{a0();Z6();TX0();EX0=t0({name:"ORGANIZATION_SETTINGS_GET",description:"Get organization-level settings",inputSchema:U.object({}),outputSchema:U.object({organizationId:U.string(),sidebar_items:U.array(nP).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 jX0;var i51=p(()=>{a0();Z6();TX0();jX0=t0({name:"ORGANIZATION_SETTINGS_UPDATE",description:"Update organization-level settings",inputSchema:U.object({organizationId:U.string(),sidebar_items:U.array(nP).optional(),enabled_plugins:U.array(U.string()).optional()}),outputSchema:U.object({organizationId:U.string(),sidebar_items:U.array(nP).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 CX0;var a51=p(()=>{a0();Z6();CX0=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 IX0;var r51=p(()=>{a0();Z6();IX0=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 RX0;var o51=p(()=>{a0();Z6();RX0=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 SX0;var s51=p(()=>{a0();Z6();SX0=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 t51=p(()=>{m51();l51();d51();p51();c51();n51();i51();a51();r51();o51();s51()});var e51,z7,XG1,YG1;var wF=p(()=>{a0();e51=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")}),z7=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")}),XG1=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")}),YG1=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 Mf6,Pf6,kX0;var QG1=p(()=>{a0();Z6();wF();cW();Mf6=U.object({data:XG1.describe("Data for the new thread (id is auto-generated if not provided)")}),Pf6=U.object({item:z7.describe("The created thread entity")}),kX0=t0({name:"COLLECTION_THREADS_CREATE",description:"Create a new thread in the organization",inputSchema:Mf6,outputSchema:Pf6,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=f8(Y);if(!J)throw Error("User ID required to create thread");let G=X.data.id??t8("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 Af6,Tf6,vX0;var JG1=p(()=>{x5();Z6();wF();a0();Af6=OF.extend({where:U.object({created_by:U.string().optional()}).optional()}),Tf6=LF(z7),vX0=t0({name:"COLLECTION_THREADS_LIST",description:"List all threads in the organization with filtering, sorting, and pagination",inputSchema:Af6,outputSchema:Tf6,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 Ef6,_X0;var GG1=p(()=>{x5();Z6();wF();Ef6=SP(z7),_X0=t0({name:"COLLECTION_THREADS_GET",description:"Get thread details by ID",inputSchema:RP,outputSchema:Ef6,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 jf6,Cf6,yX0;var WG1=p(()=>{a0();Z6();wF();jf6=U.object({id:U.string().describe("ID of the thread to update"),data:YG1.describe("Partial thread data to update")}),Cf6=U.object({item:z7.describe("The updated thread entity")}),yX0=t0({name:"COLLECTION_THREADS_UPDATE",description:"Update an existing thread in the organization",inputSchema:jf6,outputSchema:Cf6,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=f8(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 bX0;var ZG1=p(()=>{x5();Z6();wF();bX0=t0({name:"COLLECTION_THREADS_DELETE",description:"Delete a thread",inputSchema:kP,outputSchema:vP(z7),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 If6,Rf6,fX0;var $G1=p(()=>{a0();Z6();wF();If6=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")}),Rf6=U.object({items:U.array(e51).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")}),fX0=t0({name:"COLLECTION_THREAD_MESSAGES_LIST",description:"List all messages for a specific thread",inputSchema:If6,outputSchema:Rf6,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 KG1=p(()=>{QG1();JG1();GG1();WG1();ZG1();$G1()});var kf6,vf6,hX0;var HG1=p(()=>{a0();Z6();kf6=U.object({id:U.string().min(1)}),vf6=U.object({user:U.object({id:U.string(),name:U.string(),email:U.string(),image:U.string().nullable()}).nullable()}),hX0=t0({name:"USER_GET",description:"Get a user by id (restricted to shared organizations)",inputSchema:kf6,outputSchema:vf6,handler:async(X,Y)=>{await Y.access.check(),U1(Y);let Q=f8(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 FG1=p(()=>{HG1()});var qG1={};A8(qG1,{managementMCP:()=>xX0,ALL_TOOLS:()=>VG1});var VG1,xX0=(X)=>{let Y=VG1.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 AQ1({name:"mcp-mesh-management",version:"1.0.0"}).withTools(Y).build()};var gX0=p(()=>{TQ1();xQ1();RJ1();B51();L51();R51();h51();u51();t51();KG1();FG1();VG1=[LX0,wX0,MX0,PX0,AX0,EX0,jX0,CX0,IX0,RX0,SX0,d80,o80,s80,XX0,YX0,QX0,VX0,UX0,zX0,BX0,DX0,O51,NX0,OX0,N80,L80,w80,O80,JX0,GX0,WX0,ZX0,$X0,KX0,HX0,hX0,u80,m80,l80,kX0,vX0,_X0,yX0,bX0,fX0]});var zY0=I((Ns4,aW1)=>{var{defineProperty:UY0,getOwnPropertyDescriptor:nx6,getOwnPropertyNames:ix6}=Object,ax6=Object.prototype.hasOwnProperty,rx6=(X,Y)=>{for(var Q in Y)UY0(X,Q,{get:Y[Q],enumerable:!0})},ox6=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of ix6(Y))if(!ax6.call(X,G)&&G!==Q)UY0(X,G,{get:()=>Y[G],enumerable:!(J=nx6(Y,G))||J.enumerable})}return X},sx6=(X)=>ox6(UY0({},"__esModule",{value:!0}),X),nW1={};rx6(nW1,{SYMBOL_FOR_REQ_CONTEXT:()=>iW1,getContext:()=>tx6});aW1.exports=sx6(nW1);var iW1=Symbol.for("@vercel/request-context");function tx6(){return globalThis[iW1]?.get?.()??{}}});var YA=I((Os4,sW1)=>{var{defineProperty:BY0,getOwnPropertyDescriptor:ex6,getOwnPropertyNames:Xg6}=Object,Yg6=Object.prototype.hasOwnProperty,Qg6=(X,Y)=>{for(var Q in Y)BY0(X,Q,{get:Y[Q],enumerable:!0})},Jg6=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of Xg6(Y))if(!Yg6.call(X,G)&&G!==Q)BY0(X,G,{get:()=>Y[G],enumerable:!(J=ex6(Y,G))||J.enumerable})}return X},Gg6=(X)=>Jg6(BY0({},"__esModule",{value:!0}),X),rW1={};Qg6(rW1,{VercelOidcTokenError:()=>oW1});sW1.exports=Gg6(rW1);class oW1 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 YZ1=I((Ls4,XZ1)=>{var{create:Wg6,defineProperty:xb,getOwnPropertyDescriptor:Zg6,getOwnPropertyNames:$g6,getPrototypeOf:Kg6}=Object,Hg6=Object.prototype.hasOwnProperty,Fg6=(X,Y)=>{for(var Q in Y)xb(X,Q,{get:Y[Q],enumerable:!0})},tW1=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of $g6(Y))if(!Hg6.call(X,G)&&G!==Q)xb(X,G,{get:()=>Y[G],enumerable:!(J=Zg6(Y,G))||J.enumerable})}return X},NY0=(X,Y,Q)=>(Q=X!=null?Wg6(Kg6(X)):{},tW1(Y||!X||!X.__esModule?xb(Q,"default",{value:X,enumerable:!0}):Q,X)),Vg6=(X)=>tW1(xb({},"__esModule",{value:!0}),X),eW1={};Fg6(eW1,{findRootDir:()=>zg6,getUserDataDir:()=>Bg6});XZ1.exports=Vg6(eW1);var QA=NY0(z0("path")),qg6=NY0(z0("fs")),DY0=NY0(z0("os")),Ug6=YA();function zg6(){try{let X=process.cwd();while(X!==QA.default.dirname(X)){let Y=QA.default.join(X,".vercel");if(qg6.default.existsSync(Y))return X;X=QA.default.dirname(X)}}catch(X){throw new Ug6.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}function Bg6(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(DY0.default.platform()){case"darwin":return QA.default.join(DY0.default.homedir(),"Library/Application Support");case"linux":return QA.default.join(DY0.default.homedir(),".local/share");case"win32":if(process.env.LOCALAPPDATA)return process.env.LOCALAPPDATA;return null;default:return null}}});var KZ1=I((ws4,$Z1)=>{var{create:Dg6,defineProperty:gb,getOwnPropertyDescriptor:Ng6,getOwnPropertyNames:Og6,getPrototypeOf:Lg6}=Object,wg6=Object.prototype.hasOwnProperty,Mg6=(X,Y)=>{for(var Q in Y)gb(X,Q,{get:Y[Q],enumerable:!0})},QZ1=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of Og6(Y))if(!wg6.call(X,G)&&G!==Q)gb(X,G,{get:()=>Y[G],enumerable:!(J=Ng6(Y,G))||J.enumerable})}return X},JZ1=(X,Y,Q)=>(Q=X!=null?Dg6(Lg6(X)):{},QZ1(Y||!X||!X.__esModule?gb(Q,"default",{value:X,enumerable:!0}):Q,X)),Pg6=(X)=>QZ1(gb({},"__esModule",{value:!0}),X),GZ1={};Mg6(GZ1,{isValidAccessToken:()=>jg6,readAuthConfig:()=>Tg6,writeAuthConfig:()=>Eg6});$Z1.exports=Pg6(GZ1);var JA=JZ1(z0("fs")),WZ1=JZ1(z0("path")),Ag6=ub();function ZZ1(){let X=(0,Ag6.getVercelDataDir)();if(!X)throw Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return WZ1.join(X,"auth.json")}function Tg6(){try{let X=ZZ1();if(!JA.existsSync(X))return null;let Y=JA.readFileSync(X,"utf8");if(!Y)return null;return JSON.parse(Y)}catch(X){return null}}function Eg6(X){let Y=ZZ1(),Q=WZ1.dirname(Y);if(!JA.existsSync(Q))JA.mkdirSync(Q,{mode:504,recursive:!0});JA.writeFileSync(Y,JSON.stringify(X,null,2),{mode:384})}function jg6(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 qZ1=I((Ms4,VZ1)=>{var{defineProperty:wY0,getOwnPropertyDescriptor:Cg6,getOwnPropertyNames:Ig6}=Object,Rg6=Object.prototype.hasOwnProperty,Sg6=(X,Y)=>{for(var Q in Y)wY0(X,Q,{get:Y[Q],enumerable:!0})},kg6=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of Ig6(Y))if(!Rg6.call(X,G)&&G!==Q)wY0(X,G,{get:()=>Y[G],enumerable:!(J=Cg6(Y,G))||J.enumerable})}return X},vg6=(X)=>kg6(wY0({},"__esModule",{value:!0}),X),HZ1={};Sg6(HZ1,{processTokenResponse:()=>hg6,refreshTokenRequest:()=>fg6});VZ1.exports=vg6(HZ1);var OY0=z0("os"),_g6="https://vercel.com",yg6="cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",FZ1=`@vercel/oidc node-${process.version} ${(0,OY0.platform)()} (${(0,OY0.arch)()}) ${(0,OY0.hostname)()}`,LY0=null;async function bg6(){if(LY0)return LY0;let X=`${_g6}/.well-known/openid-configuration`,Y=await fetch(X,{headers:{"user-agent":FZ1}});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 LY0=J,J}async function fg6(X){let Y=await bg6();return await fetch(Y,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":FZ1},body:new URLSearchParams({client_id:yg6,grant_type:"refresh_token",...X})})}async function hg6(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 ub=I((Ps4,NZ1)=>{var{create:xg6,defineProperty:mb,getOwnPropertyDescriptor:gg6,getOwnPropertyNames:ug6,getPrototypeOf:mg6}=Object,lg6=Object.prototype.hasOwnProperty,dg6=(X,Y)=>{for(var Q in Y)mb(X,Q,{get:Y[Q],enumerable:!0})},zZ1=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of ug6(Y))if(!lg6.call(X,G)&&G!==Q)mb(X,G,{get:()=>Y[G],enumerable:!(J=gg6(Y,G))||J.enumerable})}return X},BZ1=(X,Y,Q)=>(Q=X!=null?xg6(mg6(X)):{},zZ1(Y||!X||!X.__esModule?mb(Q,"default",{value:X,enumerable:!0}):Q,X)),pg6=(X)=>zZ1(mb({},"__esModule",{value:!0}),X),DZ1={};dg6(DZ1,{assertVercelOidcTokenResponse:()=>MY0,findProjectInfo:()=>ag6,getTokenPayload:()=>sg6,getVercelCliToken:()=>ng6,getVercelDataDir:()=>cg6,getVercelOidcToken:()=>ig6,isExpired:()=>tg6,loadToken:()=>og6,saveToken:()=>rg6});NZ1.exports=pg6(DZ1);var GA=BZ1(z0("path")),IF=BZ1(z0("fs")),VB=YA(),lb=YZ1(),FB=KZ1(),UZ1=qZ1();function cg6(){let Y=(0,lb.getUserDataDir)();if(!Y)return null;return GA.join(Y,"com.vercel.cli")}async function ng6(){let X=(0,FB.readAuthConfig)();if(!X)return null;if((0,FB.isValidAccessToken)(X))return X.token||null;if(!X.refreshToken)return(0,FB.writeAuthConfig)({}),null;try{let Y=await(0,UZ1.refreshTokenRequest)({refresh_token:X.refreshToken}),[Q,J]=await(0,UZ1.processTokenResponse)(Y);if(Q||!J)return(0,FB.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,FB.writeAuthConfig)(G),G.token??null}catch(Y){return(0,FB.writeAuthConfig)({}),null}}async function ig6(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 VB.VercelOidcTokenError(`Failed to refresh OIDC token: ${G.statusText}`);let W=await G.json();return MY0(W),W}function MY0(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 ag6(){let X=(0,lb.findRootDir)();if(!X)throw new VB.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let Y=GA.join(X,".vercel","project.json");if(!IF.existsSync(Y))throw new VB.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let Q=JSON.parse(IF.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 rg6(X,Y){let Q=(0,lb.getUserDataDir)();if(!Q)throw new VB.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let J=GA.join(Q,"com.vercel.token",`${Y}.json`),G=JSON.stringify(X);IF.mkdirSync(GA.dirname(J),{mode:504,recursive:!0}),IF.writeFileSync(J,G),IF.chmodSync(J,432);return}function og6(X){let Y=(0,lb.getUserDataDir)();if(!Y)throw new VB.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let Q=GA.join(Y,"com.vercel.token",`${X}.json`);if(!IF.existsSync(Q))return null;let J=JSON.parse(IF.readFileSync(Q,"utf8"));return MY0(J),J}function sg6(X){let Y=X.split(".");if(Y.length!==3)throw new VB.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 tg6(X){return X.exp*1000<Date.now()}});var wZ1=I((As4,LZ1)=>{var{defineProperty:AY0,getOwnPropertyDescriptor:eg6,getOwnPropertyNames:Xu6}=Object,Yu6=Object.prototype.hasOwnProperty,Qu6=(X,Y)=>{for(var Q in Y)AY0(X,Q,{get:Y[Q],enumerable:!0})},Ju6=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of Xu6(Y))if(!Yu6.call(X,G)&&G!==Q)AY0(X,G,{get:()=>Y[G],enumerable:!(J=eg6(Y,G))||J.enumerable})}return X},Gu6=(X)=>Ju6(AY0({},"__esModule",{value:!0}),X),OZ1={};Qu6(OZ1,{refreshToken:()=>Wu6});LZ1.exports=Gu6(OZ1);var PY0=YA(),RF=ub();async function Wu6(){let{projectId:X,teamId:Y}=(0,RF.findProjectInfo)(),Q=(0,RF.loadToken)(X);if(!Q||(0,RF.isExpired)((0,RF.getTokenPayload)(Q.token))){let J=await(0,RF.getVercelCliToken)();if(!J)throw new PY0.VercelOidcTokenError("Failed to refresh OIDC token: Log in to Vercel CLI and link your project with `vc link`");if(!X)throw new PY0.VercelOidcTokenError("Failed to refresh OIDC token: Try re-linking your project with `vc link`");if(Q=await(0,RF.getVercelOidcToken)(J,X,Y),!Q)throw new PY0.VercelOidcTokenError("Failed to refresh OIDC token");(0,RF.saveToken)(Q,X)}process.env.VERCEL_OIDC_TOKEN=Q.token;return}});var AZ1=I((Ts4,PZ1)=>{var{defineProperty:EY0,getOwnPropertyDescriptor:Zu6,getOwnPropertyNames:$u6}=Object,Ku6=Object.prototype.hasOwnProperty,Hu6=(X,Y)=>{for(var Q in Y)EY0(X,Q,{get:Y[Q],enumerable:!0})},Fu6=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of $u6(Y))if(!Ku6.call(X,G)&&G!==Q)EY0(X,G,{get:()=>Y[G],enumerable:!(J=Zu6(Y,G))||J.enumerable})}return X},Vu6=(X)=>Fu6(EY0({},"__esModule",{value:!0}),X),MZ1={};Hu6(MZ1,{getVercelOidcToken:()=>zu6,getVercelOidcTokenSync:()=>TY0});PZ1.exports=Vu6(MZ1);var qu6=zY0(),Uu6=YA();async function zu6(){let X="",Y;try{X=TY0()}catch(Q){Y=Q}try{let[{getTokenPayload:Q,isExpired:J},{refreshToken:G}]=await Promise.all([await Promise.resolve().then(() => E6(ub())),await Promise.resolve().then(() => E6(wZ1()))]);if(!X||J(Q(X)))await G(),X=TY0()}catch(Q){let J=Y instanceof Error?Y.message:"";if(Q instanceof Error)J=`${J}
|
|
272
|
+
`.execute(X)).rows[0]?.exists)await e6`CREATE ROLE ${e6.id(Q)} NOLOGIN`.execute(X);await e6`GRANT ${e6.id(Q)} TO CURRENT_USER`.execute(X),await e6`GRANT USAGE, CREATE ON SCHEMA ${e6.id(Y)} TO ${e6.id(Q)}`.execute(X),await e6`GRANT ALL ON ALL TABLES IN SCHEMA ${e6.id(Y)} TO ${e6.id(Q)}`.execute(X),await e6`GRANT ALL ON ALL SEQUENCES IN SCHEMA ${e6.id(Y)} TO ${e6.id(Q)}`.execute(X),await e6`ALTER DEFAULT PRIVILEGES IN SCHEMA ${e6.id(Y)} GRANT ALL ON TABLES TO ${e6.id(Q)}`.execute(X),await e6`ALTER DEFAULT PRIVILEGES IN SCHEMA ${e6.id(Y)} GRANT ALL ON SEQUENCES TO ${e6.id(Q)}`.execute(X),await e6`REVOKE ALL ON SCHEMA public FROM ${e6.id(Q)}`.execute(X)}async function eb6(X,Y,Q,J){try{return await X.transaction().execute(async(G)=>{return await e6`SET LOCAL ROLE ${e6.id(Q)}`.execute(G),await e6`SET LOCAL search_path TO ${e6.id(Y)}`.execute(G),await e6.raw(J).execute(G)})}catch(G){if(sb6(G))return await tb6(X,Y,Q),await X.transaction().execute(async(W)=>{return await e6`SET LOCAL ROLE ${e6.id(Q)}`.execute(W),await e6`SET LOCAL search_path TO ${e6.id(Y)}`.execute(W),await e6.raw(J).execute(W)});throw G}}var nb6,ab6,O51;var L51=p(()=>{a0();Z6();nb6=U.object({results:U.array(U.unknown()).optional(),success:U.boolean().optional()});ab6=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()});O51=t0({name:"DATABASES_RUN_SQL",description:"Run a SQL query against the database",inputSchema:ab6,outputSchema:U.object({result:U.array(nb6)}),handler:async(X,Y)=>{U1(Y),await Y.access.check();let Q=ib6(X.sql,X.params||[]);if(!Y.connectionId)throw Error("Connection context required for database access");let J=rb6(Y.connectionId),G=ob6(Y.connectionId);return{result:[{results:(await eb6(Y.db,J,G,Q)).rows,success:!0}]}}})});var w51,Yf6,M51;var oW=p(()=>{a0();Ob();w51=U.object({connectionId:U.string().optional().describe("Filter subscriptions by connection ID (optional)")}),Yf6=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)")}),M51=U.object({subscriptions:U.array(Yf6).describe("List of subscriptions")})});var JX0;var P51=p(()=>{Z6();oW();JX0=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:_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 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 GX0;var A51=p(()=>{Z6();oW();GX0=t0({name:"EVENT_SUBSCRIBE",description:"Subscribe to events of a specific type. The subscriber is automatically set to the caller's connection.",inputSchema:bP,outputSchema:fP,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 WX0;var T51=p(()=>{Z6();oW();WX0=t0({name:"EVENT_UNSUBSCRIBE",description:"Unsubscribe from events by removing a subscription.",inputSchema:gP,outputSchema:uP,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 ZX0;var E51=p(()=>{Z6();oW();ZX0=t0({name:"EVENT_CANCEL",description:"Cancel a recurring event to stop future deliveries. Only the publisher can cancel their own events.",inputSchema:mP,outputSchema:lP,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 $X0;var j51=p(()=>{Z6();oW();$X0=t0({name:"EVENT_ACK",description:"Acknowledge delivery of an event. Call after successfully processing an event received via ON_EVENTS with retryAfter.",inputSchema:dP,outputSchema:pP,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 KX0;var C51=p(()=>{Z6();oW();KX0=t0({name:"EVENT_SUBSCRIPTION_LIST",description:"List event subscriptions, optionally filtered by connection ID.",inputSchema:w51,outputSchema:M51,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 HX0;var I51=p(()=>{Z6();oW();HX0=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:hP,outputSchema:xP,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 R51=p(()=>{P51();A51();T51();E51();j51();C51();I51();oW()});var FX0,Jf6,U7,S51,k51;var WB=p(()=>{a0();FX0=U.enum(["inclusion","exclusion"]).describe("Tool selection mode: 'inclusion' = include selected (default), 'exclusion' = exclude selected"),Jf6=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.")}),U7=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:FX0.describe("Tool selection mode: 'inclusion' = include selected, 'exclusion' = exclude selected"),status:U.enum(["active","inactive"]).describe("Current status"),metadata:U.object({instructions:U.string().optional().describe("MCP server instructions")}).nullable().optional().describe("Additional metadata including MCP server instructions"),connections:U.array(Jf6).describe("Connections with their selected tools (behavior depends on tool_selection_mode)")}),S51=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:FX0.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"),metadata:U.object({instructions:U.string().optional().describe("MCP server instructions")}).nullable().optional().describe("Additional metadata including MCP server instructions"),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)")}),k51=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:FX0.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"),metadata:U.object({instructions:U.string().optional().describe("MCP server instructions")}).nullable().optional().describe("Additional metadata including MCP server instructions"),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 Gf6,Wf6,VX0;var v51=p(()=>{a0();Z6();WB();Gf6=U.object({data:S51.describe("Data for the new virtual MCP")}),Wf6=U.object({item:U7.describe("The created virtual MCP entity")}),VX0=t0({name:"COLLECTION_VIRTUAL_MCP_CREATE",description:"Create a new MCP virtual MCP in the organization",inputSchema:Gf6,outputSchema:Wf6,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=f8(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 Zf6(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 qK(X){return typeof X==="string"||typeof X==="number"}function qX0(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 $f6(X,Y){return X.connections.some((Q)=>Q.connection_id===Y)}function Tb(X,Y){if("conditions"in Y){let{operator:$,conditions:K}=Y;switch($){case"and":return K.every((H)=>Tb(X,H));case"or":return K.some((H)=>Tb(X,H));case"not":return!K.every((H)=>Tb(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 $f6(X,G)}let Z=qX0(X,W);switch(J){case"eq":return Z===G;case"gt":return qK(Z)&&qK(G)&&Z>G;case"gte":return qK(Z)&&qK(G)&&Z>=G;case"lt":return qK(Z)&&qK(G)&&Z<G;case"lte":return qK(Z)&&qK(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 $=Zf6(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 Kf6(X,Y){return[...X].sort((Q,J)=>{for(let G of Y){let W=G.field.join("."),Z=qX0(Q,W),$=qX0(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 Hf6,Ff6,UX0;var _51=p(()=>{x5();Z6();WB();Hf6=OF,Ff6=LF(U7),UX0=t0({name:"COLLECTION_VIRTUAL_MCP_LIST",description:"List all MCP virtual MCPs in the organization",inputSchema:Hf6,outputSchema:Ff6,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)=>Tb(V,X.where));if(X.orderBy&&X.orderBy.length>0)W=Kf6(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 Vf6,qf6,zX0;var y51=p(()=>{a0();Z6();WB();Vf6=U.object({id:U.string().describe("ID of the virtual MCP to retrieve")}),qf6=U.object({item:U7.nullable().describe("The retrieved virtual MCP, or null if not found")}),zX0=t0({name:"COLLECTION_VIRTUAL_MCP_GET",description:"Get an MCP virtual MCP by ID",inputSchema:Vf6,outputSchema:qf6,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 Uf6,zf6,BX0;var b51=p(()=>{a0();Z6();WB();Uf6=U.object({id:U.string().describe("ID of the virtual MCP to update"),data:k51.describe("Partial virtual MCP data to update")}),zf6=U.object({item:U7.describe("The updated virtual MCP entity")}),BX0=t0({name:"COLLECTION_VIRTUAL_MCP_UPDATE",description:"Update an MCP virtual MCP",inputSchema:Uf6,outputSchema:zf6,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=f8(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 Bf6,Df6,DX0;var f51=p(()=>{a0();Z6();WB();Bf6=U.object({id:U.string().describe("ID of the virtual MCP to delete")}),Df6=U.object({item:U7.describe("The deleted virtual MCP entity")}),DX0=t0({name:"COLLECTION_VIRTUAL_MCP_DELETE",description:"Delete an MCP virtual MCP",inputSchema:Bf6,outputSchema:Df6,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 h51=p(()=>{v51();_51();y51();b51();f51()});var Of6,NX0;var x51=p(()=>{Z6();a0();Of6=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")}),NX0=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(10).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(Of6).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 OX0;var g51=p(()=>{Z6();a0();OX0=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 u51=p(()=>{x51();g51()});var LX0;var m51=p(()=>{a0();Z6();LX0=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=f8(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 wX0;var l51=p(()=>{a0();Z6();wX0=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=f8(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 MX0;var d51=p(()=>{a0();Z6();MX0=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 PX0;var p51=p(()=>{a0();Z6();PX0=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 AX0;var c51=p(()=>{a0();Z6();AX0=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 nP;var TX0=p(()=>{a0();nP=U.object({title:U.string(),url:U.string(),icon:U.string()})});var EX0;var n51=p(()=>{a0();Z6();TX0();EX0=t0({name:"ORGANIZATION_SETTINGS_GET",description:"Get organization-level settings",inputSchema:U.object({}),outputSchema:U.object({organizationId:U.string(),sidebar_items:U.array(nP).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 jX0;var i51=p(()=>{a0();Z6();TX0();jX0=t0({name:"ORGANIZATION_SETTINGS_UPDATE",description:"Update organization-level settings",inputSchema:U.object({organizationId:U.string(),sidebar_items:U.array(nP).optional(),enabled_plugins:U.array(U.string()).optional()}),outputSchema:U.object({organizationId:U.string(),sidebar_items:U.array(nP).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 CX0;var a51=p(()=>{a0();Z6();CX0=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 IX0;var r51=p(()=>{a0();Z6();IX0=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 RX0;var o51=p(()=>{a0();Z6();RX0=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 SX0;var s51=p(()=>{a0();Z6();SX0=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 t51=p(()=>{m51();l51();d51();p51();c51();n51();i51();a51();r51();o51();s51()});var e51,z7,XG1,YG1;var wF=p(()=>{a0();e51=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")}),z7=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")}),XG1=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")}),YG1=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 Mf6,Pf6,kX0;var QG1=p(()=>{a0();Z6();wF();cW();Mf6=U.object({data:XG1.describe("Data for the new thread (id is auto-generated if not provided)")}),Pf6=U.object({item:z7.describe("The created thread entity")}),kX0=t0({name:"COLLECTION_THREADS_CREATE",description:"Create a new thread in the organization",inputSchema:Mf6,outputSchema:Pf6,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=f8(Y);if(!J)throw Error("User ID required to create thread");let G=X.data.id??t8("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 Af6,Tf6,vX0;var JG1=p(()=>{x5();Z6();wF();a0();Af6=OF.extend({where:U.object({created_by:U.string().optional()}).optional()}),Tf6=LF(z7),vX0=t0({name:"COLLECTION_THREADS_LIST",description:"List all threads in the organization with filtering, sorting, and pagination",inputSchema:Af6,outputSchema:Tf6,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 Ef6,_X0;var GG1=p(()=>{x5();Z6();wF();Ef6=SP(z7),_X0=t0({name:"COLLECTION_THREADS_GET",description:"Get thread details by ID",inputSchema:RP,outputSchema:Ef6,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 jf6,Cf6,yX0;var WG1=p(()=>{a0();Z6();wF();jf6=U.object({id:U.string().describe("ID of the thread to update"),data:YG1.describe("Partial thread data to update")}),Cf6=U.object({item:z7.describe("The updated thread entity")}),yX0=t0({name:"COLLECTION_THREADS_UPDATE",description:"Update an existing thread in the organization",inputSchema:jf6,outputSchema:Cf6,handler:async(X,Y)=>{U1(Y);let Q=_1(Y);await Y.access.check();let J=f8(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 bX0;var ZG1=p(()=>{x5();Z6();wF();bX0=t0({name:"COLLECTION_THREADS_DELETE",description:"Delete a thread",inputSchema:kP,outputSchema:vP(z7),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 If6,Rf6,fX0;var $G1=p(()=>{a0();Z6();wF();If6=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")}),Rf6=U.object({items:U.array(e51).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")}),fX0=t0({name:"COLLECTION_THREAD_MESSAGES_LIST",description:"List all messages for a specific thread",inputSchema:If6,outputSchema:Rf6,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 KG1=p(()=>{QG1();JG1();GG1();WG1();ZG1();$G1()});var kf6,vf6,hX0;var HG1=p(()=>{a0();Z6();kf6=U.object({id:U.string().min(1)}),vf6=U.object({user:U.object({id:U.string(),name:U.string(),email:U.string(),image:U.string().nullable()}).nullable()}),hX0=t0({name:"USER_GET",description:"Get a user by id (restricted to shared organizations)",inputSchema:kf6,outputSchema:vf6,handler:async(X,Y)=>{await Y.access.check(),U1(Y);let Q=f8(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 FG1=p(()=>{HG1()});var qG1={};A8(qG1,{managementMCP:()=>xX0,ALL_TOOLS:()=>VG1});var VG1,xX0=(X)=>{let Y=VG1.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 AQ1({name:"mcp-mesh-management",version:"1.0.0"}).withTools(Y).build()};var gX0=p(()=>{TQ1();xQ1();RJ1();B51();L51();R51();h51();u51();t51();KG1();FG1();VG1=[LX0,wX0,MX0,PX0,AX0,EX0,jX0,CX0,IX0,RX0,SX0,d80,o80,s80,XX0,YX0,QX0,VX0,UX0,zX0,BX0,DX0,O51,NX0,OX0,N80,L80,w80,O80,JX0,GX0,WX0,ZX0,$X0,KX0,HX0,hX0,u80,m80,l80,kX0,vX0,_X0,yX0,bX0,fX0]});var zY0=I((Ns4,aW1)=>{var{defineProperty:UY0,getOwnPropertyDescriptor:nx6,getOwnPropertyNames:ix6}=Object,ax6=Object.prototype.hasOwnProperty,rx6=(X,Y)=>{for(var Q in Y)UY0(X,Q,{get:Y[Q],enumerable:!0})},ox6=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of ix6(Y))if(!ax6.call(X,G)&&G!==Q)UY0(X,G,{get:()=>Y[G],enumerable:!(J=nx6(Y,G))||J.enumerable})}return X},sx6=(X)=>ox6(UY0({},"__esModule",{value:!0}),X),nW1={};rx6(nW1,{SYMBOL_FOR_REQ_CONTEXT:()=>iW1,getContext:()=>tx6});aW1.exports=sx6(nW1);var iW1=Symbol.for("@vercel/request-context");function tx6(){return globalThis[iW1]?.get?.()??{}}});var YA=I((Os4,sW1)=>{var{defineProperty:BY0,getOwnPropertyDescriptor:ex6,getOwnPropertyNames:Xg6}=Object,Yg6=Object.prototype.hasOwnProperty,Qg6=(X,Y)=>{for(var Q in Y)BY0(X,Q,{get:Y[Q],enumerable:!0})},Jg6=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of Xg6(Y))if(!Yg6.call(X,G)&&G!==Q)BY0(X,G,{get:()=>Y[G],enumerable:!(J=ex6(Y,G))||J.enumerable})}return X},Gg6=(X)=>Jg6(BY0({},"__esModule",{value:!0}),X),rW1={};Qg6(rW1,{VercelOidcTokenError:()=>oW1});sW1.exports=Gg6(rW1);class oW1 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 YZ1=I((Ls4,XZ1)=>{var{create:Wg6,defineProperty:xb,getOwnPropertyDescriptor:Zg6,getOwnPropertyNames:$g6,getPrototypeOf:Kg6}=Object,Hg6=Object.prototype.hasOwnProperty,Fg6=(X,Y)=>{for(var Q in Y)xb(X,Q,{get:Y[Q],enumerable:!0})},tW1=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of $g6(Y))if(!Hg6.call(X,G)&&G!==Q)xb(X,G,{get:()=>Y[G],enumerable:!(J=Zg6(Y,G))||J.enumerable})}return X},NY0=(X,Y,Q)=>(Q=X!=null?Wg6(Kg6(X)):{},tW1(Y||!X||!X.__esModule?xb(Q,"default",{value:X,enumerable:!0}):Q,X)),Vg6=(X)=>tW1(xb({},"__esModule",{value:!0}),X),eW1={};Fg6(eW1,{findRootDir:()=>zg6,getUserDataDir:()=>Bg6});XZ1.exports=Vg6(eW1);var QA=NY0(z0("path")),qg6=NY0(z0("fs")),DY0=NY0(z0("os")),Ug6=YA();function zg6(){try{let X=process.cwd();while(X!==QA.default.dirname(X)){let Y=QA.default.join(X,".vercel");if(qg6.default.existsSync(Y))return X;X=QA.default.dirname(X)}}catch(X){throw new Ug6.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}function Bg6(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(DY0.default.platform()){case"darwin":return QA.default.join(DY0.default.homedir(),"Library/Application Support");case"linux":return QA.default.join(DY0.default.homedir(),".local/share");case"win32":if(process.env.LOCALAPPDATA)return process.env.LOCALAPPDATA;return null;default:return null}}});var KZ1=I((ws4,$Z1)=>{var{create:Dg6,defineProperty:gb,getOwnPropertyDescriptor:Ng6,getOwnPropertyNames:Og6,getPrototypeOf:Lg6}=Object,wg6=Object.prototype.hasOwnProperty,Mg6=(X,Y)=>{for(var Q in Y)gb(X,Q,{get:Y[Q],enumerable:!0})},QZ1=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of Og6(Y))if(!wg6.call(X,G)&&G!==Q)gb(X,G,{get:()=>Y[G],enumerable:!(J=Ng6(Y,G))||J.enumerable})}return X},JZ1=(X,Y,Q)=>(Q=X!=null?Dg6(Lg6(X)):{},QZ1(Y||!X||!X.__esModule?gb(Q,"default",{value:X,enumerable:!0}):Q,X)),Pg6=(X)=>QZ1(gb({},"__esModule",{value:!0}),X),GZ1={};Mg6(GZ1,{isValidAccessToken:()=>jg6,readAuthConfig:()=>Tg6,writeAuthConfig:()=>Eg6});$Z1.exports=Pg6(GZ1);var JA=JZ1(z0("fs")),WZ1=JZ1(z0("path")),Ag6=ub();function ZZ1(){let X=(0,Ag6.getVercelDataDir)();if(!X)throw Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return WZ1.join(X,"auth.json")}function Tg6(){try{let X=ZZ1();if(!JA.existsSync(X))return null;let Y=JA.readFileSync(X,"utf8");if(!Y)return null;return JSON.parse(Y)}catch(X){return null}}function Eg6(X){let Y=ZZ1(),Q=WZ1.dirname(Y);if(!JA.existsSync(Q))JA.mkdirSync(Q,{mode:504,recursive:!0});JA.writeFileSync(Y,JSON.stringify(X,null,2),{mode:384})}function jg6(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 qZ1=I((Ms4,VZ1)=>{var{defineProperty:wY0,getOwnPropertyDescriptor:Cg6,getOwnPropertyNames:Ig6}=Object,Rg6=Object.prototype.hasOwnProperty,Sg6=(X,Y)=>{for(var Q in Y)wY0(X,Q,{get:Y[Q],enumerable:!0})},kg6=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of Ig6(Y))if(!Rg6.call(X,G)&&G!==Q)wY0(X,G,{get:()=>Y[G],enumerable:!(J=Cg6(Y,G))||J.enumerable})}return X},vg6=(X)=>kg6(wY0({},"__esModule",{value:!0}),X),HZ1={};Sg6(HZ1,{processTokenResponse:()=>hg6,refreshTokenRequest:()=>fg6});VZ1.exports=vg6(HZ1);var OY0=z0("os"),_g6="https://vercel.com",yg6="cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",FZ1=`@vercel/oidc node-${process.version} ${(0,OY0.platform)()} (${(0,OY0.arch)()}) ${(0,OY0.hostname)()}`,LY0=null;async function bg6(){if(LY0)return LY0;let X=`${_g6}/.well-known/openid-configuration`,Y=await fetch(X,{headers:{"user-agent":FZ1}});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 LY0=J,J}async function fg6(X){let Y=await bg6();return await fetch(Y,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":FZ1},body:new URLSearchParams({client_id:yg6,grant_type:"refresh_token",...X})})}async function hg6(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 ub=I((Ps4,NZ1)=>{var{create:xg6,defineProperty:mb,getOwnPropertyDescriptor:gg6,getOwnPropertyNames:ug6,getPrototypeOf:mg6}=Object,lg6=Object.prototype.hasOwnProperty,dg6=(X,Y)=>{for(var Q in Y)mb(X,Q,{get:Y[Q],enumerable:!0})},zZ1=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of ug6(Y))if(!lg6.call(X,G)&&G!==Q)mb(X,G,{get:()=>Y[G],enumerable:!(J=gg6(Y,G))||J.enumerable})}return X},BZ1=(X,Y,Q)=>(Q=X!=null?xg6(mg6(X)):{},zZ1(Y||!X||!X.__esModule?mb(Q,"default",{value:X,enumerable:!0}):Q,X)),pg6=(X)=>zZ1(mb({},"__esModule",{value:!0}),X),DZ1={};dg6(DZ1,{assertVercelOidcTokenResponse:()=>MY0,findProjectInfo:()=>ag6,getTokenPayload:()=>sg6,getVercelCliToken:()=>ng6,getVercelDataDir:()=>cg6,getVercelOidcToken:()=>ig6,isExpired:()=>tg6,loadToken:()=>og6,saveToken:()=>rg6});NZ1.exports=pg6(DZ1);var GA=BZ1(z0("path")),IF=BZ1(z0("fs")),VB=YA(),lb=YZ1(),FB=KZ1(),UZ1=qZ1();function cg6(){let Y=(0,lb.getUserDataDir)();if(!Y)return null;return GA.join(Y,"com.vercel.cli")}async function ng6(){let X=(0,FB.readAuthConfig)();if(!X)return null;if((0,FB.isValidAccessToken)(X))return X.token||null;if(!X.refreshToken)return(0,FB.writeAuthConfig)({}),null;try{let Y=await(0,UZ1.refreshTokenRequest)({refresh_token:X.refreshToken}),[Q,J]=await(0,UZ1.processTokenResponse)(Y);if(Q||!J)return(0,FB.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,FB.writeAuthConfig)(G),G.token??null}catch(Y){return(0,FB.writeAuthConfig)({}),null}}async function ig6(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 VB.VercelOidcTokenError(`Failed to refresh OIDC token: ${G.statusText}`);let W=await G.json();return MY0(W),W}function MY0(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 ag6(){let X=(0,lb.findRootDir)();if(!X)throw new VB.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let Y=GA.join(X,".vercel","project.json");if(!IF.existsSync(Y))throw new VB.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let Q=JSON.parse(IF.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 rg6(X,Y){let Q=(0,lb.getUserDataDir)();if(!Q)throw new VB.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let J=GA.join(Q,"com.vercel.token",`${Y}.json`),G=JSON.stringify(X);IF.mkdirSync(GA.dirname(J),{mode:504,recursive:!0}),IF.writeFileSync(J,G),IF.chmodSync(J,432);return}function og6(X){let Y=(0,lb.getUserDataDir)();if(!Y)throw new VB.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let Q=GA.join(Y,"com.vercel.token",`${X}.json`);if(!IF.existsSync(Q))return null;let J=JSON.parse(IF.readFileSync(Q,"utf8"));return MY0(J),J}function sg6(X){let Y=X.split(".");if(Y.length!==3)throw new VB.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 tg6(X){return X.exp*1000<Date.now()}});var wZ1=I((As4,LZ1)=>{var{defineProperty:AY0,getOwnPropertyDescriptor:eg6,getOwnPropertyNames:Xu6}=Object,Yu6=Object.prototype.hasOwnProperty,Qu6=(X,Y)=>{for(var Q in Y)AY0(X,Q,{get:Y[Q],enumerable:!0})},Ju6=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of Xu6(Y))if(!Yu6.call(X,G)&&G!==Q)AY0(X,G,{get:()=>Y[G],enumerable:!(J=eg6(Y,G))||J.enumerable})}return X},Gu6=(X)=>Ju6(AY0({},"__esModule",{value:!0}),X),OZ1={};Qu6(OZ1,{refreshToken:()=>Wu6});LZ1.exports=Gu6(OZ1);var PY0=YA(),RF=ub();async function Wu6(){let{projectId:X,teamId:Y}=(0,RF.findProjectInfo)(),Q=(0,RF.loadToken)(X);if(!Q||(0,RF.isExpired)((0,RF.getTokenPayload)(Q.token))){let J=await(0,RF.getVercelCliToken)();if(!J)throw new PY0.VercelOidcTokenError("Failed to refresh OIDC token: Log in to Vercel CLI and link your project with `vc link`");if(!X)throw new PY0.VercelOidcTokenError("Failed to refresh OIDC token: Try re-linking your project with `vc link`");if(Q=await(0,RF.getVercelOidcToken)(J,X,Y),!Q)throw new PY0.VercelOidcTokenError("Failed to refresh OIDC token");(0,RF.saveToken)(Q,X)}process.env.VERCEL_OIDC_TOKEN=Q.token;return}});var AZ1=I((Ts4,PZ1)=>{var{defineProperty:EY0,getOwnPropertyDescriptor:Zu6,getOwnPropertyNames:$u6}=Object,Ku6=Object.prototype.hasOwnProperty,Hu6=(X,Y)=>{for(var Q in Y)EY0(X,Q,{get:Y[Q],enumerable:!0})},Fu6=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of $u6(Y))if(!Ku6.call(X,G)&&G!==Q)EY0(X,G,{get:()=>Y[G],enumerable:!(J=Zu6(Y,G))||J.enumerable})}return X},Vu6=(X)=>Fu6(EY0({},"__esModule",{value:!0}),X),MZ1={};Hu6(MZ1,{getVercelOidcToken:()=>zu6,getVercelOidcTokenSync:()=>TY0});PZ1.exports=Vu6(MZ1);var qu6=zY0(),Uu6=YA();async function zu6(){let X="",Y;try{X=TY0()}catch(Q){Y=Q}try{let[{getTokenPayload:Q,isExpired:J},{refreshToken:G}]=await Promise.all([await Promise.resolve().then(() => E6(ub())),await Promise.resolve().then(() => E6(wZ1()))]);if(!X||J(Q(X)))await G(),X=TY0()}catch(Q){let J=Y instanceof Error?Y.message:"";if(Q instanceof Error)J=`${J}
|
|
273
273
|
${Q.message}`;if(J)throw new Uu6.VercelOidcTokenError(J);throw Q}return X}function TY0(){let X=(0,qu6.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 CY0=I((Es4,jZ1)=>{var{defineProperty:jY0,getOwnPropertyDescriptor:Bu6,getOwnPropertyNames:Du6}=Object,Nu6=Object.prototype.hasOwnProperty,Ou6=(X,Y)=>{for(var Q in Y)jY0(X,Q,{get:Y[Q],enumerable:!0})},Lu6=(X,Y,Q,J)=>{if(Y&&typeof Y==="object"||typeof Y==="function"){for(let G of Du6(Y))if(!Nu6.call(X,G)&&G!==Q)jY0(X,G,{get:()=>Y[G],enumerable:!(J=Bu6(Y,G))||J.enumerable})}return X},wu6=(X)=>Lu6(jY0({},"__esModule",{value:!0}),X),EZ1={};Ou6(EZ1,{getContext:()=>Mu6.getContext,getVercelOidcToken:()=>TZ1.getVercelOidcToken,getVercelOidcTokenSync:()=>TZ1.getVercelOidcTokenSync});jZ1.exports=wu6(EZ1);var TZ1=AZ1(),Mu6=zY0()});var Pj=E6(K1(),1),Yy0=E6(n_0(),1),Qy0=E6(Ud(),1),Jy0=E6(ml(),1),zd=new Qy0.PrometheusExporter({preventServerStart:!0}),As1=new Yy0.NodeSDK({serviceName:"mcp-mesh",traceExporter:new Jy0.OTLPTraceExporter({url:process.env.OTEL_EXPORTER_OTLP_TRACES_ENDPOINT||process.env.OTEL_EXPORTER_OTLP_ENDPOINT||"http://localhost:4318/v1/traces"}),metricReader:zd});As1.start();var HN=Pj.trace.getTracer("mcp-mesh","1.0.0"),Aj=Pj.metrics.getMeter("mcp-mesh","1.0.0");var CZ=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 Gy0=["connection","keep-alive","proxy-authenticate","proxy-authorization","te","trailer","transfer-encoding","upgrade"],Ts1=/^[!#$%&'*+\-.0-9A-Z^_`a-z|~]+$/,Es1=(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)=>!Ts1.test(Z));if(W.length>0)throw new CZ(400,{message:`Invalid Connection header value: ${W.join(", ")}`});G.forEach((Z)=>{Q.delete(Z)})}}return Gy0.forEach((J)=>{Q.delete(J)}),{method:X.method,body:X.body,duplex:X.body?"half":void 0,headers:Q,signal:X.signal}},js1=(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},Wy0=async(X,Y)=>{let{raw:Q,customFetch:J,strictConnectionProcessing:G=!1,...W}=Y instanceof Request?{raw:Y}:Y??{},Z=new Request(X,{...Es1(Q,G),...js1(W)});Z.headers.delete("accept-encoding");let $=await(J||fetch)(Z),K=new Headers($.headers);if(Gy0.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 Zy0=(X)=>(Y)=>{let Q=new URL(Y.req.raw.url),J=new URL(X);return J.pathname=Q.pathname,J.search=Q.search,Wy0(J,{raw:Y.req.raw,headers:{...Y.req.raw.headers}})};import{resolve as FN,dirname as Cs1,join as Is1,extname as Rs1}from"path";var Ss1="http://localhost:4000",ks1="./dist/client";function vs1(X,Y){let Q=FN(Y),J=FN(X);return J===Q||J.startsWith(Q+"/")}function _s1({requestPath:X,clientDir:Y}){let Q=X.startsWith("/")?X.slice(1):X,J=FN(Y,Q);if(!vs1(J,Y))return null;return J}function $y0(X,Y="../client"){let Q=new URL(X),J=Cs1(Q.pathname);return FN(J,Y)}function Ky0(X={}){let{env:Y="production",devServerUrl:Q=Ss1,clientDir:J=ks1,isServerPath:G=()=>!1}=X;if(Y==="development"){let W=Zy0(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=_s1({requestPath:K,clientDir:J});if(!H)return null;let F=Is1(H,"index.html"),V=FN(J,"index.html"),q=Z.headers.get("accept"),D=q?.includes("text/html")||q?.includes("*/*")&&["",".html"].includes(Rs1(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 Hy0="https://api.decocms.com/mcp/registry";function Fy0(X){if(!X)return!1;try{return new URL(X).host==="api.decocms.com"&&X!=="https://api.decocms.com/mcp/registry"}catch{return!1}}gL();var DH1=E6(Ud(),1);var ko=(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 qd0=Symbol();var Ud0=async(X,Y=Object.create(null))=>{let{all:Q=!1,dot:J=!1}=Y,W=(X instanceof IS?X.raw.headers:X.headers).get("Content-Type");if(W?.startsWith("multipart/form-data")||W?.startsWith("application/x-www-form-urlencoded"))return b76(X,{all:Q,dot:J});return{}};async function b76(X,Y){let Q=await X.formData();if(Q)return f76(Q,Y);return{}}function f76(X,Y){let Q=Object.create(null);if(X.forEach((J,G)=>{if(!(Y.all||G.endsWith("[]")))Q[G]=J;else h76(Q,G,J)}),Y.dot)Object.entries(Q).forEach(([J,G])=>{if(J.includes("."))x76(Q,J,G),delete Q[J]});return Q}var h76=(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]},x76=(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 _o=(X)=>{let Y=X.split("/");if(Y[0]==="")Y.shift();return Y},zd0=(X)=>{let{groups:Y,path:Q}=g76(X),J=_o(Q);return u76(J,Y)},g76=(X)=>{let Y=[];return X=X.replace(/\{[^}]+\}/g,(Q,J)=>{let G=`@${J}`;return Y.push([G,Q]),G}),{groups:Y,path:X}},u76=(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},RS={},Bd0=(X,Y)=>{if(X==="*")return"*";let Q=X.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(Q){let J=`${X}#${Y}`;if(!RS[J])if(Q[2])RS[J]=Y&&Y[0]!==":"&&Y[0]!=="*"?[J,Q[1],new RegExp(`^${Q[2]}(?=/${Y})`)]:[X,Q[1],new RegExp(`^${Q[2]}$`)];else RS[J]=[X,Q[1],!0];return RS[J]}return null},sq=(X,Y)=>{try{return Y(X)}catch{return X.replace(/(?:%[0-9A-Fa-f]{2})+/g,(Q)=>{try{return Y(Q)}catch{return Q}})}},m76=(X)=>sq(X,decodeURI),yo=(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 m76(Z.includes("%25")?Z.replace(/%25/g,"%2525"):Z)}else if(G===63)break}return Y.slice(Q,J)};var Dd0=(X)=>{let Y=yo(X);return Y.length>1&&Y.at(-1)==="/"?Y.slice(0,-1):Y},Y3=(X,Y,...Q)=>{if(Q.length)Y=Y3(Y,...Q);return`${X?.[0]==="/"?"":"/"}${X}${Y==="/"?"":`${X?.at(-1)==="/"?"":"/"}${Y?.[0]==="/"?Y.slice(1):Y}`}`},SS=(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)},vo=(X)=>{if(!/[%+]/.test(X))return X;if(X.indexOf("+")!==-1)X=X.replace(/\+/g," ");return X.indexOf("%")!==-1?sq(X,uL):X},Nd0=(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 vo(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=vo(K);if(W=Z,K==="")continue;let H;if($===-1)H="";else if(H=X.slice($+1,Z===-1?void 0:Z),J)H=vo(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},Od0=Nd0,Ld0=(X,Y)=>{return Nd0(X,Y,!0)},uL=decodeURIComponent;var wd0=(X)=>sq(X,uL),IS=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)?wd0(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)?wd0(J):J}return X}#W(X){return this.#Y[1]?this.#Y[1][X]:X}query(X){return Od0(this.url,X)}queries(X){return Ld0(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 Ud0(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[qd0](){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 kS={Stringify:1,BeforeStream:2,Stream:3},l76=(X,Y)=>{let Q=new String(X);return Q.isEscaped=!0,Q.callbacks=Y,Q};var mL=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)=>mL(K,Y,!1,J,G))).then(()=>G[0]));if(Q)return l76(await Z,W);else return Z};var Md0="text/plain; charset=UTF-8",bo=(X,Y)=>{return{"Content-Type":X,...Y}},Pd0=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 IS(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,bo(Md0,Q))};json=(X,Y,Q)=>{return this.#F(JSON.stringify(X),Y,bo("application/json",Q))};html=(X,Y,Q)=>{let J=(G)=>this.#F(G,Y,bo("text/html; charset=UTF-8",Q));return typeof X==="object"?mL(X,kS.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 n4="ALL",Ad0="all",Td0=["get","post","put","delete","options","patch"],vS="Can not add a route since the matcher is already built.",_S=class extends Error{};var Ed0="__COMPOSED_HANDLER";var d76=(X)=>{return X.text("404 Not Found",404)},jd0=(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)},Cd0=class X{get;post;put;delete;options;patch;all;on;use;router;getPath;_basePath="/";#X="/";routes=[];constructor(Y={}){[...Td0,Ad0].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(n4,this.#X,$)}),this};let{strict:J,...G}=Y;Object.assign(this,G),this.getPath=J??!0?Y.getPath??yo:Dd0}#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=d76;errorHandler=jd0;route(Y,Q){let J=this.basePath(Y);return Q.routes.map((G)=>{let W;if(Q.errorHandler===jd0)W=G.handler;else W=async(Z,$)=>(await ko([],Q.errorHandler)(Z,()=>G.handler(Z,$))).res,W[Ed0]=G.handler;J.#J(G.method,G.path,W)}),this}basePath(Y){let Q=this.#Y();return Q._basePath=Y3(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=Y3(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(n4,Y3(Y,"*"),$),this}#J(Y,Q,J){Y=Y.toUpperCase(),Q=Y3(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 Pd0(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=ko(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${Y3("/",Y)}`,Q),J,G)};fire=()=>{addEventListener("fetch",(Y)=>{Y.respondWith(this.#G(Y.request,Y,void 0,Y.request.method))})}};var lL=[];function yS(X,Y){let Q=this.buildAllMatchers(),J=(G,W)=>{let Z=Q[G]||Q[n4],$=Z[2][W];if($)return $;let K=W.match(Z[0]);if(!K)return[[],lL];let H=K.indexOf("",1);return[Z[1][H],K]};return this.match=J,J(X,Y)}var bS="[^/]+",dL=".*",pL="(?:|/.*)",Q3=Symbol(),p76=new Set(".\\+*[^]$()");function c76(X,Y){if(X.length===1)return Y.length===1?X<Y?-1:1:-1;if(Y.length===1)return 1;if(X===dL||X===pL)return 1;else if(Y===dL||Y===pL)return-1;if(X===bS)return 1;else if(Y===bS)return-1;return X.length===Y.length?X<Y?-1:1:Y.length-X.length}var Id0=class X{#X;#Y;#Q=Object.create(null);insert(Y,Q,J,G,W){if(Y.length===0){if(this.#X!==void 0)throw Q3;if(W)return;this.#X=Q;return}let[Z,...$]=Y,K=Z==="*"?$.length===0?["","",dL]:["","",bS]:Z==="/*"?["","",pL]:Z.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/),H;if(K){let F=K[1],V=K[2]||bS;if(F&&K[2]){if(V===".*")throw Q3;if(V=V.replace(/^\((?!\?:)(?=[^)]+\)$)/,"(?:"),/\((?!\?:)/.test(V))throw Q3}if(H=this.#Q[V],!H){if(Object.keys(this.#Q).some((q)=>q!==dL&&q!==pL))throw Q3;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!==dL&&F!==pL))throw Q3;if(W)return;H=this.#Q[Z]=new X}H.insert($,Q,J,G,W)}buildRegExpStr(){let Q=Object.keys(this.#Q).sort(c76).map((J)=>{let G=this.#Q[J];return(typeof G.#Y==="number"?`(${J})@${G.#Y}`:p76.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 Rd0=class{#X={varIndex:0};#Y=new Id0;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 n76=[/^$/,[],Object.create(null)],Sd0=Object.create(null);function kd0(X){return Sd0[X]??=new RegExp(X==="*"?"":`^${X.replace(/\/\*$|([.\\+*[^\]$()])/g,(Y,Q)=>Q?`\\${Q}`:"(?:|/.*)")}$`)}function i76(){Sd0=Object.create(null)}function a76(X){let Y=new Rd0,Q=[];if(X.length===0)return n76;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)]),lL];else F++;let N;try{N=Y.insert(z,F,q)}catch(L){throw L===Q3?new _S(z):L}if(q)continue;Q[F]=D.map(([L,w])=>{let C=Object.create(null);w-=1;for(;w>=0;w--){let[T,A]=N[w];C[T]=A}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 tq(X,Y){if(!X)return;for(let Q of Object.keys(X).sort((J,G)=>G.length-J.length))if(kd0(Q).test(Y))return[...X[Q]];return}var fS=class{name="RegExpRouter";#X;#Y;constructor(){this.#X={[n4]:Object.create(null)},this.#Y={[n4]:Object.create(null)}}add(X,Y,Q){let J=this.#X,G=this.#Y;if(!J||!G)throw Error(vS);if(!J[X])[J,G].forEach(($)=>{$[X]=Object.create(null),Object.keys($[n4]).forEach((K)=>{$[X][K]=[...$[n4][K]]})});if(Y==="/*")Y="*";let W=(Y.match(/\/:/g)||[]).length;if(/\*$/.test(Y)){let $=kd0(Y);if(X===n4)Object.keys(J).forEach((K)=>{J[K][Y]||=tq(J[K],Y)||tq(J[n4],Y)||[]});else J[X][Y]||=tq(J[X],Y)||tq(J[n4],Y)||[];Object.keys(J).forEach((K)=>{if(X===n4||X===K)Object.keys(J[K]).forEach((H)=>{$.test(H)&&J[K][H].push([Q,W])})}),Object.keys(G).forEach((K)=>{if(X===n4||X===K)Object.keys(G[K]).forEach((H)=>$.test(H)&&G[K][H].push([Q,W]))});return}let Z=SS(Y)||[Y];for(let $=0,K=Z.length;$<K;$++){let H=Z[$];Object.keys(G).forEach((F)=>{if(X===n4||X===F)G[F][H]||=[...tq(J[F],H)||tq(J[n4],H)||[]],G[F][H].push([Q,W-K+$+1])})}}match=yS;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,i76(),X}#Q(X){let Y=[],Q=X===n4;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!==n4)Y.push(...Object.keys(J[n4]).map((W)=>[W,J[n4][W]]))}),!Q)return null;else return a76(Y)}};var r76=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[n4],W={};for(let Z in G[2])W[Z]=[G[2][Z][0].slice(),lL];this.#X[X]=[G[0],G[1].map((Z)=>Array.isArray(Z)?Z.slice():0),W]}if(Y==="/*"||Y==="*"){let G=[Q,{}];if(X===n4)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===n4)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=yS};var fo=class{name="SmartRouter";#X=[];#Y=[];constructor(X){this.#X=X.routers}add(X,Y,Q){if(!this.#Y)throw Error(vS);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 _S)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 cL=Object.create(null),vd0=class X{#X;#Y;#Q;#J=0;#W=cL;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=zd0(Q),Z=[];for(let $=0,K=W.length;$<K;$++){let H=W[$],F=W[$+1],V=Bd0(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[n4],F={};if(H!==void 0){if(H.params=Object.create(null),W.push(H),J!==cL||G&&G!==cL)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=cL;let W=[this],Z=_o(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 T=N.#Q[w],A=N.#W===cL?{}:{...N.#W};if(T==="*"){let y=N.#Y["*"];if(y)J.push(...this.#G(y,Y,N.#W)),y.#W=A,q.push(y);continue}let[P,j,R]=T;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(A[j]=y[0],J.push(...this.#G(k,Y,N.#W,A)),Object.keys(k.#Y).length){k.#W=A;let b=y[0].match(/\//)?.length??0;($[b]||=[]).push(k)}continue}}if(R===!0||R.test(F))if(A[j]=F,V){if(J.push(...this.#G(k,Y,A,N.#W)),k.#Y["*"])J.push(...this.#G(k.#Y["*"],Y,A,N.#W))}else k.#W=A,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 ho=class{name="TrieRouter";#X;constructor(){this.#X=new vd0}add(X,Y,Q){let J=SS(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 p8=class extends Cd0{constructor(X={}){super(X);this.router=X.router??new fo({routers:[new fS,new ho]})}};var o76=/^[\w!#$%&'*.^`|~+-]+$/,s76=/^[ !#-:<-[\]-~]*$/,xo=(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||!o76.test(Z))continue;let $=G.substring(W+1).trim();if($.startsWith('"')&&$.endsWith('"'))$=$.slice(1,-1);if(s76.test($)){if(J[Z]=$.indexOf("%")!==-1?sq($,uL):$,Y)break}}return J};var _d0=(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 xo(J,W)[W]}if(!J)return{};return xo(J)};var yd0=(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})}};function t76(){let{process:X,Deno:Y}=globalThis;return!(typeof Y?.noColor==="boolean"?Y.noColor:X!==void 0?"NO_COLOR"in X?.env:!1)}async function bd0(){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}})():!t76())}var e76=(X)=>{let[Y,Q]=[",","."];return X.map((G)=>G.replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1"+Y)).join(Q)},XW6=(X)=>{let Y=Date.now()-X;return e76([Y<1000?Y+"ms":Math.round(Y/1000)+"s"])},YW6=async(X)=>{if(await bd0())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 fd0(X,Y,Q,J,G=0,W){let Z=Y==="<--"?`${Y} ${Q} ${J}`:`${Y} ${Q} ${J} ${await YW6(G)} ${W}`;X(Z)}var hd0=(X=console.log)=>{return async function(Q,J){let{method:G,url:W}=Q.req,Z=W.slice(W.indexOf("/",8));await fd0(X,"<--",G,Z);let $=Date.now();await J(),await fd0(X,"-->",G,Z,Q.res.status,XW6($))}};var xd0=()=>{try{return performance.now()}catch{}return Date.now()},go=(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)eq(J,"total",Y.totalDescription);if(await G(),Y.total)J3(J,"total");if(Y.autoEnd)Z.forEach((K,H)=>J3(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:"*")}}},gd0=(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)}},eq=(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:xd0()})},J3=(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,$=xd0()-Z;gd0(X,Y,$,W,Q),J.timers.delete(Y)};var uo=[{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 nL(){let X={Organizations:[],Connections:[],"Virtual MCPs":[],Threads:[],Monitoring:[],Users:[],"API Keys":[],"Event Bus":[],"Code Execution":[]};for(let Y of uo)X[Y.category]?.push(Y);return X}var QW6=":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",JW6="[: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]["+QW6+"]*",GW6=new RegExp("^"+JW6+"$");function ud0(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 mo=function(X){let Y=GW6.exec(X);return!(Y===null||typeof Y>"u")};var WW6={allowBooleanAttributes:!1,unpairedTags:[]};function cd0(X,Y){Y=Object.assign({},WW6,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=ld0(X,W),W.err)return W}else if(X[W]==="<"){let Z=W;if(W++,X[W]==="!"){W=dd0(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(!UW6(K)){let V;if(K.trim().length===0)V="Invalid space after '<'.";else V="Tag '"+K+"' is an invalid name.";return c8("InvalidTag",V,W9(X,W))}let H=KW6(X,W);if(H===!1)return c8("InvalidAttr","Attributes for '"+K+"' have open quote.",W9(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=pd0(F,Y);if(q===!0)J=!0;else return c8(q.err.code,q.err.msg,W9(X,V+q.err.line))}else if($)if(!H.tagClosed)return c8("InvalidTag","Closing tag '"+K+"' doesn't have proper closing.",W9(X,W));else if(F.trim().length>0)return c8("InvalidTag","Closing tag '"+K+"' can't have attributes or invalid starting.",W9(X,Z));else if(Q.length===0)return c8("InvalidTag","Closing tag '"+K+"' has not been opened.",W9(X,Z));else{let V=Q.pop();if(K!==V.tagName){let q=W9(X,V.tagStartPos);return c8("InvalidTag","Expected closing tag '"+V.tagName+"' (opened in line "+q.line+", col "+q.col+") instead of closing tag '"+K+"'.",W9(X,Z))}if(Q.length==0)G=!0}else{let V=pd0(F,Y);if(V!==!0)return c8(V.err.code,V.err.msg,W9(X,W-F.length+V.err.line));if(G===!0)return c8("InvalidXml","Multiple possible root nodes found.",W9(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=dd0(X,W);continue}else if(X[W+1]==="?"){if(W=ld0(X,++W),W.err)return W}else break;else if(X[W]==="&"){let V=VW6(X,W);if(V==-1)return c8("InvalidChar","char '&' is not expected.",W9(X,W));W=V}else if(G===!0&&!md0(X[W]))return c8("InvalidXml","Extra text at the end",W9(X,W));if(X[W]==="<")W--}}else{if(md0(X[W]))continue;return c8("InvalidChar","char '"+X[W]+"' is not expected.",W9(X,W))}if(!J)return c8("InvalidXml","Start tag expected.",1);else if(Q.length==1)return c8("InvalidTag","Unclosed tag '"+Q[0].tagName+"'.",W9(X,Q[0].tagStartPos));else if(Q.length>0)return c8("InvalidXml","Invalid '"+JSON.stringify(Q.map((W)=>W.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1});return!0}function md0(X){return X===" "||X==="\t"||X===`
|
|
275
275
|
`||X==="\r"}function ld0(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 c8("InvalidXml","XML declaration allowed only at the start of the document.",W9(X,Y));else if(X[Y]=="?"&&X[Y+1]==">"){Y++;break}else continue}return Y}function dd0(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 ZW6='"',$W6="'";function KW6(X,Y){let Q="",J="",G=!1;for(;Y<X.length;Y++){if(X[Y]===ZW6||X[Y]===$W6)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 HW6=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function pd0(X,Y){let Q=ud0(X,HW6),J={};for(let G=0;G<Q.length;G++){if(Q[G][1].length===0)return c8("InvalidAttr","Attribute '"+Q[G][2]+"' has no space in starting.",iL(Q[G]));else if(Q[G][3]!==void 0&&Q[G][4]===void 0)return c8("InvalidAttr","Attribute '"+Q[G][2]+"' is without value.",iL(Q[G]));else if(Q[G][3]===void 0&&!Y.allowBooleanAttributes)return c8("InvalidAttr","boolean attribute '"+Q[G][2]+"' is not allowed.",iL(Q[G]));let W=Q[G][2];if(!qW6(W))return c8("InvalidAttr","Attribute '"+W+"' is an invalid name.",iL(Q[G]));if(!J.hasOwnProperty(W))J[W]=1;else return c8("InvalidAttr","Attribute '"+W+"' is repeated.",iL(Q[G]))}return!0}function FW6(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 VW6(X,Y){if(Y++,X[Y]===";")return-1;if(X[Y]==="#")return Y++,FW6(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 c8(X,Y,Q){return{err:{code:X,msg:Y,line:Q.line||Q,col:Q.col}}}function qW6(X){return mo(X)}function UW6(X){return mo(X)}function W9(X,Y){let Q=X.substring(0,Y).split(/\r?\n/);return{line:Q.length,col:Q[Q.length-1].length+1}}function iL(X){return X.startIndex+X[1].length}var nd0={validate:cd0};var uY=E6(nt0(),1);h$();_5();h$();_5();w9();lX();var T8=(X,Y="ms")=>{return new Date(Date.now()+(Y==="sec"?X*1000:X))},I_=new WeakMap;function E11(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 R_(X,Y){if(!I_.has(X))I_.set(X,new Map);let Q=I_.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 I_.get(X).set(Y,J),J}function LY(X,Y){return{...E11(Y,{fields:R_(X,"user")}),id:Y.id}}function vW(X,Y){return E11(Y,{fields:R_(X,"session")})}function j11(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 i("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 i("BAD_REQUEST",{message:`${W} is required`})}return G}function q10(X,Y={},Q){return j11(Y,{fields:R_(X,"user"),action:Q})}function C11(X,Y){return j11(Y,{fields:R_(X,"session")})}function QQ(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}JQ();a0();var oM6="127.0.0.1";function t$(X,Y){if(Y.advanced?.ipAddress?.disableIpTracking)return null;if(yW()||Oz())return oM6;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(sM6(Z))return Z}}return null}function sM6(X){if(xH().safeParse(X).success)return!0;if(gH().safeParse(X).success)return!0;return!1}M9();X7();JQ();a8();import{sql as J7}from"kysely";async function JP6(X,Y){let Q;if(!X.database){let J=_J(X),G=Object.keys(J).reduce((Z,$)=>{return Z[$]=[],Z},{}),{memoryAdapter:W}=await Promise.resolve().then(() => (k11(),S11));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 v11(X){return JP6(X,async(Y)=>{let{createKyselyAdapter:Q}=await Promise.resolve().then(() => (N10(),D10)),{kysely:J,databaseType:G,transaction:W}=await Q(Y);if(!J)throw new S1("Failed to initialize database adapter");let{kyselyAdapter:Z}=await Promise.resolve().then(() => (N10(),D10));return Z(J,{type:G||"sqlite",debugLogs:Y.database&&"debugLogs"in Y.database?Y.database.debugLogs:!1,transaction:W})(Y)})}function GP6(X,Y){let Q=Y.hooks;async function J(K,H,F){let V=await _Q(),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 _Q(),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 _Q(),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 _Q(),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 _Q(),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 O10=(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}=GP6(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 T=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(T))}))}return{createOAuthUser:async(q,z)=>{return AM(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 T=await G.get(C.token);if(T){let A=E4(T);if(!A)return[];let P=vW(Y.options,{...A.session,expiresAt:new Date(A.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 _Q().catch(()=>null),w=L?.headers||L?.request?.headers,{id:C,...T}=D||{},A=C11(L?.context.options??J,{}),P={ipAddress:L?.request||L?.headers?t$(L?.request||L?.headers,L?.context.options)||"":"",userAgent:w?.get("user-agent")||"",...T,expiresAt:z?T8(86400,"sec"):T8(W,"sec"),userId:q,token:$X(32),createdAt:new Date,updatedAt:new Date,...A,...N?T:{}};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((f)=>f.expiresAt>_);let y=k.sort((f,t)=>f.expiresAt-t.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:vW(Y.options,{...w.session,expiresAt:new Date(w.session.expiresAt),createdAt:new Date(w.session.createdAt),updatedAt:new Date(w.session.updatedAt)}),user:LY(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:vW(Y.options,N),user:LY(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(),T=w.filter((P)=>P.expiresAt>C&&P.token!==q),A=T.sort((P,j)=>P.expiresAt-j.expiresAt).at(-1)?.expiresAt;if(T.length>0&&A&&A>Date.now())await G.set(`active-sessions-${N}`,JSON.stringify(T),Math.floor((A-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 WP6(X){let Y=_J(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 ZP6={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 $P6(X,Y,Q){function J(W){return W.toLowerCase().split("(")[0].trim()}if(Y==="string[]"||Y==="number[]")return X.toLowerCase().includes("json");let G=ZP6[Q];return(Array.isArray(Y)?G.string.map((W)=>W.toLowerCase()):G[Y].map((W)=>W.toLowerCase())).includes(J(X))}async function KP6(X){try{let Y=await J7`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 _11(X){let Y=WP6(X),Q=wz(X.logger),{kysely:J,databaseType:G}=await mv(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 KP6(J),Q.debug(`PostgreSQL migration: Using schema '${W}' (from search_path)`);try{if(!(await J7`
|