@decocms/mesh 1.4.3 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/dist/client/assets/{AlertCircle-CDBVDe0k.js → AlertCircle-BIlMffS8.js} +1 -1
  2. package/dist/client/assets/{ArrowLeft-DFGZNglp.js → ArrowLeft-CJ-eKoid.js} +1 -1
  3. package/dist/client/assets/{ChevronDown-J5kG25Eb.js → ChevronDown-atiP0m-F.js} +1 -1
  4. package/dist/client/assets/{Clock-DHu_WP-M.js → Clock-BD2gknBV.js} +1 -1
  5. package/dist/client/assets/{Code01-DNE-ZRGg.js → Code01-BEefaaXC.js} +1 -1
  6. package/dist/client/assets/{Copy01-Uz7Y-mCe.js → Copy01-DhXqtugg.js} +1 -1
  7. package/dist/client/assets/{CpuChip02-BZhOPL9W.js → CpuChip02-BtgBI59l.js} +1 -1
  8. package/dist/client/assets/{DotsVertical-BrsQ60f-.js → DotsVertical-roys0n6e.js} +1 -1
  9. package/dist/client/assets/{File06-Ck3q99hQ.js → File06-MlW8n69V.js} +1 -1
  10. package/dist/client/assets/{FlipBackward-DRZcK_so.js → FlipBackward-BSnTMMYy.js} +1 -1
  11. package/dist/client/assets/{GitBranch01-Ckh6pQzg.js → GitBranch01-CEvRlFly.js} +1 -1
  12. package/dist/client/assets/{Grid01-tUtWO5Nq.js → Grid01-CkwdbRed.js} +1 -1
  13. package/dist/client/assets/{Inbox01-CDvT2NLz.js → Inbox01-D66dNA_K.js} +1 -1
  14. package/dist/client/assets/{Key01-BkJiKyNj.js → Key01-BXlD7hmS.js} +1 -1
  15. package/dist/client/assets/{LinkExternal01-gFlbmLX6.js → LinkExternal01-O4xnNCff.js} +1 -1
  16. package/dist/client/assets/{Loading01-BLF74gg8.js → Loading01-EiDV-2FW.js} +1 -1
  17. package/dist/client/assets/{Lock01-CGIiadcu.js → Lock01-DpRDCI3P.js} +1 -1
  18. package/dist/client/assets/{Play-C0JCKXwR.js → Play-FKw7EqPO.js} +1 -1
  19. package/dist/client/assets/{Plus-gH2EjvYq.js → Plus-CwB-Rc8B.js} +1 -1
  20. package/dist/client/assets/{SearchMd-BCHUfnJ5.js → SearchMd-C6P9P1wF.js} +1 -1
  21. package/dist/client/assets/{Terminal-B5YsmaiW.js → Terminal-Dv6w41J8.js} +1 -1
  22. package/dist/client/assets/{Trash01-C2xlW91R.js → Trash01-Ctk7srex.js} +1 -1
  23. package/dist/client/assets/{X-DfhX7U4l.js → X-Da4xsL05.js} +1 -1
  24. package/dist/client/assets/{XClose-CYrpEX3L.js → XClose-OUZ04LEo.js} +1 -1
  25. package/dist/client/assets/{alert-dialog-DC6YZ-if.js → alert-dialog-D6UjYOUP.js} +1 -1
  26. package/dist/client/assets/{auth-Ct5zHF6G.js → auth-CZR9mNdb.js} +1 -1
  27. package/dist/client/assets/{auth-catchall-DGSZOhwE.js → auth-catchall-BZWl_BRK.js} +1 -1
  28. package/dist/client/assets/{avatar-C2QUw41P.js → avatar-BHE7lL4M.js} +1 -1
  29. package/dist/client/assets/{badge-BPanR0Qr.js → badge-B-u7R38I.js} +1 -1
  30. package/dist/client/assets/{button-DesSvxFG.js → button-B13xcF6W.js} +1 -1
  31. package/dist/client/assets/{card-CKc-r-kb.js → card-7VW-xSd-.js} +1 -1
  32. package/dist/client/assets/{checkbox-DfamRgjV.js → checkbox-BMd2Z-WT.js} +1 -1
  33. package/dist/client/assets/{collection-detail-Dfv17pDZ.js → collection-detail-7eGCexqR.js} +3 -3
  34. package/dist/client/assets/{collection-display-button-CscS9LT8.js → collection-display-button-D4VM0KQx.js} +1 -1
  35. package/dist/client/assets/{collection-header-DGeWxmcL.js → collection-header-od14k6u3.js} +1 -1
  36. package/dist/client/assets/{collection-page-XmmReL6Z.js → collection-page-BNuNM--s.js} +1 -1
  37. package/dist/client/assets/{collection-search-CLDB986-.js → collection-search-LnYLnFH8.js} +1 -1
  38. package/dist/client/assets/{collection-tab-CUwvKz8k.js → collection-tab-bg_gmLyh.js} +1 -1
  39. package/dist/client/assets/{collection-table-wrapper-DEXRMixQ.js → collection-table-wrapper-B0AFEn1d.js} +1 -1
  40. package/dist/client/assets/{connection-card-PeOblHZK.js → connection-card-r2tH19aR.js} +1 -1
  41. package/dist/client/assets/{connection-detail-Bm9AbLXX.js → connection-detail-Dm1s8Dj2.js} +1 -1
  42. package/dist/client/assets/connections-CWHukeOK.js +1 -0
  43. package/dist/client/assets/constants-CN4QOiqe.js +1 -0
  44. package/dist/client/assets/{core-DgwSzEjp.js → core-BqWxized.js} +1 -1
  45. package/dist/client/assets/{create-organization-dialog-DHY_jhNg.js → create-organization-dialog-CjneLhKn.js} +1 -1
  46. package/dist/client/assets/{dialog-B_SDyKoG.js → dialog-DoN4ORnY.js} +1 -1
  47. package/dist/client/assets/{dropdown-menu-BjkPhTxJ.js → dropdown-menu-uXj8nKiT.js} +1 -1
  48. package/dist/client/assets/{empty-state-BZJRRGAZ.js → empty-state-N07FE0YG.js} +1 -1
  49. package/dist/client/assets/{env-vars-editor-DiG_mhOk.js → env-vars-editor-B7JL_p-V.js} +1 -1
  50. package/dist/client/assets/{error-boundary-eKHB9m_N.js → error-boundary-Ce0_dLsG.js} +1 -1
  51. package/dist/client/assets/{extract-connection-data-CfTRYlDo.js → extract-connection-data-CeT4F9gU.js} +1 -1
  52. package/dist/client/assets/{form-DqF9jJxB.js → form-BQIYj24w.js} +1 -1
  53. package/dist/client/assets/{formatDistanceToNow-C_-z9n_P.js → formatDistanceToNow-CArtWgcP.js} +1 -1
  54. package/dist/client/assets/gateway-detail-VCb3jL84.js +1 -0
  55. package/dist/client/assets/gateways-9p2LLkTK.js +1 -0
  56. package/dist/client/assets/{home-B4iTt93_.js → home-DgfprghT.js} +1 -1
  57. package/dist/client/assets/{index-cfS08Oty.js → index-CVgkE3Gv.js} +2 -2
  58. package/dist/client/assets/{index-C-gV8ErA.js → index-DEMNtulg.js} +2 -2
  59. package/dist/client/assets/{index-BwcL2gOd.js → index-DcMa5gDs.js} +1 -1
  60. package/dist/client/assets/{index-CMmPiJga.js → index-DcvTq0xJ.js} +1 -1
  61. package/dist/client/assets/{input-t-sIzYQ-.js → input-YdP8mwrf.js} +1 -1
  62. package/dist/client/assets/json-Bz08jZIq.js +1 -0
  63. package/dist/client/assets/{json-syntax-highlighter-o3bCpHQQ.js → json-syntax-highlighter-Bif-CDya.js} +2 -2
  64. package/dist/client/assets/{layout-C740ESgM.js → layout-BNxxrCBw.js} +1 -1
  65. package/dist/client/assets/{lazy-highlighter-Bp3eoyLz.js → lazy-highlighter-C0vzyJy5.js} +1 -1
  66. package/dist/client/assets/{localstorage-keys-C7qJ8rEC.js → localstorage-keys-DwKN3_Ky.js} +1 -1
  67. package/dist/client/assets/{login-1u7Niwbj.js → login-UWyl_cxx.js} +1 -1
  68. package/dist/client/assets/{mcp-oauth-BQdelTeI.js → mcp-oauth-Dqr97r2H.js} +1 -1
  69. package/dist/client/assets/{members-BpBTDEqI.js → members-C3UV37Kw.js} +1 -1
  70. package/dist/client/assets/{monitoring-BniHbswu.js → monitoring-Ds52TSSS.js} +2 -2
  71. package/dist/client/assets/{oauth-callback-BdJJVZpw.js → oauth-callback-D4M9mHyH.js} +1 -1
  72. package/dist/client/assets/{page-C3OoVTcz.js → page-B7ia0_lh.js} +2 -2
  73. package/dist/client/assets/{pin-to-sidebar-button-CAIx34vr.js → pin-to-sidebar-button-BKotT_Nc.js} +1 -1
  74. package/dist/client/assets/{popover-BdF29fF0.js → popover-7jr0PuXV.js} +1 -1
  75. package/dist/client/assets/prism-light-CHE2alug.js +1 -0
  76. package/dist/client/assets/resizable-qkPSJ31g.js +1 -0
  77. package/dist/client/assets/{resource-tabs-BXrX5gUy.js → resource-tabs-qR3NhTLd.js} +1 -1
  78. package/dist/client/assets/{responsive-select-2C4cD9rC.js → responsive-select-CJQwNPPj.js} +1 -1
  79. package/dist/client/assets/{select-xSuN7FaU.js → select-L_OjJ9sW.js} +1 -1
  80. package/dist/client/assets/{settings-CduS7I01.js → settings-BapAo6i2.js} +1 -1
  81. package/dist/client/assets/shell-layout-DqUuQ9gz.js +19 -0
  82. package/dist/client/assets/{spinner-rwnNPEbM.js → spinner-CAJeeq5B.js} +1 -1
  83. package/dist/client/assets/{store-SnbBtX3K.js → store-DTMoxgob.js} +1 -1
  84. package/dist/client/assets/{store-app-detail-BQeYehDl.js → store-app-detail-CbGg2GlI.js} +1 -1
  85. package/dist/client/assets/{switch-D298--QC.js → switch-DlwEQXd2.js} +1 -1
  86. package/dist/client/assets/{textarea-BJtQOXsW.js → textarea-IOVeLZOt.js} +1 -1
  87. package/dist/client/assets/{thread-history-popover-CI8FqvYZ.js → thread-history-popover-COjpShBU.js} +4 -4
  88. package/dist/client/assets/{tools-list-BtBolbdP.js → tools-list-l6xtSgWR.js} +1 -1
  89. package/dist/client/assets/{tooltip-DEGW0fKm.js → tooltip-C7B84lYF.js} +1 -1
  90. package/dist/client/assets/{types-oZbVAIZ8.js → types-BmKCUQAI.js} +1 -1
  91. package/dist/client/assets/{use-binding-DcFA_gzK.js → use-binding-Ce8NG0MO.js} +1 -1
  92. package/dist/client/assets/{use-connection-DovW4k_Y.js → use-connection-D-LWel3A.js} +1 -1
  93. package/dist/client/assets/{use-connection-resources-DWvHSjwL.js → use-connection-resources-CJzk5_Wj.js} +1 -1
  94. package/dist/client/assets/{use-gateway-CTez9e6K.js → use-gateway-eXp_1iQc.js} +1 -1
  95. package/dist/client/assets/{use-list-state-BcLe4rFM.js → use-list-state-CmxR0QRn.js} +1 -1
  96. package/dist/client/assets/{use-mcp-CFh-2cVi.js → use-mcp-Cmlg9h6L.js} +1 -1
  97. package/dist/client/assets/{use-members-vkmBD6ZK.js → use-members-Drex2zGi.js} +1 -1
  98. package/dist/client/assets/{use-mobile-BnGwMIZ5.js → use-mobile-B-R7B7Hp.js} +1 -1
  99. package/dist/client/assets/{use-organization-settings-qRiC51eG.js → use-organization-settings-B_G_DBCR.js} +1 -1
  100. package/dist/client/assets/{use-tool-call-MqNkj4y0.js → use-tool-call-BN3WED_Z.js} +1 -1
  101. package/dist/client/assets/useQuery-DLJrS2VC.js +1 -0
  102. package/dist/client/assets/{useSuspenseInfiniteQuery-ZXEiZMOu.js → useSuspenseInfiniteQuery-DFaXtjFO.js} +1 -1
  103. package/dist/client/assets/{view-mode-toggle-DeTt5Ewf.js → view-mode-toggle-BpRlpgBn.js} +1 -1
  104. package/dist/client/assets/workflow-CBeu3WB4.js +1 -0
  105. package/dist/client/index.html +1 -1
  106. package/dist/server/cli.js +4 -4
  107. package/dist/server/migrate.js +2 -2
  108. package/dist/server/server.js +4 -4
  109. package/package.json +1 -1
  110. package/dist/client/assets/connections-B3R_ztXH.js +0 -1
  111. package/dist/client/assets/constants-DB2tAnFa.js +0 -1
  112. package/dist/client/assets/gateway-detail-DkIgdk5X.js +0 -1
  113. package/dist/client/assets/gateways-P2IDmIpS.js +0 -1
  114. package/dist/client/assets/json-Tk1HfYpB.js +0 -1
  115. package/dist/client/assets/prism-light-BRrm9qbv.js +0 -1
  116. package/dist/client/assets/resizable-C9hC2n0z.js +0 -1
  117. package/dist/client/assets/shell-layout-CrxADs5L.js +0 -19
  118. package/dist/client/assets/useQuery-D2RIkfap.js +0 -1
  119. package/dist/client/assets/workflow-BEZiVLLT.js +0 -1
@@ -986,7 +986,7 @@ data:
986
986
 
987
987
  `,Q.enqueue(X.encode(G)),!0}catch{return!1}}handleUnsupportedRequest(){return new Response(JSON.stringify({jsonrpc:"2.0",error:{code:-32000,message:"Method not allowed."},id:null}),{status:405,headers:{Allow:"GET, POST, DELETE","Content-Type":"application/json"}})}async handlePostRequest(Q,X){try{let Y=Q.headers.get("accept");if(!Y?.includes("application/json")||!Y.includes("text/event-stream"))return this.createJsonErrorResponse(406,-32000,"Not Acceptable: Client must accept both application/json and text/event-stream");let J=Q.headers.get("content-type");if(!J||!J.includes("application/json"))return this.createJsonErrorResponse(415,-32000,"Unsupported Media Type: Content-Type must be application/json");let G={headers:Object.fromEntries(Q.headers.entries())},W;if(X?.parsedBody!==void 0)W=X.parsedBody;else try{W=await Q.json()}catch{return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON")}let Z;try{if(Array.isArray(W))Z=W.map((L)=>cY.parse(L));else Z=[cY.parse(W)]}catch{return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON-RPC message")}let $=Z.some(Ma);if($){if(this._initialized&&this.sessionId!==void 0)return this.createJsonErrorResponse(400,-32600,"Invalid Request: Server already initialized");if(Z.length>1)return this.createJsonErrorResponse(400,-32600,"Invalid Request: Only one initialization request is allowed");if(this.sessionId=this.sessionIdGenerator?.(),this._initialized=!0,this.sessionId&&this._onsessioninitialized)await Promise.resolve(this._onsessioninitialized(this.sessionId))}if(!$){let L=this.validateSession(Q);if(L)return L;let M=this.validateProtocolVersion(Q);if(M)return M}if(!Z.some(oG)){for(let L of Z)this.onmessage?.(L,{authInfo:X?.authInfo,requestInfo:G});return new Response(null,{status:202})}let H=crypto.randomUUID(),F=Z.find((L)=>Ma(L)),V=F?F.params.protocolVersion:Q.headers.get("mcp-protocol-version")??vL0;if(this._enableJsonResponse)return new Promise((L)=>{this._streamMapping.set(H,{resolveJson:L,cleanup:()=>{this._streamMapping.delete(H)}});for(let M of Z)if(oG(M))this._requestToStreamMapping.set(M.id,H);for(let M of Z)this.onmessage?.(M,{authInfo:X?.authInfo,requestInfo:G})});let q=new TextEncoder,U,D=new ReadableStream({start:(L)=>{U=L},cancel:()=>{this._streamMapping.delete(H)}}),B={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"};if(this.sessionId!==void 0)B["mcp-session-id"]=this.sessionId;for(let L of Z)if(oG(L))this._streamMapping.set(H,{controller:U,encoder:q,cleanup:()=>{this._streamMapping.delete(H);try{U.close()}catch{}}}),this._requestToStreamMapping.set(L.id,H);await this.writePrimingEvent(U,q,H,V);for(let L of Z){let M,C;if(oG(L)&&this._eventStore&&V>="2025-11-25")M=()=>{this.closeSSEStream(L.id)},C=()=>{this.closeStandaloneSSEStream()};this.onmessage?.(L,{authInfo:X?.authInfo,requestInfo:G,closeSSEStream:M,closeStandaloneSSEStream:C})}return new Response(D,{status:200,headers:B})}catch(Y){return this.onerror?.(Y),this.createJsonErrorResponse(400,-32700,"Parse error",{data:String(Y)})}}async handleDeleteRequest(Q){let X=this.validateSession(Q);if(X)return X;let Y=this.validateProtocolVersion(Q);if(Y)return Y;return await Promise.resolve(this._onsessionclosed?.(this.sessionId)),await this.close(),new Response(null,{status:200})}validateSession(Q){if(this.sessionIdGenerator===void 0)return;if(!this._initialized)return this.createJsonErrorResponse(400,-32000,"Bad Request: Server not initialized");let X=Q.headers.get("mcp-session-id");if(!X)return this.createJsonErrorResponse(400,-32000,"Bad Request: Mcp-Session-Id header is required");if(X!==this.sessionId)return this.createJsonErrorResponse(404,-32001,"Session not found");return}validateProtocolVersion(Q){let X=Q.headers.get("mcp-protocol-version");if(X!==null&&!U3.includes(X))return this.createJsonErrorResponse(400,-32000,`Bad Request: Unsupported protocol version: ${X} (supported versions: ${U3.join(", ")})`);return}async close(){this._streamMapping.forEach(({cleanup:Q})=>{Q()}),this._streamMapping.clear(),this._requestResponseMap.clear(),this.onclose?.()}closeSSEStream(Q){let X=this._requestToStreamMapping.get(Q);if(!X)return;let Y=this._streamMapping.get(X);if(Y)Y.cleanup()}closeStandaloneSSEStream(){let Q=this._streamMapping.get(this._standaloneSseStreamId);if(Q)Q.cleanup()}async send(Q,X){let Y=X?.relatedRequestId;if(M5(Q)||Bz(Q))Y=Q.id;if(Y===void 0){if(M5(Q)||Bz(Q))throw Error("Cannot send a response on a standalone SSE stream unless resuming a previous client request");let W;if(this._eventStore)W=await this._eventStore.storeEvent(this._standaloneSseStreamId,Q);let Z=this._streamMapping.get(this._standaloneSseStreamId);if(Z===void 0)return;if(Z.controller&&Z.encoder)this.writeSSEEvent(Z.controller,Z.encoder,Q,W);return}let J=this._requestToStreamMapping.get(Y);if(!J)throw Error(`No connection established for request ID: ${String(Y)}`);let G=this._streamMapping.get(J);if(!this._enableJsonResponse&&G?.controller&&G?.encoder){let W;if(this._eventStore)W=await this._eventStore.storeEvent(J,Q);this.writeSSEEvent(G.controller,G.encoder,Q,W)}if(M5(Q)||Bz(Q)){this._requestResponseMap.set(Y,Q);let W=Array.from(this._requestToStreamMapping.entries()).filter(([$,K])=>K===J).map(([$])=>$);if(W.every(($)=>this._requestResponseMap.has($))){if(!G)throw Error(`No connection established for request ID: ${String(Y)}`);if(this._enableJsonResponse&&G.resolveJson){let $={"Content-Type":"application/json"};if(this.sessionId!==void 0)$["mcp-session-id"]=this.sessionId;let K=W.map((H)=>this._requestResponseMap.get(H));if(K.length===1)G.resolveJson(new Response(JSON.stringify(K[0]),{status:200,headers:$}));else G.resolveJson(new Response(JSON.stringify(K),{status:200,headers:$}))}else G.cleanup();for(let $ of W)this._requestResponseMap.delete($),this._requestToStreamMapping.delete($)}}}}var lk=y(()=>{a9()});var Cw=(...Q)=>{return function(Y,J){let G=(W)=>{let Z=Q[W];if(!Z)return J();return Z(Y,()=>G(W+1))};return G(0)}};class Ej0{config;tools=[];callToolMiddlewares=[];constructor(Q){this.config={...Q,capabilities:Q.capabilities??{tools:{}}}}withTool(Q){return this.tools.push(Q),this}withTools(Q){return this.tools.push(...Q),this}callToolMiddleware(...Q){return this.callToolMiddlewares.push(...Q),this}build(){let Q=this.callToolMiddlewares.length>0?Cw(...this.callToolMiddlewares):null,X=()=>{let Y=new T3({name:this.config.name,version:this.config.version},{capabilities:this.config.capabilities});for(let J of this.tools){let G=async(K)=>{try{let H=await J.handler(K);return{content:[{type:"text",text:JSON.stringify(H)}],structuredContent:H}}catch(H){return{content:[{type:"text",text:`Error: ${H.message}`}],isError:!0}}},W=Q?async(K)=>{let H={method:"tools/call",params:{name:J.name,arguments:K}};return await Q(H,()=>G(K))}:G,Z="shape"in J.inputSchema?J.inputSchema.shape:N.object({}).shape,$=J.outputSchema&&"shape"in J.outputSchema?J.outputSchema.shape:N.object({}).shape;Y.registerTool(J.name,{annotations:J.annotations,description:J.description??"",inputSchema:Z,outputSchema:$},W)}return Y};return{callStreamableTool:async(Y,J)=>{let G=this.tools.find((Z)=>Z.name===Y);if(!G)throw Error(`Tool ${Y} not found`);let W=await G.handler(J);if(!(W instanceof Response))throw Error(`Tool ${Y} returned a non-response`);return W},client:{listTools:async()=>{return{tools:this.tools.map((Y)=>({name:Y.name,description:Y.description??"",inputSchema:N.toJSONSchema(Y.inputSchema),outputSchema:Y.outputSchema?N.toJSONSchema(Y.outputSchema):void 0}))}},callTool:async(Y)=>{let J=this.tools.find((G)=>G.name===Y.name);if(!J)return{content:[{type:"text",text:"Tool not found"}]};try{let G=await J?.handler(Y.arguments??{});return{content:[{type:"text",text:JSON.stringify(G)}],structuredContent:G}}catch(G){return{content:[{type:"text",text:`Error: ${G.message}`}]}}}},fetch:async(Y)=>{let J=new P3({enableJsonResponse:Y.headers.get("Accept")?.includes("application/json")??!1});return await X().connect(J),await J.handleRequest(Y)}}}}function jj0(Q){return new Ej0(Q)}var Cj0=y(()=>{mk();lk();Z6()});var Sj0=I((Ij0)=>{Object.defineProperty(Ij0,"__esModule",{value:!0});Ij0._globalThis=void 0;Ij0._globalThis=typeof globalThis==="object"?globalThis:global});var kj0=I((A3)=>{var Gt6=A3&&A3.__createBinding||(Object.create?function(Q,X,Y,J){if(J===void 0)J=Y;Object.defineProperty(Q,J,{enumerable:!0,get:function(){return X[Y]}})}:function(Q,X,Y,J){if(J===void 0)J=Y;Q[J]=X[Y]}),Wt6=A3&&A3.__exportStar||function(Q,X){for(var Y in Q)if(Y!=="default"&&!Object.prototype.hasOwnProperty.call(X,Y))Gt6(X,Q,Y)};Object.defineProperty(A3,"__esModule",{value:!0});Wt6(Sj0(),A3)});var vj0=I((E3)=>{var Zt6=E3&&E3.__createBinding||(Object.create?function(Q,X,Y,J){if(J===void 0)J=Y;Object.defineProperty(Q,J,{enumerable:!0,get:function(){return X[Y]}})}:function(Q,X,Y,J){if(J===void 0)J=Y;Q[J]=X[Y]}),$t6=E3&&E3.__exportStar||function(Q,X){for(var Y in Q)if(Y!=="default"&&!Object.prototype.hasOwnProperty.call(X,Y))Zt6(X,Q,Y)};Object.defineProperty(E3,"__esModule",{value:!0});$t6(kj0(),E3)});var Ws=I((_j0)=>{Object.defineProperty(_j0,"__esModule",{value:!0});_j0.VERSION=void 0;_j0.VERSION="1.9.0"});var gj0=I((hj0)=>{Object.defineProperty(hj0,"__esModule",{value:!0});hj0.isCompatible=hj0._makeCompatibilityCheck=void 0;var Kt6=Ws(),bj0=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function fj0(Q){let X=new Set([Q]),Y=new Set,J=Q.match(bj0);if(!J)return()=>!1;let G={major:+J[1],minor:+J[2],patch:+J[3],prerelease:J[4]};if(G.prerelease!=null)return function(K){return K===Q};function W($){return Y.add($),!1}function Z($){return X.add($),!0}return function(K){if(X.has(K))return!0;if(Y.has(K))return!1;let H=K.match(bj0);if(!H)return W(K);let F={major:+H[1],minor:+H[2],patch:+H[3],prerelease:H[4]};if(F.prerelease!=null)return W(K);if(G.major!==F.major)return W(K);if(G.major===0){if(G.minor===F.minor&&G.patch<=F.patch)return Z(K);return W(K)}if(G.minor<=F.minor)return Z(K);return W(K)}}hj0._makeCompatibilityCheck=fj0;hj0.isCompatible=fj0(Kt6.VERSION)});var j3=I((uj0)=>{Object.defineProperty(uj0,"__esModule",{value:!0});uj0.unregisterGlobal=uj0.getGlobal=uj0.registerGlobal=void 0;var Ft6=vj0(),gz=Ws(),Vt6=gj0(),qt6=gz.VERSION.split(".")[0],Iw=Symbol.for(`opentelemetry.js.api.${qt6}`),Rw=Ft6._globalThis;function zt6(Q,X,Y,J=!1){var G;let W=Rw[Iw]=(G=Rw[Iw])!==null&&G!==void 0?G:{version:gz.VERSION};if(!J&&W[Q]){let Z=Error(`@opentelemetry/api: Attempted duplicate registration of API: ${Q}`);return Y.error(Z.stack||Z.message),!1}if(W.version!==gz.VERSION){let Z=Error(`@opentelemetry/api: Registration of version v${W.version} for ${Q} does not match previously registered API v${gz.VERSION}`);return Y.error(Z.stack||Z.message),!1}return W[Q]=X,Y.debug(`@opentelemetry/api: Registered a global for ${Q} v${gz.VERSION}.`),!0}uj0.registerGlobal=zt6;function Ut6(Q){var X,Y;let J=(X=Rw[Iw])===null||X===void 0?void 0:X.version;if(!J||!(0,Vt6.isCompatible)(J))return;return(Y=Rw[Iw])===null||Y===void 0?void 0:Y[Q]}uj0.getGlobal=Ut6;function Bt6(Q,X){X.debug(`@opentelemetry/api: Unregistering a global for ${Q} v${gz.VERSION}.`);let Y=Rw[Iw];if(Y)delete Y[Q]}uj0.unregisterGlobal=Bt6});var cj0=I((dj0)=>{Object.defineProperty(dj0,"__esModule",{value:!0});dj0.DiagComponentLogger=void 0;var Ot6=j3();class lj0{constructor(Q){this._namespace=Q.namespace||"DiagComponentLogger"}debug(...Q){return Sw("debug",this._namespace,Q)}error(...Q){return Sw("error",this._namespace,Q)}info(...Q){return Sw("info",this._namespace,Q)}warn(...Q){return Sw("warn",this._namespace,Q)}verbose(...Q){return Sw("verbose",this._namespace,Q)}}dj0.DiagComponentLogger=lj0;function Sw(Q,X,Y){let J=(0,Ot6.getGlobal)("diag");if(!J)return;return Y.unshift(X),J[Q](...Y)}});var dk=I((nj0)=>{Object.defineProperty(nj0,"__esModule",{value:!0});nj0.DiagLogLevel=void 0;var Lt6;(function(Q){Q[Q.NONE=0]="NONE",Q[Q.ERROR=30]="ERROR",Q[Q.WARN=50]="WARN",Q[Q.INFO=60]="INFO",Q[Q.DEBUG=70]="DEBUG",Q[Q.VERBOSE=80]="VERBOSE",Q[Q.ALL=9999]="ALL"})(Lt6=nj0.DiagLogLevel||(nj0.DiagLogLevel={}))});var rj0=I((ij0)=>{Object.defineProperty(ij0,"__esModule",{value:!0});ij0.createLogLevelDiagLogger=void 0;var y7=dk();function wt6(Q,X){if(Q<y7.DiagLogLevel.NONE)Q=y7.DiagLogLevel.NONE;else if(Q>y7.DiagLogLevel.ALL)Q=y7.DiagLogLevel.ALL;X=X||{};function Y(J,G){let W=X[J];if(typeof W==="function"&&Q>=G)return W.bind(X);return function(){}}return{error:Y("error",y7.DiagLogLevel.ERROR),warn:Y("warn",y7.DiagLogLevel.WARN),info:Y("info",y7.DiagLogLevel.INFO),debug:Y("debug",y7.DiagLogLevel.DEBUG),verbose:Y("verbose",y7.DiagLogLevel.VERBOSE)}}ij0.createLogLevelDiagLogger=wt6});var C3=I((sj0)=>{Object.defineProperty(sj0,"__esModule",{value:!0});sj0.DiagAPI=void 0;var Mt6=cj0(),Tt6=rj0(),oj0=dk(),pk=j3(),Pt6="diag";class $s{constructor(){function Q(J){return function(...G){let W=(0,pk.getGlobal)("diag");if(!W)return;return W[J](...G)}}let X=this,Y=(J,G={logLevel:oj0.DiagLogLevel.INFO})=>{var W,Z,$;if(J===X){let F=Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");return X.error((W=F.stack)!==null&&W!==void 0?W:F.message),!1}if(typeof G==="number")G={logLevel:G};let K=(0,pk.getGlobal)("diag"),H=(0,Tt6.createLogLevelDiagLogger)((Z=G.logLevel)!==null&&Z!==void 0?Z:oj0.DiagLogLevel.INFO,J);if(K&&!G.suppressOverrideMessage){let F=($=Error().stack)!==null&&$!==void 0?$:"<failed to generate stacktrace>";K.warn(`Current logger will be overwritten from ${F}`),H.warn(`Current logger will overwrite one already registered from ${F}`)}return(0,pk.registerGlobal)("diag",H,X,!0)};X.setLogger=Y,X.disable=()=>{(0,pk.unregisterGlobal)(Pt6,X)},X.createComponentLogger=(J)=>{return new Mt6.DiagComponentLogger(J)},X.verbose=Q("verbose"),X.debug=Q("debug"),X.info=Q("info"),X.warn=Q("warn"),X.error=Q("error")}static instance(){if(!this._instance)this._instance=new $s;return this._instance}}sj0.DiagAPI=$s});var X20=I((ej0)=>{Object.defineProperty(ej0,"__esModule",{value:!0});ej0.BaggageImpl=void 0;class uz{constructor(Q){this._entries=Q?new Map(Q):new Map}getEntry(Q){let X=this._entries.get(Q);if(!X)return;return Object.assign({},X)}getAllEntries(){return Array.from(this._entries.entries()).map(([Q,X])=>[Q,X])}setEntry(Q,X){let Y=new uz(this._entries);return Y._entries.set(Q,X),Y}removeEntry(Q){let X=new uz(this._entries);return X._entries.delete(Q),X}removeEntries(...Q){let X=new uz(this._entries);for(let Y of Q)X._entries.delete(Y);return X}clear(){return new uz}}ej0.BaggageImpl=uz});var G20=I((Y20)=>{Object.defineProperty(Y20,"__esModule",{value:!0});Y20.baggageEntryMetadataSymbol=void 0;Y20.baggageEntryMetadataSymbol=Symbol("BaggageEntryMetadata")});var Ks=I((W20)=>{Object.defineProperty(W20,"__esModule",{value:!0});W20.baggageEntryMetadataFromString=W20.createBaggage=void 0;var At6=C3(),Et6=X20(),jt6=G20(),Ct6=At6.DiagAPI.instance();function It6(Q={}){return new Et6.BaggageImpl(new Map(Object.entries(Q)))}W20.createBaggage=It6;function Rt6(Q){if(typeof Q!=="string")Ct6.error(`Cannot create baggage metadata from unknown type: ${typeof Q}`),Q="";return{__TYPE__:jt6.baggageEntryMetadataSymbol,toString(){return Q}}}W20.baggageEntryMetadataFromString=Rt6});var kw=I(($20)=>{Object.defineProperty($20,"__esModule",{value:!0});$20.ROOT_CONTEXT=$20.createContextKey=void 0;function kt6(Q){return Symbol.for(Q)}$20.createContextKey=kt6;class ck{constructor(Q){let X=this;X._currentContext=Q?new Map(Q):new Map,X.getValue=(Y)=>X._currentContext.get(Y),X.setValue=(Y,J)=>{let G=new ck(X._currentContext);return G._currentContext.set(Y,J),G},X.deleteValue=(Y)=>{let J=new ck(X._currentContext);return J._currentContext.delete(Y),J}}}$20.ROOT_CONTEXT=new ck});var q20=I((F20)=>{Object.defineProperty(F20,"__esModule",{value:!0});F20.DiagConsoleLogger=void 0;var Hs=[{n:"error",c:"error"},{n:"warn",c:"warn"},{n:"info",c:"info"},{n:"debug",c:"debug"},{n:"verbose",c:"trace"}];class H20{constructor(){function Q(X){return function(...Y){if(console){let J=console[X];if(typeof J!=="function")J=console.log;if(typeof J==="function")return J.apply(console,Y)}}}for(let X=0;X<Hs.length;X++)this[Hs[X].n]=Q(Hs[X].c)}}F20.DiagConsoleLogger=H20});var Os=I((z20)=>{Object.defineProperty(z20,"__esModule",{value:!0});z20.createNoopMeter=z20.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=z20.NOOP_OBSERVABLE_GAUGE_METRIC=z20.NOOP_OBSERVABLE_COUNTER_METRIC=z20.NOOP_UP_DOWN_COUNTER_METRIC=z20.NOOP_HISTOGRAM_METRIC=z20.NOOP_GAUGE_METRIC=z20.NOOP_COUNTER_METRIC=z20.NOOP_METER=z20.NoopObservableUpDownCounterMetric=z20.NoopObservableGaugeMetric=z20.NoopObservableCounterMetric=z20.NoopObservableMetric=z20.NoopHistogramMetric=z20.NoopGaugeMetric=z20.NoopUpDownCounterMetric=z20.NoopCounterMetric=z20.NoopMetric=z20.NoopMeter=void 0;class Fs{constructor(){}createGauge(Q,X){return z20.NOOP_GAUGE_METRIC}createHistogram(Q,X){return z20.NOOP_HISTOGRAM_METRIC}createCounter(Q,X){return z20.NOOP_COUNTER_METRIC}createUpDownCounter(Q,X){return z20.NOOP_UP_DOWN_COUNTER_METRIC}createObservableGauge(Q,X){return z20.NOOP_OBSERVABLE_GAUGE_METRIC}createObservableCounter(Q,X){return z20.NOOP_OBSERVABLE_COUNTER_METRIC}createObservableUpDownCounter(Q,X){return z20.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC}addBatchObservableCallback(Q,X){}removeBatchObservableCallback(Q){}}z20.NoopMeter=Fs;class mz{}z20.NoopMetric=mz;class Vs extends mz{add(Q,X){}}z20.NoopCounterMetric=Vs;class qs extends mz{add(Q,X){}}z20.NoopUpDownCounterMetric=qs;class zs extends mz{record(Q,X){}}z20.NoopGaugeMetric=zs;class Us extends mz{record(Q,X){}}z20.NoopHistogramMetric=Us;class vw{addCallback(Q){}removeCallback(Q){}}z20.NoopObservableMetric=vw;class Bs extends vw{}z20.NoopObservableCounterMetric=Bs;class Ds extends vw{}z20.NoopObservableGaugeMetric=Ds;class Ns extends vw{}z20.NoopObservableUpDownCounterMetric=Ns;z20.NOOP_METER=new Fs;z20.NOOP_COUNTER_METRIC=new Vs;z20.NOOP_GAUGE_METRIC=new zs;z20.NOOP_HISTOGRAM_METRIC=new Us;z20.NOOP_UP_DOWN_COUNTER_METRIC=new qs;z20.NOOP_OBSERVABLE_COUNTER_METRIC=new Bs;z20.NOOP_OBSERVABLE_GAUGE_METRIC=new Ds;z20.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=new Ns;function _t6(){return z20.NOOP_METER}z20.createNoopMeter=_t6});var A20=I((P20)=>{Object.defineProperty(P20,"__esModule",{value:!0});P20.ValueType=void 0;var pt6;(function(Q){Q[Q.INT=0]="INT",Q[Q.DOUBLE=1]="DOUBLE"})(pt6=P20.ValueType||(P20.ValueType={}))});var ws=I((E20)=>{Object.defineProperty(E20,"__esModule",{value:!0});E20.defaultTextMapSetter=E20.defaultTextMapGetter=void 0;E20.defaultTextMapGetter={get(Q,X){if(Q==null)return;return Q[X]},keys(Q){if(Q==null)return[];return Object.keys(Q)}};E20.defaultTextMapSetter={set(Q,X,Y){if(Q==null)return;Q[X]=Y}}});var S20=I((I20)=>{Object.defineProperty(I20,"__esModule",{value:!0});I20.NoopContextManager=void 0;var nt6=kw();class C20{active(){return nt6.ROOT_CONTEXT}with(Q,X,Y,...J){return X.call(Y,...J)}bind(Q,X){return X}enable(){return this}disable(){return this}}I20.NoopContextManager=C20});var _w=I((v20)=>{Object.defineProperty(v20,"__esModule",{value:!0});v20.ContextAPI=void 0;var it6=S20(),Ms=j3(),k20=C3(),Ts="context",at6=new it6.NoopContextManager;class Ps{constructor(){}static getInstance(){if(!this._instance)this._instance=new Ps;return this._instance}setGlobalContextManager(Q){return(0,Ms.registerGlobal)(Ts,Q,k20.DiagAPI.instance())}active(){return this._getContextManager().active()}with(Q,X,Y,...J){return this._getContextManager().with(Q,X,Y,...J)}bind(Q,X){return this._getContextManager().bind(Q,X)}_getContextManager(){return(0,Ms.getGlobal)(Ts)||at6}disable(){this._getContextManager().disable(),(0,Ms.unregisterGlobal)(Ts,k20.DiagAPI.instance())}}v20.ContextAPI=Ps});var Es=I((y20)=>{Object.defineProperty(y20,"__esModule",{value:!0});y20.TraceFlags=void 0;var rt6;(function(Q){Q[Q.NONE=0]="NONE",Q[Q.SAMPLED=1]="SAMPLED"})(rt6=y20.TraceFlags||(y20.TraceFlags={}))});var nk=I((b20)=>{Object.defineProperty(b20,"__esModule",{value:!0});b20.INVALID_SPAN_CONTEXT=b20.INVALID_TRACEID=b20.INVALID_SPANID=void 0;var ot6=Es();b20.INVALID_SPANID="0000000000000000";b20.INVALID_TRACEID="00000000000000000000000000000000";b20.INVALID_SPAN_CONTEXT={traceId:b20.INVALID_TRACEID,spanId:b20.INVALID_SPANID,traceFlags:ot6.TraceFlags.NONE}});var ik=I((u20)=>{Object.defineProperty(u20,"__esModule",{value:!0});u20.NonRecordingSpan=void 0;var st6=nk();class g20{constructor(Q=st6.INVALID_SPAN_CONTEXT){this._spanContext=Q}spanContext(){return this._spanContext}setAttribute(Q,X){return this}setAttributes(Q){return this}addEvent(Q,X){return this}addLink(Q){return this}addLinks(Q){return this}setStatus(Q){return this}updateName(Q){return this}end(Q){}isRecording(){return!1}recordException(Q,X){}}u20.NonRecordingSpan=g20});var Is=I((d20)=>{Object.defineProperty(d20,"__esModule",{value:!0});d20.getSpanContext=d20.setSpanContext=d20.deleteSpan=d20.setSpan=d20.getActiveSpan=d20.getSpan=void 0;var tt6=kw(),et6=ik(),Qe6=_w(),js=(0,tt6.createContextKey)("OpenTelemetry Context Key SPAN");function Cs(Q){return Q.getValue(js)||void 0}d20.getSpan=Cs;function Xe6(){return Cs(Qe6.ContextAPI.getInstance().active())}d20.getActiveSpan=Xe6;function l20(Q,X){return Q.setValue(js,X)}d20.setSpan=l20;function Ye6(Q){return Q.deleteValue(js)}d20.deleteSpan=Ye6;function Je6(Q,X){return l20(Q,new et6.NonRecordingSpan(X))}d20.setSpanContext=Je6;function Ge6(Q){var X;return(X=Cs(Q))===null||X===void 0?void 0:X.spanContext()}d20.getSpanContext=Ge6});var ak=I((a20)=>{Object.defineProperty(a20,"__esModule",{value:!0});a20.wrapSpanContext=a20.isSpanContextValid=a20.isValidSpanId=a20.isValidTraceId=void 0;var c20=nk(),Fe6=ik(),Ve6=/^([0-9a-f]{32})$/i,qe6=/^[0-9a-f]{16}$/i;function n20(Q){return Ve6.test(Q)&&Q!==c20.INVALID_TRACEID}a20.isValidTraceId=n20;function i20(Q){return qe6.test(Q)&&Q!==c20.INVALID_SPANID}a20.isValidSpanId=i20;function ze6(Q){return n20(Q.traceId)&&i20(Q.spanId)}a20.isSpanContextValid=ze6;function Ue6(Q){return new Fe6.NonRecordingSpan(Q)}a20.wrapSpanContext=Ue6});var ks=I((t20)=>{Object.defineProperty(t20,"__esModule",{value:!0});t20.NoopTracer=void 0;var Oe6=_w(),o20=Is(),Rs=ik(),Le6=ak(),Ss=Oe6.ContextAPI.getInstance();class s20{startSpan(Q,X,Y=Ss.active()){if(Boolean(X===null||X===void 0?void 0:X.root))return new Rs.NonRecordingSpan;let G=Y&&(0,o20.getSpanContext)(Y);if(we6(G)&&(0,Le6.isSpanContextValid)(G))return new Rs.NonRecordingSpan(G);else return new Rs.NonRecordingSpan}startActiveSpan(Q,X,Y,J){let G,W,Z;if(arguments.length<2)return;else if(arguments.length===2)Z=X;else if(arguments.length===3)G=X,Z=Y;else G=X,W=Y,Z=J;let $=W!==null&&W!==void 0?W:Ss.active(),K=this.startSpan(Q,G,$),H=(0,o20.setSpan)($,K);return Ss.with(H,Z,void 0,K)}}t20.NoopTracer=s20;function we6(Q){return typeof Q==="object"&&typeof Q.spanId==="string"&&typeof Q.traceId==="string"&&typeof Q.traceFlags==="number"}});var vs=I((XC0)=>{Object.defineProperty(XC0,"__esModule",{value:!0});XC0.ProxyTracer=void 0;var Me6=ks(),Te6=new Me6.NoopTracer;class QC0{constructor(Q,X,Y,J){this._provider=Q,this.name=X,this.version=Y,this.options=J}startSpan(Q,X,Y){return this._getTracer().startSpan(Q,X,Y)}startActiveSpan(Q,X,Y,J){let G=this._getTracer();return Reflect.apply(G.startActiveSpan,G,arguments)}_getTracer(){if(this._delegate)return this._delegate;let Q=this._provider.getDelegateTracer(this.name,this.version,this.options);if(!Q)return Te6;return this._delegate=Q,this._delegate}}XC0.ProxyTracer=QC0});var ZC0=I((GC0)=>{Object.defineProperty(GC0,"__esModule",{value:!0});GC0.NoopTracerProvider=void 0;var Pe6=ks();class JC0{getTracer(Q,X,Y){return new Pe6.NoopTracer}}GC0.NoopTracerProvider=JC0});var _s=I((KC0)=>{Object.defineProperty(KC0,"__esModule",{value:!0});KC0.ProxyTracerProvider=void 0;var Ae6=vs(),Ee6=ZC0(),je6=new Ee6.NoopTracerProvider;class $C0{getTracer(Q,X,Y){var J;return(J=this.getDelegateTracer(Q,X,Y))!==null&&J!==void 0?J:new Ae6.ProxyTracer(this,Q,X,Y)}getDelegate(){var Q;return(Q=this._delegate)!==null&&Q!==void 0?Q:je6}setDelegate(Q){this._delegate=Q}getDelegateTracer(Q,X,Y){var J;return(J=this._delegate)===null||J===void 0?void 0:J.getTracer(Q,X,Y)}}KC0.ProxyTracerProvider=$C0});var VC0=I((FC0)=>{Object.defineProperty(FC0,"__esModule",{value:!0});FC0.SamplingDecision=void 0;var Ce6;(function(Q){Q[Q.NOT_RECORD=0]="NOT_RECORD",Q[Q.RECORD=1]="RECORD",Q[Q.RECORD_AND_SAMPLED=2]="RECORD_AND_SAMPLED"})(Ce6=FC0.SamplingDecision||(FC0.SamplingDecision={}))});var zC0=I((qC0)=>{Object.defineProperty(qC0,"__esModule",{value:!0});qC0.SpanKind=void 0;var Ie6;(function(Q){Q[Q.INTERNAL=0]="INTERNAL",Q[Q.SERVER=1]="SERVER",Q[Q.CLIENT=2]="CLIENT",Q[Q.PRODUCER=3]="PRODUCER",Q[Q.CONSUMER=4]="CONSUMER"})(Ie6=qC0.SpanKind||(qC0.SpanKind={}))});var BC0=I((UC0)=>{Object.defineProperty(UC0,"__esModule",{value:!0});UC0.SpanStatusCode=void 0;var Re6;(function(Q){Q[Q.UNSET=0]="UNSET",Q[Q.OK=1]="OK",Q[Q.ERROR=2]="ERROR"})(Re6=UC0.SpanStatusCode||(UC0.SpanStatusCode={}))});var OC0=I((DC0)=>{Object.defineProperty(DC0,"__esModule",{value:!0});DC0.validateValue=DC0.validateKey=void 0;var hs="[_0-9a-z-*/]",Se6=`[a-z]${hs}{0,255}`,ke6=`[a-z0-9]${hs}{0,240}@[a-z]${hs}{0,13}`,ve6=new RegExp(`^(?:${Se6}|${ke6})$`),_e6=/^[ -~]{0,255}[!-~]$/,ye6=/,|=/;function be6(Q){return ve6.test(Q)}DC0.validateKey=be6;function fe6(Q){return _e6.test(Q)&&!ye6.test(Q)}DC0.validateValue=fe6});var EC0=I((PC0)=>{Object.defineProperty(PC0,"__esModule",{value:!0});PC0.TraceStateImpl=void 0;var LC0=OC0(),wC0=32,xe6=512,MC0=",",TC0="=";class xs{constructor(Q){if(this._internalState=new Map,Q)this._parse(Q)}set(Q,X){let Y=this._clone();if(Y._internalState.has(Q))Y._internalState.delete(Q);return Y._internalState.set(Q,X),Y}unset(Q){let X=this._clone();return X._internalState.delete(Q),X}get(Q){return this._internalState.get(Q)}serialize(){return this._keys().reduce((Q,X)=>{return Q.push(X+TC0+this.get(X)),Q},[]).join(MC0)}_parse(Q){if(Q.length>xe6)return;if(this._internalState=Q.split(MC0).reverse().reduce((X,Y)=>{let J=Y.trim(),G=J.indexOf(TC0);if(G!==-1){let W=J.slice(0,G),Z=J.slice(G+1,Y.length);if((0,LC0.validateKey)(W)&&(0,LC0.validateValue)(Z))X.set(W,Z)}return X},new Map),this._internalState.size>wC0)this._internalState=new Map(Array.from(this._internalState.entries()).reverse().slice(0,wC0))}_keys(){return Array.from(this._internalState.keys()).reverse()}_clone(){let Q=new xs;return Q._internalState=new Map(this._internalState),Q}}PC0.TraceStateImpl=xs});var IC0=I((jC0)=>{Object.defineProperty(jC0,"__esModule",{value:!0});jC0.createTraceState=void 0;var ge6=EC0();function ue6(Q){return new ge6.TraceStateImpl(Q)}jC0.createTraceState=ue6});var kC0=I((RC0)=>{Object.defineProperty(RC0,"__esModule",{value:!0});RC0.context=void 0;var me6=_w();RC0.context=me6.ContextAPI.getInstance()});var yC0=I((vC0)=>{Object.defineProperty(vC0,"__esModule",{value:!0});vC0.diag=void 0;var le6=C3();vC0.diag=le6.DiagAPI.instance()});var hC0=I((bC0)=>{Object.defineProperty(bC0,"__esModule",{value:!0});bC0.NOOP_METER_PROVIDER=bC0.NoopMeterProvider=void 0;var de6=Os();class gs{getMeter(Q,X,Y){return de6.NOOP_METER}}bC0.NoopMeterProvider=gs;bC0.NOOP_METER_PROVIDER=new gs});var mC0=I((gC0)=>{Object.defineProperty(gC0,"__esModule",{value:!0});gC0.MetricsAPI=void 0;var ce6=hC0(),us=j3(),xC0=C3(),ms="metrics";class ls{constructor(){}static getInstance(){if(!this._instance)this._instance=new ls;return this._instance}setGlobalMeterProvider(Q){return(0,us.registerGlobal)(ms,Q,xC0.DiagAPI.instance())}getMeterProvider(){return(0,us.getGlobal)(ms)||ce6.NOOP_METER_PROVIDER}getMeter(Q,X,Y){return this.getMeterProvider().getMeter(Q,X,Y)}disable(){(0,us.unregisterGlobal)(ms,xC0.DiagAPI.instance())}}gC0.MetricsAPI=ls});var pC0=I((lC0)=>{Object.defineProperty(lC0,"__esModule",{value:!0});lC0.metrics=void 0;var ne6=mC0();lC0.metrics=ne6.MetricsAPI.getInstance()});var aC0=I((nC0)=>{Object.defineProperty(nC0,"__esModule",{value:!0});nC0.NoopTextMapPropagator=void 0;class cC0{inject(Q,X){}extract(Q,X){return Q}fields(){return[]}}nC0.NoopTextMapPropagator=cC0});var tC0=I((oC0)=>{Object.defineProperty(oC0,"__esModule",{value:!0});oC0.deleteBaggage=oC0.setBaggage=oC0.getActiveBaggage=oC0.getBaggage=void 0;var ie6=_w(),ae6=kw(),ds=(0,ae6.createContextKey)("OpenTelemetry Baggage Key");function rC0(Q){return Q.getValue(ds)||void 0}oC0.getBaggage=rC0;function re6(){return rC0(ie6.ContextAPI.getInstance().active())}oC0.getActiveBaggage=re6;function oe6(Q,X){return Q.setValue(ds,X)}oC0.setBaggage=oe6;function se6(Q){return Q.deleteValue(ds)}oC0.deleteBaggage=se6});var JI0=I((XI0)=>{Object.defineProperty(XI0,"__esModule",{value:!0});XI0.PropagationAPI=void 0;var ps=j3(),X01=aC0(),eC0=ws(),rk=tC0(),Y01=Ks(),QI0=C3(),cs="propagation",J01=new X01.NoopTextMapPropagator;class ns{constructor(){this.createBaggage=Y01.createBaggage,this.getBaggage=rk.getBaggage,this.getActiveBaggage=rk.getActiveBaggage,this.setBaggage=rk.setBaggage,this.deleteBaggage=rk.deleteBaggage}static getInstance(){if(!this._instance)this._instance=new ns;return this._instance}setGlobalPropagator(Q){return(0,ps.registerGlobal)(cs,Q,QI0.DiagAPI.instance())}inject(Q,X,Y=eC0.defaultTextMapSetter){return this._getGlobalPropagator().inject(Q,X,Y)}extract(Q,X,Y=eC0.defaultTextMapGetter){return this._getGlobalPropagator().extract(Q,X,Y)}fields(){return this._getGlobalPropagator().fields()}disable(){(0,ps.unregisterGlobal)(cs,QI0.DiagAPI.instance())}_getGlobalPropagator(){return(0,ps.getGlobal)(cs)||J01}}XI0.PropagationAPI=ns});var ZI0=I((GI0)=>{Object.defineProperty(GI0,"__esModule",{value:!0});GI0.propagation=void 0;var G01=JI0();GI0.propagation=G01.PropagationAPI.getInstance()});var qI0=I((FI0)=>{Object.defineProperty(FI0,"__esModule",{value:!0});FI0.TraceAPI=void 0;var is=j3(),$I0=_s(),KI0=ak(),lz=Is(),HI0=C3(),as="trace";class rs{constructor(){this._proxyTracerProvider=new $I0.ProxyTracerProvider,this.wrapSpanContext=KI0.wrapSpanContext,this.isSpanContextValid=KI0.isSpanContextValid,this.deleteSpan=lz.deleteSpan,this.getSpan=lz.getSpan,this.getActiveSpan=lz.getActiveSpan,this.getSpanContext=lz.getSpanContext,this.setSpan=lz.setSpan,this.setSpanContext=lz.setSpanContext}static getInstance(){if(!this._instance)this._instance=new rs;return this._instance}setGlobalTracerProvider(Q){let X=(0,is.registerGlobal)(as,this._proxyTracerProvider,HI0.DiagAPI.instance());if(X)this._proxyTracerProvider.setDelegate(Q);return X}getTracerProvider(){return(0,is.getGlobal)(as)||this._proxyTracerProvider}getTracer(Q,X){return this.getTracerProvider().getTracer(Q,X)}disable(){(0,is.unregisterGlobal)(as,HI0.DiagAPI.instance()),this._proxyTracerProvider=new $I0.ProxyTracerProvider}}FI0.TraceAPI=rs});var BI0=I((zI0)=>{Object.defineProperty(zI0,"__esModule",{value:!0});zI0.trace=void 0;var W01=qI0();zI0.trace=W01.TraceAPI.getInstance()});var K6=I((h4)=>{Object.defineProperty(h4,"__esModule",{value:!0});h4.trace=h4.propagation=h4.metrics=h4.diag=h4.context=h4.INVALID_SPAN_CONTEXT=h4.INVALID_TRACEID=h4.INVALID_SPANID=h4.isValidSpanId=h4.isValidTraceId=h4.isSpanContextValid=h4.createTraceState=h4.TraceFlags=h4.SpanStatusCode=h4.SpanKind=h4.SamplingDecision=h4.ProxyTracerProvider=h4.ProxyTracer=h4.defaultTextMapSetter=h4.defaultTextMapGetter=h4.ValueType=h4.createNoopMeter=h4.DiagLogLevel=h4.DiagConsoleLogger=h4.ROOT_CONTEXT=h4.createContextKey=h4.baggageEntryMetadataFromString=void 0;var Z01=Ks();Object.defineProperty(h4,"baggageEntryMetadataFromString",{enumerable:!0,get:function(){return Z01.baggageEntryMetadataFromString}});var DI0=kw();Object.defineProperty(h4,"createContextKey",{enumerable:!0,get:function(){return DI0.createContextKey}});Object.defineProperty(h4,"ROOT_CONTEXT",{enumerable:!0,get:function(){return DI0.ROOT_CONTEXT}});var $01=q20();Object.defineProperty(h4,"DiagConsoleLogger",{enumerable:!0,get:function(){return $01.DiagConsoleLogger}});var K01=dk();Object.defineProperty(h4,"DiagLogLevel",{enumerable:!0,get:function(){return K01.DiagLogLevel}});var H01=Os();Object.defineProperty(h4,"createNoopMeter",{enumerable:!0,get:function(){return H01.createNoopMeter}});var F01=A20();Object.defineProperty(h4,"ValueType",{enumerable:!0,get:function(){return F01.ValueType}});var NI0=ws();Object.defineProperty(h4,"defaultTextMapGetter",{enumerable:!0,get:function(){return NI0.defaultTextMapGetter}});Object.defineProperty(h4,"defaultTextMapSetter",{enumerable:!0,get:function(){return NI0.defaultTextMapSetter}});var V01=vs();Object.defineProperty(h4,"ProxyTracer",{enumerable:!0,get:function(){return V01.ProxyTracer}});var q01=_s();Object.defineProperty(h4,"ProxyTracerProvider",{enumerable:!0,get:function(){return q01.ProxyTracerProvider}});var z01=VC0();Object.defineProperty(h4,"SamplingDecision",{enumerable:!0,get:function(){return z01.SamplingDecision}});var U01=zC0();Object.defineProperty(h4,"SpanKind",{enumerable:!0,get:function(){return U01.SpanKind}});var B01=BC0();Object.defineProperty(h4,"SpanStatusCode",{enumerable:!0,get:function(){return B01.SpanStatusCode}});var D01=Es();Object.defineProperty(h4,"TraceFlags",{enumerable:!0,get:function(){return D01.TraceFlags}});var N01=IC0();Object.defineProperty(h4,"createTraceState",{enumerable:!0,get:function(){return N01.createTraceState}});var os=ak();Object.defineProperty(h4,"isSpanContextValid",{enumerable:!0,get:function(){return os.isSpanContextValid}});Object.defineProperty(h4,"isValidTraceId",{enumerable:!0,get:function(){return os.isValidTraceId}});Object.defineProperty(h4,"isValidSpanId",{enumerable:!0,get:function(){return os.isValidSpanId}});var ss=nk();Object.defineProperty(h4,"INVALID_SPANID",{enumerable:!0,get:function(){return ss.INVALID_SPANID}});Object.defineProperty(h4,"INVALID_TRACEID",{enumerable:!0,get:function(){return ss.INVALID_TRACEID}});Object.defineProperty(h4,"INVALID_SPAN_CONTEXT",{enumerable:!0,get:function(){return ss.INVALID_SPAN_CONTEXT}});var OI0=kC0();Object.defineProperty(h4,"context",{enumerable:!0,get:function(){return OI0.context}});var LI0=yC0();Object.defineProperty(h4,"diag",{enumerable:!0,get:function(){return LI0.diag}});var wI0=pC0();Object.defineProperty(h4,"metrics",{enumerable:!0,get:function(){return wI0.metrics}});var MI0=ZI0();Object.defineProperty(h4,"propagation",{enumerable:!0,get:function(){return MI0.propagation}});var TI0=BI0();Object.defineProperty(h4,"trace",{enumerable:!0,get:function(){return TI0.trace}});h4.default={context:OI0.context,diag:LI0.diag,metrics:wI0.metrics,propagation:MI0.propagation,trace:TI0.trace}});function O6(Q){return{...Q,execute:async(X,Y)=>{let J=Date.now();return await Y.tracer.startActiveSpan(`tool.${Q.name}`,{attributes:{"tool.name":Q.name,"organization.id":Y.organization?.id??"system","user.id":Y.auth.user?.id??Y.auth.apiKey?.userId??"anonymous"}},async(G)=>{try{Y.toolName=Q.name,Y.access.setToolName?.(Q.name);let W=await Q.handler(X,Y),Z=Date.now()-J;return Y.meter.createHistogram("tool.execution.duration",{description:"Duration of tool executions in milliseconds",unit:"ms"}).record(Z,{"tool.name":Q.name,"organization.id":Y.organization?.id??"system",status:"success"}),Y.meter.createCounter("tool.execution.count",{description:"Number of tool executions"}).add(1,{"tool.name":Q.name,status:"success"}),G.setStatus({code:ts.SpanStatusCode.OK}),W}catch(W){throw Y.meter.createCounter("tool.execution.errors",{description:"Number of tool execution errors"}).add(1,{"tool.name":Q.name,"error.type":W.constructor.name}),G.setStatus({code:ts.SpanStatusCode.ERROR,message:W.message}),G.recordException(W),W}finally{G.end()}})}}}var ts;var P1=y(()=>{ts=k1(K6(),1)});function O1(Q){if(!Q.organization)throw Error("This operation requires organization scope");return Q.organization}function o9(Q){return Q.auth.user?.id??Q.auth.apiKey?.userId}function w01(Q){return!!(Q.auth.user||Q.auth.apiKey)}function k6(Q){if(!w01(Q))throw Error("Authentication required")}var ok,PI0,AI0,EI0,jI0,CI0,II0,RI0,SI0,kI0;var dz=y(()=>{Z6();ok=N.record(N.string(),N.array(N.string())),PI0=N.object({id:N.string().describe("Unique identifier for the API key"),name:N.string().describe("Human-readable name for the API key"),userId:N.string().describe("ID of the user who owns this API key"),permissions:ok.describe('Permissions granted to this API key. Format: { resource: [actions] } where resource is "self" for management tools or "conn_<UUID>" for connection-specific tools. Example: { "self": ["API_KEY_CREATE"], "conn_abc123": ["SEND_MESSAGE"] }'),expiresAt:N.union([N.string(),N.date()]).nullable().optional().describe("Expiration date of the API key"),createdAt:N.union([N.string(),N.date()]).describe("When the API key was created")}),AI0=N.object({name:N.string().min(1).max(64).describe("Human-readable name for the API key"),permissions:ok.optional().describe('Permissions to grant. Format: { resource: [actions] }. Resource is "self" for management tools or "conn_<UUID>" for connection-specific tools. Actions are tool names (e.g., ["API_KEY_CREATE"]) or ["*"] for all. Example: { "self": ["API_KEY_CREATE", "COLLECTION_CONNECTIONS_LIST"] }. Defaults to read-only permissions.'),expiresIn:N.number().positive().optional().describe("Expiration time in seconds. If not provided, key never expires."),metadata:N.record(N.string(),N.unknown()).optional().describe("Additional metadata to store with the API key")}),EI0=N.object({id:N.string().describe("Unique identifier for the API key"),name:N.string().describe("Human-readable name for the API key"),key:N.string().describe("The actual API key value. STORE THIS SECURELY - it will not be shown again!"),permissions:ok.describe('Permissions granted to this API key. Format: { resource: [actions] } where resource is "self" for management tools or "conn_<UUID>" for connection-specific tools'),expiresAt:N.union([N.string(),N.date()]).nullable().optional().describe("Expiration date of the API key"),createdAt:N.union([N.string(),N.date()]).describe("When the API key was created")}),jI0=N.object({}),CI0=N.object({items:N.array(PI0).describe("List of API keys (without key values)")}),II0=N.object({keyId:N.string().describe("ID of the API key to update"),name:N.string().min(1).max(64).optional().describe("New name for the API key"),permissions:ok.optional().describe('New permissions. Format: { resource: [actions] } where resource is "self" for management tools or "conn_<UUID>" for connection-specific tools. Actions are tool names or "*" for all. Example: { "self": ["API_KEY_CREATE"] }. Replaces existing permissions.'),metadata:N.record(N.string(),N.unknown()).optional().describe("New metadata. Replaces existing metadata.")}),RI0=N.object({item:PI0.describe("The updated API key (without key value)")}),SI0=N.object({keyId:N.string().describe("ID of the API key to delete")}),kI0=N.object({success:N.boolean().describe("Whether the deletion was successful"),keyId:N.string().describe("ID of the deleted API key")})});var es;var vI0=y(()=>{P1();dz();es=O6({name:"API_KEY_CREATE",description:"Create a new API key with specified permissions. The key value is only returned once - store it securely!",inputSchema:AI0,outputSchema:EI0,handler:async(Q,X)=>{k6(X),await X.access.check();let Y=await X.boundAuth.apiKey.create({name:Q.name,permissions:Q.permissions,expiresIn:Q.expiresIn,metadata:{...Q.metadata,organization:X.organization}});return{id:Y.id,name:Y.name??Q.name,key:Y.key,permissions:Y.permissions??{},expiresAt:Y.expiresAt??null,createdAt:Y.createdAt}}})});var Qt;var _I0=y(()=>{P1();dz();Qt=O6({name:"API_KEY_DELETE",description:"Delete an API key. This instantly revokes the key - it can no longer be used for authentication.",inputSchema:SI0,outputSchema:kI0,handler:async(Q,X)=>{if(k6(X),await X.access.check(),!o9(X))throw Error("User ID required to delete API key");let G=(await X.boundAuth.apiKey.list())?.find((K)=>K.id===Q.keyId);if(!G)throw Error("API key not found");let Z=G.metadata?.organization?.id,$=X.organization?.id;if(Z!==$)throw Error("Cannot delete API key from another organization");return await X.boundAuth.apiKey.delete(Q.keyId),{success:!0,keyId:Q.keyId}}})});var Xt;var yI0=y(()=>{P1();dz();Xt=O6({name:"API_KEY_LIST",description:"List all API keys for the current user in the current organization. Returns metadata only - key values are never shown after creation.",inputSchema:jI0,outputSchema:CI0,handler:async(Q,X)=>{k6(X),await X.access.check();let Y=await X.boundAuth.apiKey.list(),J=X.organization?.id;return{items:(Y??[]).filter((W)=>{return W.metadata?.organization?.id===J}).map((W)=>({id:W.id,name:W.name??"Unnamed Key",userId:W.userId,permissions:W.permissions??{},expiresAt:W.expiresAt??null,createdAt:W.createdAt}))}}})});var Yt;var bI0=y(()=>{P1();dz();Yt=O6({name:"API_KEY_UPDATE",description:"Update an existing API key's name, permissions, or metadata. Note: Key value cannot be changed or retrieved.",inputSchema:II0,outputSchema:RI0,handler:async(Q,X)=>{if(k6(X),await X.access.check(),!o9(X))throw Error("User ID required to update API key");let G=(await X.boundAuth.apiKey.list())?.find((H)=>H.id===Q.keyId);if(!G)throw Error(`API key not found: ${Q.keyId}`);let Z=G.metadata?.organization?.id,$=X.organization?.id;if(Z!==$)throw Error("Cannot update API key from another organization");let K=await X.boundAuth.apiKey.update({keyId:Q.keyId,name:Q.name,permissions:Q.permissions,metadata:{...Q.metadata,organization:X.organization}});if(!K)throw Error(`Failed to update API key: ${Q.keyId}`);return{item:{id:K.id,name:K.name??Q.name??"Unnamed Key",userId:K.userId,permissions:K.permissions??{},expiresAt:K.expiresAt??null,createdAt:K.createdAt}}}})});var fI0=y(()=>{vI0();_I0();yI0();bI0();dz()});var T01,P01,Jt;var hI0=y(()=>{$3();Z6();P1();uk();L7();T01=N.object({data:$L0.describe("Data for the new connection (id is auto-generated if not provided)")}),P01=N.object({item:_J.describe("The created connection entity")}),Jt=O6({name:"COLLECTION_CONNECTIONS_CREATE",description:"Create a new MCP connection in the organization",inputSchema:T01,outputSchema:P01,handler:async(Q,X)=>{k6(X);let Y=O1(X);await X.access.check();let J=o9(X);if(!J)throw Error("User ID required to create connection");let G={...Q.data,organization_id:Y.id,created_by:J},W=await xz({id:`pending-${Date.now()}`,title:G.title,connection_type:G.connection_type,connection_url:G.connection_url,connection_token:G.connection_token,connection_headers:G.connection_headers}).catch(()=>null),Z=W?.length?W:null,$=await X.storage.connections.create({...G,tools:Z});return await X.eventBus.publish(Y.id,ML.SELF(Y.id),{type:"connection.created",data:$}),{item:$}}})});function yw(Q,X){if(Q===X)return!0;if(Q==null||X==null)return Q===X;if(typeof Q!==typeof X)return!1;if(Array.isArray(Q)&&Array.isArray(X)){if(Q.length!==X.length)return!1;return Q.every((Y,J)=>yw(Y,X[J]))}if(typeof Q==="object"&&typeof X==="object"){let Y=Object.keys(Q),J=Object.keys(X);if(Y.length!==J.length)return!1;return Y.every((G)=>J.includes(G)&&yw(Q[G],X[G]))}return!1}function n01(){return(Q)=>{if(!Array.isArray(Q))return!0;let X=[];return Q.every((Y)=>{if(X.some((G)=>yw(Y,G)))return!1;return X.push(Y),!0})}}function sk(Q,X){return Q.safeParse(X).success}function P9(Q){if(typeof Q==="boolean")return Q?N.any():N.never();let X={};for(let G of Z61)G.apply(X,Q);let Y=[];if(X.string!==!1)Y.push(X.string||N.string());if(X.number!==!1)Y.push(X.number||N.number());if(X.boolean!==!1)Y.push(X.boolean||N.boolean());if(X.null!==!1)Y.push(X.null||N.null());if(X.array!==!1)Y.push(X.array||N.array(N.any()));if(X.tuple!==!1&&X.tuple!==void 0)Y.push(X.tuple);if(X.object!==!1)if(X.object)Y.push(X.object);else{let G=N.custom((W)=>{return typeof W==="object"&&W!==null&&!Array.isArray(W)},"Must be an object, not an array");Y.push(G)}if(X.file!==!1&&X.file!==void 0)Y.push(X.file);let J;if(Y.length===0)J=N.never();else if(Y.length===1)J=Y[0];else if(!Object.keys(Q).some((W)=>W!=="$schema"&&W!=="title"&&W!=="description"))J=N.any();else J=N.union(Y);for(let G of $61)J=G.apply(J,Q);return J}var A01=class{apply(Q,X){if(!X.type)return;let Y=Array.isArray(X.type)?X.type:[X.type],J=new Set(Y);if(!J.has("string"))Q.string=!1;if(!J.has("number")&&!J.has("integer"))Q.number=!1;if(!J.has("boolean"))Q.boolean=!1;if(!J.has("null"))Q.null=!1;if(!J.has("array"))Q.array=!1;if(!J.has("object"))Q.object=!1;if(J.has("integer")&&Q.number!==!1){let G=Q.number||N.number();if(G instanceof N.ZodNumber)Q.number=G.int()}}},E01=class{apply(Q,X){if(X.const===void 0)return;let Y=X.const;if(Q.string=!1,Q.number=!1,Q.boolean=!1,Q.null=!1,Q.array=!1,Q.object=!1,typeof Y==="string")Q.string=N.literal(Y);else if(typeof Y==="number")Q.number=N.literal(Y);else if(typeof Y==="boolean")Q.boolean=N.literal(Y);else if(Y===null)Q.null=N.null();else if(Array.isArray(Y))Q.array=void 0;else if(typeof Y==="object")Q.object=void 0}},j01=class{apply(Q,X){if(!X.enum)return;if(X.enum.length===0){if(!X.type)Q.string=!1,Q.number=!1,Q.boolean=!1,Q.null=!1,Q.array=!1,Q.object=!1;return}let Y={string:X.enum.filter((J)=>typeof J==="string"),number:X.enum.filter((J)=>typeof J==="number"),boolean:X.enum.filter((J)=>typeof J==="boolean"),null:X.enum.filter((J)=>J===null),array:X.enum.filter((J)=>Array.isArray(J)),object:X.enum.filter((J)=>typeof J==="object"&&J!==null&&!Array.isArray(J))};Q.string=this.createTypeSchema(Y.string,"string"),Q.number=this.createTypeSchema(Y.number,"number"),Q.boolean=this.createTypeSchema(Y.boolean,"boolean"),Q.null=Y.null.length>0?N.null():!1,Q.array=Y.array.length>0?void 0:!1,Q.object=Y.object.length>0?void 0:!1}createTypeSchema(Q,X){if(Q.length===0)return!1;if(Q.length===1)return N.literal(Q[0]);if(X==="string")return N.enum(Q);if(X==="number"){let[Y,J,...G]=Q;return N.union([N.literal(Y),N.literal(J),...G.map((W)=>N.literal(W))])}if(X==="boolean")return N.union([N.literal(!0),N.literal(!1)]);return!1}},C01=class{apply(Q,X){let Y=X;if(Y.type==="string"&&Y.format==="binary"&&Y.contentEncoding==="binary"){let J=N.file();if(Y.minLength!==void 0)J=J.min(Y.minLength);if(Y.maxLength!==void 0)J=J.max(Y.maxLength);if(Y.contentMediaType!==void 0)J=J.mime(Y.contentMediaType);Q.file=J,Q.string=!1}}},I01=class{apply(Q,X){let Y=X;if(X.type===void 0&&(Y.minLength!==void 0||Y.maxLength!==void 0||Y.pattern!==void 0)){if(Q.string===void 0)Q.string=N.string()}}},R01=class{apply(Q,X){let Y=X;if(Y.minLength===void 0)return;if(Q.string!==!1){let J=Q.string||N.string();if(J instanceof N.ZodString)Q.string=J.refine((G)=>{return Array.from(G).length>=Y.minLength},{message:`String must be at least ${Y.minLength} characters long`})}}},S01=class{apply(Q,X){let Y=X;if(Y.maxLength===void 0)return;if(Q.string!==!1){let J=Q.string||N.string();if(J instanceof N.ZodString)Q.string=J.refine((G)=>{return Array.from(G).length<=Y.maxLength},{message:`String must be at most ${Y.maxLength} characters long`})}}},k01=class{apply(Q,X){let Y=X;if(!Y.pattern)return;if(Q.string!==!1){let J=Q.string||N.string();if(J instanceof N.ZodString){let G=new RegExp(Y.pattern);Q.string=J.regex(G)}}}},v01=class{apply(Q,X){let Y=X;if(Y.minimum===void 0)return;if(Q.number!==!1){let J=Q.number||N.number();if(J instanceof N.ZodNumber)Q.number=J.min(Y.minimum)}}},_01=class{apply(Q,X){let Y=X;if(Y.maximum===void 0)return;if(Q.number!==!1){let J=Q.number||N.number();if(J instanceof N.ZodNumber)Q.number=J.max(Y.maximum)}}},y01=class{apply(Q,X){let Y=X;if(Y.exclusiveMinimum===void 0)return;if(Q.number!==!1){let J=Q.number||N.number();if(J instanceof N.ZodNumber)if(typeof Y.exclusiveMinimum==="number")Q.number=J.gt(Y.exclusiveMinimum);else Q.number=!1}}},b01=class{apply(Q,X){let Y=X;if(Y.exclusiveMaximum===void 0)return;if(Q.number!==!1){let J=Q.number||N.number();if(J instanceof N.ZodNumber)if(typeof Y.exclusiveMaximum==="number")Q.number=J.lt(Y.exclusiveMaximum);else Q.number=!1}}},f01=class{apply(Q,X){let Y=X;if(Y.multipleOf===void 0)return;if(Q.number!==!1){let J=Q.number||N.number();if(J instanceof N.ZodNumber)Q.number=J.refine((G)=>{if(Y.multipleOf===0)return!1;let W=G/Y.multipleOf,Z=Math.round(W),$=Math.min(Math.abs(G)*Number.EPSILON*10,Math.abs(Y.multipleOf)*Number.EPSILON*10);return Math.abs(W-Z)<=$/Math.abs(Y.multipleOf)},{message:`Must be a multiple of ${Y.multipleOf}`})}}},h01=class{apply(Q,X){let Y=X;if(X.type===void 0&&(Y.minItems!==void 0||Y.maxItems!==void 0||Y.items!==void 0||Y.prefixItems!==void 0)){if(Q.array===void 0)Q.array=N.array(N.any())}}},x01=class{apply(Q,X){let Y=X;if(Y.minItems===void 0)return;if(Q.array!==!1)Q.array=(Q.array||N.array(N.any())).min(Y.minItems)}},g01=class{apply(Q,X){let Y=X;if(Y.maxItems===void 0)return;if(Q.array!==!1)Q.array=(Q.array||N.array(N.any())).max(Y.maxItems)}},u01=class{apply(Q,X){let Y=X;if(Q.array===!1)return;if(Array.isArray(Y.items))Q.array=Q.array||N.array(N.any());else if(Y.items&&typeof Y.items!=="boolean"&&!Y.prefixItems){let J=P9(Y.items),G=N.array(J);if(Q.array&&Q.array instanceof N.ZodArray){let W=Q.array._def;if(W.checks)W.checks.forEach((Z)=>{if(Z._zod&&Z._zod.def){let $=Z._zod.def;if($.check==="min_length"&&$.minimum!==void 0)G=G.min($.minimum);else if($.check==="max_length"&&$.maximum!==void 0)G=G.max($.maximum)}})}Q.array=G}else if(typeof Y.items==="boolean"&&Y.items===!1)if(!Y.prefixItems)Q.array=N.array(N.any()).max(0);else Q.array=Q.array||N.array(N.any());else if(typeof Y.items==="boolean"&&Y.items===!0)Q.array=Q.array||N.array(N.any());else if(Y.prefixItems)Q.array=Q.array||N.array(N.any())}},m01=class{apply(Q,X){if(X.type!=="array")return;let Y=X;if(!Array.isArray(Y.items))return;if(Q.array===!1)return;let J=Y.items.map((W)=>P9(W)),G;if(J.length===0)G=N.tuple([]);else G=N.tuple(J);if(Y.minItems!==void 0&&Y.minItems>J.length)G=!1;if(Y.maxItems!==void 0&&Y.maxItems<J.length)G=!1;Q.tuple=G,Q.array=!1}},l01=class{apply(Q,X){let Y=X;if(Q.object===!1)return;if(Y.properties||Y.required||Y.additionalProperties!==void 0)Q.object=Q.object||N.object({}).passthrough()}},d01=class{apply(Q,X){let Y=X;if(X.type===void 0&&(Y.maxProperties!==void 0||Y.minProperties!==void 0)){if(Q.object===void 0)Q.object=N.object({}).passthrough()}}},p01=class{apply(Q,X){let Y=X;if(Y.maxProperties===void 0)return;if(Q.object!==!1){let J=Q.object||N.object({}).passthrough();Q.object=J.refine((G)=>Object.keys(G).length<=Y.maxProperties,{message:`Object must have at most ${Y.maxProperties} properties`})}}},c01=class{apply(Q,X){let Y=X;if(Y.minProperties===void 0)return;if(Q.object!==!1){let J=Q.object||N.object({}).passthrough();Q.object=J.refine((G)=>Object.keys(G).length>=Y.minProperties,{message:`Object must have at least ${Y.minProperties} properties`})}}},i01=class{apply(Q,X){if(!X.not)return Q;let Y=P9(X.not);return Q.refine((J)=>!sk(Y,J),{message:"Value must not match the 'not' schema"})}},a01=class{apply(Q,X){if(X.uniqueItems!==!0)return Q;return Q.refine(n01(),{message:"Array items must be unique"})}},r01=class{apply(Q,X){if(!X.allOf||X.allOf.length===0)return Q;return X.allOf.map((J)=>P9(J)).reduce((J,G)=>N.intersection(J,G),Q)}},o01=class{apply(Q,X){if(!X.anyOf||X.anyOf.length===0)return Q;let Y=X.anyOf.length===1?P9(X.anyOf[0]):N.union([P9(X.anyOf[0]),P9(X.anyOf[1]),...X.anyOf.slice(2).map((J)=>P9(J))]);return N.intersection(Q,Y)}},s01=class{apply(Q,X){if(!X.oneOf||X.oneOf.length===0)return Q;let Y=X.oneOf.map((J)=>P9(J));return Q.refine((J)=>{let G=0;for(let W of Y)if(W.safeParse(J).success){if(G++,G>1)return!1}return G===1},{message:"Value must match exactly one of the oneOf schemas"})}},t01=class{apply(Q,X){let Y=X;if(Y.prefixItems&&Array.isArray(Y.prefixItems)){let G=Y.prefixItems.map((W)=>P9(W));return Q.refine((W)=>{if(!Array.isArray(W))return!0;for(let Z=0;Z<Math.min(W.length,G.length);Z++)if(!sk(G[Z],W[Z]))return!1;if(W.length>G.length){if(typeof Y.items==="boolean"&&Y.items===!1)return!1;else if(Y.items&&typeof Y.items==="object"&&!Array.isArray(Y.items)){let Z=P9(Y.items);for(let $=G.length;$<W.length;$++)if(!sk(Z,W[$]))return!1}}return!0},{message:"Array does not match prefixItems schema"})}return Q}},e01=class{apply(Q,X){let Y=X;if(!Y.properties&&!Y.required&&Y.additionalProperties!==!1)return Q;if(Q instanceof N.ZodObject||Q instanceof N.ZodRecord){let J={};if(Y.properties){for(let[G,W]of Object.entries(Y.properties))if(W!==void 0)J[G]=P9(W)}if(Y.required&&Array.isArray(Y.required)){let G=new Set(Y.required);for(let W of Object.keys(J))if(!G.has(W))J[W]=J[W].optional()}else for(let G of Object.keys(J))J[G]=J[G].optional();if(Y.additionalProperties===!1)return N.object(J);else return N.object(J).passthrough()}return Q.refine((J)=>{if(typeof J!=="object"||J===null||Array.isArray(J))return!0;if(Y.properties){for(let[G,W]of Object.entries(Y.properties))if(W!==void 0){if(Object.getOwnPropertyDescriptor(J,G)!==void 0){if(!P9(W).safeParse(J[G]).success)return!1}}}if(Y.required&&Array.isArray(Y.required)){for(let G of Y.required)if(Object.getOwnPropertyDescriptor(J,G)===void 0)return!1}if(Y.additionalProperties===!1&&Y.properties){let G=new Set(Object.keys(Y.properties));for(let W in J)if(!G.has(W))return!1}return!0},{message:"Object constraints validation failed"})}},Q61=class{apply(Q,X){if(!X.enum||X.enum.length===0)return Q;let Y=X.enum.filter((J)=>Array.isArray(J)||typeof J==="object"&&J!==null);if(Y.length===0)return Q;return Q.refine((J)=>{if(typeof J!=="object"||J===null)return!0;return Y.some((G)=>yw(J,G))},{message:"Value must match one of the enum values"})}},X61=class{apply(Q,X){if(X.const===void 0)return Q;let Y=X.const;if(typeof Y!=="object"||Y===null)return Q;return Q.refine((J)=>yw(J,Y),{message:"Value must equal the const value"})}},Y61=class{apply(Q,X){if(X.description)Q=Q.describe(X.description);return Q}},J61=class{apply(Q,X){var Y;let J=X;if(!((Y=J.required)==null?void 0:Y.includes("__proto__"))||X.type!==void 0)return Q;return N.any().refine((G)=>this.validateRequired(G,J.required),{message:"Missing required properties"})}validateRequired(Q,X){if(typeof Q!=="object"||Q===null||Array.isArray(Q))return!0;return X.every((Y)=>Object.prototype.hasOwnProperty.call(Q,Y))}},G61=class{apply(Q,X){var Y;let J=X;if(J.contains===void 0)return Q;let G=P9(J.contains),W=(Y=J.minContains)!=null?Y:1,Z=J.maxContains;return Q.refine(($)=>{if(!Array.isArray($))return!0;let K=0;for(let H of $)if(sk(G,H))K++;if(K<W)return!1;if(Z!==void 0&&K>Z)return!1;return!0},{message:"Array must contain required items matching the schema"})}},W61=class{apply(Q,X){let{default:Y}=X;if(Y===void 0)return Q;if(!Q.safeParse(Y).success)return Q;return Q.default(Y)}},Z61,$61;var xI0=y(()=>{a1();a1();a1();a1();a1();a1();a1();a1();a1();a1();a1();a1();a1();a1();Z61=[new E01,new j01,new A01,new C01,new I01,new h01,new d01,new R01,new S01,new k01,new v01,new _01,new y01,new b01,new f01,new m01,new x01,new g01,new u01,new p01,new c01,new l01],$61=[new J61,new Q61,new X61,new r01,new o01,new s01,new t01,new e01,new G61,new i01,new a01,new W61,new Y61]});function K61(Q){let X=globalThis.DOMException;return typeof X=="function"?new X(Q,"SyntaxError"):SyntaxError(Q)}function Wt(Q){return Q instanceof Error?"errors"in Q&&Array.isArray(Q.errors)?Q.errors.map(Wt).join(", "):("cause"in Q)&&Q.cause instanceof Error?`${Q}: ${Wt(Q.cause)}`:Q.message:`${Q}`}function gI0(Q){return{type:Q.type,message:Q.message,code:Q.code,defaultPrevented:Q.defaultPrevented,cancelable:Q.cancelable,timeStamp:Q.timeStamp}}function H61(){let Q="document"in globalThis?globalThis.document:void 0;return Q&&typeof Q=="object"&&"baseURI"in Q&&typeof Q.baseURI=="string"?Q.baseURI:void 0}var Gt,mI0=(Q)=>{throw TypeError(Q)},zt=(Q,X,Y)=>X.has(Q)||mI0("Cannot "+Y),I1=(Q,X,Y)=>(zt(Q,X,"read from private field"),Y?Y.call(Q):X.get(Q)),AQ=(Q,X,Y)=>X.has(Q)?mI0("Cannot add the same private member more than once"):X instanceof WeakSet?X.add(Q):X.set(Q,Y),C8=(Q,X,Y,J)=>(zt(Q,X,"write to private field"),X.set(Q,Y),Y),b7=(Q,X,Y)=>(zt(Q,X,"access private method"),Y),qY,I3,pz,tk,ek,hw,iz,xw,p$,cz,az,nz,bw,S5,Zt,$t,Kt,uI0,Ht,Ft,fw,Vt,qt,rz;var lI0=y(()=>{so();Gt=class Gt extends Event{constructor(Q,X){var Y,J;super(Q),this.code=(Y=X==null?void 0:X.code)!=null?Y:void 0,this.message=(J=X==null?void 0:X.message)!=null?J:void 0}[Symbol.for("nodejs.util.inspect.custom")](Q,X,Y){return Y(gI0(this),X)}[Symbol.for("Deno.customInspect")](Q,X){return Q(gI0(this),X)}};rz=class rz extends EventTarget{constructor(Q,X){var Y,J;super(),AQ(this,S5),this.CONNECTING=0,this.OPEN=1,this.CLOSED=2,AQ(this,qY),AQ(this,I3),AQ(this,pz),AQ(this,tk),AQ(this,ek),AQ(this,hw),AQ(this,iz),AQ(this,xw,null),AQ(this,p$),AQ(this,cz),AQ(this,az,null),AQ(this,nz,null),AQ(this,bw,null),AQ(this,$t,async(G)=>{var W;I1(this,cz).reset();let{body:Z,redirected:$,status:K,headers:H}=G;if(K===204){b7(this,S5,fw).call(this,"Server sent HTTP 204, not reconnecting",204),this.close();return}if($?C8(this,pz,new URL(G.url)):C8(this,pz,void 0),K!==200){b7(this,S5,fw).call(this,`Non-200 status code (${K})`,K);return}if(!(H.get("content-type")||"").startsWith("text/event-stream")){b7(this,S5,fw).call(this,'Invalid content type, expected "text/event-stream"',K);return}if(I1(this,qY)===this.CLOSED)return;C8(this,qY,this.OPEN);let F=new Event("open");if((W=I1(this,bw))==null||W.call(this,F),this.dispatchEvent(F),typeof Z!="object"||!Z||!("getReader"in Z)){b7(this,S5,fw).call(this,"Invalid response body, expected a web ReadableStream",K),this.close();return}let V=new TextDecoder,q=Z.getReader(),U=!0;do{let{done:D,value:B}=await q.read();B&&I1(this,cz).feed(V.decode(B,{stream:!D})),D&&(U=!1,I1(this,cz).reset(),b7(this,S5,Vt).call(this))}while(U)}),AQ(this,Kt,(G)=>{C8(this,p$,void 0),!(G.name==="AbortError"||G.type==="aborted")&&b7(this,S5,Vt).call(this,Wt(G))}),AQ(this,Ht,(G)=>{typeof G.id=="string"&&C8(this,xw,G.id);let W=new MessageEvent(G.event||"message",{data:G.data,origin:I1(this,pz)?I1(this,pz).origin:I1(this,I3).origin,lastEventId:G.id||""});I1(this,nz)&&(!G.event||G.event==="message")&&I1(this,nz).call(this,W),this.dispatchEvent(W)}),AQ(this,Ft,(G)=>{C8(this,hw,G)}),AQ(this,qt,()=>{C8(this,iz,void 0),I1(this,qY)===this.CONNECTING&&b7(this,S5,Zt).call(this)});try{if(Q instanceof URL)C8(this,I3,Q);else if(typeof Q=="string")C8(this,I3,new URL(Q,H61()));else throw Error("Invalid URL")}catch{throw K61("An invalid or illegal string was specified")}C8(this,cz,gk({onEvent:I1(this,Ht),onRetry:I1(this,Ft)})),C8(this,qY,this.CONNECTING),C8(this,hw,3000),C8(this,ek,(Y=X==null?void 0:X.fetch)!=null?Y:globalThis.fetch),C8(this,tk,(J=X==null?void 0:X.withCredentials)!=null?J:!1),b7(this,S5,Zt).call(this)}get readyState(){return I1(this,qY)}get url(){return I1(this,I3).href}get withCredentials(){return I1(this,tk)}get onerror(){return I1(this,az)}set onerror(Q){C8(this,az,Q)}get onmessage(){return I1(this,nz)}set onmessage(Q){C8(this,nz,Q)}get onopen(){return I1(this,bw)}set onopen(Q){C8(this,bw,Q)}addEventListener(Q,X,Y){let J=X;super.addEventListener(Q,J,Y)}removeEventListener(Q,X,Y){let J=X;super.removeEventListener(Q,J,Y)}close(){I1(this,iz)&&clearTimeout(I1(this,iz)),I1(this,qY)!==this.CLOSED&&(I1(this,p$)&&I1(this,p$).abort(),C8(this,qY,this.CLOSED),C8(this,p$,void 0))}};qY=new WeakMap,I3=new WeakMap,pz=new WeakMap,tk=new WeakMap,ek=new WeakMap,hw=new WeakMap,iz=new WeakMap,xw=new WeakMap,p$=new WeakMap,cz=new WeakMap,az=new WeakMap,nz=new WeakMap,bw=new WeakMap,S5=new WeakSet,Zt=function(){C8(this,qY,this.CONNECTING),C8(this,p$,new AbortController),I1(this,ek)(I1(this,I3),b7(this,S5,uI0).call(this)).then(I1(this,$t)).catch(I1(this,Kt))},$t=new WeakMap,Kt=new WeakMap,uI0=function(){var Q;let X={mode:"cors",redirect:"follow",headers:{Accept:"text/event-stream",...I1(this,xw)?{"Last-Event-ID":I1(this,xw)}:void 0},cache:"no-store",signal:(Q=I1(this,p$))==null?void 0:Q.signal};return"window"in globalThis&&(X.credentials=this.withCredentials?"include":"same-origin"),X},Ht=new WeakMap,Ft=new WeakMap,fw=function(Q,X){var Y;I1(this,qY)!==this.CLOSED&&C8(this,qY,this.CLOSED);let J=new Gt("error",{code:X,message:Q});(Y=I1(this,az))==null||Y.call(this,J),this.dispatchEvent(J)},Vt=function(Q,X){var Y;if(I1(this,qY)===this.CLOSED)return;C8(this,qY,this.CONNECTING);let J=new Gt("error",{code:X,message:Q});(Y=I1(this,az))==null||Y.call(this,J),this.dispatchEvent(J),C8(this,iz,setTimeout(I1(this,qt),I1(this,hw)))},qt=new WeakMap,rz.CONNECTING=0,rz.OPEN=1,rz.CLOSED=2});class Ut{constructor(Q,X){this._url=Q,this._resourceMetadataUrl=void 0,this._scope=void 0,this._eventSourceInit=X?.eventSourceInit,this._requestInit=X?.requestInit,this._authProvider=X?.authProvider,this._fetch=X?.fetch,this._fetchWithInit=jk(X?.fetch,X?.requestInit)}async _authThenStart(){if(!this._authProvider)throw new VY("No auth provider");let Q;try{Q=await v7(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(X){throw this.onerror?.(X),X}if(Q!=="AUTHORIZED")throw new VY;return await this._startOrAuth()}async _commonHeaders(){let Q={};if(this._authProvider){let Y=await this._authProvider.tokens();if(Y)Q.Authorization=`Bearer ${Y.access_token}`}if(this._protocolVersion)Q["mcp-protocol-version"]=this._protocolVersion;let X=vz(this._requestInit?.headers);return new Headers({...Q,...X})}_startOrAuth(){let Q=this?._eventSourceInit?.fetch??this._fetch??fetch;return new Promise((X,Y)=>{this._eventSource=new rz(this._url.href,{...this._eventSourceInit,fetch:async(J,G)=>{let W=await this._commonHeaders();W.set("Accept","text/event-stream");let Z=await Q(J,{...G,headers:W});if(Z.status===401&&Z.headers.has("www-authenticate")){let{resourceMetadataUrl:$,scope:K}=hz(Z);this._resourceMetadataUrl=$,this._scope=K}return Z}}),this._abortController=new AbortController,this._eventSource.onerror=(J)=>{if(J.code===401&&this._authProvider){this._authThenStart().then(X,Y);return}let G=new dI0(J.code,J.message,J);Y(G),this.onerror?.(G)},this._eventSource.onopen=()=>{},this._eventSource.addEventListener("endpoint",(J)=>{let G=J;try{if(this._endpoint=new URL(G.data,this._url),this._endpoint.origin!==this._url.origin)throw Error(`Endpoint origin does not match connection origin: ${this._endpoint.origin}`)}catch(W){Y(W),this.onerror?.(W),this.close();return}X()}),this._eventSource.onmessage=(J)=>{let G=J,W;try{W=cY.parse(JSON.parse(G.data))}catch(Z){this.onerror?.(Z);return}this.onmessage?.(W)}})}async start(){if(this._eventSource)throw Error("SSEClientTransport already started! If using Client class, note that connect() calls start() automatically.");return await this._startOrAuth()}async finishAuth(Q){if(!this._authProvider)throw new VY("No auth provider");if(await v7(this._authProvider,{serverUrl:this._url,authorizationCode:Q,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new VY("Failed to authorize")}async close(){this._abortController?.abort(),this._eventSource?.close(),this.onclose?.()}async send(Q){if(!this._endpoint)throw Error("Not connected");try{let X=await this._commonHeaders();X.set("content-type","application/json");let Y={...this._requestInit,method:"POST",headers:X,body:JSON.stringify(Q),signal:this._abortController?.signal},J=await(this._fetch??fetch)(this._endpoint,Y);if(!J.ok){let G=await J.text().catch(()=>null);if(J.status===401&&this._authProvider){let{resourceMetadataUrl:W,scope:Z}=hz(J);if(this._resourceMetadataUrl=W,this._scope=Z,await v7(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new VY;return this.send(Q)}throw Error(`Error POSTing to endpoint (HTTP ${J.status}): ${G}`)}await J.body?.cancel()}catch(X){throw this.onerror?.(X),X}}setProtocolVersion(Q){this._protocolVersion=Q}}var dI0;var pI0=y(()=>{lI0();a9();ao();dI0=class dI0 extends Error{constructor(Q,X,Y){super(`SSE error: ${X}`);this.code=Q,this.event=Y}}});class Bt{constructor(Q){this._url=Q}start(){if(this._socket)throw Error("WebSocketClientTransport already started! If using Client class, note that connect() calls start() automatically.");return new Promise((Q,X)=>{this._socket=new WebSocket(this._url,F61),this._socket.onerror=(Y)=>{let J="error"in Y?Y.error:Error(`WebSocket error: ${JSON.stringify(Y)}`);X(J),this.onerror?.(J)},this._socket.onopen=()=>{Q()},this._socket.onclose=()=>{this.onclose?.()},this._socket.onmessage=(Y)=>{let J;try{J=cY.parse(JSON.parse(Y.data))}catch(G){this.onerror?.(G);return}this.onmessage?.(J)}})}async close(){this._socket?.close()}send(Q){return new Promise((X,Y)=>{if(!this._socket){Y(Error("Not connected"));return}this._socket?.send(JSON.stringify(Q)),X()})}}var F61="mcp";var cI0=y(()=>{a9()});function V61(Q){let X=Q;if(!X||typeof X!=="object"||!("method"in X))return null;switch(X.method){case"initialize":{let Y=X?.params?.protocolVersion;if(!Y)return null;return{type:"emit",message:{result:{protocolVersion:Y,capabilities:{tools:{}},serverInfo:{name:"deco-chat-server",version:"1.0.0"}},jsonrpc:X.jsonrpc??"2.0",id:X.id}}}case"notifications/roots/list_changed":case"notifications/initialized":case"notifications/cancelled":case"notifications/progress":return{type:"suppress"};default:return null}}var Dt;var nI0=y(()=>{Ew();Dt=class Dt extends _7{constructor(Q,X){super(Q,X)}send(Q,X){let Y=V61(Q);if(Y?.type==="emit")return this.onmessage?.(Y.message),Promise.resolve();if(Y?.type==="suppress")return Promise.resolve();return super.send(Q,X)}}});var iI0,aI0=async(Q,X,Y)=>{let J=q61(Q.connection,X,Y);if(!J)throw Error("Unknown MCP connection type");let G=new iI0({name:Q?.name??"MCP Client",version:"1.0.0"});return await G.connect(J),{client:G,callStreamableTool:(W,Z)=>{if(Q.connection.type!=="HTTP")throw Error("HTTP connection required");let $=new Headers(Y);if(!$.has("Authorization"))$.set("Authorization",`Bearer ${Q.connection.token}`);for(let[F,V]of Object.entries(Q.connection.headers??{}))$.set(F,V);let K=new URL(Q.connection.url),H=K.pathname.replace(/\/+$/,"")||"/";return K.pathname=`${H}/call-tool/${encodeURIComponent(W)}`,fetch(K.href,{method:"POST",redirect:"manual",body:JSON.stringify(Z),headers:$})}}},q61=(Q,X,Y)=>{if(Q.type==="Websocket")return new Bt(new URL(Q.url));if(Q.type!=="SSE"&&Q.type!=="HTTP")return null;let G={...Q.token?{authorization:`Bearer ${Q.token}`}:{},...Y??{},..."headers"in Q?Q.headers||{}:{}};if(Q.type==="SSE"){let W={requestInit:{headers:G,signal:X}};if(Q.token)W.eventSourceInit={fetch:(Z,$)=>{return fetch(Z,{...$,headers:{...G,Accept:"text/event-stream"},signal:X})}};return new Ut(new URL(Q.url),W)}return new Dt(new URL(Q.url),{requestInit:{headers:G,signal:X,credentials:"include"}})};var rI0=y(()=>{Rz();pI0();cI0();a9();nI0();iI0=class iI0 extends gJ{constructor(Q,X){super(Q,X)}async listTools(Q,X){return await this.request({method:"tools/list",params:Q},aL,X)}}});function sI0(Q){let X=(Y)=>{if("connection"in Q)return aI0({connection:Q.connection},void 0,Y);return Q.client};return new Proxy({},{get(Y,J){if(J==="toJSON")return null;if(typeof J!=="string")throw Error("Name must be a string");if(J==="listTools")return $;async function G(K,H=J){let F=Q?.debugId?.(),V=F?{"x-trace-debug-id":F}:void 0,{client:q,callStreamableTool:U}=await X(V);if(Q?.streamable?.[String(H)])return U(String(H),K);let{structuredContent:D,isError:B,content:L}=await q.callTool({name:String(H),arguments:K});if(B){let M=L?.[0]?.text,C=typeof M==="string"?z61(M):null,E=C?.code&&typeof Q?.getErrorByStatusCode==="function"?Q.getErrorByStatusCode(C.code,C.message,C.traceId):null;if(E)throw E;throw Error(`Tool ${String(H)} returned an error: ${JSON.stringify(D??L)}`)}return D}async function W(){let{client:K}=await X(),{tools:H}=await K.listTools();return H}async function Z(){if(!("connection"in Q))return W();let K=Q.connection,H=JSON.stringify(K);try{if(!Qv.has(H))Qv.set(H,W());return await Qv.get(H)}catch(F){console.error("Failed to list tools",F),Qv.delete(H);return}}async function $(){return(await Z()??[]).map((H)=>oI0(H,G))}return G.asTool=async()=>{let H=(await Z()??[]).find((F)=>F.name===J);if(!H)throw Error(`Tool ${J} not found`);return oI0(H,G)},G}})}var z61=(Q)=>{try{return JSON.parse(Q)}catch{return Q}},Qv,oI0=(Q,X)=>{return{...Q,id:Q.name,inputSchema:Q.inputSchema?P9(Q.inputSchema):void 0,outputSchema:Q.outputSchema?P9(Q.outputSchema):void 0,execute:(Y)=>{return X(Y.context,Q.name)}}};var tI0=y(()=>{xI0();rI0();Qv=new Map});function Xv(Q){return sI0(Q)}var pE4;var eI0=y(()=>{tI0();pE4=new Proxy({},{get(Q,X){if(X==="toJSON")return null;if(X==="forConnection")return(Y)=>Xv({connection:Y});return global[X]}})});function Yv(Q){return{isImplementedBy:(X)=>{for(let Y of Q){let J=typeof Y.name==="string"?new RegExp(`^${Y.name}$`):Y.name,G=X.find((W)=>J.test(W.name));if(!G&&Y.opt)continue;if(!G)return!1}return!0}}}var oz=(Q)=>{return{...Yv(Q),forClient:(X)=>{return Xv({client:X,streamable:Q.reduce((Y,J)=>{return Y[J.name]=J.streamable===!0,Y},{})})},forConnection:(X)=>{return Xv({connection:X,streamable:Q.reduce((Y,J)=>{return Y[J.name]=J.streamable===!0,Y},{})})}}};var gw=y(()=>{eI0()});function mw(Q){return N.object({items:N.array(Q).describe("Array of collection items"),totalCount:N.number().int().min(0).optional().describe("Total number of matching items (if available)"),hasMore:N.boolean().optional().describe("Whether there are more items available")})}function Ot(Q){return N.object({item:Q.nullable().describe("The retrieved item, or null if not found")})}function D61(Q){return N.object({data:Q.partial().describe("Data for the new entity (id may be auto-generated)")})}function N61(Q){return N.object({item:Q.describe("The created entity with generated id")})}function O61(Q){return N.object({id:N.string().describe("ID of the entity to update"),data:Q.partial().describe("Partial entity data to update")})}function L61(Q){return N.object({item:Q.describe("The updated entity")})}function wt(Q){return N.object({item:Q.describe("The deleted entity")})}function tz(Q,X,Y){let J=Q.toUpperCase(),G=Y?.readOnly??!1,W=[{name:`COLLECTION_${J}_LIST`,inputSchema:uw,outputSchema:mw(X)},{name:`COLLECTION_${J}_GET`,inputSchema:Nt,outputSchema:Ot(X)}];if(!G)W.push({name:`COLLECTION_${J}_CREATE`,inputSchema:D61(X),outputSchema:N61(X),opt:!0},{name:`COLLECTION_${J}_UPDATE`,inputSchema:O61(X),outputSchema:L61(X),opt:!0},{name:`COLLECTION_${J}_DELETE`,inputSchema:Lt,outputSchema:wt(X),opt:!0});return W}var sz,U61,QR0,B61,uw,Nt,Lt;var c$=y(()=>{Z6();sz=N.object({id:N.string().describe("Unique identifier for the entity"),title:N.string().describe("Human-readable title for the entity"),description:N.string().nullish().describe("Description of the entity"),created_at:N.string().datetime(),updated_at:N.string().datetime(),created_by:N.string().optional(),updated_by:N.string().optional()}),U61=N.object({field:N.array(N.string()),operator:N.enum(["eq","gt","gte","lt","lte","in","like","contains"]),value:N.unknown()}),QR0=N.lazy(()=>N.union([U61,N.object({operator:N.enum(["and","or","not"]),conditions:N.array(QR0)})])),B61=N.object({field:N.array(N.string()),direction:N.enum(["asc","desc"]),nulls:N.enum(["first","last"]).optional()}),uw=N.object({where:QR0.optional().describe("Filter expression"),orderBy:N.array(B61).optional().describe("Sort expressions"),limit:N.number().int().min(1).max(1000).optional().describe("Maximum number of items to return"),offset:N.number().int().min(0).optional().describe("Number of items to skip")});Nt=N.object({id:N.string().describe("ID of the entity to retrieve")});Lt=N.object({id:N.string().describe("ID of the entity to delete")})});var w61,XR0,eE4;var YR0=y(()=>{Z6();c$();w61=N.object({id:N.string(),name:N.string(),description:N.string().optional(),inputSchema:N.record(N.string(),N.unknown()),outputSchema:N.record(N.string(),N.unknown()).optional()}),XR0=sz.extend({_meta:N.object({"io.decocms":N.object({id:N.string(),verified:N.boolean(),scopeName:N.string(),appName:N.string(),friendlyName:N.string().nullable().optional(),metadata:N.record(N.string(),N.unknown()).nullable().optional(),publishedAt:N.string().datetime().optional(),updatedAt:N.string().datetime().optional(),tools:N.array(w61).nullable().optional().describe("Available tools exposed by this app")}).optional()}).optional(),server:N.object({$schema:N.string().optional(),_meta:N.record(N.string(),N.unknown()).optional(),name:N.string().describe("The server name (scope/app)"),title:N.string().optional().describe("User-friendly title"),description:N.string().optional().describe("Server description"),icons:N.array(N.object({src:N.string(),mimeType:N.string().optional(),sizes:N.array(N.string()).optional(),theme:N.enum(["light","dark"]).optional()})).optional(),remotes:N.array(N.object({type:N.enum(["http","stdio","sse"]),url:N.string().optional(),headers:N.array(N.unknown()).optional()})).optional(),packages:N.array(N.unknown()).optional(),repository:N.object({url:N.string(),source:N.string().optional(),subfolder:N.string().optional()}).optional(),version:N.string().optional(),websiteUrl:N.string().optional()})}),eE4=tz("registry_app",XR0,{readOnly:!0})});var JR0,GR0,WR0,ZR0,$R0,Mt;var KR0=y(()=>{Z6();gw();JR0=N.object({specversion:N.literal("1.0").describe("CloudEvents specification version"),id:N.string().describe("Unique identifier for this event (UUID recommended)"),source:N.string().describe("Connection ID of the event publisher"),type:N.string().describe("Event type (e.g., 'order.created', 'user.signup')"),time:N.string().datetime().optional().describe("Timestamp of when the event occurred (ISO 8601)"),subject:N.string().optional().describe("Subject/resource identifier (e.g., order ID, user ID)"),datacontenttype:N.string().optional().default("application/json").describe("Content type of the data attribute"),dataschema:N.string().url().optional().describe("URI to the schema for the data attribute"),data:N.unknown().optional().describe("Event payload (any JSON value)")}),GR0=N.object({events:N.array(JR0).min(1).describe("Batch of CloudEvents to process")}),WR0=N.object({success:N.boolean().optional().describe("Whether this event was processed successfully"),error:N.string().optional().describe("Error message for this event"),retryAfter:N.number().int().positive().optional().describe("Re-deliver this event after this many ms")}),ZR0=N.object({success:N.boolean().optional().describe("Batch success - applies to events not in results"),error:N.string().optional().describe("Batch error message - applies to events not in results"),processedCount:N.number().int().min(0).optional().describe("Number of events successfully processed"),retryAfter:N.number().int().positive().optional().describe("Batch retryAfter - applies to events not in results"),results:N.record(N.string(),WR0).optional().describe("Per-event results keyed by event ID")}),$R0=[{name:"ON_EVENTS",inputSchema:GR0,outputSchema:ZR0}],Mt=oz($R0)});var lw,dw,pw,cw,HR0,FR0,nw,iw,aw,rw,ow,sw,tw,ew,VR0,M61;var qR0=y(()=>{Z6();gw();lw=N.object({type:N.string().min(1).max(255).describe("Event type identifier"),subject:N.string().max(255).optional().describe("Subject/resource identifier (e.g., order ID)"),data:N.unknown().optional().describe("Event payload"),deliverAt:N.string().datetime().optional().describe("Scheduled delivery time (ISO 8601). Omit for immediate delivery."),cron:N.string().max(100).optional().describe("Cron expression for recurring delivery. Use EVENT_CANCEL to stop.")}),dw=N.object({id:N.string().describe("Unique event ID"),type:N.string().describe("Event type"),source:N.string().describe("Source connection ID"),time:N.string().describe("Event timestamp")}),pw=N.object({eventType:N.string().min(1).max(255).describe("Event type to subscribe to"),publisher:N.string().optional().describe("Filter events by publisher connection ID"),filter:N.string().max(1000).optional().describe("JSONPath filter expression on event data")}),cw=N.object({subscription:N.object({id:N.string().describe("Subscription ID"),connectionId:N.string().describe("Subscriber connection ID"),eventType:N.string().describe("Event type pattern"),publisher:N.string().nullable().describe("Publisher connection filter"),filter:N.string().nullable().describe("JSONPath filter expression"),enabled:N.boolean().describe("Whether subscription is enabled"),createdAt:N.union([N.string(),N.date()]).describe("Created timestamp"),updatedAt:N.union([N.string(),N.date()]).describe("Updated timestamp")})}),HR0=N.object({eventType:N.string().min(1).max(255).describe("Event type to subscribe to"),publisher:N.string().optional().describe("Filter events by publisher connection ID"),filter:N.string().max(1000).optional().describe("JSONPath filter expression on event data")}),FR0=N.object({id:N.string().describe("Subscription ID"),connectionId:N.string().describe("Subscriber connection ID"),eventType:N.string().describe("Event type pattern"),publisher:N.string().nullable().describe("Publisher connection filter"),filter:N.string().nullable().describe("JSONPath filter expression"),enabled:N.boolean().describe("Whether subscription is enabled"),createdAt:N.union([N.string(),N.date()]).describe("Created timestamp"),updatedAt:N.union([N.string(),N.date()]).describe("Updated timestamp")}),nw=N.object({subscriptions:N.array(HR0).describe("Desired subscriptions - system will create/update/delete to match")}),iw=N.object({created:N.number().int().min(0).describe("Number of subscriptions created"),updated:N.number().int().min(0).describe("Number of subscriptions with filter updated"),deleted:N.number().int().min(0).describe("Number of subscriptions removed"),unchanged:N.number().int().min(0).describe("Number of subscriptions unchanged"),subscriptions:N.array(FR0).describe("Current subscriptions after sync")}),aw=N.object({subscriptionId:N.string().describe("Subscription ID to remove")}),rw=N.object({success:N.boolean().describe("Whether unsubscribe was successful"),subscriptionId:N.string().describe("Subscription ID that was removed")}),ow=N.object({eventId:N.string().describe("Event ID to cancel")}),sw=N.object({success:N.boolean().describe("Whether cancellation was successful"),eventId:N.string().describe("Event ID that was cancelled")}),tw=N.object({eventId:N.string().describe("Event ID to acknowledge")}),ew=N.object({success:N.boolean().describe("Whether ACK was successful"),eventId:N.string().describe("Event ID that was acknowledged")}),VR0=[{name:"EVENT_PUBLISH",inputSchema:lw,outputSchema:dw},{name:"EVENT_SUBSCRIBE",inputSchema:pw,outputSchema:cw},{name:"EVENT_UNSUBSCRIBE",inputSchema:aw,outputSchema:rw},{name:"EVENT_CANCEL",inputSchema:ow,outputSchema:sw},{name:"EVENT_ACK",inputSchema:tw,outputSchema:ew},{name:"EVENT_SYNC_SUBSCRIPTIONS",inputSchema:nw,outputSchema:iw}],M61=oz(VR0)});var Jv=y(()=>{gw();YR0();KR0();qR0()});var T61,P61,zR0;var UR0=y(()=>{Z6();c$();T61=sz.extend({avatar:N.string().describe("URL or data URI to the assistant's avatar image"),system_prompt:N.string().describe("System prompt that defines the assistant's behavior"),gateway_id:N.string().describe("Gateway ID to use for this assistant"),model:N.object({id:N.string().describe("Model ID"),connectionId:N.string().describe("Connection ID that provides the model")}).describe("Selected model reference for this assistant")}),P61=tz("assistant",T61),zR0=[...P61]});var QM,f7,DR0,A61,E61,NR0,j61,C61,I61,R61,S61,k61,OR0,v61,_61,y61,b61,f61,h61,x61,g61,u61,m61,Lj4,l61,wj4,BR0,d61,p61,Tt,LR0;var Pt=y(()=>{Z6();gw();c$();QM=N.lazy(()=>N.union([N.null(),N.string(),N.number(),N.boolean(),N.record(N.string(),QM),N.array(QM)])),f7=N.record(N.string(),N.record(N.string(),QM)).optional().describe("Additional provider-specific options. Outer record keyed by provider name, inner by option key"),DR0=N.object({type:N.literal("text"),text:N.string().describe("The text content"),providerOptions:f7}),A61=N.object({type:N.literal("text"),text:N.string().describe("The text content"),providerMetadata:N.any().optional().describe("Additional provider-specific metadata")}),E61=N.string().describe("File data as URL string"),NR0=N.object({type:N.literal("file"),filename:N.string().optional().describe("Optional filename of the file"),data:E61,mediaType:N.string().describe("IANA media type of the file (e.g., image/png, audio/mp3)"),providerOptions:f7}),j61=N.object({type:N.literal("file"),mediaType:N.string().describe("IANA media type of the file (e.g., image/png, audio/mp3)"),data:N.string().describe("Generated file data as base64 encoded string")}),C61=N.object({type:N.literal("reasoning"),text:N.string().describe("The reasoning text"),providerOptions:f7}),I61=N.object({type:N.literal("reasoning"),text:N.string().describe("The reasoning text"),providerMetadata:N.any().optional().describe("Additional provider-specific metadata")}),R61=N.object({type:N.literal("tool-call"),toolCallId:N.string().describe("ID of the tool call, used to match with tool result"),toolName:N.string().describe("Name of the tool being called"),input:N.string().describe("Arguments of the tool call (JSON-serializable object matching tool input schema)"),providerExecuted:N.boolean().optional().describe("Whether the tool call will be executed by the provider"),providerOptions:f7}),S61=N.object({type:N.literal("tool-call"),toolCallId:N.string().describe("ID of the tool call"),toolName:N.string().describe("Name of the tool being called"),input:N.string().describe("Stringified JSON object with the tool call arguments"),providerExecuted:N.boolean().optional().describe("Whether the tool call will be executed by the provider"),providerMetadata:N.any().optional().describe("Additional provider-specific metadata")}),k61=N.union([N.object({type:N.literal("text"),value:N.string()}),N.object({type:N.literal("json"),value:QM}),N.object({type:N.literal("error-text"),value:N.string()}),N.object({type:N.literal("error-json"),value:QM}),N.object({type:N.literal("content"),value:N.array(N.union([N.object({type:N.literal("text"),text:N.string().describe("Text content")}),N.object({type:N.literal("media"),data:N.string().describe("Base-64 encoded media data"),mediaType:N.string().describe("IANA media type")})]))})]),OR0=N.object({type:N.literal("tool-result"),toolCallId:N.string().describe("ID of the tool call that this result is associated with"),toolName:N.string().describe("Name of the tool that generated this result"),output:k61.describe("Result of the tool call"),result:N.unknown().describe("Unknown result of the tool call"),providerOptions:f7}),v61=N.object({type:N.literal("tool-result"),toolCallId:N.string().describe("ID of the tool call that this result is associated with"),toolName:N.string().describe("Name of the tool that generated this result"),result:N.any().describe("Result of the tool call (JSON-serializable)"),isError:N.boolean().optional().describe("Whether the result is an error or error message"),providerExecuted:N.boolean().optional().describe("Whether the tool result was generated by the provider"),providerMetadata:N.any().optional().describe("Additional provider-specific metadata")}),_61=N.union([N.object({type:N.literal("source"),sourceType:N.literal("url"),id:N.string().describe("The ID of the source"),url:N.string().describe("The URL of the source"),title:N.string().optional().describe("The title of the source"),providerMetadata:N.any().optional().describe("Additional provider-specific metadata")}),N.object({type:N.literal("source"),sourceType:N.literal("document"),id:N.string().describe("The ID of the source"),mediaType:N.string().describe("IANA media type of the document (e.g., application/pdf)"),title:N.string().describe("The title of the document"),filename:N.string().optional().describe("Optional filename of the document"),providerMetadata:N.any().optional().describe("Additional provider-specific metadata")})]),y61=N.object({role:N.literal("system"),content:N.string().describe("System message content"),providerOptions:f7}),b61=N.object({role:N.literal("user"),content:N.array(N.union([DR0,NR0])).describe("User message content parts (text or file)"),providerOptions:f7}),f61=N.object({role:N.literal("assistant"),content:N.array(N.union([DR0,NR0,C61,R61,OR0])).describe("Assistant message content parts (text, file, reasoning, tool-call, or tool-result)"),providerOptions:f7}),h61=N.object({role:N.literal("tool"),content:N.array(OR0).describe("Tool message content (tool results)"),providerOptions:f7}),x61=N.union([y61,b61,f61,h61]),g61=N.array(x61).describe("A list of messages forming the prompt"),u61=N.object({prompt:g61.describe("A language model prompt is a standardized prompt type (array of messages with roles: system, user, assistant, tool)"),maxOutputTokens:N.number().optional().describe("Maximum number of tokens to generate"),temperature:N.number().optional().describe("Temperature setting. The range depends on the provider and model"),topP:N.number().optional().describe("Nucleus sampling parameter"),topK:N.number().optional().describe("Only sample from the top K options for each subsequent token. Used to remove long tail low probability responses"),presencePenalty:N.number().optional().describe("Presence penalty setting. It affects the likelihood of the model to repeat information that is already in the prompt"),frequencyPenalty:N.number().optional().describe("Frequency penalty setting. It affects the likelihood of the model to repeatedly use the same words or phrases"),seed:N.number().optional().describe("The seed (integer) to use for random sampling. If set and supported by the model, calls will generate deterministic results"),stopSequences:N.array(N.string()).optional().describe("Stop sequences. If set, the model will stop generating text when one of the stop sequences is generated"),responseFormat:N.union([N.object({type:N.literal("text")}),N.object({type:N.literal("json"),schema:N.any().optional().describe("JSON schema that the generated output should conform to"),name:N.string().optional().describe("Name of output that should be generated"),description:N.string().optional().describe("Description of the output that should be generated")})]).optional().describe("Response format. The output can either be text or JSON. Default is text"),tools:N.array(N.any()).optional().describe("The tools that are available for the model"),toolChoice:N.any().optional().describe("Specifies how the tool should be selected. Defaults to 'auto'"),includeRawChunks:N.boolean().optional().describe("Include raw chunks in the stream. Only applicable for streaming calls"),abortSignal:N.any().optional().describe("Abort signal for cancelling the operation"),providerOptions:N.any().optional().describe("Additional provider-specific options")}),m61=N.object({content:N.array(N.union([A61,j61,I61,S61,v61,_61])).describe("Ordered content that the model has generated (text, tool-calls, reasoning, files, sources)"),finishReason:N.enum(["stop","length","content-filter","tool-calls","error","other","unknown"]).describe("Reason why generation stopped"),usage:N.looseObject({inputTokens:N.number().optional(),outputTokens:N.number().optional(),totalTokens:N.number().optional(),reasoningTokens:N.number().optional()}).describe("Usage information for the language model call"),providerMetadata:N.any().optional().describe("Additional provider-specific metadata"),request:N.object({body:N.any().optional().describe("Request HTTP body sent to the provider API")}).optional().describe("Optional request information for telemetry and debugging"),response:N.object({id:N.string().optional().describe("ID for the generated response"),timestamp:N.iso.datetime().optional().describe("Timestamp for the start of the generated response"),modelId:N.string().optional().describe("The ID of the response model that was used"),headers:N.record(N.string(),N.string()).optional().describe("Response headers"),body:N.any().optional().describe("Response HTTP body")}).optional().describe("Optional response information for telemetry and debugging"),warnings:N.array(N.any()).describe("Warnings for the call, e.g. unsupported settings")}),Lj4=N.object({stream:N.any().describe("ReadableStream of LanguageModelV2StreamPart"),request:N.object({body:N.any().optional().describe("Request HTTP body sent to the provider API")}).optional().describe("Optional request information for telemetry and debugging"),response:N.object({headers:N.record(N.string(),N.string()).optional().describe("Response headers")}).optional().describe("Optional response data")}),l61=N.object({supportedUrls:N.record(N.string(),N.array(N.string())).describe("Supported URL patterns by media type for the provider")}),wj4=N.object({modelId:N.string().describe("The ID of the model"),logo:N.string().nullable(),description:N.string().nullable(),capabilities:N.array(N.string()),limits:N.object({contextWindow:N.number(),maxOutputTokens:N.number()}).nullable(),costs:N.object({input:N.number(),output:N.number()}).nullable(),provider:N.enum(["openai","anthropic","google","x-ai","deepseek","openai-compatible","openrouter"]).nullable()}),BR0=N.object({modelId:N.string().describe("The ID of the model"),callOptions:u61}),d61=sz.extend({logo:N.string().nullable(),description:N.string().nullable(),capabilities:N.array(N.string()),limits:N.object({contextWindow:N.number(),maxOutputTokens:N.number()}).nullable(),costs:N.object({input:N.number(),output:N.number()}).nullable(),provider:N.enum(["openai","anthropic","google","xai","deepseek","openai-compatible","openrouter"]).nullable()}),p61=tz("llm",d61,{readOnly:!0}),Tt=[{name:"LLM_METADATA",inputSchema:N.object({modelId:N.string().describe("The ID of the model")}),outputSchema:l61},{name:"LLM_DO_STREAM",inputSchema:BR0,streamable:!0},{name:"LLM_DO_GENERATE",inputSchema:BR0,outputSchema:m61},...p61],LR0=oz(Tt)});function n61(Q){let X=[],Y=0;while(Y<Q.length){let J=Q[Y];if(J==="%")X.push(".*");else if(J==="_")X.push(".");else if(/[.*+?^${}()|[\]\\]/.test(J))X.push("\\"+J);else X.push(J);Y++}return X.join("")}function n$(Q){return typeof Q==="string"||typeof Q==="number"}function Gv(Q,X){if("conditions"in X){let{operator:$,conditions:K}=X;switch($){case"and":return K.every((H)=>Gv(Q,H));case"or":return K.some((H)=>Gv(Q,H));case"not":return!K.every((H)=>Gv(Q,H));default:return!0}}let{field:Y,operator:J,value:G}=X,W=Y.join("."),Z=At(Q,W);switch(J){case"eq":return Z===G;case"gt":return n$(Z)&&n$(G)&&Z>G;case"gte":return n$(Z)&&n$(G)&&Z>=G;case"lt":return n$(Z)&&n$(G)&&Z<G;case"lte":return n$(Z)&&n$(G)&&Z<=G;case"in":return Array.isArray(G)&&G.includes(Z);case"like":if(typeof Z!=="string"||typeof G!=="string")return!1;if(G.length>100)return!1;let $=n61(G);return new RegExp(`^${$}$`,"i").test(Z);case"contains":if(typeof Z!=="string"||typeof G!=="string")return!1;return Z.toLowerCase().includes(G.toLowerCase());default:return!0}}function At(Q,X){let Y=X.split("."),J=Q;for(let G of Y){if(J==null||typeof J!=="object")return;J=J[G]}return J}function i61(Q,X){return[...Q].sort((Y,J)=>{for(let G of X){let W=G.field.join("."),Z=At(Y,W),$=At(J,W),K=0;if(Z==null&&$==null)continue;if(Z==null)K=G.nulls==="first"?-1:1;else if($==null)K=G.nulls==="first"?1:-1;else if(typeof Z==="string"&&typeof $==="string")K=Z.localeCompare($);else if(typeof Z==="number"&&typeof $==="number")K=Z-$;else K=String(Z).localeCompare(String($));if(K!==0)return G.direction==="desc"?-K:K}return 0})}var c61,a61,r61,Et;var wR0=y(()=>{Jv();UR0();c$();Pt();Z6();P1();L7();c61={LLM:Tt,ASSISTANTS:zR0};a61=uw.extend({binding:N.union([N.object({}).passthrough(),N.string()]).optional()}),r61=mw(_J),Et=O6({name:"COLLECTION_CONNECTIONS_LIST",description:"List all connections in the organization with filtering, sorting, and pagination",inputSchema:a61,outputSchema:r61,handler:async(Q,X)=>{await X.access.check();let Y=O1(X),J=Q.binding?typeof Q.binding==="string"?(()=>{let q=c61[Q.binding.toUpperCase()];if(!q)throw Error(`Unknown binding: ${Q.binding}`);return q})():Q.binding:void 0,G=J?Yv(J):void 0,W=await X.storage.connections.list(Y.id),Z=G?await Promise.all(W.map(async(q)=>{if(!q.tools||q.tools.length===0)return null;return G.isImplementedBy(q.tools.map((D)=>({name:D.name,inputSchema:D.inputSchema,outputSchema:D.outputSchema})))?q:null})).then((q)=>q.filter((U)=>U!==null)):W;if(Q.where)Z=Z.filter((q)=>Gv(q,Q.where));if(Q.orderBy&&Q.orderBy.length>0)Z=i61(Z,Q.orderBy);let $=Z.length,K=Q.offset??0,H=Q.limit??100,F=Z.slice(K,K+H),V=K+H<$;return{items:F,totalCount:$,hasMore:V}}})});var o61,jt;var MR0=y(()=>{c$();P1();L7();o61=Ot(_J),jt=O6({name:"COLLECTION_CONNECTIONS_GET",description:"Get connection details by ID",inputSchema:Nt,outputSchema:o61,handler:async(Q,X)=>{let Y=O1(X);await X.access.check();let J=await X.storage.connections.findById(Q.id);if(!J||J.organization_id!==Y.id)return{item:null};return{item:J}}})});var Wv=(Q,X)=>{if(X===null||X===void 0)return;let Y=Q.replace(/\[(\w+)\]/g,".$1").split(".").filter(Boolean),J=X;for(let G of Y){if(J===null||J===void 0||typeof J!=="object")return;J=J[G]}return J};function TR0(Q){let X=Q.split("::");if(X.length!==2||!X[0]||!X[1])throw Error(`Invalid scope format: ${Q}. Expected format: "KEY::SCOPE"`);return X}function s61(Q){let X=Q.split("::");if(X.length!==2||!X[0]||!X[1])return null;return X}function t61(Q){if(typeof Q==="object"&&Q!==null&&"value"in Q){let X=Q.value;if(typeof X==="string")return X}return null}function Ct(Q,X){let Y={};if(!Q||!X)return Y;for(let J of X){if(J==="*"){Y["*"]=["*"];continue}let G=s61(J);if(!G)continue;let[W,Z]=G,$=Wv(W,Q),K=t61($);if(K){if(!Y[K])Y[K]=[];Y[K].push(Z)}}return Y}function PR0(Q,X){let Y=Ct(Q,X);return new Set(Object.keys(Y).filter((J)=>J!=="*"))}var It=()=>{};async function X11(Q,X,Y,J){for(let W of X){if(W==="*")continue;let[Z]=TR0(W),$=Wv(Z,Q);if($===void 0||$===null)throw Error(`Scope references key "${Z}" but it's not present in state`)}let G=PR0(Q,X);for(let W of G){if(W===L5.SELF)continue;let Z=await J.storage.connections.findById(W);if(!Z||Z.organization_id!==Y)throw Error(`Referenced connection not found: ${W}`);try{await J.access.check(W)}catch($){throw Error(`Access denied to referenced connection: ${W}. ${$.message}`)}}}var e61,Q11,Rt;var AR0=y(()=>{It();$3();Z6();P1();uk();L7();e61=N.object({id:N.string().describe("ID of the connection to update"),data:KL0.describe("Partial connection data to update")}),Q11=N.object({item:_J.describe("The updated connection entity")});Rt=O6({name:"COLLECTION_CONNECTIONS_UPDATE",description:"Update an existing MCP connection in the organization",inputSchema:e61,outputSchema:Q11,handler:async(Q,X)=>{k6(X);let Y=O1(X);await X.access.check();let{id:J,data:G}=Q,W=await X.storage.connections.findById(J);if(!W||W.organization_id!==Y.id)throw Error("Connection not found in organization");let Z=G.configuration_state??W.configuration_state,$=G.configuration_scopes??W.configuration_scopes??[];if(G.configuration_state!==void 0||G.configuration_scopes!==void 0){if(G.configuration_state!==void 0)Z=G.configuration_state;else if(Z===null)Z={};if(G.configuration_scopes!==void 0)$=G.configuration_scopes??[];if($.length>0&&Z)await X11(Z,$,Y.id,X)}let K=await xz({id:W.id,title:G.title??W.title,connection_type:G.connection_type??W.connection_type,connection_url:G.connection_url??W.connection_url,connection_token:G.connection_token??W.connection_token,connection_headers:G.connection_headers??W.connection_headers}).catch(()=>null),H=K?.length?K:null,F={...G,tools:H,configuration_state:Z,configuration_scopes:$},V=await X.storage.connections.update(J,F);if((G.configuration_state!==void 0||G.configuration_scopes!==void 0)&&Z&&$.length>0)try{await(await X.createMCPProxy(J)).client.callTool({name:"ON_MCP_CONFIGURATION",arguments:{state:Z,scopes:$}})}catch(q){console.error("Failed to invoke ON_MCP_CONFIGURATION callback",q)}return{item:V}}})});var St;var ER0=y(()=>{c$();P1();L7();St=O6({name:"COLLECTION_CONNECTIONS_DELETE",description:"Delete a connection",inputSchema:Lt,outputSchema:wt(_J),handler:async(Q,X)=>{k6(X);let Y=O1(X);await X.access.check();let J=await X.storage.connections.findById(Q.id);if(!J)throw Error(`Connection not found: ${Q.id}`);if(J.organization_id!==Y.id)throw Error("Connection not found in organization");return await X.storage.connections.delete(Q.id),{item:J}}})});var kt;var jR0=y(()=>{Z6();P1();kt=O6({name:"CONNECTION_TEST",description:"Test connection health and latency",inputSchema:N.object({id:N.string()}),outputSchema:N.object({id:N.string(),healthy:N.boolean(),latencyMs:N.number()}),handler:async(Q,X)=>{let Y=O1(X);await X.access.check();let J=await X.storage.connections.findById(Q.id);if(!J||J.organization_id!==Y.id)throw Error("Connection not found");let G=await X.storage.connections.testConnection(Q.id);return{id:Q.id,...G}}})});var CR0=y(()=>{hI0();wR0();MR0();AR0();ER0();jR0()});import{sql as s1}from"kysely";function IR0(Q){if(Q===null||Q===void 0)return"NULL";if(typeof Q==="number")return String(Q);if(typeof Q==="boolean")return Q?"TRUE":"FALSE";if(typeof Q==="string")return`'${Q.replace(/'/g,"''")}'`;if(Q instanceof Date)return`'${Q.toISOString()}'`;return`'${JSON.stringify(Q).replace(/'/g,"''")}'`}function G11(Q,X){let Y=Q;for(let G=X.length;G>=1;G--){let W=`$${G}`;if(Y.includes(W))Y=Y.replaceAll(W,IR0(X[G-1]))}let J=[];for(let G=0;G<Y.length;G++)if(Y[G]==="?")J.push(G);for(let G=Math.min(J.length,X.length)-1;G>=0;G--){let W=J[G],Z=IR0(X[G]);Y=Y.slice(0,W)+Z+Y.slice(W+1)}return Y}function RR0(Q){return Q.replace(/-/g,"_")}function Z11(Q){return`app_${RR0(Q)}`}function $11(Q){return`app_role_${RR0(Q)}`}function K11(Q){if(Q instanceof Error){let X=Q.message.toLowerCase(),Y=Q.code;return Y==="3F000"||Y==="42704"||X.includes("schema")&&X.includes("does not exist")||X.includes("role")&&X.includes("does not exist")}return!1}async function H11(Q,X,Y){if(await s1`CREATE SCHEMA IF NOT EXISTS ${s1.id(X)}`.execute(Q),!(await s1`
988
988
  SELECT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = ${Y}) as exists
989
- `.execute(Q)).rows[0]?.exists)await s1`CREATE ROLE ${s1.id(Y)} NOLOGIN`.execute(Q);await s1`GRANT ${s1.id(Y)} TO CURRENT_USER`.execute(Q),await s1`GRANT USAGE, CREATE ON SCHEMA ${s1.id(X)} TO ${s1.id(Y)}`.execute(Q),await s1`GRANT ALL ON ALL TABLES IN SCHEMA ${s1.id(X)} TO ${s1.id(Y)}`.execute(Q),await s1`GRANT ALL ON ALL SEQUENCES IN SCHEMA ${s1.id(X)} TO ${s1.id(Y)}`.execute(Q),await s1`ALTER DEFAULT PRIVILEGES IN SCHEMA ${s1.id(X)} GRANT ALL ON TABLES TO ${s1.id(Y)}`.execute(Q),await s1`ALTER DEFAULT PRIVILEGES IN SCHEMA ${s1.id(X)} GRANT ALL ON SEQUENCES TO ${s1.id(Y)}`.execute(Q),await s1`REVOKE ALL ON SCHEMA public FROM ${s1.id(Y)}`.execute(Q)}async function F11(Q,X,Y,J){try{return await Q.transaction().execute(async(G)=>{return await s1`SET LOCAL ROLE ${s1.id(Y)}`.execute(G),await s1`SET LOCAL search_path TO ${s1.id(X)}`.execute(G),await s1.raw(J).execute(G)})}catch(G){if(K11(G))return await H11(Q,X,Y),await Q.transaction().execute(async(W)=>{return await s1`SET LOCAL ROLE ${s1.id(Y)}`.execute(W),await s1`SET LOCAL search_path TO ${s1.id(X)}`.execute(W),await s1.raw(J).execute(W)});throw G}}var J11,W11,SR0;var kR0=y(()=>{Z6();P1();J11=N.object({results:N.array(N.unknown()).optional(),success:N.boolean().optional()});W11=N.object({sql:N.string().describe("The SQL query to run"),params:N.array(N.any()).describe("The parameters to pass to the SQL query").optional()});SR0=O6({name:"DATABASES_RUN_SQL",description:"Run a SQL query against the database",inputSchema:W11,outputSchema:N.object({result:N.array(J11)}),handler:async(Q,X)=>{k6(X),await X.access.check();let Y=G11(Q.sql,Q.params||[]);if(!X.connectionId)throw Error("Connection context required for database access");let J=Z11(X.connectionId),G=$11(X.connectionId);return{result:[{results:(await F11(X.db,J,G,Y)).rows,success:!0}]}}})});var vR0,q11,_R0;var h7=y(()=>{Z6();Jv();vR0=N.object({connectionId:N.string().optional().describe("Filter subscriptions by connection ID (optional)")}),q11=N.object({id:N.string().describe("Subscription ID"),connectionId:N.string().describe("Subscriber connection ID"),eventType:N.string().describe("Event type pattern"),publisher:N.string().nullable().describe("Publisher connection filter (null = all publishers)"),filter:N.string().nullable().describe("JSONPath filter expression"),enabled:N.boolean().describe("Whether subscription is enabled"),createdAt:N.union([N.string(),N.date()]).describe("Created timestamp"),updatedAt:N.union([N.string(),N.date()]).describe("Updated timestamp")}),_R0=N.object({subscriptions:N.array(q11).describe("List of subscriptions")})});var vt;var yR0=y(()=>{P1();h7();vt=O6({name:"EVENT_PUBLISH",description:"Publish an event to the event bus. Supports immediate, scheduled (deliverAt), and recurring (cron) delivery. The source is automatically set to the caller's connection ID.",inputSchema:lw,outputSchema:dw,handler:async(Q,X)=>{k6(X);let Y=O1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to publish events. Use a connection-scoped token.");let G=await X.eventBus.publish(Y.id,J,{type:Q.type,subject:Q.subject,data:Q.data,deliverAt:Q.deliverAt,cron:Q.cron});return{id:G.id,type:G.type,source:G.source,time:G.time}}})});var _t;var bR0=y(()=>{P1();h7();_t=O6({name:"EVENT_SUBSCRIBE",description:"Subscribe to events of a specific type. The subscriber is automatically set to the caller's connection.",inputSchema:pw,outputSchema:cw,handler:async(Q,X)=>{k6(X);let Y=O1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to subscribe. Use a connection-scoped token.");let G=await X.eventBus.subscribe(Y.id,{connectionId:J,eventType:Q.eventType,publisher:Q.publisher,filter:Q.filter});return{subscription:{id:G.id,connectionId:G.connectionId,eventType:G.eventType,publisher:G.publisher,filter:G.filter,enabled:G.enabled,createdAt:G.createdAt,updatedAt:G.updatedAt}}}})});var yt;var fR0=y(()=>{P1();h7();yt=O6({name:"EVENT_UNSUBSCRIBE",description:"Unsubscribe from events by removing a subscription.",inputSchema:aw,outputSchema:rw,handler:async(Q,X)=>{k6(X);let Y=O1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to unsubscribe. Use a connection-scoped token.");let G=await X.eventBus.getSubscription(Y.id,Q.subscriptionId);if(!G)throw Error(`Subscription not found: ${Q.subscriptionId}`);if(G.connectionId!==J)throw Error("Cannot unsubscribe from a subscription owned by another connection");return{success:(await X.eventBus.unsubscribe(Y.id,Q.subscriptionId)).success,subscriptionId:Q.subscriptionId}}})});var bt;var hR0=y(()=>{P1();h7();bt=O6({name:"EVENT_CANCEL",description:"Cancel a recurring event to stop future deliveries. Only the publisher can cancel their own events.",inputSchema:ow,outputSchema:sw,handler:async(Q,X)=>{k6(X);let Y=O1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to cancel events. Use a connection-scoped token.");if(!await X.eventBus.getEvent(Y.id,Q.eventId))throw Error(`Event not found: ${Q.eventId}`);if(!(await X.eventBus.cancelEvent(Y.id,Q.eventId,J)).success)throw Error("Failed to cancel event. Either the event is already completed/failed, or you are not the publisher.");return{success:!0,eventId:Q.eventId}}})});var ft;var xR0=y(()=>{P1();h7();ft=O6({name:"EVENT_ACK",description:"Acknowledge delivery of an event. Call after successfully processing an event received via ON_EVENTS with retryAfter.",inputSchema:tw,outputSchema:ew,handler:async(Q,X)=>{k6(X);let Y=O1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to acknowledge events. Use a connection-scoped token.");if(!(await X.eventBus.ackEvent(Y.id,Q.eventId,J)).success)throw Error("Failed to acknowledge event. Either the event was not found, already delivered, or you are not a subscriber.");return{success:!0,eventId:Q.eventId}}})});var ht;var gR0=y(()=>{P1();h7();ht=O6({name:"EVENT_SUBSCRIPTION_LIST",description:"List event subscriptions, optionally filtered by connection ID.",inputSchema:vR0,outputSchema:_R0,handler:async(Q,X)=>{k6(X);let Y=O1(X);return await X.access.check(),{subscriptions:(await X.eventBus.listSubscriptions(Y.id,Q.connectionId)).map((G)=>({id:G.id,connectionId:G.connectionId,eventType:G.eventType,publisher:G.publisher,filter:G.filter,enabled:G.enabled,createdAt:G.createdAt,updatedAt:G.updatedAt}))}}})});var xt;var uR0=y(()=>{P1();h7();xt=O6({name:"EVENT_SYNC_SUBSCRIPTIONS",description:"Sync subscriptions to desired state. Creates new, deletes removed, updates changed filters. Subscriptions are identified by (eventType, publisher).",inputSchema:nw,outputSchema:iw,handler:async(Q,X)=>{k6(X);let Y=O1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to sync subscriptions. Use a connection-scoped token.");let G=await X.eventBus.syncSubscriptions(Y.id,{connectionId:J,subscriptions:Q.subscriptions});return{created:G.created,updated:G.updated,deleted:G.deleted,unchanged:G.unchanged,subscriptions:G.subscriptions.map((W)=>({id:W.id,connectionId:W.connectionId,eventType:W.eventType,publisher:W.publisher,filter:W.filter,enabled:W.enabled,createdAt:W.createdAt,updatedAt:W.updatedAt}))}}})});var mR0=y(()=>{yR0();bR0();fR0();hR0();xR0();gR0();uR0();h7()});var gt,ut,U11,YW,lR0,dR0;var ez=y(()=>{Z6();gt=N.enum(["inclusion","exclusion"]).describe("Tool selection mode: 'inclusion' = include selected (default), 'exclusion' = exclude selected"),ut=N.enum(["passthrough","smart_tool_selection","code_execution"]).describe("Gateway tool selection strategy: 'passthrough' (default), 'smart_tool_selection', or 'code_execution'"),U11=N.object({connection_id:N.string().describe("Connection ID"),selected_tools:N.array(N.string()).nullable().describe("Selected tool names. With 'inclusion' mode: null = all tools included. With 'exclusion' mode: null = entire connection excluded"),selected_resources:N.array(N.string()).nullable().describe("Selected resource URIs or patterns. Supports * and ** wildcards for pattern matching. With 'inclusion' mode: null = all resources included."),selected_prompts:N.array(N.string()).nullable().describe("Selected prompt names. With 'inclusion' mode: null = all prompts included. With 'exclusion' mode: null = entire connection excluded.")}),YW=N.object({id:N.string().describe("Unique identifier for the gateway"),title:N.string().describe("Human-readable name for the gateway"),description:N.string().nullable().describe("Description of the gateway"),icon:N.string().nullable().optional().describe("Icon URL for the gateway"),created_at:N.string().describe("When the gateway was created"),updated_at:N.string().describe("When the gateway was last updated"),created_by:N.string().describe("User ID who created the gateway"),updated_by:N.string().optional().describe("User ID who last updated the gateway"),organization_id:N.string().describe("Organization ID this gateway belongs to"),tool_selection_strategy:ut.describe("Gateway behavior strategy (metadata for now): 'passthrough', 'smart_tool_selection', or 'code_execution'"),tool_selection_mode:gt.describe("Tool selection mode: 'inclusion' = include selected, 'exclusion' = exclude selected"),status:N.enum(["active","inactive"]).describe("Current status"),is_default:N.boolean().describe("Whether this is the default gateway for the organization"),connections:N.array(U11).describe("Connections with their selected tools (behavior depends on tool_selection_mode)")}),lR0=N.object({title:N.string().min(1).max(255).describe("Name for the gateway"),description:N.string().nullable().optional().describe("Optional description"),tool_selection_strategy:ut.optional().default("passthrough").describe("Gateway behavior strategy (defaults to 'passthrough')"),tool_selection_mode:gt.optional().default("inclusion").describe("Tool selection mode (defaults to 'inclusion')"),icon:N.string().nullable().optional().describe("Optional icon URL"),status:N.enum(["active","inactive"]).optional().default("active").describe("Initial status"),is_default:N.boolean().optional().default(!1).describe("Whether this is the default gateway for the organization"),connections:N.array(N.object({connection_id:N.string().describe("Connection ID"),selected_tools:N.array(N.string()).nullable().optional().describe("Selected tool names (null/undefined = all tools or full exclusion)"),selected_resources:N.array(N.string()).nullable().optional().describe("Selected resource URIs or patterns with * and ** wildcards (null/undefined = all resources)"),selected_prompts:N.array(N.string()).nullable().optional().describe("Selected prompt names (null/undefined = all prompts or full exclusion)")})).describe("Connections to include/exclude (can be empty for exclusion mode)")}),dR0=N.object({title:N.string().min(1).max(255).optional().describe("New name"),description:N.string().nullable().optional().describe("New description (null to clear)"),tool_selection_strategy:ut.optional().describe("New gateway behavior strategy"),tool_selection_mode:gt.optional().describe("New tool selection mode"),icon:N.string().nullable().optional().describe("New icon URL (null to clear)"),status:N.enum(["active","inactive"]).optional().describe("New status"),is_default:N.boolean().optional().describe("Set as default gateway for the organization"),connections:N.array(N.object({connection_id:N.string().describe("Connection ID"),selected_tools:N.array(N.string()).nullable().optional().describe("Selected tool names (null/undefined = all tools or full exclusion)"),selected_resources:N.array(N.string()).nullable().optional().describe("Selected resource URIs or patterns with * and ** wildcards (null/undefined = all resources)"),selected_prompts:N.array(N.string()).nullable().optional().describe("Selected prompt names (null/undefined = all prompts or full exclusion)")})).optional().describe("New connections (replaces existing)")})});var B11,D11,mt;var pR0=y(()=>{Z6();P1();ez();B11=N.object({data:lR0.describe("Data for the new gateway")}),D11=N.object({item:YW.describe("The created gateway entity")}),mt=O6({name:"COLLECTION_GATEWAY_CREATE",description:"Create a new MCP gateway in the organization",inputSchema:B11,outputSchema:D11,handler:async(Q,X)=>{k6(X);let Y=O1(X);await X.access.check();let J=o9(X);if(!J)throw Error("User ID required to create gateway");let G={title:Q.data.title,description:Q.data.description??null,toolSelectionStrategy:Q.data.tool_selection_strategy??"passthrough",toolSelectionMode:Q.data.tool_selection_mode??"inclusion",icon:Q.data.icon??null,status:Q.data.status,isDefault:Q.data.is_default??!1,connections:Q.data.connections.map((Z)=>({connectionId:Z.connection_id,selectedTools:Z.selected_tools??null,selectedResources:Z.selected_resources??null,selectedPrompts:Z.selected_prompts??null}))},W=await X.storage.gateways.create(Y.id,J,G);return{item:{id:W.id,title:W.title,description:W.description,icon:W.icon,organization_id:W.organizationId,tool_selection_strategy:W.toolSelectionStrategy,tool_selection_mode:W.toolSelectionMode,status:W.status,is_default:W.isDefault,connections:W.connections.map((Z)=>({connection_id:Z.connectionId,selected_tools:Z.selectedTools,selected_resources:Z.selectedResources,selected_prompts:Z.selectedPrompts})),created_at:W.createdAt,updated_at:W.updatedAt,created_by:W.createdBy,updated_by:W.updatedBy??void 0}}}})});function N11(Q){let X=[],Y=0;while(Y<Q.length){let J=Q[Y];if(J==="%")X.push(".*");else if(J==="_")X.push(".");else if(/[.*+?^${}()|[\]\\]/.test(J))X.push("\\"+J);else X.push(J);Y++}return X.join("")}function i$(Q){return typeof Q==="string"||typeof Q==="number"}function lt(Q,X){let Y=X.split("."),J=Q;for(let G of Y){if(J==null||typeof J!=="object")return;J=J[G]}return J}function O11(Q,X){return Q.connections.some((Y)=>Y.connection_id===X)}function Zv(Q,X){if("conditions"in X){let{operator:$,conditions:K}=X;switch($){case"and":return K.every((H)=>Zv(Q,H));case"or":return K.some((H)=>Zv(Q,H));case"not":return!K.every((H)=>Zv(Q,H));default:return!0}}let{field:Y,operator:J,value:G}=X,W=Y.join(".");if(W==="connection_id"){if(J!=="eq"||typeof G!=="string")return!1;return O11(Q,G)}let Z=lt(Q,W);switch(J){case"eq":return Z===G;case"gt":return i$(Z)&&i$(G)&&Z>G;case"gte":return i$(Z)&&i$(G)&&Z>=G;case"lt":return i$(Z)&&i$(G)&&Z<G;case"lte":return i$(Z)&&i$(G)&&Z<=G;case"in":return Array.isArray(G)&&G.includes(Z);case"like":if(typeof Z!=="string"||typeof G!=="string")return!1;if(G.length>100)return!1;let $=N11(G);return new RegExp(`^${$}$`,"i").test(Z);case"contains":if(typeof Z!=="string"||typeof G!=="string")return!1;return Z.toLowerCase().includes(G.toLowerCase());default:return!0}}function L11(Q,X){return[...Q].sort((Y,J)=>{for(let G of X){let W=G.field.join("."),Z=lt(Y,W),$=lt(J,W),K=0;if(Z==null&&$==null)continue;if(Z==null)K=G.nulls==="first"?-1:1;else if($==null)K=G.nulls==="first"?1:-1;else if(typeof Z==="string"&&typeof $==="string")K=Z.localeCompare($);else if(typeof Z==="number"&&typeof $==="number")K=Z-$;else K=String(Z).localeCompare(String($));if(K!==0)return G.direction==="desc"?-K:K}return 0})}var w11,M11,dt;var cR0=y(()=>{c$();P1();ez();w11=uw,M11=mw(YW),dt=O6({name:"COLLECTION_GATEWAY_LIST",description:"List all MCP gateways in the organization",inputSchema:w11,outputSchema:M11,handler:async(Q,X)=>{await X.access.check();let Y=O1(X),J=Q.where&&!("conditions"in Q.where)&&Q.where.field.join(".")==="connection_id"&&Q.where.operator==="eq"&&typeof Q.where.value==="string"?Q.where.value:void 0,W=(J?await X.storage.gateways.listByConnectionId(Y.id,J):await X.storage.gateways.list(Y.id)).map((V)=>({id:V.id,title:V.title,description:V.description,icon:V.icon,is_default:V.isDefault,organization_id:V.organizationId,tool_selection_strategy:V.toolSelectionStrategy,tool_selection_mode:V.toolSelectionMode,status:V.status,connections:V.connections.map((q)=>({connection_id:q.connectionId,selected_tools:q.selectedTools,selected_resources:q.selectedResources,selected_prompts:q.selectedPrompts})),created_at:V.createdAt,updated_at:V.updatedAt,created_by:V.createdBy,updated_by:V.updatedBy??void 0}));if(Q.where)W=W.filter((V)=>Zv(V,Q.where));if(Q.orderBy&&Q.orderBy.length>0)W=L11(W,Q.orderBy);let Z=W.length,$=Q.offset??0,K=Q.limit??100,H=W.slice($,$+K),F=$+K<Z;return{items:H,totalCount:Z,hasMore:F}}})});var T11,P11,pt;var nR0=y(()=>{Z6();P1();ez();T11=N.object({id:N.string().describe("ID of the gateway to retrieve")}),P11=N.object({item:YW.nullable().describe("The retrieved gateway, or null if not found")}),pt=O6({name:"COLLECTION_GATEWAY_GET",description:"Get an MCP gateway by ID",inputSchema:T11,outputSchema:P11,handler:async(Q,X)=>{k6(X);let Y=O1(X);await X.access.check();let J=await X.storage.gateways.findById(Q.id);if(J&&J.organizationId!==Y.id)return{item:null};if(!J)return{item:null};return{item:{id:J.id,title:J.title,description:J.description,icon:J.icon,organization_id:J.organizationId,tool_selection_strategy:J.toolSelectionStrategy,tool_selection_mode:J.toolSelectionMode,status:J.status,is_default:J.isDefault,connections:J.connections.map((G)=>({connection_id:G.connectionId,selected_tools:G.selectedTools,selected_resources:G.selectedResources,selected_prompts:G.selectedPrompts})),created_at:J.createdAt,updated_at:J.updatedAt,created_by:J.createdBy,updated_by:J.updatedBy??void 0}}}})});var A11,E11,ct;var iR0=y(()=>{Z6();P1();ez();A11=N.object({id:N.string().describe("ID of the gateway to update"),data:dR0.describe("Partial gateway data to update")}),E11=N.object({item:YW.describe("The updated gateway entity")}),ct=O6({name:"COLLECTION_GATEWAY_UPDATE",description:"Update an MCP gateway",inputSchema:A11,outputSchema:E11,handler:async(Q,X)=>{k6(X);let Y=O1(X);await X.access.check();let J=o9(X);if(!J)throw Error("User ID required to update gateway");let G=await X.storage.gateways.findById(Q.id);if(!G)throw Error(`Gateway not found: ${Q.id}`);if(G.organizationId!==Y.id)throw Error(`Gateway not found: ${Q.id}`);let W={};if(Q.data.title!==void 0)W.title=Q.data.title;if(Q.data.description!==void 0)W.description=Q.data.description;if(Q.data.tool_selection_strategy!==void 0)W.toolSelectionStrategy=Q.data.tool_selection_strategy;if(Q.data.tool_selection_mode!==void 0)W.toolSelectionMode=Q.data.tool_selection_mode;if(Q.data.icon!==void 0)W.icon=Q.data.icon;if(Q.data.status!==void 0)W.status=Q.data.status;if(Q.data.is_default!==void 0)W.isDefault=Q.data.is_default;if(Q.data.connections!==void 0)W.connections=Q.data.connections.map(($)=>({connectionId:$.connection_id,selectedTools:$.selected_tools??null,selectedResources:$.selected_resources??null,selectedPrompts:$.selected_prompts??null}));let Z=await X.storage.gateways.update(Q.id,J,W);return{item:{id:Z.id,title:Z.title,description:Z.description,icon:Z.icon,organization_id:Z.organizationId,tool_selection_strategy:Z.toolSelectionStrategy,tool_selection_mode:Z.toolSelectionMode,status:Z.status,is_default:Z.isDefault,connections:Z.connections.map(($)=>({connection_id:$.connectionId,selected_tools:$.selectedTools,selected_resources:$.selectedResources,selected_prompts:$.selectedPrompts})),created_at:Z.createdAt,updated_at:Z.updatedAt,created_by:Z.createdBy,updated_by:Z.updatedBy??void 0}}}})});var j11,C11,nt;var aR0=y(()=>{Z6();P1();ez();j11=N.object({id:N.string().describe("ID of the gateway to delete")}),C11=N.object({item:YW.describe("The deleted gateway entity")}),nt=O6({name:"COLLECTION_GATEWAY_DELETE",description:"Delete an MCP gateway",inputSchema:j11,outputSchema:C11,handler:async(Q,X)=>{k6(X);let Y=O1(X);await X.access.check();let J=await X.storage.gateways.findById(Q.id);if(!J)throw Error(`Gateway not found: ${Q.id}`);if(J.organizationId!==Y.id)throw Error(`Gateway not found: ${Q.id}`);if(J.isDefault)throw Error("Cannot delete the default gateway. Set another gateway as default first.");return await X.storage.gateways.delete(Q.id),{item:{id:J.id,title:J.title,description:J.description,icon:J.icon,organization_id:J.organizationId,tool_selection_strategy:J.toolSelectionStrategy,tool_selection_mode:J.toolSelectionMode,status:J.status,is_default:J.isDefault,connections:J.connections.map((G)=>({connection_id:G.connectionId,selected_tools:G.selectedTools,selected_resources:G.selectedResources,selected_prompts:G.selectedPrompts})),created_at:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt,updated_at:J.updatedAt instanceof Date?J.updatedAt.toISOString():J.updatedAt,created_by:J.createdBy,updated_by:J.updatedBy??void 0}}}})});var rR0=y(()=>{pR0();cR0();nR0();iR0();aR0()});var R11,it;var oR0=y(()=>{P1();Z6();R11=N.object({id:N.string().optional().describe("Unique log identifier"),organizationId:N.string().describe("Organization ID"),connectionId:N.string().describe("Connection ID"),connectionTitle:N.string().describe("Connection display name"),toolName:N.string().describe("Name of the tool that was called"),input:N.record(N.string(),N.unknown()).describe("Redacted tool input"),output:N.record(N.string(),N.unknown()).describe("Redacted tool output"),isError:N.boolean().describe("Whether the call resulted in an error"),errorMessage:N.string().nullish().describe("Error message if applicable"),durationMs:N.number().describe("Call duration in milliseconds"),timestamp:N.string().describe("ISO 8601 timestamp of the call"),userId:N.string().nullish().describe("User who triggered the call"),requestId:N.string().describe("Unique request identifier"),userAgent:N.string().nullish().describe("Client identifier (x-mesh-client header)"),gatewayId:N.string().nullish().describe("Gateway ID if routed through a gateway"),properties:N.record(N.string(),N.string()).nullish().describe("Custom key-value metadata attached to the log")}),it=O6({name:"MONITORING_LOGS_LIST",description:"List monitoring logs for tool calls in the organization",inputSchema:N.object({connectionId:N.string().optional().describe("Filter by connection ID"),gatewayId:N.string().optional().describe("Filter by gateway ID"),toolName:N.string().optional().describe("Filter by tool name"),isError:N.boolean().optional().describe("Filter by error status"),startDate:N.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:N.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)"),limit:N.number().default(100).describe("Maximum number of results"),offset:N.number().default(0).describe("Offset for pagination"),properties:N.record(N.string(),N.string()).optional().describe("Filter by exact property key=value matches"),propertyKeys:N.array(N.string()).optional().describe("Filter by logs that have these property keys"),propertyPatterns:N.record(N.string(),N.string()).optional().describe("Filter by property value patterns (SQL LIKE, use % as wildcard)")}),outputSchema:N.object({logs:N.array(R11).describe("Array of monitoring logs"),total:N.number().describe("Total number of logs matching filters"),offset:N.number().describe("Current offset for pagination"),limit:N.number().describe("Current limit for pagination")}),handler:async(Q,X)=>{let Y=O1(X),G=Q.properties||Q.propertyKeys||Q.propertyPatterns?{properties:Q.properties,propertyKeys:Q.propertyKeys,propertyPatterns:Q.propertyPatterns}:void 0,W={organizationId:Y.id,connectionId:Q.connectionId,gatewayId:Q.gatewayId,toolName:Q.toolName,isError:Q.isError,startDate:Q.startDate?new Date(Q.startDate):void 0,endDate:Q.endDate?new Date(Q.endDate):void 0,limit:Q.limit,offset:Q.offset,propertyFilters:G},Z=await X.storage.monitoring.query(W);return{logs:Z.logs.map(($)=>({...$,timestamp:$.timestamp instanceof Date?$.timestamp.toISOString():$.timestamp})),total:Z.total,offset:Q.offset,limit:Q.limit}}})});var at;var sR0=y(()=>{P1();Z6();at=O6({name:"MONITORING_STATS",description:"Get aggregated statistics for tool call monitoring",inputSchema:N.object({startDate:N.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:N.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)")}),outputSchema:N.object({totalCalls:N.number().describe("Total number of tool calls"),errorRate:N.number().describe("Error rate as a decimal (0 to 1)"),avgDurationMs:N.number().describe("Average call duration in milliseconds"),errorRatePercent:N.string().describe("Error rate as a percentage string")}),handler:async(Q,X)=>{let J={organizationId:O1(X).id,startDate:Q.startDate?new Date(Q.startDate):void 0,endDate:Q.endDate?new Date(Q.endDate):void 0},G=await X.storage.monitoring.getStats(J);return{...G,errorRatePercent:(G.errorRate*100).toFixed(2)}}})});var tR0=y(()=>{oR0();sR0()});var rt;var eR0=y(()=>{Z6();P1();rt=O6({name:"ORGANIZATION_CREATE",description:"Create a new organization",inputSchema:N.object({slug:N.string().min(1).max(50).regex(/^[a-z0-9-]+$/,"Slug must be lowercase alphanumeric with hyphens"),name:N.string().min(1).max(255),description:N.string().optional()}),outputSchema:N.object({id:N.string(),name:N.string(),slug:N.string(),logo:N.string().nullable().optional(),metadata:N.any().optional(),createdAt:N.union([N.date(),N.string()]),members:N.array(N.any()).optional()}),handler:async(Q,X)=>{k6(X),await X.access.check();let Y=o9(X);if(!Y)throw Error("User ID required to create organization");let J=await X.boundAuth.organization.create({name:Q.name,slug:Q.slug,metadata:Q.description?{description:Q.description}:void 0,userId:Y});if(!J)throw Error("Failed to create organization");return J}})});var ot;var QS0=y(()=>{Z6();P1();ot=O6({name:"ORGANIZATION_LIST",description:"List all organizations user has access to",inputSchema:N.object({userId:N.string().optional()}),outputSchema:N.object({organizations:N.array(N.object({id:N.string(),name:N.string(),slug:N.string(),logo:N.string().nullable().optional(),metadata:N.any().optional(),createdAt:N.union([N.date(),N.string()])}))}),handler:async(Q,X)=>{k6(X),await X.access.check();let Y=o9(X),J=Q.userId||Y;if(!J)throw Error("User ID required to list organizations");return{organizations:await X.boundAuth.organization.list(J)}}})});var st;var XS0=y(()=>{Z6();P1();st=O6({name:"ORGANIZATION_GET",description:"Get organization details by slug or ID",inputSchema:N.object({}),outputSchema:N.object({id:N.string(),name:N.string(),slug:N.string(),logo:N.string().nullable().optional(),metadata:N.any().optional(),createdAt:N.union([N.date(),N.string()]),members:N.array(N.any()).optional(),invitations:N.array(N.any()).optional()}),handler:async(Q,X)=>{k6(X),await X.access.check();let Y=await X.boundAuth.organization.get();if(!Y)throw Error("No active organization found");return Y}})});var tt;var YS0=y(()=>{Z6();P1();tt=O6({name:"ORGANIZATION_UPDATE",description:"Update an existing organization",inputSchema:N.object({id:N.string(),slug:N.string().min(1).max(50).regex(/^[a-z0-9-]+$/).optional(),name:N.string().min(1).max(255).optional(),description:N.string().optional()}),outputSchema:N.object({id:N.string(),name:N.string(),slug:N.string(),logo:N.string().nullable().optional(),metadata:N.any().optional(),createdAt:N.union([N.date(),N.string()])}),handler:async(Q,X)=>{k6(X),await X.access.check();let Y={};if(Q.name)Y.name=Q.name;if(Q.slug)Y.slug=Q.slug;if(Q.description)Y.metadata={description:Q.description};let J=await X.boundAuth.organization.update({organizationId:Q.id,data:Y});if(!J)throw Error("Failed to update organization");return J}})});var et;var JS0=y(()=>{Z6();P1();et=O6({name:"ORGANIZATION_DELETE",description:"Delete an organization",inputSchema:N.object({id:N.string()}),outputSchema:N.object({success:N.boolean(),id:N.string()}),handler:async(Q,X)=>{return k6(X),await X.access.check(),await X.boundAuth.organization.delete(Q.id),{success:!0,id:Q.id}}})});var XM;var Qe=y(()=>{Z6();XM=N.object({title:N.string(),url:N.string(),icon:N.string()})});var Xe;var GS0=y(()=>{Z6();P1();Qe();Xe=O6({name:"ORGANIZATION_SETTINGS_GET",description:"Get organization-level settings",inputSchema:N.object({}),outputSchema:N.object({organizationId:N.string(),sidebar_items:N.array(XM).nullable().optional(),createdAt:N.union([N.date(),N.string()]).optional(),updatedAt:N.union([N.date(),N.string()]).optional()}),handler:async(Q,X)=>{k6(X),await X.access.check();let Y=X.organization?.id;if(!Y)throw Error("Organization ID required (no active organization in context)");let J=await X.storage.organizationSettings.get(Y);if(!J)return{organizationId:Y};return J}})});var Ye;var WS0=y(()=>{Z6();P1();Qe();Ye=O6({name:"ORGANIZATION_SETTINGS_UPDATE",description:"Update organization-level settings",inputSchema:N.object({organizationId:N.string(),sidebar_items:N.array(XM).optional()}),outputSchema:N.object({organizationId:N.string(),sidebar_items:N.array(XM).nullable().optional(),createdAt:N.union([N.date(),N.string()]),updatedAt:N.union([N.date(),N.string()])}),handler:async(Q,X)=>{if(k6(X),await X.access.check(),X.organization&&X.organization.id!==Q.organizationId)throw Error("Cannot update settings for a different organization");return await X.storage.organizationSettings.upsert(Q.organizationId,{sidebar_items:Q.sidebar_items})}})});var Je;var ZS0=y(()=>{Z6();P1();Je=O6({name:"ORGANIZATION_MEMBER_ADD",description:"Add a member to an organization",inputSchema:N.object({organizationId:N.string().optional(),userId:N.string(),role:N.array(N.string())}),outputSchema:N.object({id:N.string(),organizationId:N.string(),userId:N.string(),role:N.union([N.string(),N.array(N.string())]),createdAt:N.union([N.date(),N.string()])}),handler:async(Q,X)=>{k6(X),await X.access.check();let Y=Q.organizationId||X.organization?.id;if(!Y)throw Error("Organization ID required (no active organization in context)");let J=await X.boundAuth.organization.addMember({organizationId:Y,userId:Q.userId,role:Q.role});if(!J)throw Error("Failed to add member");return J}})});var Ge;var $S0=y(()=>{Z6();P1();Ge=O6({name:"ORGANIZATION_MEMBER_REMOVE",description:"Remove a member from an organization",inputSchema:N.object({organizationId:N.string().optional(),memberIdOrEmail:N.string()}),outputSchema:N.object({success:N.boolean(),memberIdOrEmail:N.string()}),handler:async(Q,X)=>{k6(X),await X.access.check();let Y=Q.organizationId||X.organization?.id;if(!Y)throw Error("Organization ID required (no active organization in context)");return await X.boundAuth.organization.removeMember({organizationId:Y,memberIdOrEmail:Q.memberIdOrEmail}),{success:!0,memberIdOrEmail:Q.memberIdOrEmail}}})});var We;var KS0=y(()=>{Z6();P1();We=O6({name:"ORGANIZATION_MEMBER_LIST",description:"List all members in an organization",inputSchema:N.object({limit:N.number().optional(),offset:N.number().optional()}),outputSchema:N.object({members:N.array(N.object({id:N.string(),organizationId:N.string(),userId:N.string(),role:N.string(),createdAt:N.union([N.date(),N.string()]),user:N.object({id:N.string(),name:N.string(),email:N.string(),image:N.string().optional()}).optional()}))}),handler:async(Q,X)=>{k6(X),await X.access.check();let Y=X.organization?.id;if(!Y)throw Error("Organization ID required (no active organization in context)");let J=await X.boundAuth.organization.listMembers({organizationId:Y,limit:Q.limit,offset:Q.offset});return{members:Array.isArray(J)?J:[]}}})});var Ze;var HS0=y(()=>{Z6();P1();Ze=O6({name:"ORGANIZATION_MEMBER_UPDATE_ROLE",description:"Update a member's role in an organization",inputSchema:N.object({organizationId:N.string().optional(),memberId:N.string(),role:N.array(N.string())}),outputSchema:N.object({id:N.string(),organizationId:N.string(),userId:N.string(),role:N.union([N.literal("admin"),N.literal("member"),N.literal("owner")]),createdAt:N.union([N.date(),N.string()]),user:N.object({email:N.string(),name:N.string(),image:N.string().optional()})}),handler:async(Q,X)=>{k6(X),await X.access.check();let Y=Q.organizationId||X.organization?.id;if(!Y)throw Error("Organization ID required (no active organization in context)");let J=await X.boundAuth.organization.updateMemberRole({organizationId:Y,memberId:Q.memberId,role:Q.role});if(!J)throw Error("Failed to update member role");return J}})});var FS0=y(()=>{eR0();QS0();XS0();YS0();JS0();GS0();WS0();ZS0();$S0();KS0();HS0()});var v11,_11,$e;var VS0=y(()=>{Z6();P1();v11=N.object({id:N.string().min(1)}),_11=N.object({user:N.object({id:N.string(),name:N.string(),email:N.string(),image:N.string().nullable()}).nullable()}),$e=O6({name:"USER_GET",description:"Get a user by id (restricted to shared organizations)",inputSchema:v11,outputSchema:_11,handler:async(Q,X)=>{await X.access.check(),k6(X);let Y=o9(X);if(!Y)throw Error("Authentication required");let J=await X.storage.users.findById(Q.id,Y);if(!J)return{user:null};return{user:{id:J.id,name:J.name,email:J.email,image:J.image??null}}}})});var qS0=y(()=>{VS0()});var US0={};q1(US0,{managementMCP:()=>Ke,ALL_TOOLS:()=>zS0});var zS0,Ke=(Q)=>{let X=zS0.map((J)=>({name:J.name,description:J.description,inputSchema:J.inputSchema,outputSchema:J.outputSchema,handler:async(G)=>{return Q.access.setToolName(J.name),await J.execute(G,Q)}}));return jj0({name:"mcp-mesh-management",version:"1.0.0"}).withTools(X).build()};var He=y(()=>{Cj0();fI0();CR0();kR0();mR0();rR0();tR0();FS0();qS0();zS0=[rt,ot,st,tt,et,Xe,Ye,Je,Ge,We,Ze,Jt,Et,jt,Rt,St,kt,mt,dt,pt,ct,nt,SR0,it,at,es,Xt,Yt,Qt,vt,_t,yt,bt,ft,ht,xt,$e]});function b11(){return[{permissions:{self:["*"]},getTools:async()=>{let{ALL_TOOLS:Q}=await Promise.resolve().then(() => (He(),US0));return Q.map((X)=>{return{name:X.name,inputSchema:N.toJSONSchema(X.inputSchema,{unrepresentable:"any"}),outputSchema:X.outputSchema?N.toJSONSchema(X.outputSchema,{unrepresentable:"any"}):void 0,description:X.description}})},data:YL0(process.env.BASE_URL||"http://localhost:3000")},{data:XL0()}]}async function BS0(Q,X){try{let Y=Z3(),J=new PL(process.env.ENCRYPTION_KEY||""),G=new AL(Y.db,J),W=new EL(Y.db),Z=b11(),$=[];await Promise.all(Z.map(async(K)=>{let H=null;if(K.permissions)H=(await k5.api.createApiKey({body:{name:`${K.data.app_name??crypto.randomUUID()}-mcp`,userId:X,permissions:K.permissions,rateLimitEnabled:!1,metadata:{organization:{id:Q},purpose:"default-org-connections"}}}))?.key;let F=await K.getTools?.()??await xz({id:"pending",title:K.data.title,connection_type:K.data.connection_type,connection_url:K.data.connection_url,connection_token:K.data.connection_token,connection_headers:K.data.connection_headers}).catch(()=>null),V=K.data.id?`${Q}_${K.data.id}`:void 0,q=await G.create({...K.data,id:V,tools:F,organization_id:Q,created_by:X,connection_token:K.data.connection_token??H});$.push(q.id)})),await W.create(Q,X,{title:"Default Gateway",description:"Auto-created gateway for organization",toolSelectionStrategy:"passthrough",toolSelectionMode:"exclusion",status:"active",isDefault:!0,connections:$.map((K)=>({connectionId:K}))})}catch(Y){console.error("Error creating default MCP connections:",Y)}}var DS0=y(()=>{$3();wL();Ga();Wa();Za();uk();Z6();QU()});var Fe,NS0;var Ve=y(()=>{Fe=["owner","admin","user"],NS0=["owner","admin"]});var f11=(Q)=>{return{defaultSSO:[{domain:Q.domain,providerId:Q.providerId,oidcConfig:{issuer:`https://login.microsoftonline.com/${Q.MS_TENANT_ID}/v2.0`,pkce:!0,clientId:Q.MS_CLIENT_ID,clientSecret:Q.MS_CLIENT_SECRET,discoveryEndpoint:`https://login.microsoftonline.com/${Q.MS_TENANT_ID}/v2.0/.well-known/openid-configuration`,authorizationEndpoint:`https://login.microsoftonline.com/${Q.MS_TENANT_ID}/oauth2/v2.0/authorize`,tokenEndpoint:`https://login.microsoftonline.com/${Q.MS_TENANT_ID}/oauth2/v2.0/token`,jwksEndpoint:`https://login.microsoftonline.com/${Q.MS_TENANT_ID}/discovery/v2.0/keys`,userInfoEndpoint:"https://graph.microsoft.com/oidc/userinfo",tokenEndpointAuthentication:"client_secret_post",scopes:Q.scopes,mapping:{id:"sub",email:"email",emailVerified:"email_verified",name:"name",image:"picture",extraFields:{emailVerified:"email_verified"}}}}]}},OS0=(Q)=>{if(Q.providerId==="microsoft")return f11(Q);throw Error(`Unsupported provider: ${Q.providerId}`)};function h11(Q){return Q.toLowerCase().trim().replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function x11(){let Q=Math.floor(Math.random()*wS0.length),X=Math.floor(Math.random()*LS0.length),Y=wS0[Q]??"deco",J=LS0[X]??"studio";return`${Y}-${J}`}var LS0,wS0,g11,u11,$v,m11,l11,d11,MS0,o8,TS0=void 0,p11,c11,n11,k5;var QU=y(()=>{Gl();bz0();MB0();cc();Di();zD0();Ni();wD0();wL();Ja();tO0();DS0();Ve();LS0=["labs","hub","studio","workspace","systems","core","cloud","works"],wS0=["capybara","guarana","deco","samba","feijoada","capoeira","carnival"];g11=Object.values(PN()).map((Q)=>Q.map((X)=>X.name)).flat(),u11={...MR,self:["*",...g11]},$v=pG(u11),m11=$v.newRole({self:["*"],...XL.statements}),l11=$v.newRole({self:["*"],...XL.statements}),d11=$v.newRole({self:["*"],...XL.statements}),MS0=Object.values(PN()).map((Q)=>Q.map((X)=>`self:${X.name}`)).flat(),o8=hR.auth;if(o8.inviteEmailProviderId&&o8.emailProviders&&o8.emailProviders.length>0){let Q=oR(o8.emailProviders,o8.inviteEmailProviderId);if(Q){let X=rR(Q);TS0=async(Y)=>{let J=Y.inviter.user?.name||Y.inviter.user?.email,G=`${process.env.BASE_URL||"http://localhost:3000"}/auth/accept-invitation?invitationId=${Y.invitation.id}`;await X({to:Y.email,subject:`Invitation to join ${Y.organization.name}`,html:`
989
+ `.execute(Q)).rows[0]?.exists)await s1`CREATE ROLE ${s1.id(Y)} NOLOGIN`.execute(Q);await s1`GRANT ${s1.id(Y)} TO CURRENT_USER`.execute(Q),await s1`GRANT USAGE, CREATE ON SCHEMA ${s1.id(X)} TO ${s1.id(Y)}`.execute(Q),await s1`GRANT ALL ON ALL TABLES IN SCHEMA ${s1.id(X)} TO ${s1.id(Y)}`.execute(Q),await s1`GRANT ALL ON ALL SEQUENCES IN SCHEMA ${s1.id(X)} TO ${s1.id(Y)}`.execute(Q),await s1`ALTER DEFAULT PRIVILEGES IN SCHEMA ${s1.id(X)} GRANT ALL ON TABLES TO ${s1.id(Y)}`.execute(Q),await s1`ALTER DEFAULT PRIVILEGES IN SCHEMA ${s1.id(X)} GRANT ALL ON SEQUENCES TO ${s1.id(Y)}`.execute(Q),await s1`REVOKE ALL ON SCHEMA public FROM ${s1.id(Y)}`.execute(Q)}async function F11(Q,X,Y,J){try{return await Q.transaction().execute(async(G)=>{return await s1`SET LOCAL ROLE ${s1.id(Y)}`.execute(G),await s1`SET LOCAL search_path TO ${s1.id(X)}`.execute(G),await s1.raw(J).execute(G)})}catch(G){if(K11(G))return await H11(Q,X,Y),await Q.transaction().execute(async(W)=>{return await s1`SET LOCAL ROLE ${s1.id(Y)}`.execute(W),await s1`SET LOCAL search_path TO ${s1.id(X)}`.execute(W),await s1.raw(J).execute(W)});throw G}}var J11,W11,SR0;var kR0=y(()=>{Z6();P1();J11=N.object({results:N.array(N.unknown()).optional(),success:N.boolean().optional()});W11=N.object({sql:N.string().describe("The SQL query to run"),params:N.array(N.any()).describe("The parameters to pass to the SQL query").optional()});SR0=O6({name:"DATABASES_RUN_SQL",description:"Run a SQL query against the database",inputSchema:W11,outputSchema:N.object({result:N.array(J11)}),handler:async(Q,X)=>{k6(X),await X.access.check();let Y=G11(Q.sql,Q.params||[]);if(!X.connectionId)throw Error("Connection context required for database access");let J=Z11(X.connectionId),G=$11(X.connectionId);return{result:[{results:(await F11(X.db,J,G,Y)).rows,success:!0}]}}})});var vR0,q11,_R0;var h7=y(()=>{Z6();Jv();vR0=N.object({connectionId:N.string().optional().describe("Filter subscriptions by connection ID (optional)")}),q11=N.object({id:N.string().describe("Subscription ID"),connectionId:N.string().describe("Subscriber connection ID"),eventType:N.string().describe("Event type pattern"),publisher:N.string().nullable().describe("Publisher connection filter (null = all publishers)"),filter:N.string().nullable().describe("JSONPath filter expression"),enabled:N.boolean().describe("Whether subscription is enabled"),createdAt:N.union([N.string(),N.date()]).describe("Created timestamp"),updatedAt:N.union([N.string(),N.date()]).describe("Updated timestamp")}),_R0=N.object({subscriptions:N.array(q11).describe("List of subscriptions")})});var vt;var yR0=y(()=>{P1();h7();vt=O6({name:"EVENT_PUBLISH",description:"Publish an event to the event bus. Supports immediate, scheduled (deliverAt), and recurring (cron) delivery. The source is automatically set to the caller's connection ID.",inputSchema:lw,outputSchema:dw,handler:async(Q,X)=>{k6(X);let Y=O1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to publish events. Use a connection-scoped token.");let G=await X.eventBus.publish(Y.id,J,{type:Q.type,subject:Q.subject,data:Q.data,deliverAt:Q.deliverAt,cron:Q.cron});return{id:G.id,type:G.type,source:G.source,time:G.time}}})});var _t;var bR0=y(()=>{P1();h7();_t=O6({name:"EVENT_SUBSCRIBE",description:"Subscribe to events of a specific type. The subscriber is automatically set to the caller's connection.",inputSchema:pw,outputSchema:cw,handler:async(Q,X)=>{k6(X);let Y=O1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to subscribe. Use a connection-scoped token.");let G=await X.eventBus.subscribe(Y.id,{connectionId:J,eventType:Q.eventType,publisher:Q.publisher,filter:Q.filter});return{subscription:{id:G.id,connectionId:G.connectionId,eventType:G.eventType,publisher:G.publisher,filter:G.filter,enabled:G.enabled,createdAt:G.createdAt,updatedAt:G.updatedAt}}}})});var yt;var fR0=y(()=>{P1();h7();yt=O6({name:"EVENT_UNSUBSCRIBE",description:"Unsubscribe from events by removing a subscription.",inputSchema:aw,outputSchema:rw,handler:async(Q,X)=>{k6(X);let Y=O1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to unsubscribe. Use a connection-scoped token.");let G=await X.eventBus.getSubscription(Y.id,Q.subscriptionId);if(!G)throw Error(`Subscription not found: ${Q.subscriptionId}`);if(G.connectionId!==J)throw Error("Cannot unsubscribe from a subscription owned by another connection");return{success:(await X.eventBus.unsubscribe(Y.id,Q.subscriptionId)).success,subscriptionId:Q.subscriptionId}}})});var bt;var hR0=y(()=>{P1();h7();bt=O6({name:"EVENT_CANCEL",description:"Cancel a recurring event to stop future deliveries. Only the publisher can cancel their own events.",inputSchema:ow,outputSchema:sw,handler:async(Q,X)=>{k6(X);let Y=O1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to cancel events. Use a connection-scoped token.");if(!await X.eventBus.getEvent(Y.id,Q.eventId))throw Error(`Event not found: ${Q.eventId}`);if(!(await X.eventBus.cancelEvent(Y.id,Q.eventId,J)).success)throw Error("Failed to cancel event. Either the event is already completed/failed, or you are not the publisher.");return{success:!0,eventId:Q.eventId}}})});var ft;var xR0=y(()=>{P1();h7();ft=O6({name:"EVENT_ACK",description:"Acknowledge delivery of an event. Call after successfully processing an event received via ON_EVENTS with retryAfter.",inputSchema:tw,outputSchema:ew,handler:async(Q,X)=>{k6(X);let Y=O1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to acknowledge events. Use a connection-scoped token.");if(!(await X.eventBus.ackEvent(Y.id,Q.eventId,J)).success)throw Error("Failed to acknowledge event. Either the event was not found, already delivered, or you are not a subscriber.");return{success:!0,eventId:Q.eventId}}})});var ht;var gR0=y(()=>{P1();h7();ht=O6({name:"EVENT_SUBSCRIPTION_LIST",description:"List event subscriptions, optionally filtered by connection ID.",inputSchema:vR0,outputSchema:_R0,handler:async(Q,X)=>{k6(X);let Y=O1(X);return await X.access.check(),{subscriptions:(await X.eventBus.listSubscriptions(Y.id,Q.connectionId)).map((G)=>({id:G.id,connectionId:G.connectionId,eventType:G.eventType,publisher:G.publisher,filter:G.filter,enabled:G.enabled,createdAt:G.createdAt,updatedAt:G.updatedAt}))}}})});var xt;var uR0=y(()=>{P1();h7();xt=O6({name:"EVENT_SYNC_SUBSCRIPTIONS",description:"Sync subscriptions to desired state. Creates new, deletes removed, updates changed filters. Subscriptions are identified by (eventType, publisher).",inputSchema:nw,outputSchema:iw,handler:async(Q,X)=>{k6(X);let Y=O1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to sync subscriptions. Use a connection-scoped token.");let G=await X.eventBus.syncSubscriptions(Y.id,{connectionId:J,subscriptions:Q.subscriptions});return{created:G.created,updated:G.updated,deleted:G.deleted,unchanged:G.unchanged,subscriptions:G.subscriptions.map((W)=>({id:W.id,connectionId:W.connectionId,eventType:W.eventType,publisher:W.publisher,filter:W.filter,enabled:W.enabled,createdAt:W.createdAt,updatedAt:W.updatedAt}))}}})});var mR0=y(()=>{yR0();bR0();fR0();hR0();xR0();gR0();uR0();h7()});var gt,ut,U11,YW,lR0,dR0;var ez=y(()=>{Z6();gt=N.enum(["inclusion","exclusion"]).describe("Tool selection mode: 'inclusion' = include selected (default), 'exclusion' = exclude selected"),ut=N.enum(["passthrough","smart_tool_selection","code_execution"]).describe("Gateway tool selection strategy: 'passthrough' (default), 'smart_tool_selection', or 'code_execution'"),U11=N.object({connection_id:N.string().describe("Connection ID"),selected_tools:N.array(N.string()).nullable().describe("Selected tool names. With 'inclusion' mode: null = all tools included. With 'exclusion' mode: null = entire connection excluded"),selected_resources:N.array(N.string()).nullable().describe("Selected resource URIs or patterns. Supports * and ** wildcards for pattern matching. With 'inclusion' mode: null = all resources included."),selected_prompts:N.array(N.string()).nullable().describe("Selected prompt names. With 'inclusion' mode: null = all prompts included. With 'exclusion' mode: null = entire connection excluded.")}),YW=N.object({id:N.string().describe("Unique identifier for the gateway"),title:N.string().describe("Human-readable name for the gateway"),description:N.string().nullable().describe("Description of the gateway"),icon:N.string().nullable().optional().describe("Icon URL for the gateway"),created_at:N.string().describe("When the gateway was created"),updated_at:N.string().describe("When the gateway was last updated"),created_by:N.string().describe("User ID who created the gateway"),updated_by:N.string().optional().describe("User ID who last updated the gateway"),organization_id:N.string().describe("Organization ID this gateway belongs to"),tool_selection_strategy:ut.describe("Gateway behavior strategy (metadata for now): 'passthrough', 'smart_tool_selection', or 'code_execution'"),tool_selection_mode:gt.describe("Tool selection mode: 'inclusion' = include selected, 'exclusion' = exclude selected"),status:N.enum(["active","inactive"]).describe("Current status"),is_default:N.boolean().describe("Whether this is the default Hub for the organization"),connections:N.array(U11).describe("Connections with their selected tools (behavior depends on tool_selection_mode)")}),lR0=N.object({title:N.string().min(1).max(255).describe("Name for the gateway"),description:N.string().nullable().optional().describe("Optional description"),tool_selection_strategy:ut.optional().default("passthrough").describe("Gateway behavior strategy (defaults to 'passthrough')"),tool_selection_mode:gt.optional().default("inclusion").describe("Tool selection mode (defaults to 'inclusion')"),icon:N.string().nullable().optional().describe("Optional icon URL"),status:N.enum(["active","inactive"]).optional().default("active").describe("Initial status"),is_default:N.boolean().optional().default(!1).describe("Whether this is the default Hub for the organization"),connections:N.array(N.object({connection_id:N.string().describe("Connection ID"),selected_tools:N.array(N.string()).nullable().optional().describe("Selected tool names (null/undefined = all tools or full exclusion)"),selected_resources:N.array(N.string()).nullable().optional().describe("Selected resource URIs or patterns with * and ** wildcards (null/undefined = all resources)"),selected_prompts:N.array(N.string()).nullable().optional().describe("Selected prompt names (null/undefined = all prompts or full exclusion)")})).describe("Connections to include/exclude (can be empty for exclusion mode)")}),dR0=N.object({title:N.string().min(1).max(255).optional().describe("New name"),description:N.string().nullable().optional().describe("New description (null to clear)"),tool_selection_strategy:ut.optional().describe("New gateway behavior strategy"),tool_selection_mode:gt.optional().describe("New tool selection mode"),icon:N.string().nullable().optional().describe("New icon URL (null to clear)"),status:N.enum(["active","inactive"]).optional().describe("New status"),is_default:N.boolean().optional().describe("Set as default Hub for the organization"),connections:N.array(N.object({connection_id:N.string().describe("Connection ID"),selected_tools:N.array(N.string()).nullable().optional().describe("Selected tool names (null/undefined = all tools or full exclusion)"),selected_resources:N.array(N.string()).nullable().optional().describe("Selected resource URIs or patterns with * and ** wildcards (null/undefined = all resources)"),selected_prompts:N.array(N.string()).nullable().optional().describe("Selected prompt names (null/undefined = all prompts or full exclusion)")})).optional().describe("New connections (replaces existing)")})});var B11,D11,mt;var pR0=y(()=>{Z6();P1();ez();B11=N.object({data:lR0.describe("Data for the new gateway")}),D11=N.object({item:YW.describe("The created gateway entity")}),mt=O6({name:"COLLECTION_GATEWAY_CREATE",description:"Create a new MCP gateway in the organization",inputSchema:B11,outputSchema:D11,handler:async(Q,X)=>{k6(X);let Y=O1(X);await X.access.check();let J=o9(X);if(!J)throw Error("User ID required to create gateway");let G={title:Q.data.title,description:Q.data.description??null,toolSelectionStrategy:Q.data.tool_selection_strategy??"passthrough",toolSelectionMode:Q.data.tool_selection_mode??"inclusion",icon:Q.data.icon??null,status:Q.data.status,isDefault:Q.data.is_default??!1,connections:Q.data.connections.map((Z)=>({connectionId:Z.connection_id,selectedTools:Z.selected_tools??null,selectedResources:Z.selected_resources??null,selectedPrompts:Z.selected_prompts??null}))},W=await X.storage.gateways.create(Y.id,J,G);return{item:{id:W.id,title:W.title,description:W.description,icon:W.icon,organization_id:W.organizationId,tool_selection_strategy:W.toolSelectionStrategy,tool_selection_mode:W.toolSelectionMode,status:W.status,is_default:W.isDefault,connections:W.connections.map((Z)=>({connection_id:Z.connectionId,selected_tools:Z.selectedTools,selected_resources:Z.selectedResources,selected_prompts:Z.selectedPrompts})),created_at:W.createdAt,updated_at:W.updatedAt,created_by:W.createdBy,updated_by:W.updatedBy??void 0}}}})});function N11(Q){let X=[],Y=0;while(Y<Q.length){let J=Q[Y];if(J==="%")X.push(".*");else if(J==="_")X.push(".");else if(/[.*+?^${}()|[\]\\]/.test(J))X.push("\\"+J);else X.push(J);Y++}return X.join("")}function i$(Q){return typeof Q==="string"||typeof Q==="number"}function lt(Q,X){let Y=X.split("."),J=Q;for(let G of Y){if(J==null||typeof J!=="object")return;J=J[G]}return J}function O11(Q,X){return Q.connections.some((Y)=>Y.connection_id===X)}function Zv(Q,X){if("conditions"in X){let{operator:$,conditions:K}=X;switch($){case"and":return K.every((H)=>Zv(Q,H));case"or":return K.some((H)=>Zv(Q,H));case"not":return!K.every((H)=>Zv(Q,H));default:return!0}}let{field:Y,operator:J,value:G}=X,W=Y.join(".");if(W==="connection_id"){if(J!=="eq"||typeof G!=="string")return!1;return O11(Q,G)}let Z=lt(Q,W);switch(J){case"eq":return Z===G;case"gt":return i$(Z)&&i$(G)&&Z>G;case"gte":return i$(Z)&&i$(G)&&Z>=G;case"lt":return i$(Z)&&i$(G)&&Z<G;case"lte":return i$(Z)&&i$(G)&&Z<=G;case"in":return Array.isArray(G)&&G.includes(Z);case"like":if(typeof Z!=="string"||typeof G!=="string")return!1;if(G.length>100)return!1;let $=N11(G);return new RegExp(`^${$}$`,"i").test(Z);case"contains":if(typeof Z!=="string"||typeof G!=="string")return!1;return Z.toLowerCase().includes(G.toLowerCase());default:return!0}}function L11(Q,X){return[...Q].sort((Y,J)=>{for(let G of X){let W=G.field.join("."),Z=lt(Y,W),$=lt(J,W),K=0;if(Z==null&&$==null)continue;if(Z==null)K=G.nulls==="first"?-1:1;else if($==null)K=G.nulls==="first"?1:-1;else if(typeof Z==="string"&&typeof $==="string")K=Z.localeCompare($);else if(typeof Z==="number"&&typeof $==="number")K=Z-$;else K=String(Z).localeCompare(String($));if(K!==0)return G.direction==="desc"?-K:K}return 0})}var w11,M11,dt;var cR0=y(()=>{c$();P1();ez();w11=uw,M11=mw(YW),dt=O6({name:"COLLECTION_GATEWAY_LIST",description:"List all MCP gateways in the organization",inputSchema:w11,outputSchema:M11,handler:async(Q,X)=>{await X.access.check();let Y=O1(X),J=Q.where&&!("conditions"in Q.where)&&Q.where.field.join(".")==="connection_id"&&Q.where.operator==="eq"&&typeof Q.where.value==="string"?Q.where.value:void 0,W=(J?await X.storage.gateways.listByConnectionId(Y.id,J):await X.storage.gateways.list(Y.id)).map((V)=>({id:V.id,title:V.title,description:V.description,icon:V.icon,is_default:V.isDefault,organization_id:V.organizationId,tool_selection_strategy:V.toolSelectionStrategy,tool_selection_mode:V.toolSelectionMode,status:V.status,connections:V.connections.map((q)=>({connection_id:q.connectionId,selected_tools:q.selectedTools,selected_resources:q.selectedResources,selected_prompts:q.selectedPrompts})),created_at:V.createdAt,updated_at:V.updatedAt,created_by:V.createdBy,updated_by:V.updatedBy??void 0}));if(Q.where)W=W.filter((V)=>Zv(V,Q.where));if(Q.orderBy&&Q.orderBy.length>0)W=L11(W,Q.orderBy);let Z=W.length,$=Q.offset??0,K=Q.limit??100,H=W.slice($,$+K),F=$+K<Z;return{items:H,totalCount:Z,hasMore:F}}})});var T11,P11,pt;var nR0=y(()=>{Z6();P1();ez();T11=N.object({id:N.string().describe("ID of the gateway to retrieve")}),P11=N.object({item:YW.nullable().describe("The retrieved gateway, or null if not found")}),pt=O6({name:"COLLECTION_GATEWAY_GET",description:"Get an MCP gateway by ID",inputSchema:T11,outputSchema:P11,handler:async(Q,X)=>{k6(X);let Y=O1(X);await X.access.check();let J=await X.storage.gateways.findById(Q.id);if(J&&J.organizationId!==Y.id)return{item:null};if(!J)return{item:null};return{item:{id:J.id,title:J.title,description:J.description,icon:J.icon,organization_id:J.organizationId,tool_selection_strategy:J.toolSelectionStrategy,tool_selection_mode:J.toolSelectionMode,status:J.status,is_default:J.isDefault,connections:J.connections.map((G)=>({connection_id:G.connectionId,selected_tools:G.selectedTools,selected_resources:G.selectedResources,selected_prompts:G.selectedPrompts})),created_at:J.createdAt,updated_at:J.updatedAt,created_by:J.createdBy,updated_by:J.updatedBy??void 0}}}})});var A11,E11,ct;var iR0=y(()=>{Z6();P1();ez();A11=N.object({id:N.string().describe("ID of the gateway to update"),data:dR0.describe("Partial gateway data to update")}),E11=N.object({item:YW.describe("The updated gateway entity")}),ct=O6({name:"COLLECTION_GATEWAY_UPDATE",description:"Update an MCP gateway",inputSchema:A11,outputSchema:E11,handler:async(Q,X)=>{k6(X);let Y=O1(X);await X.access.check();let J=o9(X);if(!J)throw Error("User ID required to update gateway");let G=await X.storage.gateways.findById(Q.id);if(!G)throw Error(`Gateway not found: ${Q.id}`);if(G.organizationId!==Y.id)throw Error(`Gateway not found: ${Q.id}`);let W={};if(Q.data.title!==void 0)W.title=Q.data.title;if(Q.data.description!==void 0)W.description=Q.data.description;if(Q.data.tool_selection_strategy!==void 0)W.toolSelectionStrategy=Q.data.tool_selection_strategy;if(Q.data.tool_selection_mode!==void 0)W.toolSelectionMode=Q.data.tool_selection_mode;if(Q.data.icon!==void 0)W.icon=Q.data.icon;if(Q.data.status!==void 0)W.status=Q.data.status;if(Q.data.is_default!==void 0)W.isDefault=Q.data.is_default;if(Q.data.connections!==void 0)W.connections=Q.data.connections.map(($)=>({connectionId:$.connection_id,selectedTools:$.selected_tools??null,selectedResources:$.selected_resources??null,selectedPrompts:$.selected_prompts??null}));let Z=await X.storage.gateways.update(Q.id,J,W);return{item:{id:Z.id,title:Z.title,description:Z.description,icon:Z.icon,organization_id:Z.organizationId,tool_selection_strategy:Z.toolSelectionStrategy,tool_selection_mode:Z.toolSelectionMode,status:Z.status,is_default:Z.isDefault,connections:Z.connections.map(($)=>({connection_id:$.connectionId,selected_tools:$.selectedTools,selected_resources:$.selectedResources,selected_prompts:$.selectedPrompts})),created_at:Z.createdAt,updated_at:Z.updatedAt,created_by:Z.createdBy,updated_by:Z.updatedBy??void 0}}}})});var j11,C11,nt;var aR0=y(()=>{Z6();P1();ez();j11=N.object({id:N.string().describe("ID of the gateway to delete")}),C11=N.object({item:YW.describe("The deleted gateway entity")}),nt=O6({name:"COLLECTION_GATEWAY_DELETE",description:"Delete an MCP gateway",inputSchema:j11,outputSchema:C11,handler:async(Q,X)=>{k6(X);let Y=O1(X);await X.access.check();let J=await X.storage.gateways.findById(Q.id);if(!J)throw Error(`Gateway not found: ${Q.id}`);if(J.organizationId!==Y.id)throw Error(`Gateway not found: ${Q.id}`);if(J.isDefault)throw Error("Cannot delete the default Hub. Set another Hub as default first.");return await X.storage.gateways.delete(Q.id),{item:{id:J.id,title:J.title,description:J.description,icon:J.icon,organization_id:J.organizationId,tool_selection_strategy:J.toolSelectionStrategy,tool_selection_mode:J.toolSelectionMode,status:J.status,is_default:J.isDefault,connections:J.connections.map((G)=>({connection_id:G.connectionId,selected_tools:G.selectedTools,selected_resources:G.selectedResources,selected_prompts:G.selectedPrompts})),created_at:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt,updated_at:J.updatedAt instanceof Date?J.updatedAt.toISOString():J.updatedAt,created_by:J.createdBy,updated_by:J.updatedBy??void 0}}}})});var rR0=y(()=>{pR0();cR0();nR0();iR0();aR0()});var R11,it;var oR0=y(()=>{P1();Z6();R11=N.object({id:N.string().optional().describe("Unique log identifier"),organizationId:N.string().describe("Organization ID"),connectionId:N.string().describe("Connection ID"),connectionTitle:N.string().describe("Connection display name"),toolName:N.string().describe("Name of the tool that was called"),input:N.record(N.string(),N.unknown()).describe("Redacted tool input"),output:N.record(N.string(),N.unknown()).describe("Redacted tool output"),isError:N.boolean().describe("Whether the call resulted in an error"),errorMessage:N.string().nullish().describe("Error message if applicable"),durationMs:N.number().describe("Call duration in milliseconds"),timestamp:N.string().describe("ISO 8601 timestamp of the call"),userId:N.string().nullish().describe("User who triggered the call"),requestId:N.string().describe("Unique request identifier"),userAgent:N.string().nullish().describe("Client identifier (x-mesh-client header)"),gatewayId:N.string().nullish().describe("Gateway ID if routed through a gateway"),properties:N.record(N.string(),N.string()).nullish().describe("Custom key-value metadata attached to the log")}),it=O6({name:"MONITORING_LOGS_LIST",description:"List monitoring logs for tool calls in the organization",inputSchema:N.object({connectionId:N.string().optional().describe("Filter by connection ID"),gatewayId:N.string().optional().describe("Filter by gateway ID"),toolName:N.string().optional().describe("Filter by tool name"),isError:N.boolean().optional().describe("Filter by error status"),startDate:N.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:N.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)"),limit:N.number().default(100).describe("Maximum number of results"),offset:N.number().default(0).describe("Offset for pagination"),properties:N.record(N.string(),N.string()).optional().describe("Filter by exact property key=value matches"),propertyKeys:N.array(N.string()).optional().describe("Filter by logs that have these property keys"),propertyPatterns:N.record(N.string(),N.string()).optional().describe("Filter by property value patterns (SQL LIKE, use % as wildcard)")}),outputSchema:N.object({logs:N.array(R11).describe("Array of monitoring logs"),total:N.number().describe("Total number of logs matching filters"),offset:N.number().describe("Current offset for pagination"),limit:N.number().describe("Current limit for pagination")}),handler:async(Q,X)=>{let Y=O1(X),G=Q.properties||Q.propertyKeys||Q.propertyPatterns?{properties:Q.properties,propertyKeys:Q.propertyKeys,propertyPatterns:Q.propertyPatterns}:void 0,W={organizationId:Y.id,connectionId:Q.connectionId,gatewayId:Q.gatewayId,toolName:Q.toolName,isError:Q.isError,startDate:Q.startDate?new Date(Q.startDate):void 0,endDate:Q.endDate?new Date(Q.endDate):void 0,limit:Q.limit,offset:Q.offset,propertyFilters:G},Z=await X.storage.monitoring.query(W);return{logs:Z.logs.map(($)=>({...$,timestamp:$.timestamp instanceof Date?$.timestamp.toISOString():$.timestamp})),total:Z.total,offset:Q.offset,limit:Q.limit}}})});var at;var sR0=y(()=>{P1();Z6();at=O6({name:"MONITORING_STATS",description:"Get aggregated statistics for tool call monitoring",inputSchema:N.object({startDate:N.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:N.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)")}),outputSchema:N.object({totalCalls:N.number().describe("Total number of tool calls"),errorRate:N.number().describe("Error rate as a decimal (0 to 1)"),avgDurationMs:N.number().describe("Average call duration in milliseconds"),errorRatePercent:N.string().describe("Error rate as a percentage string")}),handler:async(Q,X)=>{let J={organizationId:O1(X).id,startDate:Q.startDate?new Date(Q.startDate):void 0,endDate:Q.endDate?new Date(Q.endDate):void 0},G=await X.storage.monitoring.getStats(J);return{...G,errorRatePercent:(G.errorRate*100).toFixed(2)}}})});var tR0=y(()=>{oR0();sR0()});var rt;var eR0=y(()=>{Z6();P1();rt=O6({name:"ORGANIZATION_CREATE",description:"Create a new organization",inputSchema:N.object({slug:N.string().min(1).max(50).regex(/^[a-z0-9-]+$/,"Slug must be lowercase alphanumeric with hyphens"),name:N.string().min(1).max(255),description:N.string().optional()}),outputSchema:N.object({id:N.string(),name:N.string(),slug:N.string(),logo:N.string().nullable().optional(),metadata:N.any().optional(),createdAt:N.union([N.date(),N.string()]),members:N.array(N.any()).optional()}),handler:async(Q,X)=>{k6(X),await X.access.check();let Y=o9(X);if(!Y)throw Error("User ID required to create organization");let J=await X.boundAuth.organization.create({name:Q.name,slug:Q.slug,metadata:Q.description?{description:Q.description}:void 0,userId:Y});if(!J)throw Error("Failed to create organization");return J}})});var ot;var QS0=y(()=>{Z6();P1();ot=O6({name:"ORGANIZATION_LIST",description:"List all organizations user has access to",inputSchema:N.object({userId:N.string().optional()}),outputSchema:N.object({organizations:N.array(N.object({id:N.string(),name:N.string(),slug:N.string(),logo:N.string().nullable().optional(),metadata:N.any().optional(),createdAt:N.union([N.date(),N.string()])}))}),handler:async(Q,X)=>{k6(X),await X.access.check();let Y=o9(X),J=Q.userId||Y;if(!J)throw Error("User ID required to list organizations");return{organizations:await X.boundAuth.organization.list(J)}}})});var st;var XS0=y(()=>{Z6();P1();st=O6({name:"ORGANIZATION_GET",description:"Get organization details by slug or ID",inputSchema:N.object({}),outputSchema:N.object({id:N.string(),name:N.string(),slug:N.string(),logo:N.string().nullable().optional(),metadata:N.any().optional(),createdAt:N.union([N.date(),N.string()]),members:N.array(N.any()).optional(),invitations:N.array(N.any()).optional()}),handler:async(Q,X)=>{k6(X),await X.access.check();let Y=await X.boundAuth.organization.get();if(!Y)throw Error("No active organization found");return Y}})});var tt;var YS0=y(()=>{Z6();P1();tt=O6({name:"ORGANIZATION_UPDATE",description:"Update an existing organization",inputSchema:N.object({id:N.string(),slug:N.string().min(1).max(50).regex(/^[a-z0-9-]+$/).optional(),name:N.string().min(1).max(255).optional(),description:N.string().optional()}),outputSchema:N.object({id:N.string(),name:N.string(),slug:N.string(),logo:N.string().nullable().optional(),metadata:N.any().optional(),createdAt:N.union([N.date(),N.string()])}),handler:async(Q,X)=>{k6(X),await X.access.check();let Y={};if(Q.name)Y.name=Q.name;if(Q.slug)Y.slug=Q.slug;if(Q.description)Y.metadata={description:Q.description};let J=await X.boundAuth.organization.update({organizationId:Q.id,data:Y});if(!J)throw Error("Failed to update organization");return J}})});var et;var JS0=y(()=>{Z6();P1();et=O6({name:"ORGANIZATION_DELETE",description:"Delete an organization",inputSchema:N.object({id:N.string()}),outputSchema:N.object({success:N.boolean(),id:N.string()}),handler:async(Q,X)=>{return k6(X),await X.access.check(),await X.boundAuth.organization.delete(Q.id),{success:!0,id:Q.id}}})});var XM;var Qe=y(()=>{Z6();XM=N.object({title:N.string(),url:N.string(),icon:N.string()})});var Xe;var GS0=y(()=>{Z6();P1();Qe();Xe=O6({name:"ORGANIZATION_SETTINGS_GET",description:"Get organization-level settings",inputSchema:N.object({}),outputSchema:N.object({organizationId:N.string(),sidebar_items:N.array(XM).nullable().optional(),createdAt:N.union([N.date(),N.string()]).optional(),updatedAt:N.union([N.date(),N.string()]).optional()}),handler:async(Q,X)=>{k6(X),await X.access.check();let Y=X.organization?.id;if(!Y)throw Error("Organization ID required (no active organization in context)");let J=await X.storage.organizationSettings.get(Y);if(!J)return{organizationId:Y};return J}})});var Ye;var WS0=y(()=>{Z6();P1();Qe();Ye=O6({name:"ORGANIZATION_SETTINGS_UPDATE",description:"Update organization-level settings",inputSchema:N.object({organizationId:N.string(),sidebar_items:N.array(XM).optional()}),outputSchema:N.object({organizationId:N.string(),sidebar_items:N.array(XM).nullable().optional(),createdAt:N.union([N.date(),N.string()]),updatedAt:N.union([N.date(),N.string()])}),handler:async(Q,X)=>{if(k6(X),await X.access.check(),X.organization&&X.organization.id!==Q.organizationId)throw Error("Cannot update settings for a different organization");return await X.storage.organizationSettings.upsert(Q.organizationId,{sidebar_items:Q.sidebar_items})}})});var Je;var ZS0=y(()=>{Z6();P1();Je=O6({name:"ORGANIZATION_MEMBER_ADD",description:"Add a member to an organization",inputSchema:N.object({organizationId:N.string().optional(),userId:N.string(),role:N.array(N.string())}),outputSchema:N.object({id:N.string(),organizationId:N.string(),userId:N.string(),role:N.union([N.string(),N.array(N.string())]),createdAt:N.union([N.date(),N.string()])}),handler:async(Q,X)=>{k6(X),await X.access.check();let Y=Q.organizationId||X.organization?.id;if(!Y)throw Error("Organization ID required (no active organization in context)");let J=await X.boundAuth.organization.addMember({organizationId:Y,userId:Q.userId,role:Q.role});if(!J)throw Error("Failed to add member");return J}})});var Ge;var $S0=y(()=>{Z6();P1();Ge=O6({name:"ORGANIZATION_MEMBER_REMOVE",description:"Remove a member from an organization",inputSchema:N.object({organizationId:N.string().optional(),memberIdOrEmail:N.string()}),outputSchema:N.object({success:N.boolean(),memberIdOrEmail:N.string()}),handler:async(Q,X)=>{k6(X),await X.access.check();let Y=Q.organizationId||X.organization?.id;if(!Y)throw Error("Organization ID required (no active organization in context)");return await X.boundAuth.organization.removeMember({organizationId:Y,memberIdOrEmail:Q.memberIdOrEmail}),{success:!0,memberIdOrEmail:Q.memberIdOrEmail}}})});var We;var KS0=y(()=>{Z6();P1();We=O6({name:"ORGANIZATION_MEMBER_LIST",description:"List all members in an organization",inputSchema:N.object({limit:N.number().optional(),offset:N.number().optional()}),outputSchema:N.object({members:N.array(N.object({id:N.string(),organizationId:N.string(),userId:N.string(),role:N.string(),createdAt:N.union([N.date(),N.string()]),user:N.object({id:N.string(),name:N.string(),email:N.string(),image:N.string().optional()}).optional()}))}),handler:async(Q,X)=>{k6(X),await X.access.check();let Y=X.organization?.id;if(!Y)throw Error("Organization ID required (no active organization in context)");let J=await X.boundAuth.organization.listMembers({organizationId:Y,limit:Q.limit,offset:Q.offset});return{members:Array.isArray(J)?J:[]}}})});var Ze;var HS0=y(()=>{Z6();P1();Ze=O6({name:"ORGANIZATION_MEMBER_UPDATE_ROLE",description:"Update a member's role in an organization",inputSchema:N.object({organizationId:N.string().optional(),memberId:N.string(),role:N.array(N.string())}),outputSchema:N.object({id:N.string(),organizationId:N.string(),userId:N.string(),role:N.union([N.literal("admin"),N.literal("member"),N.literal("owner")]),createdAt:N.union([N.date(),N.string()]),user:N.object({email:N.string(),name:N.string(),image:N.string().optional()})}),handler:async(Q,X)=>{k6(X),await X.access.check();let Y=Q.organizationId||X.organization?.id;if(!Y)throw Error("Organization ID required (no active organization in context)");let J=await X.boundAuth.organization.updateMemberRole({organizationId:Y,memberId:Q.memberId,role:Q.role});if(!J)throw Error("Failed to update member role");return J}})});var FS0=y(()=>{eR0();QS0();XS0();YS0();JS0();GS0();WS0();ZS0();$S0();KS0();HS0()});var v11,_11,$e;var VS0=y(()=>{Z6();P1();v11=N.object({id:N.string().min(1)}),_11=N.object({user:N.object({id:N.string(),name:N.string(),email:N.string(),image:N.string().nullable()}).nullable()}),$e=O6({name:"USER_GET",description:"Get a user by id (restricted to shared organizations)",inputSchema:v11,outputSchema:_11,handler:async(Q,X)=>{await X.access.check(),k6(X);let Y=o9(X);if(!Y)throw Error("Authentication required");let J=await X.storage.users.findById(Q.id,Y);if(!J)return{user:null};return{user:{id:J.id,name:J.name,email:J.email,image:J.image??null}}}})});var qS0=y(()=>{VS0()});var US0={};q1(US0,{managementMCP:()=>Ke,ALL_TOOLS:()=>zS0});var zS0,Ke=(Q)=>{let X=zS0.map((J)=>({name:J.name,description:J.description,inputSchema:J.inputSchema,outputSchema:J.outputSchema,handler:async(G)=>{return Q.access.setToolName(J.name),await J.execute(G,Q)}}));return jj0({name:"mcp-mesh-management",version:"1.0.0"}).withTools(X).build()};var He=y(()=>{Cj0();fI0();CR0();kR0();mR0();rR0();tR0();FS0();qS0();zS0=[rt,ot,st,tt,et,Xe,Ye,Je,Ge,We,Ze,Jt,Et,jt,Rt,St,kt,mt,dt,pt,ct,nt,SR0,it,at,es,Xt,Yt,Qt,vt,_t,yt,bt,ft,ht,xt,$e]});function b11(){return[{permissions:{self:["*"]},getTools:async()=>{let{ALL_TOOLS:Q}=await Promise.resolve().then(() => (He(),US0));return Q.map((X)=>{return{name:X.name,inputSchema:N.toJSONSchema(X.inputSchema,{unrepresentable:"any"}),outputSchema:X.outputSchema?N.toJSONSchema(X.outputSchema,{unrepresentable:"any"}):void 0,description:X.description}})},data:YL0(process.env.BASE_URL||"http://localhost:3000")},{data:XL0()}]}async function BS0(Q,X){try{let Y=Z3(),J=new PL(process.env.ENCRYPTION_KEY||""),G=new AL(Y.db,J),W=new EL(Y.db),Z=b11(),$=[];await Promise.all(Z.map(async(K)=>{let H=null;if(K.permissions)H=(await k5.api.createApiKey({body:{name:`${K.data.app_name??crypto.randomUUID()}-mcp`,userId:X,permissions:K.permissions,rateLimitEnabled:!1,metadata:{organization:{id:Q},purpose:"default-org-connections"}}}))?.key;let F=await K.getTools?.()??await xz({id:"pending",title:K.data.title,connection_type:K.data.connection_type,connection_url:K.data.connection_url,connection_token:K.data.connection_token,connection_headers:K.data.connection_headers}).catch(()=>null),V=K.data.id?`${Q}_${K.data.id}`:void 0,q=await G.create({...K.data,id:V,tools:F,organization_id:Q,created_by:X,connection_token:K.data.connection_token??H});$.push(q.id)})),await W.create(Q,X,{title:"Default Hub",description:"Auto-created Hub for organization",toolSelectionStrategy:"passthrough",toolSelectionMode:"exclusion",status:"active",isDefault:!0,connections:$.map((K)=>({connectionId:K}))})}catch(Y){console.error("Error creating default MCP connections:",Y)}}var DS0=y(()=>{$3();wL();Ga();Wa();Za();uk();Z6();QU()});var Fe,NS0;var Ve=y(()=>{Fe=["owner","admin","user"],NS0=["owner","admin"]});var f11=(Q)=>{return{defaultSSO:[{domain:Q.domain,providerId:Q.providerId,oidcConfig:{issuer:`https://login.microsoftonline.com/${Q.MS_TENANT_ID}/v2.0`,pkce:!0,clientId:Q.MS_CLIENT_ID,clientSecret:Q.MS_CLIENT_SECRET,discoveryEndpoint:`https://login.microsoftonline.com/${Q.MS_TENANT_ID}/v2.0/.well-known/openid-configuration`,authorizationEndpoint:`https://login.microsoftonline.com/${Q.MS_TENANT_ID}/oauth2/v2.0/authorize`,tokenEndpoint:`https://login.microsoftonline.com/${Q.MS_TENANT_ID}/oauth2/v2.0/token`,jwksEndpoint:`https://login.microsoftonline.com/${Q.MS_TENANT_ID}/discovery/v2.0/keys`,userInfoEndpoint:"https://graph.microsoft.com/oidc/userinfo",tokenEndpointAuthentication:"client_secret_post",scopes:Q.scopes,mapping:{id:"sub",email:"email",emailVerified:"email_verified",name:"name",image:"picture",extraFields:{emailVerified:"email_verified"}}}}]}},OS0=(Q)=>{if(Q.providerId==="microsoft")return f11(Q);throw Error(`Unsupported provider: ${Q.providerId}`)};function h11(Q){return Q.toLowerCase().trim().replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function x11(){let Q=Math.floor(Math.random()*wS0.length),X=Math.floor(Math.random()*LS0.length),Y=wS0[Q]??"deco",J=LS0[X]??"studio";return`${Y}-${J}`}var LS0,wS0,g11,u11,$v,m11,l11,d11,MS0,o8,TS0=void 0,p11,c11,n11,k5;var QU=y(()=>{Gl();bz0();MB0();cc();Di();zD0();Ni();wD0();wL();Ja();tO0();DS0();Ve();LS0=["labs","hub","studio","workspace","systems","core","cloud","works"],wS0=["capybara","guarana","deco","samba","feijoada","capoeira","carnival"];g11=Object.values(PN()).map((Q)=>Q.map((X)=>X.name)).flat(),u11={...MR,self:["*",...g11]},$v=pG(u11),m11=$v.newRole({self:["*"],...XL.statements}),l11=$v.newRole({self:["*"],...XL.statements}),d11=$v.newRole({self:["*"],...XL.statements}),MS0=Object.values(PN()).map((Q)=>Q.map((X)=>`self:${X.name}`)).flat(),o8=hR.auth;if(o8.inviteEmailProviderId&&o8.emailProviders&&o8.emailProviders.length>0){let Q=oR(o8.emailProviders,o8.inviteEmailProviderId);if(Q){let X=rR(Q);TS0=async(Y)=>{let J=Y.inviter.user?.name||Y.inviter.user?.email,G=`${process.env.BASE_URL||"http://localhost:3000"}/auth/accept-invitation?invitationId=${Y.invitation.id}`;await X({to:Y.email,subject:`Invitation to join ${Y.organization.name}`,html:`
990
990
  <h2>You've been invited!</h2>
991
991
  <p>${J} has invited you to join <strong>${Y.organization.name}</strong>.</p>
992
992
  <p><a href="${G}">Click here to accept the invitation</a></p>
@@ -1053,14 +1053,14 @@ ${Q.stack}`;return X}if(typeof Q==="object"&&Q!==null){let X=Q,Y="";if(typeof X.
1053
1053
  ${X.stack}`;return Y}try{let G=JSON.stringify(X,null,2);if(G!=="{}"&&G.length<1000){if(typeof X.stack==="string"&&X.stack&&X.stack.length<2000)return`${G}
1054
1054
 
1055
1055
  Stack trace:
1056
- ${X.stack}`;return G}}catch{}if(typeof X.toString==="function")try{let G=X.toString();if(G!=="[object Object]")return G}catch{}let J=Object.keys(X);if(J.length>0)return`Object with keys: ${J.join(", ")}`;return"[object Object]"}if(typeof Q==="string")return Q;if(typeof Q==="number"||typeof Q==="boolean")return String(Q);if(typeof Q==="function")return`[Function: ${Q.name||"anon"}]`;if(typeof Q==="symbol")return Q.toString();if(typeof Q==="bigint")return Q.toString();try{return String(Q)}catch{return"Unknown value (could not convert to string)"}}function VB(Q,X){switch(typeof X){case"string":return Q.newString(X);case"number":return Q.newNumber(X);case"boolean":return X?Q.true:Q.false;case"undefined":return Q.undefined;case"object":{if(X===null)return Q.null;if(Array.isArray(X)){let J=Q.newArray();return X.forEach((G,W)=>{let Z=VB(Q,G);try{Q.setProp(J,String(W),Z)}finally{Z.dispose?.()}}),J}let Y=Q.newObject();for(let[J,G]of Object.entries(X)){let W=VB(Q,G);try{Q.setProp(Y,J,W)}finally{W.dispose?.()}}return Y}case"function":{let Y=`__hostFn_${Date.now()}_${Math.random().toString(36).substr(2,9)}`;return Q.newFunction(Y,(...G)=>{try{let W=G.map(($)=>Q.dump($)),Z=X(...W);if(Z&&typeof Z.then==="function"){let $=Q.newPromise();return Z.then((K)=>{try{let H=VB(Q,K);$.resolve(H),H.dispose(),Q.runtime.executePendingJobs()}catch(H){let F=FB(H),V=Q.newString(`Promise resolution error: ${F}`);$.reject(V),V.dispose(),Q.runtime.executePendingJobs()}}).catch((K)=>{let H=FB(K),F=Q.newString(`Promise rejection: ${H}`);$.reject(F),F.dispose(),Q.runtime.executePendingJobs()}),$.handle}return VB(Q,Z)}catch(W){let Z=FB(W);return Q.newString(`HostFunctionError: ${Z}`)}finally{G.forEach((W)=>W.dispose())}})}case"bigint":return Q.newString(X.toString());case"symbol":return Q.newString(X.toString());default:try{return Q.newString(String(X))}catch{return Q.undefined}}}var D76=()=>{};function O76(Q){let X=Q.runtime.executePendingJobs(100);try{if("unwrap"in X&&typeof X.unwrap==="function")X.unwrap()}finally{if("dispose"in X&&typeof X.dispose==="function")X.dispose()}}async function N76(Q,X,Y){let J=Date.now(),G=Q.resolvePromise(X);while(!0){O76(Q);let W=await Promise.race([G,cb1(0).then(()=>null)]);if(W!==null)return W;if(Date.now()-J>Y)throw Error(`Timed out after ${Y}ms while awaiting a QuickJS promise`)}}async function P90({tools:Q,code:X,timeoutMs:Y}){let Z=[];try{let J=await U76({memoryLimitBytes:33554432,stackSizeBytes:524288});const G=Yf(Z,J.newContext({interruptAfterMs:Y}),0);const W=Yf(Z,bW6(G),0);try{let F=G.evalCode(X,"index.mjs",{strip:!0,strict:!0,type:"module"}),V=G.unwrapResult(F),q=VB(G,Q);G.setProp(G.global,"tools",q);let U=G.runtime.hasPendingJob()?G.unwrapResult(await N76(G,V,Y)):V;if(U!==V)V.dispose();let D=G.getProp(U,"default"),B=G.typeof(D);if(B!=="function")return{error:`Code must export default a function (tools). Got ${B}. Example: export default async (tools) => { /* ... */ }`,consoleLogs:W.logs};let L=G.callFunction(D,G.undefined,q),M=G.unwrapResult(L),C=await N76(G,M,Y),E=G.unwrapResult(C);if(G.runtime.hasPendingJob())O76(G);return{returnValue:G.dump(E),consoleLogs:W.logs}}catch(F){return console.log(F),{error:FB(F),consoleLogs:W.logs}}}catch($){var K=$,H=1}finally{zX0(Z,K,H)}}var cb1=(Q)=>new Promise((X)=>setTimeout(X,Q));var L76=y(()=>{B76();D76()});var w76=y(()=>{L76()});function nb1(Q){return Q.toLowerCase().split(/[\s_\-./]+/).filter((X)=>X.length>=2)}function ib1(Q,X){let Y=0,J=X.name.toLowerCase(),G=(X.description??"").toLowerCase(),W=X._meta.connectionTitle.toLowerCase();for(let Z of Q){if(J===Z)Y+=10;else if(J.includes(Z))Y+=3;if(G.includes(Z))Y+=2;if(W.includes(Z))Y+=1}return Y}function ab1(Q,X,Y){let J=nb1(Q);if(J.length===0)return X.slice(0,Y);return X.map((G)=>({tool:G,score:ib1(J,G)})).filter((G)=>G.score>0).sort((G,W)=>W.score-G.score).slice(0,Y).map((G)=>G.tool)}function A90(Q){return{content:[{type:"text",text:JSON.stringify(Q,null,2)}]}}function QP(Q){return{content:[{type:"text",text:JSON.stringify(Q,null,2)}],isError:!0}}function M76(Q){let X=N.object({query:N.string().describe("Natural language search query (e.g., 'send email', 'create order')"),limit:N.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.${Q.categories.length>0?` Available categories: ${Q.categories.join(", ")}.`:""} Total tools: ${Q.tools.length}.`,inputSchema:N.toJSONSchema(X)},handler:async(J)=>{let G=X.safeParse(J);if(!G.success)return QP({error:G.error.flatten()});let W=ab1(G.data.query,Q.tools,G.data.limit);return A90({query:G.data.query,results:W.map((Z)=>({name:Z.name,description:Z.description,connection:Z._meta.connectionTitle})),totalAvailable:Q.tools.length})}}}function T76(Q){let X=N.object({tools:N.array(N.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:N.toJSONSchema(X)},handler:async(Y)=>{let J=X.safeParse(Y);if(!J.success)return QP({error:J.error.flatten()});let G=new Map(Q.tools.map((Z)=>[Z.name,Z])),W=J.data.tools.map((Z)=>G.get(Z)).filter((Z)=>Z!==void 0);return A90({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 rb1(Q){let X=Q.tools.map((G)=>G.name),Y=new Map(Q.tools.map((G)=>[G.name,G])),J=N.object({name:N.enum(X).describe("The name of the tool to execute"),arguments:N.record(N.string(),N.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:N.toJSONSchema(J)},handler:async(G)=>{let W=J.safeParse(G);if(!W.success)return QP({error:W.error.flatten()});let{name:Z,arguments:$}=W.data;if(!Y.has(Z))return{content:[{type:"text",text:`Tool not found: ${Z}. Use GATEWAY_SEARCH_TOOLS to find available tools.`}],isError:!0};return Q.callTool(Z,$)}}}function ob1(Q){let X=N.object({code:N.string().min(1).describe("JavaScript code to execute. It runs as an async function body; you can use top-level `return` and `await`."),timeoutMs:N.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:N.toJSONSchema(X)},handler:async(Y)=>{let J=X.safeParse(Y);if(!J.success)return QP({error:J.error.flatten()});let G=Object.fromEntries(Q.tools.map((Z)=>[Z.name,async($)=>Q.callTool(Z.name,$??{})])),W=await P90({...J.data,tools:G});if(W.error)return QP(W);return A90(W)}}}function P76(Q){let X=new Map(Q.map((J)=>[J.tool.name,J.handler])),Y=Q.map((J)=>J.tool.name);return{tools:Q.map((J)=>J.tool),callTool:async(J,G)=>{let W=X.get(J);if(!W)return{content:[{type:"text",text:`Unknown meta-tool: ${J}. Available: ${Y.join(", ")}`}],isError:!0};return W(G)}}}function A76(Q){switch(Q){case"smart_tool_selection":return eb1;case"code_execution":return tb1;case"passthrough":default:return sb1}}var sb1=(Q)=>({tools:Q.tools,callTool:(X,Y)=>Q.callTool(X,Y)}),tb1=(Q)=>P76([M76(Q),T76(Q),ob1(Q)]),eb1=(Q)=>P76([M76(Q),T76(Q),rb1(Q)]);var E76=y(()=>{Z6();w76()});class yb{proxies;options;cache;constructor(Q,X){this.proxies=Q;this.options=X;this.cache=AW(()=>this.loadTools())}async loadTools(){let Q=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((U)=>!q.has(U.name))}}else if(K.selectedTools&&K.selectedTools.length>0){let q=new Set(K.selectedTools);V=V.filter((U)=>q.has(U.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}}),X=new Set,Y=[],J=new Map,G=new Set;for(let K of Q){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(X.has(q.name))continue;X.add(q.name),Y.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})},$=A76(this.options.strategy)({tools:Y,callTool:W,categories:Array.from(G).sort()});return{tools:Y,mappings:J,strategyResult:$}}async list(){return{tools:(await this.cache).strategyResult.tools}}async call(Q){return(await this.cache).strategyResult.callTool(Q.name,Q.arguments??{})}async callStreamable(Q,X){let Y=await this.cache,J=Y.mappings.get(Q);if(J){let W=this.proxies.get(J.connectionId);if(W)return W.proxy.callStreamableTool(J.originalName,X)}let G=await Y.strategyResult.callTool(Q,X);return new Response(JSON.stringify(G),{headers:{"Content-Type":"application/json"}})}}var j76=y(()=>{E76()});function Qf1(Q,X){if(Q===X)return!0;if(!X.includes("*"))return!1;let Y=X.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*\*/g,"<<<DOUBLE_STAR>>>").replace(/\*/g,"[^/]*").replace(/<<<DOUBLE_STAR>>>/g,".*");Y=`^${Y}$`;try{return new RegExp(Y).test(Q)}catch{return!1}}function C76(Q,X){return X.some((Y)=>Qf1(Q,Y))}class bb{proxies;options;cache;constructor(Q,X){this.proxies=Q;this.options=X;this.cache=AW(()=>this.loadResources())}async loadResources(){let Q=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)=>!C76(K.uri,G.selectedResources))}else if(!G.selectedResources||G.selectedResources.length===0)$=[];else $=$.filter((K)=>C76(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:[]}}}),X=new Set,Y=[],J=new Map;for(let G of Q){if(G.status!=="fulfilled")continue;let{connectionId:W,resources:Z}=G.value;for(let $ of Z){if(X.has($.uri))continue;X.add($.uri),Y.push($),J.set($.uri,W)}}return{resources:Y,mappings:J}}async list(){return{resources:(await this.cache).resources}}async read(Q){let Y=(await this.cache).mappings.get(Q.uri);if(!Y)throw Error(`Resource not found: ${Q.uri}`);let J=this.proxies.get(Y);if(!J)throw Error(`Connection not found for resource: ${Q.uri}`);return await J.proxy.client.readResource(Q)}}var I76=()=>{};class fb{proxies;cache;constructor(Q){this.proxies=Q;this.cache=AW(()=>this.loadResourceTemplates())}async loadResourceTemplates(){let Q=await this.proxies.mapSettled(async(Y,J)=>{try{let G=await Y.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:[]}}}),X=[];for(let Y of Q){if(Y.status!=="fulfilled")continue;let{templates:J}=Y.value;for(let G of J)X.push(G)}return{templates:X}}async list(){return{resourceTemplates:(await this.cache).templates}}}var R76=()=>{};class hb{proxies;options;cache;constructor(Q,X){this.proxies=Q;this.options=X;this.cache=AW(()=>this.loadPrompts())}async loadPrompts(){let Q=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:[]}}}),X=new Set,Y=[],J=new Map;for(let G of Q){if(G.status!=="fulfilled")continue;let{connectionId:W,prompts:Z}=G.value;for(let $ of Z){if(X.has($.name))continue;X.add($.name),Y.push($),J.set($.name,W)}}return{prompts:Y,mappings:J}}async list(){return{prompts:(await this.cache).prompts}}async get(Q){let Y=(await this.cache).mappings.get(Q.name);if(!Y)throw Error(`Prompt not found: ${Q.name}`);let J=this.proxies.get(Y);if(!J)throw Error(`Connection not found for prompt: ${Q.name}`);return await J.proxy.client.getPrompt(Q)}}var S76=()=>{};var k76=y(()=>{j76();I76();R76();S76()});async function Xf1(Q,X){let Y=await tT.create(Q.connections,X),J=new yb(Y,{selectionMode:Q.toolSelectionMode,strategy:Q.toolSelectionStrategy}),G=new bb(Y,{selectionMode:Q.toolSelectionMode}),W=new fb(Y),Z=new hb(Y,{selectionMode:Q.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 Yf1(Q,X){let Y;if(Q.toolSelectionMode==="exclusion"){let W=(await X.storage.connections.list(Q.organizationId)).filter(($)=>$.status==="active"),Z=new Map;for(let $ of Q.connections)Z.set($.connectionId,{selectedTools:$.selectedTools,selectedResources:$.selectedResources,selectedPrompts:$.selectedPrompts});Y=[];for(let $ of W){let K=Z.get($.id);if(K===void 0)Y.push({connection:$,selectedTools:null,selectedResources:null,selectedPrompts:null});else if((K.selectedTools===null||K.selectedTools.length===0)&&(K.selectedResources===null||K.selectedResources.length===0)&&(K.selectedPrompts===null||K.selectedPrompts.length===0));else Y.push({connection:$,selectedTools:K.selectedTools,selectedResources:K.selectedResources,selectedPrompts:K.selectedPrompts})}}else{let G=Q.connections.map((Z)=>Z.connectionId),W=[];for(let Z of G){let $=await X.storage.connections.findById(Z);if($&&$.status==="active")W.push($)}Y=W.map((Z)=>{let $=Q.connections.find((K)=>K.connectionId===Z.id);return{connection:Z,selectedTools:$?.selectedTools??null,selectedResources:$?.selectedResources??null,selectedPrompts:$?.selectedPrompts??null}})}let J={connections:Y,toolSelectionMode:Q.toolSelectionMode,toolSelectionStrategy:Q.toolSelectionStrategy};return Xf1(J,X)}var v76,_76;var y76=y(()=>{mk();lk();a9();LK();k76();v76=new yX;v76.all("/gateway/:gatewayId?",async(Q)=>{let X=Q.req.param("gatewayId"),Y=Q.get("meshContext");try{let J=null;if(X)J=await Y.storage.gateways.findById(X);else{let K=Q.req.header("x-org-id"),H=Q.req.header("x-org-slug");if(K)J=await Y.storage.gateways.getDefaultByOrgId(K);else if(H)J=await Y.storage.gateways.getDefaultByOrgSlug(H);else return Q.json({error:"Gateway ID required, or provide x-org-id or x-org-slug header for default gateway"},400)}if(!J){if(X)return Q.json({error:`Gateway not found: ${X}`},404);return Q.json({error:"No default gateway configured for this organization"},404)}if(Y.gatewayId=J.id,J.status!=="active")return Q.json({error:`Gateway is inactive: ${J.id}`},503);let G=await Y.db.selectFrom("organization").select(["id","slug","name"]).where("id","=",J.organizationId).executeTakeFirst();if(G)Y.organization={id:G.id,slug:G.slug,name:G.name};let W=await Yf1(J,Y),Z=new T3({name:`mcp-gateway-${J.title}`,version:"1.0.0"},{capabilities:{tools:{},resources:{},prompts:{}}}),$=new P3({enableJsonResponse:Q.req.header("Accept")?.includes("application/json")??!1});return await Z.connect($),Z.server.setRequestHandler(_$,async(K)=>{return W.client.listTools()}),Z.server.setRequestHandler(tG,async(K)=>{return await W.client.callTool(K.params)}),Z.server.setRequestHandler(I$,async()=>{return W.client.listResources()}),Z.server.setRequestHandler(S$,async(K)=>{return W.client.readResource(K.params)}),Z.server.setRequestHandler(R$,async()=>{return W.client.listResourceTemplates()}),Z.server.setRequestHandler(k$,async()=>{return W.client.listPrompts()}),Z.server.setRequestHandler(v$,async(K)=>{return W.client.getPrompt(K.params)}),await $.handleRequest(Q.req.raw)}catch(J){let G=J;return console.error("[gateway] Error handling gateway request:",G),Q.json({error:"Internal server error",message:G.message},500)}});_76=v76});var b76,f76;var h76=y(()=>{LK();He();b76=new yX;b76.all("/",async(Q)=>{return Ke(Q.get("meshContext")).fetch(Q.req.raw)});f76=b76});function r5(Q){if(Q==null)return"unknown error";if(typeof Q==="string")return Q;if(Q instanceof Error)return Q.message;return JSON.stringify(Q)}var qZ6="vercel.ai.error",Jf1,x76,g76,P6,zZ6="AI_APICallError",UZ6,Gf1,u76,m76,YQ,BZ6="AI_EmptyResponseBodyError",DZ6,Wf1,l76,d76,NZ6,OZ6="AI_InvalidArgumentError",LZ6,Zf1,p76,c76,wZ6,MZ6="AI_InvalidPromptError",TZ6,$f1,n76,i76,CF,PZ6="AI_InvalidResponseDataError",AZ6,Kf1,a76,r76,_n4,EZ6="AI_JSONParseError",jZ6,Hf1,o76,s76,XP,CZ6="AI_LoadAPIKeyError",IZ6,Ff1,t76,e76,yn4,RZ6="AI_LoadSettingError",SZ6,Vf1,QZ6,XZ6,bn4,kZ6="AI_NoContentGeneratedError",vZ6,qf1,YZ6,JZ6,fn4,_Z6="AI_NoSuchModelError",yZ6,zf1,GZ6,WZ6,hn4,bZ6="AI_TooManyEmbeddingValuesForCallError",fZ6,Uf1,ZZ6,$Z6,xn4,hZ6="AI_TypeValidationError",xZ6,Bf1,KZ6,HZ6,o5,gZ6="AI_UnsupportedFunctionalityError",uZ6,Df1,FZ6,VZ6,gn4;var S4=y(()=>{Jf1=Symbol.for(qZ6),P6=class Q extends(g76=Error,x76=Jf1,g76){constructor({name:X,message:Y,cause:J}){super(Y);this[x76]=!0,this.name=X,this.cause=J}static isInstance(X){return Q.hasMarker(X,qZ6)}static hasMarker(X,Y){let J=Symbol.for(Y);return X!=null&&typeof X==="object"&&J in X&&typeof X[J]==="boolean"&&X[J]===!0}},UZ6=`vercel.ai.error.${zZ6}`,Gf1=Symbol.for(UZ6),YQ=class extends(m76=P6,u76=Gf1,m76){constructor({message:Q,url:X,requestBodyValues:Y,statusCode:J,responseHeaders:G,responseBody:W,cause:Z,isRetryable:$=J!=null&&(J===408||J===409||J===429||J>=500),data:K}){super({name:zZ6,message:Q,cause:Z});this[u76]=!0,this.url=X,this.requestBodyValues=Y,this.statusCode=J,this.responseHeaders=G,this.responseBody=W,this.isRetryable=$,this.data=K}static isInstance(Q){return P6.hasMarker(Q,UZ6)}},DZ6=`vercel.ai.error.${BZ6}`,Wf1=Symbol.for(DZ6),NZ6=class extends(d76=P6,l76=Wf1,d76){constructor({message:Q="Empty response body"}={}){super({name:BZ6,message:Q});this[l76]=!0}static isInstance(Q){return P6.hasMarker(Q,DZ6)}};LZ6=`vercel.ai.error.${OZ6}`,Zf1=Symbol.for(LZ6),wZ6=class extends(c76=P6,p76=Zf1,c76){constructor({message:Q,cause:X,argument:Y}){super({name:OZ6,message:Q,cause:X});this[p76]=!0,this.argument=Y}static isInstance(Q){return P6.hasMarker(Q,LZ6)}},TZ6=`vercel.ai.error.${MZ6}`,$f1=Symbol.for(TZ6),CF=class extends(i76=P6,n76=$f1,i76){constructor({prompt:Q,message:X,cause:Y}){super({name:MZ6,message:`Invalid prompt: ${X}`,cause:Y});this[n76]=!0,this.prompt=Q}static isInstance(Q){return P6.hasMarker(Q,TZ6)}},AZ6=`vercel.ai.error.${PZ6}`,Kf1=Symbol.for(AZ6),_n4=class extends(r76=P6,a76=Kf1,r76){constructor({data:Q,message:X=`Invalid response data: ${JSON.stringify(Q)}.`}){super({name:PZ6,message:X});this[a76]=!0,this.data=Q}static isInstance(Q){return P6.hasMarker(Q,AZ6)}},jZ6=`vercel.ai.error.${EZ6}`,Hf1=Symbol.for(jZ6),XP=class extends(s76=P6,o76=Hf1,s76){constructor({text:Q,cause:X}){super({name:EZ6,message:`JSON parsing failed: Text: ${Q}.
1056
+ ${X.stack}`;return G}}catch{}if(typeof X.toString==="function")try{let G=X.toString();if(G!=="[object Object]")return G}catch{}let J=Object.keys(X);if(J.length>0)return`Object with keys: ${J.join(", ")}`;return"[object Object]"}if(typeof Q==="string")return Q;if(typeof Q==="number"||typeof Q==="boolean")return String(Q);if(typeof Q==="function")return`[Function: ${Q.name||"anon"}]`;if(typeof Q==="symbol")return Q.toString();if(typeof Q==="bigint")return Q.toString();try{return String(Q)}catch{return"Unknown value (could not convert to string)"}}function VB(Q,X){switch(typeof X){case"string":return Q.newString(X);case"number":return Q.newNumber(X);case"boolean":return X?Q.true:Q.false;case"undefined":return Q.undefined;case"object":{if(X===null)return Q.null;if(Array.isArray(X)){let J=Q.newArray();return X.forEach((G,W)=>{let Z=VB(Q,G);try{Q.setProp(J,String(W),Z)}finally{Z.dispose?.()}}),J}let Y=Q.newObject();for(let[J,G]of Object.entries(X)){let W=VB(Q,G);try{Q.setProp(Y,J,W)}finally{W.dispose?.()}}return Y}case"function":{let Y=`__hostFn_${Date.now()}_${Math.random().toString(36).substr(2,9)}`;return Q.newFunction(Y,(...G)=>{try{let W=G.map(($)=>Q.dump($)),Z=X(...W);if(Z&&typeof Z.then==="function"){let $=Q.newPromise();return Z.then((K)=>{try{let H=VB(Q,K);$.resolve(H),H.dispose(),Q.runtime.executePendingJobs()}catch(H){let F=FB(H),V=Q.newString(`Promise resolution error: ${F}`);$.reject(V),V.dispose(),Q.runtime.executePendingJobs()}}).catch((K)=>{let H=FB(K),F=Q.newString(`Promise rejection: ${H}`);$.reject(F),F.dispose(),Q.runtime.executePendingJobs()}),$.handle}return VB(Q,Z)}catch(W){let Z=FB(W);return Q.newString(`HostFunctionError: ${Z}`)}finally{G.forEach((W)=>W.dispose())}})}case"bigint":return Q.newString(X.toString());case"symbol":return Q.newString(X.toString());default:try{return Q.newString(String(X))}catch{return Q.undefined}}}var D76=()=>{};function O76(Q){let X=Q.runtime.executePendingJobs(100);try{if("unwrap"in X&&typeof X.unwrap==="function")X.unwrap()}finally{if("dispose"in X&&typeof X.dispose==="function")X.dispose()}}async function N76(Q,X,Y){let J=Date.now(),G=Q.resolvePromise(X);while(!0){O76(Q);let W=await Promise.race([G,cb1(0).then(()=>null)]);if(W!==null)return W;if(Date.now()-J>Y)throw Error(`Timed out after ${Y}ms while awaiting a QuickJS promise`)}}async function P90({tools:Q,code:X,timeoutMs:Y}){let Z=[];try{let J=await U76({memoryLimitBytes:33554432,stackSizeBytes:524288});const G=Yf(Z,J.newContext({interruptAfterMs:Y}),0);const W=Yf(Z,bW6(G),0);try{let F=G.evalCode(X,"index.mjs",{strip:!0,strict:!0,type:"module"}),V=G.unwrapResult(F),q=VB(G,Q);G.setProp(G.global,"tools",q);let U=G.runtime.hasPendingJob()?G.unwrapResult(await N76(G,V,Y)):V;if(U!==V)V.dispose();let D=G.getProp(U,"default"),B=G.typeof(D);if(B!=="function")return{error:`Code must export default a function (tools). Got ${B}. Example: export default async (tools) => { /* ... */ }`,consoleLogs:W.logs};let L=G.callFunction(D,G.undefined,q),M=G.unwrapResult(L),C=await N76(G,M,Y),E=G.unwrapResult(C);if(G.runtime.hasPendingJob())O76(G);return{returnValue:G.dump(E),consoleLogs:W.logs}}catch(F){return console.log(F),{error:FB(F),consoleLogs:W.logs}}}catch($){var K=$,H=1}finally{zX0(Z,K,H)}}var cb1=(Q)=>new Promise((X)=>setTimeout(X,Q));var L76=y(()=>{B76();D76()});var w76=y(()=>{L76()});function nb1(Q){return Q.toLowerCase().split(/[\s_\-./]+/).filter((X)=>X.length>=2)}function ib1(Q,X){let Y=0,J=X.name.toLowerCase(),G=(X.description??"").toLowerCase(),W=X._meta.connectionTitle.toLowerCase();for(let Z of Q){if(J===Z)Y+=10;else if(J.includes(Z))Y+=3;if(G.includes(Z))Y+=2;if(W.includes(Z))Y+=1}return Y}function ab1(Q,X,Y){let J=nb1(Q);if(J.length===0)return X.slice(0,Y);return X.map((G)=>({tool:G,score:ib1(J,G)})).filter((G)=>G.score>0).sort((G,W)=>W.score-G.score).slice(0,Y).map((G)=>G.tool)}function A90(Q){return{content:[{type:"text",text:JSON.stringify(Q,null,2)}]}}function QP(Q){return{content:[{type:"text",text:JSON.stringify(Q,null,2)}],isError:!0}}function M76(Q){let X=N.object({query:N.string().describe("Natural language search query (e.g., 'send email', 'create order')"),limit:N.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.${Q.categories.length>0?` Available categories: ${Q.categories.join(", ")}.`:""} Total tools: ${Q.tools.length}.`,inputSchema:N.toJSONSchema(X)},handler:async(J)=>{let G=X.safeParse(J);if(!G.success)return QP({error:G.error.flatten()});let W=ab1(G.data.query,Q.tools,G.data.limit);return A90({query:G.data.query,results:W.map((Z)=>({name:Z.name,description:Z.description,connection:Z._meta.connectionTitle})),totalAvailable:Q.tools.length})}}}function T76(Q){let X=N.object({tools:N.array(N.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:N.toJSONSchema(X)},handler:async(Y)=>{let J=X.safeParse(Y);if(!J.success)return QP({error:J.error.flatten()});let G=new Map(Q.tools.map((Z)=>[Z.name,Z])),W=J.data.tools.map((Z)=>G.get(Z)).filter((Z)=>Z!==void 0);return A90({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 rb1(Q){let X=Q.tools.map((G)=>G.name),Y=new Map(Q.tools.map((G)=>[G.name,G])),J=N.object({name:N.enum(X).describe("The name of the tool to execute"),arguments:N.record(N.string(),N.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:N.toJSONSchema(J)},handler:async(G)=>{let W=J.safeParse(G);if(!W.success)return QP({error:W.error.flatten()});let{name:Z,arguments:$}=W.data;if(!Y.has(Z))return{content:[{type:"text",text:`Tool not found: ${Z}. Use GATEWAY_SEARCH_TOOLS to find available tools.`}],isError:!0};return Q.callTool(Z,$)}}}function ob1(Q){let X=N.object({code:N.string().min(1).describe("JavaScript code to execute. It runs as an async function body; you can use top-level `return` and `await`."),timeoutMs:N.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:N.toJSONSchema(X)},handler:async(Y)=>{let J=X.safeParse(Y);if(!J.success)return QP({error:J.error.flatten()});let G=Object.fromEntries(Q.tools.map((Z)=>[Z.name,async($)=>Q.callTool(Z.name,$??{})])),W=await P90({...J.data,tools:G});if(W.error)return QP(W);return A90(W)}}}function P76(Q){let X=new Map(Q.map((J)=>[J.tool.name,J.handler])),Y=Q.map((J)=>J.tool.name);return{tools:Q.map((J)=>J.tool),callTool:async(J,G)=>{let W=X.get(J);if(!W)return{content:[{type:"text",text:`Unknown meta-tool: ${J}. Available: ${Y.join(", ")}`}],isError:!0};return W(G)}}}function A76(Q){switch(Q){case"smart_tool_selection":return eb1;case"code_execution":return tb1;case"passthrough":default:return sb1}}var sb1=(Q)=>({tools:Q.tools,callTool:(X,Y)=>Q.callTool(X,Y)}),tb1=(Q)=>P76([M76(Q),T76(Q),ob1(Q)]),eb1=(Q)=>P76([M76(Q),T76(Q),rb1(Q)]);var E76=y(()=>{Z6();w76()});class yb{proxies;options;cache;constructor(Q,X){this.proxies=Q;this.options=X;this.cache=AW(()=>this.loadTools())}async loadTools(){let Q=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((U)=>!q.has(U.name))}}else if(K.selectedTools&&K.selectedTools.length>0){let q=new Set(K.selectedTools);V=V.filter((U)=>q.has(U.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}}),X=new Set,Y=[],J=new Map,G=new Set;for(let K of Q){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(X.has(q.name))continue;X.add(q.name),Y.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})},$=A76(this.options.strategy)({tools:Y,callTool:W,categories:Array.from(G).sort()});return{tools:Y,mappings:J,strategyResult:$}}async list(){return{tools:(await this.cache).strategyResult.tools}}async call(Q){return(await this.cache).strategyResult.callTool(Q.name,Q.arguments??{})}async callStreamable(Q,X){let Y=await this.cache,J=Y.mappings.get(Q);if(J){let W=this.proxies.get(J.connectionId);if(W)return W.proxy.callStreamableTool(J.originalName,X)}let G=await Y.strategyResult.callTool(Q,X);return new Response(JSON.stringify(G),{headers:{"Content-Type":"application/json"}})}}var j76=y(()=>{E76()});function Qf1(Q,X){if(Q===X)return!0;if(!X.includes("*"))return!1;let Y=X.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*\*/g,"<<<DOUBLE_STAR>>>").replace(/\*/g,"[^/]*").replace(/<<<DOUBLE_STAR>>>/g,".*");Y=`^${Y}$`;try{return new RegExp(Y).test(Q)}catch{return!1}}function C76(Q,X){return X.some((Y)=>Qf1(Q,Y))}class bb{proxies;options;cache;constructor(Q,X){this.proxies=Q;this.options=X;this.cache=AW(()=>this.loadResources())}async loadResources(){let Q=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)=>!C76(K.uri,G.selectedResources))}else if(!G.selectedResources||G.selectedResources.length===0)$=[];else $=$.filter((K)=>C76(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:[]}}}),X=new Set,Y=[],J=new Map;for(let G of Q){if(G.status!=="fulfilled")continue;let{connectionId:W,resources:Z}=G.value;for(let $ of Z){if(X.has($.uri))continue;X.add($.uri),Y.push($),J.set($.uri,W)}}return{resources:Y,mappings:J}}async list(){return{resources:(await this.cache).resources}}async read(Q){let Y=(await this.cache).mappings.get(Q.uri);if(!Y)throw Error(`Resource not found: ${Q.uri}`);let J=this.proxies.get(Y);if(!J)throw Error(`Connection not found for resource: ${Q.uri}`);return await J.proxy.client.readResource(Q)}}var I76=()=>{};class fb{proxies;cache;constructor(Q){this.proxies=Q;this.cache=AW(()=>this.loadResourceTemplates())}async loadResourceTemplates(){let Q=await this.proxies.mapSettled(async(Y,J)=>{try{let G=await Y.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:[]}}}),X=[];for(let Y of Q){if(Y.status!=="fulfilled")continue;let{templates:J}=Y.value;for(let G of J)X.push(G)}return{templates:X}}async list(){return{resourceTemplates:(await this.cache).templates}}}var R76=()=>{};class hb{proxies;options;cache;constructor(Q,X){this.proxies=Q;this.options=X;this.cache=AW(()=>this.loadPrompts())}async loadPrompts(){let Q=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:[]}}}),X=new Set,Y=[],J=new Map;for(let G of Q){if(G.status!=="fulfilled")continue;let{connectionId:W,prompts:Z}=G.value;for(let $ of Z){if(X.has($.name))continue;X.add($.name),Y.push($),J.set($.name,W)}}return{prompts:Y,mappings:J}}async list(){return{prompts:(await this.cache).prompts}}async get(Q){let Y=(await this.cache).mappings.get(Q.name);if(!Y)throw Error(`Prompt not found: ${Q.name}`);let J=this.proxies.get(Y);if(!J)throw Error(`Connection not found for prompt: ${Q.name}`);return await J.proxy.client.getPrompt(Q)}}var S76=()=>{};var k76=y(()=>{j76();I76();R76();S76()});async function Xf1(Q,X){let Y=await tT.create(Q.connections,X),J=new yb(Y,{selectionMode:Q.toolSelectionMode,strategy:Q.toolSelectionStrategy}),G=new bb(Y,{selectionMode:Q.toolSelectionMode}),W=new fb(Y),Z=new hb(Y,{selectionMode:Q.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 Yf1(Q,X){let Y;if(Q.toolSelectionMode==="exclusion"){let W=(await X.storage.connections.list(Q.organizationId)).filter(($)=>$.status==="active"),Z=new Map;for(let $ of Q.connections)Z.set($.connectionId,{selectedTools:$.selectedTools,selectedResources:$.selectedResources,selectedPrompts:$.selectedPrompts});Y=[];for(let $ of W){let K=Z.get($.id);if(K===void 0)Y.push({connection:$,selectedTools:null,selectedResources:null,selectedPrompts:null});else if((K.selectedTools===null||K.selectedTools.length===0)&&(K.selectedResources===null||K.selectedResources.length===0)&&(K.selectedPrompts===null||K.selectedPrompts.length===0));else Y.push({connection:$,selectedTools:K.selectedTools,selectedResources:K.selectedResources,selectedPrompts:K.selectedPrompts})}}else{let G=Q.connections.map((Z)=>Z.connectionId),W=[];for(let Z of G){let $=await X.storage.connections.findById(Z);if($&&$.status==="active")W.push($)}Y=W.map((Z)=>{let $=Q.connections.find((K)=>K.connectionId===Z.id);return{connection:Z,selectedTools:$?.selectedTools??null,selectedResources:$?.selectedResources??null,selectedPrompts:$?.selectedPrompts??null}})}let J={connections:Y,toolSelectionMode:Q.toolSelectionMode,toolSelectionStrategy:Q.toolSelectionStrategy};return Xf1(J,X)}var v76,_76;var y76=y(()=>{mk();lk();a9();LK();k76();v76=new yX;v76.all("/gateway/:gatewayId?",async(Q)=>{let X=Q.req.param("gatewayId"),Y=Q.get("meshContext");try{let J=null;if(X)J=await Y.storage.gateways.findById(X);else{let K=Q.req.header("x-org-id"),H=Q.req.header("x-org-slug");if(K)J=await Y.storage.gateways.getDefaultByOrgId(K);else if(H)J=await Y.storage.gateways.getDefaultByOrgSlug(H);else return Q.json({error:"Gateway ID required, or provide x-org-id or x-org-slug header for default Hub"},400)}if(!J){if(X)return Q.json({error:`Gateway not found: ${X}`},404);return Q.json({error:"No default Hub configured for this organization"},404)}if(Y.gatewayId=J.id,J.status!=="active")return Q.json({error:`Gateway is inactive: ${J.id}`},503);let G=await Y.db.selectFrom("organization").select(["id","slug","name"]).where("id","=",J.organizationId).executeTakeFirst();if(G)Y.organization={id:G.id,slug:G.slug,name:G.name};let W=await Yf1(J,Y),Z=new T3({name:`mcp-gateway-${J.title}`,version:"1.0.0"},{capabilities:{tools:{},resources:{},prompts:{}}}),$=new P3({enableJsonResponse:Q.req.header("Accept")?.includes("application/json")??!1});return await Z.connect($),Z.server.setRequestHandler(_$,async(K)=>{return W.client.listTools()}),Z.server.setRequestHandler(tG,async(K)=>{return await W.client.callTool(K.params)}),Z.server.setRequestHandler(I$,async()=>{return W.client.listResources()}),Z.server.setRequestHandler(S$,async(K)=>{return W.client.readResource(K.params)}),Z.server.setRequestHandler(R$,async()=>{return W.client.listResourceTemplates()}),Z.server.setRequestHandler(k$,async()=>{return W.client.listPrompts()}),Z.server.setRequestHandler(v$,async(K)=>{return W.client.getPrompt(K.params)}),await $.handleRequest(Q.req.raw)}catch(J){let G=J;return console.error("[gateway] Error handling gateway request:",G),Q.json({error:"Internal server error",message:G.message},500)}});_76=v76});var b76,f76;var h76=y(()=>{LK();He();b76=new yX;b76.all("/",async(Q)=>{return Ke(Q.get("meshContext")).fetch(Q.req.raw)});f76=b76});function r5(Q){if(Q==null)return"unknown error";if(typeof Q==="string")return Q;if(Q instanceof Error)return Q.message;return JSON.stringify(Q)}var qZ6="vercel.ai.error",Jf1,x76,g76,P6,zZ6="AI_APICallError",UZ6,Gf1,u76,m76,YQ,BZ6="AI_EmptyResponseBodyError",DZ6,Wf1,l76,d76,NZ6,OZ6="AI_InvalidArgumentError",LZ6,Zf1,p76,c76,wZ6,MZ6="AI_InvalidPromptError",TZ6,$f1,n76,i76,CF,PZ6="AI_InvalidResponseDataError",AZ6,Kf1,a76,r76,_n4,EZ6="AI_JSONParseError",jZ6,Hf1,o76,s76,XP,CZ6="AI_LoadAPIKeyError",IZ6,Ff1,t76,e76,yn4,RZ6="AI_LoadSettingError",SZ6,Vf1,QZ6,XZ6,bn4,kZ6="AI_NoContentGeneratedError",vZ6,qf1,YZ6,JZ6,fn4,_Z6="AI_NoSuchModelError",yZ6,zf1,GZ6,WZ6,hn4,bZ6="AI_TooManyEmbeddingValuesForCallError",fZ6,Uf1,ZZ6,$Z6,xn4,hZ6="AI_TypeValidationError",xZ6,Bf1,KZ6,HZ6,o5,gZ6="AI_UnsupportedFunctionalityError",uZ6,Df1,FZ6,VZ6,gn4;var S4=y(()=>{Jf1=Symbol.for(qZ6),P6=class Q extends(g76=Error,x76=Jf1,g76){constructor({name:X,message:Y,cause:J}){super(Y);this[x76]=!0,this.name=X,this.cause=J}static isInstance(X){return Q.hasMarker(X,qZ6)}static hasMarker(X,Y){let J=Symbol.for(Y);return X!=null&&typeof X==="object"&&J in X&&typeof X[J]==="boolean"&&X[J]===!0}},UZ6=`vercel.ai.error.${zZ6}`,Gf1=Symbol.for(UZ6),YQ=class extends(m76=P6,u76=Gf1,m76){constructor({message:Q,url:X,requestBodyValues:Y,statusCode:J,responseHeaders:G,responseBody:W,cause:Z,isRetryable:$=J!=null&&(J===408||J===409||J===429||J>=500),data:K}){super({name:zZ6,message:Q,cause:Z});this[u76]=!0,this.url=X,this.requestBodyValues=Y,this.statusCode=J,this.responseHeaders=G,this.responseBody=W,this.isRetryable=$,this.data=K}static isInstance(Q){return P6.hasMarker(Q,UZ6)}},DZ6=`vercel.ai.error.${BZ6}`,Wf1=Symbol.for(DZ6),NZ6=class extends(d76=P6,l76=Wf1,d76){constructor({message:Q="Empty response body"}={}){super({name:BZ6,message:Q});this[l76]=!0}static isInstance(Q){return P6.hasMarker(Q,DZ6)}};LZ6=`vercel.ai.error.${OZ6}`,Zf1=Symbol.for(LZ6),wZ6=class extends(c76=P6,p76=Zf1,c76){constructor({message:Q,cause:X,argument:Y}){super({name:OZ6,message:Q,cause:X});this[p76]=!0,this.argument=Y}static isInstance(Q){return P6.hasMarker(Q,LZ6)}},TZ6=`vercel.ai.error.${MZ6}`,$f1=Symbol.for(TZ6),CF=class extends(i76=P6,n76=$f1,i76){constructor({prompt:Q,message:X,cause:Y}){super({name:MZ6,message:`Invalid prompt: ${X}`,cause:Y});this[n76]=!0,this.prompt=Q}static isInstance(Q){return P6.hasMarker(Q,TZ6)}},AZ6=`vercel.ai.error.${PZ6}`,Kf1=Symbol.for(AZ6),_n4=class extends(r76=P6,a76=Kf1,r76){constructor({data:Q,message:X=`Invalid response data: ${JSON.stringify(Q)}.`}){super({name:PZ6,message:X});this[a76]=!0,this.data=Q}static isInstance(Q){return P6.hasMarker(Q,AZ6)}},jZ6=`vercel.ai.error.${EZ6}`,Hf1=Symbol.for(jZ6),XP=class extends(s76=P6,o76=Hf1,s76){constructor({text:Q,cause:X}){super({name:EZ6,message:`JSON parsing failed: Text: ${Q}.
1057
1057
  Error message: ${r5(X)}`,cause:X});this[o76]=!0,this.text=Q}static isInstance(Q){return P6.hasMarker(Q,jZ6)}},IZ6=`vercel.ai.error.${CZ6}`,Ff1=Symbol.for(IZ6),yn4=class extends(e76=P6,t76=Ff1,e76){constructor({message:Q}){super({name:CZ6,message:Q});this[t76]=!0}static isInstance(Q){return P6.hasMarker(Q,IZ6)}},SZ6=`vercel.ai.error.${RZ6}`,Vf1=Symbol.for(SZ6),bn4=class extends(XZ6=P6,QZ6=Vf1,XZ6){constructor({message:Q}){super({name:RZ6,message:Q});this[QZ6]=!0}static isInstance(Q){return P6.hasMarker(Q,SZ6)}},vZ6=`vercel.ai.error.${kZ6}`,qf1=Symbol.for(vZ6),fn4=class extends(JZ6=P6,YZ6=qf1,JZ6){constructor({message:Q="No content generated."}={}){super({name:kZ6,message:Q});this[YZ6]=!0}static isInstance(Q){return P6.hasMarker(Q,vZ6)}},yZ6=`vercel.ai.error.${_Z6}`,zf1=Symbol.for(yZ6),hn4=class extends(WZ6=P6,GZ6=zf1,WZ6){constructor({errorName:Q=_Z6,modelId:X,modelType:Y,message:J=`No such ${Y}: ${X}`}){super({name:Q,message:J});this[GZ6]=!0,this.modelId=X,this.modelType=Y}static isInstance(Q){return P6.hasMarker(Q,yZ6)}},fZ6=`vercel.ai.error.${bZ6}`,Uf1=Symbol.for(fZ6),xn4=class extends($Z6=P6,ZZ6=Uf1,$Z6){constructor(Q){super({name:bZ6,message:`Too many values for a single embedding call. The ${Q.provider} model "${Q.modelId}" can only embed up to ${Q.maxEmbeddingsPerCall} values per call, but ${Q.values.length} values were provided.`});this[ZZ6]=!0,this.provider=Q.provider,this.modelId=Q.modelId,this.maxEmbeddingsPerCall=Q.maxEmbeddingsPerCall,this.values=Q.values}static isInstance(Q){return P6.hasMarker(Q,fZ6)}},xZ6=`vercel.ai.error.${hZ6}`,Bf1=Symbol.for(xZ6),o5=class Q extends(HZ6=P6,KZ6=Bf1,HZ6){constructor({value:X,cause:Y}){super({name:hZ6,message:`Type validation failed: Value: ${JSON.stringify(X)}.
1058
1058
  Error message: ${r5(Y)}`,cause:Y});this[KZ6]=!0,this.value=X}static isInstance(X){return P6.hasMarker(X,xZ6)}static wrap({value:X,cause:Y}){return Q.isInstance(Y)&&Y.value===X?Y:new Q({value:X,cause:Y})}},uZ6=`vercel.ai.error.${gZ6}`,Df1=Symbol.for(uZ6),gn4=class extends(VZ6=P6,FZ6=Df1,VZ6){constructor({functionality:Q,message:X=`'${Q}' functionality not supported.`}){super({name:gZ6,message:X});this[FZ6]=!0,this.functionality=Q}static isInstance(Q){return P6.hasMarker(Q,uZ6)}}});var mZ6=()=>{};function RF(...Q){return Q.reduce((X,Y)=>({...X,...Y!=null?Y:{}}),{})}async function aZ6(Q,X){if(Q==null)return Promise.resolve();let Y=X==null?void 0:X.abortSignal;return new Promise((J,G)=>{if(Y==null?void 0:Y.aborted){G(lZ6());return}let W=setTimeout(()=>{Z(),J()},Q),Z=()=>{clearTimeout(W),Y==null||Y.removeEventListener("abort",$)},$=()=>{Z(),G(lZ6())};Y==null||Y.addEventListener("abort",$)})}function lZ6(){return new DOMException("Delay was aborted","AbortError")}function YP(Q){return Object.fromEntries([...Q.headers])}function qB(Q){let X=Q.replace(/-/g,"+").replace(/_/g,"/"),Y=Of1(X);return Uint8Array.from(Y,(J)=>J.codePointAt(0))}function kF(Q){let X="";for(let Y=0;Y<Q.length;Y++)X+=String.fromCodePoint(Q[Y]);return Nf1(X)}function JP(Q){if(Q==null)return"unknown error";if(typeof Q==="string")return Q;if(Q instanceof Error)return Q.message;return JSON.stringify(Q)}function ZZ(Q){return(Q instanceof Error||Q instanceof DOMException)&&(Q.name==="AbortError"||Q.name==="ResponseAborted"||Q.name==="TimeoutError")}function sZ6({error:Q,url:X,requestBodyValues:Y}){if(ZZ(Q))return Q;if(Q instanceof TypeError&&Mf1.includes(Q.message.toLowerCase())){let J=Q.cause;if(J!=null)return new YQ({message:`Cannot connect to API: ${J.message}`,cause:J,url:X,requestBodyValues:Y,isRetryable:!0})}return Q}function gb(Q=globalThis){var X,Y,J;if(Q.window)return"runtime/browser";if((X=Q.navigator)==null?void 0:X.userAgent)return`runtime/${Q.navigator.userAgent.toLowerCase()}`;if((J=(Y=Q.process)==null?void 0:Y.versions)==null?void 0:J.node)return`runtime/node.js/${Q.process.version.substring(0)}`;if(Q.EdgeRuntime)return"runtime/vercel-edge";return"runtime/unknown"}function Tf1(Q){if(Q==null)return{};let X={};if(Q instanceof Headers)Q.forEach((Y,J)=>{X[J.toLowerCase()]=Y});else{if(!Array.isArray(Q))Q=Object.entries(Q);for(let[Y,J]of Q)if(J!=null)X[Y.toLowerCase()]=J}return X}function TK(Q,...X){let Y=new Headers(Tf1(Q)),J=Y.get("user-agent")||"";return Y.set("user-agent",[J,...X].filter(Boolean).join(" ")),Object.fromEntries(Y.entries())}function eZ6(Q){return Q!=null}function Q$6({mediaType:Q,url:X,supportedUrls:Y}){return X=X.toLowerCase(),Q=Q.toLowerCase(),Object.entries(Y).map(([J,G])=>{let W=J.toLowerCase();return W==="*"||W==="*/*"?{mediaTypePrefix:"",regexes:G}:{mediaTypePrefix:W.replace(/\*/,""),regexes:G}}).filter(({mediaTypePrefix:J})=>Q.startsWith(J)).flatMap(({regexes:J})=>J).some((J)=>J.test(X))}function GP({settingValue:Q,environmentVariableName:X}){if(typeof Q==="string")return Q;if(Q!=null||typeof process>"u")return;if(Q=process.env[X],Q==null||typeof Q!=="string")return;return Q}function cZ6(Q){let X=JSON.parse(Q);if(X===null||typeof X!=="object")return X;if(Af1.test(Q)===!1&&Ef1.test(Q)===!1)return X;return jf1(X)}function jf1(Q){let X=[Q];while(X.length){let Y=X;X=[];for(let J of Y){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")X.push(W)}}}return Q}function X$6(Q){let{stackTraceLimit:X}=Error;try{Error.stackTraceLimit=0}catch(Y){return cZ6(Q)}try{return cZ6(Q)}finally{Error.stackTraceLimit=X}}function Y$6(Q){if(Q.type==="object"||Array.isArray(Q.type)&&Q.type.includes("object")){Q.additionalProperties=!1;let{properties:Y}=Q;if(Y!=null)for(let J of Object.keys(Y))Y[J]=IF(Y[J])}if(Q.items!=null)Q.items=Array.isArray(Q.items)?Q.items.map(IF):IF(Q.items);if(Q.anyOf!=null)Q.anyOf=Q.anyOf.map(IF);if(Q.allOf!=null)Q.allOf=Q.allOf.map(IF);if(Q.oneOf!=null)Q.oneOf=Q.oneOf.map(IF);let{definitions:X}=Q;if(X!=null)for(let Y of Object.keys(X))X[Y]=IF(X[Y]);return Q}function IF(Q){if(typeof Q==="boolean")return Q;return Y$6(Q)}function tY(){return{}}function Rf1(Q,X){var Y,J,G;let W={type:"array"};if(((Y=Q.type)==null?void 0:Y._def)&&((G=(J=Q.type)==null?void 0:J._def)==null?void 0:G.typeName)!==j0.ZodAny)W.items=g4(Q.type._def,{...X,currentPath:[...X.currentPath,"items"]});if(Q.minLength)W.minItems=Q.minLength.value;if(Q.maxLength)W.maxItems=Q.maxLength.value;if(Q.exactLength)W.minItems=Q.exactLength.value,W.maxItems=Q.exactLength.value;return W}function Sf1(Q){let X={type:"integer",format:"int64"};if(!Q.checks)return X;for(let Y of Q.checks)switch(Y.kind){case"min":if(Y.inclusive)X.minimum=Y.value;else X.exclusiveMinimum=Y.value;break;case"max":if(Y.inclusive)X.maximum=Y.value;else X.exclusiveMaximum=Y.value;break;case"multipleOf":X.multipleOf=Y.value;break}return X}function kf1(){return{type:"boolean"}}function J$6(Q,X){return g4(Q.type._def,X)}function G$6(Q,X,Y){let J=Y!=null?Y:X.dateStrategy;if(Array.isArray(J))return{anyOf:J.map((G,W)=>G$6(Q,X,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 _f1(Q)}}function yf1(Q,X){return{...g4(Q.innerType._def,X),default:Q.defaultValue()}}function bf1(Q,X){return X.effectStrategy==="input"?g4(Q.schema._def,X):tY()}function ff1(Q){return{type:"string",enum:Array.from(Q.values)}}function xf1(Q,X){let Y=[g4(Q.left._def,{...X,currentPath:[...X.currentPath,"allOf","0"]}),g4(Q.right._def,{...X,currentPath:[...X.currentPath,"allOf","1"]})].filter((G)=>!!G),J=[];return Y.forEach((G)=>{if(hf1(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 gf1(Q){let X=typeof Q.value;if(X!=="bigint"&&X!=="number"&&X!=="boolean"&&X!=="string")return{type:Array.isArray(Q.value)?"array":"object"};return{type:X==="bigint"?"integer":X,const:Q.value}}function W$6(Q,X){let Y={type:"string"};if(Q.checks)for(let J of Q.checks)switch(J.kind){case"min":Y.minLength=typeof Y.minLength==="number"?Math.max(Y.minLength,J.value):J.value;break;case"max":Y.maxLength=typeof Y.maxLength==="number"?Math.min(Y.maxLength,J.value):J.value;break;case"email":switch(X.emailStrategy){case"format:email":t5(Y,"email",J.message,X);break;case"format:idn-email":t5(Y,"idn-email",J.message,X);break;case"pattern:zod":bX(Y,s5.email,J.message,X);break}break;case"url":t5(Y,"uri",J.message,X);break;case"uuid":t5(Y,"uuid",J.message,X);break;case"regex":bX(Y,J.regex,J.message,X);break;case"cuid":bX(Y,s5.cuid,J.message,X);break;case"cuid2":bX(Y,s5.cuid2,J.message,X);break;case"startsWith":bX(Y,RegExp(`^${j90(J.value,X)}`),J.message,X);break;case"endsWith":bX(Y,RegExp(`${j90(J.value,X)}$`),J.message,X);break;case"datetime":t5(Y,"date-time",J.message,X);break;case"date":t5(Y,"date",J.message,X);break;case"time":t5(Y,"time",J.message,X);break;case"duration":t5(Y,"duration",J.message,X);break;case"length":Y.minLength=typeof Y.minLength==="number"?Math.max(Y.minLength,J.value):J.value,Y.maxLength=typeof Y.maxLength==="number"?Math.min(Y.maxLength,J.value):J.value;break;case"includes":{bX(Y,RegExp(j90(J.value,X)),J.message,X);break}case"ip":{if(J.version!=="v6")t5(Y,"ipv4",J.message,X);if(J.version!=="v4")t5(Y,"ipv6",J.message,X);break}case"base64url":bX(Y,s5.base64url,J.message,X);break;case"jwt":bX(Y,s5.jwt,J.message,X);break;case"cidr":{if(J.version!=="v6")bX(Y,s5.ipv4Cidr,J.message,X);if(J.version!=="v4")bX(Y,s5.ipv6Cidr,J.message,X);break}case"emoji":bX(Y,s5.emoji(),J.message,X);break;case"ulid":{bX(Y,s5.ulid,J.message,X);break}case"base64":{switch(X.base64Strategy){case"format:binary":{t5(Y,"binary",J.message,X);break}case"contentEncoding:base64":{Y.contentEncoding="base64";break}case"pattern:zod":{bX(Y,s5.base64,J.message,X);break}}break}case"nanoid":bX(Y,s5.nanoid,J.message,X);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return Y}function j90(Q,X){return X.patternStrategy==="escape"?mf1(Q):Q}function mf1(Q){let X="";for(let Y=0;Y<Q.length;Y++){if(!uf1.has(Q[Y]))X+="\\";X+=Q[Y]}return X}function t5(Q,X,Y,J){var G;if(Q.format||((G=Q.anyOf)==null?void 0:G.some((W)=>W.format))){if(!Q.anyOf)Q.anyOf=[];if(Q.format)Q.anyOf.push({format:Q.format}),delete Q.format;Q.anyOf.push({format:X,...Y&&J.errorMessages&&{errorMessage:{format:Y}}})}else Q.format=X}function bX(Q,X,Y,J){var G;if(Q.pattern||((G=Q.allOf)==null?void 0:G.some((W)=>W.pattern))){if(!Q.allOf)Q.allOf=[];if(Q.pattern)Q.allOf.push({pattern:Q.pattern}),delete Q.pattern;Q.allOf.push({pattern:iZ6(X,J),...Y&&J.errorMessages&&{errorMessage:{pattern:Y}}})}else Q.pattern=iZ6(X,J)}function iZ6(Q,X){var Y;if(!X.applyRegexFlags||!Q.flags)return Q.source;let J={i:Q.flags.includes("i"),m:Q.flags.includes("m"),s:Q.flags.includes("s")},G=J.i?Q.source.toLowerCase():Q.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]==="-"&&((Y=G[H+2])==null?void 0:Y.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
1059
1059
  ]))`;continue}else if(G[H]==="$"){W+=`($|(?=[\r
1060
1060
  ]))`;continue}}if(J.s&&G[H]==="."){W+=$?`${G[H]}\r
1061
1061
  `:`[${G[H]}\r
1062
1062
  ]`;continue}if(W+=G[H],G[H]==="\\")Z=!0;else if($&&G[H]==="]")$=!1;else if(!$&&G[H]==="[")$=!0}try{new RegExp(W)}catch(H){return console.warn(`Could not convert regex pattern at ${X.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),Q.source}return W}function Z$6(Q,X){var Y,J,G,W,Z,$;let K={type:"object",additionalProperties:(Y=g4(Q.valueType._def,{...X,currentPath:[...X.currentPath,"additionalProperties"]}))!=null?Y:X.allowedAdditionalProperties};if(((J=Q.keyType)==null?void 0:J._def.typeName)===j0.ZodString&&((G=Q.keyType._def.checks)==null?void 0:G.length)){let{type:H,...F}=W$6(Q.keyType._def,X);return{...K,propertyNames:F}}else if(((W=Q.keyType)==null?void 0:W._def.typeName)===j0.ZodEnum)return{...K,propertyNames:{enum:Q.keyType._def.values}};else if(((Z=Q.keyType)==null?void 0:Z._def.typeName)===j0.ZodBranded&&Q.keyType._def.type._def.typeName===j0.ZodString&&(($=Q.keyType._def.type._def.checks)==null?void 0:$.length)){let{type:H,...F}=J$6(Q.keyType._def,X);return{...K,propertyNames:F}}return K}function lf1(Q,X){if(X.mapStrategy==="record")return Z$6(Q,X);let Y=g4(Q.keyType._def,{...X,currentPath:[...X.currentPath,"items","items","0"]})||tY(),J=g4(Q.valueType._def,{...X,currentPath:[...X.currentPath,"items","items","1"]})||tY();return{type:"array",maxItems:125,items:{type:"array",items:[Y,J],minItems:2,maxItems:2}}}function df1(Q){let X=Q.values,J=Object.keys(Q.values).filter((W)=>{return typeof X[X[W]]!=="number"}).map((W)=>X[W]),G=Array.from(new Set(J.map((W)=>typeof W)));return{type:G.length===1?G[0]==="string"?"string":"number":["string","number"],enum:J}}function pf1(){return{not:tY()}}function cf1(){return{type:"null"}}function nf1(Q,X){let Y=Q.options instanceof Map?Array.from(Q.options.values()):Q.options;if(Y.every((J)=>(J._def.typeName in C90)&&(!J._def.checks||!J._def.checks.length))){let J=Y.reduce((G,W)=>{let Z=C90[W._def.typeName];return Z&&!G.includes(Z)?[...G,Z]:G},[]);return{type:J.length>1?J:J[0]}}else if(Y.every((J)=>J._def.typeName==="ZodLiteral"&&!J.description)){let J=Y.reduce((G,W)=>{let Z=typeof W._def.value;switch(Z){case"string":case"number":case"boolean":return[...G,Z];case"bigint":return[...G,"integer"];case"object":if(W._def.value===null)return[...G,"null"];case"symbol":case"undefined":case"function":default:return G}},[]);if(J.length===Y.length){let G=J.filter((W,Z,$)=>$.indexOf(W)===Z);return{type:G.length>1?G:G[0],enum:Y.reduce((W,Z)=>{return W.includes(Z._def.value)?W:[...W,Z._def.value]},[])}}}else if(Y.every((J)=>J._def.typeName==="ZodEnum"))return{type:"string",enum:Y.reduce((J,G)=>[...J,...G._def.values.filter((W)=>!J.includes(W))],[])};return if1(Q,X)}function af1(Q,X){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(Q.innerType._def.typeName)&&(!Q.innerType._def.checks||!Q.innerType._def.checks.length))return{type:[C90[Q.innerType._def.typeName],"null"]};let Y=g4(Q.innerType._def,{...X,currentPath:[...X.currentPath,"anyOf","0"]});return Y&&{anyOf:[Y,{type:"null"}]}}function rf1(Q){let X={type:"number"};if(!Q.checks)return X;for(let Y of Q.checks)switch(Y.kind){case"int":X.type="integer";break;case"min":if(Y.inclusive)X.minimum=Y.value;else X.exclusiveMinimum=Y.value;break;case"max":if(Y.inclusive)X.maximum=Y.value;else X.exclusiveMaximum=Y.value;break;case"multipleOf":X.multipleOf=Y.value;break}return X}function of1(Q,X){let Y={type:"object",properties:{}},J=[],G=Q.shape();for(let Z in G){let $=G[Z];if($===void 0||$._def===void 0)continue;let K=tf1($),H=g4($._def,{...X,currentPath:[...X.currentPath,"properties",Z],propertyPath:[...X.currentPath,"properties",Z]});if(H===void 0)continue;if(Y.properties[Z]=H,!K)J.push(Z)}if(J.length)Y.required=J;let W=sf1(Q,X);if(W!==void 0)Y.additionalProperties=W;return Y}function sf1(Q,X){if(Q.catchall._def.typeName!=="ZodNever")return g4(Q.catchall._def,{...X,currentPath:[...X.currentPath,"additionalProperties"]});switch(Q.unknownKeys){case"passthrough":return X.allowedAdditionalProperties;case"strict":return X.rejectedAdditionalProperties;case"strip":return X.removeAdditionalStrategy==="strict"?X.allowedAdditionalProperties:X.rejectedAdditionalProperties}}function tf1(Q){try{return Q.isOptional()}catch(X){return!0}}function Xh1(Q,X){return g4(Q.type._def,X)}function Yh1(Q,X){let J={type:"array",uniqueItems:!0,items:g4(Q.valueType._def,{...X,currentPath:[...X.currentPath,"items"]})};if(Q.minSize)J.minItems=Q.minSize.value;if(Q.maxSize)J.maxItems=Q.maxSize.value;return J}function Jh1(Q,X){if(Q.rest)return{type:"array",minItems:Q.items.length,items:Q.items.map((Y,J)=>g4(Y._def,{...X,currentPath:[...X.currentPath,"items",`${J}`]})).reduce((Y,J)=>J===void 0?Y:[...Y,J],[]),additionalItems:g4(Q.rest._def,{...X,currentPath:[...X.currentPath,"additionalItems"]})};else return{type:"array",minItems:Q.items.length,maxItems:Q.items.length,items:Q.items.map((Y,J)=>g4(Y._def,{...X,currentPath:[...X.currentPath,"items",`${J}`]})).reduce((Y,J)=>J===void 0?Y:[...Y,J],[])}}function Gh1(){return{not:tY()}}function Wh1(){return tY()}function g4(Q,X,Y=!1){var J;let G=X.seen.get(Q);if(X.override){let K=(J=X.override)==null?void 0:J.call(X,Q,X,G,Y);if(K!==Cf1)return K}if(G&&!Y){let K=Hh1(G,X);if(K!==void 0)return K}let W={def:Q,path:X.currentPath,jsonSchema:void 0};X.seen.set(Q,W);let Z=$h1(Q,Q.typeName,X),$=typeof Z==="function"?g4(Z(),X):Z;if($)Fh1(Q,X,$);if(X.postProcess){let K=X.postProcess($,Q,X);return W.jsonSchema=$,K}return W.jsonSchema=$,$}function fX(Q){let X;return()=>{if(X==null)X=Q();return X}}function PK(Q,{validate:X}={}){return{[I90]:!0,_type:void 0,get jsonSchema(){if(typeof Q==="function")Q=Q();return Q},validate:X}}function zh1(Q){return typeof Q==="object"&&Q!==null&&I90 in Q&&Q[I90]===!0&&"jsonSchema"in Q&&"validate"in Q}function jW(Q){return Q==null?PK({properties:{},additionalProperties:!1}):zh1(Q)?Q:("~standard"in Q)?Q["~standard"].vendor==="zod"?C9(Q):Uh1(Q):Q()}function Uh1(Q){return PK(()=>Q["~standard"].jsonSchema.input({target:"draft-07"}),{validate:async(X)=>{let Y=await Q["~standard"].validate(X);return"value"in Y?{success:!0,value:Y.value}:{success:!1,error:new o5({value:X,cause:Y.issues})}}})}function Bh1(Q,X){var Y;let J=(Y=X==null?void 0:X.useReferences)!=null?Y:!1;return PK(()=>qh1(Q,{$refStrategy:J?"root":"none"}),{validate:async(G)=>{let W=await Q.safeParseAsync(G);return W.success?{success:!0,value:W.data}:{success:!1,error:W.error}}})}function Dh1(Q,X){var Y;let J=(Y=X==null?void 0:X.useReferences)!=null?Y:!1;return PK(()=>Y$6(qG(Q,{target:"draft-7",io:"input",reused:J?"ref":"inline"})),{validate:async(G)=>{let W=await TV(Q,G);return W.success?{success:!0,value:W.data}:{success:!1,error:W.error}}})}function Nh1(Q){return"_zod"in Q}function C9(Q,X){if(Nh1(Q))return Dh1(Q,X);else return Bh1(Q,X)}async function WP({value:Q,schema:X}){let Y=await hX({value:Q,schema:X});if(!Y.success)throw o5.wrap({value:Q,cause:Y.error});return Y.value}async function hX({value:Q,schema:X}){let Y=jW(X);try{if(Y.validate==null)return{success:!0,value:Q,rawValue:Q};let J=await Y.validate(Q);if(J.success)return{success:!0,value:J.value,rawValue:Q};return{success:!1,error:o5.wrap({value:Q,cause:J.error}),rawValue:Q}}catch(J){return{success:!1,error:o5.wrap({value:Q,cause:J}),rawValue:Q}}}async function Oh1({text:Q,schema:X}){try{let Y=X$6(Q);if(X==null)return Y;return WP({value:Y,schema:X})}catch(Y){if(XP.isInstance(Y)||o5.isInstance(Y))throw Y;throw new XP({text:Q,cause:Y})}}async function wY({text:Q,schema:X}){try{let Y=X$6(Q);if(X==null)return{success:!0,value:Y,rawValue:Y};return await hX({value:Y,schema:X})}catch(Y){return{success:!1,error:XP.isInstance(Y)?Y:new XP({text:Q,cause:Y}),rawValue:void 0}}}function $$6({stream:Q,schema:X}){return Q.pipeThrough(new TextDecoderStream).pipeThrough(new Aw).pipeThrough(new TransformStream({async transform({data:Y},J){if(Y==="[DONE]")return;J.enqueue(await wY({text:Y,schema:X}))}}))}function S90(Q){return Q}async function I9(Q){if(typeof Q==="function")Q=Q();return Promise.resolve(Q)}function H$6(Q){return Q==null?void 0:Q.replace(/\/$/,"")}function Mh1(Q){return Q!=null&&typeof Q[Symbol.asyncIterator]==="function"}async function*F$6({execute:Q,input:X,options:Y}){let J=Q(X,Y);if(Mh1(J)){let G;for await(let W of J)G=W,yield{type:"preliminary",output:W};yield{type:"final",output:G}}else yield{type:"final",output:await J}}var SF=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((Q,X)=>{if(this.status.type==="resolved")Q(this.status.value);else if(this.status.type==="rejected")X(this.status.error);this._resolve=Q,this._reject=X}),this._promise}resolve(Q){var X;if(this.status={type:"resolved",value:Q},this._promise)(X=this._resolve)==null||X.call(this,Q)}reject(Q){var X;if(this.status={type:"rejected",error:Q},this._promise)(X=this._reject)==null||X.call(this,Q)}isResolved(){return this.status.type==="resolved"}isRejected(){return this.status.type==="rejected"}isPending(){return this.status.type==="pending"}},Nf1,Of1,rZ6="AI_DownloadError",oZ6,Lf1,dZ6,pZ6,xb,EW=({prefix:Q,size:X=16,alphabet:Y="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:J="-"}={})=>{let G=()=>{let W=Y.length,Z=Array(X);for(let $=0;$<X;$++)Z[$]=Y[Math.random()*W|0];return Z.join("")};if(Q==null)return G;if(Y.includes(J))throw new wZ6({argument:"separator",message:`The separator "${J}" must not be part of the alphabet "${Y}".`});return()=>`${Q}${J}${G()}`},wf1,Mf1,tZ6="4.0.4",Pf1=()=>globalThis.fetch,R90=async({url:Q,headers:X={},successfulResponseHandler:Y,failedResponseHandler:J,abortSignal:G,fetch:W=Pf1()})=>{try{let Z=await W(Q,{method:"GET",headers:TK(X,`ai-sdk/provider-utils/${tZ6}`,gb()),signal:G}),$=YP(Z);if(!Z.ok){let K;try{K=await J({response:Z,url:Q,requestBodyValues:{}})}catch(H){if(ZZ(H)||YQ.isInstance(H))throw H;throw new YQ({message:"Failed to process error response",cause:H,statusCode:Z.status,url:Q,responseHeaders:$,requestBodyValues:{}})}throw K.value}try{return await Y({response:Z,url:Q,requestBodyValues:{}})}catch(K){if(K instanceof Error){if(ZZ(K)||YQ.isInstance(K))throw K}throw new YQ({message:"Failed to process successful response",cause:K,statusCode:Z.status,url:Q,responseHeaders:$,requestBodyValues:{}})}}catch(Z){throw sZ6({error:Z,url:Q,requestBodyValues:{}})}},Af1,Ef1,Cf1,nZ6,If1=(Q)=>typeof Q==="string"?{...nZ6,name:Q}:{...nZ6,...Q},vf1=(Q,X)=>{return g4(Q.innerType._def,X)},_f1=(Q)=>{let X={type:"integer",format:"unix-time"};for(let Y of Q.checks)switch(Y.kind){case"min":X.minimum=Y.value;break;case"max":X.maximum=Y.value;break}return X},hf1=(Q)=>{if("type"in Q&&Q.type==="string")return!1;return"allOf"in Q},E90=void 0,s5,uf1,C90,if1=(Q,X)=>{let Y=(Q.options instanceof Map?Array.from(Q.options.values()):Q.options).map((J,G)=>g4(J._def,{...X,currentPath:[...X.currentPath,"anyOf",`${G}`]})).filter((J)=>!!J&&(!X.strictUnions||typeof J==="object"&&Object.keys(J).length>0));return Y.length?{anyOf:Y}:void 0},ef1=(Q,X)=>{var Y;if(X.currentPath.toString()===((Y=X.propertyPath)==null?void 0:Y.toString()))return g4(Q.innerType._def,X);let J=g4(Q.innerType._def,{...X,currentPath:[...X.currentPath,"anyOf","1"]});return J?{anyOf:[{not:tY()},J]}:tY()},Qh1=(Q,X)=>{if(X.pipeStrategy==="input")return g4(Q.in._def,X);else if(X.pipeStrategy==="output")return g4(Q.out._def,X);let Y=g4(Q.in._def,{...X,currentPath:[...X.currentPath,"allOf","0"]}),J=g4(Q.out._def,{...X,currentPath:[...X.currentPath,"allOf",Y?"1":"0"]});return{allOf:[Y,J].filter((G)=>G!==void 0)}},Zh1=(Q,X)=>{return g4(Q.innerType._def,X)},$h1=(Q,X,Y)=>{switch(X){case j0.ZodString:return W$6(Q,Y);case j0.ZodNumber:return rf1(Q);case j0.ZodObject:return of1(Q,Y);case j0.ZodBigInt:return Sf1(Q);case j0.ZodBoolean:return kf1();case j0.ZodDate:return G$6(Q,Y);case j0.ZodUndefined:return Gh1();case j0.ZodNull:return cf1();case j0.ZodArray:return Rf1(Q,Y);case j0.ZodUnion:case j0.ZodDiscriminatedUnion:return nf1(Q,Y);case j0.ZodIntersection:return xf1(Q,Y);case j0.ZodTuple:return Jh1(Q,Y);case j0.ZodRecord:return Z$6(Q,Y);case j0.ZodLiteral:return gf1(Q);case j0.ZodEnum:return ff1(Q);case j0.ZodNativeEnum:return df1(Q);case j0.ZodNullable:return af1(Q,Y);case j0.ZodOptional:return ef1(Q,Y);case j0.ZodMap:return lf1(Q,Y);case j0.ZodSet:return Yh1(Q,Y);case j0.ZodLazy:return()=>Q.getter()._def;case j0.ZodPromise:return Xh1(Q,Y);case j0.ZodNaN:case j0.ZodNever:return pf1();case j0.ZodEffects:return bf1(Q,Y);case j0.ZodAny:return tY();case j0.ZodUnknown:return Wh1();case j0.ZodDefault:return yf1(Q,Y);case j0.ZodBranded:return J$6(Q,Y);case j0.ZodReadonly:return Zh1(Q,Y);case j0.ZodCatch:return vf1(Q,Y);case j0.ZodPipeline:return Qh1(Q,Y);case j0.ZodFunction:case j0.ZodVoid:case j0.ZodSymbol:return;default:return((J)=>{return})(X)}},Kh1=(Q,X)=>{let Y=0;for(;Y<Q.length&&Y<X.length;Y++)if(Q[Y]!==X[Y])break;return[(Q.length-Y).toString(),...X.slice(Y)].join("/")},Hh1=(Q,X)=>{switch(X.$refStrategy){case"root":return{$ref:Q.path.join("/")};case"relative":return{$ref:Kh1(X.currentPath,Q.path)};case"none":case"seen":{if(Q.path.length<X.currentPath.length&&Q.path.every((Y,J)=>X.currentPath[J]===Y))return console.warn(`Recursive reference detected at ${X.currentPath.join("/")}! Defaulting to any`),tY();return X.$refStrategy==="seen"?tY():void 0}}},Fh1=(Q,X,Y)=>{if(Q.description)Y.description=Q.description;return Y},Vh1=(Q)=>{let X=If1(Q),Y=X.name!==void 0?[...X.basePath,X.definitionPath,X.name]:X.basePath;return{...X,currentPath:Y,propertyPath:void 0,seen:new Map(Object.entries(X.definitions).map(([J,G])=>[G._def,{def:G._def,path:[...X.basePath,X.definitionPath,J],jsonSchema:void 0}]))}},qh1=(Q,X)=>{var Y;let J=Vh1(X),G=typeof X==="object"&&X.definitions?Object.entries(X.definitions).reduce((H,[F,V])=>{var q;return{...H,[F]:(q=g4(V._def,{...J,currentPath:[...J.basePath,J.definitionPath,F]},!0))!=null?q:tY()}},{}):void 0,W=typeof X==="string"?X:(X==null?void 0:X.nameStrategy)==="title"?void 0:X==null?void 0:X.name,Z=(Y=g4(Q._def,W===void 0?J:{...J,currentPath:[...J.basePath,J.definitionPath,W]},!1))!=null?Y:tY(),$=typeof X==="object"&&X.name!==void 0&&X.nameStrategy==="title"?X.name:void 0;if($!==void 0)Z.title=$;let K=W===void 0?G?{...Z,[J.definitionPath]:G}:Z:{$ref:[...J.$refStrategy==="relative"?[]:J.basePath,J.definitionPath,W].join("/"),[J.definitionPath]:{...G,[W]:Z}};return K.$schema="http://json-schema.org/draft-07/schema#",K},I90,Lh1=()=>globalThis.fetch,vF=async({url:Q,headers:X,body:Y,failedResponseHandler:J,successfulResponseHandler:G,abortSignal:W,fetch:Z})=>wh1({url:Q,headers:{"Content-Type":"application/json",...X},body:{content:JSON.stringify(Y),values:Y},failedResponseHandler:J,successfulResponseHandler:G,abortSignal:W,fetch:Z}),wh1=async({url:Q,headers:X={},body:Y,successfulResponseHandler:J,failedResponseHandler:G,abortSignal:W,fetch:Z=Lh1()})=>{try{let $=await Z(Q,{method:"POST",headers:TK(X,`ai-sdk/provider-utils/${tZ6}`,gb()),body:Y.content,signal:W}),K=YP($);if(!$.ok){let H;try{H=await G({response:$,url:Q,requestBodyValues:Y.values})}catch(F){if(ZZ(F)||YQ.isInstance(F))throw F;throw new YQ({message:"Failed to process error response",cause:F,statusCode:$.status,url:Q,responseHeaders:K,requestBodyValues:Y.values})}throw H.value}try{return await J({response:$,url:Q,requestBodyValues:Y.values})}catch(H){if(H instanceof Error){if(ZZ(H)||YQ.isInstance(H))throw H}throw new YQ({message:"Failed to process successful response",cause:H,statusCode:$.status,url:Q,responseHeaders:K,requestBodyValues:Y.values})}}catch($){throw sZ6({error:$,url:Q,requestBodyValues:Y.values})}},CW=({errorSchema:Q,errorToMessage:X,isRetryable:Y})=>async({response:J,url:G,requestBodyValues:W})=>{let Z=await J.text(),$=YP(J);if(Z.trim()==="")return{responseHeaders:$,value:new YQ({message:J.statusText,url:G,requestBodyValues:W,statusCode:J.status,responseHeaders:$,responseBody:Z,isRetryable:Y==null?void 0:Y(J)})};try{let K=await Oh1({text:Z,schema:Q});return{responseHeaders:$,value:new YQ({message:X(K),url:G,requestBodyValues:W,statusCode:J.status,responseHeaders:$,responseBody:Z,data:K,isRetryable:Y==null?void 0:Y(J,K)})}}catch(K){return{responseHeaders:$,value:new YQ({message:J.statusText,url:G,requestBodyValues:W,statusCode:J.status,responseHeaders:$,responseBody:Z,isRetryable:Y==null?void 0:Y(J)})}}},K$6=(Q)=>async({response:X})=>{let Y=YP(X);if(X.body==null)throw new NZ6({});return{responseHeaders:Y,value:$$6({stream:X.body,schema:Q})}},$Z=(Q)=>async({response:X,url:Y,requestBodyValues:J})=>{let G=await X.text(),W=await wY({text:G,schema:Q}),Z=YP(X);if(!W.success)throw new YQ({message:"Invalid JSON response",cause:W.error,statusCode:X.status,responseHeaders:Z,responseBody:G,url:Y,requestBodyValues:J});return{responseHeaders:Z,value:W.value,rawValue:W.rawValue}};var F4=y(()=>{S4();S4();S4();S4();S4();S4();S4();a1();E$();E$();E$();to();S4();S4();mZ6();({btoa:Nf1,atob:Of1}=globalThis);oZ6=`vercel.ai.error.${rZ6}`,Lf1=Symbol.for(oZ6),xb=class extends(pZ6=P6,dZ6=Lf1,pZ6){constructor({url:Q,statusCode:X,statusText:Y,cause:J,message:G=J==null?`Failed to download ${Q}: ${X} ${Y}`:`Failed to download ${Q}: ${J}`}){super({name:rZ6,message:G,cause:J});this[dZ6]=!0,this.url=Q,this.statusCode=X,this.statusText=Y}static isInstance(Q){return P6.hasMarker(Q,oZ6)}},wf1=EW();Mf1=["fetch failed","failed to fetch"];Af1=/"__proto__"\s*:/,Ef1=/"constructor"\s*:/;Cf1=Symbol("Let zodToJsonSchema decide on which parser to use"),nZ6={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"};s5={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(E90===void 0)E90=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return E90},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-_]*$/};uf1=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");C90={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};I90=Symbol.for("vercel.ai.schema")});var v90=I((Oi4,z$6)=>{var{defineProperty:k90,getOwnPropertyDescriptor:Th1,getOwnPropertyNames:Ph1}=Object,Ah1=Object.prototype.hasOwnProperty,Eh1=(Q,X)=>{for(var Y in X)k90(Q,Y,{get:X[Y],enumerable:!0})},jh1=(Q,X,Y,J)=>{if(X&&typeof X==="object"||typeof X==="function"){for(let G of Ph1(X))if(!Ah1.call(Q,G)&&G!==Y)k90(Q,G,{get:()=>X[G],enumerable:!(J=Th1(X,G))||J.enumerable})}return Q},Ch1=(Q)=>jh1(k90({},"__esModule",{value:!0}),Q),V$6={};Eh1(V$6,{SYMBOL_FOR_REQ_CONTEXT:()=>q$6,getContext:()=>Ih1});z$6.exports=Ch1(V$6);var q$6=Symbol.for("@vercel/request-context");function Ih1(){return globalThis[q$6]?.get?.()??{}}});var ZP=I((Li4,D$6)=>{var{defineProperty:_90,getOwnPropertyDescriptor:Rh1,getOwnPropertyNames:Sh1}=Object,kh1=Object.prototype.hasOwnProperty,vh1=(Q,X)=>{for(var Y in X)_90(Q,Y,{get:X[Y],enumerable:!0})},_h1=(Q,X,Y,J)=>{if(X&&typeof X==="object"||typeof X==="function"){for(let G of Sh1(X))if(!kh1.call(Q,G)&&G!==Y)_90(Q,G,{get:()=>X[G],enumerable:!(J=Rh1(X,G))||J.enumerable})}return Q},yh1=(Q)=>_h1(_90({},"__esModule",{value:!0}),Q),U$6={};vh1(U$6,{VercelOidcTokenError:()=>B$6});D$6.exports=yh1(U$6);class B$6 extends Error{constructor(Q,X){super(Q);this.name="VercelOidcTokenError",this.cause=X}toString(){if(this.cause)return`${this.name}: ${this.message}: ${this.cause}`;return`${this.name}: ${this.message}`}}});var w$6=I((wi4,L$6)=>{var{create:bh1,defineProperty:ub,getOwnPropertyDescriptor:fh1,getOwnPropertyNames:hh1,getPrototypeOf:xh1}=Object,gh1=Object.prototype.hasOwnProperty,uh1=(Q,X)=>{for(var Y in X)ub(Q,Y,{get:X[Y],enumerable:!0})},N$6=(Q,X,Y,J)=>{if(X&&typeof X==="object"||typeof X==="function"){for(let G of hh1(X))if(!gh1.call(Q,G)&&G!==Y)ub(Q,G,{get:()=>X[G],enumerable:!(J=fh1(X,G))||J.enumerable})}return Q},b90=(Q,X,Y)=>(Y=Q!=null?bh1(xh1(Q)):{},N$6(X||!Q||!Q.__esModule?ub(Y,"default",{value:Q,enumerable:!0}):Y,Q)),mh1=(Q)=>N$6(ub({},"__esModule",{value:!0}),Q),O$6={};uh1(O$6,{findRootDir:()=>ph1,getUserDataDir:()=>ch1});L$6.exports=mh1(O$6);var $P=b90(B0("path")),lh1=b90(B0("fs")),y90=b90(B0("os")),dh1=ZP();function ph1(){try{let Q=process.cwd();while(Q!==$P.default.dirname(Q)){let X=$P.default.join(Q,".vercel");if(lh1.default.existsSync(X))return Q;Q=$P.default.dirname(Q)}}catch(Q){throw new dh1.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}function ch1(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(y90.default.platform()){case"darwin":return $P.default.join(y90.default.homedir(),"Library/Application Support");case"linux":return $P.default.join(y90.default.homedir(),".local/share");case"win32":if(process.env.LOCALAPPDATA)return process.env.LOCALAPPDATA;return null;default:return null}}});var C$6=I((Mi4,j$6)=>{var{create:nh1,defineProperty:mb,getOwnPropertyDescriptor:ih1,getOwnPropertyNames:ah1,getPrototypeOf:rh1}=Object,oh1=Object.prototype.hasOwnProperty,sh1=(Q,X)=>{for(var Y in X)mb(Q,Y,{get:X[Y],enumerable:!0})},M$6=(Q,X,Y,J)=>{if(X&&typeof X==="object"||typeof X==="function"){for(let G of ah1(X))if(!oh1.call(Q,G)&&G!==Y)mb(Q,G,{get:()=>X[G],enumerable:!(J=ih1(X,G))||J.enumerable})}return Q},T$6=(Q,X,Y)=>(Y=Q!=null?nh1(rh1(Q)):{},M$6(X||!Q||!Q.__esModule?mb(Y,"default",{value:Q,enumerable:!0}):Y,Q)),th1=(Q)=>M$6(mb({},"__esModule",{value:!0}),Q),P$6={};sh1(P$6,{isValidAccessToken:()=>Yx1,readAuthConfig:()=>Qx1,writeAuthConfig:()=>Xx1});j$6.exports=th1(P$6);var KP=T$6(B0("fs")),A$6=T$6(B0("path")),eh1=lb();function E$6(){let Q=(0,eh1.getVercelDataDir)();if(!Q)throw Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return A$6.join(Q,"auth.json")}function Qx1(){try{let Q=E$6();if(!KP.existsSync(Q))return null;let X=KP.readFileSync(Q,"utf8");if(!X)return null;return JSON.parse(X)}catch(Q){return null}}function Xx1(Q){let X=E$6(),Y=A$6.dirname(X);if(!KP.existsSync(Y))KP.mkdirSync(Y,{mode:504,recursive:!0});KP.writeFileSync(X,JSON.stringify(Q,null,2),{mode:384})}function Yx1(Q){if(!Q.token)return!1;if(typeof Q.expiresAt!=="number")return!0;let X=Math.floor(Date.now()/1000);return Q.expiresAt>=X}});var k$6=I((Ti4,S$6)=>{var{defineProperty:x90,getOwnPropertyDescriptor:Jx1,getOwnPropertyNames:Gx1}=Object,Wx1=Object.prototype.hasOwnProperty,Zx1=(Q,X)=>{for(var Y in X)x90(Q,Y,{get:X[Y],enumerable:!0})},$x1=(Q,X,Y,J)=>{if(X&&typeof X==="object"||typeof X==="function"){for(let G of Gx1(X))if(!Wx1.call(Q,G)&&G!==Y)x90(Q,G,{get:()=>X[G],enumerable:!(J=Jx1(X,G))||J.enumerable})}return Q},Kx1=(Q)=>$x1(x90({},"__esModule",{value:!0}),Q),I$6={};Zx1(I$6,{processTokenResponse:()=>zx1,refreshTokenRequest:()=>qx1});S$6.exports=Kx1(I$6);var f90=B0("os"),Hx1="https://vercel.com",Fx1="cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",R$6=`@vercel/oidc node-${process.version} ${(0,f90.platform)()} (${(0,f90.arch)()}) ${(0,f90.hostname)()}`,h90=null;async function Vx1(){if(h90)return h90;let Q=`${Hx1}/.well-known/openid-configuration`,X=await fetch(Q,{headers:{"user-agent":R$6}});if(!X.ok)throw Error("Failed to discover OAuth endpoints");let Y=await X.json();if(!Y||typeof Y.token_endpoint!=="string")throw Error("Invalid OAuth discovery response");let J=Y.token_endpoint;return h90=J,J}async function qx1(Q){let X=await Vx1();return await fetch(X,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":R$6},body:new URLSearchParams({client_id:Fx1,grant_type:"refresh_token",...Q})})}async function zx1(Q){let X=await Q.json();if(!Q.ok){let Y=typeof X==="object"&&X&&"error"in X?String(X.error):"Token refresh failed";return[Error(Y)]}if(typeof X!=="object"||X===null)return[Error("Invalid token response")];if(typeof X.access_token!=="string")return[Error("Missing access_token in response")];if(X.token_type!=="Bearer")return[Error("Invalid token_type in response")];if(typeof X.expires_in!=="number")return[Error("Missing expires_in in response")];return[null,X]}});var lb=I((Pi4,f$6)=>{var{create:Ux1,defineProperty:db,getOwnPropertyDescriptor:Bx1,getOwnPropertyNames:Dx1,getPrototypeOf:Nx1}=Object,Ox1=Object.prototype.hasOwnProperty,Lx1=(Q,X)=>{for(var Y in X)db(Q,Y,{get:X[Y],enumerable:!0})},_$6=(Q,X,Y,J)=>{if(X&&typeof X==="object"||typeof X==="function"){for(let G of Dx1(X))if(!Ox1.call(Q,G)&&G!==Y)db(Q,G,{get:()=>X[G],enumerable:!(J=Bx1(X,G))||J.enumerable})}return Q},y$6=(Q,X,Y)=>(Y=Q!=null?Ux1(Nx1(Q)):{},_$6(X||!Q||!Q.__esModule?db(Y,"default",{value:Q,enumerable:!0}):Y,Q)),wx1=(Q)=>_$6(db({},"__esModule",{value:!0}),Q),b$6={};Lx1(b$6,{assertVercelOidcTokenResponse:()=>g90,findProjectInfo:()=>Ax1,getTokenPayload:()=>Cx1,getVercelCliToken:()=>Tx1,getVercelDataDir:()=>Mx1,getVercelOidcToken:()=>Px1,isExpired:()=>Ix1,loadToken:()=>jx1,saveToken:()=>Ex1});f$6.exports=wx1(b$6);var HP=y$6(B0("path")),_F=y$6(B0("fs")),UB=ZP(),pb=w$6(),zB=C$6(),v$6=k$6();function Mx1(){let X=(0,pb.getUserDataDir)();if(!X)return null;return HP.join(X,"com.vercel.cli")}async function Tx1(){let Q=(0,zB.readAuthConfig)();if(!Q)return null;if((0,zB.isValidAccessToken)(Q))return Q.token||null;if(!Q.refreshToken)return(0,zB.writeAuthConfig)({}),null;try{let X=await(0,v$6.refreshTokenRequest)({refresh_token:Q.refreshToken}),[Y,J]=await(0,v$6.processTokenResponse)(X);if(Y||!J)return(0,zB.writeAuthConfig)({}),null;let G={token:J.access_token,expiresAt:Math.floor(Date.now()/1000)+J.expires_in};if(J.refresh_token)G.refreshToken=J.refresh_token;return(0,zB.writeAuthConfig)(G),G.token??null}catch(X){return(0,zB.writeAuthConfig)({}),null}}async function Px1(Q,X,Y){let J=`https://api.vercel.com/v1/projects/${X}/token?source=vercel-oidc-refresh${Y?`&teamId=${Y}`:""}`,G=await fetch(J,{method:"POST",headers:{Authorization:`Bearer ${Q}`}});if(!G.ok)throw new UB.VercelOidcTokenError(`Failed to refresh OIDC token: ${G.statusText}`);let W=await G.json();return g90(W),W}function g90(Q){if(!Q||typeof Q!=="object")throw TypeError("Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again");if(!("token"in Q)||typeof Q.token!=="string")throw TypeError("Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again")}function Ax1(){let Q=(0,pb.findRootDir)();if(!Q)throw new UB.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let X=HP.join(Q,".vercel","project.json");if(!_F.existsSync(X))throw new UB.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let Y=JSON.parse(_F.readFileSync(X,"utf8"));if(typeof Y.projectId!=="string"&&typeof Y.orgId!=="string")throw TypeError("Expected a string-valued projectId property. Try running `vc link` to re-link your project.");return{projectId:Y.projectId,teamId:Y.orgId}}function Ex1(Q,X){let Y=(0,pb.getUserDataDir)();if(!Y)throw new UB.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let J=HP.join(Y,"com.vercel.token",`${X}.json`),G=JSON.stringify(Q);_F.mkdirSync(HP.dirname(J),{mode:504,recursive:!0}),_F.writeFileSync(J,G),_F.chmodSync(J,432);return}function jx1(Q){let X=(0,pb.getUserDataDir)();if(!X)throw new UB.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let Y=HP.join(X,"com.vercel.token",`${Q}.json`);if(!_F.existsSync(Y))return null;let J=JSON.parse(_F.readFileSync(Y,"utf8"));return g90(J),J}function Cx1(Q){let X=Q.split(".");if(X.length!==3)throw new UB.VercelOidcTokenError("Invalid token. Please run `vc env pull` and try again");let Y=X[1].replace(/-/g,"+").replace(/_/g,"/"),J=Y.padEnd(Y.length+(4-Y.length%4)%4,"=");return JSON.parse(Buffer.from(J,"base64").toString("utf8"))}function Ix1(Q){return Q.exp*1000<Date.now()}});var g$6=I((Ai4,x$6)=>{var{defineProperty:m90,getOwnPropertyDescriptor:Rx1,getOwnPropertyNames:Sx1}=Object,kx1=Object.prototype.hasOwnProperty,vx1=(Q,X)=>{for(var Y in X)m90(Q,Y,{get:X[Y],enumerable:!0})},_x1=(Q,X,Y,J)=>{if(X&&typeof X==="object"||typeof X==="function"){for(let G of Sx1(X))if(!kx1.call(Q,G)&&G!==Y)m90(Q,G,{get:()=>X[G],enumerable:!(J=Rx1(X,G))||J.enumerable})}return Q},yx1=(Q)=>_x1(m90({},"__esModule",{value:!0}),Q),h$6={};vx1(h$6,{refreshToken:()=>bx1});x$6.exports=yx1(h$6);var u90=ZP(),yF=lb();async function bx1(){let{projectId:Q,teamId:X}=(0,yF.findProjectInfo)(),Y=(0,yF.loadToken)(Q);if(!Y||(0,yF.isExpired)((0,yF.getTokenPayload)(Y.token))){let J=await(0,yF.getVercelCliToken)();if(!J)throw new u90.VercelOidcTokenError("Failed to refresh OIDC token: Log in to Vercel CLI and link your project with `vc link`");if(!Q)throw new u90.VercelOidcTokenError("Failed to refresh OIDC token: Try re-linking your project with `vc link`");if(Y=await(0,yF.getVercelOidcToken)(J,Q,X),!Y)throw new u90.VercelOidcTokenError("Failed to refresh OIDC token");(0,yF.saveToken)(Y,Q)}process.env.VERCEL_OIDC_TOKEN=Y.token;return}});var l$6=I((Ei4,m$6)=>{var{defineProperty:d90,getOwnPropertyDescriptor:fx1,getOwnPropertyNames:hx1}=Object,xx1=Object.prototype.hasOwnProperty,gx1=(Q,X)=>{for(var Y in X)d90(Q,Y,{get:X[Y],enumerable:!0})},ux1=(Q,X,Y,J)=>{if(X&&typeof X==="object"||typeof X==="function"){for(let G of hx1(X))if(!xx1.call(Q,G)&&G!==Y)d90(Q,G,{get:()=>X[G],enumerable:!(J=fx1(X,G))||J.enumerable})}return Q},mx1=(Q)=>ux1(d90({},"__esModule",{value:!0}),Q),u$6={};gx1(u$6,{getVercelOidcToken:()=>px1,getVercelOidcTokenSync:()=>l90});m$6.exports=mx1(u$6);var lx1=v90(),dx1=ZP();async function px1(){let Q="",X;try{Q=l90()}catch(Y){X=Y}try{let[{getTokenPayload:Y,isExpired:J},{refreshToken:G}]=await Promise.all([await Promise.resolve().then(() => k1(lb())),await Promise.resolve().then(() => k1(g$6()))]);if(!Q||J(Y(Q)))await G(),Q=l90()}catch(Y){let J=X instanceof Error?X.message:"";if(Y instanceof Error)J=`${J}
1063
- ${Y.message}`;if(J)throw new dx1.VercelOidcTokenError(J);throw Y}return Q}function l90(){let Q=(0,lx1.getContext)().headers?.["x-vercel-oidc-token"]??process.env.VERCEL_OIDC_TOKEN;if(!Q)throw Error("The 'x-vercel-oidc-token' header is missing from the request. Do you have the OIDC option enabled in the Vercel project settings?");return Q}});var c90=I((ji4,c$6)=>{var{defineProperty:p90,getOwnPropertyDescriptor:cx1,getOwnPropertyNames:nx1}=Object,ix1=Object.prototype.hasOwnProperty,ax1=(Q,X)=>{for(var Y in X)p90(Q,Y,{get:X[Y],enumerable:!0})},rx1=(Q,X,Y,J)=>{if(X&&typeof X==="object"||typeof X==="function"){for(let G of nx1(X))if(!ix1.call(Q,G)&&G!==Y)p90(Q,G,{get:()=>X[G],enumerable:!(J=cx1(X,G))||J.enumerable})}return Q},ox1=(Q)=>rx1(p90({},"__esModule",{value:!0}),Q),p$6={};ax1(p$6,{getContext:()=>sx1.getContext,getVercelOidcToken:()=>d$6.getVercelOidcToken,getVercelOidcTokenSync:()=>d$6.getVercelOidcTokenSync});c$6.exports=ox1(p$6);var d$6=l$6(),sx1=v90()});async function zK6({response:Q,statusCode:X,defaultMessage:Y="Gateway request failed",cause:J,authMethod:G}){let W=await hX({value:Q,schema:Fg1});if(!W.success)return new Hg1({message:`Invalid error response format: ${Y}`,statusCode:X,response:Q,validationError:W.error,cause:J});let Z=W.value,$=Z.error.type,K=Z.error.message;switch($){case"authentication_error":return cb.createContextualError({apiKeyProvided:G==="api-key",oidcTokenProvided:G==="oidc",statusCode:X,cause:J});case"invalid_request_error":return new Xg1({message:K,statusCode:X,cause:J});case"rate_limit_exceeded":return new Jg1({message:K,statusCode:X,cause:J});case"model_not_found":{let H=await hX({value:Z.error.param,schema:Wg1});return new Zg1({message:K,statusCode:X,modelId:H.success?H.value.modelId:void 0,cause:J})}case"internal_server_error":return new HK6({message:K,statusCode:X,cause:J});default:return new HK6({message:K,statusCode:X,cause:J})}}function AK(Q,X){var Y;if(eY.isInstance(Q))return Q;if(YQ.isInstance(Q))return zK6({response:Vg1(Q),statusCode:(Y=Q.statusCode)!=null?Y:500,defaultMessage:"Gateway request failed",cause:Q,authMethod:X});return zK6({response:{},statusCode:500,defaultMessage:Q instanceof Error?`Gateway request failed: ${Q.message}`:"Unknown Gateway error",cause:Q,authMethod:X})}function Vg1(Q){if(Q.data!==void 0)return Q.data;if(Q.responseBody!=null)try{return JSON.parse(Q.responseBody)}catch(X){return Q.responseBody}return{}}async function BB(Q){let X=await hX({value:Q[TK6],schema:qg1});return X.success?X.value:void 0}function BK6(Q){if(Q.type==="file"&&Q.data instanceof Uint8Array)return{...Q,data:kF(Q.data)};return Q}async function Mg1(){var Q;return(Q=PK6.getContext().headers)==null?void 0:Q["x-vercel-id"]}function Ag1(Q={}){var X,Y;let J=null,G=null,W=(X=Q.metadataCacheRefreshMillis)!=null?X:300000,Z=0,$=(Y=H$6(Q.baseURL))!=null?Y:"https://ai-gateway.vercel.sh/v3/ai",K=async()=>{try{let B=await Eg1(Q);return TK({Authorization:`Bearer ${B.token}`,"ai-gateway-protocol-version":Pg1,[TK6]:B.authMethod,...Q.headers},`ai-sdk/gateway/${Tg1}`)}catch(B){throw cb.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:B})}},H=()=>{let B=GP({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),L=GP({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),M=GP({settingValue:void 0,environmentVariableName:"VERCEL_REGION"});return async()=>{let C=await Mg1();return{...B&&{"ai-o11y-deployment-id":B},...L&&{"ai-o11y-environment":L},...M&&{"ai-o11y-region":M},...C&&{"ai-o11y-request-id":C}}}},F=(B)=>{return new Bg1(B,{provider:"gateway",baseURL:$,headers:K,fetch:Q.fetch,o11yHeaders:H()})},V=async()=>{var B,L,M;let C=(M=(L=(B=Q._internal)==null?void 0:B.currentDate)==null?void 0:L.call(B).getTime())!=null?M:Date.now();if(!J||C-Z>W)Z=C,J=new UK6({baseURL:$,headers:K,fetch:Q.fetch}).getAvailableModels().then((E)=>{return G=E,E}).catch(async(E)=>{throw await AK(E,await BB(await K()))});return G?Promise.resolve(G):J},q=async()=>{return new UK6({baseURL:$,headers:K,fetch:Q.fetch}).getCredits().catch(async(B)=>{throw await AK(B,await BB(await K()))})},U=function(B){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return F(B)};U.specificationVersion="v3",U.getAvailableModels=V,U.getCredits=q,U.imageModel=(B)=>{return new Og1(B,{provider:"gateway",baseURL:$,headers:K,fetch:Q.fetch,o11yHeaders:H()})},U.languageModel=F;let D=(B)=>{return new Dg1(B,{provider:"gateway",baseURL:$,headers:K,fetch:Q.fetch,o11yHeaders:H()})};return U.embeddingModel=D,U.textEmbeddingModel=D,U}async function Eg1(Q){let X=GP({settingValue:Q.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(X)return{token:X,authMethod:"api-key"};return{token:await AK6.getVercelOidcToken(),authMethod:"oidc"}}var PK6,AK6,tx1="vercel.ai.gateway.error",n90,n$6,i$6,eY,DK6="GatewayAuthenticationError",ex1,a$6,r$6,o$6,cb,NK6="GatewayInvalidRequestError",Qg1,s$6,t$6,e$6,Xg1,OK6="GatewayRateLimitError",Yg1,QK6,XK6,YK6,Jg1,LK6="GatewayModelNotFoundError",Gg1,JK6,Wg1,GK6,WK6,Zg1,wK6="GatewayInternalServerError",$g1,ZK6,$K6,KK6,HK6,MK6="GatewayResponseError",Kg1,FK6,VK6,qK6,Hg1,Fg1,TK6="ai-gateway-auth-method",qg1,UK6=class{constructor(Q){this.config=Q}async getAvailableModels(){try{let{value:Q}=await R90({url:`${this.config.baseURL}/config`,headers:await I9(this.config.headers()),successfulResponseHandler:$Z(zg1),failedResponseHandler:CW({errorSchema:N.any(),errorToMessage:(X)=>X}),fetch:this.config.fetch});return Q}catch(Q){throw await AK(Q)}}async getCredits(){try{let Q=new URL(this.config.baseURL),{value:X}=await R90({url:`${Q.origin}/v1/credits`,headers:await I9(this.config.headers()),successfulResponseHandler:$Z(Ug1),failedResponseHandler:CW({errorSchema:N.any(),errorToMessage:(Y)=>Y}),fetch:this.config.fetch});return X}catch(Q){throw await AK(Q)}}},zg1,Ug1,Bg1=class{constructor(Q,X){this.modelId=Q,this.config=X,this.specificationVersion="v3",this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(Q){let{abortSignal:X,...Y}=Q;return{args:this.maybeEncodeFileParts(Y),warnings:[]}}async doGenerate(Q){let{args:X,warnings:Y}=await this.getArgs(Q),{abortSignal:J}=Q,G=await I9(this.config.headers());try{let{responseHeaders:W,value:Z,rawValue:$}=await vF({url:this.getUrl(),headers:RF(G,Q.headers,this.getModelConfigHeaders(this.modelId,!1),await I9(this.config.o11yHeaders)),body:X,successfulResponseHandler:$Z(N.any()),failedResponseHandler:CW({errorSchema:N.any(),errorToMessage:(K)=>K}),...J&&{abortSignal:J},fetch:this.config.fetch});return{...Z,request:{body:X},response:{headers:W,body:$},warnings:Y}}catch(W){throw await AK(W,await BB(G))}}async doStream(Q){let{args:X,warnings:Y}=await this.getArgs(Q),{abortSignal:J}=Q,G=await I9(this.config.headers());try{let{value:W,responseHeaders:Z}=await vF({url:this.getUrl(),headers:RF(G,Q.headers,this.getModelConfigHeaders(this.modelId,!0),await I9(this.config.o11yHeaders)),body:X,successfulResponseHandler:K$6(N.any()),failedResponseHandler:CW({errorSchema:N.any(),errorToMessage:($)=>$}),...J&&{abortSignal:J},fetch:this.config.fetch});return{stream:W.pipeThrough(new TransformStream({start($){if(Y.length>0)$.enqueue({type:"stream-start",warnings:Y})},transform($,K){if($.success){let H=$.value;if(H.type==="raw"&&!Q.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:X},response:{headers:Z}}}catch(W){throw await AK(W,await BB(G))}}isFilePart(Q){return Q&&typeof Q==="object"&&"type"in Q&&Q.type==="file"}maybeEncodeFileParts(Q){for(let X of Q.prompt)for(let Y of X.content)if(this.isFilePart(Y)){let J=Y;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 Q}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(Q,X){return{"ai-language-model-specification-version":"3","ai-language-model-id":Q,"ai-language-model-streaming":String(X)}}},Dg1=class{constructor(Q,X){this.modelId=Q,this.config=X,this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values:Q,headers:X,abortSignal:Y,providerOptions:J}){var G;let W=await I9(this.config.headers());try{let{responseHeaders:Z,value:$,rawValue:K}=await vF({url:this.getUrl(),headers:RF(W,X!=null?X:{},this.getModelConfigHeaders(),await I9(this.config.o11yHeaders)),body:{values:Q,...J?{providerOptions:J}:{}},successfulResponseHandler:$Z(Ng1),failedResponseHandler:CW({errorSchema:N.any(),errorToMessage:(H)=>H}),...Y&&{abortSignal:Y},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 AK(Z,await BB(W))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},Ng1,Og1=class{constructor(Q,X){this.modelId=Q,this.config=X,this.specificationVersion="v3",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:Q,n:X,size:Y,aspectRatio:J,seed:G,files:W,mask:Z,providerOptions:$,headers:K,abortSignal:H}){var F;let V=await I9(this.config.headers());try{let{responseHeaders:q,value:U,rawValue:D}=await vF({url:this.getUrl(),headers:RF(V,K!=null?K:{},this.getModelConfigHeaders(),await I9(this.config.o11yHeaders)),body:{prompt:Q,n:X,...Y&&{size:Y},...J&&{aspectRatio:J},...G&&{seed:G},...$&&{providerOptions:$},...W&&{files:W.map((B)=>BK6(B))},...Z&&{mask:BK6(Z)}},successfulResponseHandler:$Z(wg1),failedResponseHandler:CW({errorSchema:N.any(),errorToMessage:(B)=>B}),...H&&{abortSignal:H},fetch:this.config.fetch});return{images:U.images,warnings:(F=U.warnings)!=null?F:[],providerMetadata:U.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:q}}}catch(q){throw AK(q,await BB(V))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}},Lg1,wg1,Tg1="3.0.9",Pg1="0.0.1",EK6;var i90=y(()=>{F4();S4();a1();a1();F4();F4();a1();F4();F4();a1();F4();a1();F4();a1();F4();a1();F4();PK6=k1(c90(),1),AK6=k1(c90(),1),n90=Symbol.for(tx1),eY=class Q extends(i$6=Error,n$6=n90,i$6){constructor({message:X,statusCode:Y=500,cause:J}){super(X);this[n$6]=!0,this.statusCode=Y,this.cause=J}static isInstance(X){return Q.hasMarker(X)}static hasMarker(X){return typeof X==="object"&&X!==null&&n90 in X&&X[n90]===!0}},ex1=`vercel.ai.gateway.error.${DK6}`,a$6=Symbol.for(ex1),cb=class Q extends(o$6=eY,r$6=a$6,o$6){constructor({message:X="Authentication failed",statusCode:Y=401,cause:J}={}){super({message:X,statusCode:Y,cause:J});this[r$6]=!0,this.name=DK6,this.type="authentication_error"}static isInstance(X){return eY.hasMarker(X)&&a$6 in X}static createContextualError({apiKeyProvided:X,oidcTokenProvided:Y,message:J="Authentication failed",statusCode:G=401,cause:W}){let Z;if(X)Z=`AI Gateway authentication failed: Invalid API key.
1063
+ ${Y.message}`;if(J)throw new dx1.VercelOidcTokenError(J);throw Y}return Q}function l90(){let Q=(0,lx1.getContext)().headers?.["x-vercel-oidc-token"]??process.env.VERCEL_OIDC_TOKEN;if(!Q)throw Error("The 'x-vercel-oidc-token' header is missing from the request. Do you have the OIDC option enabled in the Vercel project settings?");return Q}});var c90=I((ji4,c$6)=>{var{defineProperty:p90,getOwnPropertyDescriptor:cx1,getOwnPropertyNames:nx1}=Object,ix1=Object.prototype.hasOwnProperty,ax1=(Q,X)=>{for(var Y in X)p90(Q,Y,{get:X[Y],enumerable:!0})},rx1=(Q,X,Y,J)=>{if(X&&typeof X==="object"||typeof X==="function"){for(let G of nx1(X))if(!ix1.call(Q,G)&&G!==Y)p90(Q,G,{get:()=>X[G],enumerable:!(J=cx1(X,G))||J.enumerable})}return Q},ox1=(Q)=>rx1(p90({},"__esModule",{value:!0}),Q),p$6={};ax1(p$6,{getContext:()=>sx1.getContext,getVercelOidcToken:()=>d$6.getVercelOidcToken,getVercelOidcTokenSync:()=>d$6.getVercelOidcTokenSync});c$6.exports=ox1(p$6);var d$6=l$6(),sx1=v90()});async function zK6({response:Q,statusCode:X,defaultMessage:Y="Gateway request failed",cause:J,authMethod:G}){let W=await hX({value:Q,schema:Fg1});if(!W.success)return new Hg1({message:`Invalid error response format: ${Y}`,statusCode:X,response:Q,validationError:W.error,cause:J});let Z=W.value,$=Z.error.type,K=Z.error.message;switch($){case"authentication_error":return cb.createContextualError({apiKeyProvided:G==="api-key",oidcTokenProvided:G==="oidc",statusCode:X,cause:J});case"invalid_request_error":return new Xg1({message:K,statusCode:X,cause:J});case"rate_limit_exceeded":return new Jg1({message:K,statusCode:X,cause:J});case"model_not_found":{let H=await hX({value:Z.error.param,schema:Wg1});return new Zg1({message:K,statusCode:X,modelId:H.success?H.value.modelId:void 0,cause:J})}case"internal_server_error":return new HK6({message:K,statusCode:X,cause:J});default:return new HK6({message:K,statusCode:X,cause:J})}}function AK(Q,X){var Y;if(eY.isInstance(Q))return Q;if(YQ.isInstance(Q))return zK6({response:Vg1(Q),statusCode:(Y=Q.statusCode)!=null?Y:500,defaultMessage:"Gateway request failed",cause:Q,authMethod:X});return zK6({response:{},statusCode:500,defaultMessage:Q instanceof Error?`Gateway request failed: ${Q.message}`:"Unknown Gateway error",cause:Q,authMethod:X})}function Vg1(Q){if(Q.data!==void 0)return Q.data;if(Q.responseBody!=null)try{return JSON.parse(Q.responseBody)}catch(X){return Q.responseBody}return{}}async function BB(Q){let X=await hX({value:Q[TK6],schema:qg1});return X.success?X.value:void 0}function BK6(Q){if(Q.type==="file"&&Q.data instanceof Uint8Array)return{...Q,data:kF(Q.data)};return Q}async function Mg1(){var Q;return(Q=PK6.getContext().headers)==null?void 0:Q["x-vercel-id"]}function Ag1(Q={}){var X,Y;let J=null,G=null,W=(X=Q.metadataCacheRefreshMillis)!=null?X:300000,Z=0,$=(Y=H$6(Q.baseURL))!=null?Y:"https://ai-gateway.vercel.sh/v3/ai",K=async()=>{try{let B=await Eg1(Q);return TK({Authorization:`Bearer ${B.token}`,"ai-gateway-protocol-version":Pg1,[TK6]:B.authMethod,...Q.headers},`ai-sdk/gateway/${Tg1}`)}catch(B){throw cb.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:B})}},H=()=>{let B=GP({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),L=GP({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),M=GP({settingValue:void 0,environmentVariableName:"VERCEL_REGION"});return async()=>{let C=await Mg1();return{...B&&{"ai-o11y-deployment-id":B},...L&&{"ai-o11y-environment":L},...M&&{"ai-o11y-region":M},...C&&{"ai-o11y-request-id":C}}}},F=(B)=>{return new Bg1(B,{provider:"gateway",baseURL:$,headers:K,fetch:Q.fetch,o11yHeaders:H()})},V=async()=>{var B,L,M;let C=(M=(L=(B=Q._internal)==null?void 0:B.currentDate)==null?void 0:L.call(B).getTime())!=null?M:Date.now();if(!J||C-Z>W)Z=C,J=new UK6({baseURL:$,headers:K,fetch:Q.fetch}).getAvailableModels().then((E)=>{return G=E,E}).catch(async(E)=>{throw await AK(E,await BB(await K()))});return G?Promise.resolve(G):J},q=async()=>{return new UK6({baseURL:$,headers:K,fetch:Q.fetch}).getCredits().catch(async(B)=>{throw await AK(B,await BB(await K()))})},U=function(B){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return F(B)};U.specificationVersion="v3",U.getAvailableModels=V,U.getCredits=q,U.imageModel=(B)=>{return new Og1(B,{provider:"gateway",baseURL:$,headers:K,fetch:Q.fetch,o11yHeaders:H()})},U.languageModel=F;let D=(B)=>{return new Dg1(B,{provider:"gateway",baseURL:$,headers:K,fetch:Q.fetch,o11yHeaders:H()})};return U.embeddingModel=D,U.textEmbeddingModel=D,U}async function Eg1(Q){let X=GP({settingValue:Q.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(X)return{token:X,authMethod:"api-key"};return{token:await AK6.getVercelOidcToken(),authMethod:"oidc"}}var PK6,AK6,tx1="vercel.ai.gateway.error",n90,n$6,i$6,eY,DK6="GatewayAuthenticationError",ex1,a$6,r$6,o$6,cb,NK6="GatewayInvalidRequestError",Qg1,s$6,t$6,e$6,Xg1,OK6="GatewayRateLimitError",Yg1,QK6,XK6,YK6,Jg1,LK6="GatewayModelNotFoundError",Gg1,JK6,Wg1,GK6,WK6,Zg1,wK6="GatewayInternalServerError",$g1,ZK6,$K6,KK6,HK6,MK6="GatewayResponseError",Kg1,FK6,VK6,qK6,Hg1,Fg1,TK6="ai-gateway-auth-method",qg1,UK6=class{constructor(Q){this.config=Q}async getAvailableModels(){try{let{value:Q}=await R90({url:`${this.config.baseURL}/config`,headers:await I9(this.config.headers()),successfulResponseHandler:$Z(zg1),failedResponseHandler:CW({errorSchema:N.any(),errorToMessage:(X)=>X}),fetch:this.config.fetch});return Q}catch(Q){throw await AK(Q)}}async getCredits(){try{let Q=new URL(this.config.baseURL),{value:X}=await R90({url:`${Q.origin}/v1/credits`,headers:await I9(this.config.headers()),successfulResponseHandler:$Z(Ug1),failedResponseHandler:CW({errorSchema:N.any(),errorToMessage:(Y)=>Y}),fetch:this.config.fetch});return X}catch(Q){throw await AK(Q)}}},zg1,Ug1,Bg1=class{constructor(Q,X){this.modelId=Q,this.config=X,this.specificationVersion="v3",this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(Q){let{abortSignal:X,...Y}=Q;return{args:this.maybeEncodeFileParts(Y),warnings:[]}}async doGenerate(Q){let{args:X,warnings:Y}=await this.getArgs(Q),{abortSignal:J}=Q,G=await I9(this.config.headers());try{let{responseHeaders:W,value:Z,rawValue:$}=await vF({url:this.getUrl(),headers:RF(G,Q.headers,this.getModelConfigHeaders(this.modelId,!1),await I9(this.config.o11yHeaders)),body:X,successfulResponseHandler:$Z(N.any()),failedResponseHandler:CW({errorSchema:N.any(),errorToMessage:(K)=>K}),...J&&{abortSignal:J},fetch:this.config.fetch});return{...Z,request:{body:X},response:{headers:W,body:$},warnings:Y}}catch(W){throw await AK(W,await BB(G))}}async doStream(Q){let{args:X,warnings:Y}=await this.getArgs(Q),{abortSignal:J}=Q,G=await I9(this.config.headers());try{let{value:W,responseHeaders:Z}=await vF({url:this.getUrl(),headers:RF(G,Q.headers,this.getModelConfigHeaders(this.modelId,!0),await I9(this.config.o11yHeaders)),body:X,successfulResponseHandler:K$6(N.any()),failedResponseHandler:CW({errorSchema:N.any(),errorToMessage:($)=>$}),...J&&{abortSignal:J},fetch:this.config.fetch});return{stream:W.pipeThrough(new TransformStream({start($){if(Y.length>0)$.enqueue({type:"stream-start",warnings:Y})},transform($,K){if($.success){let H=$.value;if(H.type==="raw"&&!Q.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:X},response:{headers:Z}}}catch(W){throw await AK(W,await BB(G))}}isFilePart(Q){return Q&&typeof Q==="object"&&"type"in Q&&Q.type==="file"}maybeEncodeFileParts(Q){for(let X of Q.prompt)for(let Y of X.content)if(this.isFilePart(Y)){let J=Y;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 Q}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(Q,X){return{"ai-language-model-specification-version":"3","ai-language-model-id":Q,"ai-language-model-streaming":String(X)}}},Dg1=class{constructor(Q,X){this.modelId=Q,this.config=X,this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values:Q,headers:X,abortSignal:Y,providerOptions:J}){var G;let W=await I9(this.config.headers());try{let{responseHeaders:Z,value:$,rawValue:K}=await vF({url:this.getUrl(),headers:RF(W,X!=null?X:{},this.getModelConfigHeaders(),await I9(this.config.o11yHeaders)),body:{values:Q,...J?{providerOptions:J}:{}},successfulResponseHandler:$Z(Ng1),failedResponseHandler:CW({errorSchema:N.any(),errorToMessage:(H)=>H}),...Y&&{abortSignal:Y},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 AK(Z,await BB(W))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},Ng1,Og1=class{constructor(Q,X){this.modelId=Q,this.config=X,this.specificationVersion="v3",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:Q,n:X,size:Y,aspectRatio:J,seed:G,files:W,mask:Z,providerOptions:$,headers:K,abortSignal:H}){var F;let V=await I9(this.config.headers());try{let{responseHeaders:q,value:U,rawValue:D}=await vF({url:this.getUrl(),headers:RF(V,K!=null?K:{},this.getModelConfigHeaders(),await I9(this.config.o11yHeaders)),body:{prompt:Q,n:X,...Y&&{size:Y},...J&&{aspectRatio:J},...G&&{seed:G},...$&&{providerOptions:$},...W&&{files:W.map((B)=>BK6(B))},...Z&&{mask:BK6(Z)}},successfulResponseHandler:$Z(wg1),failedResponseHandler:CW({errorSchema:N.any(),errorToMessage:(B)=>B}),...H&&{abortSignal:H},fetch:this.config.fetch});return{images:U.images,warnings:(F=U.warnings)!=null?F:[],providerMetadata:U.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:q}}}catch(q){throw AK(q,await BB(V))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}},Lg1,wg1,Tg1="3.0.10",Pg1="0.0.1",EK6;var i90=y(()=>{F4();S4();a1();a1();F4();F4();a1();F4();F4();a1();F4();a1();F4();a1();F4();a1();F4();PK6=k1(c90(),1),AK6=k1(c90(),1),n90=Symbol.for(tx1),eY=class Q extends(i$6=Error,n$6=n90,i$6){constructor({message:X,statusCode:Y=500,cause:J}){super(X);this[n$6]=!0,this.statusCode=Y,this.cause=J}static isInstance(X){return Q.hasMarker(X)}static hasMarker(X){return typeof X==="object"&&X!==null&&n90 in X&&X[n90]===!0}},ex1=`vercel.ai.gateway.error.${DK6}`,a$6=Symbol.for(ex1),cb=class Q extends(o$6=eY,r$6=a$6,o$6){constructor({message:X="Authentication failed",statusCode:Y=401,cause:J}={}){super({message:X,statusCode:Y,cause:J});this[r$6]=!0,this.name=DK6,this.type="authentication_error"}static isInstance(X){return eY.hasMarker(X)&&a$6 in X}static createContextualError({apiKeyProvided:X,oidcTokenProvided:Y,message:J="Authentication failed",statusCode:G=401,cause:W}){let Z;if(X)Z=`AI Gateway authentication failed: Invalid API key.
1064
1064
 
1065
1065
  Create a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
1066
1066
 
@@ -1083,7 +1083,7 @@ Alternatively, you can use a provider module instead of the AI Gateway.
1083
1083
 
1084
1084
  Learn more: \x1B[34m${Y}\x1B[0m
1085
1085
 
1086
- `),{name:"GatewayAuthenticationError"})}function QX0({operationId:Q,telemetry:X}){return{"operation.name":`${Q}${(X==null?void 0:X.functionId)!=null?` ${X.functionId}`:""}`,"resource.name":X==null?void 0:X.functionId,"ai.operationId":Q,"ai.telemetry.functionId":X==null?void 0:X.functionId}}function xu1({model:Q,settings:X,telemetry:Y,headers:J}){var G;return{"ai.model.provider":Q.provider,"ai.model.id":Q.modelId,...Object.entries(X).reduce((W,[Z,$])=>{if(Z==="timeout"){let K=OH6($);if(K!=null)W[`ai.settings.${Z}`]=K}else W[`ai.settings.${Z}`]=$;return W},{}),...Object.entries((G=Y==null?void 0:Y.metadata)!=null?G:{}).reduce((W,[Z,$])=>{return W[`ai.telemetry.metadata.${Z}`]=$,W},{}),...Object.entries(J!=null?J:{}).reduce((W,[Z,$])=>{if($!==void 0)W[`ai.request.headers.${Z}`]=$;return W},{})}}function mu1({isEnabled:Q=!1,tracer:X}={}){if(!Q)return gu1;if(X)return X;return AH6.trace.getTracer("ai")}async function YX0({name:Q,tracer:X,attributes:Y,fn:J,endWhenDone:G=!0}){return X.startActiveSpan(Q,{attributes:await Y},async(W)=>{try{let Z=await J(W);if(G)W.end();return Z}catch(Z){try{EH6(W,Z)}finally{W.end()}throw Z}})}function EH6(Q,X){if(X instanceof Error)Q.recordException({name:X.name,message:X.message,stack:X.stack}),Q.setStatus({code:XX0.SpanStatusCode.ERROR,message:X.message});else Q.setStatus({code:XX0.SpanStatusCode.ERROR})}async function DB({telemetry:Q,attributes:X}){if((Q==null?void 0:Q.isEnabled)!==!0)return{};let Y={};for(let[J,G]of Object.entries(X)){if(G==null)continue;if(typeof G==="object"&&"input"in G&&typeof G.input==="function"){if((Q==null?void 0:Q.recordInputs)===!1)continue;let W=await G.input();if(W!=null)Y[J]=W;continue}if(typeof G==="object"&&"output"in G&&typeof G.output==="function"){if((Q==null?void 0:Q.recordOutputs)===!1)continue;let W=await G.output();if(W!=null)Y[J]=W;continue}Y[J]=G}return Y}function lu1(Q){return JSON.stringify(Q.map((X)=>({...X,content:typeof X.content==="string"?X.content:X.content.map((Y)=>Y.type==="file"?{...Y,data:Y.data instanceof Uint8Array?Nu1(Y.data):Y.data}:Y)})))}function du1(Q){return{inputTokens:Q.inputTokens.total,inputTokenDetails:{noCacheTokens:Q.inputTokens.noCache,cacheReadTokens:Q.inputTokens.cacheRead,cacheWriteTokens:Q.inputTokens.cacheWrite},outputTokens:Q.outputTokens.total,outputTokenDetails:{textTokens:Q.outputTokens.text,reasoningTokens:Q.outputTokens.reasoning},totalTokens:e5(Q.inputTokens.total,Q.outputTokens.total),raw:Q.raw,reasoningTokens:Q.outputTokens.reasoning,cachedInputTokens:Q.inputTokens.cacheRead}}function a90(){return{inputTokens:void 0,inputTokenDetails:{noCacheTokens:void 0,cacheReadTokens:void 0,cacheWriteTokens:void 0},outputTokens:void 0,outputTokenDetails:{textTokens:void 0,reasoningTokens:void 0},totalTokens:void 0,raw:void 0}}function pu1(Q,X){var Y,J,G,W,Z,$,K,H,F,V;return{inputTokens:e5(Q.inputTokens,X.inputTokens),inputTokenDetails:{noCacheTokens:e5((Y=Q.inputTokenDetails)==null?void 0:Y.noCacheTokens,(J=X.inputTokenDetails)==null?void 0:J.noCacheTokens),cacheReadTokens:e5((G=Q.inputTokenDetails)==null?void 0:G.cacheReadTokens,(W=X.inputTokenDetails)==null?void 0:W.cacheReadTokens),cacheWriteTokens:e5((Z=Q.inputTokenDetails)==null?void 0:Z.cacheWriteTokens,($=X.inputTokenDetails)==null?void 0:$.cacheWriteTokens)},outputTokens:e5(Q.outputTokens,X.outputTokens),outputTokenDetails:{textTokens:e5((K=Q.outputTokenDetails)==null?void 0:K.textTokens,(H=X.outputTokenDetails)==null?void 0:H.textTokens),reasoningTokens:e5((F=Q.outputTokenDetails)==null?void 0:F.reasoningTokens,(V=X.outputTokenDetails)==null?void 0:V.reasoningTokens)},totalTokens:e5(Q.totalTokens,X.totalTokens),reasoningTokens:e5(Q.reasoningTokens,X.reasoningTokens),cachedInputTokens:e5(Q.cachedInputTokens,X.cachedInputTokens)}}function e5(Q,X){return Q==null&&X==null?void 0:(Q!=null?Q:0)+(X!=null?X:0)}function $X0(Q,X){if(Q===void 0&&X===void 0)return;if(Q===void 0)return X;if(X===void 0)return Q;let Y={...Q};for(let J in X)if(Object.prototype.hasOwnProperty.call(X,J)){let G=X[J];if(G===void 0)continue;let W=J in Q?Q[J]:void 0,Z=G!==null&&typeof G==="object"&&!Array.isArray(G)&&!(G instanceof Date)&&!(G instanceof RegExp),$=W!==null&&W!==void 0&&typeof W==="object"&&!Array.isArray(W)&&!(W instanceof Date)&&!(W instanceof RegExp);if(Z&&$)Y[J]=$X0(W,G);else Y[J]=G}return Y}function cu1({error:Q,exponentialBackoffDelay:X}){let Y=Q.responseHeaders;if(!Y)return X;let J,G=Y["retry-after-ms"];if(G){let Z=parseFloat(G);if(!Number.isNaN(Z))J=Z}let W=Y["retry-after"];if(W&&J===void 0){let Z=parseFloat(W);if(!Number.isNaN(Z))J=Z*1000;else J=Date.parse(W)-Date.now()}if(J!=null&&!Number.isNaN(J)&&0<=J&&(J<60000||J<X))return J;return X}async function jH6(Q,{maxRetries:X,delayInMs:Y,backoffFactor:J,abortSignal:G},W=[]){try{return await Q()}catch(Z){if(ZZ(Z))throw Z;if(X===0)throw Z;let $=JP(Z),K=[...W,Z],H=K.length;if(H>X)throw new jK6({message:`Failed after ${H} attempts. Last error: ${$}`,reason:"maxRetriesExceeded",errors:K});if(Z instanceof Error&&YQ.isInstance(Z)&&Z.isRetryable===!0&&H<=X)return await aZ6(cu1({error:Z,exponentialBackoffDelay:Y}),{abortSignal:G}),jH6(Q,{maxRetries:X,delayInMs:J*Y,backoffFactor:J,abortSignal:G},K);if(H===1)throw Z;throw new jK6({message:`Failed after ${H} attempts with non-retryable error: '${$}'`,reason:"errorNotRetryable",errors:K})}}function iu1({maxRetries:Q,abortSignal:X}){if(Q!=null){if(!Number.isInteger(Q))throw new IW({parameter:"maxRetries",value:Q,message:"maxRetries must be an integer"});if(Q<0)throw new IW({parameter:"maxRetries",value:Q,message:"maxRetries must be >= 0"})}let Y=Q!=null?Q:2;return{maxRetries:Y,retry:nu1({maxRetries:Y,abortSignal:X})}}function au1({messages:Q}){let X=Q.at(-1);if((X==null?void 0:X.role)!="tool")return{approvedToolApprovals:[],deniedToolApprovals:[]};let Y={};for(let K of Q)if(K.role==="assistant"&&typeof K.content!=="string"){let H=K.content;for(let F of H)if(F.type==="tool-call")Y[F.toolCallId]=F}let J={};for(let K of Q)if(K.role==="assistant"&&typeof K.content!=="string"){let H=K.content;for(let F of H)if(F.type==="tool-approval-request")J[F.approvalId]=F}let G={};for(let K of X.content)if(K.type==="tool-result")G[K.toolCallId]=K;let W=[],Z=[],$=X.content.filter((K)=>K.type==="tool-approval-response");for(let K of $){let H=J[K.approvalId];if(H==null)throw new yg1({approvalId:K.approvalId});if(G[H.toolCallId]!=null)continue;let F=Y[H.toolCallId];if(F==null)throw new nK6({toolCallId:H.toolCallId,approvalId:H.approvalId});let V={approvalRequest:H,approvalResponse:K,toolCall:F};if(K.approved)W.push(V);else Z.push(V)}return{approvedToolApprovals:W,deniedToolApprovals:Z}}async function CH6({toolCall:Q,tools:X,tracer:Y,telemetry:J,messages:G,abortSignal:W,experimental_context:Z,onPreliminaryToolResult:$}){let{toolName:K,toolCallId:H,input:F}=Q,V=X==null?void 0:X[K];if((V==null?void 0:V.execute)==null)return;return YX0({name:"ai.toolCall",attributes:DB({telemetry:J,attributes:{...QX0({operationId:"ai.toolCall",telemetry:J}),"ai.toolCall.name":K,"ai.toolCall.id":H,"ai.toolCall.args":{output:()=>JSON.stringify(F)}}}),tracer:Y,fn:async(q)=>{let U;try{let D=F$6({execute:V.execute.bind(V),input:F,options:{toolCallId:H,messages:G,abortSignal:W,experimental_context:Z}});for await(let B of D)if(B.type==="preliminary")$==null||$({...Q,type:"tool-result",output:B.output,preliminary:!0});else U=B.output}catch(D){return EH6(q,D),{type:"tool-error",toolCallId:H,toolName:K,input:F,error:D,dynamic:V.type==="dynamic",...Q.providerMetadata!=null?{providerMetadata:Q.providerMetadata}:{}}}try{q.setAttributes(await DB({telemetry:J,attributes:{"ai.toolCall.result":{output:()=>JSON.stringify(U)}}}))}catch(D){}return{type:"tool-result",toolCallId:H,toolName:K,input:F,output:U,dynamic:V.type==="dynamic",...Q.providerMetadata!=null?{providerMetadata:Q.providerMetadata}:{}}}})}async function su1({tool:Q,toolCall:X,messages:Y,experimental_context:J}){if(Q.needsApproval==null)return!1;if(typeof Q.needsApproval==="boolean")return Q.needsApproval;return await Q.needsApproval(X.input,{toolCallId:X.toolCallId,messages:Y,experimental_context:J})}function eu1(Q){let X=["ROOT"],Y=-1,J=null;function G(K,H,F){switch(K){case'"':{Y=H,X.pop(),X.push(F),X.push("INSIDE_STRING");break}case"f":case"t":case"n":{Y=H,J=H,X.pop(),X.push(F),X.push("INSIDE_LITERAL");break}case"-":{X.pop(),X.push(F),X.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{Y=H,X.pop(),X.push(F),X.push("INSIDE_NUMBER");break}case"{":{Y=H,X.pop(),X.push(F),X.push("INSIDE_OBJECT_START");break}case"[":{Y=H,X.pop(),X.push(F),X.push("INSIDE_ARRAY_START");break}}}function W(K,H){switch(K){case",":{X.pop(),X.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{Y=H,X.pop();break}}}function Z(K,H){switch(K){case",":{X.pop(),X.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{Y=H,X.pop();break}}}for(let K=0;K<Q.length;K++){let H=Q[K];switch(X[X.length-1]){case"ROOT":G(H,K,"FINISH");break;case"INSIDE_OBJECT_START":{switch(H){case'"':{X.pop(),X.push("INSIDE_OBJECT_KEY");break}case"}":{Y=K,X.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch(H){case'"':{X.pop(),X.push("INSIDE_OBJECT_KEY");break}}break}case"INSIDE_OBJECT_KEY":{switch(H){case'"':{X.pop(),X.push("INSIDE_OBJECT_AFTER_KEY");break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch(H){case":":{X.pop(),X.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{G(H,K,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{W(H,K);break}case"INSIDE_STRING":{switch(H){case'"':{X.pop(),Y=K;break}case"\\":{X.push("INSIDE_STRING_ESCAPE");break}default:Y=K}break}case"INSIDE_ARRAY_START":{switch(H){case"]":{Y=K,X.pop();break}default:{Y=K,G(H,K,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(H){case",":{X.pop(),X.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{Y=K,X.pop();break}default:{Y=K;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{G(H,K,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{X.pop(),Y=K;break}case"INSIDE_NUMBER":{switch(H){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{Y=K;break}case"e":case"E":case"-":case".":break;case",":{if(X.pop(),X[X.length-1]==="INSIDE_ARRAY_AFTER_VALUE")Z(H,K);if(X[X.length-1]==="INSIDE_OBJECT_AFTER_VALUE")W(H,K);break}case"}":{if(X.pop(),X[X.length-1]==="INSIDE_OBJECT_AFTER_VALUE")W(H,K);break}case"]":{if(X.pop(),X[X.length-1]==="INSIDE_ARRAY_AFTER_VALUE")Z(H,K);break}default:{X.pop();break}}break}case"INSIDE_LITERAL":{let V=Q.substring(J,K+1);if(!"false".startsWith(V)&&!"true".startsWith(V)&&!"null".startsWith(V)){if(X.pop(),X[X.length-1]==="INSIDE_OBJECT_AFTER_VALUE")W(H,K);else if(X[X.length-1]==="INSIDE_ARRAY_AFTER_VALUE")Z(H,K)}else Y=K;break}}}let $=Q.slice(0,Y+1);for(let K=X.length-1;K>=0;K--)switch(X[K]){case"INSIDE_STRING":{$+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{$+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{$+="]";break}case"INSIDE_LITERAL":{let F=Q.substring(J,Q.length);if("true".startsWith(F))$+="true".slice(F.length);else if("false".startsWith(F))$+="false".slice(F.length);else if("null".startsWith(F))$+="null".slice(F.length)}}return $}async function qP(Q){if(Q===void 0)return{value:void 0,state:"undefined-input"};let X=await wY({text:Q});if(X.success)return{value:X.value,state:"successful-parse"};if(X=await wY({text:eu1(Q)}),X.success)return{value:X.value,state:"repaired-parse"};return{value:void 0,state:"failed-parse"}}async function Gm1({toolCall:Q,tools:X,repairToolCall:Y,system:J,messages:G}){var W;try{if(X==null){if(Q.providerExecuted&&Q.dynamic)return await IH6(Q);throw new e90({toolName:Q.toolName})}try{return await SK6({toolCall:Q,tools:X})}catch(Z){if(Y==null||!(e90.isInstance(Z)||ZX0.isInstance(Z)))throw Z;let $=null;try{$=await Y({toolCall:Q,tools:X,inputSchema:async({toolName:K})=>{let{inputSchema:H}=X[K];return await jW(H).jsonSchema},system:J,messages:G,error:Z})}catch(K){throw new ng1({cause:K,originalError:Z})}if($==null)throw Z;return await SK6({toolCall:$,tools:X})}}catch(Z){let $=await wY({text:Q.input}),K=$.success?$.value:Q.input;return{type:"tool-call",toolCallId:Q.toolCallId,toolName:Q.toolName,input:K,dynamic:!0,invalid:!0,error:Z,title:(W=X==null?void 0:X[Q.toolName])==null?void 0:W.title,providerExecuted:Q.providerExecuted,providerMetadata:Q.providerMetadata}}}async function IH6(Q){let X=Q.input.trim()===""?{success:!0,value:{}}:await wY({text:Q.input});if(X.success===!1)throw new ZX0({toolName:Q.toolName,toolInput:Q.input,cause:X.error});return{type:"tool-call",toolCallId:Q.toolCallId,toolName:Q.toolName,input:X.value,providerExecuted:!0,dynamic:!0,providerMetadata:Q.providerMetadata}}async function SK6({toolCall:Q,tools:X}){let Y=Q.toolName,J=X[Y];if(J==null){if(Q.providerExecuted&&Q.dynamic)return await IH6(Q);throw new e90({toolName:Q.toolName,availableTools:Object.keys(X)})}let G=jW(J.inputSchema),W=Q.input.trim()===""?await hX({value:{},schema:G}):await wY({text:Q.input,schema:G});if(W.success===!1)throw new ZX0({toolName:Y,toolInput:Q.input,cause:W.error});return J.type==="dynamic"?{type:"tool-call",toolCallId:Q.toolCallId,toolName:Q.toolName,input:W.value,providerExecuted:Q.providerExecuted,providerMetadata:Q.providerMetadata,dynamic:!0,title:J.title}:{type:"tool-call",toolCallId:Q.toolCallId,toolName:Y,input:W.value,providerExecuted:Q.providerExecuted,providerMetadata:Q.providerMetadata,title:J.title}}function KX0(Q){return({steps:X})=>X.length===Q}async function Zm1({stopConditions:Q,steps:X}){return(await Promise.all(Q.map((Y)=>Y({steps:X})))).some((Y)=>Y)}async function kK6({content:Q,tools:X}){let Y=[],J=[];for(let W of Q){if(W.type==="source")continue;if((W.type==="tool-result"||W.type==="tool-error")&&!W.providerExecuted)continue;if(W.type==="text"&&W.text.length===0)continue;switch(W.type){case"text":J.push({type:"text",text:W.text,providerOptions:W.providerMetadata});break;case"reasoning":J.push({type:"reasoning",text:W.text,providerOptions:W.providerMetadata});break;case"file":J.push({type:"file",data:W.file.base64,mediaType:W.file.mediaType,providerOptions:W.providerMetadata});break;case"tool-call":J.push({type:"tool-call",toolCallId:W.toolCallId,toolName:W.toolName,input:W.input,providerExecuted:W.providerExecuted,providerOptions:W.providerMetadata});break;case"tool-result":{let Z=await NB({toolCallId:W.toolCallId,input:W.input,tool:X==null?void 0:X[W.toolName],output:W.output,errorMode:"none"});J.push({type:"tool-result",toolCallId:W.toolCallId,toolName:W.toolName,output:Z,providerOptions:W.providerMetadata});break}case"tool-error":{let Z=await NB({toolCallId:W.toolCallId,input:W.input,tool:X==null?void 0:X[W.toolName],output:W.error,errorMode:"json"});J.push({type:"tool-result",toolCallId:W.toolCallId,toolName:W.toolName,output:Z,providerOptions:W.providerMetadata});break}case"tool-approval-request":J.push({type:"tool-approval-request",approvalId:W.approvalId,toolCallId:W.toolCall.toolCallId});break}}if(J.length>0)Y.push({role:"assistant",content:J});let G=[];for(let W of Q){if(!(W.type==="tool-result"||W.type==="tool-error")||W.providerExecuted)continue;let Z=await NB({toolCallId:W.toolCallId,input:W.input,tool:X==null?void 0:X[W.toolName],output:W.type==="tool-result"?W.output:W.error,errorMode:W.type==="tool-error"?"text":"none"});G.push({type:"tool-result",toolCallId:W.toolCallId,toolName:W.toolName,output:Z,...W.providerMetadata!=null?{providerOptions:W.providerMetadata}:{}})}if(G.length>0)Y.push({role:"tool",content:G});return Y}function $m1(...Q){let X=Q.filter((J)=>J!=null);if(X.length===0)return;if(X.length===1)return X[0];let Y=new AbortController;for(let J of X){if(J.aborted)return Y.abort(J.reason),Y.signal;J.addEventListener("abort",()=>{Y.abort(J.reason)},{once:!0})}return Y.signal}function rb(Q,X){let Y=new Headers(Q!=null?Q:{});for(let[J,G]of Object.entries(X))if(!Y.has(J))Y.set(J,G);return Y}function Km1({status:Q,statusText:X,headers:Y,textStream:J}){return new Response(J.pipeThrough(new TextEncoderStream),{status:Q!=null?Q:200,statusText:X,headers:rb(Y,{"content-type":"text/plain; charset=utf-8"})})}function RH6({response:Q,status:X,statusText:Y,headers:J,stream:G}){let W=X!=null?X:200;if(Y!==void 0)Q.writeHead(W,Y,J);else Q.writeHead(W,J);let Z=G.getReader();(async()=>{try{while(!0){let{done:K,value:H}=await Z.read();if(K)break;if(!Q.write(H))await new Promise((V)=>{Q.once("drain",V)})}}catch(K){throw K}finally{Q.end()}})()}function Hm1({response:Q,status:X,statusText:Y,headers:J,textStream:G}){RH6({response:Q,status:X,statusText:Y,headers:Object.fromEntries(rb(J,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:G.pipeThrough(new TextEncoderStream)})}function Fm1({status:Q,statusText:X,headers:Y,stream:J,consumeSseStream:G}){let W=J.pipeThrough(new SH6);if(G){let[Z,$]=W.tee();W=Z,G({stream:$})}return new Response(W.pipeThrough(new TextEncoderStream),{status:Q,statusText:X,headers:rb(Y,kH6)})}function Vm1({originalMessages:Q,responseMessageId:X}){if(Q==null)return;let Y=Q[Q.length-1];return(Y==null?void 0:Y.role)==="assistant"?Y.id:typeof X==="function"?X():X}function qm1(Q){return Q.type.startsWith("data-")}function r90(Q){return Q.type.startsWith("data-")}function o90(Q){return Q.type==="text"}function s90(Q){return Q.type==="file"}function vK6(Q){return Q.type==="reasoning"}function GX0(Q){return Q.type.startsWith("tool-")}function vH6(Q){return Q.type==="dynamic-tool"}function FP(Q){return GX0(Q)||vH6(Q)}function WX0(Q){return Q.type.split("-").slice(1).join("-")}function t90(Q){return vH6(Q)?Q.toolName:WX0(Q)}function zm1({lastMessage:Q,messageId:X}){return{message:(Q==null?void 0:Q.role)==="assistant"?Q:{id:X,metadata:void 0,role:"assistant",parts:[]},activeTextParts:{},activeReasoningParts:{},partialToolCalls:{}}}function Um1({stream:Q,messageMetadataSchema:X,dataPartSchemas:Y,runUpdateMessageJob:J,onError:G,onToolCall:W,onData:Z}){return Q.pipeThrough(new TransformStream({async transform($,K){await J(async({state:H,write:F})=>{var V,q,U,D;function B(E){let P=H.message.parts.filter(FP).find((j)=>j.toolCallId===E);if(P==null)throw Error(`no tool invocation found for tool call ${E}`);return P}function L(E){var A;let P=H.message.parts.find((k)=>GX0(k)&&k.toolCallId===E.toolCallId),j=E,R=P;if(P!=null){if(P.state=E.state,R.input=j.input,R.output=j.output,R.errorText=j.errorText,R.rawInput=j.rawInput,R.preliminary=j.preliminary,E.title!==void 0)R.title=E.title;if(R.providerExecuted=(A=j.providerExecuted)!=null?A:P.providerExecuted,j.providerMetadata!=null&&P.state==="input-available")P.callProviderMetadata=j.providerMetadata}else H.message.parts.push({type:`tool-${E.toolName}`,toolCallId:E.toolCallId,state:E.state,title:E.title,input:j.input,output:j.output,rawInput:j.rawInput,errorText:j.errorText,providerExecuted:j.providerExecuted,preliminary:j.preliminary,...j.providerMetadata!=null?{callProviderMetadata:j.providerMetadata}:{}})}function M(E){var A,P;let j=H.message.parts.find((b)=>b.type==="dynamic-tool"&&b.toolCallId===E.toolCallId),R=E,k=j;if(j!=null){if(j.state=E.state,k.toolName=E.toolName,k.input=R.input,k.output=R.output,k.errorText=R.errorText,k.rawInput=(A=R.rawInput)!=null?A:k.rawInput,k.preliminary=R.preliminary,E.title!==void 0)k.title=E.title;if(k.providerExecuted=(P=R.providerExecuted)!=null?P:j.providerExecuted,R.providerMetadata!=null&&j.state==="input-available")j.callProviderMetadata=R.providerMetadata}else H.message.parts.push({type:"dynamic-tool",toolName:E.toolName,toolCallId:E.toolCallId,state:E.state,input:R.input,output:R.output,errorText:R.errorText,preliminary:R.preliminary,providerExecuted:R.providerExecuted,title:E.title,...R.providerMetadata!=null?{callProviderMetadata:R.providerMetadata}:{}})}async function C(E){if(E!=null){let A=H.message.metadata!=null?$X0(H.message.metadata,E):E;if(X!=null)await WP({value:A,schema:X});H.message.metadata=A}}switch($.type){case"text-start":{let E={type:"text",text:"",providerMetadata:$.providerMetadata,state:"streaming"};H.activeTextParts[$.id]=E,H.message.parts.push(E),F();break}case"text-delta":{let E=H.activeTextParts[$.id];E.text+=$.delta,E.providerMetadata=(V=$.providerMetadata)!=null?V:E.providerMetadata,F();break}case"text-end":{let E=H.activeTextParts[$.id];E.state="done",E.providerMetadata=(q=$.providerMetadata)!=null?q:E.providerMetadata,delete H.activeTextParts[$.id],F();break}case"reasoning-start":{let E={type:"reasoning",text:"",providerMetadata:$.providerMetadata,state:"streaming"};H.activeReasoningParts[$.id]=E,H.message.parts.push(E),F();break}case"reasoning-delta":{let E=H.activeReasoningParts[$.id];E.text+=$.delta,E.providerMetadata=(U=$.providerMetadata)!=null?U:E.providerMetadata,F();break}case"reasoning-end":{let E=H.activeReasoningParts[$.id];E.providerMetadata=(D=$.providerMetadata)!=null?D:E.providerMetadata,E.state="done",delete H.activeReasoningParts[$.id],F();break}case"file":{H.message.parts.push({type:"file",mediaType:$.mediaType,url:$.url}),F();break}case"source-url":{H.message.parts.push({type:"source-url",sourceId:$.sourceId,url:$.url,title:$.title,providerMetadata:$.providerMetadata}),F();break}case"source-document":{H.message.parts.push({type:"source-document",sourceId:$.sourceId,mediaType:$.mediaType,title:$.title,filename:$.filename,providerMetadata:$.providerMetadata}),F();break}case"tool-input-start":{let E=H.message.parts.filter(GX0);if(H.partialToolCalls[$.toolCallId]={text:"",toolName:$.toolName,index:E.length,dynamic:$.dynamic,title:$.title},$.dynamic)M({toolCallId:$.toolCallId,toolName:$.toolName,state:"input-streaming",input:void 0,providerExecuted:$.providerExecuted,title:$.title});else L({toolCallId:$.toolCallId,toolName:$.toolName,state:"input-streaming",input:void 0,providerExecuted:$.providerExecuted,title:$.title});F();break}case"tool-input-delta":{let E=H.partialToolCalls[$.toolCallId];E.text+=$.inputTextDelta;let{value:A}=await qP(E.text);if(E.dynamic)M({toolCallId:$.toolCallId,toolName:E.toolName,state:"input-streaming",input:A,title:E.title});else L({toolCallId:$.toolCallId,toolName:E.toolName,state:"input-streaming",input:A,title:E.title});F();break}case"tool-input-available":{if($.dynamic)M({toolCallId:$.toolCallId,toolName:$.toolName,state:"input-available",input:$.input,providerExecuted:$.providerExecuted,providerMetadata:$.providerMetadata,title:$.title});else L({toolCallId:$.toolCallId,toolName:$.toolName,state:"input-available",input:$.input,providerExecuted:$.providerExecuted,providerMetadata:$.providerMetadata,title:$.title});if(F(),W&&!$.providerExecuted)await W({toolCall:$});break}case"tool-input-error":{if($.dynamic)M({toolCallId:$.toolCallId,toolName:$.toolName,state:"output-error",input:$.input,errorText:$.errorText,providerExecuted:$.providerExecuted,providerMetadata:$.providerMetadata});else L({toolCallId:$.toolCallId,toolName:$.toolName,state:"output-error",input:void 0,rawInput:$.input,errorText:$.errorText,providerExecuted:$.providerExecuted,providerMetadata:$.providerMetadata});F();break}case"tool-approval-request":{let E=B($.toolCallId);E.state="approval-requested",E.approval={id:$.approvalId},F();break}case"tool-output-denied":{let E=B($.toolCallId);E.state="output-denied",F();break}case"tool-output-available":{let E=B($.toolCallId);if(E.type==="dynamic-tool")M({toolCallId:$.toolCallId,toolName:E.toolName,state:"output-available",input:E.input,output:$.output,preliminary:$.preliminary,providerExecuted:$.providerExecuted,title:E.title});else L({toolCallId:$.toolCallId,toolName:WX0(E),state:"output-available",input:E.input,output:$.output,providerExecuted:$.providerExecuted,preliminary:$.preliminary,title:E.title});F();break}case"tool-output-error":{let E=B($.toolCallId);if(E.type==="dynamic-tool")M({toolCallId:$.toolCallId,toolName:E.toolName,state:"output-error",input:E.input,errorText:$.errorText,providerExecuted:$.providerExecuted,title:E.title});else L({toolCallId:$.toolCallId,toolName:WX0(E),state:"output-error",input:E.input,rawInput:E.rawInput,errorText:$.errorText,providerExecuted:$.providerExecuted,title:E.title});F();break}case"start-step":{H.message.parts.push({type:"step-start"});break}case"finish-step":{H.activeTextParts={},H.activeReasoningParts={};break}case"start":{if($.messageId!=null)H.message.id=$.messageId;if(await C($.messageMetadata),$.messageId!=null||$.messageMetadata!=null)F();break}case"finish":{if($.finishReason!=null)H.finishReason=$.finishReason;if(await C($.messageMetadata),$.messageMetadata!=null)F();break}case"message-metadata":{if(await C($.messageMetadata),$.messageMetadata!=null)F();break}case"error":{G==null||G(Error($.errorText));break}default:if(qm1($)){if((Y==null?void 0:Y[$.type])!=null)await WP({value:$.data,schema:Y[$.type]});let E=$;if(E.transient){Z==null||Z(E);break}let A=E.id!=null?H.message.parts.find((P)=>E.type===P.type&&E.id===P.id):void 0;if(A!=null)A.data=E.data;else H.message.parts.push(E);Z==null||Z(E),F()}}K.enqueue($)})}}))}function Bm1({messageId:Q,originalMessages:X=[],onFinish:Y,onError:J,stream:G}){let W=X==null?void 0:X[X.length-1];if((W==null?void 0:W.role)!=="assistant")W=void 0;else Q=W.id;let Z=!1,$=G.pipeThrough(new TransformStream({transform(q,U){if(q.type==="start"){let D=q;if(D.messageId==null&&Q!=null)D.messageId=Q}if(q.type==="abort")Z=!0;U.enqueue(q)}}));if(Y==null)return $;let K=zm1({lastMessage:W?structuredClone(W):void 0,messageId:Q!=null?Q:""}),H=async(q)=>{await q({state:K,write:()=>{}})},F=!1,V=async()=>{if(F||!Y)return;F=!0;let q=K.message.id===(W==null?void 0:W.id);await Y({isAborted:Z,isContinuation:q,responseMessage:K.message,messages:[...q?X.slice(0,-1):X,K.message],finishReason:K.finishReason})};return Um1({stream:$,runUpdateMessageJob:H,onError:J}).pipeThrough(new TransformStream({transform(q,U){U.enqueue(q)},async cancel(){await V()},async flush(){await V()}}))}function Dm1({response:Q,status:X,statusText:Y,headers:J,stream:G,consumeSseStream:W}){let Z=G.pipeThrough(new SH6);if(W){let[$,K]=Z.tee();Z=$,W({stream:K})}RH6({response:Q,status:X,statusText:Y,headers:Object.fromEntries(rb(J,kH6).entries()),stream:Z.pipeThrough(new TextEncoderStream)})}function ib(Q){let X=Q.pipeThrough(new TransformStream);return X[Symbol.asyncIterator]=function(){let Y=this.getReader(),J=!1;async function G(W){var Z;J=!0;try{if(W)await((Z=Y.cancel)==null?void 0:Z.call(Y))}finally{try{Y.releaseLock()}catch($){}}}return{async next(){if(J)return{done:!0,value:void 0};let{done:W,value:Z}=await Y.read();if(W)return await G(!0),{done:!0,value:void 0};return{done:!1,value:Z}},async return(){return await G(!0),{done:!0,value:void 0}},async throw(W){throw await G(!0),W}}},X}async function Nm1({stream:Q,onError:X}){let Y=Q.getReader();try{while(!0){let{done:J}=await Y.read();if(J)break}}catch(J){X==null||X(J)}finally{Y.releaseLock()}}function _K6(){let Q,X;return{promise:new Promise((J,G)=>{Q=J,X=G}),resolve:Q,reject:X}}function Om1(){let Q=[],X=null,Y=!1,J=_K6(),G=()=>{Y=!0,J.resolve(),Q.forEach((Z)=>Z.cancel()),Q=[],X==null||X.close()},W=async()=>{if(Y&&Q.length===0){X==null||X.close();return}if(Q.length===0)return J=_K6(),await J.promise,W();try{let{value:Z,done:$}=await Q[0].read();if($)if(Q.shift(),Q.length===0&&Y)X==null||X.close();else await W();else X==null||X.enqueue(Z)}catch(Z){X==null||X.error(Z),Q.shift(),G()}};return{stream:new ReadableStream({start(Z){X=Z},pull:W,async cancel(){for(let Z of Q)await Z.cancel();Q=[],Y=!0}}),addStream:(Z)=>{if(Y)throw Error("Cannot add inner stream: outer stream is closed");Q.push(Z.getReader()),J.resolve()},close:()=>{if(Y=!0,J.resolve(),Q.length===0)X==null||X.close()},terminate:G}}function Lm1(){var Q,X;return(X=(Q=globalThis==null?void 0:globalThis.performance)==null?void 0:Q.now())!=null?X:Date.now()}function wm1({tools:Q,generatorStream:X,tracer:Y,telemetry:J,system:G,messages:W,abortSignal:Z,repairToolCall:$,experimental_context:K,generateId:H}){let F=null,V=new ReadableStream({start(E){F=E}}),q=new Set,U=new Map,D=new Map,B=!1,L=void 0;function M(){if(B&&q.size===0){if(L!=null)F.enqueue(L);F.close()}}let C=new TransformStream({async transform(E,A){let P=E.type;switch(P){case"stream-start":case"text-start":case"text-delta":case"text-end":case"reasoning-start":case"reasoning-delta":case"reasoning-end":case"tool-input-start":case"tool-input-delta":case"tool-input-end":case"source":case"response-metadata":case"error":case"raw":{A.enqueue(E);break}case"file":{A.enqueue({type:"file",file:new ou1({data:E.data,mediaType:E.mediaType})});break}case"finish":{L={type:"finish",finishReason:E.finishReason.unified,rawFinishReason:E.finishReason.raw,usage:du1(E.usage),providerMetadata:E.providerMetadata};break}case"tool-approval-request":{let j=D.get(E.toolCallId);if(j==null){F.enqueue({type:"error",error:new nK6({toolCallId:E.toolCallId,approvalId:E.approvalId})});break}A.enqueue({type:"tool-approval-request",approvalId:E.approvalId,toolCall:j});break}case"tool-call":{try{let j=await Gm1({toolCall:E,tools:Q,repairToolCall:$,system:G,messages:W});if(D.set(j.toolCallId,j),A.enqueue(j),j.invalid){F.enqueue({type:"tool-error",toolCallId:j.toolCallId,toolName:j.toolName,input:j.input,error:JP(j.error),dynamic:!0,title:j.title});break}let R=Q==null?void 0:Q[j.toolName];if(R==null)break;if(R.onInputAvailable!=null)await R.onInputAvailable({input:j.input,toolCallId:j.toolCallId,messages:W,abortSignal:Z,experimental_context:K});if(await su1({tool:R,toolCall:j,messages:W,experimental_context:K})){F.enqueue({type:"tool-approval-request",approvalId:H(),toolCall:j});break}if(U.set(j.toolCallId,j.input),R.execute!=null&&j.providerExecuted!==!0){let k=H();q.add(k),CH6({toolCall:j,tools:Q,tracer:Y,telemetry:J,messages:W,abortSignal:Z,experimental_context:K,onPreliminaryToolResult:(b)=>{F.enqueue(b)}}).then((b)=>{F.enqueue(b)}).catch((b)=>{F.enqueue({type:"error",error:b})}).finally(()=>{q.delete(k),M()})}}catch(j){F.enqueue({type:"error",error:j})}break}case"tool-result":{let j=E.toolName;if(E.isError)F.enqueue({type:"tool-error",toolCallId:E.toolCallId,toolName:j,input:U.get(E.toolCallId),providerExecuted:!0,error:E.result,dynamic:E.dynamic});else A.enqueue({type:"tool-result",toolCallId:E.toolCallId,toolName:j,input:U.get(E.toolCallId),output:E.result,providerExecuted:!0,dynamic:E.dynamic});break}default:throw Error(`Unhandled chunk type: ${P}`)}},flush(){B=!0,M()}});return new ReadableStream({async start(E){return Promise.all([X.pipeThrough(C).pipeTo(new WritableStream({write(A){E.enqueue(A)},close(){}})),V.pipeTo(new WritableStream({write(A){E.enqueue(A)},close(){E.close()}}))])}})}function _H6({model:Q,tools:X,toolChoice:Y,system:J,prompt:G,messages:W,maxRetries:Z,abortSignal:$,timeout:K,headers:H,stopWhen:F=KX0(1),experimental_output:V,output:q=V,experimental_telemetry:U,prepareStep:D,providerOptions:B,experimental_activeTools:L,activeTools:M=L,experimental_repairToolCall:C,experimental_transform:E,experimental_download:A,includeRawChunks:P=!1,onChunk:j,onError:R=({error:Q0})=>{console.error(Q0)},onFinish:k,onAbort:b,onStepFinish:f,experimental_context:x,_internal:{now:r=Lm1,generateId:h=Mm1,currentDate:S=()=>new Date}={},...l}){let Q0=OH6(K);return new Pm1({model:NH6(Q),telemetry:U,headers:H,settings:l,maxRetries:Z,abortSignal:$m1($,Q0!=null?AbortSignal.timeout(Q0):void 0),system:J,prompt:G,messages:W,tools:X,toolChoice:Y,transforms:ab(E),activeTools:M,repairToolCall:C,stopConditions:ab(F),output:q,providerOptions:B,prepareStep:D,includeRawChunks:P,onChunk:j,onError:R,onFinish:k,onAbort:b,onStepFinish:f,now:r,currentDate:S,generateId:h,experimental_context:x,download:A})}function Tm1(Q){let X=void 0,Y="",J="",G=void 0,W="";function Z({controller:$,partialOutput:K=void 0}){$.enqueue({part:{type:"text-delta",id:X,text:J,providerMetadata:G},partialOutput:K}),J=""}return new TransformStream({async transform($,K){var H;if($.type==="finish-step"&&J.length>0)Z({controller:K});if($.type!=="text-delta"&&$.type!=="text-start"&&$.type!=="text-end"){K.enqueue({part:$,partialOutput:void 0});return}if(X==null)X=$.id;else if($.id!==X){K.enqueue({part:$,partialOutput:void 0});return}if($.type==="text-start"){K.enqueue({part:$,partialOutput:void 0});return}if($.type==="text-end"){if(J.length>0)Z({controller:K});K.enqueue({part:$,partialOutput:void 0});return}Y+=$.text,J+=$.text,G=(H=$.providerMetadata)!=null?H:G;let F=await Q.parsePartialOutput({text:Y});if(F!==void 0){let V=JSON.stringify(F.partial);if(V!==W)Z({controller:K,partialOutput:F.partial}),W=V}}})}async function yH6(Q,X){let Y=[];if(X==null?void 0:X.ignoreIncompleteToolCalls)Q=Q.map((J)=>({...J,parts:J.parts.filter((G)=>!FP(G)||G.state!=="input-streaming"&&G.state!=="input-available")}));for(let J of Q)switch(J.role){case"system":{let G=J.parts.filter((Z)=>Z.type==="text"),W=G.reduce((Z,$)=>{if($.providerMetadata!=null)return{...Z,...$.providerMetadata};return Z},{});Y.push({role:"system",content:G.map((Z)=>Z.text).join(""),...Object.keys(W).length>0?{providerOptions:W}:{}});break}case"user":{Y.push({role:"user",content:J.parts.map((G)=>{var W;if(o90(G))return{type:"text",text:G.text,...G.providerMetadata!=null?{providerOptions:G.providerMetadata}:{}};if(s90(G))return{type:"file",mediaType:G.mediaType,filename:G.filename,data:G.url,...G.providerMetadata!=null?{providerOptions:G.providerMetadata}:{}};if(r90(G))return(W=X==null?void 0:X.convertDataPart)==null?void 0:W.call(X,G)}).filter(eZ6)});break}case"assistant":{if(J.parts!=null){let G=[];async function W(){var Z,$,K,H,F,V;if(G.length===0)return;let q=[];for(let D of G)if(o90(D))q.push({type:"text",text:D.text,...D.providerMetadata!=null?{providerOptions:D.providerMetadata}:{}});else if(s90(D))q.push({type:"file",mediaType:D.mediaType,filename:D.filename,data:D.url});else if(vK6(D))q.push({type:"reasoning",text:D.text,providerOptions:D.providerMetadata});else if(FP(D)){let B=t90(D);if(D.state!=="input-streaming"){if(q.push({type:"tool-call",toolCallId:D.toolCallId,toolName:B,input:D.state==="output-error"?(Z=D.input)!=null?Z:("rawInput"in D)?D.rawInput:void 0:D.input,providerExecuted:D.providerExecuted,...D.callProviderMetadata!=null?{providerOptions:D.callProviderMetadata}:{}}),D.approval!=null)q.push({type:"tool-approval-request",approvalId:D.approval.id,toolCallId:D.toolCallId});if(D.providerExecuted===!0&&D.state!=="approval-responded"&&(D.state==="output-available"||D.state==="output-error"))q.push({type:"tool-result",toolCallId:D.toolCallId,toolName:B,output:await NB({toolCallId:D.toolCallId,input:D.input,output:D.state==="output-error"?D.errorText:D.output,tool:($=X==null?void 0:X.tools)==null?void 0:$[B],errorMode:D.state==="output-error"?"json":"none"}),...D.callProviderMetadata!=null?{providerOptions:D.callProviderMetadata}:{}})}}else if(r90(D)){let B=(K=X==null?void 0:X.convertDataPart)==null?void 0:K.call(X,D);if(B!=null)q.push(B)}else throw Error(`Unsupported part: ${D}`);Y.push({role:"assistant",content:q});let U=G.filter((D)=>{var B;return FP(D)&&(D.providerExecuted!==!0||((B=D.approval)==null?void 0:B.approved)!=null)});if(U.length>0){let D=[];for(let B of U){if(((H=B.approval)==null?void 0:H.approved)!=null)D.push({type:"tool-approval-response",approvalId:B.approval.id,approved:B.approval.approved,reason:B.approval.reason,providerExecuted:B.providerExecuted});if(B.providerExecuted===!0)continue;switch(B.state){case"output-denied":{D.push({type:"tool-result",toolCallId:B.toolCallId,toolName:t90(B),output:{type:"error-text",value:(F=B.approval.reason)!=null?F:"Tool execution denied."},...B.callProviderMetadata!=null?{providerOptions:B.callProviderMetadata}:{}});break}case"output-error":case"output-available":{let L=t90(B);D.push({type:"tool-result",toolCallId:B.toolCallId,toolName:L,output:await NB({toolCallId:B.toolCallId,input:B.input,output:B.state==="output-error"?B.errorText:B.output,tool:(V=X==null?void 0:X.tools)==null?void 0:V[L],errorMode:B.state==="output-error"?"text":"none"}),...B.callProviderMetadata!=null?{providerOptions:B.callProviderMetadata}:{}});break}}}if(D.length>0)Y.push({role:"tool",content:D})}G=[]}for(let Z of J.parts)if(o90(Z)||vK6(Z)||s90(Z)||FP(Z)||r90(Z))G.push(Z);else if(Z.type==="step-start")await W();await W();break}break}default:{let G=J.role;throw new Xu1({originalMessage:J,message:`Unsupported role: ${G}`})}}return Y}function bH6({messages:Q,reasoning:X="none",toolCalls:Y=[],emptyMessages:J="remove"}){if(X==="all"||X==="before-last-message")Q=Q.map((G,W)=>{if(G.role!=="assistant"||typeof G.content==="string"||X==="before-last-message"&&W===Q.length-1)return G;return{...G,content:G.content.filter((Z)=>Z.type!=="reasoning")}});if(Y==="none")Y=[];else if(Y==="all")Y=[{type:"all"}];else if(Y==="before-last-message")Y=[{type:"before-last-message"}];else if(typeof Y==="string")Y=[{type:Y}];for(let G of Y){let W=G.type==="all"?void 0:G.type==="before-last-message"?1:Number(G.type.slice(12).slice(0,-9)),Z=new Set,$=new Set;if(W!=null){for(let K of Q.slice(-W))if((K.role==="assistant"||K.role==="tool")&&typeof K.content!=="string"){for(let H of K.content)if(H.type==="tool-call"||H.type==="tool-result")Z.add(H.toolCallId);else if(H.type==="tool-approval-request"||H.type==="tool-approval-response")$.add(H.approvalId)}}Q=Q.map((K,H)=>{if(K.role!=="assistant"&&K.role!=="tool"||typeof K.content==="string"||W&&H>=Q.length-W)return K;let F={},V={};return{...K,content:K.content.filter((q)=>{if(q.type!=="tool-call"&&q.type!=="tool-result"&&q.type!=="tool-approval-request"&&q.type!=="tool-approval-response")return!0;if(q.type==="tool-call")F[q.toolCallId]=q.toolName;else if(q.type==="tool-approval-request")V[q.approvalId]=F[q.toolCallId];if((q.type==="tool-call"||q.type==="tool-result")&&Z.has(q.toolCallId)||(q.type==="tool-approval-request"||q.type==="tool-approval-response")&&$.has(q.approvalId))return!0;return G.tools!=null&&!G.tools.includes(q.type==="tool-call"||q.type==="tool-result"?q.toolName:V[q.approvalId])})}})}if(J==="remove")Q=Q.filter((G)=>G.content.length>0);return Q}var AH6,XX0,jg1,Cg1=(Q,X)=>{for(var Y in X)jg1(Q,Y,{get:X[Y],enumerable:!0})},yK6="AI_InvalidArgumentError",bK6,Ig1,fK6,IW,Rg1="AI_InvalidStreamPartError",Sg1,kg1,vg1,hK6="AI_InvalidToolApprovalError",xK6,_g1,gK6,yg1,uK6="AI_InvalidToolInputError",mK6,bg1,lK6,ZX0,dK6="AI_ToolCallNotFoundForApprovalError",pK6,fg1,cK6,nK6,hg1="AI_NoImageGeneratedError",xg1,gg1,ug1,iK6="AI_NoObjectGeneratedError",aK6,mg1,rK6,EK,oK6="AI_NoOutputGeneratedError",sK6,lg1,tK6,dg1,eK6="AI_NoSuchToolError",QH6,pg1,XH6,e90,YH6="AI_ToolCallRepairError",JH6,cg1,GH6,ng1,ig1,ag1="AI_InvalidDataContentError",rg1,og1,sg1,WH6="AI_InvalidMessageRoleError",ZH6,tg1,$H6,eg1,KH6="AI_MessageConversionError",HH6,Qu1,FH6,Xu1,VH6="AI_RetryError",qH6,Yu1,zH6,jK6,Gu1="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",CK6=!1,UH6=(Q)=>{if(Q.warnings.length===0)return;let X=globalThis.AI_SDK_LOG_WARNINGS;if(X===!1)return;if(typeof X==="function"){X(Q);return}if(!CK6)CK6=!0,console.info(Gu1);for(let Y of Q.warnings)console.warn(Ju1({warning:Y,provider:Q.provider,model:Q.model}))},Hu1,Fu1=(Q)=>{let X=typeof Q==="string"?qB(Q):Q,Y=(X[6]&127)<<21|(X[7]&127)<<14|(X[8]&127)<<7|X[9]&127;return X.slice(Y+10)},zu1="6.0.18",Uu1=async({url:Q})=>{var X;let Y=Q.toString();try{let J=await fetch(Y,{headers:TK({},`ai-sdk/${zu1}`,gb())});if(!J.ok)throw new xb({url:Y,statusCode:J.status,statusText:J.statusText});return{data:new Uint8Array(await J.arrayBuffer()),mediaType:(X=J.headers.get("content-type"))!=null?X:void 0}}catch(J){if(xb.isInstance(J))throw J;throw new xb({url:Y,cause:J})}},Bu1=(Q=Uu1)=>(X)=>Promise.all(X.map(async(Y)=>Y.isUrlSupportedByModel?null:Q(Y))),LH6,VP,i6,MH6,Eu1,TH6,ju1,Cu1,Iu1,PH6,Ru1,Su1,ku1,vu1,_u1,yu1,bu1,gu1,nb,uu1,nu1=({maxRetries:Q=2,initialDelayInMs:X=2000,backoffFactor:Y=2,abortSignal:J}={})=>async(G)=>jH6(G,{maxRetries:Q,delayInMs:X,backoffFactor:Y,abortSignal:J}),ru1=class{constructor({data:Q,mediaType:X}){let Y=Q instanceof Uint8Array;this.base64Data=Y?void 0:Q,this.uint8ArrayData=Y?Q:void 0,this.mediaType=X}get base64(){if(this.base64Data==null)this.base64Data=kF(this.uint8ArrayData);return this.base64Data}get uint8Array(){if(this.uint8ArrayData==null)this.uint8ArrayData=qB(this.base64Data);return this.uint8ArrayData}},ou1,tu1,JX0=()=>({responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:Q}){return Q},async parsePartialOutput({text:Q}){return{partial:Q}}}),Qm1=({schema:Q,name:X,description:Y})=>{let J=jW(Q);return{responseFormat:I9(J.jsonSchema).then((G)=>({type:"json",schema:G,...X!=null&&{name:X},...Y!=null&&{description:Y}})),async parseCompleteOutput({text:G},W){let Z=await wY({text:G});if(!Z.success)throw new EK({message:"No object generated: could not parse the response.",cause:Z.error,text:G,response:W.response,usage:W.usage,finishReason:W.finishReason});let $=await hX({value:Z.value,schema:J});if(!$.success)throw new EK({message:"No object generated: response did not match schema.",cause:$.error,text:G,response:W.response,usage:W.usage,finishReason:W.finishReason});return $.value},async parsePartialOutput({text:G}){let W=await qP(G);switch(W.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:W.value}}}}},Xm1=({element:Q,name:X,description:Y})=>{let J=jW(Q);return{responseFormat:I9(J.jsonSchema).then((G)=>{let{$schema:W,...Z}=G;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:Z}},required:["elements"],additionalProperties:!1},...X!=null&&{name:X},...Y!=null&&{description:Y}}}),async parseCompleteOutput({text:G},W){let Z=await wY({text:G});if(!Z.success)throw new EK({message:"No object generated: could not parse the response.",cause:Z.error,text:G,response:W.response,usage:W.usage,finishReason:W.finishReason});let $=Z.value;if($==null||typeof $!=="object"||!("elements"in $)||!Array.isArray($.elements))throw new EK({message:"No object generated: response did not match schema.",cause:new o5({value:$,cause:"response must be an object with an elements array"}),text:G,response:W.response,usage:W.usage,finishReason:W.finishReason});for(let K of $.elements){let H=await hX({value:K,schema:J});if(!H.success)throw new EK({message:"No object generated: response did not match schema.",cause:H.error,text:G,response:W.response,usage:W.usage,finishReason:W.finishReason})}return $.elements},async parsePartialOutput({text:G}){let W=await qP(G);switch(W.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let Z=W.value;if(Z==null||typeof Z!=="object"||!("elements"in Z)||!Array.isArray(Z.elements))return;let $=W.state==="repaired-parse"&&Z.elements.length>0?Z.elements.slice(0,-1):Z.elements,K=[];for(let H of $){let F=await hX({value:H,schema:J});if(F.success)K.push(F.value)}return{partial:K}}}}}},Ym1=({options:Q,name:X,description:Y})=>{return{responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:Q}},required:["result"],additionalProperties:!1},...X!=null&&{name:X},...Y!=null&&{description:Y}}),async parseCompleteOutput({text:J},G){let W=await wY({text:J});if(!W.success)throw new EK({message:"No object generated: could not parse the response.",cause:W.error,text:J,response:G.response,usage:G.usage,finishReason:G.finishReason});let Z=W.value;if(Z==null||typeof Z!=="object"||!("result"in Z)||typeof Z.result!=="string"||!Q.includes(Z.result))throw new EK({message:"No object generated: response did not match schema.",cause:new o5({value:Z,cause:"response must be an object that contains a choice value."}),text:J,response:G.response,usage:G.usage,finishReason:G.finishReason});return Z.result},async parsePartialOutput({text:J}){let G=await qP(J);switch(G.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let W=G.value;if(W==null||typeof W!=="object"||!("result"in W)||typeof W.result!=="string")return;let Z=Q.filter(($)=>$.startsWith(W.result));if(G.state==="successful-parse")return Z.includes(W.result)?{partial:W.result}:void 0;else return Z.length===1?{partial:Z[0]}:void 0}}}}},Jm1=({name:Q,description:X}={})=>{return{responseFormat:Promise.resolve({type:"json",...Q!=null&&{name:Q},...X!=null&&{description:X}}),async parseCompleteOutput({text:Y},J){let G=await wY({text:Y});if(!G.success)throw new EK({message:"No object generated: could not parse the response.",cause:G.error,text:Y,response:J.response,usage:J.usage,finishReason:J.finishReason});return G.value},async parsePartialOutput({text:Y}){let J=await qP(Y);switch(J.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return J.value===void 0?void 0:{partial:J.value}}}}},Wm1=class{constructor({content:Q,finishReason:X,rawFinishReason:Y,usage:J,warnings:G,request:W,response:Z,providerMetadata:$}){this.content=Q,this.finishReason=X,this.rawFinishReason=Y,this.usage=J,this.warnings=G,this.request=W,this.response=Z,this.providerMetadata=$}get text(){return this.content.filter((Q)=>Q.type==="text").map((Q)=>Q.text).join("")}get reasoning(){return this.content.filter((Q)=>Q.type==="reasoning")}get reasoningText(){return this.reasoning.length===0?void 0:this.reasoning.map((Q)=>Q.text).join("")}get files(){return this.content.filter((Q)=>Q.type==="file").map((Q)=>Q.file)}get sources(){return this.content.filter((Q)=>Q.type==="source")}get toolCalls(){return this.content.filter((Q)=>Q.type==="tool-call")}get staticToolCalls(){return this.toolCalls.filter((Q)=>Q.dynamic!==!0)}get dynamicToolCalls(){return this.toolCalls.filter((Q)=>Q.dynamic===!0)}get toolResults(){return this.content.filter((Q)=>Q.type==="tool-result")}get staticToolResults(){return this.toolResults.filter((Q)=>Q.dynamic!==!0)}get dynamicToolResults(){return this.toolResults.filter((Q)=>Q.dynamic===!0)}},la4,SH6,kH6,aa4,Mm1,Pm1=class{constructor({model:Q,telemetry:X,headers:Y,settings:J,maxRetries:G,abortSignal:W,system:Z,prompt:$,messages:K,tools:H,toolChoice:F,transforms:V,activeTools:q,repairToolCall:U,stopConditions:D,output:B,providerOptions:L,prepareStep:M,includeRawChunks:C,now:E,currentDate:A,generateId:P,onChunk:j,onError:R,onFinish:k,onAbort:b,onStepFinish:f,experimental_context:x,download:r}){this._totalUsage=new SF,this._finishReason=new SF,this._rawFinishReason=new SF,this._steps=new SF,this.outputSpecification=B,this.includeRawChunks=C,this.tools=H;let h,S=[],l=[],Q0=void 0,o=void 0,J0=void 0,z0={},Z0=[],V0=[],P0=new Map,_0,H6={},N0={},G0=new TransformStream({async transform(u0,A0){var S0,D6,p6,A1;A0.enqueue(u0);let{part:l0}=u0;if(l0.type==="text-delta"||l0.type==="reasoning-delta"||l0.type==="source"||l0.type==="tool-call"||l0.type==="tool-result"||l0.type==="tool-input-start"||l0.type==="tool-input-delta"||l0.type==="raw")await(j==null?void 0:j({chunk:l0}));if(l0.type==="error")await R({error:hu1(l0.error)});if(l0.type==="text-start")H6[l0.id]={type:"text",text:"",providerMetadata:l0.providerMetadata},S.push(H6[l0.id]);if(l0.type==="text-delta"){let d0=H6[l0.id];if(d0==null){A0.enqueue({part:{type:"error",error:`text part ${l0.id} not found`},partialOutput:void 0});return}d0.text+=l0.text,d0.providerMetadata=(S0=l0.providerMetadata)!=null?S0:d0.providerMetadata}if(l0.type==="text-end"){let d0=H6[l0.id];if(d0==null){A0.enqueue({part:{type:"error",error:`text part ${l0.id} not found`},partialOutput:void 0});return}d0.providerMetadata=(D6=l0.providerMetadata)!=null?D6:d0.providerMetadata,delete H6[l0.id]}if(l0.type==="reasoning-start")N0[l0.id]={type:"reasoning",text:"",providerMetadata:l0.providerMetadata},S.push(N0[l0.id]);if(l0.type==="reasoning-delta"){let d0=N0[l0.id];if(d0==null){A0.enqueue({part:{type:"error",error:`reasoning part ${l0.id} not found`},partialOutput:void 0});return}d0.text+=l0.text,d0.providerMetadata=(p6=l0.providerMetadata)!=null?p6:d0.providerMetadata}if(l0.type==="reasoning-end"){let d0=N0[l0.id];if(d0==null){A0.enqueue({part:{type:"error",error:`reasoning part ${l0.id} not found`},partialOutput:void 0});return}d0.providerMetadata=(A1=l0.providerMetadata)!=null?A1:d0.providerMetadata,delete N0[l0.id]}if(l0.type==="file")S.push({type:"file",file:l0.file});if(l0.type==="source")S.push(l0);if(l0.type==="tool-call")S.push(l0);if(l0.type==="tool-result"&&!l0.preliminary)S.push(l0);if(l0.type==="tool-approval-request")S.push(l0);if(l0.type==="tool-error")S.push(l0);if(l0.type==="start-step")S=[],N0={},H6={},z0=l0.request,Z0=l0.warnings;if(l0.type==="finish-step"){let d0=await kK6({content:S,tools:H}),C0=new Wm1({content:S,finishReason:l0.finishReason,rawFinishReason:l0.rawFinishReason,usage:l0.usage,warnings:Z0,request:z0,response:{...l0.response,messages:[...l,...d0]},providerMetadata:l0.providerMetadata});await(f==null?void 0:f(C0)),UH6({warnings:Z0,provider:Q.provider,model:Q.modelId}),V0.push(C0),l.push(...d0),h.resolve()}if(l0.type==="finish")J0=l0.totalUsage,Q0=l0.finishReason,o=l0.rawFinishReason},async flush(u0){try{if(V0.length===0){let p6=(W==null?void 0:W.aborted)?W.reason:new dg1({message:"No output generated. Check the stream for errors."});U0._finishReason.reject(p6),U0._rawFinishReason.reject(p6),U0._totalUsage.reject(p6),U0._steps.reject(p6);return}let A0=Q0!=null?Q0:"other",S0=J0!=null?J0:a90();U0._finishReason.resolve(A0),U0._rawFinishReason.resolve(o),U0._totalUsage.resolve(S0),U0._steps.resolve(V0);let D6=V0[V0.length-1];await(k==null?void 0:k({finishReason:D6.finishReason,rawFinishReason:D6.rawFinishReason,totalUsage:S0,usage:D6.usage,content:D6.content,text:D6.text,reasoningText:D6.reasoningText,reasoning:D6.reasoning,files:D6.files,sources:D6.sources,toolCalls:D6.toolCalls,staticToolCalls:D6.staticToolCalls,dynamicToolCalls:D6.dynamicToolCalls,toolResults:D6.toolResults,staticToolResults:D6.staticToolResults,dynamicToolResults:D6.dynamicToolResults,request:D6.request,response:D6.response,warnings:D6.warnings,providerMetadata:D6.providerMetadata,steps:V0,experimental_context:x})),_0.setAttributes(await DB({telemetry:X,attributes:{"ai.response.finishReason":A0,"ai.response.text":{output:()=>D6.text},"ai.response.toolCalls":{output:()=>{var p6;return((p6=D6.toolCalls)==null?void 0:p6.length)?JSON.stringify(D6.toolCalls):void 0}},"ai.response.providerMetadata":JSON.stringify(D6.providerMetadata),"ai.usage.inputTokens":S0.inputTokens,"ai.usage.outputTokens":S0.outputTokens,"ai.usage.totalTokens":S0.totalTokens,"ai.usage.reasoningTokens":S0.reasoningTokens,"ai.usage.cachedInputTokens":S0.cachedInputTokens}}))}catch(A0){u0.error(A0)}finally{_0.end()}}}),R0=Om1();this.addStream=R0.addStream,this.closeStream=R0.close;let d6=R0.stream.getReader(),f6=new ReadableStream({async start(u0){u0.enqueue({type:"start"})},async pull(u0){function A0(){b==null||b({steps:V0}),u0.enqueue({type:"abort",...(W==null?void 0:W.reason)!==void 0?{reason:r5(W.reason)}:{}}),u0.close()}try{let{done:S0,value:D6}=await d6.read();if(S0){u0.close();return}if(W==null?void 0:W.aborted){A0();return}u0.enqueue(D6)}catch(S0){if(ZZ(S0)&&(W==null?void 0:W.aborted))A0();else u0.error(S0)}},cancel(u0){return R0.stream.cancel(u0)}});for(let u0 of V)f6=f6.pipeThrough(u0({tools:H,stopStream(){R0.terminate()}}));this.baseStream=f6.pipeThrough(Tm1(B!=null?B:JX0())).pipeThrough(G0);let{maxRetries:b0,retry:L0}=iu1({maxRetries:G,abortSignal:W}),$0=mu1(X),T0=Tu1(J),H0=xu1({model:Q,telemetry:X,headers:Y,settings:{...T0,maxRetries:b0}}),U0=this;YX0({name:"ai.streamText",attributes:DB({telemetry:X,attributes:{...QX0({operationId:"ai.streamText",telemetry:X}),...H0,"ai.prompt":{input:()=>JSON.stringify({system:Z,prompt:$,messages:K})}}}),tracer:$0,endWhenDone:!1,fn:async(u0)=>{_0=u0;let A0=await fu1({system:Z,prompt:$,messages:K}),S0=A0.messages,D6=[],{approvedToolApprovals:p6,deniedToolApprovals:A1}=au1({messages:S0});if(A1.length>0||p6.length>0){let d0=[...p6,...A1].filter((E6)=>E6.toolCall.providerExecuted),C0=p6.filter((E6)=>!E6.toolCall.providerExecuted),J6=A1.filter((E6)=>!E6.toolCall.providerExecuted),k4=A1.filter((E6)=>E6.toolCall.providerExecuted),l1,JQ=new ReadableStream({start(E6){l1=E6}});U0.addStream(JQ);try{for(let I0 of[...J6,...k4])l1==null||l1.enqueue({type:"tool-output-denied",toolCallId:I0.toolCall.toolCallId,toolName:I0.toolCall.toolName});let E6=[];if(await Promise.all(C0.map(async(I0)=>{let v4=await CH6({toolCall:I0.toolCall,tools:H,tracer:$0,telemetry:X,messages:S0,abortSignal:W,experimental_context:x,onPreliminaryToolResult:(O)=>{l1==null||l1.enqueue(O)}});if(v4!=null)l1==null||l1.enqueue(v4),E6.push(v4)})),d0.length>0)D6.push({role:"tool",content:d0.map((I0)=>({type:"tool-approval-response",approvalId:I0.approvalResponse.approvalId,approved:I0.approvalResponse.approved,reason:I0.approvalResponse.reason,providerExecuted:!0}))});if(E6.length>0||J6.length>0){let I0=[];for(let v4 of E6)I0.push({type:"tool-result",toolCallId:v4.toolCallId,toolName:v4.toolName,output:await NB({toolCallId:v4.toolCallId,input:v4.input,tool:H==null?void 0:H[v4.toolName],output:v4.type==="tool-result"?v4.output:v4.error,errorMode:v4.type==="tool-error"?"json":"none"})});for(let v4 of J6)I0.push({type:"tool-result",toolCallId:v4.toolCall.toolCallId,toolName:v4.toolCall.toolName,output:{type:"execution-denied",reason:v4.approvalResponse.reason}});D6.push({role:"tool",content:I0})}}finally{l1==null||l1.close()}}l.push(...D6);async function l0({currentStep:d0,responseMessages:C0,usage:J6}){var k4,l1,JQ,E6,I0,v4;let O=U0.includeRawChunks;h=new SF;let _=[...S0,...C0],e=await(M==null?void 0:M({model:Q,steps:V0,stepNumber:V0.length,messages:_,experimental_context:x})),Y0=NH6((k4=e==null?void 0:e.model)!=null?k4:Q),z=await Ou1({prompt:{system:(l1=e==null?void 0:e.system)!=null?l1:A0.system,messages:(JQ=e==null?void 0:e.messages)!=null?JQ:_},supportedUrls:await Y0.supportedUrls,download:r}),{toolChoice:w,tools:v}=await Au1({tools:H,toolChoice:(E6=e==null?void 0:e.toolChoice)!=null?E6:F,activeTools:(I0=e==null?void 0:e.activeTools)!=null?I0:q});x=(v4=e==null?void 0:e.experimental_context)!=null?v4:x;let n=$X0(L,e==null?void 0:e.providerOptions),{result:{stream:s,response:m,request:M0},doStreamSpan:e0,startTimestampMs:A6}=await L0(()=>YX0({name:"ai.streamText.doStream",attributes:DB({telemetry:X,attributes:{...QX0({operationId:"ai.streamText.doStream",telemetry:X}),...H0,"ai.model.provider":Y0.provider,"ai.model.id":Y0.modelId,"ai.prompt.messages":{input:()=>lu1(z)},"ai.prompt.tools":{input:()=>v==null?void 0:v.map((G6)=>JSON.stringify(G6))},"ai.prompt.toolChoice":{input:()=>w!=null?JSON.stringify(w):void 0},"gen_ai.system":Y0.provider,"gen_ai.request.model":Y0.modelId,"gen_ai.request.frequency_penalty":T0.frequencyPenalty,"gen_ai.request.max_tokens":T0.maxOutputTokens,"gen_ai.request.presence_penalty":T0.presencePenalty,"gen_ai.request.stop_sequences":T0.stopSequences,"gen_ai.request.temperature":T0.temperature,"gen_ai.request.top_k":T0.topK,"gen_ai.request.top_p":T0.topP}}),tracer:$0,endWhenDone:!1,fn:async(G6)=>({startTimestampMs:E(),doStreamSpan:G6,result:await Y0.doStream({...T0,tools:v,toolChoice:w,responseFormat:await(B==null?void 0:B.responseFormat),prompt:z,providerOptions:n,abortSignal:W,headers:Y,includeRawChunks:O})})})),v0=wm1({tools:H,generatorStream:s,tracer:$0,telemetry:X,system:Z,messages:_,repairToolCall:U,abortSignal:W,experimental_context:x,generateId:P}),w6=M0!=null?M0:{},S1=[],_8=[],b1,xX={},QG="other",HZ=void 0,p0=a90(),B1,zQ=!0,m8={id:P(),timestamp:A(),modelId:Q.modelId},Y6="";U0.addStream(v0.pipeThrough(new TransformStream({async transform(G6,V4){var gX,jK,zP,jQ,bF;if(G6.type==="stream-start"){b1=G6.warnings;return}if(zQ){let UQ=E()-A6;zQ=!1,e0.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":UQ}),e0.setAttributes({"ai.response.msToFirstChunk":UQ}),V4.enqueue({type:"start-step",request:w6,warnings:b1!=null?b1:[]})}let eb=G6.type;switch(eb){case"tool-approval-request":case"text-start":case"text-end":{V4.enqueue(G6);break}case"text-delta":{if(G6.delta.length>0)V4.enqueue({type:"text-delta",id:G6.id,text:G6.delta,providerMetadata:G6.providerMetadata}),Y6+=G6.delta;break}case"reasoning-start":case"reasoning-end":{V4.enqueue(G6);break}case"reasoning-delta":{V4.enqueue({type:"reasoning-delta",id:G6.id,text:G6.delta,providerMetadata:G6.providerMetadata});break}case"tool-call":{V4.enqueue(G6),S1.push(G6);break}case"tool-result":{if(V4.enqueue(G6),!G6.preliminary)_8.push(G6);break}case"tool-error":{V4.enqueue(G6),_8.push(G6);break}case"response-metadata":{m8={id:(gX=G6.id)!=null?gX:m8.id,timestamp:(jK=G6.timestamp)!=null?jK:m8.timestamp,modelId:(zP=G6.modelId)!=null?zP:m8.modelId};break}case"finish":{p0=G6.usage,QG=G6.finishReason,HZ=G6.rawFinishReason,B1=G6.providerMetadata;let UQ=E()-A6;e0.addEvent("ai.stream.finish"),e0.setAttributes({"ai.response.msToFinish":UQ,"ai.response.avgOutputTokensPerSecond":1000*((jQ=p0.outputTokens)!=null?jQ:0)/UQ});break}case"file":{V4.enqueue(G6);break}case"source":{V4.enqueue(G6);break}case"tool-input-start":{xX[G6.id]=G6.toolName;let UQ=H==null?void 0:H[G6.toolName];if((UQ==null?void 0:UQ.onInputStart)!=null)await UQ.onInputStart({toolCallId:G6.id,messages:_,abortSignal:W,experimental_context:x});V4.enqueue({...G6,dynamic:(bF=G6.dynamic)!=null?bF:(UQ==null?void 0:UQ.type)==="dynamic",title:UQ==null?void 0:UQ.title});break}case"tool-input-end":{delete xX[G6.id],V4.enqueue(G6);break}case"tool-input-delta":{let UQ=xX[G6.id],Qf=H==null?void 0:H[UQ];if((Qf==null?void 0:Qf.onInputDelta)!=null)await Qf.onInputDelta({inputTextDelta:G6.delta,toolCallId:G6.id,messages:_,abortSignal:W,experimental_context:x});V4.enqueue(G6);break}case"error":{V4.enqueue(G6),QG="error";break}case"raw":{if(O)V4.enqueue(G6);break}default:throw Error(`Unknown chunk type: ${eb}`)}},async flush(G6){let V4=S1.length>0?JSON.stringify(S1):void 0;try{e0.setAttributes(await DB({telemetry:X,attributes:{"ai.response.finishReason":QG,"ai.response.text":{output:()=>Y6},"ai.response.toolCalls":{output:()=>V4},"ai.response.id":m8.id,"ai.response.model":m8.modelId,"ai.response.timestamp":m8.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(B1),"ai.usage.inputTokens":p0.inputTokens,"ai.usage.outputTokens":p0.outputTokens,"ai.usage.totalTokens":p0.totalTokens,"ai.usage.reasoningTokens":p0.reasoningTokens,"ai.usage.cachedInputTokens":p0.cachedInputTokens,"gen_ai.response.finish_reasons":[QG],"gen_ai.response.id":m8.id,"gen_ai.response.model":m8.modelId,"gen_ai.usage.input_tokens":p0.inputTokens,"gen_ai.usage.output_tokens":p0.outputTokens}}))}catch(jQ){}finally{e0.end()}G6.enqueue({type:"finish-step",finishReason:QG,rawFinishReason:HZ,usage:p0,providerMetadata:B1,response:{...m8,headers:m==null?void 0:m.headers}});let gX=pu1(J6,p0);await h.promise;let jK=S1.filter((jQ)=>jQ.providerExecuted!==!0),zP=_8.filter((jQ)=>jQ.providerExecuted!==!0);for(let jQ of S1){if(jQ.providerExecuted!==!0)continue;let bF=H==null?void 0:H[jQ.toolName];if((bF==null?void 0:bF.type)==="provider"&&bF.supportsDeferredResults){if(!_8.some((UQ)=>UQ.type==="tool-result"&&UQ.toolCallId===jQ.toolCallId))P0.set(jQ.toolCallId,{toolName:jQ.toolName})}}for(let jQ of _8)if(jQ.type==="tool-result")P0.delete(jQ.toolCallId);if((jK.length>0&&zP.length===jK.length||P0.size>0)&&!await Zm1({stopConditions:D,steps:V0})){C0.push(...await kK6({content:V0[V0.length-1].content,tools:H}));try{await l0({currentStep:d0+1,responseMessages:C0,usage:gX})}catch(jQ){G6.enqueue({type:"error",error:jQ}),U0.closeStream()}}else G6.enqueue({type:"finish",finishReason:QG,rawFinishReason:HZ,totalUsage:gX}),U0.closeStream()}})))}await l0({currentStep:0,responseMessages:D6,usage:a90()})}}).catch((u0)=>{U0.addStream(new ReadableStream({start(A0){A0.enqueue({type:"error",error:u0}),A0.close()}})),U0.closeStream()})}get steps(){return this.consumeStream(),this._steps.promise}get finalStep(){return this.steps.then((Q)=>Q[Q.length-1])}get content(){return this.finalStep.then((Q)=>Q.content)}get warnings(){return this.finalStep.then((Q)=>Q.warnings)}get providerMetadata(){return this.finalStep.then((Q)=>Q.providerMetadata)}get text(){return this.finalStep.then((Q)=>Q.text)}get reasoningText(){return this.finalStep.then((Q)=>Q.reasoningText)}get reasoning(){return this.finalStep.then((Q)=>Q.reasoning)}get sources(){return this.finalStep.then((Q)=>Q.sources)}get files(){return this.finalStep.then((Q)=>Q.files)}get toolCalls(){return this.finalStep.then((Q)=>Q.toolCalls)}get staticToolCalls(){return this.finalStep.then((Q)=>Q.staticToolCalls)}get dynamicToolCalls(){return this.finalStep.then((Q)=>Q.dynamicToolCalls)}get toolResults(){return this.finalStep.then((Q)=>Q.toolResults)}get staticToolResults(){return this.finalStep.then((Q)=>Q.staticToolResults)}get dynamicToolResults(){return this.finalStep.then((Q)=>Q.dynamicToolResults)}get usage(){return this.finalStep.then((Q)=>Q.usage)}get request(){return this.finalStep.then((Q)=>Q.request)}get response(){return this.finalStep.then((Q)=>Q.response)}get totalUsage(){return this.consumeStream(),this._totalUsage.promise}get finishReason(){return this.consumeStream(),this._finishReason.promise}get rawFinishReason(){return this.consumeStream(),this._rawFinishReason.promise}teeStream(){let[Q,X]=this.baseStream.tee();return this.baseStream=X,Q}get textStream(){return ib(this.teeStream().pipeThrough(new TransformStream({transform({part:Q},X){if(Q.type==="text-delta")X.enqueue(Q.text)}})))}get fullStream(){return ib(this.teeStream().pipeThrough(new TransformStream({transform({part:Q},X){X.enqueue(Q)}})))}async consumeStream(Q){var X;try{await Nm1({stream:this.fullStream,onError:Q==null?void 0:Q.onError})}catch(Y){(X=Q==null?void 0:Q.onError)==null||X.call(Q,Y)}}get experimental_partialOutputStream(){return this.partialOutputStream}get partialOutputStream(){return ib(this.teeStream().pipeThrough(new TransformStream({transform({partialOutput:Q},X){if(Q!=null)X.enqueue(Q)}})))}get output(){return this.finalStep.then((Q)=>{var X;return((X=this.outputSpecification)!=null?X:JX0()).parseCompleteOutput({text:Q.text},{response:Q.response,usage:Q.usage,finishReason:Q.finishReason})})}toUIMessageStream({originalMessages:Q,generateMessageId:X,onFinish:Y,messageMetadata:J,sendReasoning:G=!0,sendSources:W=!1,sendStart:Z=!0,sendFinish:$=!0,onError:K=r5}={}){let H=X!=null?Vm1({originalMessages:Q,responseMessageId:X}):void 0,F=(q)=>{var U;let D=(U=this.tools)==null?void 0:U[q.toolName];if(D==null)return q.dynamic;return(D==null?void 0:D.type)==="dynamic"?!0:void 0},V=this.fullStream.pipeThrough(new TransformStream({transform:async(q,U)=>{let D=J==null?void 0:J({part:q}),B=q.type;switch(B){case"text-start":{U.enqueue({type:"text-start",id:q.id,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"text-delta":{U.enqueue({type:"text-delta",id:q.id,delta:q.text,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"text-end":{U.enqueue({type:"text-end",id:q.id,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"reasoning-start":{U.enqueue({type:"reasoning-start",id:q.id,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"reasoning-delta":{if(G)U.enqueue({type:"reasoning-delta",id:q.id,delta:q.text,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"reasoning-end":{U.enqueue({type:"reasoning-end",id:q.id,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"file":{U.enqueue({type:"file",mediaType:q.file.mediaType,url:`data:${q.file.mediaType};base64,${q.file.base64}`});break}case"source":{if(W&&q.sourceType==="url")U.enqueue({type:"source-url",sourceId:q.id,url:q.url,title:q.title,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});if(W&&q.sourceType==="document")U.enqueue({type:"source-document",sourceId:q.id,mediaType:q.mediaType,title:q.title,filename:q.filename,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"tool-input-start":{let L=F(q);U.enqueue({type:"tool-input-start",toolCallId:q.id,toolName:q.toolName,...q.providerExecuted!=null?{providerExecuted:q.providerExecuted}:{},...L!=null?{dynamic:L}:{},...q.title!=null?{title:q.title}:{}});break}case"tool-input-delta":{U.enqueue({type:"tool-input-delta",toolCallId:q.id,inputTextDelta:q.delta});break}case"tool-call":{let L=F(q);if(q.invalid)U.enqueue({type:"tool-input-error",toolCallId:q.toolCallId,toolName:q.toolName,input:q.input,...q.providerExecuted!=null?{providerExecuted:q.providerExecuted}:{},...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{},...L!=null?{dynamic:L}:{},errorText:K(q.error),...q.title!=null?{title:q.title}:{}});else U.enqueue({type:"tool-input-available",toolCallId:q.toolCallId,toolName:q.toolName,input:q.input,...q.providerExecuted!=null?{providerExecuted:q.providerExecuted}:{},...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{},...L!=null?{dynamic:L}:{},...q.title!=null?{title:q.title}:{}});break}case"tool-approval-request":{U.enqueue({type:"tool-approval-request",approvalId:q.approvalId,toolCallId:q.toolCall.toolCallId});break}case"tool-result":{let L=F(q);U.enqueue({type:"tool-output-available",toolCallId:q.toolCallId,output:q.output,...q.providerExecuted!=null?{providerExecuted:q.providerExecuted}:{},...q.preliminary!=null?{preliminary:q.preliminary}:{},...L!=null?{dynamic:L}:{}});break}case"tool-error":{let L=F(q);U.enqueue({type:"tool-output-error",toolCallId:q.toolCallId,errorText:K(q.error),...q.providerExecuted!=null?{providerExecuted:q.providerExecuted}:{},...L!=null?{dynamic:L}:{}});break}case"tool-output-denied":{U.enqueue({type:"tool-output-denied",toolCallId:q.toolCallId});break}case"error":{U.enqueue({type:"error",errorText:K(q.error)});break}case"start-step":{U.enqueue({type:"start-step"});break}case"finish-step":{U.enqueue({type:"finish-step"});break}case"start":{if(Z)U.enqueue({type:"start",...D!=null?{messageMetadata:D}:{},...H!=null?{messageId:H}:{}});break}case"finish":{if($)U.enqueue({type:"finish",finishReason:q.finishReason,...D!=null?{messageMetadata:D}:{}});break}case"abort":{U.enqueue(q);break}case"tool-input-end":break;case"raw":break;default:throw Error(`Unknown chunk type: ${B}`)}if(D!=null&&B!=="start"&&B!=="finish")U.enqueue({type:"message-metadata",messageMetadata:D})}}));return ib(Bm1({stream:V,messageId:H!=null?H:X==null?void 0:X(),originalMessages:Q,onFinish:Y,onError:K}))}pipeUIMessageStreamToResponse(Q,{originalMessages:X,generateMessageId:Y,onFinish:J,messageMetadata:G,sendReasoning:W,sendSources:Z,sendFinish:$,sendStart:K,onError:H,...F}={}){Dm1({response:Q,stream:this.toUIMessageStream({originalMessages:X,generateMessageId:Y,onFinish:J,messageMetadata:G,sendReasoning:W,sendSources:Z,sendFinish:$,sendStart:K,onError:H}),...F})}pipeTextStreamToResponse(Q,X){Hm1({response:Q,textStream:this.textStream,...X})}toUIMessageStreamResponse({originalMessages:Q,generateMessageId:X,onFinish:Y,messageMetadata:J,sendReasoning:G,sendSources:W,sendFinish:Z,sendStart:$,onError:K,...H}={}){return Fm1({stream:this.toUIMessageStream({originalMessages:Q,generateMessageId:X,onFinish:Y,messageMetadata:J,sendReasoning:G,sendSources:W,sendFinish:Z,sendStart:$,onError:K}),...H})}toTextStreamResponse(Q){return Km1({textStream:this.textStream,...Q})}},ea4,Xr4,Jr4,Am1="AI_NoSuchProviderError",Em1,jm1,Cm1;var fH6=y(()=>{F4();F4();S4();S4();S4();S4();S4();S4();S4();S4();S4();S4();S4();S4();i90();F4();F4();F4();F4();S4();F4();a1();S4();F4();S4();F4();a1();a1();a1();a1();a1();i90();S4();S4();F4();F4();F4();S4();F4();F4();F4();S4();F4();F4();a1();F4();F4();F4();F4();a1();F4();F4();AH6=k1(K6(),1),XX0=k1(K6(),1),jg1=Object.defineProperty,bK6=`vercel.ai.error.${yK6}`,Ig1=Symbol.for(bK6),IW=class extends P6{constructor({parameter:Q,value:X,message:Y}){super({name:yK6,message:`Invalid argument for parameter ${Q}: ${Y}`});this[fK6]=!0,this.parameter=Q,this.value=X}static isInstance(Q){return P6.hasMarker(Q,bK6)}};fK6=Ig1;Sg1=`vercel.ai.error.${Rg1}`,kg1=Symbol.for(Sg1);vg1=kg1;xK6=`vercel.ai.error.${hK6}`,_g1=Symbol.for(xK6),yg1=class extends P6{constructor({approvalId:Q}){super({name:hK6,message:`Tool approval response references unknown approvalId: "${Q}". No matching tool-approval-request found in message history.`});this[gK6]=!0,this.approvalId=Q}static isInstance(Q){return P6.hasMarker(Q,xK6)}};gK6=_g1;mK6=`vercel.ai.error.${uK6}`,bg1=Symbol.for(mK6),ZX0=class extends P6{constructor({toolInput:Q,toolName:X,cause:Y,message:J=`Invalid input for tool ${X}: ${r5(Y)}`}){super({name:uK6,message:J,cause:Y});this[lK6]=!0,this.toolInput=Q,this.toolName=X}static isInstance(Q){return P6.hasMarker(Q,mK6)}};lK6=bg1;pK6=`vercel.ai.error.${dK6}`,fg1=Symbol.for(pK6),nK6=class extends P6{constructor({toolCallId:Q,approvalId:X}){super({name:dK6,message:`Tool call "${Q}" not found for approval request "${X}".`});this[cK6]=!0,this.toolCallId=Q,this.approvalId=X}static isInstance(Q){return P6.hasMarker(Q,pK6)}};cK6=fg1;xg1=`vercel.ai.error.${hg1}`,gg1=Symbol.for(xg1);ug1=gg1;aK6=`vercel.ai.error.${iK6}`,mg1=Symbol.for(aK6),EK=class extends P6{constructor({message:Q="No object generated.",cause:X,text:Y,response:J,usage:G,finishReason:W}){super({name:iK6,message:Q,cause:X});this[rK6]=!0,this.text=Y,this.response=J,this.usage=G,this.finishReason=W}static isInstance(Q){return P6.hasMarker(Q,aK6)}};rK6=mg1;sK6=`vercel.ai.error.${oK6}`,lg1=Symbol.for(sK6),dg1=class extends P6{constructor({message:Q="No output generated.",cause:X}={}){super({name:oK6,message:Q,cause:X});this[tK6]=!0}static isInstance(Q){return P6.hasMarker(Q,sK6)}};tK6=lg1;QH6=`vercel.ai.error.${eK6}`,pg1=Symbol.for(QH6),e90=class extends P6{constructor({toolName:Q,availableTools:X=void 0,message:Y=`Model tried to call unavailable tool '${Q}'. ${X===void 0?"No tools are available.":`Available tools: ${X.join(", ")}.`}`}){super({name:eK6,message:Y});this[XH6]=!0,this.toolName=Q,this.availableTools=X}static isInstance(Q){return P6.hasMarker(Q,QH6)}};XH6=pg1;JH6=`vercel.ai.error.${YH6}`,cg1=Symbol.for(JH6),ng1=class extends P6{constructor({cause:Q,originalError:X,message:Y=`Error repairing tool call: ${r5(Q)}`}){super({name:YH6,message:Y,cause:Q});this[GH6]=!0,this.originalError=X}static isInstance(Q){return P6.hasMarker(Q,JH6)}};GH6=cg1;ig1=class extends P6{constructor(Q){super({name:"AI_UnsupportedModelVersionError",message:`Unsupported model version ${Q.version} for provider "${Q.provider}" and model "${Q.modelId}". AI SDK 5 only supports models that implement specification version "v2".`});this.version=Q.version,this.provider=Q.provider,this.modelId=Q.modelId}},rg1=`vercel.ai.error.${ag1}`,og1=Symbol.for(rg1);sg1=og1;ZH6=`vercel.ai.error.${WH6}`,tg1=Symbol.for(ZH6),eg1=class extends P6{constructor({role:Q,message:X=`Invalid message role: '${Q}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:WH6,message:X});this[$H6]=!0,this.role=Q}static isInstance(Q){return P6.hasMarker(Q,ZH6)}};$H6=tg1;HH6=`vercel.ai.error.${KH6}`,Qu1=Symbol.for(HH6),Xu1=class extends P6{constructor({originalMessage:Q,message:X}){super({name:KH6,message:X});this[FH6]=!0,this.originalMessage=Q}static isInstance(Q){return P6.hasMarker(Q,HH6)}};FH6=Qu1;qH6=`vercel.ai.error.${VH6}`,Yu1=Symbol.for(qH6),jK6=class extends P6{constructor({message:Q,reason:X,errors:Y}){super({name:VH6,message:Q});this[zH6]=!0,this.reason=X,this.errors=Y,this.lastError=Y[Y.length-1]}static isInstance(Q){return P6.hasMarker(Q,qH6)}};zH6=Yu1;Hu1=[{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]}];LH6=N.union([N.string(),N.instanceof(Uint8Array),N.instanceof(ArrayBuffer),N.custom((Q)=>{var X,Y;return(Y=(X=globalThis.Buffer)==null?void 0:X.isBuffer(Q))!=null?Y:!1},{message:"Must be a Buffer"})]);VP=N.lazy(()=>N.union([N.null(),N.string(),N.number(),N.boolean(),N.record(N.string(),VP.optional()),N.array(VP)])),i6=N.record(N.string(),N.record(N.string(),VP.optional())),MH6=N.object({type:N.literal("text"),text:N.string(),providerOptions:i6.optional()}),Eu1=N.object({type:N.literal("image"),image:N.union([LH6,N.instanceof(URL)]),mediaType:N.string().optional(),providerOptions:i6.optional()}),TH6=N.object({type:N.literal("file"),data:N.union([LH6,N.instanceof(URL)]),filename:N.string().optional(),mediaType:N.string(),providerOptions:i6.optional()}),ju1=N.object({type:N.literal("reasoning"),text:N.string(),providerOptions:i6.optional()}),Cu1=N.object({type:N.literal("tool-call"),toolCallId:N.string(),toolName:N.string(),input:N.unknown(),providerOptions:i6.optional(),providerExecuted:N.boolean().optional()}),Iu1=N.discriminatedUnion("type",[N.object({type:N.literal("text"),value:N.string(),providerOptions:i6.optional()}),N.object({type:N.literal("json"),value:VP,providerOptions:i6.optional()}),N.object({type:N.literal("execution-denied"),reason:N.string().optional(),providerOptions:i6.optional()}),N.object({type:N.literal("error-text"),value:N.string(),providerOptions:i6.optional()}),N.object({type:N.literal("error-json"),value:VP,providerOptions:i6.optional()}),N.object({type:N.literal("content"),value:N.array(N.union([N.object({type:N.literal("text"),text:N.string(),providerOptions:i6.optional()}),N.object({type:N.literal("media"),data:N.string(),mediaType:N.string()}),N.object({type:N.literal("file-data"),data:N.string(),mediaType:N.string(),filename:N.string().optional(),providerOptions:i6.optional()}),N.object({type:N.literal("file-url"),url:N.string(),providerOptions:i6.optional()}),N.object({type:N.literal("file-id"),fileId:N.union([N.string(),N.record(N.string(),N.string())]),providerOptions:i6.optional()}),N.object({type:N.literal("image-data"),data:N.string(),mediaType:N.string(),providerOptions:i6.optional()}),N.object({type:N.literal("image-url"),url:N.string(),providerOptions:i6.optional()}),N.object({type:N.literal("image-file-id"),fileId:N.union([N.string(),N.record(N.string(),N.string())]),providerOptions:i6.optional()}),N.object({type:N.literal("custom"),providerOptions:i6.optional()})]))})]),PH6=N.object({type:N.literal("tool-result"),toolCallId:N.string(),toolName:N.string(),output:Iu1,providerOptions:i6.optional()}),Ru1=N.object({type:N.literal("tool-approval-request"),approvalId:N.string(),toolCallId:N.string()}),Su1=N.object({type:N.literal("tool-approval-response"),approvalId:N.string(),approved:N.boolean(),reason:N.string().optional()}),ku1=N.object({role:N.literal("system"),content:N.string(),providerOptions:i6.optional()}),vu1=N.object({role:N.literal("user"),content:N.union([N.string(),N.array(N.union([MH6,Eu1,TH6]))]),providerOptions:i6.optional()}),_u1=N.object({role:N.literal("assistant"),content:N.union([N.string(),N.array(N.union([MH6,TH6,ju1,Cu1,PH6,Ru1]))]),providerOptions:i6.optional()}),yu1=N.object({role:N.literal("tool"),content:N.array(N.union([PH6,Su1])),providerOptions:i6.optional()}),bu1=N.union([ku1,vu1,_u1,yu1]);gu1={startSpan(){return nb},startActiveSpan(Q,X,Y,J){if(typeof X==="function")return X(nb);if(typeof Y==="function")return Y(nb);if(typeof J==="function")return J(nb)}},nb={spanContext(){return uu1},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},addLink(){return this},addLinks(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this}},uu1={traceId:"",spanId:"",traceFlags:0};ou1=class extends ru1{constructor(Q){super(Q);this.type="file"}};tu1={};Cg1(tu1,{array:()=>Xm1,choice:()=>Ym1,json:()=>Jm1,object:()=>Qm1,text:()=>JX0});la4=EW({prefix:"aitxt",size:24});SH6=class extends TransformStream{constructor(){super({transform(Q,X){X.enqueue(`data: ${JSON.stringify(Q)}
1086
+ `),{name:"GatewayAuthenticationError"})}function QX0({operationId:Q,telemetry:X}){return{"operation.name":`${Q}${(X==null?void 0:X.functionId)!=null?` ${X.functionId}`:""}`,"resource.name":X==null?void 0:X.functionId,"ai.operationId":Q,"ai.telemetry.functionId":X==null?void 0:X.functionId}}function xu1({model:Q,settings:X,telemetry:Y,headers:J}){var G;return{"ai.model.provider":Q.provider,"ai.model.id":Q.modelId,...Object.entries(X).reduce((W,[Z,$])=>{if(Z==="timeout"){let K=OH6($);if(K!=null)W[`ai.settings.${Z}`]=K}else W[`ai.settings.${Z}`]=$;return W},{}),...Object.entries((G=Y==null?void 0:Y.metadata)!=null?G:{}).reduce((W,[Z,$])=>{return W[`ai.telemetry.metadata.${Z}`]=$,W},{}),...Object.entries(J!=null?J:{}).reduce((W,[Z,$])=>{if($!==void 0)W[`ai.request.headers.${Z}`]=$;return W},{})}}function mu1({isEnabled:Q=!1,tracer:X}={}){if(!Q)return gu1;if(X)return X;return AH6.trace.getTracer("ai")}async function YX0({name:Q,tracer:X,attributes:Y,fn:J,endWhenDone:G=!0}){return X.startActiveSpan(Q,{attributes:await Y},async(W)=>{try{let Z=await J(W);if(G)W.end();return Z}catch(Z){try{EH6(W,Z)}finally{W.end()}throw Z}})}function EH6(Q,X){if(X instanceof Error)Q.recordException({name:X.name,message:X.message,stack:X.stack}),Q.setStatus({code:XX0.SpanStatusCode.ERROR,message:X.message});else Q.setStatus({code:XX0.SpanStatusCode.ERROR})}async function DB({telemetry:Q,attributes:X}){if((Q==null?void 0:Q.isEnabled)!==!0)return{};let Y={};for(let[J,G]of Object.entries(X)){if(G==null)continue;if(typeof G==="object"&&"input"in G&&typeof G.input==="function"){if((Q==null?void 0:Q.recordInputs)===!1)continue;let W=await G.input();if(W!=null)Y[J]=W;continue}if(typeof G==="object"&&"output"in G&&typeof G.output==="function"){if((Q==null?void 0:Q.recordOutputs)===!1)continue;let W=await G.output();if(W!=null)Y[J]=W;continue}Y[J]=G}return Y}function lu1(Q){return JSON.stringify(Q.map((X)=>({...X,content:typeof X.content==="string"?X.content:X.content.map((Y)=>Y.type==="file"?{...Y,data:Y.data instanceof Uint8Array?Nu1(Y.data):Y.data}:Y)})))}function du1(Q){return{inputTokens:Q.inputTokens.total,inputTokenDetails:{noCacheTokens:Q.inputTokens.noCache,cacheReadTokens:Q.inputTokens.cacheRead,cacheWriteTokens:Q.inputTokens.cacheWrite},outputTokens:Q.outputTokens.total,outputTokenDetails:{textTokens:Q.outputTokens.text,reasoningTokens:Q.outputTokens.reasoning},totalTokens:e5(Q.inputTokens.total,Q.outputTokens.total),raw:Q.raw,reasoningTokens:Q.outputTokens.reasoning,cachedInputTokens:Q.inputTokens.cacheRead}}function a90(){return{inputTokens:void 0,inputTokenDetails:{noCacheTokens:void 0,cacheReadTokens:void 0,cacheWriteTokens:void 0},outputTokens:void 0,outputTokenDetails:{textTokens:void 0,reasoningTokens:void 0},totalTokens:void 0,raw:void 0}}function pu1(Q,X){var Y,J,G,W,Z,$,K,H,F,V;return{inputTokens:e5(Q.inputTokens,X.inputTokens),inputTokenDetails:{noCacheTokens:e5((Y=Q.inputTokenDetails)==null?void 0:Y.noCacheTokens,(J=X.inputTokenDetails)==null?void 0:J.noCacheTokens),cacheReadTokens:e5((G=Q.inputTokenDetails)==null?void 0:G.cacheReadTokens,(W=X.inputTokenDetails)==null?void 0:W.cacheReadTokens),cacheWriteTokens:e5((Z=Q.inputTokenDetails)==null?void 0:Z.cacheWriteTokens,($=X.inputTokenDetails)==null?void 0:$.cacheWriteTokens)},outputTokens:e5(Q.outputTokens,X.outputTokens),outputTokenDetails:{textTokens:e5((K=Q.outputTokenDetails)==null?void 0:K.textTokens,(H=X.outputTokenDetails)==null?void 0:H.textTokens),reasoningTokens:e5((F=Q.outputTokenDetails)==null?void 0:F.reasoningTokens,(V=X.outputTokenDetails)==null?void 0:V.reasoningTokens)},totalTokens:e5(Q.totalTokens,X.totalTokens),reasoningTokens:e5(Q.reasoningTokens,X.reasoningTokens),cachedInputTokens:e5(Q.cachedInputTokens,X.cachedInputTokens)}}function e5(Q,X){return Q==null&&X==null?void 0:(Q!=null?Q:0)+(X!=null?X:0)}function $X0(Q,X){if(Q===void 0&&X===void 0)return;if(Q===void 0)return X;if(X===void 0)return Q;let Y={...Q};for(let J in X)if(Object.prototype.hasOwnProperty.call(X,J)){let G=X[J];if(G===void 0)continue;let W=J in Q?Q[J]:void 0,Z=G!==null&&typeof G==="object"&&!Array.isArray(G)&&!(G instanceof Date)&&!(G instanceof RegExp),$=W!==null&&W!==void 0&&typeof W==="object"&&!Array.isArray(W)&&!(W instanceof Date)&&!(W instanceof RegExp);if(Z&&$)Y[J]=$X0(W,G);else Y[J]=G}return Y}function cu1({error:Q,exponentialBackoffDelay:X}){let Y=Q.responseHeaders;if(!Y)return X;let J,G=Y["retry-after-ms"];if(G){let Z=parseFloat(G);if(!Number.isNaN(Z))J=Z}let W=Y["retry-after"];if(W&&J===void 0){let Z=parseFloat(W);if(!Number.isNaN(Z))J=Z*1000;else J=Date.parse(W)-Date.now()}if(J!=null&&!Number.isNaN(J)&&0<=J&&(J<60000||J<X))return J;return X}async function jH6(Q,{maxRetries:X,delayInMs:Y,backoffFactor:J,abortSignal:G},W=[]){try{return await Q()}catch(Z){if(ZZ(Z))throw Z;if(X===0)throw Z;let $=JP(Z),K=[...W,Z],H=K.length;if(H>X)throw new jK6({message:`Failed after ${H} attempts. Last error: ${$}`,reason:"maxRetriesExceeded",errors:K});if(Z instanceof Error&&YQ.isInstance(Z)&&Z.isRetryable===!0&&H<=X)return await aZ6(cu1({error:Z,exponentialBackoffDelay:Y}),{abortSignal:G}),jH6(Q,{maxRetries:X,delayInMs:J*Y,backoffFactor:J,abortSignal:G},K);if(H===1)throw Z;throw new jK6({message:`Failed after ${H} attempts with non-retryable error: '${$}'`,reason:"errorNotRetryable",errors:K})}}function iu1({maxRetries:Q,abortSignal:X}){if(Q!=null){if(!Number.isInteger(Q))throw new IW({parameter:"maxRetries",value:Q,message:"maxRetries must be an integer"});if(Q<0)throw new IW({parameter:"maxRetries",value:Q,message:"maxRetries must be >= 0"})}let Y=Q!=null?Q:2;return{maxRetries:Y,retry:nu1({maxRetries:Y,abortSignal:X})}}function au1({messages:Q}){let X=Q.at(-1);if((X==null?void 0:X.role)!="tool")return{approvedToolApprovals:[],deniedToolApprovals:[]};let Y={};for(let K of Q)if(K.role==="assistant"&&typeof K.content!=="string"){let H=K.content;for(let F of H)if(F.type==="tool-call")Y[F.toolCallId]=F}let J={};for(let K of Q)if(K.role==="assistant"&&typeof K.content!=="string"){let H=K.content;for(let F of H)if(F.type==="tool-approval-request")J[F.approvalId]=F}let G={};for(let K of X.content)if(K.type==="tool-result")G[K.toolCallId]=K;let W=[],Z=[],$=X.content.filter((K)=>K.type==="tool-approval-response");for(let K of $){let H=J[K.approvalId];if(H==null)throw new yg1({approvalId:K.approvalId});if(G[H.toolCallId]!=null)continue;let F=Y[H.toolCallId];if(F==null)throw new nK6({toolCallId:H.toolCallId,approvalId:H.approvalId});let V={approvalRequest:H,approvalResponse:K,toolCall:F};if(K.approved)W.push(V);else Z.push(V)}return{approvedToolApprovals:W,deniedToolApprovals:Z}}async function CH6({toolCall:Q,tools:X,tracer:Y,telemetry:J,messages:G,abortSignal:W,experimental_context:Z,onPreliminaryToolResult:$}){let{toolName:K,toolCallId:H,input:F}=Q,V=X==null?void 0:X[K];if((V==null?void 0:V.execute)==null)return;return YX0({name:"ai.toolCall",attributes:DB({telemetry:J,attributes:{...QX0({operationId:"ai.toolCall",telemetry:J}),"ai.toolCall.name":K,"ai.toolCall.id":H,"ai.toolCall.args":{output:()=>JSON.stringify(F)}}}),tracer:Y,fn:async(q)=>{let U;try{let D=F$6({execute:V.execute.bind(V),input:F,options:{toolCallId:H,messages:G,abortSignal:W,experimental_context:Z}});for await(let B of D)if(B.type==="preliminary")$==null||$({...Q,type:"tool-result",output:B.output,preliminary:!0});else U=B.output}catch(D){return EH6(q,D),{type:"tool-error",toolCallId:H,toolName:K,input:F,error:D,dynamic:V.type==="dynamic",...Q.providerMetadata!=null?{providerMetadata:Q.providerMetadata}:{}}}try{q.setAttributes(await DB({telemetry:J,attributes:{"ai.toolCall.result":{output:()=>JSON.stringify(U)}}}))}catch(D){}return{type:"tool-result",toolCallId:H,toolName:K,input:F,output:U,dynamic:V.type==="dynamic",...Q.providerMetadata!=null?{providerMetadata:Q.providerMetadata}:{}}}})}async function su1({tool:Q,toolCall:X,messages:Y,experimental_context:J}){if(Q.needsApproval==null)return!1;if(typeof Q.needsApproval==="boolean")return Q.needsApproval;return await Q.needsApproval(X.input,{toolCallId:X.toolCallId,messages:Y,experimental_context:J})}function eu1(Q){let X=["ROOT"],Y=-1,J=null;function G(K,H,F){switch(K){case'"':{Y=H,X.pop(),X.push(F),X.push("INSIDE_STRING");break}case"f":case"t":case"n":{Y=H,J=H,X.pop(),X.push(F),X.push("INSIDE_LITERAL");break}case"-":{X.pop(),X.push(F),X.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{Y=H,X.pop(),X.push(F),X.push("INSIDE_NUMBER");break}case"{":{Y=H,X.pop(),X.push(F),X.push("INSIDE_OBJECT_START");break}case"[":{Y=H,X.pop(),X.push(F),X.push("INSIDE_ARRAY_START");break}}}function W(K,H){switch(K){case",":{X.pop(),X.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{Y=H,X.pop();break}}}function Z(K,H){switch(K){case",":{X.pop(),X.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{Y=H,X.pop();break}}}for(let K=0;K<Q.length;K++){let H=Q[K];switch(X[X.length-1]){case"ROOT":G(H,K,"FINISH");break;case"INSIDE_OBJECT_START":{switch(H){case'"':{X.pop(),X.push("INSIDE_OBJECT_KEY");break}case"}":{Y=K,X.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch(H){case'"':{X.pop(),X.push("INSIDE_OBJECT_KEY");break}}break}case"INSIDE_OBJECT_KEY":{switch(H){case'"':{X.pop(),X.push("INSIDE_OBJECT_AFTER_KEY");break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch(H){case":":{X.pop(),X.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{G(H,K,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{W(H,K);break}case"INSIDE_STRING":{switch(H){case'"':{X.pop(),Y=K;break}case"\\":{X.push("INSIDE_STRING_ESCAPE");break}default:Y=K}break}case"INSIDE_ARRAY_START":{switch(H){case"]":{Y=K,X.pop();break}default:{Y=K,G(H,K,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(H){case",":{X.pop(),X.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{Y=K,X.pop();break}default:{Y=K;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{G(H,K,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{X.pop(),Y=K;break}case"INSIDE_NUMBER":{switch(H){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{Y=K;break}case"e":case"E":case"-":case".":break;case",":{if(X.pop(),X[X.length-1]==="INSIDE_ARRAY_AFTER_VALUE")Z(H,K);if(X[X.length-1]==="INSIDE_OBJECT_AFTER_VALUE")W(H,K);break}case"}":{if(X.pop(),X[X.length-1]==="INSIDE_OBJECT_AFTER_VALUE")W(H,K);break}case"]":{if(X.pop(),X[X.length-1]==="INSIDE_ARRAY_AFTER_VALUE")Z(H,K);break}default:{X.pop();break}}break}case"INSIDE_LITERAL":{let V=Q.substring(J,K+1);if(!"false".startsWith(V)&&!"true".startsWith(V)&&!"null".startsWith(V)){if(X.pop(),X[X.length-1]==="INSIDE_OBJECT_AFTER_VALUE")W(H,K);else if(X[X.length-1]==="INSIDE_ARRAY_AFTER_VALUE")Z(H,K)}else Y=K;break}}}let $=Q.slice(0,Y+1);for(let K=X.length-1;K>=0;K--)switch(X[K]){case"INSIDE_STRING":{$+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{$+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{$+="]";break}case"INSIDE_LITERAL":{let F=Q.substring(J,Q.length);if("true".startsWith(F))$+="true".slice(F.length);else if("false".startsWith(F))$+="false".slice(F.length);else if("null".startsWith(F))$+="null".slice(F.length)}}return $}async function qP(Q){if(Q===void 0)return{value:void 0,state:"undefined-input"};let X=await wY({text:Q});if(X.success)return{value:X.value,state:"successful-parse"};if(X=await wY({text:eu1(Q)}),X.success)return{value:X.value,state:"repaired-parse"};return{value:void 0,state:"failed-parse"}}async function Gm1({toolCall:Q,tools:X,repairToolCall:Y,system:J,messages:G}){var W;try{if(X==null){if(Q.providerExecuted&&Q.dynamic)return await IH6(Q);throw new e90({toolName:Q.toolName})}try{return await SK6({toolCall:Q,tools:X})}catch(Z){if(Y==null||!(e90.isInstance(Z)||ZX0.isInstance(Z)))throw Z;let $=null;try{$=await Y({toolCall:Q,tools:X,inputSchema:async({toolName:K})=>{let{inputSchema:H}=X[K];return await jW(H).jsonSchema},system:J,messages:G,error:Z})}catch(K){throw new ng1({cause:K,originalError:Z})}if($==null)throw Z;return await SK6({toolCall:$,tools:X})}}catch(Z){let $=await wY({text:Q.input}),K=$.success?$.value:Q.input;return{type:"tool-call",toolCallId:Q.toolCallId,toolName:Q.toolName,input:K,dynamic:!0,invalid:!0,error:Z,title:(W=X==null?void 0:X[Q.toolName])==null?void 0:W.title,providerExecuted:Q.providerExecuted,providerMetadata:Q.providerMetadata}}}async function IH6(Q){let X=Q.input.trim()===""?{success:!0,value:{}}:await wY({text:Q.input});if(X.success===!1)throw new ZX0({toolName:Q.toolName,toolInput:Q.input,cause:X.error});return{type:"tool-call",toolCallId:Q.toolCallId,toolName:Q.toolName,input:X.value,providerExecuted:!0,dynamic:!0,providerMetadata:Q.providerMetadata}}async function SK6({toolCall:Q,tools:X}){let Y=Q.toolName,J=X[Y];if(J==null){if(Q.providerExecuted&&Q.dynamic)return await IH6(Q);throw new e90({toolName:Q.toolName,availableTools:Object.keys(X)})}let G=jW(J.inputSchema),W=Q.input.trim()===""?await hX({value:{},schema:G}):await wY({text:Q.input,schema:G});if(W.success===!1)throw new ZX0({toolName:Y,toolInput:Q.input,cause:W.error});return J.type==="dynamic"?{type:"tool-call",toolCallId:Q.toolCallId,toolName:Q.toolName,input:W.value,providerExecuted:Q.providerExecuted,providerMetadata:Q.providerMetadata,dynamic:!0,title:J.title}:{type:"tool-call",toolCallId:Q.toolCallId,toolName:Y,input:W.value,providerExecuted:Q.providerExecuted,providerMetadata:Q.providerMetadata,title:J.title}}function KX0(Q){return({steps:X})=>X.length===Q}async function Zm1({stopConditions:Q,steps:X}){return(await Promise.all(Q.map((Y)=>Y({steps:X})))).some((Y)=>Y)}async function kK6({content:Q,tools:X}){let Y=[],J=[];for(let W of Q){if(W.type==="source")continue;if((W.type==="tool-result"||W.type==="tool-error")&&!W.providerExecuted)continue;if(W.type==="text"&&W.text.length===0)continue;switch(W.type){case"text":J.push({type:"text",text:W.text,providerOptions:W.providerMetadata});break;case"reasoning":J.push({type:"reasoning",text:W.text,providerOptions:W.providerMetadata});break;case"file":J.push({type:"file",data:W.file.base64,mediaType:W.file.mediaType,providerOptions:W.providerMetadata});break;case"tool-call":J.push({type:"tool-call",toolCallId:W.toolCallId,toolName:W.toolName,input:W.input,providerExecuted:W.providerExecuted,providerOptions:W.providerMetadata});break;case"tool-result":{let Z=await NB({toolCallId:W.toolCallId,input:W.input,tool:X==null?void 0:X[W.toolName],output:W.output,errorMode:"none"});J.push({type:"tool-result",toolCallId:W.toolCallId,toolName:W.toolName,output:Z,providerOptions:W.providerMetadata});break}case"tool-error":{let Z=await NB({toolCallId:W.toolCallId,input:W.input,tool:X==null?void 0:X[W.toolName],output:W.error,errorMode:"json"});J.push({type:"tool-result",toolCallId:W.toolCallId,toolName:W.toolName,output:Z,providerOptions:W.providerMetadata});break}case"tool-approval-request":J.push({type:"tool-approval-request",approvalId:W.approvalId,toolCallId:W.toolCall.toolCallId});break}}if(J.length>0)Y.push({role:"assistant",content:J});let G=[];for(let W of Q){if(!(W.type==="tool-result"||W.type==="tool-error")||W.providerExecuted)continue;let Z=await NB({toolCallId:W.toolCallId,input:W.input,tool:X==null?void 0:X[W.toolName],output:W.type==="tool-result"?W.output:W.error,errorMode:W.type==="tool-error"?"text":"none"});G.push({type:"tool-result",toolCallId:W.toolCallId,toolName:W.toolName,output:Z,...W.providerMetadata!=null?{providerOptions:W.providerMetadata}:{}})}if(G.length>0)Y.push({role:"tool",content:G});return Y}function $m1(...Q){let X=Q.filter((J)=>J!=null);if(X.length===0)return;if(X.length===1)return X[0];let Y=new AbortController;for(let J of X){if(J.aborted)return Y.abort(J.reason),Y.signal;J.addEventListener("abort",()=>{Y.abort(J.reason)},{once:!0})}return Y.signal}function rb(Q,X){let Y=new Headers(Q!=null?Q:{});for(let[J,G]of Object.entries(X))if(!Y.has(J))Y.set(J,G);return Y}function Km1({status:Q,statusText:X,headers:Y,textStream:J}){return new Response(J.pipeThrough(new TextEncoderStream),{status:Q!=null?Q:200,statusText:X,headers:rb(Y,{"content-type":"text/plain; charset=utf-8"})})}function RH6({response:Q,status:X,statusText:Y,headers:J,stream:G}){let W=X!=null?X:200;if(Y!==void 0)Q.writeHead(W,Y,J);else Q.writeHead(W,J);let Z=G.getReader();(async()=>{try{while(!0){let{done:K,value:H}=await Z.read();if(K)break;if(!Q.write(H))await new Promise((V)=>{Q.once("drain",V)})}}catch(K){throw K}finally{Q.end()}})()}function Hm1({response:Q,status:X,statusText:Y,headers:J,textStream:G}){RH6({response:Q,status:X,statusText:Y,headers:Object.fromEntries(rb(J,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:G.pipeThrough(new TextEncoderStream)})}function Fm1({status:Q,statusText:X,headers:Y,stream:J,consumeSseStream:G}){let W=J.pipeThrough(new SH6);if(G){let[Z,$]=W.tee();W=Z,G({stream:$})}return new Response(W.pipeThrough(new TextEncoderStream),{status:Q,statusText:X,headers:rb(Y,kH6)})}function Vm1({originalMessages:Q,responseMessageId:X}){if(Q==null)return;let Y=Q[Q.length-1];return(Y==null?void 0:Y.role)==="assistant"?Y.id:typeof X==="function"?X():X}function qm1(Q){return Q.type.startsWith("data-")}function r90(Q){return Q.type.startsWith("data-")}function o90(Q){return Q.type==="text"}function s90(Q){return Q.type==="file"}function vK6(Q){return Q.type==="reasoning"}function GX0(Q){return Q.type.startsWith("tool-")}function vH6(Q){return Q.type==="dynamic-tool"}function FP(Q){return GX0(Q)||vH6(Q)}function WX0(Q){return Q.type.split("-").slice(1).join("-")}function t90(Q){return vH6(Q)?Q.toolName:WX0(Q)}function zm1({lastMessage:Q,messageId:X}){return{message:(Q==null?void 0:Q.role)==="assistant"?Q:{id:X,metadata:void 0,role:"assistant",parts:[]},activeTextParts:{},activeReasoningParts:{},partialToolCalls:{}}}function Um1({stream:Q,messageMetadataSchema:X,dataPartSchemas:Y,runUpdateMessageJob:J,onError:G,onToolCall:W,onData:Z}){return Q.pipeThrough(new TransformStream({async transform($,K){await J(async({state:H,write:F})=>{var V,q,U,D;function B(E){let P=H.message.parts.filter(FP).find((j)=>j.toolCallId===E);if(P==null)throw Error(`no tool invocation found for tool call ${E}`);return P}function L(E){var A;let P=H.message.parts.find((k)=>GX0(k)&&k.toolCallId===E.toolCallId),j=E,R=P;if(P!=null){if(P.state=E.state,R.input=j.input,R.output=j.output,R.errorText=j.errorText,R.rawInput=j.rawInput,R.preliminary=j.preliminary,E.title!==void 0)R.title=E.title;if(R.providerExecuted=(A=j.providerExecuted)!=null?A:P.providerExecuted,j.providerMetadata!=null&&P.state==="input-available")P.callProviderMetadata=j.providerMetadata}else H.message.parts.push({type:`tool-${E.toolName}`,toolCallId:E.toolCallId,state:E.state,title:E.title,input:j.input,output:j.output,rawInput:j.rawInput,errorText:j.errorText,providerExecuted:j.providerExecuted,preliminary:j.preliminary,...j.providerMetadata!=null?{callProviderMetadata:j.providerMetadata}:{}})}function M(E){var A,P;let j=H.message.parts.find((b)=>b.type==="dynamic-tool"&&b.toolCallId===E.toolCallId),R=E,k=j;if(j!=null){if(j.state=E.state,k.toolName=E.toolName,k.input=R.input,k.output=R.output,k.errorText=R.errorText,k.rawInput=(A=R.rawInput)!=null?A:k.rawInput,k.preliminary=R.preliminary,E.title!==void 0)k.title=E.title;if(k.providerExecuted=(P=R.providerExecuted)!=null?P:j.providerExecuted,R.providerMetadata!=null&&j.state==="input-available")j.callProviderMetadata=R.providerMetadata}else H.message.parts.push({type:"dynamic-tool",toolName:E.toolName,toolCallId:E.toolCallId,state:E.state,input:R.input,output:R.output,errorText:R.errorText,preliminary:R.preliminary,providerExecuted:R.providerExecuted,title:E.title,...R.providerMetadata!=null?{callProviderMetadata:R.providerMetadata}:{}})}async function C(E){if(E!=null){let A=H.message.metadata!=null?$X0(H.message.metadata,E):E;if(X!=null)await WP({value:A,schema:X});H.message.metadata=A}}switch($.type){case"text-start":{let E={type:"text",text:"",providerMetadata:$.providerMetadata,state:"streaming"};H.activeTextParts[$.id]=E,H.message.parts.push(E),F();break}case"text-delta":{let E=H.activeTextParts[$.id];E.text+=$.delta,E.providerMetadata=(V=$.providerMetadata)!=null?V:E.providerMetadata,F();break}case"text-end":{let E=H.activeTextParts[$.id];E.state="done",E.providerMetadata=(q=$.providerMetadata)!=null?q:E.providerMetadata,delete H.activeTextParts[$.id],F();break}case"reasoning-start":{let E={type:"reasoning",text:"",providerMetadata:$.providerMetadata,state:"streaming"};H.activeReasoningParts[$.id]=E,H.message.parts.push(E),F();break}case"reasoning-delta":{let E=H.activeReasoningParts[$.id];E.text+=$.delta,E.providerMetadata=(U=$.providerMetadata)!=null?U:E.providerMetadata,F();break}case"reasoning-end":{let E=H.activeReasoningParts[$.id];E.providerMetadata=(D=$.providerMetadata)!=null?D:E.providerMetadata,E.state="done",delete H.activeReasoningParts[$.id],F();break}case"file":{H.message.parts.push({type:"file",mediaType:$.mediaType,url:$.url}),F();break}case"source-url":{H.message.parts.push({type:"source-url",sourceId:$.sourceId,url:$.url,title:$.title,providerMetadata:$.providerMetadata}),F();break}case"source-document":{H.message.parts.push({type:"source-document",sourceId:$.sourceId,mediaType:$.mediaType,title:$.title,filename:$.filename,providerMetadata:$.providerMetadata}),F();break}case"tool-input-start":{let E=H.message.parts.filter(GX0);if(H.partialToolCalls[$.toolCallId]={text:"",toolName:$.toolName,index:E.length,dynamic:$.dynamic,title:$.title},$.dynamic)M({toolCallId:$.toolCallId,toolName:$.toolName,state:"input-streaming",input:void 0,providerExecuted:$.providerExecuted,title:$.title});else L({toolCallId:$.toolCallId,toolName:$.toolName,state:"input-streaming",input:void 0,providerExecuted:$.providerExecuted,title:$.title});F();break}case"tool-input-delta":{let E=H.partialToolCalls[$.toolCallId];E.text+=$.inputTextDelta;let{value:A}=await qP(E.text);if(E.dynamic)M({toolCallId:$.toolCallId,toolName:E.toolName,state:"input-streaming",input:A,title:E.title});else L({toolCallId:$.toolCallId,toolName:E.toolName,state:"input-streaming",input:A,title:E.title});F();break}case"tool-input-available":{if($.dynamic)M({toolCallId:$.toolCallId,toolName:$.toolName,state:"input-available",input:$.input,providerExecuted:$.providerExecuted,providerMetadata:$.providerMetadata,title:$.title});else L({toolCallId:$.toolCallId,toolName:$.toolName,state:"input-available",input:$.input,providerExecuted:$.providerExecuted,providerMetadata:$.providerMetadata,title:$.title});if(F(),W&&!$.providerExecuted)await W({toolCall:$});break}case"tool-input-error":{if($.dynamic)M({toolCallId:$.toolCallId,toolName:$.toolName,state:"output-error",input:$.input,errorText:$.errorText,providerExecuted:$.providerExecuted,providerMetadata:$.providerMetadata});else L({toolCallId:$.toolCallId,toolName:$.toolName,state:"output-error",input:void 0,rawInput:$.input,errorText:$.errorText,providerExecuted:$.providerExecuted,providerMetadata:$.providerMetadata});F();break}case"tool-approval-request":{let E=B($.toolCallId);E.state="approval-requested",E.approval={id:$.approvalId},F();break}case"tool-output-denied":{let E=B($.toolCallId);E.state="output-denied",F();break}case"tool-output-available":{let E=B($.toolCallId);if(E.type==="dynamic-tool")M({toolCallId:$.toolCallId,toolName:E.toolName,state:"output-available",input:E.input,output:$.output,preliminary:$.preliminary,providerExecuted:$.providerExecuted,title:E.title});else L({toolCallId:$.toolCallId,toolName:WX0(E),state:"output-available",input:E.input,output:$.output,providerExecuted:$.providerExecuted,preliminary:$.preliminary,title:E.title});F();break}case"tool-output-error":{let E=B($.toolCallId);if(E.type==="dynamic-tool")M({toolCallId:$.toolCallId,toolName:E.toolName,state:"output-error",input:E.input,errorText:$.errorText,providerExecuted:$.providerExecuted,title:E.title});else L({toolCallId:$.toolCallId,toolName:WX0(E),state:"output-error",input:E.input,rawInput:E.rawInput,errorText:$.errorText,providerExecuted:$.providerExecuted,title:E.title});F();break}case"start-step":{H.message.parts.push({type:"step-start"});break}case"finish-step":{H.activeTextParts={},H.activeReasoningParts={};break}case"start":{if($.messageId!=null)H.message.id=$.messageId;if(await C($.messageMetadata),$.messageId!=null||$.messageMetadata!=null)F();break}case"finish":{if($.finishReason!=null)H.finishReason=$.finishReason;if(await C($.messageMetadata),$.messageMetadata!=null)F();break}case"message-metadata":{if(await C($.messageMetadata),$.messageMetadata!=null)F();break}case"error":{G==null||G(Error($.errorText));break}default:if(qm1($)){if((Y==null?void 0:Y[$.type])!=null)await WP({value:$.data,schema:Y[$.type]});let E=$;if(E.transient){Z==null||Z(E);break}let A=E.id!=null?H.message.parts.find((P)=>E.type===P.type&&E.id===P.id):void 0;if(A!=null)A.data=E.data;else H.message.parts.push(E);Z==null||Z(E),F()}}K.enqueue($)})}}))}function Bm1({messageId:Q,originalMessages:X=[],onFinish:Y,onError:J,stream:G}){let W=X==null?void 0:X[X.length-1];if((W==null?void 0:W.role)!=="assistant")W=void 0;else Q=W.id;let Z=!1,$=G.pipeThrough(new TransformStream({transform(q,U){if(q.type==="start"){let D=q;if(D.messageId==null&&Q!=null)D.messageId=Q}if(q.type==="abort")Z=!0;U.enqueue(q)}}));if(Y==null)return $;let K=zm1({lastMessage:W?structuredClone(W):void 0,messageId:Q!=null?Q:""}),H=async(q)=>{await q({state:K,write:()=>{}})},F=!1,V=async()=>{if(F||!Y)return;F=!0;let q=K.message.id===(W==null?void 0:W.id);await Y({isAborted:Z,isContinuation:q,responseMessage:K.message,messages:[...q?X.slice(0,-1):X,K.message],finishReason:K.finishReason})};return Um1({stream:$,runUpdateMessageJob:H,onError:J}).pipeThrough(new TransformStream({transform(q,U){U.enqueue(q)},async cancel(){await V()},async flush(){await V()}}))}function Dm1({response:Q,status:X,statusText:Y,headers:J,stream:G,consumeSseStream:W}){let Z=G.pipeThrough(new SH6);if(W){let[$,K]=Z.tee();Z=$,W({stream:K})}RH6({response:Q,status:X,statusText:Y,headers:Object.fromEntries(rb(J,kH6).entries()),stream:Z.pipeThrough(new TextEncoderStream)})}function ib(Q){let X=Q.pipeThrough(new TransformStream);return X[Symbol.asyncIterator]=function(){let Y=this.getReader(),J=!1;async function G(W){var Z;J=!0;try{if(W)await((Z=Y.cancel)==null?void 0:Z.call(Y))}finally{try{Y.releaseLock()}catch($){}}}return{async next(){if(J)return{done:!0,value:void 0};let{done:W,value:Z}=await Y.read();if(W)return await G(!0),{done:!0,value:void 0};return{done:!1,value:Z}},async return(){return await G(!0),{done:!0,value:void 0}},async throw(W){throw await G(!0),W}}},X}async function Nm1({stream:Q,onError:X}){let Y=Q.getReader();try{while(!0){let{done:J}=await Y.read();if(J)break}}catch(J){X==null||X(J)}finally{Y.releaseLock()}}function _K6(){let Q,X;return{promise:new Promise((J,G)=>{Q=J,X=G}),resolve:Q,reject:X}}function Om1(){let Q=[],X=null,Y=!1,J=_K6(),G=()=>{Y=!0,J.resolve(),Q.forEach((Z)=>Z.cancel()),Q=[],X==null||X.close()},W=async()=>{if(Y&&Q.length===0){X==null||X.close();return}if(Q.length===0)return J=_K6(),await J.promise,W();try{let{value:Z,done:$}=await Q[0].read();if($)if(Q.shift(),Q.length===0&&Y)X==null||X.close();else await W();else X==null||X.enqueue(Z)}catch(Z){X==null||X.error(Z),Q.shift(),G()}};return{stream:new ReadableStream({start(Z){X=Z},pull:W,async cancel(){for(let Z of Q)await Z.cancel();Q=[],Y=!0}}),addStream:(Z)=>{if(Y)throw Error("Cannot add inner stream: outer stream is closed");Q.push(Z.getReader()),J.resolve()},close:()=>{if(Y=!0,J.resolve(),Q.length===0)X==null||X.close()},terminate:G}}function Lm1(){var Q,X;return(X=(Q=globalThis==null?void 0:globalThis.performance)==null?void 0:Q.now())!=null?X:Date.now()}function wm1({tools:Q,generatorStream:X,tracer:Y,telemetry:J,system:G,messages:W,abortSignal:Z,repairToolCall:$,experimental_context:K,generateId:H}){let F=null,V=new ReadableStream({start(E){F=E}}),q=new Set,U=new Map,D=new Map,B=!1,L=void 0;function M(){if(B&&q.size===0){if(L!=null)F.enqueue(L);F.close()}}let C=new TransformStream({async transform(E,A){let P=E.type;switch(P){case"stream-start":case"text-start":case"text-delta":case"text-end":case"reasoning-start":case"reasoning-delta":case"reasoning-end":case"tool-input-start":case"tool-input-delta":case"tool-input-end":case"source":case"response-metadata":case"error":case"raw":{A.enqueue(E);break}case"file":{A.enqueue({type:"file",file:new ou1({data:E.data,mediaType:E.mediaType})});break}case"finish":{L={type:"finish",finishReason:E.finishReason.unified,rawFinishReason:E.finishReason.raw,usage:du1(E.usage),providerMetadata:E.providerMetadata};break}case"tool-approval-request":{let j=D.get(E.toolCallId);if(j==null){F.enqueue({type:"error",error:new nK6({toolCallId:E.toolCallId,approvalId:E.approvalId})});break}A.enqueue({type:"tool-approval-request",approvalId:E.approvalId,toolCall:j});break}case"tool-call":{try{let j=await Gm1({toolCall:E,tools:Q,repairToolCall:$,system:G,messages:W});if(D.set(j.toolCallId,j),A.enqueue(j),j.invalid){F.enqueue({type:"tool-error",toolCallId:j.toolCallId,toolName:j.toolName,input:j.input,error:JP(j.error),dynamic:!0,title:j.title});break}let R=Q==null?void 0:Q[j.toolName];if(R==null)break;if(R.onInputAvailable!=null)await R.onInputAvailable({input:j.input,toolCallId:j.toolCallId,messages:W,abortSignal:Z,experimental_context:K});if(await su1({tool:R,toolCall:j,messages:W,experimental_context:K})){F.enqueue({type:"tool-approval-request",approvalId:H(),toolCall:j});break}if(U.set(j.toolCallId,j.input),R.execute!=null&&j.providerExecuted!==!0){let k=H();q.add(k),CH6({toolCall:j,tools:Q,tracer:Y,telemetry:J,messages:W,abortSignal:Z,experimental_context:K,onPreliminaryToolResult:(b)=>{F.enqueue(b)}}).then((b)=>{F.enqueue(b)}).catch((b)=>{F.enqueue({type:"error",error:b})}).finally(()=>{q.delete(k),M()})}}catch(j){F.enqueue({type:"error",error:j})}break}case"tool-result":{let j=E.toolName;if(E.isError)F.enqueue({type:"tool-error",toolCallId:E.toolCallId,toolName:j,input:U.get(E.toolCallId),providerExecuted:!0,error:E.result,dynamic:E.dynamic});else A.enqueue({type:"tool-result",toolCallId:E.toolCallId,toolName:j,input:U.get(E.toolCallId),output:E.result,providerExecuted:!0,dynamic:E.dynamic});break}default:throw Error(`Unhandled chunk type: ${P}`)}},flush(){B=!0,M()}});return new ReadableStream({async start(E){return Promise.all([X.pipeThrough(C).pipeTo(new WritableStream({write(A){E.enqueue(A)},close(){}})),V.pipeTo(new WritableStream({write(A){E.enqueue(A)},close(){E.close()}}))])}})}function _H6({model:Q,tools:X,toolChoice:Y,system:J,prompt:G,messages:W,maxRetries:Z,abortSignal:$,timeout:K,headers:H,stopWhen:F=KX0(1),experimental_output:V,output:q=V,experimental_telemetry:U,prepareStep:D,providerOptions:B,experimental_activeTools:L,activeTools:M=L,experimental_repairToolCall:C,experimental_transform:E,experimental_download:A,includeRawChunks:P=!1,onChunk:j,onError:R=({error:Q0})=>{console.error(Q0)},onFinish:k,onAbort:b,onStepFinish:f,experimental_context:x,_internal:{now:r=Lm1,generateId:h=Mm1,currentDate:S=()=>new Date}={},...l}){let Q0=OH6(K);return new Pm1({model:NH6(Q),telemetry:U,headers:H,settings:l,maxRetries:Z,abortSignal:$m1($,Q0!=null?AbortSignal.timeout(Q0):void 0),system:J,prompt:G,messages:W,tools:X,toolChoice:Y,transforms:ab(E),activeTools:M,repairToolCall:C,stopConditions:ab(F),output:q,providerOptions:B,prepareStep:D,includeRawChunks:P,onChunk:j,onError:R,onFinish:k,onAbort:b,onStepFinish:f,now:r,currentDate:S,generateId:h,experimental_context:x,download:A})}function Tm1(Q){let X=void 0,Y="",J="",G=void 0,W="";function Z({controller:$,partialOutput:K=void 0}){$.enqueue({part:{type:"text-delta",id:X,text:J,providerMetadata:G},partialOutput:K}),J=""}return new TransformStream({async transform($,K){var H;if($.type==="finish-step"&&J.length>0)Z({controller:K});if($.type!=="text-delta"&&$.type!=="text-start"&&$.type!=="text-end"){K.enqueue({part:$,partialOutput:void 0});return}if(X==null)X=$.id;else if($.id!==X){K.enqueue({part:$,partialOutput:void 0});return}if($.type==="text-start"){K.enqueue({part:$,partialOutput:void 0});return}if($.type==="text-end"){if(J.length>0)Z({controller:K});K.enqueue({part:$,partialOutput:void 0});return}Y+=$.text,J+=$.text,G=(H=$.providerMetadata)!=null?H:G;let F=await Q.parsePartialOutput({text:Y});if(F!==void 0){let V=JSON.stringify(F.partial);if(V!==W)Z({controller:K,partialOutput:F.partial}),W=V}}})}async function yH6(Q,X){let Y=[];if(X==null?void 0:X.ignoreIncompleteToolCalls)Q=Q.map((J)=>({...J,parts:J.parts.filter((G)=>!FP(G)||G.state!=="input-streaming"&&G.state!=="input-available")}));for(let J of Q)switch(J.role){case"system":{let G=J.parts.filter((Z)=>Z.type==="text"),W=G.reduce((Z,$)=>{if($.providerMetadata!=null)return{...Z,...$.providerMetadata};return Z},{});Y.push({role:"system",content:G.map((Z)=>Z.text).join(""),...Object.keys(W).length>0?{providerOptions:W}:{}});break}case"user":{Y.push({role:"user",content:J.parts.map((G)=>{var W;if(o90(G))return{type:"text",text:G.text,...G.providerMetadata!=null?{providerOptions:G.providerMetadata}:{}};if(s90(G))return{type:"file",mediaType:G.mediaType,filename:G.filename,data:G.url,...G.providerMetadata!=null?{providerOptions:G.providerMetadata}:{}};if(r90(G))return(W=X==null?void 0:X.convertDataPart)==null?void 0:W.call(X,G)}).filter(eZ6)});break}case"assistant":{if(J.parts!=null){let G=[];async function W(){var Z,$,K,H,F,V;if(G.length===0)return;let q=[];for(let D of G)if(o90(D))q.push({type:"text",text:D.text,...D.providerMetadata!=null?{providerOptions:D.providerMetadata}:{}});else if(s90(D))q.push({type:"file",mediaType:D.mediaType,filename:D.filename,data:D.url});else if(vK6(D))q.push({type:"reasoning",text:D.text,providerOptions:D.providerMetadata});else if(FP(D)){let B=t90(D);if(D.state!=="input-streaming"){if(q.push({type:"tool-call",toolCallId:D.toolCallId,toolName:B,input:D.state==="output-error"?(Z=D.input)!=null?Z:("rawInput"in D)?D.rawInput:void 0:D.input,providerExecuted:D.providerExecuted,...D.callProviderMetadata!=null?{providerOptions:D.callProviderMetadata}:{}}),D.approval!=null)q.push({type:"tool-approval-request",approvalId:D.approval.id,toolCallId:D.toolCallId});if(D.providerExecuted===!0&&D.state!=="approval-responded"&&(D.state==="output-available"||D.state==="output-error"))q.push({type:"tool-result",toolCallId:D.toolCallId,toolName:B,output:await NB({toolCallId:D.toolCallId,input:D.input,output:D.state==="output-error"?D.errorText:D.output,tool:($=X==null?void 0:X.tools)==null?void 0:$[B],errorMode:D.state==="output-error"?"json":"none"}),...D.callProviderMetadata!=null?{providerOptions:D.callProviderMetadata}:{}})}}else if(r90(D)){let B=(K=X==null?void 0:X.convertDataPart)==null?void 0:K.call(X,D);if(B!=null)q.push(B)}else throw Error(`Unsupported part: ${D}`);Y.push({role:"assistant",content:q});let U=G.filter((D)=>{var B;return FP(D)&&(D.providerExecuted!==!0||((B=D.approval)==null?void 0:B.approved)!=null)});if(U.length>0){let D=[];for(let B of U){if(((H=B.approval)==null?void 0:H.approved)!=null)D.push({type:"tool-approval-response",approvalId:B.approval.id,approved:B.approval.approved,reason:B.approval.reason,providerExecuted:B.providerExecuted});if(B.providerExecuted===!0)continue;switch(B.state){case"output-denied":{D.push({type:"tool-result",toolCallId:B.toolCallId,toolName:t90(B),output:{type:"error-text",value:(F=B.approval.reason)!=null?F:"Tool execution denied."},...B.callProviderMetadata!=null?{providerOptions:B.callProviderMetadata}:{}});break}case"output-error":case"output-available":{let L=t90(B);D.push({type:"tool-result",toolCallId:B.toolCallId,toolName:L,output:await NB({toolCallId:B.toolCallId,input:B.input,output:B.state==="output-error"?B.errorText:B.output,tool:(V=X==null?void 0:X.tools)==null?void 0:V[L],errorMode:B.state==="output-error"?"text":"none"}),...B.callProviderMetadata!=null?{providerOptions:B.callProviderMetadata}:{}});break}}}if(D.length>0)Y.push({role:"tool",content:D})}G=[]}for(let Z of J.parts)if(o90(Z)||vK6(Z)||s90(Z)||FP(Z)||r90(Z))G.push(Z);else if(Z.type==="step-start")await W();await W();break}break}default:{let G=J.role;throw new Xu1({originalMessage:J,message:`Unsupported role: ${G}`})}}return Y}function bH6({messages:Q,reasoning:X="none",toolCalls:Y=[],emptyMessages:J="remove"}){if(X==="all"||X==="before-last-message")Q=Q.map((G,W)=>{if(G.role!=="assistant"||typeof G.content==="string"||X==="before-last-message"&&W===Q.length-1)return G;return{...G,content:G.content.filter((Z)=>Z.type!=="reasoning")}});if(Y==="none")Y=[];else if(Y==="all")Y=[{type:"all"}];else if(Y==="before-last-message")Y=[{type:"before-last-message"}];else if(typeof Y==="string")Y=[{type:Y}];for(let G of Y){let W=G.type==="all"?void 0:G.type==="before-last-message"?1:Number(G.type.slice(12).slice(0,-9)),Z=new Set,$=new Set;if(W!=null){for(let K of Q.slice(-W))if((K.role==="assistant"||K.role==="tool")&&typeof K.content!=="string"){for(let H of K.content)if(H.type==="tool-call"||H.type==="tool-result")Z.add(H.toolCallId);else if(H.type==="tool-approval-request"||H.type==="tool-approval-response")$.add(H.approvalId)}}Q=Q.map((K,H)=>{if(K.role!=="assistant"&&K.role!=="tool"||typeof K.content==="string"||W&&H>=Q.length-W)return K;let F={},V={};return{...K,content:K.content.filter((q)=>{if(q.type!=="tool-call"&&q.type!=="tool-result"&&q.type!=="tool-approval-request"&&q.type!=="tool-approval-response")return!0;if(q.type==="tool-call")F[q.toolCallId]=q.toolName;else if(q.type==="tool-approval-request")V[q.approvalId]=F[q.toolCallId];if((q.type==="tool-call"||q.type==="tool-result")&&Z.has(q.toolCallId)||(q.type==="tool-approval-request"||q.type==="tool-approval-response")&&$.has(q.approvalId))return!0;return G.tools!=null&&!G.tools.includes(q.type==="tool-call"||q.type==="tool-result"?q.toolName:V[q.approvalId])})}})}if(J==="remove")Q=Q.filter((G)=>G.content.length>0);return Q}var AH6,XX0,jg1,Cg1=(Q,X)=>{for(var Y in X)jg1(Q,Y,{get:X[Y],enumerable:!0})},yK6="AI_InvalidArgumentError",bK6,Ig1,fK6,IW,Rg1="AI_InvalidStreamPartError",Sg1,kg1,vg1,hK6="AI_InvalidToolApprovalError",xK6,_g1,gK6,yg1,uK6="AI_InvalidToolInputError",mK6,bg1,lK6,ZX0,dK6="AI_ToolCallNotFoundForApprovalError",pK6,fg1,cK6,nK6,hg1="AI_NoImageGeneratedError",xg1,gg1,ug1,iK6="AI_NoObjectGeneratedError",aK6,mg1,rK6,EK,oK6="AI_NoOutputGeneratedError",sK6,lg1,tK6,dg1,eK6="AI_NoSuchToolError",QH6,pg1,XH6,e90,YH6="AI_ToolCallRepairError",JH6,cg1,GH6,ng1,ig1,ag1="AI_InvalidDataContentError",rg1,og1,sg1,WH6="AI_InvalidMessageRoleError",ZH6,tg1,$H6,eg1,KH6="AI_MessageConversionError",HH6,Qu1,FH6,Xu1,VH6="AI_RetryError",qH6,Yu1,zH6,jK6,Gu1="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",CK6=!1,UH6=(Q)=>{if(Q.warnings.length===0)return;let X=globalThis.AI_SDK_LOG_WARNINGS;if(X===!1)return;if(typeof X==="function"){X(Q);return}if(!CK6)CK6=!0,console.info(Gu1);for(let Y of Q.warnings)console.warn(Ju1({warning:Y,provider:Q.provider,model:Q.model}))},Hu1,Fu1=(Q)=>{let X=typeof Q==="string"?qB(Q):Q,Y=(X[6]&127)<<21|(X[7]&127)<<14|(X[8]&127)<<7|X[9]&127;return X.slice(Y+10)},zu1="6.0.19",Uu1=async({url:Q})=>{var X;let Y=Q.toString();try{let J=await fetch(Y,{headers:TK({},`ai-sdk/${zu1}`,gb())});if(!J.ok)throw new xb({url:Y,statusCode:J.status,statusText:J.statusText});return{data:new Uint8Array(await J.arrayBuffer()),mediaType:(X=J.headers.get("content-type"))!=null?X:void 0}}catch(J){if(xb.isInstance(J))throw J;throw new xb({url:Y,cause:J})}},Bu1=(Q=Uu1)=>(X)=>Promise.all(X.map(async(Y)=>Y.isUrlSupportedByModel?null:Q(Y))),LH6,VP,i6,MH6,Eu1,TH6,ju1,Cu1,Iu1,PH6,Ru1,Su1,ku1,vu1,_u1,yu1,bu1,gu1,nb,uu1,nu1=({maxRetries:Q=2,initialDelayInMs:X=2000,backoffFactor:Y=2,abortSignal:J}={})=>async(G)=>jH6(G,{maxRetries:Q,delayInMs:X,backoffFactor:Y,abortSignal:J}),ru1=class{constructor({data:Q,mediaType:X}){let Y=Q instanceof Uint8Array;this.base64Data=Y?void 0:Q,this.uint8ArrayData=Y?Q:void 0,this.mediaType=X}get base64(){if(this.base64Data==null)this.base64Data=kF(this.uint8ArrayData);return this.base64Data}get uint8Array(){if(this.uint8ArrayData==null)this.uint8ArrayData=qB(this.base64Data);return this.uint8ArrayData}},ou1,tu1,JX0=()=>({responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:Q}){return Q},async parsePartialOutput({text:Q}){return{partial:Q}}}),Qm1=({schema:Q,name:X,description:Y})=>{let J=jW(Q);return{responseFormat:I9(J.jsonSchema).then((G)=>({type:"json",schema:G,...X!=null&&{name:X},...Y!=null&&{description:Y}})),async parseCompleteOutput({text:G},W){let Z=await wY({text:G});if(!Z.success)throw new EK({message:"No object generated: could not parse the response.",cause:Z.error,text:G,response:W.response,usage:W.usage,finishReason:W.finishReason});let $=await hX({value:Z.value,schema:J});if(!$.success)throw new EK({message:"No object generated: response did not match schema.",cause:$.error,text:G,response:W.response,usage:W.usage,finishReason:W.finishReason});return $.value},async parsePartialOutput({text:G}){let W=await qP(G);switch(W.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:W.value}}}}},Xm1=({element:Q,name:X,description:Y})=>{let J=jW(Q);return{responseFormat:I9(J.jsonSchema).then((G)=>{let{$schema:W,...Z}=G;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:Z}},required:["elements"],additionalProperties:!1},...X!=null&&{name:X},...Y!=null&&{description:Y}}}),async parseCompleteOutput({text:G},W){let Z=await wY({text:G});if(!Z.success)throw new EK({message:"No object generated: could not parse the response.",cause:Z.error,text:G,response:W.response,usage:W.usage,finishReason:W.finishReason});let $=Z.value;if($==null||typeof $!=="object"||!("elements"in $)||!Array.isArray($.elements))throw new EK({message:"No object generated: response did not match schema.",cause:new o5({value:$,cause:"response must be an object with an elements array"}),text:G,response:W.response,usage:W.usage,finishReason:W.finishReason});for(let K of $.elements){let H=await hX({value:K,schema:J});if(!H.success)throw new EK({message:"No object generated: response did not match schema.",cause:H.error,text:G,response:W.response,usage:W.usage,finishReason:W.finishReason})}return $.elements},async parsePartialOutput({text:G}){let W=await qP(G);switch(W.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let Z=W.value;if(Z==null||typeof Z!=="object"||!("elements"in Z)||!Array.isArray(Z.elements))return;let $=W.state==="repaired-parse"&&Z.elements.length>0?Z.elements.slice(0,-1):Z.elements,K=[];for(let H of $){let F=await hX({value:H,schema:J});if(F.success)K.push(F.value)}return{partial:K}}}}}},Ym1=({options:Q,name:X,description:Y})=>{return{responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:Q}},required:["result"],additionalProperties:!1},...X!=null&&{name:X},...Y!=null&&{description:Y}}),async parseCompleteOutput({text:J},G){let W=await wY({text:J});if(!W.success)throw new EK({message:"No object generated: could not parse the response.",cause:W.error,text:J,response:G.response,usage:G.usage,finishReason:G.finishReason});let Z=W.value;if(Z==null||typeof Z!=="object"||!("result"in Z)||typeof Z.result!=="string"||!Q.includes(Z.result))throw new EK({message:"No object generated: response did not match schema.",cause:new o5({value:Z,cause:"response must be an object that contains a choice value."}),text:J,response:G.response,usage:G.usage,finishReason:G.finishReason});return Z.result},async parsePartialOutput({text:J}){let G=await qP(J);switch(G.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let W=G.value;if(W==null||typeof W!=="object"||!("result"in W)||typeof W.result!=="string")return;let Z=Q.filter(($)=>$.startsWith(W.result));if(G.state==="successful-parse")return Z.includes(W.result)?{partial:W.result}:void 0;else return Z.length===1?{partial:Z[0]}:void 0}}}}},Jm1=({name:Q,description:X}={})=>{return{responseFormat:Promise.resolve({type:"json",...Q!=null&&{name:Q},...X!=null&&{description:X}}),async parseCompleteOutput({text:Y},J){let G=await wY({text:Y});if(!G.success)throw new EK({message:"No object generated: could not parse the response.",cause:G.error,text:Y,response:J.response,usage:J.usage,finishReason:J.finishReason});return G.value},async parsePartialOutput({text:Y}){let J=await qP(Y);switch(J.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return J.value===void 0?void 0:{partial:J.value}}}}},Wm1=class{constructor({content:Q,finishReason:X,rawFinishReason:Y,usage:J,warnings:G,request:W,response:Z,providerMetadata:$}){this.content=Q,this.finishReason=X,this.rawFinishReason=Y,this.usage=J,this.warnings=G,this.request=W,this.response=Z,this.providerMetadata=$}get text(){return this.content.filter((Q)=>Q.type==="text").map((Q)=>Q.text).join("")}get reasoning(){return this.content.filter((Q)=>Q.type==="reasoning")}get reasoningText(){return this.reasoning.length===0?void 0:this.reasoning.map((Q)=>Q.text).join("")}get files(){return this.content.filter((Q)=>Q.type==="file").map((Q)=>Q.file)}get sources(){return this.content.filter((Q)=>Q.type==="source")}get toolCalls(){return this.content.filter((Q)=>Q.type==="tool-call")}get staticToolCalls(){return this.toolCalls.filter((Q)=>Q.dynamic!==!0)}get dynamicToolCalls(){return this.toolCalls.filter((Q)=>Q.dynamic===!0)}get toolResults(){return this.content.filter((Q)=>Q.type==="tool-result")}get staticToolResults(){return this.toolResults.filter((Q)=>Q.dynamic!==!0)}get dynamicToolResults(){return this.toolResults.filter((Q)=>Q.dynamic===!0)}},la4,SH6,kH6,aa4,Mm1,Pm1=class{constructor({model:Q,telemetry:X,headers:Y,settings:J,maxRetries:G,abortSignal:W,system:Z,prompt:$,messages:K,tools:H,toolChoice:F,transforms:V,activeTools:q,repairToolCall:U,stopConditions:D,output:B,providerOptions:L,prepareStep:M,includeRawChunks:C,now:E,currentDate:A,generateId:P,onChunk:j,onError:R,onFinish:k,onAbort:b,onStepFinish:f,experimental_context:x,download:r}){this._totalUsage=new SF,this._finishReason=new SF,this._rawFinishReason=new SF,this._steps=new SF,this.outputSpecification=B,this.includeRawChunks=C,this.tools=H;let h,S=[],l=[],Q0=void 0,o=void 0,J0=void 0,z0={},Z0=[],V0=[],P0=new Map,_0,H6={},N0={},G0=new TransformStream({async transform(u0,A0){var S0,D6,p6,A1;A0.enqueue(u0);let{part:l0}=u0;if(l0.type==="text-delta"||l0.type==="reasoning-delta"||l0.type==="source"||l0.type==="tool-call"||l0.type==="tool-result"||l0.type==="tool-input-start"||l0.type==="tool-input-delta"||l0.type==="raw")await(j==null?void 0:j({chunk:l0}));if(l0.type==="error")await R({error:hu1(l0.error)});if(l0.type==="text-start")H6[l0.id]={type:"text",text:"",providerMetadata:l0.providerMetadata},S.push(H6[l0.id]);if(l0.type==="text-delta"){let d0=H6[l0.id];if(d0==null){A0.enqueue({part:{type:"error",error:`text part ${l0.id} not found`},partialOutput:void 0});return}d0.text+=l0.text,d0.providerMetadata=(S0=l0.providerMetadata)!=null?S0:d0.providerMetadata}if(l0.type==="text-end"){let d0=H6[l0.id];if(d0==null){A0.enqueue({part:{type:"error",error:`text part ${l0.id} not found`},partialOutput:void 0});return}d0.providerMetadata=(D6=l0.providerMetadata)!=null?D6:d0.providerMetadata,delete H6[l0.id]}if(l0.type==="reasoning-start")N0[l0.id]={type:"reasoning",text:"",providerMetadata:l0.providerMetadata},S.push(N0[l0.id]);if(l0.type==="reasoning-delta"){let d0=N0[l0.id];if(d0==null){A0.enqueue({part:{type:"error",error:`reasoning part ${l0.id} not found`},partialOutput:void 0});return}d0.text+=l0.text,d0.providerMetadata=(p6=l0.providerMetadata)!=null?p6:d0.providerMetadata}if(l0.type==="reasoning-end"){let d0=N0[l0.id];if(d0==null){A0.enqueue({part:{type:"error",error:`reasoning part ${l0.id} not found`},partialOutput:void 0});return}d0.providerMetadata=(A1=l0.providerMetadata)!=null?A1:d0.providerMetadata,delete N0[l0.id]}if(l0.type==="file")S.push({type:"file",file:l0.file});if(l0.type==="source")S.push(l0);if(l0.type==="tool-call")S.push(l0);if(l0.type==="tool-result"&&!l0.preliminary)S.push(l0);if(l0.type==="tool-approval-request")S.push(l0);if(l0.type==="tool-error")S.push(l0);if(l0.type==="start-step")S=[],N0={},H6={},z0=l0.request,Z0=l0.warnings;if(l0.type==="finish-step"){let d0=await kK6({content:S,tools:H}),C0=new Wm1({content:S,finishReason:l0.finishReason,rawFinishReason:l0.rawFinishReason,usage:l0.usage,warnings:Z0,request:z0,response:{...l0.response,messages:[...l,...d0]},providerMetadata:l0.providerMetadata});await(f==null?void 0:f(C0)),UH6({warnings:Z0,provider:Q.provider,model:Q.modelId}),V0.push(C0),l.push(...d0),h.resolve()}if(l0.type==="finish")J0=l0.totalUsage,Q0=l0.finishReason,o=l0.rawFinishReason},async flush(u0){try{if(V0.length===0){let p6=(W==null?void 0:W.aborted)?W.reason:new dg1({message:"No output generated. Check the stream for errors."});U0._finishReason.reject(p6),U0._rawFinishReason.reject(p6),U0._totalUsage.reject(p6),U0._steps.reject(p6);return}let A0=Q0!=null?Q0:"other",S0=J0!=null?J0:a90();U0._finishReason.resolve(A0),U0._rawFinishReason.resolve(o),U0._totalUsage.resolve(S0),U0._steps.resolve(V0);let D6=V0[V0.length-1];await(k==null?void 0:k({finishReason:D6.finishReason,rawFinishReason:D6.rawFinishReason,totalUsage:S0,usage:D6.usage,content:D6.content,text:D6.text,reasoningText:D6.reasoningText,reasoning:D6.reasoning,files:D6.files,sources:D6.sources,toolCalls:D6.toolCalls,staticToolCalls:D6.staticToolCalls,dynamicToolCalls:D6.dynamicToolCalls,toolResults:D6.toolResults,staticToolResults:D6.staticToolResults,dynamicToolResults:D6.dynamicToolResults,request:D6.request,response:D6.response,warnings:D6.warnings,providerMetadata:D6.providerMetadata,steps:V0,experimental_context:x})),_0.setAttributes(await DB({telemetry:X,attributes:{"ai.response.finishReason":A0,"ai.response.text":{output:()=>D6.text},"ai.response.toolCalls":{output:()=>{var p6;return((p6=D6.toolCalls)==null?void 0:p6.length)?JSON.stringify(D6.toolCalls):void 0}},"ai.response.providerMetadata":JSON.stringify(D6.providerMetadata),"ai.usage.inputTokens":S0.inputTokens,"ai.usage.outputTokens":S0.outputTokens,"ai.usage.totalTokens":S0.totalTokens,"ai.usage.reasoningTokens":S0.reasoningTokens,"ai.usage.cachedInputTokens":S0.cachedInputTokens}}))}catch(A0){u0.error(A0)}finally{_0.end()}}}),R0=Om1();this.addStream=R0.addStream,this.closeStream=R0.close;let d6=R0.stream.getReader(),f6=new ReadableStream({async start(u0){u0.enqueue({type:"start"})},async pull(u0){function A0(){b==null||b({steps:V0}),u0.enqueue({type:"abort",...(W==null?void 0:W.reason)!==void 0?{reason:r5(W.reason)}:{}}),u0.close()}try{let{done:S0,value:D6}=await d6.read();if(S0){u0.close();return}if(W==null?void 0:W.aborted){A0();return}u0.enqueue(D6)}catch(S0){if(ZZ(S0)&&(W==null?void 0:W.aborted))A0();else u0.error(S0)}},cancel(u0){return R0.stream.cancel(u0)}});for(let u0 of V)f6=f6.pipeThrough(u0({tools:H,stopStream(){R0.terminate()}}));this.baseStream=f6.pipeThrough(Tm1(B!=null?B:JX0())).pipeThrough(G0);let{maxRetries:b0,retry:L0}=iu1({maxRetries:G,abortSignal:W}),$0=mu1(X),T0=Tu1(J),H0=xu1({model:Q,telemetry:X,headers:Y,settings:{...T0,maxRetries:b0}}),U0=this;YX0({name:"ai.streamText",attributes:DB({telemetry:X,attributes:{...QX0({operationId:"ai.streamText",telemetry:X}),...H0,"ai.prompt":{input:()=>JSON.stringify({system:Z,prompt:$,messages:K})}}}),tracer:$0,endWhenDone:!1,fn:async(u0)=>{_0=u0;let A0=await fu1({system:Z,prompt:$,messages:K}),S0=A0.messages,D6=[],{approvedToolApprovals:p6,deniedToolApprovals:A1}=au1({messages:S0});if(A1.length>0||p6.length>0){let d0=[...p6,...A1].filter((E6)=>E6.toolCall.providerExecuted),C0=p6.filter((E6)=>!E6.toolCall.providerExecuted),J6=A1.filter((E6)=>!E6.toolCall.providerExecuted),k4=A1.filter((E6)=>E6.toolCall.providerExecuted),l1,JQ=new ReadableStream({start(E6){l1=E6}});U0.addStream(JQ);try{for(let I0 of[...J6,...k4])l1==null||l1.enqueue({type:"tool-output-denied",toolCallId:I0.toolCall.toolCallId,toolName:I0.toolCall.toolName});let E6=[];if(await Promise.all(C0.map(async(I0)=>{let v4=await CH6({toolCall:I0.toolCall,tools:H,tracer:$0,telemetry:X,messages:S0,abortSignal:W,experimental_context:x,onPreliminaryToolResult:(O)=>{l1==null||l1.enqueue(O)}});if(v4!=null)l1==null||l1.enqueue(v4),E6.push(v4)})),d0.length>0)D6.push({role:"tool",content:d0.map((I0)=>({type:"tool-approval-response",approvalId:I0.approvalResponse.approvalId,approved:I0.approvalResponse.approved,reason:I0.approvalResponse.reason,providerExecuted:!0}))});if(E6.length>0||J6.length>0){let I0=[];for(let v4 of E6)I0.push({type:"tool-result",toolCallId:v4.toolCallId,toolName:v4.toolName,output:await NB({toolCallId:v4.toolCallId,input:v4.input,tool:H==null?void 0:H[v4.toolName],output:v4.type==="tool-result"?v4.output:v4.error,errorMode:v4.type==="tool-error"?"json":"none"})});for(let v4 of J6)I0.push({type:"tool-result",toolCallId:v4.toolCall.toolCallId,toolName:v4.toolCall.toolName,output:{type:"execution-denied",reason:v4.approvalResponse.reason}});D6.push({role:"tool",content:I0})}}finally{l1==null||l1.close()}}l.push(...D6);async function l0({currentStep:d0,responseMessages:C0,usage:J6}){var k4,l1,JQ,E6,I0,v4;let O=U0.includeRawChunks;h=new SF;let _=[...S0,...C0],e=await(M==null?void 0:M({model:Q,steps:V0,stepNumber:V0.length,messages:_,experimental_context:x})),Y0=NH6((k4=e==null?void 0:e.model)!=null?k4:Q),z=await Ou1({prompt:{system:(l1=e==null?void 0:e.system)!=null?l1:A0.system,messages:(JQ=e==null?void 0:e.messages)!=null?JQ:_},supportedUrls:await Y0.supportedUrls,download:r}),{toolChoice:w,tools:v}=await Au1({tools:H,toolChoice:(E6=e==null?void 0:e.toolChoice)!=null?E6:F,activeTools:(I0=e==null?void 0:e.activeTools)!=null?I0:q});x=(v4=e==null?void 0:e.experimental_context)!=null?v4:x;let n=$X0(L,e==null?void 0:e.providerOptions),{result:{stream:s,response:m,request:M0},doStreamSpan:e0,startTimestampMs:A6}=await L0(()=>YX0({name:"ai.streamText.doStream",attributes:DB({telemetry:X,attributes:{...QX0({operationId:"ai.streamText.doStream",telemetry:X}),...H0,"ai.model.provider":Y0.provider,"ai.model.id":Y0.modelId,"ai.prompt.messages":{input:()=>lu1(z)},"ai.prompt.tools":{input:()=>v==null?void 0:v.map((G6)=>JSON.stringify(G6))},"ai.prompt.toolChoice":{input:()=>w!=null?JSON.stringify(w):void 0},"gen_ai.system":Y0.provider,"gen_ai.request.model":Y0.modelId,"gen_ai.request.frequency_penalty":T0.frequencyPenalty,"gen_ai.request.max_tokens":T0.maxOutputTokens,"gen_ai.request.presence_penalty":T0.presencePenalty,"gen_ai.request.stop_sequences":T0.stopSequences,"gen_ai.request.temperature":T0.temperature,"gen_ai.request.top_k":T0.topK,"gen_ai.request.top_p":T0.topP}}),tracer:$0,endWhenDone:!1,fn:async(G6)=>({startTimestampMs:E(),doStreamSpan:G6,result:await Y0.doStream({...T0,tools:v,toolChoice:w,responseFormat:await(B==null?void 0:B.responseFormat),prompt:z,providerOptions:n,abortSignal:W,headers:Y,includeRawChunks:O})})})),v0=wm1({tools:H,generatorStream:s,tracer:$0,telemetry:X,system:Z,messages:_,repairToolCall:U,abortSignal:W,experimental_context:x,generateId:P}),w6=M0!=null?M0:{},S1=[],_8=[],b1,xX={},QG="other",HZ=void 0,p0=a90(),B1,zQ=!0,m8={id:P(),timestamp:A(),modelId:Q.modelId},Y6="";U0.addStream(v0.pipeThrough(new TransformStream({async transform(G6,V4){var gX,jK,zP,jQ,bF;if(G6.type==="stream-start"){b1=G6.warnings;return}if(zQ){let UQ=E()-A6;zQ=!1,e0.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":UQ}),e0.setAttributes({"ai.response.msToFirstChunk":UQ}),V4.enqueue({type:"start-step",request:w6,warnings:b1!=null?b1:[]})}let eb=G6.type;switch(eb){case"tool-approval-request":case"text-start":case"text-end":{V4.enqueue(G6);break}case"text-delta":{if(G6.delta.length>0)V4.enqueue({type:"text-delta",id:G6.id,text:G6.delta,providerMetadata:G6.providerMetadata}),Y6+=G6.delta;break}case"reasoning-start":case"reasoning-end":{V4.enqueue(G6);break}case"reasoning-delta":{V4.enqueue({type:"reasoning-delta",id:G6.id,text:G6.delta,providerMetadata:G6.providerMetadata});break}case"tool-call":{V4.enqueue(G6),S1.push(G6);break}case"tool-result":{if(V4.enqueue(G6),!G6.preliminary)_8.push(G6);break}case"tool-error":{V4.enqueue(G6),_8.push(G6);break}case"response-metadata":{m8={id:(gX=G6.id)!=null?gX:m8.id,timestamp:(jK=G6.timestamp)!=null?jK:m8.timestamp,modelId:(zP=G6.modelId)!=null?zP:m8.modelId};break}case"finish":{p0=G6.usage,QG=G6.finishReason,HZ=G6.rawFinishReason,B1=G6.providerMetadata;let UQ=E()-A6;e0.addEvent("ai.stream.finish"),e0.setAttributes({"ai.response.msToFinish":UQ,"ai.response.avgOutputTokensPerSecond":1000*((jQ=p0.outputTokens)!=null?jQ:0)/UQ});break}case"file":{V4.enqueue(G6);break}case"source":{V4.enqueue(G6);break}case"tool-input-start":{xX[G6.id]=G6.toolName;let UQ=H==null?void 0:H[G6.toolName];if((UQ==null?void 0:UQ.onInputStart)!=null)await UQ.onInputStart({toolCallId:G6.id,messages:_,abortSignal:W,experimental_context:x});V4.enqueue({...G6,dynamic:(bF=G6.dynamic)!=null?bF:(UQ==null?void 0:UQ.type)==="dynamic",title:UQ==null?void 0:UQ.title});break}case"tool-input-end":{delete xX[G6.id],V4.enqueue(G6);break}case"tool-input-delta":{let UQ=xX[G6.id],Qf=H==null?void 0:H[UQ];if((Qf==null?void 0:Qf.onInputDelta)!=null)await Qf.onInputDelta({inputTextDelta:G6.delta,toolCallId:G6.id,messages:_,abortSignal:W,experimental_context:x});V4.enqueue(G6);break}case"error":{V4.enqueue(G6),QG="error";break}case"raw":{if(O)V4.enqueue(G6);break}default:throw Error(`Unknown chunk type: ${eb}`)}},async flush(G6){let V4=S1.length>0?JSON.stringify(S1):void 0;try{e0.setAttributes(await DB({telemetry:X,attributes:{"ai.response.finishReason":QG,"ai.response.text":{output:()=>Y6},"ai.response.toolCalls":{output:()=>V4},"ai.response.id":m8.id,"ai.response.model":m8.modelId,"ai.response.timestamp":m8.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(B1),"ai.usage.inputTokens":p0.inputTokens,"ai.usage.outputTokens":p0.outputTokens,"ai.usage.totalTokens":p0.totalTokens,"ai.usage.reasoningTokens":p0.reasoningTokens,"ai.usage.cachedInputTokens":p0.cachedInputTokens,"gen_ai.response.finish_reasons":[QG],"gen_ai.response.id":m8.id,"gen_ai.response.model":m8.modelId,"gen_ai.usage.input_tokens":p0.inputTokens,"gen_ai.usage.output_tokens":p0.outputTokens}}))}catch(jQ){}finally{e0.end()}G6.enqueue({type:"finish-step",finishReason:QG,rawFinishReason:HZ,usage:p0,providerMetadata:B1,response:{...m8,headers:m==null?void 0:m.headers}});let gX=pu1(J6,p0);await h.promise;let jK=S1.filter((jQ)=>jQ.providerExecuted!==!0),zP=_8.filter((jQ)=>jQ.providerExecuted!==!0);for(let jQ of S1){if(jQ.providerExecuted!==!0)continue;let bF=H==null?void 0:H[jQ.toolName];if((bF==null?void 0:bF.type)==="provider"&&bF.supportsDeferredResults){if(!_8.some((UQ)=>UQ.type==="tool-result"&&UQ.toolCallId===jQ.toolCallId))P0.set(jQ.toolCallId,{toolName:jQ.toolName})}}for(let jQ of _8)if(jQ.type==="tool-result")P0.delete(jQ.toolCallId);if((jK.length>0&&zP.length===jK.length||P0.size>0)&&!await Zm1({stopConditions:D,steps:V0})){C0.push(...await kK6({content:V0[V0.length-1].content,tools:H}));try{await l0({currentStep:d0+1,responseMessages:C0,usage:gX})}catch(jQ){G6.enqueue({type:"error",error:jQ}),U0.closeStream()}}else G6.enqueue({type:"finish",finishReason:QG,rawFinishReason:HZ,totalUsage:gX}),U0.closeStream()}})))}await l0({currentStep:0,responseMessages:D6,usage:a90()})}}).catch((u0)=>{U0.addStream(new ReadableStream({start(A0){A0.enqueue({type:"error",error:u0}),A0.close()}})),U0.closeStream()})}get steps(){return this.consumeStream(),this._steps.promise}get finalStep(){return this.steps.then((Q)=>Q[Q.length-1])}get content(){return this.finalStep.then((Q)=>Q.content)}get warnings(){return this.finalStep.then((Q)=>Q.warnings)}get providerMetadata(){return this.finalStep.then((Q)=>Q.providerMetadata)}get text(){return this.finalStep.then((Q)=>Q.text)}get reasoningText(){return this.finalStep.then((Q)=>Q.reasoningText)}get reasoning(){return this.finalStep.then((Q)=>Q.reasoning)}get sources(){return this.finalStep.then((Q)=>Q.sources)}get files(){return this.finalStep.then((Q)=>Q.files)}get toolCalls(){return this.finalStep.then((Q)=>Q.toolCalls)}get staticToolCalls(){return this.finalStep.then((Q)=>Q.staticToolCalls)}get dynamicToolCalls(){return this.finalStep.then((Q)=>Q.dynamicToolCalls)}get toolResults(){return this.finalStep.then((Q)=>Q.toolResults)}get staticToolResults(){return this.finalStep.then((Q)=>Q.staticToolResults)}get dynamicToolResults(){return this.finalStep.then((Q)=>Q.dynamicToolResults)}get usage(){return this.finalStep.then((Q)=>Q.usage)}get request(){return this.finalStep.then((Q)=>Q.request)}get response(){return this.finalStep.then((Q)=>Q.response)}get totalUsage(){return this.consumeStream(),this._totalUsage.promise}get finishReason(){return this.consumeStream(),this._finishReason.promise}get rawFinishReason(){return this.consumeStream(),this._rawFinishReason.promise}teeStream(){let[Q,X]=this.baseStream.tee();return this.baseStream=X,Q}get textStream(){return ib(this.teeStream().pipeThrough(new TransformStream({transform({part:Q},X){if(Q.type==="text-delta")X.enqueue(Q.text)}})))}get fullStream(){return ib(this.teeStream().pipeThrough(new TransformStream({transform({part:Q},X){X.enqueue(Q)}})))}async consumeStream(Q){var X;try{await Nm1({stream:this.fullStream,onError:Q==null?void 0:Q.onError})}catch(Y){(X=Q==null?void 0:Q.onError)==null||X.call(Q,Y)}}get experimental_partialOutputStream(){return this.partialOutputStream}get partialOutputStream(){return ib(this.teeStream().pipeThrough(new TransformStream({transform({partialOutput:Q},X){if(Q!=null)X.enqueue(Q)}})))}get output(){return this.finalStep.then((Q)=>{var X;return((X=this.outputSpecification)!=null?X:JX0()).parseCompleteOutput({text:Q.text},{response:Q.response,usage:Q.usage,finishReason:Q.finishReason})})}toUIMessageStream({originalMessages:Q,generateMessageId:X,onFinish:Y,messageMetadata:J,sendReasoning:G=!0,sendSources:W=!1,sendStart:Z=!0,sendFinish:$=!0,onError:K=r5}={}){let H=X!=null?Vm1({originalMessages:Q,responseMessageId:X}):void 0,F=(q)=>{var U;let D=(U=this.tools)==null?void 0:U[q.toolName];if(D==null)return q.dynamic;return(D==null?void 0:D.type)==="dynamic"?!0:void 0},V=this.fullStream.pipeThrough(new TransformStream({transform:async(q,U)=>{let D=J==null?void 0:J({part:q}),B=q.type;switch(B){case"text-start":{U.enqueue({type:"text-start",id:q.id,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"text-delta":{U.enqueue({type:"text-delta",id:q.id,delta:q.text,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"text-end":{U.enqueue({type:"text-end",id:q.id,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"reasoning-start":{U.enqueue({type:"reasoning-start",id:q.id,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"reasoning-delta":{if(G)U.enqueue({type:"reasoning-delta",id:q.id,delta:q.text,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"reasoning-end":{U.enqueue({type:"reasoning-end",id:q.id,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"file":{U.enqueue({type:"file",mediaType:q.file.mediaType,url:`data:${q.file.mediaType};base64,${q.file.base64}`});break}case"source":{if(W&&q.sourceType==="url")U.enqueue({type:"source-url",sourceId:q.id,url:q.url,title:q.title,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});if(W&&q.sourceType==="document")U.enqueue({type:"source-document",sourceId:q.id,mediaType:q.mediaType,title:q.title,filename:q.filename,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"tool-input-start":{let L=F(q);U.enqueue({type:"tool-input-start",toolCallId:q.id,toolName:q.toolName,...q.providerExecuted!=null?{providerExecuted:q.providerExecuted}:{},...L!=null?{dynamic:L}:{},...q.title!=null?{title:q.title}:{}});break}case"tool-input-delta":{U.enqueue({type:"tool-input-delta",toolCallId:q.id,inputTextDelta:q.delta});break}case"tool-call":{let L=F(q);if(q.invalid)U.enqueue({type:"tool-input-error",toolCallId:q.toolCallId,toolName:q.toolName,input:q.input,...q.providerExecuted!=null?{providerExecuted:q.providerExecuted}:{},...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{},...L!=null?{dynamic:L}:{},errorText:K(q.error),...q.title!=null?{title:q.title}:{}});else U.enqueue({type:"tool-input-available",toolCallId:q.toolCallId,toolName:q.toolName,input:q.input,...q.providerExecuted!=null?{providerExecuted:q.providerExecuted}:{},...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{},...L!=null?{dynamic:L}:{},...q.title!=null?{title:q.title}:{}});break}case"tool-approval-request":{U.enqueue({type:"tool-approval-request",approvalId:q.approvalId,toolCallId:q.toolCall.toolCallId});break}case"tool-result":{let L=F(q);U.enqueue({type:"tool-output-available",toolCallId:q.toolCallId,output:q.output,...q.providerExecuted!=null?{providerExecuted:q.providerExecuted}:{},...q.preliminary!=null?{preliminary:q.preliminary}:{},...L!=null?{dynamic:L}:{}});break}case"tool-error":{let L=F(q);U.enqueue({type:"tool-output-error",toolCallId:q.toolCallId,errorText:K(q.error),...q.providerExecuted!=null?{providerExecuted:q.providerExecuted}:{},...L!=null?{dynamic:L}:{}});break}case"tool-output-denied":{U.enqueue({type:"tool-output-denied",toolCallId:q.toolCallId});break}case"error":{U.enqueue({type:"error",errorText:K(q.error)});break}case"start-step":{U.enqueue({type:"start-step"});break}case"finish-step":{U.enqueue({type:"finish-step"});break}case"start":{if(Z)U.enqueue({type:"start",...D!=null?{messageMetadata:D}:{},...H!=null?{messageId:H}:{}});break}case"finish":{if($)U.enqueue({type:"finish",finishReason:q.finishReason,...D!=null?{messageMetadata:D}:{}});break}case"abort":{U.enqueue(q);break}case"tool-input-end":break;case"raw":break;default:throw Error(`Unknown chunk type: ${B}`)}if(D!=null&&B!=="start"&&B!=="finish")U.enqueue({type:"message-metadata",messageMetadata:D})}}));return ib(Bm1({stream:V,messageId:H!=null?H:X==null?void 0:X(),originalMessages:Q,onFinish:Y,onError:K}))}pipeUIMessageStreamToResponse(Q,{originalMessages:X,generateMessageId:Y,onFinish:J,messageMetadata:G,sendReasoning:W,sendSources:Z,sendFinish:$,sendStart:K,onError:H,...F}={}){Dm1({response:Q,stream:this.toUIMessageStream({originalMessages:X,generateMessageId:Y,onFinish:J,messageMetadata:G,sendReasoning:W,sendSources:Z,sendFinish:$,sendStart:K,onError:H}),...F})}pipeTextStreamToResponse(Q,X){Hm1({response:Q,textStream:this.textStream,...X})}toUIMessageStreamResponse({originalMessages:Q,generateMessageId:X,onFinish:Y,messageMetadata:J,sendReasoning:G,sendSources:W,sendFinish:Z,sendStart:$,onError:K,...H}={}){return Fm1({stream:this.toUIMessageStream({originalMessages:Q,generateMessageId:X,onFinish:Y,messageMetadata:J,sendReasoning:G,sendSources:W,sendFinish:Z,sendStart:$,onError:K}),...H})}toTextStreamResponse(Q){return Km1({textStream:this.textStream,...Q})}},ea4,Xr4,Jr4,Am1="AI_NoSuchProviderError",Em1,jm1,Cm1;var fH6=y(()=>{F4();F4();S4();S4();S4();S4();S4();S4();S4();S4();S4();S4();S4();S4();i90();F4();F4();F4();F4();S4();F4();a1();S4();F4();S4();F4();a1();a1();a1();a1();a1();i90();S4();S4();F4();F4();F4();S4();F4();F4();F4();S4();F4();F4();a1();F4();F4();F4();F4();a1();F4();F4();AH6=k1(K6(),1),XX0=k1(K6(),1),jg1=Object.defineProperty,bK6=`vercel.ai.error.${yK6}`,Ig1=Symbol.for(bK6),IW=class extends P6{constructor({parameter:Q,value:X,message:Y}){super({name:yK6,message:`Invalid argument for parameter ${Q}: ${Y}`});this[fK6]=!0,this.parameter=Q,this.value=X}static isInstance(Q){return P6.hasMarker(Q,bK6)}};fK6=Ig1;Sg1=`vercel.ai.error.${Rg1}`,kg1=Symbol.for(Sg1);vg1=kg1;xK6=`vercel.ai.error.${hK6}`,_g1=Symbol.for(xK6),yg1=class extends P6{constructor({approvalId:Q}){super({name:hK6,message:`Tool approval response references unknown approvalId: "${Q}". No matching tool-approval-request found in message history.`});this[gK6]=!0,this.approvalId=Q}static isInstance(Q){return P6.hasMarker(Q,xK6)}};gK6=_g1;mK6=`vercel.ai.error.${uK6}`,bg1=Symbol.for(mK6),ZX0=class extends P6{constructor({toolInput:Q,toolName:X,cause:Y,message:J=`Invalid input for tool ${X}: ${r5(Y)}`}){super({name:uK6,message:J,cause:Y});this[lK6]=!0,this.toolInput=Q,this.toolName=X}static isInstance(Q){return P6.hasMarker(Q,mK6)}};lK6=bg1;pK6=`vercel.ai.error.${dK6}`,fg1=Symbol.for(pK6),nK6=class extends P6{constructor({toolCallId:Q,approvalId:X}){super({name:dK6,message:`Tool call "${Q}" not found for approval request "${X}".`});this[cK6]=!0,this.toolCallId=Q,this.approvalId=X}static isInstance(Q){return P6.hasMarker(Q,pK6)}};cK6=fg1;xg1=`vercel.ai.error.${hg1}`,gg1=Symbol.for(xg1);ug1=gg1;aK6=`vercel.ai.error.${iK6}`,mg1=Symbol.for(aK6),EK=class extends P6{constructor({message:Q="No object generated.",cause:X,text:Y,response:J,usage:G,finishReason:W}){super({name:iK6,message:Q,cause:X});this[rK6]=!0,this.text=Y,this.response=J,this.usage=G,this.finishReason=W}static isInstance(Q){return P6.hasMarker(Q,aK6)}};rK6=mg1;sK6=`vercel.ai.error.${oK6}`,lg1=Symbol.for(sK6),dg1=class extends P6{constructor({message:Q="No output generated.",cause:X}={}){super({name:oK6,message:Q,cause:X});this[tK6]=!0}static isInstance(Q){return P6.hasMarker(Q,sK6)}};tK6=lg1;QH6=`vercel.ai.error.${eK6}`,pg1=Symbol.for(QH6),e90=class extends P6{constructor({toolName:Q,availableTools:X=void 0,message:Y=`Model tried to call unavailable tool '${Q}'. ${X===void 0?"No tools are available.":`Available tools: ${X.join(", ")}.`}`}){super({name:eK6,message:Y});this[XH6]=!0,this.toolName=Q,this.availableTools=X}static isInstance(Q){return P6.hasMarker(Q,QH6)}};XH6=pg1;JH6=`vercel.ai.error.${YH6}`,cg1=Symbol.for(JH6),ng1=class extends P6{constructor({cause:Q,originalError:X,message:Y=`Error repairing tool call: ${r5(Q)}`}){super({name:YH6,message:Y,cause:Q});this[GH6]=!0,this.originalError=X}static isInstance(Q){return P6.hasMarker(Q,JH6)}};GH6=cg1;ig1=class extends P6{constructor(Q){super({name:"AI_UnsupportedModelVersionError",message:`Unsupported model version ${Q.version} for provider "${Q.provider}" and model "${Q.modelId}". AI SDK 5 only supports models that implement specification version "v2".`});this.version=Q.version,this.provider=Q.provider,this.modelId=Q.modelId}},rg1=`vercel.ai.error.${ag1}`,og1=Symbol.for(rg1);sg1=og1;ZH6=`vercel.ai.error.${WH6}`,tg1=Symbol.for(ZH6),eg1=class extends P6{constructor({role:Q,message:X=`Invalid message role: '${Q}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:WH6,message:X});this[$H6]=!0,this.role=Q}static isInstance(Q){return P6.hasMarker(Q,ZH6)}};$H6=tg1;HH6=`vercel.ai.error.${KH6}`,Qu1=Symbol.for(HH6),Xu1=class extends P6{constructor({originalMessage:Q,message:X}){super({name:KH6,message:X});this[FH6]=!0,this.originalMessage=Q}static isInstance(Q){return P6.hasMarker(Q,HH6)}};FH6=Qu1;qH6=`vercel.ai.error.${VH6}`,Yu1=Symbol.for(qH6),jK6=class extends P6{constructor({message:Q,reason:X,errors:Y}){super({name:VH6,message:Q});this[zH6]=!0,this.reason=X,this.errors=Y,this.lastError=Y[Y.length-1]}static isInstance(Q){return P6.hasMarker(Q,qH6)}};zH6=Yu1;Hu1=[{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]}];LH6=N.union([N.string(),N.instanceof(Uint8Array),N.instanceof(ArrayBuffer),N.custom((Q)=>{var X,Y;return(Y=(X=globalThis.Buffer)==null?void 0:X.isBuffer(Q))!=null?Y:!1},{message:"Must be a Buffer"})]);VP=N.lazy(()=>N.union([N.null(),N.string(),N.number(),N.boolean(),N.record(N.string(),VP.optional()),N.array(VP)])),i6=N.record(N.string(),N.record(N.string(),VP.optional())),MH6=N.object({type:N.literal("text"),text:N.string(),providerOptions:i6.optional()}),Eu1=N.object({type:N.literal("image"),image:N.union([LH6,N.instanceof(URL)]),mediaType:N.string().optional(),providerOptions:i6.optional()}),TH6=N.object({type:N.literal("file"),data:N.union([LH6,N.instanceof(URL)]),filename:N.string().optional(),mediaType:N.string(),providerOptions:i6.optional()}),ju1=N.object({type:N.literal("reasoning"),text:N.string(),providerOptions:i6.optional()}),Cu1=N.object({type:N.literal("tool-call"),toolCallId:N.string(),toolName:N.string(),input:N.unknown(),providerOptions:i6.optional(),providerExecuted:N.boolean().optional()}),Iu1=N.discriminatedUnion("type",[N.object({type:N.literal("text"),value:N.string(),providerOptions:i6.optional()}),N.object({type:N.literal("json"),value:VP,providerOptions:i6.optional()}),N.object({type:N.literal("execution-denied"),reason:N.string().optional(),providerOptions:i6.optional()}),N.object({type:N.literal("error-text"),value:N.string(),providerOptions:i6.optional()}),N.object({type:N.literal("error-json"),value:VP,providerOptions:i6.optional()}),N.object({type:N.literal("content"),value:N.array(N.union([N.object({type:N.literal("text"),text:N.string(),providerOptions:i6.optional()}),N.object({type:N.literal("media"),data:N.string(),mediaType:N.string()}),N.object({type:N.literal("file-data"),data:N.string(),mediaType:N.string(),filename:N.string().optional(),providerOptions:i6.optional()}),N.object({type:N.literal("file-url"),url:N.string(),providerOptions:i6.optional()}),N.object({type:N.literal("file-id"),fileId:N.union([N.string(),N.record(N.string(),N.string())]),providerOptions:i6.optional()}),N.object({type:N.literal("image-data"),data:N.string(),mediaType:N.string(),providerOptions:i6.optional()}),N.object({type:N.literal("image-url"),url:N.string(),providerOptions:i6.optional()}),N.object({type:N.literal("image-file-id"),fileId:N.union([N.string(),N.record(N.string(),N.string())]),providerOptions:i6.optional()}),N.object({type:N.literal("custom"),providerOptions:i6.optional()})]))})]),PH6=N.object({type:N.literal("tool-result"),toolCallId:N.string(),toolName:N.string(),output:Iu1,providerOptions:i6.optional()}),Ru1=N.object({type:N.literal("tool-approval-request"),approvalId:N.string(),toolCallId:N.string()}),Su1=N.object({type:N.literal("tool-approval-response"),approvalId:N.string(),approved:N.boolean(),reason:N.string().optional()}),ku1=N.object({role:N.literal("system"),content:N.string(),providerOptions:i6.optional()}),vu1=N.object({role:N.literal("user"),content:N.union([N.string(),N.array(N.union([MH6,Eu1,TH6]))]),providerOptions:i6.optional()}),_u1=N.object({role:N.literal("assistant"),content:N.union([N.string(),N.array(N.union([MH6,TH6,ju1,Cu1,PH6,Ru1]))]),providerOptions:i6.optional()}),yu1=N.object({role:N.literal("tool"),content:N.array(N.union([PH6,Su1])),providerOptions:i6.optional()}),bu1=N.union([ku1,vu1,_u1,yu1]);gu1={startSpan(){return nb},startActiveSpan(Q,X,Y,J){if(typeof X==="function")return X(nb);if(typeof Y==="function")return Y(nb);if(typeof J==="function")return J(nb)}},nb={spanContext(){return uu1},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},addLink(){return this},addLinks(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this}},uu1={traceId:"",spanId:"",traceFlags:0};ou1=class extends ru1{constructor(Q){super(Q);this.type="file"}};tu1={};Cg1(tu1,{array:()=>Xm1,choice:()=>Ym1,json:()=>Jm1,object:()=>Qm1,text:()=>JX0});la4=EW({prefix:"aitxt",size:24});SH6=class extends TransformStream{constructor(){super({transform(Q,X){X.enqueue(`data: ${JSON.stringify(Q)}
1087
1087
 
1088
1088
  `)},flush(Q){Q.enqueue(`data: [DONE]
1089
1089