@decocms/mesh 2.14.0 → 2.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/dist/client/assets/{AlertCircle-DeHvJZzp.js → AlertCircle-CMyS46jH.js} +1 -1
  2. package/dist/client/assets/{ArrowLeft-Dan_IIKP.js → ArrowLeft-Dsh9IWd-.js} +1 -1
  3. package/dist/client/assets/{ArrowUp-B2eKsIZo.js → ArrowUp-CXsDJznS.js} +1 -1
  4. package/dist/client/assets/{Check-VfxUlV5P.js → Check-BEhtk6Py.js} +1 -1
  5. package/dist/client/assets/{ChevronDown-OK90XtVB.js → ChevronDown-BRxtl0-A.js} +1 -1
  6. package/dist/client/assets/{Clock-CRgmR_1n.js → Clock-BSrN61cb.js} +1 -1
  7. package/dist/client/assets/{Code01-B9DNMb5j.js → Code01-Bu5zpyWd.js} +1 -1
  8. package/dist/client/assets/{Copy01-dbjgqDL6.js → Copy01-B7vmVdHF.js} +1 -1
  9. package/dist/client/assets/{DotsHorizontal-BpvBcoMa.js → DotsHorizontal-B0iNa4YA.js} +1 -1
  10. package/dist/client/assets/{DotsVertical-XnGZcIeo.js → DotsVertical-CdUtOOoG.js} +1 -1
  11. package/dist/client/assets/{Download01-C8jw9jFZ.js → Download01-D1VGE3pA.js} +1 -1
  12. package/dist/client/assets/{Edit01-Ddbn6DsS.js → Edit01-CGqnOdlK.js} +1 -1
  13. package/dist/client/assets/{File06-DCHrHfbn.js → File06-De52zO32.js} +1 -1
  14. package/dist/client/assets/{FilterLines-BzWlfPby.js → FilterLines-ClFUJXZP.js} +1 -1
  15. package/dist/client/assets/{FlipBackward-Bum_Ktlp.js → FlipBackward-B4GimHkg.js} +1 -1
  16. package/dist/client/assets/{GitBranch01-CVAiK8ZD.js → GitBranch01-B40VcD0l.js} +1 -1
  17. package/dist/client/assets/{Grid01-AMlhaaWH.js → Grid01-CoHgfBeE.js} +1 -1
  18. package/dist/client/assets/{Home02-CnvrJTir.js → Home02-Dax6TXzJ.js} +1 -1
  19. package/dist/client/assets/{Image01-Bch9iOev.js → Image01-D_Oad7Fi.js} +1 -1
  20. package/dist/client/assets/{Inbox01-y9RgqkXP.js → Inbox01-DU8gyK-F.js} +1 -1
  21. package/dist/client/assets/{InfoCircle-HrYndWCZ.js → InfoCircle-Na8jygcw.js} +1 -1
  22. package/dist/client/assets/{Key01-DS2WWoiQ.js → Key01-BbSMVBZS.js} +1 -1
  23. package/dist/client/assets/{LinkExternal01-DzBB4jwo.js → LinkExternal01-5OOaoko1.js} +1 -1
  24. package/dist/client/assets/{List-BDW462gC.js → List-BXC8ldIg.js} +1 -1
  25. package/dist/client/assets/{Loading01-OB_JRXd5.js → Loading01-DxDL3s7X.js} +1 -1
  26. package/dist/client/assets/{Lock01-B_KYH87b.js → Lock01-C1zaHQP8.js} +1 -1
  27. package/dist/client/assets/{Play-VfPQ9yON.js → Play-ClPvjsPL.js} +1 -1
  28. package/dist/client/assets/{Plus-CgcZFggs.js → Plus-WrA7kzKa.js} +1 -1
  29. package/dist/client/assets/{SearchMd-DRJ07Awx.js → SearchMd-JSFwoON0.js} +1 -1
  30. package/dist/client/assets/{Terminal-FTJQx4pc.js → Terminal-BtV_FLPF.js} +1 -1
  31. package/dist/client/assets/{Trash01-BDWyzvD2.js → Trash01-MX6mkM7g.js} +1 -1
  32. package/dist/client/assets/{Upload01-CB1SFmVO.js → Upload01-BGvogcXt.js} +1 -1
  33. package/dist/client/assets/{X-CVhiWYv-.js → X-q5bh176U.js} +1 -1
  34. package/dist/client/assets/{XClose-C895iFVX.js → XClose-D_dGSZ7W.js} +1 -1
  35. package/dist/client/assets/{alert-dialog-D9k51qgG.js → alert-dialog-ocEz50Se.js} +1 -1
  36. package/dist/client/assets/{auth-catchall-BDKZr3VK.js → auth-catchall-BJS8UgWt.js} +1 -1
  37. package/dist/client/assets/{avatar-BLmwViC3.js → avatar-Dtkx4Tl-.js} +1 -1
  38. package/dist/client/assets/{badge-CMZTNGZo.js → badge-BkSn2oaB.js} +1 -1
  39. package/dist/client/assets/{binder-Bcr51BHa.js → binder-BVHRVoIY.js} +1 -1
  40. package/dist/client/assets/{button-2azNqzUx.js → button-CICpj3wE.js} +1 -1
  41. package/dist/client/assets/{card-WAuUk8Uz.js → card-BMkFh6vi.js} +1 -1
  42. package/dist/client/assets/{checkbox-E6g3eWVz.js → checkbox-DTTIHxXg.js} +1 -1
  43. package/dist/client/assets/{collection-detail-DiFfTEhG.js → collection-detail-CDCE926k.js} +1 -1
  44. package/dist/client/assets/{collection-display-button-B3beugJ4.js → collection-display-button-3hmFOeDC.js} +1 -1
  45. package/dist/client/assets/{collection-header-MCgfYSgE.js → collection-header-B6vJy14N.js} +1 -1
  46. package/dist/client/assets/{collection-page-CB_Az4GO.js → collection-page-Dt6I6Mr4.js} +1 -1
  47. package/dist/client/assets/{collection-search-DL-7oL5d.js → collection-search-ClK_cOgs.js} +1 -1
  48. package/dist/client/assets/{collection-tab-C_pl92IS.js → collection-tab-D8CKnWEB.js} +1 -1
  49. package/dist/client/assets/{collection-table-wrapper-CAH6fKB1.js → collection-table-wrapper-CUsQQB3S.js} +1 -1
  50. package/dist/client/assets/{connection-CXC8d3Ae.js → connection-Mp3hTHGP.js} +1 -1
  51. package/dist/client/assets/{connection-card-BTOP5EHD.js → connection-card-Cm6sQJt-.js} +1 -1
  52. package/dist/client/assets/{connection-detail-BHduC6at.js → connection-detail-CS7YtOxG.js} +1 -1
  53. package/dist/client/assets/{connections-Cm-7oBJu.js → connections-BXBUh1-5.js} +1 -1
  54. package/dist/client/assets/constants-DsV2FGIq.js +1 -0
  55. package/dist/client/assets/{create-organization-dialog-MS4oQ7Sl.js → create-organization-dialog-Kd2yuwpA.js} +1 -1
  56. package/dist/client/assets/{dialog-DSU0GEtE.js → dialog-CuzZhGeu.js} +1 -1
  57. package/dist/client/assets/{dropdown-menu-DRkETp4T.js → dropdown-menu-D1uHrxpy.js} +1 -1
  58. package/dist/client/assets/{dynamic-plugin-layout-CXggkl7m.js → dynamic-plugin-layout-BWtm_52W.js} +1 -1
  59. package/dist/client/assets/{empty-state-C3NzxCFI.js → empty-state-B8LlErgw.js} +1 -1
  60. package/dist/client/assets/{empty-state-DKa1iDdq.js → empty-state-BhACvnGF.js} +1 -1
  61. package/dist/client/assets/{env-vars-editor-D54i65KN.js → env-vars-editor-BSBPtnyc.js} +1 -1
  62. package/dist/client/assets/{error-boundary-DU6_J5et.js → error-boundary-u4ffWLYf.js} +1 -1
  63. package/dist/client/assets/extract-connection-data-DSV8dsp9.js +1 -0
  64. package/dist/client/assets/{file-browser-B8xb3wGm.js → file-browser-CZ1PEthx.js} +2 -2
  65. package/dist/client/assets/{form-DM9msJYn.js → form-f0_t6ok_.js} +1 -1
  66. package/dist/client/assets/{gateway-detail-6QzPV4MT.js → gateway-detail-D4FxMVxj.js} +1 -1
  67. package/dist/client/assets/{gateways-DcbIYmOg.js → gateways-DjekxeB3.js} +1 -1
  68. package/dist/client/assets/{grid-view-DjeV3XAc.js → grid-view-BYe4Rwz4.js} +1 -1
  69. package/dist/client/assets/{home-BkFYrMbJ.js → home-C6GUJREk.js} +1 -1
  70. package/dist/client/assets/{index-C5xxIZ3a.js → index-BZk2eMPx.js} +3 -3
  71. package/dist/client/assets/{index-CYR9-1-4.js → index-BrOzWsZC.js} +1 -1
  72. package/dist/client/assets/index-CFMXrMRQ.js +25 -0
  73. package/dist/client/assets/{index-BQiKVu3k.js → index-DB3GMPX_.js} +1 -1
  74. package/dist/client/assets/{index-Dk3lubBQ.js → index-pvGhQBw9.js} +2 -2
  75. package/dist/client/assets/{infiniteQueryObserver-CUXkVkPG.js → infiniteQueryObserver-DjOTL7tS.js} +1 -1
  76. package/dist/client/assets/{input-CBrhxHNe.js → input-Chnnz9Uq.js} +1 -1
  77. package/dist/client/assets/{layout-MOaKucBL.js → layout-CE7L7dZF.js} +1 -1
  78. package/dist/client/assets/{lazy-highlighter-C2ClCxhY.js → lazy-highlighter-HM0cmsZA.js} +1 -1
  79. package/dist/client/assets/{localstorage-keys-BJk6gyyN.js → localstorage-keys-CdhAbc7P.js} +1 -1
  80. package/dist/client/assets/{login-RFCnTbJl.js → login-D-qtMr1_.js} +1 -1
  81. package/dist/client/assets/mcp-oauth-Bkju1UsK.js +1 -0
  82. package/dist/client/assets/{mcp-server-card-DYesFUUw.js → mcp-server-card-CsdbMsCj.js} +1 -1
  83. package/dist/client/assets/mcp-server-detail-BI6WT6NT.js +1 -0
  84. package/dist/client/assets/{members-wdr88rOm.js → members-DIF2fQ00.js} +1 -1
  85. package/dist/client/assets/{monaco-editor-B2ZJ-0S4.js → monaco-editor--HoIUuQe.js} +1 -1
  86. package/dist/client/assets/{monitoring-Cr82twHN.js → monitoring-Gwgg901f.js} +1 -1
  87. package/dist/client/assets/{oauth-callback-BddKzzFQ.js → oauth-callback-C8OVySGi.js} +1 -1
  88. package/dist/client/assets/{page-DhI0Qooi.js → page-BthOOB1S.js} +1 -1
  89. package/dist/client/assets/{page-D_NhUEfH.js → page-rpmGCt1t.js} +1 -1
  90. package/dist/client/assets/{pin-to-sidebar-button-CVN6Bdsp.js → pin-to-sidebar-button--fqmK37a.js} +1 -1
  91. package/dist/client/assets/{plugin-empty-state-srmGKRQU.js → plugin-empty-state-BPlieumE.js} +1 -1
  92. package/dist/client/assets/{plugin-header-Dg9-cQAj.js → plugin-header-CcEHY2ra.js} +1 -1
  93. package/dist/client/assets/{plugins-Dawnh_sQ.js → plugins-BR7M1iih.js} +1 -1
  94. package/dist/client/assets/{popover-HE15ABOl.js → popover-Cq8T_QGa.js} +1 -1
  95. package/dist/client/assets/{project-context-provider-B1gr9e2f.js → project-context-provider-CUiGxKJp.js} +1 -1
  96. package/dist/client/assets/{registry-utils-COqteFH4.js → registry-utils-h9Ud__h7.js} +1 -1
  97. package/dist/client/assets/{resizable-B8j7Xubf.js → resizable-S6LzYu6C.js} +1 -1
  98. package/dist/client/assets/{resource-tabs-B1oXSRkv.js → resource-tabs-Blq_ajNW.js} +1 -1
  99. package/dist/client/assets/{select-DkAjMxeq.js → select-BOEg6aAK.js} +1 -1
  100. package/dist/client/assets/{settings-Clme5cH0.js → settings-C0Cv06sV.js} +1 -1
  101. package/dist/client/assets/{shell-layout-BuirxVot.js → shell-layout-BRSb3To9.js} +1 -1
  102. package/dist/client/assets/{spinner-Dwr2EFZD.js → spinner-BSgPnpsR.js} +1 -1
  103. package/dist/client/assets/{switch-C9XtHYD0.js → switch-CkVmNhCD.js} +1 -1
  104. package/dist/client/assets/{textarea-CyM57U4B.js → textarea-BgUJNVXI.js} +1 -1
  105. package/dist/client/assets/{thread-history-popover-DlGwptvV.js → thread-history-popover-SCaQRi-L.js} +2 -2
  106. package/dist/client/assets/{tool-set-selector-B9-4X5pd.js → tool-set-selector-BVPKiJOI.js} +1 -1
  107. package/dist/client/assets/{tools-list-DJqzZm19.js → tools-list-DsOacuX3.js} +1 -1
  108. package/dist/client/assets/{tooltip-DHS6wGWv.js → tooltip-DySBr2SY.js} +1 -1
  109. package/dist/client/assets/{use-binding-Cn24Ren1.js → use-binding-s4bqKdJA.js} +1 -1
  110. package/dist/client/assets/{use-collections-CbsNEj5T.js → use-collections-JQXbZBdV.js} +1 -1
  111. package/dist/client/assets/{use-connection-BhdfednN.js → use-connection-BF1UFzlw.js} +1 -1
  112. package/dist/client/assets/{use-connection-resources-D6kK3b1i.js → use-connection-resources-D5d-M6jn.js} +1 -1
  113. package/dist/client/assets/{use-create-gateway-dtd5LmVR.js → use-create-gateway-DLr-GNpv.js} +1 -1
  114. package/dist/client/assets/{use-gateway-Ck94EUZ3.js → use-gateway-B5GGqvj7.js} +1 -1
  115. package/dist/client/assets/{use-gateway-system-prompt-C9-1moLN.js → use-gateway-system-prompt-K6FCpGjs.js} +1 -1
  116. package/dist/client/assets/{use-list-state-CQtVDn-T.js → use-list-state-BkPjBg3I.js} +1 -1
  117. package/dist/client/assets/{use-mcp-C1X3fEnH.js → use-mcp-C-3NLCFo.js} +1 -1
  118. package/dist/client/assets/{use-members-Bh37cZiw.js → use-members-B9HW4lZd.js} +1 -1
  119. package/dist/client/assets/{use-mobile-CuBmA9jm.js → use-mobile-zhrv6Pzr.js} +1 -1
  120. package/dist/client/assets/{use-organization-settings-BNK4p5TK.js → use-organization-settings-DTSCQFPr.js} +1 -1
  121. package/dist/client/assets/{use-tool-call-DzBMga46.js → use-tool-call-BMUEJvVc.js} +1 -1
  122. package/dist/client/assets/useInfiniteQuery-qVzxuL4i.js +1 -0
  123. package/dist/client/assets/{useMutation-BEX5R6ly.js → useMutation-B64mCwly.js} +1 -1
  124. package/dist/client/assets/useQuery-Dr4r_H_i.js +1 -0
  125. package/dist/client/assets/{value-UH6V0tmj.js → value-DvmerOpY.js} +1 -1
  126. package/dist/client/assets/{view-mode-toggle-kdDPGpPT.js → view-mode-toggle-DXknlAX3.js} +1 -1
  127. package/dist/client/assets/{workflow-DgZwuETF.js → workflow-Bi0pfrEf.js} +1 -1
  128. package/dist/client/index.html +1 -1
  129. package/dist/server/cli.js +3 -3
  130. package/dist/server/server.js +2 -2
  131. package/package.json +1 -1
  132. package/dist/client/assets/constants-B-ATh8ff.js +0 -1
  133. package/dist/client/assets/extract-connection-data-Hjw19oaR.js +0 -1
  134. package/dist/client/assets/index-DUfEAj2z.js +0 -25
  135. package/dist/client/assets/mcp-oauth-CuMRVoyP.js +0 -1
  136. package/dist/client/assets/mcp-server-detail-CBjpnL21.js +0 -1
  137. package/dist/client/assets/useInfiniteQuery-B7UO0aOm.js +0 -1
  138. package/dist/client/assets/useQuery-BbeI5BfO.js +0 -1
@@ -1043,7 +1043,7 @@ ${Y.stack}`;return Q}try{let G=JSON.stringify(Y,null,2);if(G!=="{}"&&G.length<10
1043
1043
  Stack trace:
1044
1044
  ${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 gU(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=gU(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=gU(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=gU(X,K);$.resolve(H),H.dispose(),X.runtime.executePendingJobs()}catch(H){let F=xU(H),V=X.newString(`Promise resolution error: ${F}`);$.reject(V),V.dispose(),X.runtime.executePendingJobs()}}).catch((K)=>{let H=xU(K),F=X.newString(`Promise rejection: ${H}`);$.reject(F),F.dispose(),X.runtime.executePendingJobs()}),$.handle}return gU(X,Z)}catch(W){let Z=xU(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 Jv6=(X)=>new Promise((Y)=>setTimeout(Y,X));function NJ1(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 DJ1(X,Y,Q){let J=Date.now(),G=X.resolvePromise(Y);while(!0){NJ1(X);let W=await Promise.race([G,Jv6(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 R80({tools:X,code:Y,timeoutMs:Q}){let Z=[];try{let J=await BJ1({memoryLimitBytes:33554432,stackSizeBytes:524288});const G=Hb(Z,J.newContext({interruptAfterMs:Q}),0);const W=Hb(Z,dQ1(G),0);try{let F=G.evalCode(Y,"index.mjs",{strip:!0,strict:!0,type:"module"}),V=G.unwrapResult(F),q=gU(G,X);G.setProp(G.global,"tools",q);let z=G.runtime.hasPendingJob()?G.unwrapResult(await DJ1(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 DJ1(G,w,Q),E=G.unwrapResult(C);if(G.runtime.hasPendingJob())NJ1(G);return{returnValue:G.dump(E),consoleLogs:W.logs}}catch(F){return console.log(F),{error:xU(F),consoleLogs:W.logs}}}catch($){var K=$,H=1}finally{D90(Z,K,H)}}function Gv6(X){return X.toLowerCase().split(/[\s_\-./]+/).filter((Y)=>Y.length>=2)}function Wv6(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 Zv6(X,Y,Q){let J=Gv6(X);if(J.length===0)return Y.slice(0,Q);return Y.map((G)=>({tool:G,score:Wv6(J,G)})).filter((G)=>G.score>0).sort((G,W)=>W.score-G.score).slice(0,Q).map((G)=>G.tool)}function S80(X){return{content:[{type:"text",text:JSON.stringify(X,null,2)}]}}function MP(X){return{content:[{type:"text",text:JSON.stringify(X,null,2)}],isError:!0}}function OJ1(X){let Y=B.object({query:B.string().describe("Natural language search query (e.g., 'send email', 'create order')"),limit:B.number().default(10).describe("Maximum results to return (default: 10)")});return{tool:{name:"GATEWAY_SEARCH_TOOLS",description:`Search for available tools by name or description. Returns tool names and brief descriptions without full schemas.${X.categories.length>0?` Available categories: ${X.categories.join(", ")}.`:""} Total tools: ${X.tools.length}.`,inputSchema:B.toJSONSchema(Y)},handler:async(J)=>{let G=Y.safeParse(J);if(!G.success)return MP({error:G.error.flatten()});let W=Zv6(G.data.query,X.tools,G.data.limit);return S80({query:G.data.query,results:W.map((Z)=>({name:Z.name,description:Z.description,connection:Z._meta.connectionTitle})),totalAvailable:X.tools.length})}}}function LJ1(X){let Y=B.object({tools:B.array(B.string()).min(1).describe("Array of tool names to get detailed schemas for")});return{tool:{name:"GATEWAY_DESCRIBE_TOOLS",description:"Get detailed schemas for specific tools. Call after searching to get full input/output schemas.",inputSchema:B.toJSONSchema(Y)},handler:async(Q)=>{let J=Y.safeParse(Q);if(!J.success)return MP({error:J.error.flatten()});let G=new Map(X.tools.map((Z)=>[Z.name,Z])),W=J.data.tools.map((Z)=>G.get(Z)).filter((Z)=>Z!==void 0);return S80({tools:W.map((Z)=>({name:Z.name,description:Z.description,connection:Z._meta.connectionTitle,inputSchema:Z.inputSchema,outputSchema:Z.outputSchema})),notFound:J.data.tools.filter((Z)=>!G.has(Z))})}}}function $v6(X){let Y=X.tools.map((G)=>G.name),Q=new Map(X.tools.map((G)=>[G.name,G])),J=B.object({name:B.enum(Y).describe("The name of the tool to execute"),arguments:B.record(B.string(),B.unknown()).default({}).describe("Arguments to pass to the tool")});return{tool:{name:"GATEWAY_CALL_TOOL",description:"Execute a tool by name. Use GATEWAY_DESCRIBE_TOOLS first to understand the input schema.",inputSchema:B.toJSONSchema(J)},handler:async(G)=>{let W=J.safeParse(G);if(!W.success)return MP({error:W.error.flatten()});let{name:Z,arguments:$}=W.data;if(!Q.has(Z))return{content:[{type:"text",text:`Tool not found: ${Z}. Use GATEWAY_SEARCH_TOOLS to find available tools.`}],isError:!0};return X.callTool(Z,$)}}}function Kv6(X){let Y=B.object({code:B.string().min(1).describe("JavaScript code to execute. It runs as an async function body; you can use top-level `return` and `await`."),timeoutMs:B.number().default(3000).describe("Max execution time in milliseconds (default: 3000).")});return{tool:{name:"GATEWAY_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 GATEWAY_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:B.toJSONSchema(Y)},handler:async(Q)=>{let J=Y.safeParse(Q);if(!J.success)return MP({error:J.error.flatten()});let G=Object.fromEntries(X.tools.map((Z)=>[Z.name,async($)=>X.callTool(Z.name,$??{})])),W=await R80({...J.data,tools:G});if(W.error)return MP(W);return S80(W)}}}function wJ1(X){let Y=new Map(X.map((J)=>[J.tool.name,J.handler])),Q=X.map((J)=>J.tool.name);return{tools:X.map((J)=>J.tool),callTool:async(J,G)=>{let W=Y.get(J);if(!W)return{content:[{type:"text",text:`Unknown meta-tool: ${J}. Available: ${Q.join(", ")}`}],isError:!0};return W(G)}}}var Hv6=(X)=>({tools:X.tools,callTool:(Y,Q)=>X.callTool(Y,Q)}),Fv6=(X)=>wJ1([OJ1(X),LJ1(X),Kv6(X)]),Vv6=(X)=>wJ1([OJ1(X),LJ1(X),$v6(X)]);function MJ1(X){switch(X){case"smart_tool_selection":return Vv6;case"code_execution":return Fv6;case"passthrough":default:return Hv6}}function PJ1(X){switch(X){case"smart_tool_selection":return"smart_tool_selection";case"code_execution":return"code_execution";case"passthrough":default:return"passthrough"}}class my{proxies;options;cache;constructor(X,Y){this.proxies=X;this.options=Y;this.cache=GW(()=>this.loadTools())}async loadTools(){let X=await this.proxies.mapSettled(async(K,H)=>{try{let V=(await K.proxy.client.listTools()).tools;if(this.options.selectionMode==="exclusion"){if(K.selectedTools&&K.selectedTools.length>0){let q=new Set(K.selectedTools);V=V.filter((z)=>!q.has(z.name))}}else if(K.selectedTools&&K.selectedTools.length>0){let q=new Set(K.selectedTools);V=V.filter((z)=>q.has(z.name))}return{connectionId:H,connectionTitle:K.connection.title,tools:V}}catch(F){return console.error(`[gateway] Failed to list tools for connection ${H}:`,F),null}}),Y=new Set,Q=[],J=new Map,G=new Set;for(let K of X){if(K.status!=="fulfilled"||!K.value)continue;let{connectionId:H,connectionTitle:F,tools:V}=K.value;G.add(F);for(let q of V){if(Y.has(q.name))continue;Y.add(q.name),Q.push({...q,_meta:{connectionId:H,connectionTitle:F}}),J.set(q.name,{connectionId:H,originalName:q.name})}}let W=async(K,H)=>{let F=J.get(K);if(!F)return{content:[{type:"text",text:`Tool not found: ${K}`}],isError:!0};let V=this.proxies.get(F.connectionId);if(!V)return{content:[{type:"text",text:`Connection not found for tool: ${K}`}],isError:!0};return await V.proxy.client.callTool({name:F.originalName,arguments:H})},$=MJ1(this.options.strategy)({tools:Q,callTool:W,categories:Array.from(G).sort()});return{tools:Q,mappings:J,strategyResult:$}}async list(){return{tools:(await this.cache).strategyResult.tools}}async call(X){return(await this.cache).strategyResult.callTool(X.name,X.arguments??{})}async callStreamable(X,Y){let Q=await this.cache,J=Q.mappings.get(X);if(J){let W=this.proxies.get(J.connectionId);if(W)return W.proxy.callStreamableTool(J.originalName,Y)}let G=await Q.strategyResult.callTool(X,Y);return new Response(JSON.stringify(G),{headers:{"Content-Type":"application/json"}})}}function qv6(X,Y){if(X===Y)return!0;if(!Y.includes("*"))return!1;let Q=Y.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*\*/g,"<<<DOUBLE_STAR>>>").replace(/\*/g,"[^/]*").replace(/<<<DOUBLE_STAR>>>/g,".*");Q=`^${Q}$`;try{return new RegExp(Q).test(X)}catch{return!1}}function TJ1(X,Y){return Y.some((Q)=>qv6(X,Q))}class ly{proxies;options;cache;constructor(X,Y){this.proxies=X;this.options=Y;this.cache=GW(()=>this.loadResources())}async loadResources(){let X=await this.proxies.mapSettled(async(G,W)=>{try{let $=(await G.proxy.client.listResources()).resources;if(this.options.selectionMode==="exclusion"){if(G.selectedResources&&G.selectedResources.length>0)$=$.filter((K)=>!TJ1(K.uri,G.selectedResources))}else if(!G.selectedResources||G.selectedResources.length===0)$=[];else $=$.filter((K)=>TJ1(K.uri,G.selectedResources));return{connectionId:W,resources:$}}catch(Z){return console.error(`[gateway] Failed to list resources for connection ${W}:`,Z),{connectionId:W,resources:[]}}}),Y=new Set,Q=[],J=new Map;for(let G of X){if(G.status!=="fulfilled")continue;let{connectionId:W,resources:Z}=G.value;for(let $ of Z){if(Y.has($.uri))continue;Y.add($.uri),Q.push($),J.set($.uri,W)}}return{resources:Q,mappings:J}}async list(){return{resources:(await this.cache).resources}}async read(X){let Q=(await this.cache).mappings.get(X.uri);if(!Q)throw Error(`Resource not found: ${X.uri}`);let J=this.proxies.get(Q);if(!J)throw Error(`Connection not found for resource: ${X.uri}`);return await J.proxy.client.readResource(X)}}class dy{proxies;cache;constructor(X){this.proxies=X;this.cache=GW(()=>this.loadResourceTemplates())}async loadResourceTemplates(){let X=await this.proxies.mapSettled(async(Q,J)=>{try{let G=await Q.proxy.client.listResourceTemplates();return{connectionId:J,templates:G.resourceTemplates}}catch(G){return console.error(`[gateway] Failed to list resource templates for connection ${J}:`,G),{connectionId:J,templates:[]}}}),Y=[];for(let Q of X){if(Q.status!=="fulfilled")continue;let{templates:J}=Q.value;for(let G of J)Y.push(G)}return{templates:Y}}async list(){return{resourceTemplates:(await this.cache).templates}}}class py{proxies;options;cache;constructor(X,Y){this.proxies=X;this.options=Y;this.cache=GW(()=>this.loadPrompts())}async loadPrompts(){let X=await this.proxies.mapSettled(async(G,W)=>{try{let $=(await G.proxy.client.listPrompts()).prompts;if(this.options.selectionMode==="exclusion"){if(G.selectedPrompts&&G.selectedPrompts.length>0){let K=new Set(G.selectedPrompts);$=$.filter((H)=>!K.has(H.name))}}else if(!G.selectedPrompts||G.selectedPrompts.length===0)$=[];else{let K=new Set(G.selectedPrompts);$=$.filter((H)=>K.has(H.name))}return{connectionId:W,prompts:$}}catch(Z){return console.error(`[PromptGateway] Failed to list prompts for connection ${W}:`,Z),{connectionId:W,prompts:[]}}}),Y=new Set,Q=[],J=new Map;for(let G of X){if(G.status!=="fulfilled")continue;let{connectionId:W,prompts:Z}=G.value;for(let $ of Z){if(Y.has($.name))continue;Y.add($.name),Q.push($),J.set($.name,W)}}return{prompts:Q,mappings:J}}async list(){return{prompts:(await this.cache).prompts}}async get(X){let Q=(await this.cache).mappings.get(X.name);if(!Q)throw Error(`Prompt not found: ${X.name}`);let J=this.proxies.get(Q);if(!J)throw Error(`Connection not found for prompt: ${X.name}`);return await J.proxy.client.getPrompt(X)}}j$();var AJ1=new Z9;async function zv6(X,Y){let Q=await LP.create(X.connections,Y),J=new my(Q,{selectionMode:X.toolSelectionMode,strategy:X.toolSelectionStrategy}),G=new ly(Q,{selectionMode:X.toolSelectionMode}),W=new dy(Q),Z=new py(Q,{selectionMode:X.toolSelectionMode});return{client:{listTools:J.list.bind(J),callTool:J.call.bind(J),listResources:G.list.bind(G),readResource:G.read.bind(G),listResourceTemplates:W.list.bind(W),listPrompts:Z.list.bind(Z),getPrompt:Z.get.bind(Z)},callStreamableTool:J.callStreamable.bind(J)}}async function Uv6(X,Y,Q){let J;if(X.tool_selection_mode==="exclusion"){let Z=(await Y.storage.connections.list(X.organization_id)).filter((K)=>K.status==="active"),$=new Map;for(let K of X.connections)$.set(K.connection_id,{selectedTools:K.selected_tools,selectedResources:K.selected_resources,selectedPrompts:K.selected_prompts});J=[];for(let K of Z){let H=$.get(K.id);if(H===void 0)J.push({connection:K,selectedTools:null,selectedResources:null,selectedPrompts:null});else if((H.selectedTools===null||H.selectedTools.length===0)&&(H.selectedResources===null||H.selectedResources.length===0)&&(H.selectedPrompts===null||H.selectedPrompts.length===0));else J.push({connection:K,selectedTools:H.selectedTools,selectedResources:H.selectedResources,selectedPrompts:H.selectedPrompts})}}else{let W=X.connections.map(($)=>$.connection_id),Z=[];for(let $ of W){let K=await Y.storage.connections.findById($);if(K&&K.status==="active")Z.push(K)}J=Z.map(($)=>{let K=X.connections.find((H)=>H.connection_id===$.id);return{connection:$,selectedTools:K?.selected_tools??null,selectedResources:K?.selected_resources??null,selectedPrompts:K?.selected_prompts??null}})}let G={connections:J,toolSelectionMode:X.tool_selection_mode,toolSelectionStrategy:Q};return zv6(G,Y)}AJ1.all("/gateway/:gatewayId?",async(X)=>{let Y=X.req.param("gatewayId"),Q=X.get("meshContext");try{let J=X.req.header("x-org-id"),G=X.req.header("x-org-slug"),W=J?J:G?await Q.db.selectFrom("organization").select("id").where("slug","=",G).executeTakeFirst().then((z)=>z?.id):null,Z=Y?await Q.storage.gateways.findById(Y):W?Pt0(W):null;if(!Z)return X.json({error:"Agent not found"},404);if(W&&Z.organization_id!==W)return X.json({error:"Agent not found"},404);if(Q.gatewayId=Z.id,Z.status!=="active")return X.json({error:`Agent is inactive: ${Z.id}`},503);let $=await Q.db.selectFrom("organization").select(["id","slug","name"]).where("id","=",Z.organization_id).executeTakeFirst();if($)Q.organization={id:$.id,slug:$.slug,name:$.name};let K=X.req.query("mode"),H=PJ1(K),F=await Uv6(Z,Q,H),V=new t3({name:`mcp-gateway-${Z.title}`,version:"1.0.0"},{capabilities:{tools:{},resources:{},prompts:{}}}),q=new e3({enableJsonResponse:X.req.header("Accept")?.includes("application/json")??!1});return await V.connect(q),V.server.setRequestHandler(h$,async(z)=>{return F.client.listTools()}),V.server.setRequestHandler(eG,async(z)=>{return await F.client.callTool(z.params)}),V.server.setRequestHandler(k$,async()=>{return F.client.listResources()}),V.server.setRequestHandler(y$,async(z)=>{return F.client.readResource(z.params)}),V.server.setRequestHandler(_$,async()=>{return F.client.listResourceTemplates()}),V.server.setRequestHandler(b$,async()=>{return F.client.listPrompts()}),V.server.setRequestHandler(f$,async(z)=>{return F.client.getPrompt(z.params)}),await q.handleRequest(X.req.raw)}catch(J){let G=J;return console.error("[gateway] Error handling gateway request:",G),X.json({error:"Internal server error",message:G.message},500)}});var EJ1=AJ1;s40();var jJ1=new Z9;jJ1.all("/",async(X)=>{return o40(X.get("meshContext")).fetch(X.req.raw)});var CJ1=jJ1;q40();UU();nM();fX();var Q51="vercel.ai.error",Bv6=Symbol.for(Q51),IJ1,RJ1,D1=class X extends(RJ1=Error,IJ1=Bv6,RJ1){constructor({name:Y,message:Q,cause:J}){super(Q);this[IJ1]=!0,this.name=Y,this.cause=J}static isInstance(Y){return X.hasMarker(Y,Q51)}static hasMarker(Y,Q){let J=Symbol.for(Q);return Y!=null&&typeof Y==="object"&&J in Y&&typeof Y[J]==="boolean"&&Y[J]===!0}},J51="AI_APICallError",G51=`vercel.ai.error.${J51}`,Dv6=Symbol.for(G51),SJ1,vJ1,i8=class extends(vJ1=D1,SJ1=Dv6,vJ1){constructor({message:X,url:Y,requestBodyValues:Q,statusCode:J,responseHeaders:G,responseBody:W,cause:Z,isRetryable:$=J!=null&&(J===408||J===409||J===429||J>=500),data:K}){super({name:J51,message:X,cause:Z});this[SJ1]=!0,this.url=Y,this.requestBodyValues=Q,this.statusCode=J,this.responseHeaders=G,this.responseBody=W,this.isRetryable=$,this.data=K}static isInstance(X){return D1.hasMarker(X,G51)}},W51="AI_EmptyResponseBodyError",Z51=`vercel.ai.error.${W51}`,Nv6=Symbol.for(Z51),kJ1,_J1,$51=class extends(_J1=D1,kJ1=Nv6,_J1){constructor({message:X="Empty response body"}={}){super({name:W51,message:X});this[kJ1]=!0}static isInstance(X){return D1.hasMarker(X,Z51)}};function v5(X){if(X==null)return"unknown error";if(typeof X==="string")return X;if(X instanceof Error)return X.message;return JSON.stringify(X)}var K51="AI_InvalidArgumentError",H51=`vercel.ai.error.${K51}`,Ov6=Symbol.for(H51),yJ1,bJ1,F51=class extends(bJ1=D1,yJ1=Ov6,bJ1){constructor({message:X,cause:Y,argument:Q}){super({name:K51,message:X,cause:Y});this[yJ1]=!0,this.argument=Q}static isInstance(X){return D1.hasMarker(X,H51)}},V51="AI_InvalidPromptError",q51=`vercel.ai.error.${V51}`,Lv6=Symbol.for(q51),fJ1,hJ1,WF=class extends(hJ1=D1,fJ1=Lv6,hJ1){constructor({prompt:X,message:Y,cause:Q}){super({name:V51,message:`Invalid prompt: ${Y}`,cause:Q});this[fJ1]=!0,this.prompt=X}static isInstance(X){return D1.hasMarker(X,q51)}},z51="AI_InvalidResponseDataError",U51=`vercel.ai.error.${z51}`,wv6=Symbol.for(U51),xJ1,gJ1,Xl4=class extends(gJ1=D1,xJ1=wv6,gJ1){constructor({data:X,message:Y=`Invalid response data: ${JSON.stringify(X)}.`}){super({name:z51,message:Y});this[xJ1]=!0,this.data=X}static isInstance(X){return D1.hasMarker(X,U51)}},B51="AI_JSONParseError",D51=`vercel.ai.error.${B51}`,Mv6=Symbol.for(D51),uJ1,mJ1,PP=class extends(mJ1=D1,uJ1=Mv6,mJ1){constructor({text:X,cause:Y}){super({name:B51,message:`JSON parsing failed: Text: ${X}.
1045
1045
  Error message: ${v5(Y)}`,cause:Y});this[uJ1]=!0,this.text=X}static isInstance(X){return D1.hasMarker(X,D51)}},N51="AI_LoadAPIKeyError",O51=`vercel.ai.error.${N51}`,Pv6=Symbol.for(O51),lJ1,dJ1,Yl4=class extends(dJ1=D1,lJ1=Pv6,dJ1){constructor({message:X}){super({name:N51,message:X});this[lJ1]=!0}static isInstance(X){return D1.hasMarker(X,O51)}},L51="AI_LoadSettingError",w51=`vercel.ai.error.${L51}`,Tv6=Symbol.for(w51),pJ1,cJ1,Ql4=class extends(cJ1=D1,pJ1=Tv6,cJ1){constructor({message:X}){super({name:L51,message:X});this[pJ1]=!0}static isInstance(X){return D1.hasMarker(X,w51)}},M51="AI_NoContentGeneratedError",P51=`vercel.ai.error.${M51}`,Av6=Symbol.for(P51),nJ1,iJ1,Jl4=class extends(iJ1=D1,nJ1=Av6,iJ1){constructor({message:X="No content generated."}={}){super({name:M51,message:X});this[nJ1]=!0}static isInstance(X){return D1.hasMarker(X,P51)}},T51="AI_NoSuchModelError",A51=`vercel.ai.error.${T51}`,Ev6=Symbol.for(A51),aJ1,rJ1,Gl4=class extends(rJ1=D1,aJ1=Ev6,rJ1){constructor({errorName:X=T51,modelId:Y,modelType:Q,message:J=`No such ${Q}: ${Y}`}){super({name:X,message:J});this[aJ1]=!0,this.modelId=Y,this.modelType=Q}static isInstance(X){return D1.hasMarker(X,A51)}},E51="AI_TooManyEmbeddingValuesForCallError",j51=`vercel.ai.error.${E51}`,jv6=Symbol.for(j51),oJ1,sJ1,Wl4=class extends(sJ1=D1,oJ1=jv6,sJ1){constructor(X){super({name:E51,message:`Too many values for a single embedding call. The ${X.provider} model "${X.modelId}" can only embed up to ${X.maxEmbeddingsPerCall} values per call, but ${X.values.length} values were provided.`});this[oJ1]=!0,this.provider=X.provider,this.modelId=X.modelId,this.maxEmbeddingsPerCall=X.maxEmbeddingsPerCall,this.values=X.values}static isInstance(X){return D1.hasMarker(X,j51)}},C51="AI_TypeValidationError",I51=`vercel.ai.error.${C51}`,Cv6=Symbol.for(I51),tJ1,eJ1,k5=class X extends(eJ1=D1,tJ1=Cv6,eJ1){constructor({value:Y,cause:Q}){super({name:C51,message:`Type validation failed: Value: ${JSON.stringify(Y)}.
1046
- Error message: ${v5(Q)}`,cause:Q});this[tJ1]=!0,this.value=Y}static isInstance(Y){return D1.hasMarker(Y,I51)}static wrap({value:Y,cause:Q}){return X.isInstance(Q)&&Q.value===Y?Q:new X({value:Y,cause:Q})}},R51="AI_UnsupportedFunctionalityError",S51=`vercel.ai.error.${R51}`,Iv6=Symbol.for(S51),X51,Y51,v51=class extends(Y51=D1,X51=Iv6,Y51){constructor({functionality:X,message:Y=`'${X}' functionality not supported.`}){super({name:R51,message:Y});this[X51]=!0,this.functionality=X}static isInstance(X){return D1.hasMarker(X,S51)}};a6();R$();R$();R$();l60();function $F(...X){return X.reduce((Y,Q)=>({...Y,...Q!=null?Q:{}}),{})}async function x51(X,Y){if(X==null)return Promise.resolve();let Q=Y==null?void 0:Y.abortSignal;return new Promise((J,G)=>{if(Q==null?void 0:Q.aborted){G(k51());return}let W=setTimeout(()=>{Z(),J()},X),Z=()=>{clearTimeout(W),Q==null||Q.removeEventListener("abort",$)},$=()=>{Z(),G(k51())};Q==null||Q.addEventListener("abort",$)})}function k51(){return new DOMException("Delay was aborted","AbortError")}var KF=class{constructor(){this.status={type:"pending"},this._resolve=void 0,this._reject=void 0}get promise(){if(this._promise)return this._promise;return this._promise=new Promise((X,Y)=>{if(this.status.type==="resolved")X(this.status.value);else if(this.status.type==="rejected")Y(this.status.error);this._resolve=X,this._reject=Y}),this._promise}resolve(X){var Y;if(this.status={type:"resolved",value:X},this._promise)(Y=this._resolve)==null||Y.call(this,X)}reject(X){var Y;if(this.status={type:"rejected",error:X},this._promise)(Y=this._reject)==null||Y.call(this,X)}isResolved(){return this.status.type==="resolved"}isRejected(){return this.status.type==="rejected"}isPending(){return this.status.type==="pending"}};function TP(X){return Object.fromEntries([...X.headers])}var{btoa:Rv6,atob:Sv6}=globalThis;function uU(X){let Y=X.replace(/-/g,"+").replace(/_/g,"/"),Q=Sv6(Y);return Uint8Array.from(Q,(J)=>J.codePointAt(0))}function HF(X){let Y="";for(let Q=0;Q<X.length;Q++)Y+=String.fromCodePoint(X[Q]);return Rv6(Y)}var g51="AI_DownloadError",u51=`vercel.ai.error.${g51}`,vv6=Symbol.for(u51),_51,y51,cy=class extends(y51=D1,_51=vv6,y51){constructor({url:X,statusCode:Y,statusText:Q,cause:J,message:G=J==null?`Failed to download ${X}: ${Y} ${Q}`:`Failed to download ${X}: ${J}`}){super({name:g51,message:G,cause:J});this[_51]=!0,this.url=X,this.statusCode=Y,this.statusText=Q}static isInstance(X){return D1.hasMarker(X,u51)}};var WW=({prefix:X,size:Y=16,alphabet:Q="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:J="-"}={})=>{let G=()=>{let W=Q.length,Z=Array(Y);for(let $=0;$<Y;$++)Z[$]=Q[Math.random()*W|0];return Z.join("")};if(X==null)return G;if(Q.includes(J))throw new F51({argument:"separator",message:`The separator "${J}" must not be part of the alphabet "${Q}".`});return()=>`${X}${J}${G()}`},kv6=WW();function AP(X){if(X==null)return"unknown error";if(typeof X==="string")return X;if(X instanceof Error)return X.message;return JSON.stringify(X)}function u7(X){return(X instanceof Error||X instanceof DOMException)&&(X.name==="AbortError"||X.name==="ResponseAborted"||X.name==="TimeoutError")}var _v6=["fetch failed","failed to fetch"];function m51({error:X,url:Y,requestBodyValues:Q}){if(u7(X))return X;if(X instanceof TypeError&&_v6.includes(X.message.toLowerCase())){let J=X.cause;if(J!=null)return new i8({message:`Cannot connect to API: ${J.message}`,cause:J,url:Y,requestBodyValues:Q,isRetryable:!0})}return X}function ny(X=globalThis){var Y,Q,J;if(X.window)return"runtime/browser";if((Y=X.navigator)==null?void 0:Y.userAgent)return`runtime/${X.navigator.userAgent.toLowerCase()}`;if((J=(Q=X.process)==null?void 0:Q.versions)==null?void 0:J.node)return`runtime/node.js/${X.process.version.substring(0)}`;if(X.EdgeRuntime)return"runtime/vercel-edge";return"runtime/unknown"}function yv6(X){if(X==null)return{};let Y={};if(X instanceof Headers)X.forEach((Q,J)=>{Y[J.toLowerCase()]=Q});else{if(!Array.isArray(X))X=Object.entries(X);for(let[Q,J]of X)if(J!=null)Y[Q.toLowerCase()]=J}return Y}function XK(X,...Y){let Q=new Headers(yv6(X)),J=Q.get("user-agent")||"";return Q.set("user-agent",[J,...Y].filter(Boolean).join(" ")),Object.fromEntries(Q.entries())}var l51="4.0.5",bv6=()=>globalThis.fetch,b80=async({url:X,headers:Y={},successfulResponseHandler:Q,failedResponseHandler:J,abortSignal:G,fetch:W=bv6()})=>{try{let Z=await W(X,{method:"GET",headers:XK(Y,`ai-sdk/provider-utils/${l51}`,ny()),signal:G}),$=TP(Z);if(!Z.ok){let K;try{K=await J({response:Z,url:X,requestBodyValues:{}})}catch(H){if(u7(H)||i8.isInstance(H))throw H;throw new i8({message:"Failed to process error response",cause:H,statusCode:Z.status,url:X,responseHeaders:$,requestBodyValues:{}})}throw K.value}try{return await Q({response:Z,url:X,requestBodyValues:{}})}catch(K){if(K instanceof Error){if(u7(K)||i8.isInstance(K))throw K}throw new i8({message:"Failed to process successful response",cause:K,statusCode:Z.status,url:X,responseHeaders:$,requestBodyValues:{}})}}catch(Z){throw m51({error:Z,url:X,requestBodyValues:{}})}};function d51(X){return X!=null}function p51({mediaType:X,url:Y,supportedUrls:Q}){return Y=Y.toLowerCase(),X=X.toLowerCase(),Object.entries(Q).map(([J,G])=>{let W=J.toLowerCase();return W==="*"||W==="*/*"?{mediaTypePrefix:"",regexes:G}:{mediaTypePrefix:W.replace(/\*/,""),regexes:G}}).filter(({mediaTypePrefix:J})=>X.startsWith(J)).flatMap(({regexes:J})=>J).some((J)=>J.test(Y))}function EP({settingValue:X,environmentVariableName:Y}){if(typeof X==="string")return X;if(X!=null||typeof process>"u")return;if(X=process.env[Y],X==null||typeof X!=="string")return;return X}var fv6=/"__proto__"\s*:/,hv6=/"constructor"\s*:/;function b51(X){let Y=JSON.parse(X);if(Y===null||typeof Y!=="object")return Y;if(fv6.test(X)===!1&&hv6.test(X)===!1)return Y;return xv6(Y)}function xv6(X){let Y=[X];while(Y.length){let Q=Y;Y=[];for(let J of Q){if(Object.prototype.hasOwnProperty.call(J,"__proto__"))throw SyntaxError("Object contains forbidden prototype property");if(Object.prototype.hasOwnProperty.call(J,"constructor")&&Object.prototype.hasOwnProperty.call(J.constructor,"prototype"))throw SyntaxError("Object contains forbidden prototype property");for(let G in J){let W=J[G];if(W&&typeof W==="object")Y.push(W)}}}return X}function c51(X){let{stackTraceLimit:Y}=Error;try{Error.stackTraceLimit=0}catch(Q){return b51(X)}try{return b51(X)}finally{Error.stackTraceLimit=Y}}function f80(X){if(X.type==="object"||Array.isArray(X.type)&&X.type.includes("object")){X.additionalProperties=!1;let{properties:Q}=X;if(Q!=null)for(let J of Object.keys(Q))Q[J]=ZF(Q[J])}if(X.items!=null)X.items=Array.isArray(X.items)?X.items.map(ZF):ZF(X.items);if(X.anyOf!=null)X.anyOf=X.anyOf.map(ZF);if(X.allOf!=null)X.allOf=X.allOf.map(ZF);if(X.oneOf!=null)X.oneOf=X.oneOf.map(ZF);let{definitions:Y}=X;if(Y!=null)for(let Q of Object.keys(Y))Y[Q]=ZF(Y[Q]);return X}function ZF(X){if(typeof X==="boolean")return X;return f80(X)}var gv6=Symbol("Let zodToJsonSchema decide on which parser to use"),f51={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"},uv6=(X)=>typeof X==="string"?{...f51,name:X}:{...f51,...X};function bQ(){return{}}function mv6(X,Y){var Q,J,G;let W={type:"array"};if(((Q=X.type)==null?void 0:Q._def)&&((G=(J=X.type)==null?void 0:J._def)==null?void 0:G.typeName)!==A0.ZodAny)W.items=_4(X.type._def,{...Y,currentPath:[...Y.currentPath,"items"]});if(X.minLength)W.minItems=X.minLength.value;if(X.maxLength)W.maxItems=X.maxLength.value;if(X.exactLength)W.minItems=X.exactLength.value,W.maxItems=X.exactLength.value;return W}function lv6(X){let Y={type:"integer",format:"int64"};if(!X.checks)return Y;for(let Q of X.checks)switch(Q.kind){case"min":if(Q.inclusive)Y.minimum=Q.value;else Y.exclusiveMinimum=Q.value;break;case"max":if(Q.inclusive)Y.maximum=Q.value;else Y.exclusiveMaximum=Q.value;break;case"multipleOf":Y.multipleOf=Q.value;break}return Y}function dv6(){return{type:"boolean"}}function n51(X,Y){return _4(X.type._def,Y)}var pv6=(X,Y)=>{return _4(X.innerType._def,Y)};function i51(X,Y,Q){let J=Q!=null?Q:Y.dateStrategy;if(Array.isArray(J))return{anyOf:J.map((G,W)=>i51(X,Y,G))};switch(J){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return cv6(X)}}var cv6=(X)=>{let Y={type:"integer",format:"unix-time"};for(let Q of X.checks)switch(Q.kind){case"min":Y.minimum=Q.value;break;case"max":Y.maximum=Q.value;break}return Y};function nv6(X,Y){return{..._4(X.innerType._def,Y),default:X.defaultValue()}}function iv6(X,Y){return Y.effectStrategy==="input"?_4(X.schema._def,Y):bQ()}function av6(X){return{type:"string",enum:Array.from(X.values)}}var rv6=(X)=>{if("type"in X&&X.type==="string")return!1;return"allOf"in X};function ov6(X,Y){let Q=[_4(X.left._def,{...Y,currentPath:[...Y.currentPath,"allOf","0"]}),_4(X.right._def,{...Y,currentPath:[...Y.currentPath,"allOf","1"]})].filter((G)=>!!G),J=[];return Q.forEach((G)=>{if(rv6(G))J.push(...G.allOf);else{let W=G;if("additionalProperties"in G&&G.additionalProperties===!1){let{additionalProperties:Z,...$}=G;W=$}J.push(W)}}),J.length?{allOf:J}:void 0}function sv6(X){let Y=typeof X.value;if(Y!=="bigint"&&Y!=="number"&&Y!=="boolean"&&Y!=="string")return{type:Array.isArray(X.value)?"array":"object"};return{type:Y==="bigint"?"integer":Y,const:X.value}}var v80=void 0,_5={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>{if(v80===void 0)v80=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return v80},uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function a51(X,Y){let Q={type:"string"};if(X.checks)for(let J of X.checks)switch(J.kind){case"min":Q.minLength=typeof Q.minLength==="number"?Math.max(Q.minLength,J.value):J.value;break;case"max":Q.maxLength=typeof Q.maxLength==="number"?Math.min(Q.maxLength,J.value):J.value;break;case"email":switch(Y.emailStrategy){case"format:email":y5(Q,"email",J.message,Y);break;case"format:idn-email":y5(Q,"idn-email",J.message,Y);break;case"pattern:zod":LY(Q,_5.email,J.message,Y);break}break;case"url":y5(Q,"uri",J.message,Y);break;case"uuid":y5(Q,"uuid",J.message,Y);break;case"regex":LY(Q,J.regex,J.message,Y);break;case"cuid":LY(Q,_5.cuid,J.message,Y);break;case"cuid2":LY(Q,_5.cuid2,J.message,Y);break;case"startsWith":LY(Q,RegExp(`^${k80(J.value,Y)}`),J.message,Y);break;case"endsWith":LY(Q,RegExp(`${k80(J.value,Y)}$`),J.message,Y);break;case"datetime":y5(Q,"date-time",J.message,Y);break;case"date":y5(Q,"date",J.message,Y);break;case"time":y5(Q,"time",J.message,Y);break;case"duration":y5(Q,"duration",J.message,Y);break;case"length":Q.minLength=typeof Q.minLength==="number"?Math.max(Q.minLength,J.value):J.value,Q.maxLength=typeof Q.maxLength==="number"?Math.min(Q.maxLength,J.value):J.value;break;case"includes":{LY(Q,RegExp(k80(J.value,Y)),J.message,Y);break}case"ip":{if(J.version!=="v6")y5(Q,"ipv4",J.message,Y);if(J.version!=="v4")y5(Q,"ipv6",J.message,Y);break}case"base64url":LY(Q,_5.base64url,J.message,Y);break;case"jwt":LY(Q,_5.jwt,J.message,Y);break;case"cidr":{if(J.version!=="v6")LY(Q,_5.ipv4Cidr,J.message,Y);if(J.version!=="v4")LY(Q,_5.ipv6Cidr,J.message,Y);break}case"emoji":LY(Q,_5.emoji(),J.message,Y);break;case"ulid":{LY(Q,_5.ulid,J.message,Y);break}case"base64":{switch(Y.base64Strategy){case"format:binary":{y5(Q,"binary",J.message,Y);break}case"contentEncoding:base64":{Q.contentEncoding="base64";break}case"pattern:zod":{LY(Q,_5.base64,J.message,Y);break}}break}case"nanoid":LY(Q,_5.nanoid,J.message,Y);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return Q}function k80(X,Y){return Y.patternStrategy==="escape"?ev6(X):X}var tv6=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function ev6(X){let Y="";for(let Q=0;Q<X.length;Q++){if(!tv6.has(X[Q]))Y+="\\";Y+=X[Q]}return Y}function y5(X,Y,Q,J){var G;if(X.format||((G=X.anyOf)==null?void 0:G.some((W)=>W.format))){if(!X.anyOf)X.anyOf=[];if(X.format)X.anyOf.push({format:X.format}),delete X.format;X.anyOf.push({format:Y,...Q&&J.errorMessages&&{errorMessage:{format:Q}}})}else X.format=Y}function LY(X,Y,Q,J){var G;if(X.pattern||((G=X.allOf)==null?void 0:G.some((W)=>W.pattern))){if(!X.allOf)X.allOf=[];if(X.pattern)X.allOf.push({pattern:X.pattern}),delete X.pattern;X.allOf.push({pattern:h51(Y,J),...Q&&J.errorMessages&&{errorMessage:{pattern:Q}}})}else X.pattern=h51(Y,J)}function h51(X,Y){var Q;if(!Y.applyRegexFlags||!X.flags)return X.source;let J={i:X.flags.includes("i"),m:X.flags.includes("m"),s:X.flags.includes("s")},G=J.i?X.source.toLowerCase():X.source,W="",Z=!1,$=!1,K=!1;for(let H=0;H<G.length;H++){if(Z){W+=G[H],Z=!1;continue}if(J.i){if($){if(G[H].match(/[a-z]/)){if(K)W+=G[H],W+=`${G[H-2]}-${G[H]}`.toUpperCase(),K=!1;else if(G[H+1]==="-"&&((Q=G[H+2])==null?void 0:Q.match(/[a-z]/)))W+=G[H],K=!0;else W+=`${G[H]}${G[H].toUpperCase()}`;continue}}else if(G[H].match(/[a-z]/)){W+=`[${G[H]}${G[H].toUpperCase()}]`;continue}}if(J.m){if(G[H]==="^"){W+=`(^|(?<=[\r
1046
+ Error message: ${v5(Q)}`,cause:Q});this[tJ1]=!0,this.value=Y}static isInstance(Y){return D1.hasMarker(Y,I51)}static wrap({value:Y,cause:Q}){return X.isInstance(Q)&&Q.value===Y?Q:new X({value:Y,cause:Q})}},R51="AI_UnsupportedFunctionalityError",S51=`vercel.ai.error.${R51}`,Iv6=Symbol.for(S51),X51,Y51,v51=class extends(Y51=D1,X51=Iv6,Y51){constructor({functionality:X,message:Y=`'${X}' functionality not supported.`}){super({name:R51,message:Y});this[X51]=!0,this.functionality=X}static isInstance(X){return D1.hasMarker(X,S51)}};a6();R$();R$();R$();l60();function $F(...X){return X.reduce((Y,Q)=>({...Y,...Q!=null?Q:{}}),{})}async function x51(X,Y){if(X==null)return Promise.resolve();let Q=Y==null?void 0:Y.abortSignal;return new Promise((J,G)=>{if(Q==null?void 0:Q.aborted){G(k51());return}let W=setTimeout(()=>{Z(),J()},X),Z=()=>{clearTimeout(W),Q==null||Q.removeEventListener("abort",$)},$=()=>{Z(),G(k51())};Q==null||Q.addEventListener("abort",$)})}function k51(){return new DOMException("Delay was aborted","AbortError")}var KF=class{constructor(){this.status={type:"pending"},this._resolve=void 0,this._reject=void 0}get promise(){if(this._promise)return this._promise;return this._promise=new Promise((X,Y)=>{if(this.status.type==="resolved")X(this.status.value);else if(this.status.type==="rejected")Y(this.status.error);this._resolve=X,this._reject=Y}),this._promise}resolve(X){var Y;if(this.status={type:"resolved",value:X},this._promise)(Y=this._resolve)==null||Y.call(this,X)}reject(X){var Y;if(this.status={type:"rejected",error:X},this._promise)(Y=this._reject)==null||Y.call(this,X)}isResolved(){return this.status.type==="resolved"}isRejected(){return this.status.type==="rejected"}isPending(){return this.status.type==="pending"}};function TP(X){return Object.fromEntries([...X.headers])}var{btoa:Rv6,atob:Sv6}=globalThis;function uU(X){let Y=X.replace(/-/g,"+").replace(/_/g,"/"),Q=Sv6(Y);return Uint8Array.from(Q,(J)=>J.codePointAt(0))}function HF(X){let Y="";for(let Q=0;Q<X.length;Q++)Y+=String.fromCodePoint(X[Q]);return Rv6(Y)}var g51="AI_DownloadError",u51=`vercel.ai.error.${g51}`,vv6=Symbol.for(u51),_51,y51,cy=class extends(y51=D1,_51=vv6,y51){constructor({url:X,statusCode:Y,statusText:Q,cause:J,message:G=J==null?`Failed to download ${X}: ${Y} ${Q}`:`Failed to download ${X}: ${J}`}){super({name:g51,message:G,cause:J});this[_51]=!0,this.url=X,this.statusCode=Y,this.statusText=Q}static isInstance(X){return D1.hasMarker(X,u51)}};var WW=({prefix:X,size:Y=16,alphabet:Q="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:J="-"}={})=>{let G=()=>{let W=Q.length,Z=Array(Y);for(let $=0;$<Y;$++)Z[$]=Q[Math.random()*W|0];return Z.join("")};if(X==null)return G;if(Q.includes(J))throw new F51({argument:"separator",message:`The separator "${J}" must not be part of the alphabet "${Q}".`});return()=>`${X}${J}${G()}`},kv6=WW();function AP(X){if(X==null)return"unknown error";if(typeof X==="string")return X;if(X instanceof Error)return X.message;return JSON.stringify(X)}function u7(X){return(X instanceof Error||X instanceof DOMException)&&(X.name==="AbortError"||X.name==="ResponseAborted"||X.name==="TimeoutError")}var _v6=["fetch failed","failed to fetch"];function m51({error:X,url:Y,requestBodyValues:Q}){if(u7(X))return X;if(X instanceof TypeError&&_v6.includes(X.message.toLowerCase())){let J=X.cause;if(J!=null)return new i8({message:`Cannot connect to API: ${J.message}`,cause:J,url:Y,requestBodyValues:Q,isRetryable:!0})}return X}function ny(X=globalThis){var Y,Q,J;if(X.window)return"runtime/browser";if((Y=X.navigator)==null?void 0:Y.userAgent)return`runtime/${X.navigator.userAgent.toLowerCase()}`;if((J=(Q=X.process)==null?void 0:Q.versions)==null?void 0:J.node)return`runtime/node.js/${X.process.version.substring(0)}`;if(X.EdgeRuntime)return"runtime/vercel-edge";return"runtime/unknown"}function yv6(X){if(X==null)return{};let Y={};if(X instanceof Headers)X.forEach((Q,J)=>{Y[J.toLowerCase()]=Q});else{if(!Array.isArray(X))X=Object.entries(X);for(let[Q,J]of X)if(J!=null)Y[Q.toLowerCase()]=J}return Y}function XK(X,...Y){let Q=new Headers(yv6(X)),J=Q.get("user-agent")||"";return Q.set("user-agent",[J,...Y].filter(Boolean).join(" ")),Object.fromEntries(Q.entries())}var l51="4.0.6",bv6=()=>globalThis.fetch,b80=async({url:X,headers:Y={},successfulResponseHandler:Q,failedResponseHandler:J,abortSignal:G,fetch:W=bv6()})=>{try{let Z=await W(X,{method:"GET",headers:XK(Y,`ai-sdk/provider-utils/${l51}`,ny()),signal:G}),$=TP(Z);if(!Z.ok){let K;try{K=await J({response:Z,url:X,requestBodyValues:{}})}catch(H){if(u7(H)||i8.isInstance(H))throw H;throw new i8({message:"Failed to process error response",cause:H,statusCode:Z.status,url:X,responseHeaders:$,requestBodyValues:{}})}throw K.value}try{return await Q({response:Z,url:X,requestBodyValues:{}})}catch(K){if(K instanceof Error){if(u7(K)||i8.isInstance(K))throw K}throw new i8({message:"Failed to process successful response",cause:K,statusCode:Z.status,url:X,responseHeaders:$,requestBodyValues:{}})}}catch(Z){throw m51({error:Z,url:X,requestBodyValues:{}})}};function d51(X){return X!=null}function p51({mediaType:X,url:Y,supportedUrls:Q}){return Y=Y.toLowerCase(),X=X.toLowerCase(),Object.entries(Q).map(([J,G])=>{let W=J.toLowerCase();return W==="*"||W==="*/*"?{mediaTypePrefix:"",regexes:G}:{mediaTypePrefix:W.replace(/\*/,""),regexes:G}}).filter(({mediaTypePrefix:J})=>X.startsWith(J)).flatMap(({regexes:J})=>J).some((J)=>J.test(Y))}function EP({settingValue:X,environmentVariableName:Y}){if(typeof X==="string")return X;if(X!=null||typeof process>"u")return;if(X=process.env[Y],X==null||typeof X!=="string")return;return X}var fv6=/"__proto__"\s*:/,hv6=/"constructor"\s*:/;function b51(X){let Y=JSON.parse(X);if(Y===null||typeof Y!=="object")return Y;if(fv6.test(X)===!1&&hv6.test(X)===!1)return Y;return xv6(Y)}function xv6(X){let Y=[X];while(Y.length){let Q=Y;Y=[];for(let J of Q){if(Object.prototype.hasOwnProperty.call(J,"__proto__"))throw SyntaxError("Object contains forbidden prototype property");if(Object.prototype.hasOwnProperty.call(J,"constructor")&&Object.prototype.hasOwnProperty.call(J.constructor,"prototype"))throw SyntaxError("Object contains forbidden prototype property");for(let G in J){let W=J[G];if(W&&typeof W==="object")Y.push(W)}}}return X}function c51(X){let{stackTraceLimit:Y}=Error;try{Error.stackTraceLimit=0}catch(Q){return b51(X)}try{return b51(X)}finally{Error.stackTraceLimit=Y}}function f80(X){if(X.type==="object"||Array.isArray(X.type)&&X.type.includes("object")){X.additionalProperties=!1;let{properties:Q}=X;if(Q!=null)for(let J of Object.keys(Q))Q[J]=ZF(Q[J])}if(X.items!=null)X.items=Array.isArray(X.items)?X.items.map(ZF):ZF(X.items);if(X.anyOf!=null)X.anyOf=X.anyOf.map(ZF);if(X.allOf!=null)X.allOf=X.allOf.map(ZF);if(X.oneOf!=null)X.oneOf=X.oneOf.map(ZF);let{definitions:Y}=X;if(Y!=null)for(let Q of Object.keys(Y))Y[Q]=ZF(Y[Q]);return X}function ZF(X){if(typeof X==="boolean")return X;return f80(X)}var gv6=Symbol("Let zodToJsonSchema decide on which parser to use"),f51={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"},uv6=(X)=>typeof X==="string"?{...f51,name:X}:{...f51,...X};function bQ(){return{}}function mv6(X,Y){var Q,J,G;let W={type:"array"};if(((Q=X.type)==null?void 0:Q._def)&&((G=(J=X.type)==null?void 0:J._def)==null?void 0:G.typeName)!==A0.ZodAny)W.items=_4(X.type._def,{...Y,currentPath:[...Y.currentPath,"items"]});if(X.minLength)W.minItems=X.minLength.value;if(X.maxLength)W.maxItems=X.maxLength.value;if(X.exactLength)W.minItems=X.exactLength.value,W.maxItems=X.exactLength.value;return W}function lv6(X){let Y={type:"integer",format:"int64"};if(!X.checks)return Y;for(let Q of X.checks)switch(Q.kind){case"min":if(Q.inclusive)Y.minimum=Q.value;else Y.exclusiveMinimum=Q.value;break;case"max":if(Q.inclusive)Y.maximum=Q.value;else Y.exclusiveMaximum=Q.value;break;case"multipleOf":Y.multipleOf=Q.value;break}return Y}function dv6(){return{type:"boolean"}}function n51(X,Y){return _4(X.type._def,Y)}var pv6=(X,Y)=>{return _4(X.innerType._def,Y)};function i51(X,Y,Q){let J=Q!=null?Q:Y.dateStrategy;if(Array.isArray(J))return{anyOf:J.map((G,W)=>i51(X,Y,G))};switch(J){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return cv6(X)}}var cv6=(X)=>{let Y={type:"integer",format:"unix-time"};for(let Q of X.checks)switch(Q.kind){case"min":Y.minimum=Q.value;break;case"max":Y.maximum=Q.value;break}return Y};function nv6(X,Y){return{..._4(X.innerType._def,Y),default:X.defaultValue()}}function iv6(X,Y){return Y.effectStrategy==="input"?_4(X.schema._def,Y):bQ()}function av6(X){return{type:"string",enum:Array.from(X.values)}}var rv6=(X)=>{if("type"in X&&X.type==="string")return!1;return"allOf"in X};function ov6(X,Y){let Q=[_4(X.left._def,{...Y,currentPath:[...Y.currentPath,"allOf","0"]}),_4(X.right._def,{...Y,currentPath:[...Y.currentPath,"allOf","1"]})].filter((G)=>!!G),J=[];return Q.forEach((G)=>{if(rv6(G))J.push(...G.allOf);else{let W=G;if("additionalProperties"in G&&G.additionalProperties===!1){let{additionalProperties:Z,...$}=G;W=$}J.push(W)}}),J.length?{allOf:J}:void 0}function sv6(X){let Y=typeof X.value;if(Y!=="bigint"&&Y!=="number"&&Y!=="boolean"&&Y!=="string")return{type:Array.isArray(X.value)?"array":"object"};return{type:Y==="bigint"?"integer":Y,const:X.value}}var v80=void 0,_5={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>{if(v80===void 0)v80=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return v80},uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function a51(X,Y){let Q={type:"string"};if(X.checks)for(let J of X.checks)switch(J.kind){case"min":Q.minLength=typeof Q.minLength==="number"?Math.max(Q.minLength,J.value):J.value;break;case"max":Q.maxLength=typeof Q.maxLength==="number"?Math.min(Q.maxLength,J.value):J.value;break;case"email":switch(Y.emailStrategy){case"format:email":y5(Q,"email",J.message,Y);break;case"format:idn-email":y5(Q,"idn-email",J.message,Y);break;case"pattern:zod":LY(Q,_5.email,J.message,Y);break}break;case"url":y5(Q,"uri",J.message,Y);break;case"uuid":y5(Q,"uuid",J.message,Y);break;case"regex":LY(Q,J.regex,J.message,Y);break;case"cuid":LY(Q,_5.cuid,J.message,Y);break;case"cuid2":LY(Q,_5.cuid2,J.message,Y);break;case"startsWith":LY(Q,RegExp(`^${k80(J.value,Y)}`),J.message,Y);break;case"endsWith":LY(Q,RegExp(`${k80(J.value,Y)}$`),J.message,Y);break;case"datetime":y5(Q,"date-time",J.message,Y);break;case"date":y5(Q,"date",J.message,Y);break;case"time":y5(Q,"time",J.message,Y);break;case"duration":y5(Q,"duration",J.message,Y);break;case"length":Q.minLength=typeof Q.minLength==="number"?Math.max(Q.minLength,J.value):J.value,Q.maxLength=typeof Q.maxLength==="number"?Math.min(Q.maxLength,J.value):J.value;break;case"includes":{LY(Q,RegExp(k80(J.value,Y)),J.message,Y);break}case"ip":{if(J.version!=="v6")y5(Q,"ipv4",J.message,Y);if(J.version!=="v4")y5(Q,"ipv6",J.message,Y);break}case"base64url":LY(Q,_5.base64url,J.message,Y);break;case"jwt":LY(Q,_5.jwt,J.message,Y);break;case"cidr":{if(J.version!=="v6")LY(Q,_5.ipv4Cidr,J.message,Y);if(J.version!=="v4")LY(Q,_5.ipv6Cidr,J.message,Y);break}case"emoji":LY(Q,_5.emoji(),J.message,Y);break;case"ulid":{LY(Q,_5.ulid,J.message,Y);break}case"base64":{switch(Y.base64Strategy){case"format:binary":{y5(Q,"binary",J.message,Y);break}case"contentEncoding:base64":{Q.contentEncoding="base64";break}case"pattern:zod":{LY(Q,_5.base64,J.message,Y);break}}break}case"nanoid":LY(Q,_5.nanoid,J.message,Y);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return Q}function k80(X,Y){return Y.patternStrategy==="escape"?ev6(X):X}var tv6=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function ev6(X){let Y="";for(let Q=0;Q<X.length;Q++){if(!tv6.has(X[Q]))Y+="\\";Y+=X[Q]}return Y}function y5(X,Y,Q,J){var G;if(X.format||((G=X.anyOf)==null?void 0:G.some((W)=>W.format))){if(!X.anyOf)X.anyOf=[];if(X.format)X.anyOf.push({format:X.format}),delete X.format;X.anyOf.push({format:Y,...Q&&J.errorMessages&&{errorMessage:{format:Q}}})}else X.format=Y}function LY(X,Y,Q,J){var G;if(X.pattern||((G=X.allOf)==null?void 0:G.some((W)=>W.pattern))){if(!X.allOf)X.allOf=[];if(X.pattern)X.allOf.push({pattern:X.pattern}),delete X.pattern;X.allOf.push({pattern:h51(Y,J),...Q&&J.errorMessages&&{errorMessage:{pattern:Q}}})}else X.pattern=h51(Y,J)}function h51(X,Y){var Q;if(!Y.applyRegexFlags||!X.flags)return X.source;let J={i:X.flags.includes("i"),m:X.flags.includes("m"),s:X.flags.includes("s")},G=J.i?X.source.toLowerCase():X.source,W="",Z=!1,$=!1,K=!1;for(let H=0;H<G.length;H++){if(Z){W+=G[H],Z=!1;continue}if(J.i){if($){if(G[H].match(/[a-z]/)){if(K)W+=G[H],W+=`${G[H-2]}-${G[H]}`.toUpperCase(),K=!1;else if(G[H+1]==="-"&&((Q=G[H+2])==null?void 0:Q.match(/[a-z]/)))W+=G[H],K=!0;else W+=`${G[H]}${G[H].toUpperCase()}`;continue}}else if(G[H].match(/[a-z]/)){W+=`[${G[H]}${G[H].toUpperCase()}]`;continue}}if(J.m){if(G[H]==="^"){W+=`(^|(?<=[\r
1047
1047
  ]))`;continue}else if(G[H]==="$"){W+=`($|(?=[\r
1048
1048
  ]))`;continue}}if(J.s&&G[H]==="."){W+=$?`${G[H]}\r
1049
1049
  `:`[${G[H]}\r
@@ -1062,7 +1062,7 @@ Create an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
1062
1062
  Provide via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.
1063
1063
 
1064
1064
  Option 2 - OIDC token:
1065
- Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.`;return new X({message:Z,statusCode:G,cause:W})}},$W1="GatewayInvalidRequestError",qy6=`vercel.ai.gateway.error.${$W1}`,mG1=Symbol.for(qy6),lG1,dG1,zy6=class extends(dG1=fQ,lG1=mG1,dG1){constructor({message:X="Invalid request",statusCode:Y=400,cause:Q}={}){super({message:X,statusCode:Y,cause:Q});this[lG1]=!0,this.name=$W1,this.type="invalid_request_error"}static isInstance(X){return fQ.hasMarker(X)&&mG1 in X}},KW1="GatewayRateLimitError",Uy6=`vercel.ai.gateway.error.${KW1}`,pG1=Symbol.for(Uy6),cG1,nG1,By6=class extends(nG1=fQ,cG1=pG1,nG1){constructor({message:X="Rate limit exceeded",statusCode:Y=429,cause:Q}={}){super({message:X,statusCode:Y,cause:Q});this[cG1]=!0,this.name=KW1,this.type="rate_limit_exceeded"}static isInstance(X){return fQ.hasMarker(X)&&pG1 in X}},HW1="GatewayModelNotFoundError",Dy6=`vercel.ai.gateway.error.${HW1}`,iG1=Symbol.for(Dy6),Ny6=l9(()=>Y9(B.object({modelId:B.string()}))),aG1,rG1,Oy6=class extends(rG1=fQ,aG1=iG1,rG1){constructor({message:X="Model not found",statusCode:Y=404,modelId:Q,cause:J}={}){super({message:X,statusCode:Y,cause:J});this[aG1]=!0,this.name=HW1,this.type="model_not_found",this.modelId=Q}static isInstance(X){return fQ.hasMarker(X)&&iG1 in X}},FW1="GatewayInternalServerError",Ly6=`vercel.ai.gateway.error.${FW1}`,oG1=Symbol.for(Ly6),sG1,tG1,eG1=class extends(tG1=fQ,sG1=oG1,tG1){constructor({message:X="Internal server error",statusCode:Y=500,cause:Q}={}){super({message:X,statusCode:Y,cause:Q});this[sG1]=!0,this.name=FW1,this.type="internal_server_error"}static isInstance(X){return fQ.hasMarker(X)&&oG1 in X}},VW1="GatewayResponseError",wy6=`vercel.ai.gateway.error.${VW1}`,XW1=Symbol.for(wy6),YW1,QW1,My6=class extends(QW1=fQ,YW1=XW1,QW1){constructor({message:X="Invalid response from Gateway",statusCode:Y=502,response:Q,validationError:J,cause:G}={}){super({message:X,statusCode:Y,cause:G});this[YW1]=!0,this.name=VW1,this.type="response_error",this.response=Q,this.validationError=J}static isInstance(X){return fQ.hasMarker(X)&&XW1 in X}};async function JW1({response:X,statusCode:Y,defaultMessage:Q="Gateway request failed",cause:J,authMethod:G}){let W=await wY({value:X,schema:Py6});if(!W.success)return new My6({message:`Invalid error response format: ${Q}`,statusCode:Y,response:X,validationError:W.error,cause:J});let Z=W.value,$=Z.error.type,K=Z.error.message;switch($){case"authentication_error":return ey.createContextualError({apiKeyProvided:G==="api-key",oidcTokenProvided:G==="oidc",statusCode:Y,cause:J});case"invalid_request_error":return new zy6({message:K,statusCode:Y,cause:J});case"rate_limit_exceeded":return new By6({message:K,statusCode:Y,cause:J});case"model_not_found":{let H=await wY({value:Z.error.param,schema:Ny6});return new Oy6({message:K,statusCode:Y,modelId:H.success?H.value.modelId:void 0,cause:J})}case"internal_server_error":return new eG1({message:K,statusCode:Y,cause:J});default:return new eG1({message:K,statusCode:Y,cause:J})}}var Py6=l9(()=>Y9(B.object({error:B.object({message:B.string(),type:B.string().nullish(),param:B.unknown().nullish(),code:B.union([B.string(),B.number()]).nullish()})})));function QK(X,Y){var Q;if(fQ.isInstance(X))return X;if(i8.isInstance(X))return JW1({response:Ty6(X),statusCode:(Q=X.statusCode)!=null?Q:500,defaultMessage:"Gateway request failed",cause:X,authMethod:Y});return JW1({response:{},statusCode:500,defaultMessage:X instanceof Error?`Gateway request failed: ${X.message}`:"Unknown Gateway error",cause:X,authMethod:Y})}function Ty6(X){if(X.data!==void 0)return X.data;if(X.responseBody!=null)try{return JSON.parse(X.responseBody)}catch(Y){return X.responseBody}return{}}var qW1="ai-gateway-auth-method";async function dU(X){let Y=await wY({value:X[qW1],schema:Ay6});return Y.success?Y.value:void 0}var Ay6=l9(()=>Y9(B.union([B.literal("api-key"),B.literal("oidc")]))),GW1=class{constructor(X){this.config=X}async getAvailableModels(){try{let{value:X}=await b80({url:`${this.config.baseURL}/config`,headers:await DX(this.config.headers()),successfulResponseHandler:m7(Ey6),failedResponseHandler:$W({errorSchema:B.any(),errorToMessage:(Y)=>Y}),fetch:this.config.fetch});return X}catch(X){throw await QK(X)}}async getCredits(){try{let X=new URL(this.config.baseURL),{value:Y}=await b80({url:`${X.origin}/v1/credits`,headers:await DX(this.config.headers()),successfulResponseHandler:m7(jy6),failedResponseHandler:$W({errorSchema:B.any(),errorToMessage:(Q)=>Q}),fetch:this.config.fetch});return Y}catch(X){throw await QK(X)}}},Ey6=l9(()=>Y9(B.object({models:B.array(B.object({id:B.string(),name:B.string(),description:B.string().nullish(),pricing:B.object({input:B.string(),output:B.string(),input_cache_read:B.string().nullish(),input_cache_write:B.string().nullish()}).transform(({input:X,output:Y,input_cache_read:Q,input_cache_write:J})=>({input:X,output:Y,...Q?{cachedInputTokens:Q}:{},...J?{cacheCreationInputTokens:J}:{}})).nullish(),specification:B.object({specificationVersion:B.literal("v3"),provider:B.string(),modelId:B.string()}),modelType:B.enum(["language","embedding","image"]).nullish()}))}))),jy6=l9(()=>Y9(B.object({balance:B.string(),total_used:B.string()}).transform(({balance:X,total_used:Y})=>({balance:X,totalUsed:Y})))),Cy6=class{constructor(X,Y){this.modelId=X,this.config=Y,this.specificationVersion="v3",this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(X){let{abortSignal:Y,...Q}=X;return{args:this.maybeEncodeFileParts(Q),warnings:[]}}async doGenerate(X){let{args:Y,warnings:Q}=await this.getArgs(X),{abortSignal:J}=X,G=await DX(this.config.headers());try{let{responseHeaders:W,value:Z,rawValue:$}=await FF({url:this.getUrl(),headers:$F(G,X.headers,this.getModelConfigHeaders(this.modelId,!1),await DX(this.config.o11yHeaders)),body:Y,successfulResponseHandler:m7(B.any()),failedResponseHandler:$W({errorSchema:B.any(),errorToMessage:(K)=>K}),...J&&{abortSignal:J},fetch:this.config.fetch});return{...Z,request:{body:Y},response:{headers:W,body:$},warnings:Q}}catch(W){throw await QK(W,await dU(G))}}async doStream(X){let{args:Y,warnings:Q}=await this.getArgs(X),{abortSignal:J}=X,G=await DX(this.config.headers());try{let{value:W,responseHeaders:Z}=await FF({url:this.getUrl(),headers:$F(G,X.headers,this.getModelConfigHeaders(this.modelId,!0),await DX(this.config.o11yHeaders)),body:Y,successfulResponseHandler:t51(B.any()),failedResponseHandler:$W({errorSchema:B.any(),errorToMessage:($)=>$}),...J&&{abortSignal:J},fetch:this.config.fetch});return{stream:W.pipeThrough(new TransformStream({start($){if(Q.length>0)$.enqueue({type:"stream-start",warnings:Q})},transform($,K){if($.success){let H=$.value;if(H.type==="raw"&&!X.includeRawChunks)return;if(H.type==="response-metadata"&&H.timestamp&&typeof H.timestamp==="string")H.timestamp=new Date(H.timestamp);K.enqueue(H)}else K.error($.error)}})),request:{body:Y},response:{headers:Z}}}catch(W){throw await QK(W,await dU(G))}}isFilePart(X){return X&&typeof X==="object"&&"type"in X&&X.type==="file"}maybeEncodeFileParts(X){for(let Y of X.prompt)for(let Q of Y.content)if(this.isFilePart(Q)){let J=Q;if(J.data instanceof Uint8Array){let G=Uint8Array.from(J.data),W=Buffer.from(G).toString("base64");J.data=new URL(`data:${J.mediaType||"application/octet-stream"};base64,${W}`)}}return X}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(X,Y){return{"ai-language-model-specification-version":"3","ai-language-model-id":X,"ai-language-model-streaming":String(Y)}}},Iy6=class{constructor(X,Y){this.modelId=X,this.config=Y,this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values:X,headers:Y,abortSignal:Q,providerOptions:J}){var G;let W=await DX(this.config.headers());try{let{responseHeaders:Z,value:$,rawValue:K}=await FF({url:this.getUrl(),headers:$F(W,Y!=null?Y:{},this.getModelConfigHeaders(),await DX(this.config.o11yHeaders)),body:{values:X,...J?{providerOptions:J}:{}},successfulResponseHandler:m7(Ry6),failedResponseHandler:$W({errorSchema:B.any(),errorToMessage:(H)=>H}),...Q&&{abortSignal:Q},fetch:this.config.fetch});return{embeddings:$.embeddings,usage:(G=$.usage)!=null?G:void 0,providerMetadata:$.providerMetadata,response:{headers:Z,body:K},warnings:[]}}catch(Z){throw await QK(Z,await dU(W))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},Ry6=l9(()=>Y9(B.object({embeddings:B.array(B.array(B.number())),usage:B.object({tokens:B.number()}).nullish(),providerMetadata:B.record(B.string(),B.record(B.string(),B.unknown())).optional()}))),Sy6=class{constructor(X,Y){this.modelId=X,this.config=Y,this.specificationVersion="v3",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:X,n:Y,size:Q,aspectRatio:J,seed:G,files:W,mask:Z,providerOptions:$,headers:K,abortSignal:H}){var F;let V=await DX(this.config.headers());try{let{responseHeaders:q,value:z,rawValue:D}=await FF({url:this.getUrl(),headers:$F(V,K!=null?K:{},this.getModelConfigHeaders(),await DX(this.config.o11yHeaders)),body:{prompt:X,n:Y,...Q&&{size:Q},...J&&{aspectRatio:J},...G&&{seed:G},...$&&{providerOptions:$},...W&&{files:W.map((N)=>WW1(N))},...Z&&{mask:WW1(Z)}},successfulResponseHandler:m7(ky6),failedResponseHandler:$W({errorSchema:B.any(),errorToMessage:(N)=>N}),...H&&{abortSignal:H},fetch:this.config.fetch});return{images:z.images,warnings:(F=z.warnings)!=null?F:[],providerMetadata:z.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:q}}}catch(q){throw QK(q,await dU(V))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}};function WW1(X){if(X.type==="file"&&X.data instanceof Uint8Array)return{...X,data:HF(X.data)};return X}var vy6=B.object({images:B.array(B.unknown()).optional()}).catchall(B.unknown()),ky6=B.object({images:B.array(B.string()),warnings:B.array(B.object({type:B.literal("other"),message:B.string()})).optional(),providerMetadata:B.record(B.string(),vy6).optional()}),_y6=l9(()=>Y9(B.object({query:B.union([B.string(),B.array(B.string())]).describe("Search query (string) or multiple queries (array of up to 5 strings). Multi-query searches return combined results from all queries."),max_results:B.number().optional().describe("Maximum number of search results to return (1-20, default: 10)"),max_tokens_per_page:B.number().optional().describe("Maximum number of tokens to extract per search result page (256-2048, default: 2048)"),max_tokens:B.number().optional().describe("Maximum total tokens across all search results (default: 25000, max: 1000000)"),country:B.string().optional().describe("Two-letter ISO 3166-1 alpha-2 country code for regional search results (e.g., 'US', 'GB', 'FR')"),search_domain_filter:B.array(B.string()).optional().describe("List of domains to include or exclude from search results (max 20). To include: ['nature.com', 'science.org']. To exclude: ['-example.com', '-spam.net']"),search_language_filter:B.array(B.string()).optional().describe("List of ISO 639-1 language codes to filter results (max 10, lowercase). Examples: ['en', 'fr', 'de']"),search_after_date:B.string().optional().describe("Include only results published after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),search_before_date:B.string().optional().describe("Include only results published before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),last_updated_after_filter:B.string().optional().describe("Include only results last updated after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),last_updated_before_filter:B.string().optional().describe("Include only results last updated before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),search_recency_filter:B.enum(["day","week","month","year"]).optional().describe("Filter results by relative time period. Cannot be used with search_after_date or search_before_date.")}))),yy6=l9(()=>Y9(B.union([B.object({results:B.array(B.object({title:B.string(),url:B.string(),snippet:B.string(),date:B.string().optional(),lastUpdated:B.string().optional()})),id:B.string()}),B.object({error:B.enum(["api_error","rate_limit","timeout","invalid_input","unknown"]),statusCode:B.number().optional(),message:B.string()})]))),by6=s51({id:"gateway.perplexity_search",inputSchema:_y6,outputSchema:yy6}),fy6=(X={})=>by6(X),hy6={perplexitySearch:fy6};async function xy6(){var X;return(X=zW1.getContext().headers)==null?void 0:X["x-vercel-id"]}var gy6="3.0.13",uy6="0.0.1";function my6(X={}){var Y,Q;let J=null,G=null,W=(Y=X.metadataCacheRefreshMillis)!=null?Y:300000,Z=0,$=(Q=e51(X.baseURL))!=null?Q:"https://ai-gateway.vercel.sh/v3/ai",K=async()=>{try{let N=await ly6(X);return XK({Authorization:`Bearer ${N.token}`,"ai-gateway-protocol-version":uy6,[qW1]:N.authMethod,...X.headers},`ai-sdk/gateway/${gy6}`)}catch(N){throw ey.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:N})}},H=()=>{let N=EP({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),L=EP({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),w=EP({settingValue:void 0,environmentVariableName:"VERCEL_REGION"});return async()=>{let C=await xy6();return{...N&&{"ai-o11y-deployment-id":N},...L&&{"ai-o11y-environment":L},...w&&{"ai-o11y-region":w},...C&&{"ai-o11y-request-id":C}}}},F=(N)=>{return new Cy6(N,{provider:"gateway",baseURL:$,headers:K,fetch:X.fetch,o11yHeaders:H()})},V=async()=>{var N,L,w;let C=(w=(L=(N=X._internal)==null?void 0:N.currentDate)==null?void 0:L.call(N).getTime())!=null?w:Date.now();if(!J||C-Z>W)Z=C,J=new GW1({baseURL:$,headers:K,fetch:X.fetch}).getAvailableModels().then((E)=>{return G=E,E}).catch(async(E)=>{throw await QK(E,await dU(await K()))});return G?Promise.resolve(G):J},q=async()=>{return new GW1({baseURL:$,headers:K,fetch:X.fetch}).getCredits().catch(async(N)=>{throw await QK(N,await dU(await K()))})},z=function(N){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return F(N)};z.specificationVersion="v3",z.getAvailableModels=V,z.getCredits=q,z.imageModel=(N)=>{return new Sy6(N,{provider:"gateway",baseURL:$,headers:K,fetch:X.fetch,o11yHeaders:H()})},z.languageModel=F;let D=(N)=>{return new Iy6(N,{provider:"gateway",baseURL:$,headers:K,fetch:X.fetch,o11yHeaders:H()})};return z.embeddingModel=D,z.textEmbeddingModel=D,z.tools=hy6,z}var BW1=my6();async function ly6(X){let Y=EP({settingValue:X.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(Y)return{token:Y,authMethod:"api-key"};return{token:await UW1.getVercelOidcToken(),authMethod:"oidc"}}a6();a6();a6();a6();a6();a6();var U71=t6(G1(),1),Z90=t6(G1(),1);a6();a6();var dy6=Object.defineProperty,py6=(X,Y)=>{for(var Q in Y)dy6(X,Q,{get:Y[Q],enumerable:!0})},AW1="AI_InvalidArgumentError",EW1=`vercel.ai.error.${AW1}`,cy6=Symbol.for(EW1),jW1,KW=class extends D1{constructor({parameter:X,value:Y,message:Q}){super({name:AW1,message:`Invalid argument for parameter ${X}: ${Q}`});this[jW1]=!0,this.parameter=X,this.value=Y}static isInstance(X){return D1.hasMarker(X,EW1)}};jW1=cy6;var ny6="AI_InvalidStreamPartError",iy6=`vercel.ai.error.${ny6}`,ay6=Symbol.for(iy6),ry6;ry6=ay6;var CW1="AI_InvalidToolApprovalError",IW1=`vercel.ai.error.${CW1}`,oy6=Symbol.for(IW1),RW1,sy6=class extends D1{constructor({approvalId:X}){super({name:CW1,message:`Tool approval response references unknown approvalId: "${X}". No matching tool-approval-request found in message history.`});this[RW1]=!0,this.approvalId=X}static isInstance(X){return D1.hasMarker(X,IW1)}};RW1=oy6;var SW1="AI_InvalidToolInputError",vW1=`vercel.ai.error.${SW1}`,ty6=Symbol.for(vW1),kW1,V90=class extends D1{constructor({toolInput:X,toolName:Y,cause:Q,message:J=`Invalid input for tool ${Y}: ${v5(Q)}`}){super({name:SW1,message:J,cause:Q});this[kW1]=!0,this.toolInput=X,this.toolName=Y}static isInstance(X){return D1.hasMarker(X,vW1)}};kW1=ty6;var _W1="AI_ToolCallNotFoundForApprovalError",yW1=`vercel.ai.error.${_W1}`,ey6=Symbol.for(yW1),bW1,fW1=class extends D1{constructor({toolCallId:X,approvalId:Y}){super({name:_W1,message:`Tool call "${X}" not found for approval request "${Y}".`});this[bW1]=!0,this.toolCallId=X,this.approvalId=Y}static isInstance(X){return D1.hasMarker(X,yW1)}};bW1=ey6;var Xb6="AI_NoImageGeneratedError",Yb6=`vercel.ai.error.${Xb6}`,Qb6=Symbol.for(Yb6),Jb6;Jb6=Qb6;var hW1="AI_NoObjectGeneratedError",xW1=`vercel.ai.error.${hW1}`,Gb6=Symbol.for(xW1),gW1,JK=class extends D1{constructor({message:X="No object generated.",cause:Y,text:Q,response:J,usage:G,finishReason:W}){super({name:hW1,message:X,cause:Y});this[gW1]=!0,this.text=Q,this.response=J,this.usage=G,this.finishReason=W}static isInstance(X){return D1.hasMarker(X,xW1)}};gW1=Gb6;var uW1="AI_NoOutputGeneratedError",mW1=`vercel.ai.error.${uW1}`,Wb6=Symbol.for(mW1),lW1,Zb6=class extends D1{constructor({message:X="No output generated.",cause:Y}={}){super({name:uW1,message:X,cause:Y});this[lW1]=!0}static isInstance(X){return D1.hasMarker(X,mW1)}};lW1=Wb6;var dW1="AI_NoSuchToolError",pW1=`vercel.ai.error.${dW1}`,$b6=Symbol.for(pW1),cW1,G90=class extends D1{constructor({toolName:X,availableTools:Y=void 0,message:Q=`Model tried to call unavailable tool '${X}'. ${Y===void 0?"No tools are available.":`Available tools: ${Y.join(", ")}.`}`}){super({name:dW1,message:Q});this[cW1]=!0,this.toolName=X,this.availableTools=Y}static isInstance(X){return D1.hasMarker(X,pW1)}};cW1=$b6;var nW1="AI_ToolCallRepairError",iW1=`vercel.ai.error.${nW1}`,Kb6=Symbol.for(iW1),aW1,Hb6=class extends D1{constructor({cause:X,originalError:Y,message:Q=`Error repairing tool call: ${v5(X)}`}){super({name:nW1,message:Q,cause:X});this[aW1]=!0,this.originalError=Y}static isInstance(X){return D1.hasMarker(X,iW1)}};aW1=Kb6;var Fb6=class extends D1{constructor(X){super({name:"AI_UnsupportedModelVersionError",message:`Unsupported model version ${X.version} for provider "${X.provider}" and model "${X.modelId}". AI SDK 5 only supports models that implement specification version "v2".`});this.version=X.version,this.provider=X.provider,this.modelId=X.modelId}},Vb6="AI_InvalidDataContentError",qb6=`vercel.ai.error.${Vb6}`,zb6=Symbol.for(qb6),Ub6;Ub6=zb6;var rW1="AI_InvalidMessageRoleError",oW1=`vercel.ai.error.${rW1}`,Bb6=Symbol.for(oW1),sW1,Db6=class extends D1{constructor({role:X,message:Y=`Invalid message role: '${X}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:rW1,message:Y});this[sW1]=!0,this.role=X}static isInstance(X){return D1.hasMarker(X,oW1)}};sW1=Bb6;var tW1="AI_MessageConversionError",eW1=`vercel.ai.error.${tW1}`,Nb6=Symbol.for(eW1),X71,Ob6=class extends D1{constructor({originalMessage:X,message:Y}){super({name:tW1,message:Y});this[X71]=!0,this.originalMessage=X}static isInstance(X){return D1.hasMarker(X,eW1)}};X71=Nb6;var Y71="AI_RetryError",Q71=`vercel.ai.error.${Y71}`,Lb6=Symbol.for(Q71),J71,DW1=class extends D1{constructor({message:X,reason:Y,errors:Q}){super({name:Y71,message:X});this[J71]=!0,this.reason=Y,this.errors=Q,this.lastError=Q[Q.length-1]}static isInstance(X){return D1.hasMarker(X,Q71)}};J71=Lb6;function wb6({warning:X,provider:Y,model:Q}){let J=`AI SDK Warning (${Y} / ${Q}):`;switch(X.type){case"unsupported":{let G=`${J} The feature "${X.feature}" is not supported.`;if(X.details)G+=` ${X.details}`;return G}case"compatibility":{let G=`${J} The feature "${X.feature}" is used in a compatibility mode.`;if(X.details)G+=` ${X.details}`;return G}case"other":return`${J} ${X.message}`;default:return`${J} ${JSON.stringify(X,null,2)}`}}var Mb6="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",NW1=!1,G71=(X)=>{if(X.warnings.length===0)return;let Y=globalThis.AI_SDK_LOG_WARNINGS;if(Y===!1)return;if(typeof Y==="function"){Y(X);return}if(!NW1)NW1=!0,console.info(Mb6);for(let Q of X.warnings)console.warn(wb6({warning:Q,provider:X.provider,model:X.model}))};function Pb6({provider:X,modelId:Y}){G71({warnings:[{type:"compatibility",feature:"specificationVersion",details:"Using v2 specification compatibility mode. Some features may not be available."}],provider:X,model:Y})}function Tb6(X){if(X.specificationVersion==="v3")return X;return Pb6({provider:X.provider,modelId:X.modelId}),new Proxy(X,{get(Y,Q){switch(Q){case"specificationVersion":return"v3";case"doGenerate":return async(...J)=>{let G=await Y.doGenerate(...J);return{...G,finishReason:W71(G.finishReason),usage:Z71(G.usage)}};case"doStream":return async(...J)=>{let G=await Y.doStream(...J);return{...G,stream:Ab6(G.stream)}};default:return Y[Q]}}})}function Ab6(X){return X.pipeThrough(new TransformStream({transform(Y,Q){switch(Y.type){case"finish":Q.enqueue({...Y,finishReason:W71(Y.finishReason),usage:Z71(Y.usage)});break;default:Q.enqueue(Y);break}}}))}function W71(X){return{unified:X==="unknown"?"other":X,raw:void 0}}function Z71(X){return{inputTokens:{total:X.inputTokens,noCache:void 0,cacheRead:X.cachedInputTokens,cacheWrite:void 0},outputTokens:{total:X.outputTokens,text:void 0,reasoning:X.reasoningTokens}}}function $71(X){if(typeof X!=="string"){if(X.specificationVersion!=="v3"&&X.specificationVersion!=="v2"){let Y=X;throw new Fb6({version:Y.specificationVersion,provider:Y.provider,modelId:Y.modelId})}return Tb6(X)}return Eb6().languageModel(X)}function Eb6(){var X;return(X=globalThis.AI_SDK_DEFAULT_PROVIDER)!=null?X:BW1}function K71(X){if(X==null)return;if(typeof X==="number")return X;return X.totalMs}function jb6(X){if(X==null||typeof X==="number")return;return X.stepMs}function Cb6(X){if(X==null||typeof X==="number")return;return X.chunkMs}var Ib6=[{mediaType:"image/gif",bytesPrefix:[71,73,70]},{mediaType:"image/png",bytesPrefix:[137,80,78,71]},{mediaType:"image/jpeg",bytesPrefix:[255,216]},{mediaType:"image/webp",bytesPrefix:[82,73,70,70,null,null,null,null,87,69,66,80]},{mediaType:"image/bmp",bytesPrefix:[66,77]},{mediaType:"image/tiff",bytesPrefix:[73,73,42,0]},{mediaType:"image/tiff",bytesPrefix:[77,77,0,42]},{mediaType:"image/avif",bytesPrefix:[0,0,0,32,102,116,121,112,97,118,105,102]},{mediaType:"image/heic",bytesPrefix:[0,0,0,32,102,116,121,112,104,101,105,99]}];var Rb6=(X)=>{let Y=typeof X==="string"?uU(X):X,Q=(Y[6]&127)<<21|(Y[7]&127)<<14|(Y[8]&127)<<7|Y[9]&127;return Y.slice(Q+10)};function Sb6(X){return typeof X==="string"&&X.startsWith("SUQz")||typeof X!=="string"&&X.length>10&&X[0]===73&&X[1]===68&&X[2]===51?Rb6(X):X}function vb6({data:X,signatures:Y}){let Q=Sb6(X),J=typeof Q==="string"?uU(Q.substring(0,Math.min(Q.length,24))):Q;for(let G of Y)if(J.length>=G.bytesPrefix.length&&G.bytesPrefix.every((W,Z)=>W===null||J[Z]===W))return G.mediaType;return}var kb6="6.0.33",_b6=async({url:X})=>{var Y;let Q=X.toString();try{let J=await fetch(Q,{headers:XK({},`ai-sdk/${kb6}`,ny())});if(!J.ok)throw new cy({url:Q,statusCode:J.status,statusText:J.statusText});return{data:new Uint8Array(await J.arrayBuffer()),mediaType:(Y=J.headers.get("content-type"))!=null?Y:void 0}}catch(J){if(cy.isInstance(J))throw J;throw new cy({url:Q,cause:J})}},yb6=(X=_b6)=>(Y)=>Promise.all(Y.map(async(Q)=>Q.isUrlSupportedByModel?null:X(Q)));function bb6(X){try{let[Y,Q]=X.split(",");return{mediaType:Y.split(";")[0].split(":")[1],base64Content:Q}}catch(Y){return{mediaType:void 0,base64Content:void 0}}}var H71=B.union([B.string(),B.instanceof(Uint8Array),B.instanceof(ArrayBuffer),B.custom((X)=>{var Y,Q;return(Q=(Y=globalThis.Buffer)==null?void 0:Y.isBuffer(X))!=null?Q:!1},{message:"Must be a Buffer"})]);function F71(X){if(X instanceof Uint8Array)return{data:X,mediaType:void 0};if(X instanceof ArrayBuffer)return{data:new Uint8Array(X),mediaType:void 0};if(typeof X==="string")try{X=new URL(X)}catch(Y){}if(X instanceof URL&&X.protocol==="data:"){let{mediaType:Y,base64Content:Q}=bb6(X.toString());if(Y==null||Q==null)throw new D1({name:"InvalidDataContentError",message:`Invalid data URL format in content ${X.toString()}`});return{data:Q,mediaType:Y}}return{data:X,mediaType:void 0}}function fb6(X){if(typeof X==="string")return X;if(X instanceof ArrayBuffer)return HF(new Uint8Array(X));return HF(X)}function Yb(X){return X===void 0?[]:Array.isArray(X)?X:[X]}async function hb6({prompt:X,supportedUrls:Y,download:Q=yb6()}){let J=await gb6(X.messages,Q,Y),G=[...X.system!=null?typeof X.system==="string"?[{role:"system",content:X.system}]:Yb(X.system).map((Z)=>({role:"system",content:Z.content,providerOptions:Z.providerOptions})):[],...X.messages.map((Z)=>xb6({message:Z,downloadedAssets:J}))],W=[];for(let Z of G){if(Z.role!=="tool"){W.push(Z);continue}let $=W.at(-1);if(($==null?void 0:$.role)==="tool")$.content.push(...Z.content);else W.push(Z)}return W}function xb6({message:X,downloadedAssets:Y}){let Q=X.role;switch(Q){case"system":return{role:"system",content:X.content,providerOptions:X.providerOptions};case"user":{if(typeof X.content==="string")return{role:"user",content:[{type:"text",text:X.content}],providerOptions:X.providerOptions};return{role:"user",content:X.content.map((J)=>ub6(J,Y)).filter((J)=>J.type!=="text"||J.text!==""),providerOptions:X.providerOptions}}case"assistant":{if(typeof X.content==="string")return{role:"assistant",content:[{type:"text",text:X.content}],providerOptions:X.providerOptions};return{role:"assistant",content:X.content.filter((J)=>J.type!=="text"||J.text!==""||J.providerOptions!=null).filter((J)=>J.type!=="tool-approval-request").map((J)=>{let G=J.providerOptions;switch(J.type){case"file":{let{data:W,mediaType:Z}=F71(J.data);return{type:"file",data:W,filename:J.filename,mediaType:Z!=null?Z:J.mediaType,providerOptions:G}}case"reasoning":return{type:"reasoning",text:J.text,providerOptions:G};case"text":return{type:"text",text:J.text,providerOptions:G};case"tool-call":return{type:"tool-call",toolCallId:J.toolCallId,toolName:J.toolName,input:J.input,providerExecuted:J.providerExecuted,providerOptions:G};case"tool-result":return{type:"tool-result",toolCallId:J.toolCallId,toolName:J.toolName,output:OW1(J.output),providerOptions:G}}}),providerOptions:X.providerOptions}}case"tool":return{role:"tool",content:X.content.filter((J)=>J.type!=="tool-approval-response"||J.providerExecuted).map((J)=>{switch(J.type){case"tool-result":return{type:"tool-result",toolCallId:J.toolCallId,toolName:J.toolName,output:OW1(J.output),providerOptions:J.providerOptions};case"tool-approval-response":return{type:"tool-approval-response",approvalId:J.approvalId,approved:J.approved,reason:J.reason}}}),providerOptions:X.providerOptions};default:throw new Db6({role:Q})}}async function gb6(X,Y,Q){let J=X.filter((W)=>W.role==="user").map((W)=>W.content).filter((W)=>Array.isArray(W)).flat().filter((W)=>W.type==="image"||W.type==="file").map((W)=>{var Z;let $=(Z=W.mediaType)!=null?Z:W.type==="image"?"image/*":void 0,K=W.type==="image"?W.image:W.data;if(typeof K==="string")try{K=new URL(K)}catch(H){}return{mediaType:$,data:K}}).filter((W)=>W.data instanceof URL).map((W)=>({url:W.data,isUrlSupportedByModel:W.mediaType!=null&&p51({url:W.data.toString(),mediaType:W.mediaType,supportedUrls:Q})})),G=await Y(J);return Object.fromEntries(G.map((W,Z)=>W==null?null:[J[Z].url.toString(),{data:W.data,mediaType:W.mediaType}]).filter((W)=>W!=null))}function ub6(X,Y){var Q;if(X.type==="text")return{type:"text",text:X.text,providerOptions:X.providerOptions};let J,G=X.type;switch(G){case"image":J=X.image;break;case"file":J=X.data;break;default:throw Error(`Unsupported part type: ${G}`)}let{data:W,mediaType:Z}=F71(J),$=Z!=null?Z:X.mediaType,K=W;if(K instanceof URL){let H=Y[K.toString()];if(H)K=H.data,$!=null||($=H.mediaType)}switch(G){case"image":{if(K instanceof Uint8Array||typeof K==="string")$=(Q=vb6({data:K,signatures:Ib6}))!=null?Q:$;return{type:"file",mediaType:$!=null?$:"image/*",filename:void 0,data:K,providerOptions:X.providerOptions}}case"file":{if($==null)throw Error("Media type is missing for file part");return{type:"file",mediaType:$,filename:X.filename,data:K,providerOptions:X.providerOptions}}}}function OW1(X){if(X.type!=="content")return X;return{type:"content",value:X.value.map((Y)=>{if(Y.type!=="media")return Y;if(Y.mediaType.startsWith("image/"))return{type:"image-data",data:Y.data,mediaType:Y.mediaType};return{type:"file-data",data:Y.data,mediaType:Y.mediaType}})}}async function cU({toolCallId:X,input:Y,output:Q,tool:J,errorMode:G}){if(G==="text")return{type:"error-text",value:v5(Q)};else if(G==="json")return{type:"error-json",value:LW1(Q)};if(J==null?void 0:J.toModelOutput)return await J.toModelOutput({toolCallId:X,input:Y,output:Q});return typeof Q==="string"?{type:"text",value:Q}:{type:"json",value:LW1(Q)}}function LW1(X){return X===void 0?null:X}function mb6({maxOutputTokens:X,temperature:Y,topP:Q,topK:J,presencePenalty:G,frequencyPenalty:W,seed:Z,stopSequences:$}){if(X!=null){if(!Number.isInteger(X))throw new KW({parameter:"maxOutputTokens",value:X,message:"maxOutputTokens must be an integer"});if(X<1)throw new KW({parameter:"maxOutputTokens",value:X,message:"maxOutputTokens must be >= 1"})}if(Y!=null){if(typeof Y!=="number")throw new KW({parameter:"temperature",value:Y,message:"temperature must be a number"})}if(Q!=null){if(typeof Q!=="number")throw new KW({parameter:"topP",value:Q,message:"topP must be a number"})}if(J!=null){if(typeof J!=="number")throw new KW({parameter:"topK",value:J,message:"topK must be a number"})}if(G!=null){if(typeof G!=="number")throw new KW({parameter:"presencePenalty",value:G,message:"presencePenalty must be a number"})}if(W!=null){if(typeof W!=="number")throw new KW({parameter:"frequencyPenalty",value:W,message:"frequencyPenalty must be a number"})}if(Z!=null){if(!Number.isInteger(Z))throw new KW({parameter:"seed",value:Z,message:"seed must be an integer"})}return{maxOutputTokens:X,temperature:Y,topP:Q,topK:J,presencePenalty:G,frequencyPenalty:W,stopSequences:$,seed:Z}}function lb6(X){return X!=null&&Object.keys(X).length>0}async function db6({tools:X,toolChoice:Y,activeTools:Q}){if(!lb6(X))return{tools:void 0,toolChoice:void 0};let J=Q!=null?Object.entries(X).filter(([W])=>Q.includes(W)):Object.entries(X),G=[];for(let[W,Z]of J){let $=Z.type;switch($){case void 0:case"dynamic":case"function":G.push({type:"function",name:W,description:Z.description,inputSchema:await ZW(Z.inputSchema).jsonSchema,...Z.inputExamples!=null?{inputExamples:Z.inputExamples}:{},providerOptions:Z.providerOptions,...Z.strict!=null?{strict:Z.strict}:{}});break;case"provider":G.push({type:"provider",name:W,id:Z.id,args:Z.args});break;default:throw Error(`Unsupported tool type: ${$}`)}}return{tools:G,toolChoice:Y==null?{type:"auto"}:typeof Y==="string"?{type:Y}:{type:"tool",toolName:Y.toolName}}}var _P=B.lazy(()=>B.union([B.null(),B.string(),B.number(),B.boolean(),B.record(B.string(),_P.optional()),B.array(_P)])),n1=B.record(B.string(),B.record(B.string(),_P.optional())),V71=B.object({type:B.literal("text"),text:B.string(),providerOptions:n1.optional()}),pb6=B.object({type:B.literal("image"),image:B.union([H71,B.instanceof(URL)]),mediaType:B.string().optional(),providerOptions:n1.optional()}),q71=B.object({type:B.literal("file"),data:B.union([H71,B.instanceof(URL)]),filename:B.string().optional(),mediaType:B.string(),providerOptions:n1.optional()}),cb6=B.object({type:B.literal("reasoning"),text:B.string(),providerOptions:n1.optional()}),nb6=B.object({type:B.literal("tool-call"),toolCallId:B.string(),toolName:B.string(),input:B.unknown(),providerOptions:n1.optional(),providerExecuted:B.boolean().optional()}),ib6=B.discriminatedUnion("type",[B.object({type:B.literal("text"),value:B.string(),providerOptions:n1.optional()}),B.object({type:B.literal("json"),value:_P,providerOptions:n1.optional()}),B.object({type:B.literal("execution-denied"),reason:B.string().optional(),providerOptions:n1.optional()}),B.object({type:B.literal("error-text"),value:B.string(),providerOptions:n1.optional()}),B.object({type:B.literal("error-json"),value:_P,providerOptions:n1.optional()}),B.object({type:B.literal("content"),value:B.array(B.union([B.object({type:B.literal("text"),text:B.string(),providerOptions:n1.optional()}),B.object({type:B.literal("media"),data:B.string(),mediaType:B.string()}),B.object({type:B.literal("file-data"),data:B.string(),mediaType:B.string(),filename:B.string().optional(),providerOptions:n1.optional()}),B.object({type:B.literal("file-url"),url:B.string(),providerOptions:n1.optional()}),B.object({type:B.literal("file-id"),fileId:B.union([B.string(),B.record(B.string(),B.string())]),providerOptions:n1.optional()}),B.object({type:B.literal("image-data"),data:B.string(),mediaType:B.string(),providerOptions:n1.optional()}),B.object({type:B.literal("image-url"),url:B.string(),providerOptions:n1.optional()}),B.object({type:B.literal("image-file-id"),fileId:B.union([B.string(),B.record(B.string(),B.string())]),providerOptions:n1.optional()}),B.object({type:B.literal("custom"),providerOptions:n1.optional()})]))})]),z71=B.object({type:B.literal("tool-result"),toolCallId:B.string(),toolName:B.string(),output:ib6,providerOptions:n1.optional()}),ab6=B.object({type:B.literal("tool-approval-request"),approvalId:B.string(),toolCallId:B.string()}),rb6=B.object({type:B.literal("tool-approval-response"),approvalId:B.string(),approved:B.boolean(),reason:B.string().optional()}),ob6=B.object({role:B.literal("system"),content:B.string(),providerOptions:n1.optional()}),sb6=B.object({role:B.literal("user"),content:B.union([B.string(),B.array(B.union([V71,pb6,q71]))]),providerOptions:n1.optional()}),tb6=B.object({role:B.literal("assistant"),content:B.union([B.string(),B.array(B.union([V71,q71,cb6,nb6,z71,ab6]))]),providerOptions:n1.optional()}),eb6=B.object({role:B.literal("tool"),content:B.array(B.union([z71,rb6])),providerOptions:n1.optional()}),Xf6=B.union([ob6,sb6,tb6,eb6]);async function Yf6(X){if(X.prompt==null&&X.messages==null)throw new WF({prompt:X,message:"prompt or messages must be defined"});if(X.prompt!=null&&X.messages!=null)throw new WF({prompt:X,message:"prompt and messages cannot be defined at the same time"});if(X.system!=null&&typeof X.system!=="string"&&!Yb(X.system).every((J)=>typeof J==="object"&&J!==null&&("role"in J)&&J.role==="system"))throw new WF({prompt:X,message:"system must be a string, SystemModelMessage, or array of SystemModelMessage"});let Y;if(X.prompt!=null&&typeof X.prompt==="string")Y=[{role:"user",content:X.prompt}];else if(X.prompt!=null&&Array.isArray(X.prompt))Y=X.prompt;else if(X.messages!=null)Y=X.messages;else throw new WF({prompt:X,message:"prompt or messages must be defined"});if(Y.length===0)throw new WF({prompt:X,message:"messages must not be empty"});let Q=await wY({value:Y,schema:B.array(Xf6)});if(!Q.success)throw new WF({prompt:X,message:"The messages do not match the ModelMessage[] schema.",cause:Q.error});return{messages:Y,system:X.system}}function Qf6(X){if(!ey.isInstance(X))return X;let Y=(process==null?void 0:"production")==="production",Q="https://ai-sdk.dev/unauthenticated-ai-gateway";if(Y)return new D1({name:"GatewayError",message:`Unauthenticated. Configure AI_GATEWAY_API_KEY or use a provider module. Learn more: ${Q}`});return Object.assign(Error(`\x1B[1m\x1B[31mUnauthenticated request to AI Gateway.\x1B[0m
1065
+ Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.`;return new X({message:Z,statusCode:G,cause:W})}},$W1="GatewayInvalidRequestError",qy6=`vercel.ai.gateway.error.${$W1}`,mG1=Symbol.for(qy6),lG1,dG1,zy6=class extends(dG1=fQ,lG1=mG1,dG1){constructor({message:X="Invalid request",statusCode:Y=400,cause:Q}={}){super({message:X,statusCode:Y,cause:Q});this[lG1]=!0,this.name=$W1,this.type="invalid_request_error"}static isInstance(X){return fQ.hasMarker(X)&&mG1 in X}},KW1="GatewayRateLimitError",Uy6=`vercel.ai.gateway.error.${KW1}`,pG1=Symbol.for(Uy6),cG1,nG1,By6=class extends(nG1=fQ,cG1=pG1,nG1){constructor({message:X="Rate limit exceeded",statusCode:Y=429,cause:Q}={}){super({message:X,statusCode:Y,cause:Q});this[cG1]=!0,this.name=KW1,this.type="rate_limit_exceeded"}static isInstance(X){return fQ.hasMarker(X)&&pG1 in X}},HW1="GatewayModelNotFoundError",Dy6=`vercel.ai.gateway.error.${HW1}`,iG1=Symbol.for(Dy6),Ny6=l9(()=>Y9(B.object({modelId:B.string()}))),aG1,rG1,Oy6=class extends(rG1=fQ,aG1=iG1,rG1){constructor({message:X="Model not found",statusCode:Y=404,modelId:Q,cause:J}={}){super({message:X,statusCode:Y,cause:J});this[aG1]=!0,this.name=HW1,this.type="model_not_found",this.modelId=Q}static isInstance(X){return fQ.hasMarker(X)&&iG1 in X}},FW1="GatewayInternalServerError",Ly6=`vercel.ai.gateway.error.${FW1}`,oG1=Symbol.for(Ly6),sG1,tG1,eG1=class extends(tG1=fQ,sG1=oG1,tG1){constructor({message:X="Internal server error",statusCode:Y=500,cause:Q}={}){super({message:X,statusCode:Y,cause:Q});this[sG1]=!0,this.name=FW1,this.type="internal_server_error"}static isInstance(X){return fQ.hasMarker(X)&&oG1 in X}},VW1="GatewayResponseError",wy6=`vercel.ai.gateway.error.${VW1}`,XW1=Symbol.for(wy6),YW1,QW1,My6=class extends(QW1=fQ,YW1=XW1,QW1){constructor({message:X="Invalid response from Gateway",statusCode:Y=502,response:Q,validationError:J,cause:G}={}){super({message:X,statusCode:Y,cause:G});this[YW1]=!0,this.name=VW1,this.type="response_error",this.response=Q,this.validationError=J}static isInstance(X){return fQ.hasMarker(X)&&XW1 in X}};async function JW1({response:X,statusCode:Y,defaultMessage:Q="Gateway request failed",cause:J,authMethod:G}){let W=await wY({value:X,schema:Py6});if(!W.success)return new My6({message:`Invalid error response format: ${Q}`,statusCode:Y,response:X,validationError:W.error,cause:J});let Z=W.value,$=Z.error.type,K=Z.error.message;switch($){case"authentication_error":return ey.createContextualError({apiKeyProvided:G==="api-key",oidcTokenProvided:G==="oidc",statusCode:Y,cause:J});case"invalid_request_error":return new zy6({message:K,statusCode:Y,cause:J});case"rate_limit_exceeded":return new By6({message:K,statusCode:Y,cause:J});case"model_not_found":{let H=await wY({value:Z.error.param,schema:Ny6});return new Oy6({message:K,statusCode:Y,modelId:H.success?H.value.modelId:void 0,cause:J})}case"internal_server_error":return new eG1({message:K,statusCode:Y,cause:J});default:return new eG1({message:K,statusCode:Y,cause:J})}}var Py6=l9(()=>Y9(B.object({error:B.object({message:B.string(),type:B.string().nullish(),param:B.unknown().nullish(),code:B.union([B.string(),B.number()]).nullish()})})));function QK(X,Y){var Q;if(fQ.isInstance(X))return X;if(i8.isInstance(X))return JW1({response:Ty6(X),statusCode:(Q=X.statusCode)!=null?Q:500,defaultMessage:"Gateway request failed",cause:X,authMethod:Y});return JW1({response:{},statusCode:500,defaultMessage:X instanceof Error?`Gateway request failed: ${X.message}`:"Unknown Gateway error",cause:X,authMethod:Y})}function Ty6(X){if(X.data!==void 0)return X.data;if(X.responseBody!=null)try{return JSON.parse(X.responseBody)}catch(Y){return X.responseBody}return{}}var qW1="ai-gateway-auth-method";async function dU(X){let Y=await wY({value:X[qW1],schema:Ay6});return Y.success?Y.value:void 0}var Ay6=l9(()=>Y9(B.union([B.literal("api-key"),B.literal("oidc")]))),GW1=class{constructor(X){this.config=X}async getAvailableModels(){try{let{value:X}=await b80({url:`${this.config.baseURL}/config`,headers:await DX(this.config.headers()),successfulResponseHandler:m7(Ey6),failedResponseHandler:$W({errorSchema:B.any(),errorToMessage:(Y)=>Y}),fetch:this.config.fetch});return X}catch(X){throw await QK(X)}}async getCredits(){try{let X=new URL(this.config.baseURL),{value:Y}=await b80({url:`${X.origin}/v1/credits`,headers:await DX(this.config.headers()),successfulResponseHandler:m7(jy6),failedResponseHandler:$W({errorSchema:B.any(),errorToMessage:(Q)=>Q}),fetch:this.config.fetch});return Y}catch(X){throw await QK(X)}}},Ey6=l9(()=>Y9(B.object({models:B.array(B.object({id:B.string(),name:B.string(),description:B.string().nullish(),pricing:B.object({input:B.string(),output:B.string(),input_cache_read:B.string().nullish(),input_cache_write:B.string().nullish()}).transform(({input:X,output:Y,input_cache_read:Q,input_cache_write:J})=>({input:X,output:Y,...Q?{cachedInputTokens:Q}:{},...J?{cacheCreationInputTokens:J}:{}})).nullish(),specification:B.object({specificationVersion:B.literal("v3"),provider:B.string(),modelId:B.string()}),modelType:B.enum(["language","embedding","image"]).nullish()}))}))),jy6=l9(()=>Y9(B.object({balance:B.string(),total_used:B.string()}).transform(({balance:X,total_used:Y})=>({balance:X,totalUsed:Y})))),Cy6=class{constructor(X,Y){this.modelId=X,this.config=Y,this.specificationVersion="v3",this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(X){let{abortSignal:Y,...Q}=X;return{args:this.maybeEncodeFileParts(Q),warnings:[]}}async doGenerate(X){let{args:Y,warnings:Q}=await this.getArgs(X),{abortSignal:J}=X,G=await DX(this.config.headers());try{let{responseHeaders:W,value:Z,rawValue:$}=await FF({url:this.getUrl(),headers:$F(G,X.headers,this.getModelConfigHeaders(this.modelId,!1),await DX(this.config.o11yHeaders)),body:Y,successfulResponseHandler:m7(B.any()),failedResponseHandler:$W({errorSchema:B.any(),errorToMessage:(K)=>K}),...J&&{abortSignal:J},fetch:this.config.fetch});return{...Z,request:{body:Y},response:{headers:W,body:$},warnings:Q}}catch(W){throw await QK(W,await dU(G))}}async doStream(X){let{args:Y,warnings:Q}=await this.getArgs(X),{abortSignal:J}=X,G=await DX(this.config.headers());try{let{value:W,responseHeaders:Z}=await FF({url:this.getUrl(),headers:$F(G,X.headers,this.getModelConfigHeaders(this.modelId,!0),await DX(this.config.o11yHeaders)),body:Y,successfulResponseHandler:t51(B.any()),failedResponseHandler:$W({errorSchema:B.any(),errorToMessage:($)=>$}),...J&&{abortSignal:J},fetch:this.config.fetch});return{stream:W.pipeThrough(new TransformStream({start($){if(Q.length>0)$.enqueue({type:"stream-start",warnings:Q})},transform($,K){if($.success){let H=$.value;if(H.type==="raw"&&!X.includeRawChunks)return;if(H.type==="response-metadata"&&H.timestamp&&typeof H.timestamp==="string")H.timestamp=new Date(H.timestamp);K.enqueue(H)}else K.error($.error)}})),request:{body:Y},response:{headers:Z}}}catch(W){throw await QK(W,await dU(G))}}isFilePart(X){return X&&typeof X==="object"&&"type"in X&&X.type==="file"}maybeEncodeFileParts(X){for(let Y of X.prompt)for(let Q of Y.content)if(this.isFilePart(Q)){let J=Q;if(J.data instanceof Uint8Array){let G=Uint8Array.from(J.data),W=Buffer.from(G).toString("base64");J.data=new URL(`data:${J.mediaType||"application/octet-stream"};base64,${W}`)}}return X}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(X,Y){return{"ai-language-model-specification-version":"3","ai-language-model-id":X,"ai-language-model-streaming":String(Y)}}},Iy6=class{constructor(X,Y){this.modelId=X,this.config=Y,this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values:X,headers:Y,abortSignal:Q,providerOptions:J}){var G;let W=await DX(this.config.headers());try{let{responseHeaders:Z,value:$,rawValue:K}=await FF({url:this.getUrl(),headers:$F(W,Y!=null?Y:{},this.getModelConfigHeaders(),await DX(this.config.o11yHeaders)),body:{values:X,...J?{providerOptions:J}:{}},successfulResponseHandler:m7(Ry6),failedResponseHandler:$W({errorSchema:B.any(),errorToMessage:(H)=>H}),...Q&&{abortSignal:Q},fetch:this.config.fetch});return{embeddings:$.embeddings,usage:(G=$.usage)!=null?G:void 0,providerMetadata:$.providerMetadata,response:{headers:Z,body:K},warnings:[]}}catch(Z){throw await QK(Z,await dU(W))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},Ry6=l9(()=>Y9(B.object({embeddings:B.array(B.array(B.number())),usage:B.object({tokens:B.number()}).nullish(),providerMetadata:B.record(B.string(),B.record(B.string(),B.unknown())).optional()}))),Sy6=class{constructor(X,Y){this.modelId=X,this.config=Y,this.specificationVersion="v3",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:X,n:Y,size:Q,aspectRatio:J,seed:G,files:W,mask:Z,providerOptions:$,headers:K,abortSignal:H}){var F;let V=await DX(this.config.headers());try{let{responseHeaders:q,value:z,rawValue:D}=await FF({url:this.getUrl(),headers:$F(V,K!=null?K:{},this.getModelConfigHeaders(),await DX(this.config.o11yHeaders)),body:{prompt:X,n:Y,...Q&&{size:Q},...J&&{aspectRatio:J},...G&&{seed:G},...$&&{providerOptions:$},...W&&{files:W.map((N)=>WW1(N))},...Z&&{mask:WW1(Z)}},successfulResponseHandler:m7(ky6),failedResponseHandler:$W({errorSchema:B.any(),errorToMessage:(N)=>N}),...H&&{abortSignal:H},fetch:this.config.fetch});return{images:z.images,warnings:(F=z.warnings)!=null?F:[],providerMetadata:z.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:q}}}catch(q){throw QK(q,await dU(V))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}};function WW1(X){if(X.type==="file"&&X.data instanceof Uint8Array)return{...X,data:HF(X.data)};return X}var vy6=B.object({images:B.array(B.unknown()).optional()}).catchall(B.unknown()),ky6=B.object({images:B.array(B.string()),warnings:B.array(B.object({type:B.literal("other"),message:B.string()})).optional(),providerMetadata:B.record(B.string(),vy6).optional()}),_y6=l9(()=>Y9(B.object({query:B.union([B.string(),B.array(B.string())]).describe("Search query (string) or multiple queries (array of up to 5 strings). Multi-query searches return combined results from all queries."),max_results:B.number().optional().describe("Maximum number of search results to return (1-20, default: 10)"),max_tokens_per_page:B.number().optional().describe("Maximum number of tokens to extract per search result page (256-2048, default: 2048)"),max_tokens:B.number().optional().describe("Maximum total tokens across all search results (default: 25000, max: 1000000)"),country:B.string().optional().describe("Two-letter ISO 3166-1 alpha-2 country code for regional search results (e.g., 'US', 'GB', 'FR')"),search_domain_filter:B.array(B.string()).optional().describe("List of domains to include or exclude from search results (max 20). To include: ['nature.com', 'science.org']. To exclude: ['-example.com', '-spam.net']"),search_language_filter:B.array(B.string()).optional().describe("List of ISO 639-1 language codes to filter results (max 10, lowercase). Examples: ['en', 'fr', 'de']"),search_after_date:B.string().optional().describe("Include only results published after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),search_before_date:B.string().optional().describe("Include only results published before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),last_updated_after_filter:B.string().optional().describe("Include only results last updated after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),last_updated_before_filter:B.string().optional().describe("Include only results last updated before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),search_recency_filter:B.enum(["day","week","month","year"]).optional().describe("Filter results by relative time period. Cannot be used with search_after_date or search_before_date.")}))),yy6=l9(()=>Y9(B.union([B.object({results:B.array(B.object({title:B.string(),url:B.string(),snippet:B.string(),date:B.string().optional(),lastUpdated:B.string().optional()})),id:B.string()}),B.object({error:B.enum(["api_error","rate_limit","timeout","invalid_input","unknown"]),statusCode:B.number().optional(),message:B.string()})]))),by6=s51({id:"gateway.perplexity_search",inputSchema:_y6,outputSchema:yy6}),fy6=(X={})=>by6(X),hy6={perplexitySearch:fy6};async function xy6(){var X;return(X=zW1.getContext().headers)==null?void 0:X["x-vercel-id"]}var gy6="3.0.14",uy6="0.0.1";function my6(X={}){var Y,Q;let J=null,G=null,W=(Y=X.metadataCacheRefreshMillis)!=null?Y:300000,Z=0,$=(Q=e51(X.baseURL))!=null?Q:"https://ai-gateway.vercel.sh/v3/ai",K=async()=>{try{let N=await ly6(X);return XK({Authorization:`Bearer ${N.token}`,"ai-gateway-protocol-version":uy6,[qW1]:N.authMethod,...X.headers},`ai-sdk/gateway/${gy6}`)}catch(N){throw ey.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:N})}},H=()=>{let N=EP({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),L=EP({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),w=EP({settingValue:void 0,environmentVariableName:"VERCEL_REGION"});return async()=>{let C=await xy6();return{...N&&{"ai-o11y-deployment-id":N},...L&&{"ai-o11y-environment":L},...w&&{"ai-o11y-region":w},...C&&{"ai-o11y-request-id":C}}}},F=(N)=>{return new Cy6(N,{provider:"gateway",baseURL:$,headers:K,fetch:X.fetch,o11yHeaders:H()})},V=async()=>{var N,L,w;let C=(w=(L=(N=X._internal)==null?void 0:N.currentDate)==null?void 0:L.call(N).getTime())!=null?w:Date.now();if(!J||C-Z>W)Z=C,J=new GW1({baseURL:$,headers:K,fetch:X.fetch}).getAvailableModels().then((E)=>{return G=E,E}).catch(async(E)=>{throw await QK(E,await dU(await K()))});return G?Promise.resolve(G):J},q=async()=>{return new GW1({baseURL:$,headers:K,fetch:X.fetch}).getCredits().catch(async(N)=>{throw await QK(N,await dU(await K()))})},z=function(N){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return F(N)};z.specificationVersion="v3",z.getAvailableModels=V,z.getCredits=q,z.imageModel=(N)=>{return new Sy6(N,{provider:"gateway",baseURL:$,headers:K,fetch:X.fetch,o11yHeaders:H()})},z.languageModel=F;let D=(N)=>{return new Iy6(N,{provider:"gateway",baseURL:$,headers:K,fetch:X.fetch,o11yHeaders:H()})};return z.embeddingModel=D,z.textEmbeddingModel=D,z.tools=hy6,z}var BW1=my6();async function ly6(X){let Y=EP({settingValue:X.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(Y)return{token:Y,authMethod:"api-key"};return{token:await UW1.getVercelOidcToken(),authMethod:"oidc"}}a6();a6();a6();a6();a6();a6();var U71=t6(G1(),1),Z90=t6(G1(),1);a6();a6();var dy6=Object.defineProperty,py6=(X,Y)=>{for(var Q in Y)dy6(X,Q,{get:Y[Q],enumerable:!0})},AW1="AI_InvalidArgumentError",EW1=`vercel.ai.error.${AW1}`,cy6=Symbol.for(EW1),jW1,KW=class extends D1{constructor({parameter:X,value:Y,message:Q}){super({name:AW1,message:`Invalid argument for parameter ${X}: ${Q}`});this[jW1]=!0,this.parameter=X,this.value=Y}static isInstance(X){return D1.hasMarker(X,EW1)}};jW1=cy6;var ny6="AI_InvalidStreamPartError",iy6=`vercel.ai.error.${ny6}`,ay6=Symbol.for(iy6),ry6;ry6=ay6;var CW1="AI_InvalidToolApprovalError",IW1=`vercel.ai.error.${CW1}`,oy6=Symbol.for(IW1),RW1,sy6=class extends D1{constructor({approvalId:X}){super({name:CW1,message:`Tool approval response references unknown approvalId: "${X}". No matching tool-approval-request found in message history.`});this[RW1]=!0,this.approvalId=X}static isInstance(X){return D1.hasMarker(X,IW1)}};RW1=oy6;var SW1="AI_InvalidToolInputError",vW1=`vercel.ai.error.${SW1}`,ty6=Symbol.for(vW1),kW1,V90=class extends D1{constructor({toolInput:X,toolName:Y,cause:Q,message:J=`Invalid input for tool ${Y}: ${v5(Q)}`}){super({name:SW1,message:J,cause:Q});this[kW1]=!0,this.toolInput=X,this.toolName=Y}static isInstance(X){return D1.hasMarker(X,vW1)}};kW1=ty6;var _W1="AI_ToolCallNotFoundForApprovalError",yW1=`vercel.ai.error.${_W1}`,ey6=Symbol.for(yW1),bW1,fW1=class extends D1{constructor({toolCallId:X,approvalId:Y}){super({name:_W1,message:`Tool call "${X}" not found for approval request "${Y}".`});this[bW1]=!0,this.toolCallId=X,this.approvalId=Y}static isInstance(X){return D1.hasMarker(X,yW1)}};bW1=ey6;var Xb6="AI_NoImageGeneratedError",Yb6=`vercel.ai.error.${Xb6}`,Qb6=Symbol.for(Yb6),Jb6;Jb6=Qb6;var hW1="AI_NoObjectGeneratedError",xW1=`vercel.ai.error.${hW1}`,Gb6=Symbol.for(xW1),gW1,JK=class extends D1{constructor({message:X="No object generated.",cause:Y,text:Q,response:J,usage:G,finishReason:W}){super({name:hW1,message:X,cause:Y});this[gW1]=!0,this.text=Q,this.response=J,this.usage=G,this.finishReason=W}static isInstance(X){return D1.hasMarker(X,xW1)}};gW1=Gb6;var uW1="AI_NoOutputGeneratedError",mW1=`vercel.ai.error.${uW1}`,Wb6=Symbol.for(mW1),lW1,Zb6=class extends D1{constructor({message:X="No output generated.",cause:Y}={}){super({name:uW1,message:X,cause:Y});this[lW1]=!0}static isInstance(X){return D1.hasMarker(X,mW1)}};lW1=Wb6;var dW1="AI_NoSuchToolError",pW1=`vercel.ai.error.${dW1}`,$b6=Symbol.for(pW1),cW1,G90=class extends D1{constructor({toolName:X,availableTools:Y=void 0,message:Q=`Model tried to call unavailable tool '${X}'. ${Y===void 0?"No tools are available.":`Available tools: ${Y.join(", ")}.`}`}){super({name:dW1,message:Q});this[cW1]=!0,this.toolName=X,this.availableTools=Y}static isInstance(X){return D1.hasMarker(X,pW1)}};cW1=$b6;var nW1="AI_ToolCallRepairError",iW1=`vercel.ai.error.${nW1}`,Kb6=Symbol.for(iW1),aW1,Hb6=class extends D1{constructor({cause:X,originalError:Y,message:Q=`Error repairing tool call: ${v5(X)}`}){super({name:nW1,message:Q,cause:X});this[aW1]=!0,this.originalError=Y}static isInstance(X){return D1.hasMarker(X,iW1)}};aW1=Kb6;var Fb6=class extends D1{constructor(X){super({name:"AI_UnsupportedModelVersionError",message:`Unsupported model version ${X.version} for provider "${X.provider}" and model "${X.modelId}". AI SDK 5 only supports models that implement specification version "v2".`});this.version=X.version,this.provider=X.provider,this.modelId=X.modelId}},Vb6="AI_InvalidDataContentError",qb6=`vercel.ai.error.${Vb6}`,zb6=Symbol.for(qb6),Ub6;Ub6=zb6;var rW1="AI_InvalidMessageRoleError",oW1=`vercel.ai.error.${rW1}`,Bb6=Symbol.for(oW1),sW1,Db6=class extends D1{constructor({role:X,message:Y=`Invalid message role: '${X}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:rW1,message:Y});this[sW1]=!0,this.role=X}static isInstance(X){return D1.hasMarker(X,oW1)}};sW1=Bb6;var tW1="AI_MessageConversionError",eW1=`vercel.ai.error.${tW1}`,Nb6=Symbol.for(eW1),X71,Ob6=class extends D1{constructor({originalMessage:X,message:Y}){super({name:tW1,message:Y});this[X71]=!0,this.originalMessage=X}static isInstance(X){return D1.hasMarker(X,eW1)}};X71=Nb6;var Y71="AI_RetryError",Q71=`vercel.ai.error.${Y71}`,Lb6=Symbol.for(Q71),J71,DW1=class extends D1{constructor({message:X,reason:Y,errors:Q}){super({name:Y71,message:X});this[J71]=!0,this.reason=Y,this.errors=Q,this.lastError=Q[Q.length-1]}static isInstance(X){return D1.hasMarker(X,Q71)}};J71=Lb6;function wb6({warning:X,provider:Y,model:Q}){let J=`AI SDK Warning (${Y} / ${Q}):`;switch(X.type){case"unsupported":{let G=`${J} The feature "${X.feature}" is not supported.`;if(X.details)G+=` ${X.details}`;return G}case"compatibility":{let G=`${J} The feature "${X.feature}" is used in a compatibility mode.`;if(X.details)G+=` ${X.details}`;return G}case"other":return`${J} ${X.message}`;default:return`${J} ${JSON.stringify(X,null,2)}`}}var Mb6="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",NW1=!1,G71=(X)=>{if(X.warnings.length===0)return;let Y=globalThis.AI_SDK_LOG_WARNINGS;if(Y===!1)return;if(typeof Y==="function"){Y(X);return}if(!NW1)NW1=!0,console.info(Mb6);for(let Q of X.warnings)console.warn(wb6({warning:Q,provider:X.provider,model:X.model}))};function Pb6({provider:X,modelId:Y}){G71({warnings:[{type:"compatibility",feature:"specificationVersion",details:"Using v2 specification compatibility mode. Some features may not be available."}],provider:X,model:Y})}function Tb6(X){if(X.specificationVersion==="v3")return X;return Pb6({provider:X.provider,modelId:X.modelId}),new Proxy(X,{get(Y,Q){switch(Q){case"specificationVersion":return"v3";case"doGenerate":return async(...J)=>{let G=await Y.doGenerate(...J);return{...G,finishReason:W71(G.finishReason),usage:Z71(G.usage)}};case"doStream":return async(...J)=>{let G=await Y.doStream(...J);return{...G,stream:Ab6(G.stream)}};default:return Y[Q]}}})}function Ab6(X){return X.pipeThrough(new TransformStream({transform(Y,Q){switch(Y.type){case"finish":Q.enqueue({...Y,finishReason:W71(Y.finishReason),usage:Z71(Y.usage)});break;default:Q.enqueue(Y);break}}}))}function W71(X){return{unified:X==="unknown"?"other":X,raw:void 0}}function Z71(X){return{inputTokens:{total:X.inputTokens,noCache:void 0,cacheRead:X.cachedInputTokens,cacheWrite:void 0},outputTokens:{total:X.outputTokens,text:void 0,reasoning:X.reasoningTokens}}}function $71(X){if(typeof X!=="string"){if(X.specificationVersion!=="v3"&&X.specificationVersion!=="v2"){let Y=X;throw new Fb6({version:Y.specificationVersion,provider:Y.provider,modelId:Y.modelId})}return Tb6(X)}return Eb6().languageModel(X)}function Eb6(){var X;return(X=globalThis.AI_SDK_DEFAULT_PROVIDER)!=null?X:BW1}function K71(X){if(X==null)return;if(typeof X==="number")return X;return X.totalMs}function jb6(X){if(X==null||typeof X==="number")return;return X.stepMs}function Cb6(X){if(X==null||typeof X==="number")return;return X.chunkMs}var Ib6=[{mediaType:"image/gif",bytesPrefix:[71,73,70]},{mediaType:"image/png",bytesPrefix:[137,80,78,71]},{mediaType:"image/jpeg",bytesPrefix:[255,216]},{mediaType:"image/webp",bytesPrefix:[82,73,70,70,null,null,null,null,87,69,66,80]},{mediaType:"image/bmp",bytesPrefix:[66,77]},{mediaType:"image/tiff",bytesPrefix:[73,73,42,0]},{mediaType:"image/tiff",bytesPrefix:[77,77,0,42]},{mediaType:"image/avif",bytesPrefix:[0,0,0,32,102,116,121,112,97,118,105,102]},{mediaType:"image/heic",bytesPrefix:[0,0,0,32,102,116,121,112,104,101,105,99]}];var Rb6=(X)=>{let Y=typeof X==="string"?uU(X):X,Q=(Y[6]&127)<<21|(Y[7]&127)<<14|(Y[8]&127)<<7|Y[9]&127;return Y.slice(Q+10)};function Sb6(X){return typeof X==="string"&&X.startsWith("SUQz")||typeof X!=="string"&&X.length>10&&X[0]===73&&X[1]===68&&X[2]===51?Rb6(X):X}function vb6({data:X,signatures:Y}){let Q=Sb6(X),J=typeof Q==="string"?uU(Q.substring(0,Math.min(Q.length,24))):Q;for(let G of Y)if(J.length>=G.bytesPrefix.length&&G.bytesPrefix.every((W,Z)=>W===null||J[Z]===W))return G.mediaType;return}var kb6="6.0.34",_b6=async({url:X})=>{var Y;let Q=X.toString();try{let J=await fetch(Q,{headers:XK({},`ai-sdk/${kb6}`,ny())});if(!J.ok)throw new cy({url:Q,statusCode:J.status,statusText:J.statusText});return{data:new Uint8Array(await J.arrayBuffer()),mediaType:(Y=J.headers.get("content-type"))!=null?Y:void 0}}catch(J){if(cy.isInstance(J))throw J;throw new cy({url:Q,cause:J})}},yb6=(X=_b6)=>(Y)=>Promise.all(Y.map(async(Q)=>Q.isUrlSupportedByModel?null:X(Q)));function bb6(X){try{let[Y,Q]=X.split(",");return{mediaType:Y.split(";")[0].split(":")[1],base64Content:Q}}catch(Y){return{mediaType:void 0,base64Content:void 0}}}var H71=B.union([B.string(),B.instanceof(Uint8Array),B.instanceof(ArrayBuffer),B.custom((X)=>{var Y,Q;return(Q=(Y=globalThis.Buffer)==null?void 0:Y.isBuffer(X))!=null?Q:!1},{message:"Must be a Buffer"})]);function F71(X){if(X instanceof Uint8Array)return{data:X,mediaType:void 0};if(X instanceof ArrayBuffer)return{data:new Uint8Array(X),mediaType:void 0};if(typeof X==="string")try{X=new URL(X)}catch(Y){}if(X instanceof URL&&X.protocol==="data:"){let{mediaType:Y,base64Content:Q}=bb6(X.toString());if(Y==null||Q==null)throw new D1({name:"InvalidDataContentError",message:`Invalid data URL format in content ${X.toString()}`});return{data:Q,mediaType:Y}}return{data:X,mediaType:void 0}}function fb6(X){if(typeof X==="string")return X;if(X instanceof ArrayBuffer)return HF(new Uint8Array(X));return HF(X)}function Yb(X){return X===void 0?[]:Array.isArray(X)?X:[X]}async function hb6({prompt:X,supportedUrls:Y,download:Q=yb6()}){let J=await gb6(X.messages,Q,Y),G=[...X.system!=null?typeof X.system==="string"?[{role:"system",content:X.system}]:Yb(X.system).map((Z)=>({role:"system",content:Z.content,providerOptions:Z.providerOptions})):[],...X.messages.map((Z)=>xb6({message:Z,downloadedAssets:J}))],W=[];for(let Z of G){if(Z.role!=="tool"){W.push(Z);continue}let $=W.at(-1);if(($==null?void 0:$.role)==="tool")$.content.push(...Z.content);else W.push(Z)}return W}function xb6({message:X,downloadedAssets:Y}){let Q=X.role;switch(Q){case"system":return{role:"system",content:X.content,providerOptions:X.providerOptions};case"user":{if(typeof X.content==="string")return{role:"user",content:[{type:"text",text:X.content}],providerOptions:X.providerOptions};return{role:"user",content:X.content.map((J)=>ub6(J,Y)).filter((J)=>J.type!=="text"||J.text!==""),providerOptions:X.providerOptions}}case"assistant":{if(typeof X.content==="string")return{role:"assistant",content:[{type:"text",text:X.content}],providerOptions:X.providerOptions};return{role:"assistant",content:X.content.filter((J)=>J.type!=="text"||J.text!==""||J.providerOptions!=null).filter((J)=>J.type!=="tool-approval-request").map((J)=>{let G=J.providerOptions;switch(J.type){case"file":{let{data:W,mediaType:Z}=F71(J.data);return{type:"file",data:W,filename:J.filename,mediaType:Z!=null?Z:J.mediaType,providerOptions:G}}case"reasoning":return{type:"reasoning",text:J.text,providerOptions:G};case"text":return{type:"text",text:J.text,providerOptions:G};case"tool-call":return{type:"tool-call",toolCallId:J.toolCallId,toolName:J.toolName,input:J.input,providerExecuted:J.providerExecuted,providerOptions:G};case"tool-result":return{type:"tool-result",toolCallId:J.toolCallId,toolName:J.toolName,output:OW1(J.output),providerOptions:G}}}),providerOptions:X.providerOptions}}case"tool":return{role:"tool",content:X.content.filter((J)=>J.type!=="tool-approval-response"||J.providerExecuted).map((J)=>{switch(J.type){case"tool-result":return{type:"tool-result",toolCallId:J.toolCallId,toolName:J.toolName,output:OW1(J.output),providerOptions:J.providerOptions};case"tool-approval-response":return{type:"tool-approval-response",approvalId:J.approvalId,approved:J.approved,reason:J.reason}}}),providerOptions:X.providerOptions};default:throw new Db6({role:Q})}}async function gb6(X,Y,Q){let J=X.filter((W)=>W.role==="user").map((W)=>W.content).filter((W)=>Array.isArray(W)).flat().filter((W)=>W.type==="image"||W.type==="file").map((W)=>{var Z;let $=(Z=W.mediaType)!=null?Z:W.type==="image"?"image/*":void 0,K=W.type==="image"?W.image:W.data;if(typeof K==="string")try{K=new URL(K)}catch(H){}return{mediaType:$,data:K}}).filter((W)=>W.data instanceof URL).map((W)=>({url:W.data,isUrlSupportedByModel:W.mediaType!=null&&p51({url:W.data.toString(),mediaType:W.mediaType,supportedUrls:Q})})),G=await Y(J);return Object.fromEntries(G.map((W,Z)=>W==null?null:[J[Z].url.toString(),{data:W.data,mediaType:W.mediaType}]).filter((W)=>W!=null))}function ub6(X,Y){var Q;if(X.type==="text")return{type:"text",text:X.text,providerOptions:X.providerOptions};let J,G=X.type;switch(G){case"image":J=X.image;break;case"file":J=X.data;break;default:throw Error(`Unsupported part type: ${G}`)}let{data:W,mediaType:Z}=F71(J),$=Z!=null?Z:X.mediaType,K=W;if(K instanceof URL){let H=Y[K.toString()];if(H)K=H.data,$!=null||($=H.mediaType)}switch(G){case"image":{if(K instanceof Uint8Array||typeof K==="string")$=(Q=vb6({data:K,signatures:Ib6}))!=null?Q:$;return{type:"file",mediaType:$!=null?$:"image/*",filename:void 0,data:K,providerOptions:X.providerOptions}}case"file":{if($==null)throw Error("Media type is missing for file part");return{type:"file",mediaType:$,filename:X.filename,data:K,providerOptions:X.providerOptions}}}}function OW1(X){if(X.type!=="content")return X;return{type:"content",value:X.value.map((Y)=>{if(Y.type!=="media")return Y;if(Y.mediaType.startsWith("image/"))return{type:"image-data",data:Y.data,mediaType:Y.mediaType};return{type:"file-data",data:Y.data,mediaType:Y.mediaType}})}}async function cU({toolCallId:X,input:Y,output:Q,tool:J,errorMode:G}){if(G==="text")return{type:"error-text",value:v5(Q)};else if(G==="json")return{type:"error-json",value:LW1(Q)};if(J==null?void 0:J.toModelOutput)return await J.toModelOutput({toolCallId:X,input:Y,output:Q});return typeof Q==="string"?{type:"text",value:Q}:{type:"json",value:LW1(Q)}}function LW1(X){return X===void 0?null:X}function mb6({maxOutputTokens:X,temperature:Y,topP:Q,topK:J,presencePenalty:G,frequencyPenalty:W,seed:Z,stopSequences:$}){if(X!=null){if(!Number.isInteger(X))throw new KW({parameter:"maxOutputTokens",value:X,message:"maxOutputTokens must be an integer"});if(X<1)throw new KW({parameter:"maxOutputTokens",value:X,message:"maxOutputTokens must be >= 1"})}if(Y!=null){if(typeof Y!=="number")throw new KW({parameter:"temperature",value:Y,message:"temperature must be a number"})}if(Q!=null){if(typeof Q!=="number")throw new KW({parameter:"topP",value:Q,message:"topP must be a number"})}if(J!=null){if(typeof J!=="number")throw new KW({parameter:"topK",value:J,message:"topK must be a number"})}if(G!=null){if(typeof G!=="number")throw new KW({parameter:"presencePenalty",value:G,message:"presencePenalty must be a number"})}if(W!=null){if(typeof W!=="number")throw new KW({parameter:"frequencyPenalty",value:W,message:"frequencyPenalty must be a number"})}if(Z!=null){if(!Number.isInteger(Z))throw new KW({parameter:"seed",value:Z,message:"seed must be an integer"})}return{maxOutputTokens:X,temperature:Y,topP:Q,topK:J,presencePenalty:G,frequencyPenalty:W,stopSequences:$,seed:Z}}function lb6(X){return X!=null&&Object.keys(X).length>0}async function db6({tools:X,toolChoice:Y,activeTools:Q}){if(!lb6(X))return{tools:void 0,toolChoice:void 0};let J=Q!=null?Object.entries(X).filter(([W])=>Q.includes(W)):Object.entries(X),G=[];for(let[W,Z]of J){let $=Z.type;switch($){case void 0:case"dynamic":case"function":G.push({type:"function",name:W,description:Z.description,inputSchema:await ZW(Z.inputSchema).jsonSchema,...Z.inputExamples!=null?{inputExamples:Z.inputExamples}:{},providerOptions:Z.providerOptions,...Z.strict!=null?{strict:Z.strict}:{}});break;case"provider":G.push({type:"provider",name:W,id:Z.id,args:Z.args});break;default:throw Error(`Unsupported tool type: ${$}`)}}return{tools:G,toolChoice:Y==null?{type:"auto"}:typeof Y==="string"?{type:Y}:{type:"tool",toolName:Y.toolName}}}var _P=B.lazy(()=>B.union([B.null(),B.string(),B.number(),B.boolean(),B.record(B.string(),_P.optional()),B.array(_P)])),n1=B.record(B.string(),B.record(B.string(),_P.optional())),V71=B.object({type:B.literal("text"),text:B.string(),providerOptions:n1.optional()}),pb6=B.object({type:B.literal("image"),image:B.union([H71,B.instanceof(URL)]),mediaType:B.string().optional(),providerOptions:n1.optional()}),q71=B.object({type:B.literal("file"),data:B.union([H71,B.instanceof(URL)]),filename:B.string().optional(),mediaType:B.string(),providerOptions:n1.optional()}),cb6=B.object({type:B.literal("reasoning"),text:B.string(),providerOptions:n1.optional()}),nb6=B.object({type:B.literal("tool-call"),toolCallId:B.string(),toolName:B.string(),input:B.unknown(),providerOptions:n1.optional(),providerExecuted:B.boolean().optional()}),ib6=B.discriminatedUnion("type",[B.object({type:B.literal("text"),value:B.string(),providerOptions:n1.optional()}),B.object({type:B.literal("json"),value:_P,providerOptions:n1.optional()}),B.object({type:B.literal("execution-denied"),reason:B.string().optional(),providerOptions:n1.optional()}),B.object({type:B.literal("error-text"),value:B.string(),providerOptions:n1.optional()}),B.object({type:B.literal("error-json"),value:_P,providerOptions:n1.optional()}),B.object({type:B.literal("content"),value:B.array(B.union([B.object({type:B.literal("text"),text:B.string(),providerOptions:n1.optional()}),B.object({type:B.literal("media"),data:B.string(),mediaType:B.string()}),B.object({type:B.literal("file-data"),data:B.string(),mediaType:B.string(),filename:B.string().optional(),providerOptions:n1.optional()}),B.object({type:B.literal("file-url"),url:B.string(),providerOptions:n1.optional()}),B.object({type:B.literal("file-id"),fileId:B.union([B.string(),B.record(B.string(),B.string())]),providerOptions:n1.optional()}),B.object({type:B.literal("image-data"),data:B.string(),mediaType:B.string(),providerOptions:n1.optional()}),B.object({type:B.literal("image-url"),url:B.string(),providerOptions:n1.optional()}),B.object({type:B.literal("image-file-id"),fileId:B.union([B.string(),B.record(B.string(),B.string())]),providerOptions:n1.optional()}),B.object({type:B.literal("custom"),providerOptions:n1.optional()})]))})]),z71=B.object({type:B.literal("tool-result"),toolCallId:B.string(),toolName:B.string(),output:ib6,providerOptions:n1.optional()}),ab6=B.object({type:B.literal("tool-approval-request"),approvalId:B.string(),toolCallId:B.string()}),rb6=B.object({type:B.literal("tool-approval-response"),approvalId:B.string(),approved:B.boolean(),reason:B.string().optional()}),ob6=B.object({role:B.literal("system"),content:B.string(),providerOptions:n1.optional()}),sb6=B.object({role:B.literal("user"),content:B.union([B.string(),B.array(B.union([V71,pb6,q71]))]),providerOptions:n1.optional()}),tb6=B.object({role:B.literal("assistant"),content:B.union([B.string(),B.array(B.union([V71,q71,cb6,nb6,z71,ab6]))]),providerOptions:n1.optional()}),eb6=B.object({role:B.literal("tool"),content:B.array(B.union([z71,rb6])),providerOptions:n1.optional()}),Xf6=B.union([ob6,sb6,tb6,eb6]);async function Yf6(X){if(X.prompt==null&&X.messages==null)throw new WF({prompt:X,message:"prompt or messages must be defined"});if(X.prompt!=null&&X.messages!=null)throw new WF({prompt:X,message:"prompt and messages cannot be defined at the same time"});if(X.system!=null&&typeof X.system!=="string"&&!Yb(X.system).every((J)=>typeof J==="object"&&J!==null&&("role"in J)&&J.role==="system"))throw new WF({prompt:X,message:"system must be a string, SystemModelMessage, or array of SystemModelMessage"});let Y;if(X.prompt!=null&&typeof X.prompt==="string")Y=[{role:"user",content:X.prompt}];else if(X.prompt!=null&&Array.isArray(X.prompt))Y=X.prompt;else if(X.messages!=null)Y=X.messages;else throw new WF({prompt:X,message:"prompt or messages must be defined"});if(Y.length===0)throw new WF({prompt:X,message:"messages must not be empty"});let Q=await wY({value:Y,schema:B.array(Xf6)});if(!Q.success)throw new WF({prompt:X,message:"The messages do not match the ModelMessage[] schema.",cause:Q.error});return{messages:Y,system:X.system}}function Qf6(X){if(!ey.isInstance(X))return X;let Y=(process==null?void 0:"production")==="production",Q="https://ai-sdk.dev/unauthenticated-ai-gateway";if(Y)return new D1({name:"GatewayError",message:`Unauthenticated. Configure AI_GATEWAY_API_KEY or use a provider module. Learn more: ${Q}`});return Object.assign(Error(`\x1B[1m\x1B[31mUnauthenticated request to AI Gateway.\x1B[0m
1066
1066
 
1067
1067
  To authenticate, set the \x1B[33mAI_GATEWAY_API_KEY\x1B[0m environment variable with your API key.
1068
1068
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decocms/mesh",
3
- "version": "2.14.0",
3
+ "version": "2.14.1",
4
4
  "description": "MCP Mesh - Self-hostable MCP Gateway for managing AI connections and tools",
5
5
  "author": "Deco team",
6
6
  "license": "MIT",
@@ -1 +0,0 @@
1
- import{I as t,bm as a}from"./index-Dk3lubBQ.js";const e="mcp.mesh",s=t(a,{target:"draft-7"});export{s as B,e as M};
@@ -1 +0,0 @@
1
- import{M as D}from"./constants-B-ATh8ff.js";import{g as R}from"./github-icon-Dp3wHhYE.js";import{g as A}from"./registry-utils-COqteFH4.js";import{g as E}from"./generate-id-Dyweu44Y.js";function O(e){if(!e?.url)return"Unknown";try{return new URL(e.url).hostname}catch{return e.url}}function H(e){const r=e?.identifier||e?.name;return r?r.replace(/^@[^/]+\//,"").replace(/[-_]/g," ").replace(/\b\w/g,i=>i.toUpperCase()):"Unknown"}function Y(e,r,d,i){const n=e.server,t=e._meta?.[D],f=new Date().toISOString(),b=t?.friendlyName||t?.friendly_name||e.title||n?.title||n?.name||"Unnamed MCP Server",v=n?.description||null,x=n?.icons?.[0]?.src||R(n?.repository)||null,o=t?.oauth_config,C=o&&typeof o.authorizationEndpoint=="string"&&typeof o.tokenEndpoint=="string"&&typeof o.clientId=="string"&&Array.isArray(o.scopes)&&(o.grantType==="authorization_code"||o.grantType==="client_credentials")?o:null,I=t?.configuration_state,T=t?.configuration_scopes,N=n?.repository?{url:n.repository.url,source:n.repository.source,subfolder:n.repository.subfolder}:null,u=n?.packages??[],m=n?.remotes??[],P=i?.packageIndex??0,S=i?.remoteIndex??0,y=u.length>0&&i?.packageIndex!==void 0,a=y?u[P]:null,s=y?null:m[S];let c,l,_=null;if(a){const h=a.identifier||a.name;c="STDIO",l="";const g={};if(a.environmentVariables)for(const k of a.environmentVariables)k.name&&(g[k.name]="");_={command:"npx",args:h?["-y",h]:[],...Object.keys(g).length>0&&{envVars:g}}}else s?(c=A(s.type)||"HTTP",l=s.url||""):(c="HTTP",l="");const w=m.length>1,M=u.length>1;let p="";a&&M?p=` (${H(a)})`:s&&w&&(p=` (${O(s)})`);const U=b+p;return{id:E("conn"),title:U,description:v,icon:x,app_name:t?.appName||n?.name||null,app_id:t?.id||e.id||null,connection_type:c,connection_url:l,connection_token:null,connection_headers:_,oauth_config:C,configuration_state:I??null,configuration_scopes:T??null,metadata:{source:"store",registry_item_id:e.id,verified:t?.verified??!1,scopeName:t?.scopeName??null,toolsCount:t?.tools?.length??0,publishedAt:t?.publishedAt??null,repository:N},created_at:f,updated_at:f,created_by:d,organization_id:r,tools:null,bindings:null,status:"inactive"}}export{Y as e};