@decocms/mesh 2.113.0 → 2.114.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.
- package/dist/client/assets/{AlertCircle-CooHa8Dx.js → AlertCircle-FL98lGLa.js} +1 -1
- package/dist/client/assets/{AlertOctagon-Dbg9uZyB.js → AlertOctagon-B33KdaLi.js} +1 -1
- package/dist/client/assets/{AlertTriangle-Ca8IB5bL.js → AlertTriangle-DteHmOG1.js} +1 -1
- package/dist/client/assets/{ArrowLeft-DIF2VO2W.js → ArrowLeft-CMuGBwkE.js} +1 -1
- package/dist/client/assets/{ArrowUp-DgvOdNkG.js → ArrowUp-xougxkbC.js} +1 -1
- package/dist/client/assets/{Check-DGXJXTap.js → Check-BY-DCpO_.js} +1 -1
- package/dist/client/assets/{CheckCircle-DDajcDWB.js → CheckCircle-CpXx2avT.js} +1 -1
- package/dist/client/assets/{CheckDone01-CnxPjvi4.js → CheckDone01-DJLuFHxJ.js} +1 -1
- package/dist/client/assets/{CheckVerified02-Iy-LVhoI.js → CheckVerified02-Cqu-AawR.js} +1 -1
- package/dist/client/assets/{ChevronDown-Di42C1UO.js → ChevronDown-FdgQzkaa.js} +1 -1
- package/dist/client/assets/{ChevronRight-BNn59ko7.js → ChevronRight-DYxU3E_q.js} +1 -1
- package/dist/client/assets/{Clock-BLkZwDYw.js → Clock-Drw10Mc_.js} +1 -1
- package/dist/client/assets/{Code01-DooPA--K.js → Code01-CowHxp14.js} +1 -1
- package/dist/client/assets/{Container-C1CLnDNL.js → Container-B7qKC3EI.js} +1 -1
- package/dist/client/assets/{Copy01-rucQ3PSp.js → Copy01-B_7d0dwb.js} +1 -1
- package/dist/client/assets/{Dataflow03-DY9MPHye.js → Dataflow03-Cf4yDkKR.js} +1 -1
- package/dist/client/assets/{DotsHorizontal-CxkCXGJv.js → DotsHorizontal-CqtaWGEh.js} +1 -1
- package/dist/client/assets/{DotsVertical-NXfqoXCN.js → DotsVertical-qEJ2g9HJ.js} +1 -1
- package/dist/client/assets/{Download01-f5vnFohs.js → Download01-IPqVm26W.js} +1 -1
- package/dist/client/assets/{Edit01-CxGjhFGJ.js → Edit01-CUcmwNxC.js} +1 -1
- package/dist/client/assets/{Eye-CmK33jvc.js → Eye-Rq15dwoo.js} +1 -1
- package/dist/client/assets/{File02-Bs24RCQ6.js → File02-DPSlzBxh.js} +1 -1
- package/dist/client/assets/{File06-XfbhoM8r.js → File06-xsY7vCFb.js} +1 -1
- package/dist/client/assets/{FilterLines-Gpro-d22.js → FilterLines-CJgE2bmA.js} +1 -1
- package/dist/client/assets/{Globe01-CspKYhQJ.js → Globe01-BuKzbzrx.js} +1 -1
- package/dist/client/assets/{Globe02-DcNEoN4R.js → Globe02-BIRPCTiD.js} +1 -1
- package/dist/client/assets/{Grid01-DkGxNKPL.js → Grid01-CcUd9dpu.js} +1 -1
- package/dist/client/assets/{Hash02-DFSzHnWN.js → Hash02-BAkYwsUS.js} +1 -1
- package/dist/client/assets/{Home02-CccWHOVS.js → Home02-CyX62jfB.js} +1 -1
- package/dist/client/assets/{Image01-F0dDnjWb.js → Image01-CiGMIZf1.js} +1 -1
- package/dist/client/assets/{Inbox01-rhXjoTLG.js → Inbox01-CxlDy_Yy.js} +1 -1
- package/dist/client/assets/{InfoCircle-DDMndy6f.js → InfoCircle-BBQwzN3e.js} +1 -1
- package/dist/client/assets/{Key01-BoEk45CQ.js → Key01-CcfhRF0P.js} +1 -1
- package/dist/client/assets/{LinkExternal01-6fiITYn6.js → LinkExternal01-CHfE9mil.js} +1 -1
- package/dist/client/assets/{List-DLWOvAOP.js → List-BkcTlONj.js} +1 -1
- package/dist/client/assets/{Loading01-BGpLDRYx.js → Loading01-CWwskqmx.js} +1 -1
- package/dist/client/assets/{Lock01-CkEZCQ8T.js → Lock01-C-e30A69.js} +1 -1
- package/dist/client/assets/{Pin01-CSZOSQvf.js → Pin01-DNrhTTs3.js} +1 -1
- package/dist/client/assets/{Play-Ck339o9D.js → Play-sMJsBLST.js} +1 -1
- package/dist/client/assets/{Plus-BB0XqcsP.js → Plus-7gpDbhJy.js} +1 -1
- package/dist/client/assets/{RefreshCcw01-BlblCD0d.js → RefreshCcw01-BzY8N8T3.js} +1 -1
- package/dist/client/assets/{RefreshCw01-C2HUNviY.js → RefreshCw01-dI5kYugT.js} +1 -1
- package/dist/client/assets/{Save01-j7EMqYuR.js → Save01-C9jVAZgo.js} +1 -1
- package/dist/client/assets/{SearchMd-CguhhQVb.js → SearchMd-BMO4jqwv.js} +1 -1
- package/dist/client/assets/{Settings01-jz5w4e3w.js → Settings01-CRoxTuTO.js} +1 -1
- package/dist/client/assets/{Share07-DA5hMI-c.js → Share07-DFdDYoqj.js} +1 -1
- package/dist/client/assets/Shield01-DymehiLu.js +1 -0
- package/dist/client/assets/{Terminal-B6KzedA2.js → Terminal-zi42zfXM.js} +1 -1
- package/dist/client/assets/{Tool01-BPh57jnm.js → Tool01-lC4M_AmN.js} +1 -1
- package/dist/client/assets/{Trash01-DGjvH5rG.js → Trash01-BKhksYCP.js} +1 -1
- package/dist/client/assets/{Upload01-BWKtoN2l.js → Upload01-CorstXj2.js} +1 -1
- package/dist/client/assets/{Users03-DWNrz1Vr.js → Users03-B6oew679.js} +1 -1
- package/dist/client/assets/{XCircle-VzD2IKvZ.js → XCircle-WTPrrNWD.js} +1 -1
- package/dist/client/assets/{XClose-quksRQbf.js → XClose-DoKE29TG.js} +1 -1
- package/dist/client/assets/{agent-connections-preview-DO3HZtWQ.js → agent-connections-preview-DybZ18X5.js} +1 -1
- package/dist/client/assets/agent-detail-DncXhd81.js +1 -0
- package/dist/client/assets/agents-D-4jcSt1.js +1 -0
- package/dist/client/assets/{alert-dialog-BobozgbA.js → alert-dialog-Dm7Md3Yk.js} +1 -1
- package/dist/client/assets/{auth-catchall-Bg2u42FQ.js → auth-catchall-DHQTu60x.js} +1 -1
- package/dist/client/assets/avatar-B-mPVtLH.js +1 -0
- package/dist/client/assets/{badge-Ba42zrft.js → badge-Bt6C7wEJ.js} +1 -1
- package/dist/client/assets/{binder-XSlHh33G.js → binder-BvXUsKRF.js} +1 -1
- package/dist/client/assets/breadcrumb-Cipoy1eR.js +1 -0
- package/dist/client/assets/button-Bl7hMmCe.js +1 -0
- package/dist/client/assets/card-BMQBEGUR.js +1 -0
- package/dist/client/assets/{checkbox-BgqFPCG8.js → checkbox-C-nrBu1T.js} +1 -1
- package/dist/client/assets/{circle-alert-D1V0DFvr.js → circle-alert-DYoRV5F7.js} +1 -1
- package/dist/client/assets/{collection-detail-tuOZUkEg.js → collection-detail-x0pDfnG2.js} +3 -3
- package/dist/client/assets/{collection-tab-DpQw4w-_.js → collection-tab-CMJJpUjs.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-Dwsrv-is.js → collection-table-wrapper-DS44ibQ8.js} +1 -1
- package/dist/client/assets/{collection-tabs-BxPjmpup.js → collection-tabs-Dyc14WST.js} +1 -1
- package/dist/client/assets/{command-eII6FM4T.js → command-DGGP5Edh.js} +1 -1
- package/dist/client/assets/{connect-CjbgNw43.js → connect-BqPwKrDp.js} +1 -1
- package/dist/client/assets/{connection-card-B-vaA7In.js → connection-card-B_yTVrCB.js} +1 -1
- package/dist/client/assets/connection-detail-BHwcydrH.js +1 -0
- package/dist/client/assets/connections-C2FniOCy.js +1 -0
- package/dist/client/assets/constants-B9b2QjkO.js +1 -0
- package/dist/client/assets/{constants-DTZgxhQr.js → constants-DY_BU6PR.js} +1 -1
- package/dist/client/assets/{create-organization-dialog-_ENRfzh2.js → create-organization-dialog-BmtVHISe.js} +1 -1
- package/dist/client/assets/{create-project-dialog-CkoSW_Yw.js → create-project-dialog-DFYOBIMM.js} +1 -1
- package/dist/client/assets/dialog-BTs7spED.js +1 -0
- package/dist/client/assets/{dropdown-menu-DwhvTSoj.js → dropdown-menu-Dk3PdiLq.js} +1 -1
- package/dist/client/assets/dynamic-plugin-layout-C8tDNw7E.js +1 -0
- package/dist/client/assets/empty-state-BrrA9jzc.js +1 -0
- package/dist/client/assets/{empty-state-CUSdR_G_.js → empty-state-yzpNvfA-.js} +1 -1
- package/dist/client/assets/{env-vars-editor-CX-fJfxt.js → env-vars-editor-CxFtbjNH.js} +1 -1
- package/dist/client/assets/{error-boundary-Di0tQXdv.js → error-boundary-GB3TovJQ.js} +1 -1
- package/dist/client/assets/{extract-connection-data-Dd3BvcTW.js → extract-connection-data-Cjm6QMzJ.js} +1 -1
- package/dist/client/assets/{file-browser-CyYYn3HQ.js → file-browser-CeBgj9Bh.js} +2 -2
- package/dist/client/assets/{form-DIsigMsk.js → form-Dxe8J4dP.js} +1 -1
- package/dist/client/assets/{grid-view-BsAPFz5e.js → grid-view-qfkYjNIX.js} +1 -1
- package/dist/client/assets/{home-DoBwFvBu.js → home-C39nGjR7.js} +1 -1
- package/dist/client/assets/index-48TFsA2Q.css +1 -0
- package/dist/client/assets/{index-BVrm4rGn.js → index-B2KxLjHq.js} +1 -1
- package/dist/client/assets/{index-CMu5spRk.js → index-BOlMuTYA.js} +6 -6
- package/dist/client/assets/index-BrH9wXxf.js +1 -0
- package/dist/client/assets/{index-qSvnMMX3.js → index-BuPkfOh7.js} +1 -1
- package/dist/client/assets/{index-Cs0vYfu9.js → index-CLUeNS9F.js} +1 -1
- package/dist/client/assets/{index-DeBwK236.js → index-CSf23Q8F.js} +5 -5
- package/dist/client/assets/index-CzSiUwwv.js +218 -0
- package/dist/client/assets/{index-NEbz2HQu.js → index-DVHOzh7f.js} +1 -1
- package/dist/client/assets/{index-CDwFwb7Q.js → index-Dps5khDb.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-DbZCUgr5.js → infiniteQueryObserver-Ctmp4byY.js} +1 -1
- package/dist/client/assets/{input-Cw77piS4.js → input-CAPxG1rh.js} +1 -1
- package/dist/client/assets/{integration-icon-D3fWRQzh.js → integration-icon-jbm4PmZt.js} +1 -1
- package/dist/client/assets/{label-CUy1x9Fc.js → label-A7ibpcPd.js} +1 -1
- package/dist/client/assets/{layout-BPYuOiPI.js → layout-DHncYg0M.js} +1 -1
- package/dist/client/assets/{localstorage-keys-DRPmjZks.js → localstorage-keys-Cc9e53sU.js} +1 -1
- package/dist/client/assets/{login-CUcM51_h.js → login-C4VFa6jD.js} +1 -1
- package/dist/client/assets/{markdown-BUX5ABnz.js → markdown-DTO-ngpn.js} +1 -1
- package/dist/client/assets/{mcp-oauth-Da77-kcD.js → mcp-oauth-lMxJpMMH.js} +1 -1
- package/dist/client/assets/{mcp-server-card-DcZS4AhS.js → mcp-server-card-C-sPhXVX.js} +1 -1
- package/dist/client/assets/mcp-server-detail-BtO9BwQ6.js +2 -0
- package/dist/client/assets/members-Dh31vMll.js +3 -0
- package/dist/client/assets/{monitoring-DINJ4pYy.js → monitoring-D0DgTEcy.js} +1 -1
- package/dist/client/assets/monitoring-dashboard-edit-DCcFalwQ.js +1 -0
- package/dist/client/assets/{monitoring-dashboard-view-B53vWJlZ.js → monitoring-dashboard-view-CuFcYaD_.js} +1 -1
- package/dist/client/assets/{oauth-callback-Dsqe_oXS.js → oauth-callback-DKWROL5U.js} +1 -1
- package/dist/client/assets/{page-BKBuf2HE.js → page-BpCfHp43.js} +1 -1
- package/dist/client/assets/page-CoIEp87I.js +1 -0
- package/dist/client/assets/{plugin-empty-state-D_Z6xsRD.js → plugin-empty-state-DMdw5AKa.js} +1 -1
- package/dist/client/assets/{plugin-empty-state-Cdi0lxlF.js → plugin-empty-state-DfPCNHNV.js} +1 -1
- package/dist/client/assets/{plugin-header-D_XJF06t.js → plugin-header-CVaBr8-j.js} +1 -1
- package/dist/client/assets/{plugin-header-DGLeYRv9.js → plugin-header-DqwJE7vc.js} +1 -1
- package/dist/client/assets/{popover-C8z2ljXJ.js → popover-Ca9Cyzf7.js} +1 -1
- package/dist/client/assets/{project-layout-gRYIrnzO.js → project-layout-F2YJOnzp.js} +1 -1
- package/dist/client/assets/project-settings-DwtLH_vq.js +1 -0
- package/dist/client/assets/projects-list-DPMlGsBe.js +1 -0
- package/dist/client/assets/{readme-viewer-DSTuLgLE.js → readme-viewer-D5RieYNW.js} +1 -1
- package/dist/client/assets/registry-layout-BrhYm9Dr.js +5 -0
- package/dist/client/assets/{registry-utils-D8FLO1oI.js → registry-utils--fif7P3x.js} +1 -1
- package/dist/client/assets/{reports-layout-NWBpDTNI.js → reports-layout-9yNTvI9o.js} +1 -1
- package/dist/client/assets/{reset-password-BEvAUHxp.js → reset-password-FRWYt8ap.js} +1 -1
- package/dist/client/assets/{resizable-Q_6VrAvM.js → resizable-DKtpdeB3.js} +1 -1
- package/dist/client/assets/{save-actions-DnatwzCI.js → save-actions-DH-J_-0b.js} +1 -1
- package/dist/client/assets/{scroll-area--Dl42eG7.js → scroll-area-BfJ2ZkbI.js} +1 -1
- package/dist/client/assets/{select-DmOdy-_2.js → select-CKDoCTJO.js} +1 -1
- package/dist/client/assets/shell-layout-DkuDKL8p.js +3 -0
- package/dist/client/assets/{spinner-BFe5KsON.js → spinner-B-FWJ8nx.js} +1 -1
- package/dist/client/assets/{store-invite-B6QzkY9D.js → store-invite-1HxdtnDC.js} +1 -1
- package/dist/client/assets/{switch-BTNdX6uT.js → switch-ySGmS6Zx.js} +1 -1
- package/dist/client/assets/{table-m7xKes0i.js → table-DGDNn7mH.js} +1 -1
- package/dist/client/assets/tasks-BuxJd7k9.js +1 -0
- package/dist/client/assets/{textarea-1ZAkAqPs.js → textarea-COGwSIgK.js} +1 -1
- package/dist/client/assets/{time-range-picker-S5DXdK6J.js → time-range-picker-hBuoR0m0.js} +1 -1
- package/dist/client/assets/{toggle-group-B4gd2g4g.js → toggle-group-RO8j2kDd.js} +1 -1
- package/dist/client/assets/{tools-list-BYJP7wdj.js → tools-list-CBpacE22.js} +1 -1
- package/dist/client/assets/tooltip-CLbmwjfd.js +1 -0
- package/dist/client/assets/topbar-portal-BHxVS8Tl.js +1 -0
- package/dist/client/assets/typewriter-title-C4OcGX3b.js +16 -0
- package/dist/client/assets/{use-binding-CAtjL1rr.js → use-binding-D36c91MK.js} +1 -1
- package/dist/client/assets/{use-connection-BRwTI0xk.js → use-connection-CdIwTzRh.js} +1 -1
- package/dist/client/assets/{use-copy-BnGNgGbL.js → use-copy-BZqI2HfR.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-BIn6DTPa.js → use-create-virtual-mcp-DKrayFIg.js} +1 -1
- package/dist/client/assets/{use-deco-chat-open-CWPuucLF.js → use-deco-chat-open-BuMsTBnv.js} +3 -3
- package/dist/client/assets/{use-install-from-registry-GZkHb-J_.js → use-install-from-registry-kn39eg4d.js} +1 -1
- package/dist/client/assets/{use-list-state-CLqJqhda.js → use-list-state-CYucxtoX.js} +1 -1
- package/dist/client/assets/{use-llm-BToIG9lg.js → use-llm-CX9QGbjZ.js} +1 -1
- package/dist/client/assets/{use-mcp-prompts-C28zFdyF.js → use-mcp-prompts-DMC1gnwj.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-CnGq7c_h.js → use-mcp-tools-SZ1hgrkZ.js} +1 -1
- package/dist/client/assets/{use-organization-settings-BVsgnOKP.js → use-organization-settings-1mU06z41.js} +1 -1
- package/dist/client/assets/{use-project-pPGjnPtH.js → use-project-CsuhSK50.js} +1 -1
- package/dist/client/assets/use-view-mode-CVN4cPaD.js +1 -0
- package/dist/client/assets/{use-virtual-mcp-C67SrK4s.js → use-virtual-mcp-CqdRLJoL.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-Bd_PpC7_.js +1 -0
- package/dist/client/assets/{useMutation-BLWSoXAi.js → useMutation-BYl8vvsl.js} +1 -1
- package/dist/client/assets/useQuery-CTct6gOY.js +1 -0
- package/dist/client/assets/useSuspenseInfiniteQuery-DJZPFUMY.js +1 -0
- package/dist/client/assets/workflow-CMJomw9A.js +1 -0
- package/dist/client/index.html +2 -2
- package/dist/server/cli.js +3 -3
- package/dist/server/migrate.js +3 -3
- package/dist/server/server.js +3 -3
- package/package.json +1 -1
- package/dist/client/assets/Settings02-BEGJoXOf.js +0 -1
- package/dist/client/assets/X-hlRWRdLd.js +0 -1
- package/dist/client/assets/agent-detail-Dm90C1dq.js +0 -1
- package/dist/client/assets/agents-Dp1lzRWx.js +0 -1
- package/dist/client/assets/avatar-DzNBuwvQ.js +0 -1
- package/dist/client/assets/breadcrumb-DVboj9hZ.js +0 -1
- package/dist/client/assets/button-BvpGJmwj.js +0 -1
- package/dist/client/assets/card-DUyr2anf.js +0 -1
- package/dist/client/assets/connection-detail-1_ZQMYvG.js +0 -1
- package/dist/client/assets/connections-DSsqgW7V.js +0 -1
- package/dist/client/assets/constants-BXsR0e2f.js +0 -1
- package/dist/client/assets/dialog-Djb2_yQ3.js +0 -1
- package/dist/client/assets/dynamic-plugin-layout-gS11xmZg.js +0 -1
- package/dist/client/assets/empty-state-CfAcFJ3T.js +0 -1
- package/dist/client/assets/index-hmLeN6Cx.css +0 -1
- package/dist/client/assets/index-p5ek_T2U.js +0 -218
- package/dist/client/assets/index-r3RmHcg-.js +0 -1
- package/dist/client/assets/mcp-server-detail-BsuSFuH9.js +0 -2
- package/dist/client/assets/members-Dt-WMWXs.js +0 -3
- package/dist/client/assets/monitoring-dashboard-edit-ViuWKC7f.js +0 -1
- package/dist/client/assets/page-BLmopBsr.js +0 -1
- package/dist/client/assets/project-settings-iakvSAMp.js +0 -1
- package/dist/client/assets/projects-list-BTf0o0Dw.js +0 -1
- package/dist/client/assets/registry-layout-D0ZI3R-w.js +0 -5
- package/dist/client/assets/shell-layout-DaVrqTvl.js +0 -12
- package/dist/client/assets/tasks-B817iTsv.js +0 -1
- package/dist/client/assets/tooltip-w4nyO9EM.js +0 -1
- package/dist/client/assets/topbar-portal-DFijBXBE.js +0 -1
- package/dist/client/assets/typewriter-title-fwTbDCyQ.js +0 -16
- package/dist/client/assets/use-mobile-Dl83qL71.js +0 -1
- package/dist/client/assets/use-view-mode-BC3VVzlU.js +0 -1
- package/dist/client/assets/useInfiniteQuery-CL1DQ1B_.js +0 -1
- package/dist/client/assets/useQuery-CoMTdc_B.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-BEcP523_.js +0 -1
- package/dist/client/assets/workflow-D3d1tCTr.js +0 -1
package/dist/server/cli.js
CHANGED
|
@@ -1212,7 +1212,7 @@ data:
|
|
|
1212
1212
|
`;if(J)G+=`id: ${J}
|
|
1213
1213
|
`;return G+=`data: ${JSON.stringify(X)}
|
|
1214
1214
|
|
|
1215
|
-
`,Y.enqueue(Q.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(Y,Q){try{let X=Y.headers.get("accept");if(!X?.includes("application/json")||!X.includes("text/event-stream"))return this.createJsonErrorResponse(406,-32000,"Not Acceptable: Client must accept both application/json and text/event-stream");let J=Y.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(Y.headers.entries())},K;if(Q?.parsedBody!==void 0)K=Q.parsedBody;else try{K=await Y.json()}catch{return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON")}let W;try{if(Array.isArray(K))W=K.map((N)=>_G.parse(N));else W=[_G.parse(K)]}catch{return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON-RPC message")}let Z=W.some(w41);if(Z){if(this._initialized&&this.sessionId!==void 0)return this.createJsonErrorResponse(400,-32600,"Invalid Request: Server already initialized");if(W.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(!Z){let N=this.validateSession(Y);if(N)return N;let w=this.validateProtocolVersion(Y);if(w)return w}if(!W.some(wK)){for(let N of W)this.onmessage?.(N,{authInfo:Q?.authInfo,requestInfo:G});return new Response(null,{status:202})}let $=crypto.randomUUID(),F=W.find((N)=>w41(N)),V=F?F.params.protocolVersion:Y.headers.get("mcp-protocol-version")??pE1;if(this._enableJsonResponse)return new Promise((N)=>{this._streamMapping.set($,{resolveJson:N,cleanup:()=>{this._streamMapping.delete($)}});for(let w of W)if(wK(w))this._requestToStreamMapping.set(w.id,$);for(let w of W)this.onmessage?.(w,{authInfo:Q?.authInfo,requestInfo:G})});let q=new TextEncoder,U,z=new ReadableStream({start:(N)=>{U=N},cancel:()=>{this._streamMapping.delete($)}}),D={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"};if(this.sessionId!==void 0)D["mcp-session-id"]=this.sessionId;for(let N of W)if(wK(N))this._streamMapping.set($,{controller:U,encoder:q,cleanup:()=>{this._streamMapping.delete($);try{U.close()}catch{}}}),this._requestToStreamMapping.set(N.id,$);await this.writePrimingEvent(U,q,$,V);for(let N of W){let w,E;if(wK(N)&&this._eventStore&&V>="2025-11-25")w=()=>{this.closeSSEStream(N.id)},E=()=>{this.closeStandaloneSSEStream()};this.onmessage?.(N,{authInfo:Q?.authInfo,requestInfo:G,closeSSEStream:w,closeStandaloneSSEStream:E})}return new Response(z,{status:200,headers:D})}catch(X){return this.onerror?.(X),this.createJsonErrorResponse(400,-32700,"Parse error",{data:String(X)})}}async handleDeleteRequest(Y){let Q=this.validateSession(Y);if(Q)return Q;let X=this.validateProtocolVersion(Y);if(X)return X;return await Promise.resolve(this._onsessionclosed?.(this.sessionId)),await this.close(),new Response(null,{status:200})}validateSession(Y){if(this.sessionIdGenerator===void 0)return;if(!this._initialized)return this.createJsonErrorResponse(400,-32000,"Bad Request: Server not initialized");let Q=Y.headers.get("mcp-session-id");if(!Q)return this.createJsonErrorResponse(400,-32000,"Bad Request: Mcp-Session-Id header is required");if(Q!==this.sessionId)return this.createJsonErrorResponse(404,-32001,"Session not found");return}validateProtocolVersion(Y){let Q=Y.headers.get("mcp-protocol-version");if(Q!==null&&!HU.includes(Q))return this.createJsonErrorResponse(400,-32000,`Bad Request: Unsupported protocol version: ${Q} (supported versions: ${HU.join(", ")})`);return}async close(){this._streamMapping.forEach(({cleanup:Y})=>{Y()}),this._streamMapping.clear(),this._requestResponseMap.clear(),this.onclose?.()}closeSSEStream(Y){let Q=this._requestToStreamMapping.get(Y);if(!Q)return;let X=this._streamMapping.get(Q);if(X)X.cleanup()}closeStandaloneSSEStream(){let Y=this._streamMapping.get(this._standaloneSseStreamId);if(Y)Y.cleanup()}async send(Y,Q){let X=Q?.relatedRequestId;if(sW(Y)||kL(Y))X=Y.id;if(X===void 0){if(sW(Y)||kL(Y))throw Error("Cannot send a response on a standalone SSE stream unless resuming a previous client request");let K;if(this._eventStore)K=await this._eventStore.storeEvent(this._standaloneSseStreamId,Y);let W=this._streamMapping.get(this._standaloneSseStreamId);if(W===void 0)return;if(W.controller&&W.encoder)this.writeSSEEvent(W.controller,W.encoder,Y,K);return}let J=this._requestToStreamMapping.get(X);if(!J)throw Error(`No connection established for request ID: ${String(X)}`);let G=this._streamMapping.get(J);if(!this._enableJsonResponse&&G?.controller&&G?.encoder){let K;if(this._eventStore)K=await this._eventStore.storeEvent(J,Y);this.writeSSEEvent(G.controller,G.encoder,Y,K)}if(sW(Y)||kL(Y)){this._requestResponseMap.set(X,Y);let K=Array.from(this._requestToStreamMapping.entries()).filter(([Z,H])=>H===J).map(([Z])=>Z);if(K.every((Z)=>this._requestResponseMap.has(Z))){if(!G)throw Error(`No connection established for request ID: ${String(X)}`);if(this._enableJsonResponse&&G.resolveJson){let Z={"Content-Type":"application/json"};if(this.sessionId!==void 0)Z["mcp-session-id"]=this.sessionId;let H=K.map(($)=>this._requestResponseMap.get($));if(H.length===1)G.resolveJson(new Response(JSON.stringify(H[0]),{status:200,headers:Z}));else G.resolveJson(new Response(JSON.stringify(H),{status:200,headers:Z}))}else G.cleanup();for(let Z of K)this._requestResponseMap.delete(Z),this._requestToStreamMapping.delete(Z)}}}}var cS=j(()=>{kQ()});var Jk0="SELF",rn=(Y)=>{return typeof Y==="object"&&Y!==null&&"handler"in Y&&"events"in Y&&typeof Y.handler==="function"&&Array.isArray(Y.events)},Gk0=(Y)=>{return typeof Y==="object"&&Y!==null&&"handler"in Y&&"events"in Y&&typeof Y.handler==="function"&&Array.isArray(Y.events)},Xk0="::",Wk0=(Y)=>{let Q=Y.indexOf(Xk0);if(Q===-1)return null;let X=Y.substring(0,Q),J=Y.substring(Q+Xk0.length);return[X,J]},aC6=(Y)=>{if(!Y.startsWith("cron/"))return null;let Q=Y.substring(5),X=Q.indexOf("/");if(X===-1)return null;let J=Q.substring(0,X),G=Q.substring(X+1);return[J,G]},Zk0=(Y)=>{if(rn(Y))return[];return Object.keys(Y)},rC6=(Y,Q)=>{if(rn(Y))return Y.events;let X=Y[Q];if(!X)return[];if(Gk0(X))return X.events;return Object.keys(X)},an=(Y,Q,X)=>{if(Y===Jk0){if(!X)return console.warn("[Event] SELF binding used but no connectionId available"),null;return X}let J=Q[Y];if(!_q1(J))return console.warn(`[Event] Binding "${Y}" not found in state`),null;return J.value},oC6=(Y,Q,X)=>{let J=Q;if(rn(Y)){let K=[];for(let W of Y.events){let Z=Wk0(W);if(!Z){console.warn(`[Event] Global handler event "${W}" must be prefixed with BINDING:: (e.g., "SELF::${W}" or "DATABASE::${W}")`);continue}let[H,$]=Z,F=an(H,J,X);if(!F)continue;K.push({eventType:$,publisher:F})}return K}let G=[];for(let K of Zk0(Y)){let W=an(K,J,X);if(!W)continue;let Z=rC6(Y,K);for(let H of Z)G.push({eventType:H,publisher:W})}return G},sC6=(Y)=>{let Q=new Map;for(let X of Y){let J=X.source,G=Q.get(J)||[];G.push(X),Q.set(J,G)}return Q},tC6=(Y)=>{let Q=new Map;for(let X of Y){let J=X.type,G=Q.get(J)||[];G.push(X),Q.set(J,G)}return Q},eC6=(Y)=>{let Q={},X={},J=!1,G=0,K=[];for(let W of Y){if(W.results)Object.assign(X,W.results);if(W.success===!1){if(J=!0,W.error)K.push(W.error)}if(W.processedCount!==void 0)G+=W.processedCount}if(Object.keys(X).length>0)Q.results=X;if(Q.success=!J,K.length>0)Q.error=K.join("; ");if(G>0)Q.processedCount=G;return Q},YR6=async(Y,Q,X,J,G)=>{let K=J;if(rn(Y)){let F=new Set;for(let q of Y.events){let U=Wk0(q);if(!U)continue;let[z,D]=U,N=an(z,K,G);if(!N)continue;F.add(`${N}:${D}`)}let V=Q.filter((q)=>{let U=`${q.source}:${q.type}`;return F.has(U)});if(V.length===0)return{success:!0};try{return await Y.handler({events:V},X)}catch(q){return{success:!1,error:q instanceof Error?q.message:String(q)}}}let W=new Map;for(let F of Zk0(Y)){let V=an(F,K,G);if(V)W.set(V,F)}let Z=sC6(Q),H=[];for(let[F,V]of Z){let q=W.get(F);if(!q)continue;let U=Y[q];if(!U)continue;if(Gk0(U)){H.push((async()=>{try{return await U.handler({events:V},X)}catch(N){let w={};for(let E of V)w[E.id]={success:!1,error:N instanceof Error?N.message:String(N)};return{results:w}}})());continue}let z=U,D=tC6(V);for(let[N,w]of D){let E=z[N];if(!E)continue;H.push((async()=>{try{let T=await E({events:w},X),C={};for(let P of w)C[P.id]=T;return{results:C}}catch(T){let C={};for(let P of w)C[P.id]={success:!1,error:T instanceof Error?T.message:String(T)};return{results:C}}})())}}let $=await Promise.all(H);if($.length===0)return{success:!0};return eC6($)},on;var gq1=j(()=>{dn();on={subscriptions:oC6,execute:YR6,parseCron:aC6}});function n$(Y){return{...Y,execute:(Q)=>{return Y.execute({...Q,runtimeContext:nS(Q.runtimeContext)})}}}function uq1(Y){return Y&&"streamable"in Y&&Y.streamable===!0}var nS=(Y)=>{let Q=TS.getStore();if(!Q){if(Y)return Y;throw Error("Missing context, did you forget to call State.bind?")}return Q},QR6=(Y,Q)=>{let X=Q;return typeof X[Y]<"u"?X[Y]:Q?.MESH_REQUEST_CONTEXT?.state?.[Y]},XR6=({events:Y,configuration:{state:Q,scopes:X,onChange:J}={}}={})=>{let G=Q?B.toJSONSchema(Q):{type:"object",properties:{}},K=String(Y?.bus??"EVENT_BUS");return[...J||Y?[n$({id:"ON_MCP_CONFIGURATION",description:"MCP Configuration On Change",inputSchema:B.object({state:Q??B.unknown(),scopes:B.array(B.string()).describe("Array of scopes in format 'KEY::SCOPE' (e.g., 'GMAIL::GetCurrentUser')")}),outputSchema:B.object({}),execute:async(W)=>{let Z=W.context.state;await J?.(W.runtimeContext.env,{state:Z,scopes:W.context.scopes});let H=QR6(K,W.runtimeContext.env);if(Y&&Z&&H){let $=W.runtimeContext.env.MESH_REQUEST_CONTEXT?.connectionId,F=on.subscriptions(Y?.handlers??{},Z,$);if(await H.EVENT_SYNC_SUBSCRIPTIONS({subscriptions:F}),$){let V=F.filter((q)=>q.eventType.startsWith("cron/")&&q.publisher===$);await Promise.all(V.map(async(q)=>{let U=on.parseCron(q.eventType);if(U){let[,z]=U;await H.EVENT_PUBLISH({type:q.eventType,cron:z})}}))}}return Promise.resolve({})}})]:[],...Y?.handlers?[n$({id:"ON_EVENTS",description:"Receive and process CloudEvents from the event bus. Returns per-event or batch results.",inputSchema:pn,outputSchema:cn,execute:async(W)=>{let Z=W.runtimeContext.env,H=Z.MESH_REQUEST_CONTEXT?.state,$=Z.MESH_REQUEST_CONTEXT?.connectionId;return on.execute(Y.handlers,W.context.events,Z,H,$)}})]:[],n$({id:"MCP_CONFIGURATION",description:"MCP Configuration",inputSchema:B.object({}),outputSchema:B.object({stateSchema:B.unknown(),scopes:B.array(B.string()).optional()}),execute:()=>{return Promise.resolve({stateSchema:G,scopes:[...X??[],...Y?[`${K}::EVENT_SYNC_SUBSCRIPTIONS`]:[]]})}})]},Kk0=(Y)=>{let Q=async(G)=>{await Y.before?.(G);let K=new MU({name:"@deco/mcp-api",version:"1.0.0"},{capabilities:{tools:{},prompts:{},resources:{}}}),Z=await(typeof Y.tools==="function"?Y.tools:async(q)=>{if(typeof Y.tools==="function")return await Y.tools(q);return await Promise.all(Y.tools?.flatMap(async(U)=>{let D=await U(q);if(Array.isArray(D))return D;return[D]})??[]).then((U)=>U.flat())})(G);Z.push(...XR6(Y));for(let q of Z)K.registerTool(q.id,{_meta:{streamable:uq1(q),...q._meta??{}},description:q.description,annotations:q.annotations,inputSchema:q.inputSchema&&"shape"in q.inputSchema?q.inputSchema.shape:B.object({}).shape,outputSchema:uq1(q)?B.object({bytes:B.record(B.string(),B.number())}).shape:q.outputSchema&&typeof q.outputSchema==="object"&&("shape"in q.outputSchema)?q.outputSchema.shape:B.object({}).shape},async(U)=>{let z=await q.execute({context:U,runtimeContext:nS()});if(uq1(q)&&z instanceof Response)return{structuredContent:{streamable:!0,status:z.status,statusText:z.statusText},content:[{type:"text",text:`Streaming response: ${z.status} ${z.statusText}`}]};return{structuredContent:z,content:[{type:"text",text:JSON.stringify(z)}]}});let $=await(typeof Y.prompts==="function"?Y.prompts:async(q)=>{if(typeof Y.prompts==="function")return await Y.prompts(q);return await Promise.all(Y.prompts?.flatMap(async(U)=>{let D=await U(q);if(Array.isArray(D))return D;return[D]})??[]).then((U)=>U.flat())})(G);for(let q of $)K.registerPrompt(q.name,{title:q.title,description:q.description,argsSchema:q.argsSchema?q.argsSchema:B.object({}).shape},async(U)=>{return await q.execute({args:U,runtimeContext:nS()})});let V=await(typeof Y.resources==="function"?Y.resources:async(q)=>{if(typeof Y.resources==="function")return await Y.resources(q);return await Promise.all(Y.resources?.flatMap(async(U)=>{let D=await U(q);if(Array.isArray(D))return D;return[D]})??[]).then((U)=>U.flat())})(G);for(let q of V)K.resource(q.name,q.uri,{description:q.description,mimeType:q.mimeType},async(U)=>{let z=await q.read({uri:U,runtimeContext:nS()}),D={uri:z.uri};if(z.mimeType)D.mimeType=z.mimeType;if(z.text!==void 0)return{contents:[{uri:z.uri,mimeType:z.mimeType,text:z.text}]};else if(z.blob!==void 0)return{contents:[{uri:z.uri,mimeType:z.mimeType,blob:z.blob}]};return{contents:[{uri:z.uri,mimeType:z.mimeType,text:""}]}});return{server:K,tools:Z,prompts:$,resources:V}};return{fetch:async(G,K)=>{let{server:W}=await Q(K),Z=new c$;await W.connect(Z);try{let H=await Z.handleRequest(G),$=H.headers.get("content-type");if(!($?.includes("text/event-stream")||$?.includes("application/json-rpc"))){console.debug("[MCP Transport] Closing transport for non-streaming response");try{await Z.close?.()}catch{}}else console.debug("[MCP Transport] Keeping transport open for streaming response (Content-Type: %s)",$);return H}catch(H){console.debug("[MCP Transport] Closing transport due to error:",H instanceof Error?H.message:H);try{await Z.close?.()}catch{}throw H}},callTool:async({toolCallId:G,toolCallInput:K})=>{let W=TS.getStore();if(!W)throw Error("Missing state, did you forget to call State.bind?");let Z=W?.env,{tools:H}=await Q(Z),F=H.find((V)=>V.id===G)?.execute;if(!F)throw Error(`Tool ${G} not found or does not have an execute function`);return F({context:K,runtimeContext:nS()})}}};var sn=j(()=>{pS();Lx();cS();a1();gq1();yq1();gq1()});var JR6=({env:Y,server:Q,url:X})=>{Y.SELF=new Proxy({},{get:(J,G)=>{if(G==="toJSON")return null;return async(K)=>{return await Q.callTool({toolCallId:G,toolCallInput:K})}}}),Y.IS_LOCAL=(X?.startsWith("http://localhost")||X?.startsWith("http://127.0.0.1"))??!1},Hk0=(Y)=>()=>{return{...Y??{}}},GR6=({env:Y,server:Q,tokenOrContext:X,url:J,authToken:G})=>{let K=Y,W=G?G.split(" ")[1]:void 0,Z;if(typeof X==="string"){let H=x9(X),$=H.metadata??{};Z={authorization:W,state:H.state??$.state??{},token:X,meshUrl:H.meshUrl??$.meshUrl,connectionId:H.connectionId??$.connectionId,organizationId:H.organizationId??$.organizationId,ensureAuthenticated:Hk0(H.user??H.sub)}}else if(typeof X==="object"){Z=X;let H=x9(X.token),$=H.metadata??{},F=H.appName;Z.authorization??=W,Z.callerApp=F,Z.connectionId??=H.connectionId??$.connectionId,Z.ensureAuthenticated=Hk0(H.user??H.sub)}else Z={state:{},authorization:W,token:void 0,meshUrl:void 0,connectionId:void 0,ensureAuthenticated:()=>{throw Error("Unauthorized")}};return K.MESH_REQUEST_CONTEXT=Z,Z.state=IS0(Z),JR6({env:K,server:Q,url:J}),K},WR6,$k0=(Y)=>{let Q=Kk0(Y),X=Y.cors??WR6,J=Y.oauth,G=J?bS0(J):null,K=async(W,Z,H)=>{let $=new URL(W.url);if(G){if($.pathname==="/.well-known/oauth-protected-resource"||$.pathname==="/mcp/.well-known/oauth-protected-resource")return G.handleProtectedResourceMetadata(W);if($.pathname==="/.well-known/oauth-authorization-server")return G.handleAuthorizationServerMetadata(W);if($.pathname==="/authorize")return G.handleAuthorize(W);if($.pathname==="/oauth/callback")return G.handleOAuthCallback(W);if($.pathname==="/token"&&W.method==="POST")return G.handleToken(W);if(($.pathname==="/register"||$.pathname==="/mcp/register")&&W.method==="POST")return G.handleClientRegistration(W)}if($.pathname==="/mcp"){if(W.method==="GET")return new Response("Method not allowed",{status:405});if(G&&!G.hasAuth(W)){let F=W.clone();try{if((await F.json())?.method!=="tools/list")return G.createUnauthorizedResponse(W)}catch{return G.createUnauthorizedResponse(W)}}return Q.fetch(W,Z,H)}if($.pathname.startsWith("/mcp/call-tool")){let F=$.pathname.split("/").pop();if(!F)return new Response("Not found",{status:404});let V=await W.json(),q=await Q.callTool({toolCallId:F,toolCallInput:V});if(q instanceof Response)return q;return new Response(JSON.stringify(q),{headers:{"Content-Type":"application/json"}})}return Y.fetch?.(W,Z,H)||new Response("Not found",{status:404})};return{fetch:async(W,Z,H)=>{if(new URL(W.url).pathname==="/_healthcheck")return new Response("OK",{status:200});if(X!==!1&&W.method==="OPTIONS")return SS0(W,X??{});let $=GR6({authToken:W.headers.get("authorization")??null,env:{...process.env,...Z},server:Q,tokenOrContext:W.headers.get("x-mesh-token")??void 0,url:W.url}),F=await TS.run({req:W,env:$,ctx:H},async()=>await K(W,$,H));if(X!==!1)return kS0(F,W,X??{});return F}}};var Fk0=j(()=>{r5();dn();vS0();yq1();sn();sn();dn();kq1();WR6={origin:(Y)=>{if(Y.includes("localhost")||Y.includes("127.0.0.1"))return Y;return Y},credentials:!0,allowMethods:["GET","POST","PUT","DELETE","OPTIONS"],allowHeaders:["Content-Type","Authorization","mcp-protocol-version"]}});function tn(Y){return Buffer.from(String(Y),"utf8").toString("base64")}function en(Y){if(!Y)return null;try{let Q=Buffer.from(Y,"base64").toString("utf8"),X=Number.parseInt(Q,10);return Number.isNaN(X)||X<0?null:X}catch{return null}}function NX(Y){if(!Y?.length)return[];return Array.from(new Set(Y.map((Q)=>Q.trim()).filter((Q)=>Q.length>0).map((Q)=>Q.toLowerCase())))}function bD(Y){if(!Y)return[];return NX(Y.split(","))}function Yi(Y,Q){if(!Y)return Q;try{return JSON.parse(Y)}catch{return Q}}function Qi(Y){return Y?.["mcp.mesh"]??{}}function Xi(Y){return Y.length?Y.join(","):null}function ZR6(Y,Q){if(!Q?.length)return;let X=Y;for(let J of Q){if(X===null||X===void 0)return;if(typeof X!=="object")return;X=X[J]}return X}function KR6(Y,Q,X){if(!Q)return!1;if(Q==="eq")return Y===X;if(Q==="contains"||Q==="like"){let J=String(Y??"").toLowerCase(),G=String(X??"").toLowerCase();return J.includes(G)}if(Q==="in"){if(!Array.isArray(X))return!1;return X.includes(Y)}if(Q==="gt")return Number(Y)>Number(X);if(Q==="gte")return Number(Y)>=Number(X);if(Q==="lt")return Number(Y)<Number(X);if(Q==="lte")return Number(Y)<=Number(X);return!1}function iS(Y,Q){if(!Q)return!0;if(Array.isArray(Q.conditions)&&Q.conditions.length){if(Q.operator==="and")return Q.conditions.every((X)=>iS(Y,X));if(Q.operator==="or")return Q.conditions.some((X)=>iS(Y,X));if(Q.operator==="not")return!Q.conditions.some((X)=>iS(Y,X))}return KR6(ZR6(Y,Q.field),Q.operator,Q.value)}class aS{db;constructor(Y){this.db=Y}async create(Y){let Q=new Date().toISOString(),X=Y._meta??{},J=Qi(X),G=NX(J.tags),K=NX(J.categories),W={id:Y.id,organization_id:Y.organization_id,title:Y.title,description:Y.description??null,server_json:JSON.stringify(Y.server),meta_json:JSON.stringify(X),tags:Xi(G),categories:Xi(K),is_public:Y.is_public?1:0,is_unlisted:Y.is_unlisted?1:0,created_at:Q,updated_at:Q,created_by:Y.created_by??null};await this.db.insertInto("private_registry_item").values(W).execute();let Z=await this.findById(Y.organization_id,Y.id);if(!Z)throw Error(`Failed to create registry item "${Y.id}"`);return Z}async findById(Y,Q){let X=await this.db.selectFrom("private_registry_item").selectAll().where("organization_id","=",Y).where("id","=",Q).executeTakeFirst();return X?this.deserialize(X):null}async findByIdOrName(Y,Q){let X=await this.findById(Y,Q);if(X)return X;let J=await this.db.selectFrom("private_registry_item").selectAll().where("organization_id","=",Y).where("title","=",Q).executeTakeFirst();return J?this.deserialize(J):null}async update(Y,Q,X){let J=await this.findById(Y,Q);if(!J)throw Error(`Registry item not found: ${Q}`);let G=X._meta??J._meta??{},K=Qi(G),W=NX(K.tags),Z=NX(K.categories),H={updated_at:new Date().toISOString()};if(X.title!==void 0)H.title=X.title;if(X.description!==void 0)H.description=X.description;if(X.server!==void 0)H.server_json=JSON.stringify(X.server);if(X._meta!==void 0)H.meta_json=JSON.stringify(X._meta);if(X._meta!==void 0)H.tags=Xi(W),H.categories=Xi(Z);if(X.is_public!==void 0)H.is_public=X.is_public?1:0;if(X.is_unlisted!==void 0)H.is_unlisted=X.is_unlisted?1:0;await this.db.updateTable("private_registry_item").set(H).where("organization_id","=",Y).where("id","=",Q).execute();let $=await this.findById(Y,Q);if(!$)throw Error(`Registry item not found after update: ${Q}`);return $}async delete(Y,Q){let X=await this.findById(Y,Q);if(!X)return null;return await this.db.deleteFrom("private_registry_item").where("organization_id","=",Y).where("id","=",Q).execute(),X}async list(Y,Q={}){let X=this.db.selectFrom("private_registry_item").selectAll().where("organization_id","=",Y).orderBy("created_at","desc");if(!Q.includeUnlisted)X=X.where("is_unlisted","=",0);let G=(await X.execute()).map((z)=>this.deserialize(z)),K=NX(Q.tags),W=NX(Q.categories),Z=G.filter((z)=>{let D=Qi(z._meta),N=NX(D.tags),w=NX(D.categories),E=K.length===0||K.every((P)=>N.includes(P)),T=W.length===0||W.every((P)=>w.includes(P)),C=iS(z,Q.where);return E&&T&&C}),$=en(Q.cursor)??Q.offset??0,F=Q.limit??24,V=Z.slice($,$+F),q=$+F<Z.length,U=q?tn($+F):void 0;return{items:V,totalCount:Z.length,hasMore:q,nextCursor:U}}async listPublic(Y,Q={}){let J=(await this.db.selectFrom("private_registry_item").selectAll().where("organization_id","=",Y).where("is_public","=",1).where("is_unlisted","=",0).orderBy("created_at","desc").execute()).map((U)=>this.deserialize(U)),G=NX(Q.tags),K=NX(Q.categories),W=J.filter((U)=>{let z=Qi(U._meta),D=NX(z.tags),N=NX(z.categories),w=G.length===0||G.every((C)=>D.includes(C)),E=K.length===0||K.every((C)=>N.includes(C)),T=iS(U,Q.where);return w&&E&&T}),H=en(Q.cursor)??Q.offset??0,$=Q.limit??24,F=W.slice(H,H+$),V=H+$<W.length,q=V?tn(H+$):void 0;return{items:F,totalCount:W.length,hasMore:V,nextCursor:q}}async getFilters(Y,Q){let X=this.db.selectFrom("private_registry_item").select(["tags","categories"]).where("organization_id","=",Y);if(Q?.publicOnly)X=X.where("is_public","=",1);if(!Q?.includeUnlisted)X=X.where("is_unlisted","=",0);let J=await X.execute(),G=new Map,K=new Map;for(let Z of J){for(let H of bD(Z.tags))G.set(H,(G.get(H)??0)+1);for(let H of bD(Z.categories))K.set(H,(K.get(H)??0)+1)}let W=(Z)=>Array.from(Z.entries()).map(([H,$])=>({value:H,count:$})).sort((H,$)=>H.value.localeCompare($.value));return{tags:W(G),categories:W(K)}}async search(Y,Q={},X){let J=this.db.selectFrom("private_registry_item").select(["id","title","description","meta_json","server_json","tags","categories","is_public","is_unlisted"]).where("organization_id","=",Y).orderBy("created_at","desc");if(X?.publicOnly)J=J.where("is_public","=",1);if(!X?.includeUnlisted)J=J.where("is_unlisted","=",0);let G=await J.execute(),K=Q.query?.trim().toLowerCase(),W=NX(Q.tags),Z=NX(Q.categories),H=G.filter((N)=>{if(K){let w=Yi(N.server_json,{}),T=Yi(N.meta_json,{})?.["mcp.mesh"]?.short_description??"";if(![N.id,N.title,N.description??"",w.name??"",w.description??"",T].join(" ").toLowerCase().includes(K))return!1}if(W.length>0){let w=NX(bD(N.tags));if(!W.every((E)=>w.includes(E)))return!1}if(Z.length>0){let w=NX(bD(N.categories));if(!Z.every((E)=>w.includes(E)))return!1}return!0}),F=en(Q.cursor)??0,V=Q.limit??20,q=H.slice(F,F+V),U=F+V<H.length,z=U?tn(F+V):void 0;return{items:q.map((N)=>({id:N.id,title:N.title,tags:bD(N.tags),categories:bD(N.categories),is_public:N.is_public===1,is_unlisted:N.is_unlisted===1})),totalCount:H.length,hasMore:U,nextCursor:z}}deserialize(Y){let Q=Yi(Y.server_json,{}),X=Yi(Y.meta_json,{});return{id:Y.id,name:typeof Q.name==="string"?Q.name:void 0,title:Y.title,description:Y.description,_meta:X,server:Q,is_public:Y.is_public===1,is_unlisted:Y.is_unlisted===1,created_at:Y.created_at,updated_at:Y.updated_at,...Y.created_by?{created_by:Y.created_by}:{}}}}var mq1=()=>{};var Ji,HR6,Gi,mZ,lq1,$R6,aq,wA,NG,hD,dq1,Vk0,pq1,qk0,cq1,Bk0,nq1,Uk0,AA,FR6,rS,VR6,Wi,iq1,zk0,Dk0,aq1,Ok0,Lk0,Nk0,Mk0,wk0,Ak0,Pk0,Ek0,qR6,rq1,Tk0,Ck0,oq1,Rk0;var cY=j(()=>{LG();a1();Ji=B.object({name:B.string(),title:B.string().optional(),description:B.string().optional(),version:B.string().optional(),websiteUrl:B.string().optional(),icons:B.array(B.object({src:B.string()})).optional(),remotes:B.array(B.object({type:B.string().optional(),url:B.string().optional(),name:B.string().optional(),title:B.string().optional(),description:B.string().optional()})).optional(),packages:B.array(B.object({identifier:B.string(),version:B.string().optional()})).optional(),repository:B.object({url:B.string().optional(),source:B.string().optional(),subfolder:B.string().optional()}).optional()}),HR6=B.object({name:B.string(),description:B.string().nullable().optional()}),Gi=B.object({"mcp.mesh":B.object({verified:B.boolean().optional(),tags:B.array(B.string()).optional(),categories:B.array(B.string()).optional(),friendly_name:B.string().nullable().optional(),short_description:B.string().max(160).nullable().optional(),owner:B.string().nullable().optional(),readme:B.string().max(50000).nullable().optional(),readme_url:B.string().url().nullable().optional(),has_remote:B.boolean().optional(),has_oauth:B.boolean().optional(),tools:B.array(HR6).optional()}).optional()}).catchall(B.unknown()),mZ=B.object({id:B.string(),name:B.string().optional(),title:B.string(),description:B.string().nullable().optional(),_meta:Gi.optional(),server:Ji,is_public:B.boolean().optional(),created_at:B.string(),updated_at:B.string(),created_by:B.string().optional()}),lq1=B.object({id:B.string(),title:B.string(),description:B.string().nullable().optional(),_meta:Gi.optional(),server:Ji,is_public:B.boolean().optional()}),$R6=B.object({title:B.string().optional(),description:B.string().nullable().optional(),_meta:Gi.optional(),server:Ji.optional(),is_public:B.boolean().optional()}),aq=uZ.extend({tags:B.array(B.string()).optional().describe("Filter by tags (AND semantics)"),categories:B.array(B.string()).optional().describe("Filter by categories (AND semantics)"),cursor:B.string().optional().describe("Pagination cursor")}).describe("List registry items with optional filtering and pagination."),wA=B.object({items:B.array(mZ),totalCount:B.number(),hasMore:B.boolean().optional(),nextCursor:B.string().optional()}),NG=B.object({id:B.string().optional().describe("Registry item ID"),name:B.string().optional().describe("Registry item name (alias for id)")}).refine((Y)=>Y.id||Y.name,{message:"At least one of 'id' or 'name' is required"}).describe("Get a registry item by ID or name."),hD=B.object({item:mZ.nullable()}),dq1=B.object({data:lq1}),Vk0=B.object({item:mZ}),pq1=B.object({items:B.array(lq1).min(1)}),qk0=B.object({created:B.number(),errors:B.array(B.object({id:B.string(),error:B.string()}))}),cq1=B.object({id:B.string(),data:$R6}),Bk0=B.object({item:mZ}),nq1=B.object({id:B.string()}),Uk0=B.object({item:mZ}),AA=B.object({tags:B.array(B.object({value:B.string(),count:B.number()})),categories:B.array(B.object({value:B.string(),count:B.number()}))}),FR6=B.enum(["description","short_description","tags","categories","readme"]),rS=B.object({query:B.string().optional().describe("Free-text search across id, title, description, server name"),tags:B.array(B.string()).optional().describe("Filter by tags (AND)"),categories:B.array(B.string()).optional().describe("Filter by categories (AND)"),limit:B.number().int().min(1).max(100).optional().describe("Max results (default 20)"),cursor:B.string().optional().describe("Pagination cursor")}).describe("Lightweight search returning minimal fields (id, title, tags, categories, is_public)."),VR6=B.object({id:B.string(),title:B.string(),tags:B.array(B.string()),categories:B.array(B.string()),is_public:B.boolean()}),Wi=B.object({items:B.array(VR6),totalCount:B.number(),hasMore:B.boolean().optional(),nextCursor:B.string().optional()}),iq1=B.object({type:FR6.describe("Which content to generate"),llmConnectionId:B.string().describe("Connection ID of a language model"),modelId:B.string().describe("Model ID to use"),context:B.object({name:B.string().optional(),provider:B.string().optional(),url:B.string().optional(),owner:B.string().optional(),repositoryUrl:B.string().optional(),description:B.string().optional(),shortDescription:B.string().optional(),tags:B.array(B.string()).optional(),categories:B.array(B.string()).optional(),availableTags:B.array(B.string()).optional(),availableCategories:B.array(B.string()).optional(),tools:B.array(B.object({name:B.string(),description:B.string().nullable().optional()})).optional()})}),zk0=B.object({result:B.string().optional(),items:B.array(B.string()).optional()}),Dk0=B.enum(["pending","approved","rejected"]),aq1=B.object({id:B.string(),organization_id:B.string(),requested_id:B.string().nullable().optional(),status:Dk0,title:B.string(),description:B.string().nullable().optional(),_meta:Gi.optional(),server:Ji,requester_name:B.string().nullable().optional(),requester_email:B.string().nullable().optional(),reviewer_notes:B.string().nullable().optional(),created_at:B.string(),updated_at:B.string()}),Ok0=B.object({status:Dk0.optional(),limit:B.number().int().min(1).max(200).optional(),offset:B.number().int().min(0).optional(),sortBy:B.enum(["created_at","title"]).optional(),sortDirection:B.enum(["asc","desc"]).optional()}),Lk0=B.object({items:B.array(aq1),totalCount:B.number()}),Nk0=B.object({id:B.string(),status:B.enum(["approved","rejected"]),reviewerNotes:B.string().nullable().optional()}),Mk0=B.object({item:aq1}),wk0=B.object({pending:B.number()}),Ak0=B.object({id:B.string()}),Pk0=B.object({item:aq1.nullable()}),Ek0=B.object({data:lq1,requester:B.object({name:B.string().optional(),email:B.string().email().optional()}).optional()}),qR6=B.object({id:B.string(),name:B.string(),prefix:B.string(),createdAt:B.string()}),rq1=B.object({name:B.string().min(1).max(64).describe("A descriptive name for this key")}),Tk0=B.object({id:B.string(),name:B.string(),prefix:B.string(),key:B.string().describe("The full API key \u2014 shown only once!"),createdAt:B.string()}),Ck0=B.object({items:B.array(qR6)}),oq1=B.object({keyId:B.string()}),Rk0=B.object({success:B.boolean(),keyId:B.string()})});function BR6(Y,Q){let X=n$({id:"COLLECTION_REGISTRY_APP_LIST",description:"List public registry items",inputSchema:aq,outputSchema:wA,execute:async({context:Z})=>{return await Y.listPublic(Q,{limit:Z.limit,offset:Z.offset,cursor:Z.cursor,tags:Z.tags,categories:Z.categories,where:Z.where})}}),J=n$({id:"COLLECTION_REGISTRY_APP_GET",description:"Get a public registry item by ID or name",inputSchema:NG,outputSchema:hD,execute:async({context:Z})=>{let H=Z.id??Z.name;if(!H)return{item:null};let $=await Y.findByIdOrName(Q,H);if($&&$.is_public)return{item:$};return{item:null}}}),G=n$({id:"COLLECTION_REGISTRY_APP_VERSIONS",description:"Get available versions of a public registry item",inputSchema:NG,outputSchema:B.object({versions:B.array(hD.shape.item)}),execute:async({context:Z})=>{let H=Z.id??Z.name;if(!H)return{versions:[]};let $=await Y.findByIdOrName(Q,H);if($&&$.is_public)return{versions:[$]};return{versions:[]}}}),K=n$({id:"COLLECTION_REGISTRY_APP_SEARCH",description:"Search public registry items returning minimal data (id, title, tags, categories, is_public). Use this instead of LIST when you need to find items efficiently without loading full details.",inputSchema:rS,outputSchema:Wi,execute:async({context:Z})=>{return await Y.search(Q,Z,{publicOnly:!0})}}),W=n$({id:"COLLECTION_REGISTRY_APP_FILTERS",description:"Get available tags and categories for public registry items",inputSchema:B.object({}),outputSchema:AA,execute:async()=>{return await Y.getFilters(Q,{publicOnly:!0})}});return[X,K,J,G,W]}function sq1(Y,Q){let X=Q.db,J=new aS(X);Y.all("/org/:orgSlug/registry/*",async(G)=>{let K=G.req.param("orgSlug");console.log(`[Public Registry MCP] Request for org slug: ${K}, path: ${G.req.path}`);let W=await X.selectFrom("organization").select(["id","slug","name"]).where("slug","=",K).executeTakeFirst();if(console.log("[Public Registry MCP] Found org:",W),!W)return console.log(`[Public Registry MCP] Organization not found: ${K}`),G.json({error:"Organization not found"},404);let Z=BR6(J,W.id),H=$k0({tools:()=>Z}),$=new URL(G.req.url),F=G.req.path.replace(`/org/${K}/registry`,""),V=new URL(F||"/",$.origin);$.searchParams.forEach((z,D)=>{V.searchParams.set(D,z)}),console.log(`[Public Registry MCP] Rewriting ${$.pathname} to ${V.pathname}`);let q=new Request(V.toString(),{method:G.req.method,headers:G.req.raw.headers,body:G.req.method!=="GET"&&G.req.method!=="HEAD"?G.req.raw.body:void 0}),U={organizationId:W.id,db:X,MESH_REQUEST_CONTEXT:{},MESH_APP_DEPLOYMENT_ID:"public-registry",IS_LOCAL:!1};return await H.fetch(q,U,G)})}var Ik0=j(()=>{Fk0();sn();a1();mq1();cY()});import{randomUUID as UR6}from"crypto";function jk0(Y,Q){if(!Y)return Q;try{return JSON.parse(Y)}catch{return Q}}class oS{db;constructor(Y){this.db=Y}async createOrUpdate(Y){let Q=new Date().toISOString(),X=await this.findPendingByRequestedId(Y.organization_id,Y.requested_id);if(X){let W={title:Y.title,description:Y.description??null,server_json:JSON.stringify(Y.server),meta_json:Y._meta?JSON.stringify(Y._meta):null,requester_name:Y.requester_name??null,requester_email:Y.requester_email??null,updated_at:Q};await this.db.updateTable("private_registry_publish_request").set(W).where("organization_id","=",Y.organization_id).where("id","=",X.id).execute();let Z=await this.findById(Y.organization_id,X.id);if(!Z)throw Error("Failed to update publish request");return Z}let J=UR6(),G={id:J,organization_id:Y.organization_id,requested_id:Y.requested_id,status:"pending",title:Y.title,description:Y.description??null,server_json:JSON.stringify(Y.server),meta_json:Y._meta?JSON.stringify(Y._meta):null,requester_name:Y.requester_name??null,requester_email:Y.requester_email??null,reviewer_notes:null,created_at:Q,updated_at:Q};await this.db.insertInto("private_registry_publish_request").values(G).execute();let K=await this.findById(Y.organization_id,J);if(!K)throw Error("Failed to create publish request");return K}async findPendingByRequestedId(Y,Q){let X=await this.db.selectFrom("private_registry_publish_request").selectAll().where("organization_id","=",Y).where("requested_id","=",Q).where("status","=","pending").executeTakeFirst();return X?this.deserialize(X):null}async findById(Y,Q){let X=await this.db.selectFrom("private_registry_publish_request").selectAll().where("organization_id","=",Y).where("id","=",Q).executeTakeFirst();return X?this.deserialize(X):null}async list(Y,Q={}){let X=this.db.selectFrom("private_registry_publish_request").selectAll().where("organization_id","=",Y),J=this.db.selectFrom("private_registry_publish_request").select(($)=>$.fn.countAll().as("count")).where("organization_id","=",Y);if(Q.status)X=X.where("status","=",Q.status),J=J.where("status","=",Q.status);let G=await J.executeTakeFirst(),K=Number(G?.count??0),W=Q.sortBy??"created_at",Z=Q.sortDirection??"desc";if(W==="title")X=X.orderBy("title",Z);else X=X.orderBy("created_at",Z);return{items:(await X.limit(Q.limit??24).offset(Q.offset??0).execute()).map(($)=>this.deserialize($)),totalCount:K}}async updateStatus(Y,Q,X,J){let G={status:X,updated_at:new Date().toISOString(),reviewer_notes:J??null};await this.db.updateTable("private_registry_publish_request").set(G).where("organization_id","=",Y).where("id","=",Q).execute();let K=await this.findById(Y,Q);if(!K)throw Error(`Publish request not found: ${Q}`);return K}async countPending(Y){let Q=await this.db.selectFrom("private_registry_publish_request").select((X)=>X.fn.countAll().as("count")).where("organization_id","=",Y).where("status","=","pending").executeTakeFirst();return Number(Q?.count??0)}async delete(Y,Q){let X=await this.findById(Y,Q);if(!X)return null;return await this.db.deleteFrom("private_registry_publish_request").where("organization_id","=",Y).where("id","=",Q).execute(),X}deserialize(Y){return{id:Y.id,organization_id:Y.organization_id,requested_id:Y.requested_id??null,status:Y.status,title:Y.title,description:Y.description,_meta:jk0(Y.meta_json,{}),server:jk0(Y.server_json,{name:""}),requester_name:Y.requester_name,requester_email:Y.requester_email,reviewer_notes:Y.reviewer_notes,created_at:Y.created_at,updated_at:Y.updated_at}}}var tq1=()=>{};import{randomUUID as zR6}from"crypto";async function Sk0(Y){let X=new TextEncoder().encode(Y),J=await crypto.subtle.digest("SHA-256",X);return Array.from(new Uint8Array(J)).map((K)=>K.toString(16).padStart(2,"0")).join("")}function DR6(){let Y=new Uint8Array(32);return crypto.getRandomValues(Y),`prk_${Array.from(Y).map((X)=>X.toString(16).padStart(2,"0")).join("")}`}class sS{db;constructor(Y){this.db=Y}async generate(Y,Q){let X=zR6(),J=DR6(),G=await Sk0(J),K=J.slice(0,12),W=new Date().toISOString();return await this.db.insertInto("private_registry_publish_api_key").values({id:X,organization_id:Y,name:Q,key_hash:G,prefix:K,created_at:W}).execute(),{entity:{id:X,organization_id:Y,name:Q,prefix:K,created_at:W},key:J}}async list(Y){return await this.db.selectFrom("private_registry_publish_api_key").select(["id","organization_id","name","prefix","created_at"]).where("organization_id","=",Y).orderBy("created_at","desc").execute()}async revoke(Y,Q){return(await this.db.deleteFrom("private_registry_publish_api_key").where("organization_id","=",Y).where("id","=",Q).execute()).length>0}async validate(Y,Q){let X=await Sk0(Q),J=await this.db.selectFrom("private_registry_publish_api_key").select(["id"]).where("organization_id","=",Y).where("key_hash","=",X).executeTakeFirst();return Boolean(J)}async hasKeys(Y){let Q=await this.db.selectFrom("private_registry_publish_api_key").select((X)=>X.fn.countAll().as("count")).where("organization_id","=",Y).executeTakeFirst();return Number(Q?.count??0)>0}}var eq1=()=>{};import{sql as OR6}from"kysely";import{randomUUID as kk0}from"crypto";async function NR6(Y){let Q=new Date().toISOString(),X=kk0(),J=IY.SELF(Y.organizationId),G="registry.publish_request.created",K={requestId:Y.request.id,requestedId:Y.request.requested_id,title:Y.request.title,status:Y.request.status,createdAt:Y.request.created_at,requester:{name:Y.request.requester_name,email:Y.request.requester_email}};await Y.db.insertInto("events").values({id:X,organization_id:Y.organizationId,type:"registry.publish_request.created",source:J,specversion:"1.0",subject:Y.request.id,time:Q,datacontenttype:"application/json",dataschema:null,data:JSON.stringify(K),cron:null,status:"pending",attempts:0,last_error:null,next_retry_at:null,created_at:Q,updated_at:Q}).execute();let W=await Y.db.selectFrom("event_subscriptions").select(["id"]).where("organization_id","=",Y.organizationId).where("enabled","=",1).where("event_type","=","registry.publish_request.created").where((Z)=>Z.or([Z("publisher","is",null),Z("publisher","=",J)])).execute();if(W.length>0)await Y.db.insertInto("event_deliveries").values(W.map((Z)=>({id:kk0(),event_id:X,subscription_id:Z.id,status:"pending",attempts:0,last_error:null,delivered_at:null,next_retry_at:null,created_at:Q}))).execute();try{await OR6`SELECT pg_notify('mesh_events', ${X})`.execute(Y.db)}catch{}}async function MR6(Y,Q){let J=(await Y.selectFrom("organization").select(["id"]).where("id","=",Q).execute())[0];if(J?.id)return J.id;return(await Y.selectFrom("organization").select(["id"]).where("slug","=",Q).execute())[0]?.id??null}async function wR6(Y,Q){let X=await Y.selectFrom("project_plugin_configs").innerJoin("projects","projects.id","project_plugin_configs.project_id").select(["project_plugin_configs.settings as settings"]).where("projects.organization_id","=",Q).where("project_plugin_configs.plugin_id","=",gH).execute();for(let J of X){let G=J.settings,K=typeof G==="string"?(()=>{try{return JSON.parse(G)}catch{return{}}})():G??{};if(K.acceptPublishRequests===!0){let W=K.rateLimitWindow==="minute"?"minute":"hour",Z=K.rateLimitMax,H=typeof Z==="number"&&Number.isFinite(Z)&&Z>=1?Math.floor(Z):_k0;return{acceptPublishRequests:!0,requireApiToken:K.requireApiToken===!0,rateLimitEnabled:K.rateLimitEnabled===void 0?vk0:K.rateLimitEnabled===!0,rateLimitWindow:W,rateLimitMax:H}}}return{acceptPublishRequests:!1,requireApiToken:!1,rateLimitEnabled:vk0,rateLimitWindow:LR6,rateLimitMax:_k0}}async function AR6(Y,Q,X){let J=X==="minute"?60000:3600000,G=new Date(Date.now()-J).toISOString(),K=await Y.selectFrom("private_registry_publish_request").select((W)=>W.fn.countAll().as("count")).where("organization_id","=",Q).where("created_at",">=",G).executeTakeFirst();return Number(K?.count??0)}async function PR6(Y,Q,X,J){let G=await Y.selectFrom("private_registry_item").select(["id","title"]).where("organization_id","=",Q).where((K)=>K.or([K("id","=",X),K("title","=",J)])).executeTakeFirst();return G?{id:String(G.id),title:String(G.title)}:null}function YB1(Y,Q){let{db:X,db:J}=Q,G=new oS(J),K=new sS(J);Y.post("/org/:orgRef/registry/publish-request",async(W)=>{let Z=W.req.param("orgRef"),H=await MR6(X,Z);if(!H)return W.json({error:"Organization not found"},404);let $=await wR6(X,H);if(!$.acceptPublishRequests)return W.json({error:"Publish requests are not enabled for this registry."},403);if($.requireApiToken){let z=W.req.header("Authorization"),D=z?.startsWith("Bearer ")?z.slice(7).trim():null;if(!D)return W.json({error:"API key required. Use Authorization: Bearer <key>"},401);if(!await K.validate(H,D))return W.json({error:"Invalid API key"},401)}if($.rateLimitEnabled){if(await AR6(J,H,$.rateLimitWindow)>=$.rateLimitMax)return W.json({error:"Too many publish requests. Please try again later.",retryAfterSeconds:$.rateLimitWindow==="minute"?60:3600},429)}let F;try{F=await W.req.json()}catch{return W.json({error:"Invalid JSON body"},400)}let V=Ek0.safeParse(F);if(!V.success)return W.json({error:"Invalid publish request payload",details:B.treeifyError(V.error)},400);let q=await PR6(J,H,V.data.data.id,V.data.data.title);if(q)return W.json({error:"A registry item with the same id or title already exists. Please use a different name/id.",conflict:q},409);let U=await G.createOrUpdate({organization_id:H,requested_id:V.data.data.id,title:V.data.data.title,description:V.data.data.description??null,_meta:V.data.data._meta,server:V.data.data.server,requester_name:V.data.requester?.name??null,requester_email:V.data.requester?.email??null});try{await NR6({db:X,organizationId:H,request:U})}catch(z){console.warn("[private-registry] failed to emit publish-request event:",z)}return W.json({id:U.id,requested_id:U.requested_id,status:U.status},201)})}var vk0=!0,LR6="hour",_k0=100;var yk0=j(()=>{$Y();a1();vD();tq1();eq1();cY()});var fk0=j(()=>{Ik0();yk0()});function bk0(Y){QB1=Y}function k4(){if(!QB1)throw Error(`Plugin storage not initialized. Make sure the "${gH}" plugin is enabled.`);return QB1}async function ER6(Y){if(!Y.organization)throw Error("Organization context required");return await Y.access.check(),Y}function e4(Y,Q){return async(X,J)=>{let G=await ER6(J);return Q(X,G)}}function TR6(Y){if(!Y)return{};if(typeof Y==="string")try{return JSON.parse(Y)}catch{return{}}if(typeof Y==="object")return Y;return{}}async function tS(Y,Q){let J=(await Y.db.selectFrom("project_plugin_configs").innerJoin("projects","projects.id","project_plugin_configs.project_id").select(["project_plugin_configs.settings as settings"]).where("projects.organization_id","=",Q).where("project_plugin_configs.plugin_id","=",gH).execute()).map((K)=>TR6(K.settings)),G={acceptPublishRequests:J.some((K)=>K.acceptPublishRequests===!0),requireApiToken:J.some((K)=>K.requireApiToken===!0),storePrivateOnly:J.some((K)=>K.storePrivateOnly===!0)};if(G.acceptPublishRequests||G.requireApiToken||G.storePrivateOnly)return G;for(let K of J)if(Object.keys(K).length>0)return K;return{}}var QB1=null;var G9=j(()=>{vD()});import{randomUUID as hk0}from"crypto";function xk0(Y,Q){if(!Y)return Q;try{return JSON.parse(Y)}catch{return Q}}class XB1{db;constructor(Y){this.db=Y}async create(Y){let Q=hk0(),X=new Date().toISOString(),J={id:Q,organization_id:Y.organization_id,status:Y.status??"pending",config_snapshot:Y.config_snapshot?JSON.stringify(Y.config_snapshot):null,total_items:Y.total_items??0,tested_items:0,passed_items:0,failed_items:0,skipped_items:0,current_item_id:null,started_at:Y.started_at??null,finished_at:null,created_at:X};await this.db.insertInto("private_registry_monitor_run").values(J).execute();let G=await this.findById(Y.organization_id,Q);if(!G)throw Error(`Failed to create monitor run ${Q}`);return G}async findById(Y,Q){let X=await this.db.selectFrom("private_registry_monitor_run").selectAll().where("organization_id","=",Y).where("id","=",Q).executeTakeFirst();return X?this.deserializeRun(X):null}async list(Y,Q={}){let X=this.db.selectFrom("private_registry_monitor_run").selectAll().where("organization_id","=",Y),J=this.db.selectFrom("private_registry_monitor_run").select((Z)=>Z.fn.countAll().as("count")).where("organization_id","=",Y);if(Q.status)X=X.where("status","=",Q.status),J=J.where("status","=",Q.status);let G=await J.executeTakeFirst(),K=Number(G?.count??0);return{items:(await X.orderBy("created_at","desc").limit(Q.limit??24).offset(Q.offset??0).execute()).map((Z)=>this.deserializeRun(Z)),totalCount:K}}async update(Y,Q,X){let J={};if(X.total_items!==void 0)J.total_items=X.total_items;if(X.status!==void 0)J.status=X.status;if(X.tested_items!==void 0)J.tested_items=X.tested_items;if(X.passed_items!==void 0)J.passed_items=X.passed_items;if(X.failed_items!==void 0)J.failed_items=X.failed_items;if(X.skipped_items!==void 0)J.skipped_items=X.skipped_items;if(X.current_item_id!==void 0)J.current_item_id=X.current_item_id;if(X.started_at!==void 0)J.started_at=X.started_at;if(X.finished_at!==void 0)J.finished_at=X.finished_at;await this.db.updateTable("private_registry_monitor_run").set(J).where("organization_id","=",Y).where("id","=",Q).execute();let G=await this.findById(Y,Q);if(!G)throw Error(`Monitor run not found: ${Q}`);return G}deserializeRun(Y){return{id:Y.id,organization_id:Y.organization_id,status:Y.status,config_snapshot:xk0(Y.config_snapshot,null),total_items:Number(Y.total_items??0),tested_items:Number(Y.tested_items??0),passed_items:Number(Y.passed_items??0),failed_items:Number(Y.failed_items??0),skipped_items:Number(Y.skipped_items??0),current_item_id:Y.current_item_id,started_at:Y.started_at,finished_at:Y.finished_at,created_at:Y.created_at}}}class JB1{db;constructor(Y){this.db=Y}async create(Y){let Q=hk0(),X=new Date().toISOString(),J={id:Q,run_id:Y.run_id,organization_id:Y.organization_id,item_id:Y.item_id,item_title:Y.item_title,status:Y.status,error_message:Y.error_message??null,connection_ok:Y.connection_ok?1:0,tools_listed:Y.tools_listed?1:0,tool_results:Y.tool_results?JSON.stringify(Y.tool_results):null,agent_summary:Y.agent_summary??null,duration_ms:Y.duration_ms??0,action_taken:Y.action_taken??"none",tested_at:X};await this.db.insertInto("private_registry_monitor_result").values(J).execute();let G=await this.findById(Y.organization_id,Q);if(!G)throw Error("Failed to create test result");return G}async findById(Y,Q){let X=await this.db.selectFrom("private_registry_monitor_result").selectAll().where("organization_id","=",Y).where("id","=",Q).executeTakeFirst();return X?this.deserialize(X):null}async listByRun(Y,Q,X={}){let J=this.db.selectFrom("private_registry_monitor_result").selectAll().where("organization_id","=",Y).where("run_id","=",Q),G=this.db.selectFrom("private_registry_monitor_result").select((H)=>H.fn.countAll().as("count")).where("organization_id","=",Y).where("run_id","=",Q);if(X.status)J=J.where("status","=",X.status),G=G.where("status","=",X.status);let K=await G.executeTakeFirst(),W=Number(K?.count??0);return{items:(await J.orderBy("tested_at","desc").limit(X.limit??50).offset(X.offset??0).execute()).map((H)=>this.deserialize(H)),totalCount:W}}async update(Y,Q,X){let J={};if(X.status!==void 0)J.status=X.status;if(X.error_message!==void 0)J.error_message=X.error_message;if(X.connection_ok!==void 0)J.connection_ok=X.connection_ok?1:0;if(X.tools_listed!==void 0)J.tools_listed=X.tools_listed?1:0;if(X.tool_results!==void 0)J.tool_results=JSON.stringify(X.tool_results);if(X.agent_summary!==void 0)J.agent_summary=X.agent_summary;if(X.duration_ms!==void 0)J.duration_ms=X.duration_ms;if(X.action_taken!==void 0)J.action_taken=X.action_taken;await this.db.updateTable("private_registry_monitor_result").set(J).where("organization_id","=",Y).where("id","=",Q).execute();let G=await this.findById(Y,Q);if(!G)throw Error(`Monitor result not found: ${Q}`);return G}deserialize(Y){return{id:Y.id,run_id:Y.run_id,organization_id:Y.organization_id,item_id:Y.item_id,item_title:Y.item_title,status:Y.status,error_message:Y.error_message,connection_ok:Y.connection_ok===1,tools_listed:Y.tools_listed===1,tool_results:xk0(Y.tool_results,[]),agent_summary:Y.agent_summary,duration_ms:Number(Y.duration_ms??0),action_taken:Y.action_taken,tested_at:Y.tested_at}}}var gk0=()=>{};import{randomUUID as CR6}from"crypto";class GB1{db;constructor(Y){this.db=Y}async findByItemId(Y,Q){let X=await this.db.selectFrom("private_registry_monitor_connection").selectAll().where("organization_id","=",Y).where("item_id","=",Q).executeTakeFirst();return X?this.deserialize(X):null}async list(Y){return(await this.db.selectFrom("private_registry_monitor_connection").selectAll().where("organization_id","=",Y).orderBy("updated_at","desc").execute()).map((X)=>this.deserialize(X))}async findByConnectionId(Y,Q){let X=await this.db.selectFrom("private_registry_monitor_connection").selectAll().where("organization_id","=",Y).where("connection_id","=",Q).executeTakeFirst();return X?this.deserialize(X):null}async upsert(Y){let Q=await this.findByItemId(Y.organization_id,Y.item_id),X=new Date().toISOString();if(!Q){let G={id:CR6(),organization_id:Y.organization_id,item_id:Y.item_id,connection_id:Y.connection_id,auth_status:Y.auth_status??"none",created_at:X,updated_at:X};await this.db.insertInto("private_registry_monitor_connection").values(G).execute()}else{let G={connection_id:Y.connection_id,auth_status:Y.auth_status??Q.auth_status,updated_at:X};await this.db.updateTable("private_registry_monitor_connection").set(G).where("organization_id","=",Y.organization_id).where("item_id","=",Y.item_id).execute()}let J=await this.findByItemId(Y.organization_id,Y.item_id);if(!J)throw Error("Failed to save monitor connection");return J}async updateAuthStatus(Y,Q,X){return await this.db.updateTable("private_registry_monitor_connection").set({auth_status:X,updated_at:new Date().toISOString()}).where("organization_id","=",Y).where("item_id","=",Q).execute(),this.findByItemId(Y,Q)}deserialize(Y){return{id:Y.id,organization_id:Y.organization_id,item_id:Y.item_id,connection_id:Y.connection_id,auth_status:Y.auth_status,created_at:Y.created_at,updated_at:Y.updated_at}}}var uk0=()=>{};function mk0(Y){let Q=Y.db,X={items:new aS(Q),publishRequests:new oS(Q),publishApiKeys:new sS(Q),monitorRuns:new XB1(Q),monitorResults:new JB1(Q),monitorConnections:new GB1(Q)};return bk0(X),X}var lk0=j(()=>{G9();mq1();tq1();eq1();gk0();uk0()});var dk0;var pk0=j(()=>{cY();G9();dk0={name:"REGISTRY_ITEM_BULK_CREATE",description:"Create many private registry items at once",inputSchema:pq1,outputSchema:qk0,handler:e4(pq1,async(Y,Q)=>{let X=k4(),J=[],G=0;for(let K of Y.items)try{await X.items.create({...K,organization_id:Q.organization.id,created_by:Q.auth.user?.id??null}),G+=1}catch(W){J.push({id:K.id,error:W instanceof Error?W.message:"Unknown error"})}return{created:G,errors:J}})}});function RR6(Y){return Array.from(new Set(Y.map((Q)=>Q.trim().toLowerCase()).filter((Q)=>Q.length>0)))}function IR6(Y){let X=Y.structuredContent?.content?.filter((J)=>J.type==="text"&&typeof J.text==="string").map((J)=>J.text??"").join(`
|
|
1215
|
+
`,Y.enqueue(Q.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(Y,Q){try{let X=Y.headers.get("accept");if(!X?.includes("application/json")||!X.includes("text/event-stream"))return this.createJsonErrorResponse(406,-32000,"Not Acceptable: Client must accept both application/json and text/event-stream");let J=Y.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(Y.headers.entries())},K;if(Q?.parsedBody!==void 0)K=Q.parsedBody;else try{K=await Y.json()}catch{return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON")}let W;try{if(Array.isArray(K))W=K.map((N)=>_G.parse(N));else W=[_G.parse(K)]}catch{return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON-RPC message")}let Z=W.some(w41);if(Z){if(this._initialized&&this.sessionId!==void 0)return this.createJsonErrorResponse(400,-32600,"Invalid Request: Server already initialized");if(W.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(!Z){let N=this.validateSession(Y);if(N)return N;let w=this.validateProtocolVersion(Y);if(w)return w}if(!W.some(wK)){for(let N of W)this.onmessage?.(N,{authInfo:Q?.authInfo,requestInfo:G});return new Response(null,{status:202})}let $=crypto.randomUUID(),F=W.find((N)=>w41(N)),V=F?F.params.protocolVersion:Y.headers.get("mcp-protocol-version")??pE1;if(this._enableJsonResponse)return new Promise((N)=>{this._streamMapping.set($,{resolveJson:N,cleanup:()=>{this._streamMapping.delete($)}});for(let w of W)if(wK(w))this._requestToStreamMapping.set(w.id,$);for(let w of W)this.onmessage?.(w,{authInfo:Q?.authInfo,requestInfo:G})});let q=new TextEncoder,U,z=new ReadableStream({start:(N)=>{U=N},cancel:()=>{this._streamMapping.delete($)}}),D={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"};if(this.sessionId!==void 0)D["mcp-session-id"]=this.sessionId;for(let N of W)if(wK(N))this._streamMapping.set($,{controller:U,encoder:q,cleanup:()=>{this._streamMapping.delete($);try{U.close()}catch{}}}),this._requestToStreamMapping.set(N.id,$);await this.writePrimingEvent(U,q,$,V);for(let N of W){let w,E;if(wK(N)&&this._eventStore&&V>="2025-11-25")w=()=>{this.closeSSEStream(N.id)},E=()=>{this.closeStandaloneSSEStream()};this.onmessage?.(N,{authInfo:Q?.authInfo,requestInfo:G,closeSSEStream:w,closeStandaloneSSEStream:E})}return new Response(z,{status:200,headers:D})}catch(X){return this.onerror?.(X),this.createJsonErrorResponse(400,-32700,"Parse error",{data:String(X)})}}async handleDeleteRequest(Y){let Q=this.validateSession(Y);if(Q)return Q;let X=this.validateProtocolVersion(Y);if(X)return X;return await Promise.resolve(this._onsessionclosed?.(this.sessionId)),await this.close(),new Response(null,{status:200})}validateSession(Y){if(this.sessionIdGenerator===void 0)return;if(!this._initialized)return this.createJsonErrorResponse(400,-32000,"Bad Request: Server not initialized");let Q=Y.headers.get("mcp-session-id");if(!Q)return this.createJsonErrorResponse(400,-32000,"Bad Request: Mcp-Session-Id header is required");if(Q!==this.sessionId)return this.createJsonErrorResponse(404,-32001,"Session not found");return}validateProtocolVersion(Y){let Q=Y.headers.get("mcp-protocol-version");if(Q!==null&&!HU.includes(Q))return this.createJsonErrorResponse(400,-32000,`Bad Request: Unsupported protocol version: ${Q} (supported versions: ${HU.join(", ")})`);return}async close(){this._streamMapping.forEach(({cleanup:Y})=>{Y()}),this._streamMapping.clear(),this._requestResponseMap.clear(),this.onclose?.()}closeSSEStream(Y){let Q=this._requestToStreamMapping.get(Y);if(!Q)return;let X=this._streamMapping.get(Q);if(X)X.cleanup()}closeStandaloneSSEStream(){let Y=this._streamMapping.get(this._standaloneSseStreamId);if(Y)Y.cleanup()}async send(Y,Q){let X=Q?.relatedRequestId;if(sW(Y)||kL(Y))X=Y.id;if(X===void 0){if(sW(Y)||kL(Y))throw Error("Cannot send a response on a standalone SSE stream unless resuming a previous client request");let K;if(this._eventStore)K=await this._eventStore.storeEvent(this._standaloneSseStreamId,Y);let W=this._streamMapping.get(this._standaloneSseStreamId);if(W===void 0)return;if(W.controller&&W.encoder)this.writeSSEEvent(W.controller,W.encoder,Y,K);return}let J=this._requestToStreamMapping.get(X);if(!J)throw Error(`No connection established for request ID: ${String(X)}`);let G=this._streamMapping.get(J);if(!this._enableJsonResponse&&G?.controller&&G?.encoder){let K;if(this._eventStore)K=await this._eventStore.storeEvent(J,Y);this.writeSSEEvent(G.controller,G.encoder,Y,K)}if(sW(Y)||kL(Y)){this._requestResponseMap.set(X,Y);let K=Array.from(this._requestToStreamMapping.entries()).filter(([Z,H])=>H===J).map(([Z])=>Z);if(K.every((Z)=>this._requestResponseMap.has(Z))){if(!G)throw Error(`No connection established for request ID: ${String(X)}`);if(this._enableJsonResponse&&G.resolveJson){let Z={"Content-Type":"application/json"};if(this.sessionId!==void 0)Z["mcp-session-id"]=this.sessionId;let H=K.map(($)=>this._requestResponseMap.get($));if(H.length===1)G.resolveJson(new Response(JSON.stringify(H[0]),{status:200,headers:Z}));else G.resolveJson(new Response(JSON.stringify(H),{status:200,headers:Z}))}else G.cleanup();for(let Z of K)this._requestResponseMap.delete(Z),this._requestToStreamMapping.delete(Z)}}}}var cS=j(()=>{kQ()});var Jk0="SELF",rn=(Y)=>{return typeof Y==="object"&&Y!==null&&"handler"in Y&&"events"in Y&&typeof Y.handler==="function"&&Array.isArray(Y.events)},Gk0=(Y)=>{return typeof Y==="object"&&Y!==null&&"handler"in Y&&"events"in Y&&typeof Y.handler==="function"&&Array.isArray(Y.events)},Xk0="::",Wk0=(Y)=>{let Q=Y.indexOf(Xk0);if(Q===-1)return null;let X=Y.substring(0,Q),J=Y.substring(Q+Xk0.length);return[X,J]},aC6=(Y)=>{if(!Y.startsWith("cron/"))return null;let Q=Y.substring(5),X=Q.indexOf("/");if(X===-1)return null;let J=Q.substring(0,X),G=Q.substring(X+1);return[J,G]},Zk0=(Y)=>{if(rn(Y))return[];return Object.keys(Y)},rC6=(Y,Q)=>{if(rn(Y))return Y.events;let X=Y[Q];if(!X)return[];if(Gk0(X))return X.events;return Object.keys(X)},an=(Y,Q,X)=>{if(Y===Jk0){if(!X)return console.warn("[Event] SELF binding used but no connectionId available"),null;return X}let J=Q[Y];if(!_q1(J))return console.warn(`[Event] Binding "${Y}" not found in state`),null;return J.value},oC6=(Y,Q,X)=>{let J=Q;if(rn(Y)){let K=[];for(let W of Y.events){let Z=Wk0(W);if(!Z){console.warn(`[Event] Global handler event "${W}" must be prefixed with BINDING:: (e.g., "SELF::${W}" or "DATABASE::${W}")`);continue}let[H,$]=Z,F=an(H,J,X);if(!F)continue;K.push({eventType:$,publisher:F})}return K}let G=[];for(let K of Zk0(Y)){let W=an(K,J,X);if(!W)continue;let Z=rC6(Y,K);for(let H of Z)G.push({eventType:H,publisher:W})}return G},sC6=(Y)=>{let Q=new Map;for(let X of Y){let J=X.source,G=Q.get(J)||[];G.push(X),Q.set(J,G)}return Q},tC6=(Y)=>{let Q=new Map;for(let X of Y){let J=X.type,G=Q.get(J)||[];G.push(X),Q.set(J,G)}return Q},eC6=(Y)=>{let Q={},X={},J=!1,G=0,K=[];for(let W of Y){if(W.results)Object.assign(X,W.results);if(W.success===!1){if(J=!0,W.error)K.push(W.error)}if(W.processedCount!==void 0)G+=W.processedCount}if(Object.keys(X).length>0)Q.results=X;if(Q.success=!J,K.length>0)Q.error=K.join("; ");if(G>0)Q.processedCount=G;return Q},YR6=async(Y,Q,X,J,G)=>{let K=J;if(rn(Y)){let F=new Set;for(let q of Y.events){let U=Wk0(q);if(!U)continue;let[z,D]=U,N=an(z,K,G);if(!N)continue;F.add(`${N}:${D}`)}let V=Q.filter((q)=>{let U=`${q.source}:${q.type}`;return F.has(U)});if(V.length===0)return{success:!0};try{return await Y.handler({events:V},X)}catch(q){return{success:!1,error:q instanceof Error?q.message:String(q)}}}let W=new Map;for(let F of Zk0(Y)){let V=an(F,K,G);if(V)W.set(V,F)}let Z=sC6(Q),H=[];for(let[F,V]of Z){let q=W.get(F);if(!q)continue;let U=Y[q];if(!U)continue;if(Gk0(U)){H.push((async()=>{try{return await U.handler({events:V},X)}catch(N){let w={};for(let E of V)w[E.id]={success:!1,error:N instanceof Error?N.message:String(N)};return{results:w}}})());continue}let z=U,D=tC6(V);for(let[N,w]of D){let E=z[N];if(!E)continue;H.push((async()=>{try{let T=await E({events:w},X),C={};for(let P of w)C[P.id]=T;return{results:C}}catch(T){let C={};for(let P of w)C[P.id]={success:!1,error:T instanceof Error?T.message:String(T)};return{results:C}}})())}}let $=await Promise.all(H);if($.length===0)return{success:!0};return eC6($)},on;var gq1=j(()=>{dn();on={subscriptions:oC6,execute:YR6,parseCron:aC6}});function n$(Y){return{...Y,execute:(Q)=>{return Y.execute({...Q,runtimeContext:nS(Q.runtimeContext)})}}}function uq1(Y){return Y&&"streamable"in Y&&Y.streamable===!0}var nS=(Y)=>{let Q=TS.getStore();if(!Q){if(Y)return Y;throw Error("Missing context, did you forget to call State.bind?")}return Q},QR6=(Y,Q)=>{let X=Q;return typeof X[Y]<"u"?X[Y]:Q?.MESH_REQUEST_CONTEXT?.state?.[Y]},XR6=({events:Y,configuration:{state:Q,scopes:X,onChange:J}={}}={})=>{let G=Q?B.toJSONSchema(Q):{type:"object",properties:{}},K=String(Y?.bus??"EVENT_BUS");return[...J||Y?[n$({id:"ON_MCP_CONFIGURATION",description:"MCP Configuration On Change",inputSchema:B.object({state:Q??B.unknown(),scopes:B.array(B.string()).describe("Array of scopes in format 'KEY::SCOPE' (e.g., 'GMAIL::GetCurrentUser')")}),outputSchema:B.object({}),execute:async(W)=>{let Z=W.context.state;await J?.(W.runtimeContext.env,{state:Z,scopes:W.context.scopes});let H=QR6(K,W.runtimeContext.env);if(Y&&Z&&H){let $=W.runtimeContext.env.MESH_REQUEST_CONTEXT?.connectionId,F=on.subscriptions(Y?.handlers??{},Z,$);if(await H.EVENT_SYNC_SUBSCRIPTIONS({subscriptions:F}),$){let V=F.filter((q)=>q.eventType.startsWith("cron/")&&q.publisher===$);await Promise.all(V.map(async(q)=>{let U=on.parseCron(q.eventType);if(U){let[,z]=U;await H.EVENT_PUBLISH({type:q.eventType,cron:z})}}))}}return Promise.resolve({})}})]:[],...Y?.handlers?[n$({id:"ON_EVENTS",description:"Receive and process CloudEvents from the event bus. Returns per-event or batch results.",inputSchema:pn,outputSchema:cn,execute:async(W)=>{let Z=W.runtimeContext.env,H=Z.MESH_REQUEST_CONTEXT?.state,$=Z.MESH_REQUEST_CONTEXT?.connectionId;return on.execute(Y.handlers,W.context.events,Z,H,$)}})]:[],n$({id:"MCP_CONFIGURATION",description:"MCP Configuration",inputSchema:B.object({}),outputSchema:B.object({stateSchema:B.unknown(),scopes:B.array(B.string()).optional()}),execute:()=>{return Promise.resolve({stateSchema:G,scopes:[...X??[],...Y?[`${K}::EVENT_SYNC_SUBSCRIPTIONS`]:[]]})}})]},Kk0=(Y)=>{let Q=async(G)=>{await Y.before?.(G);let K=new MU({name:"@deco/mcp-api",version:"1.0.0"},{capabilities:{tools:{},prompts:{},resources:{}}}),Z=await(typeof Y.tools==="function"?Y.tools:async(q)=>{if(typeof Y.tools==="function")return await Y.tools(q);return await Promise.all(Y.tools?.flatMap(async(U)=>{let D=await U(q);if(Array.isArray(D))return D;return[D]})??[]).then((U)=>U.flat())})(G);Z.push(...XR6(Y));for(let q of Z)K.registerTool(q.id,{_meta:{streamable:uq1(q),...q._meta??{}},description:q.description,annotations:q.annotations,inputSchema:q.inputSchema&&"shape"in q.inputSchema?q.inputSchema.shape:B.object({}).shape,outputSchema:uq1(q)?B.object({bytes:B.record(B.string(),B.number())}).shape:q.outputSchema&&typeof q.outputSchema==="object"&&("shape"in q.outputSchema)?q.outputSchema.shape:void 0},async(U)=>{let z=await q.execute({context:U,runtimeContext:nS()});if(uq1(q)&&z instanceof Response)return{structuredContent:{streamable:!0,status:z.status,statusText:z.statusText},content:[{type:"text",text:`Streaming response: ${z.status} ${z.statusText}`}]};return{structuredContent:z,content:[{type:"text",text:JSON.stringify(z)}]}});let $=await(typeof Y.prompts==="function"?Y.prompts:async(q)=>{if(typeof Y.prompts==="function")return await Y.prompts(q);return await Promise.all(Y.prompts?.flatMap(async(U)=>{let D=await U(q);if(Array.isArray(D))return D;return[D]})??[]).then((U)=>U.flat())})(G);for(let q of $)K.registerPrompt(q.name,{title:q.title,description:q.description,argsSchema:q.argsSchema?q.argsSchema:B.object({}).shape},async(U)=>{return await q.execute({args:U,runtimeContext:nS()})});let V=await(typeof Y.resources==="function"?Y.resources:async(q)=>{if(typeof Y.resources==="function")return await Y.resources(q);return await Promise.all(Y.resources?.flatMap(async(U)=>{let D=await U(q);if(Array.isArray(D))return D;return[D]})??[]).then((U)=>U.flat())})(G);for(let q of V)K.resource(q.name,q.uri,{description:q.description,mimeType:q.mimeType},async(U)=>{let z=await q.read({uri:U,runtimeContext:nS()}),D={uri:z.uri};if(z.mimeType)D.mimeType=z.mimeType;if(z.text!==void 0)return{contents:[{uri:z.uri,mimeType:z.mimeType,text:z.text}]};else if(z.blob!==void 0)return{contents:[{uri:z.uri,mimeType:z.mimeType,blob:z.blob}]};return{contents:[{uri:z.uri,mimeType:z.mimeType,text:""}]}});return{server:K,tools:Z,prompts:$,resources:V}};return{fetch:async(G,K)=>{let{server:W}=await Q(K),Z=new c$;await W.connect(Z);try{let H=await Z.handleRequest(G),$=H.headers.get("content-type");if(!($?.includes("text/event-stream")||$?.includes("application/json-rpc"))){console.debug("[MCP Transport] Closing transport for non-streaming response");try{await Z.close?.()}catch{}}else console.debug("[MCP Transport] Keeping transport open for streaming response (Content-Type: %s)",$);return H}catch(H){console.debug("[MCP Transport] Closing transport due to error:",H instanceof Error?H.message:H);try{await Z.close?.()}catch{}throw H}},callTool:async({toolCallId:G,toolCallInput:K})=>{let W=TS.getStore();if(!W)throw Error("Missing state, did you forget to call State.bind?");let Z=W?.env,{tools:H}=await Q(Z),F=H.find((V)=>V.id===G)?.execute;if(!F)throw Error(`Tool ${G} not found or does not have an execute function`);return F({context:K,runtimeContext:nS()})}}};var sn=j(()=>{pS();Lx();cS();a1();gq1();yq1();gq1()});var JR6=({env:Y,server:Q,url:X})=>{Y.SELF=new Proxy({},{get:(J,G)=>{if(G==="toJSON")return null;return async(K)=>{return await Q.callTool({toolCallId:G,toolCallInput:K})}}}),Y.IS_LOCAL=(X?.startsWith("http://localhost")||X?.startsWith("http://127.0.0.1"))??!1},Hk0=(Y)=>()=>{return{...Y??{}}},GR6=({env:Y,server:Q,tokenOrContext:X,url:J,authToken:G})=>{let K=Y,W=G?G.split(" ")[1]:void 0,Z;if(typeof X==="string"){let H=x9(X),$=H.metadata??{};Z={authorization:W,state:H.state??$.state??{},token:X,meshUrl:H.meshUrl??$.meshUrl,connectionId:H.connectionId??$.connectionId,organizationId:H.organizationId??$.organizationId,ensureAuthenticated:Hk0(H.user??H.sub)}}else if(typeof X==="object"){Z=X;let H=x9(X.token),$=H.metadata??{},F=H.appName;Z.authorization??=W,Z.callerApp=F,Z.connectionId??=H.connectionId??$.connectionId,Z.ensureAuthenticated=Hk0(H.user??H.sub)}else Z={state:{},authorization:W,token:void 0,meshUrl:void 0,connectionId:void 0,ensureAuthenticated:()=>{throw Error("Unauthorized")}};return K.MESH_REQUEST_CONTEXT=Z,Z.state=IS0(Z),JR6({env:K,server:Q,url:J}),K},WR6,$k0=(Y)=>{let Q=Kk0(Y),X=Y.cors??WR6,J=Y.oauth,G=J?bS0(J):null,K=async(W,Z,H)=>{let $=new URL(W.url);if(G){if($.pathname==="/.well-known/oauth-protected-resource"||$.pathname==="/mcp/.well-known/oauth-protected-resource")return G.handleProtectedResourceMetadata(W);if($.pathname==="/.well-known/oauth-authorization-server")return G.handleAuthorizationServerMetadata(W);if($.pathname==="/authorize")return G.handleAuthorize(W);if($.pathname==="/oauth/callback")return G.handleOAuthCallback(W);if($.pathname==="/token"&&W.method==="POST")return G.handleToken(W);if(($.pathname==="/register"||$.pathname==="/mcp/register")&&W.method==="POST")return G.handleClientRegistration(W)}if($.pathname==="/mcp"){if(W.method==="GET")return new Response("Method not allowed",{status:405});if(G&&!G.hasAuth(W)){let F=W.clone();try{if((await F.json())?.method!=="tools/list")return G.createUnauthorizedResponse(W)}catch{return G.createUnauthorizedResponse(W)}}return Q.fetch(W,Z,H)}if($.pathname.startsWith("/mcp/call-tool")){let F=$.pathname.split("/").pop();if(!F)return new Response("Not found",{status:404});let V=await W.json(),q=await Q.callTool({toolCallId:F,toolCallInput:V});if(q instanceof Response)return q;return new Response(JSON.stringify(q),{headers:{"Content-Type":"application/json"}})}return Y.fetch?.(W,Z,H)||new Response("Not found",{status:404})};return{fetch:async(W,Z,H)=>{if(new URL(W.url).pathname==="/_healthcheck")return new Response("OK",{status:200});if(X!==!1&&W.method==="OPTIONS")return SS0(W,X??{});let $=GR6({authToken:W.headers.get("authorization")??null,env:{...process.env,...Z},server:Q,tokenOrContext:W.headers.get("x-mesh-token")??void 0,url:W.url}),F=await TS.run({req:W,env:$,ctx:H},async()=>await K(W,$,H));if(X!==!1)return kS0(F,W,X??{});return F}}};var Fk0=j(()=>{r5();dn();vS0();yq1();sn();sn();dn();kq1();WR6={origin:(Y)=>{if(Y.includes("localhost")||Y.includes("127.0.0.1"))return Y;return Y},credentials:!0,allowMethods:["GET","POST","PUT","DELETE","OPTIONS"],allowHeaders:["Content-Type","Authorization","mcp-protocol-version"]}});function tn(Y){return Buffer.from(String(Y),"utf8").toString("base64")}function en(Y){if(!Y)return null;try{let Q=Buffer.from(Y,"base64").toString("utf8"),X=Number.parseInt(Q,10);return Number.isNaN(X)||X<0?null:X}catch{return null}}function NX(Y){if(!Y?.length)return[];return Array.from(new Set(Y.map((Q)=>Q.trim()).filter((Q)=>Q.length>0).map((Q)=>Q.toLowerCase())))}function bD(Y){if(!Y)return[];return NX(Y.split(","))}function Yi(Y,Q){if(!Y)return Q;try{return JSON.parse(Y)}catch{return Q}}function Qi(Y){return Y?.["mcp.mesh"]??{}}function Xi(Y){return Y.length?Y.join(","):null}function ZR6(Y,Q){if(!Q?.length)return;let X=Y;for(let J of Q){if(X===null||X===void 0)return;if(typeof X!=="object")return;X=X[J]}return X}function KR6(Y,Q,X){if(!Q)return!1;if(Q==="eq")return Y===X;if(Q==="contains"||Q==="like"){let J=String(Y??"").toLowerCase(),G=String(X??"").toLowerCase();return J.includes(G)}if(Q==="in"){if(!Array.isArray(X))return!1;return X.includes(Y)}if(Q==="gt")return Number(Y)>Number(X);if(Q==="gte")return Number(Y)>=Number(X);if(Q==="lt")return Number(Y)<Number(X);if(Q==="lte")return Number(Y)<=Number(X);return!1}function iS(Y,Q){if(!Q)return!0;if(Array.isArray(Q.conditions)&&Q.conditions.length){if(Q.operator==="and")return Q.conditions.every((X)=>iS(Y,X));if(Q.operator==="or")return Q.conditions.some((X)=>iS(Y,X));if(Q.operator==="not")return!Q.conditions.some((X)=>iS(Y,X))}return KR6(ZR6(Y,Q.field),Q.operator,Q.value)}class aS{db;constructor(Y){this.db=Y}async create(Y){let Q=new Date().toISOString(),X=Y._meta??{},J=Qi(X),G=NX(J.tags),K=NX(J.categories),W={id:Y.id,organization_id:Y.organization_id,title:Y.title,description:Y.description??null,server_json:JSON.stringify(Y.server),meta_json:JSON.stringify(X),tags:Xi(G),categories:Xi(K),is_public:Y.is_public?1:0,is_unlisted:Y.is_unlisted?1:0,created_at:Q,updated_at:Q,created_by:Y.created_by??null};await this.db.insertInto("private_registry_item").values(W).execute();let Z=await this.findById(Y.organization_id,Y.id);if(!Z)throw Error(`Failed to create registry item "${Y.id}"`);return Z}async findById(Y,Q){let X=await this.db.selectFrom("private_registry_item").selectAll().where("organization_id","=",Y).where("id","=",Q).executeTakeFirst();return X?this.deserialize(X):null}async findByIdOrName(Y,Q){let X=await this.findById(Y,Q);if(X)return X;let J=await this.db.selectFrom("private_registry_item").selectAll().where("organization_id","=",Y).where("title","=",Q).executeTakeFirst();return J?this.deserialize(J):null}async update(Y,Q,X){let J=await this.findById(Y,Q);if(!J)throw Error(`Registry item not found: ${Q}`);let G=X._meta??J._meta??{},K=Qi(G),W=NX(K.tags),Z=NX(K.categories),H={updated_at:new Date().toISOString()};if(X.title!==void 0)H.title=X.title;if(X.description!==void 0)H.description=X.description;if(X.server!==void 0)H.server_json=JSON.stringify(X.server);if(X._meta!==void 0)H.meta_json=JSON.stringify(X._meta);if(X._meta!==void 0)H.tags=Xi(W),H.categories=Xi(Z);if(X.is_public!==void 0)H.is_public=X.is_public?1:0;if(X.is_unlisted!==void 0)H.is_unlisted=X.is_unlisted?1:0;await this.db.updateTable("private_registry_item").set(H).where("organization_id","=",Y).where("id","=",Q).execute();let $=await this.findById(Y,Q);if(!$)throw Error(`Registry item not found after update: ${Q}`);return $}async delete(Y,Q){let X=await this.findById(Y,Q);if(!X)return null;return await this.db.deleteFrom("private_registry_item").where("organization_id","=",Y).where("id","=",Q).execute(),X}async list(Y,Q={}){let X=this.db.selectFrom("private_registry_item").selectAll().where("organization_id","=",Y).orderBy("created_at","desc");if(!Q.includeUnlisted)X=X.where("is_unlisted","=",0);let G=(await X.execute()).map((z)=>this.deserialize(z)),K=NX(Q.tags),W=NX(Q.categories),Z=G.filter((z)=>{let D=Qi(z._meta),N=NX(D.tags),w=NX(D.categories),E=K.length===0||K.every((P)=>N.includes(P)),T=W.length===0||W.every((P)=>w.includes(P)),C=iS(z,Q.where);return E&&T&&C}),$=en(Q.cursor)??Q.offset??0,F=Q.limit??24,V=Z.slice($,$+F),q=$+F<Z.length,U=q?tn($+F):void 0;return{items:V,totalCount:Z.length,hasMore:q,nextCursor:U}}async listPublic(Y,Q={}){let J=(await this.db.selectFrom("private_registry_item").selectAll().where("organization_id","=",Y).where("is_public","=",1).where("is_unlisted","=",0).orderBy("created_at","desc").execute()).map((U)=>this.deserialize(U)),G=NX(Q.tags),K=NX(Q.categories),W=J.filter((U)=>{let z=Qi(U._meta),D=NX(z.tags),N=NX(z.categories),w=G.length===0||G.every((C)=>D.includes(C)),E=K.length===0||K.every((C)=>N.includes(C)),T=iS(U,Q.where);return w&&E&&T}),H=en(Q.cursor)??Q.offset??0,$=Q.limit??24,F=W.slice(H,H+$),V=H+$<W.length,q=V?tn(H+$):void 0;return{items:F,totalCount:W.length,hasMore:V,nextCursor:q}}async getFilters(Y,Q){let X=this.db.selectFrom("private_registry_item").select(["tags","categories"]).where("organization_id","=",Y);if(Q?.publicOnly)X=X.where("is_public","=",1);if(!Q?.includeUnlisted)X=X.where("is_unlisted","=",0);let J=await X.execute(),G=new Map,K=new Map;for(let Z of J){for(let H of bD(Z.tags))G.set(H,(G.get(H)??0)+1);for(let H of bD(Z.categories))K.set(H,(K.get(H)??0)+1)}let W=(Z)=>Array.from(Z.entries()).map(([H,$])=>({value:H,count:$})).sort((H,$)=>H.value.localeCompare($.value));return{tags:W(G),categories:W(K)}}async search(Y,Q={},X){let J=this.db.selectFrom("private_registry_item").select(["id","title","description","meta_json","server_json","tags","categories","is_public","is_unlisted"]).where("organization_id","=",Y).orderBy("created_at","desc");if(X?.publicOnly)J=J.where("is_public","=",1);if(!X?.includeUnlisted)J=J.where("is_unlisted","=",0);let G=await J.execute(),K=Q.query?.trim().toLowerCase(),W=NX(Q.tags),Z=NX(Q.categories),H=G.filter((N)=>{if(K){let w=Yi(N.server_json,{}),T=Yi(N.meta_json,{})?.["mcp.mesh"]?.short_description??"";if(![N.id,N.title,N.description??"",w.name??"",w.description??"",T].join(" ").toLowerCase().includes(K))return!1}if(W.length>0){let w=NX(bD(N.tags));if(!W.every((E)=>w.includes(E)))return!1}if(Z.length>0){let w=NX(bD(N.categories));if(!Z.every((E)=>w.includes(E)))return!1}return!0}),F=en(Q.cursor)??0,V=Q.limit??20,q=H.slice(F,F+V),U=F+V<H.length,z=U?tn(F+V):void 0;return{items:q.map((N)=>({id:N.id,title:N.title,tags:bD(N.tags),categories:bD(N.categories),is_public:N.is_public===1,is_unlisted:N.is_unlisted===1})),totalCount:H.length,hasMore:U,nextCursor:z}}deserialize(Y){let Q=Yi(Y.server_json,{}),X=Yi(Y.meta_json,{});return{id:Y.id,name:typeof Q.name==="string"?Q.name:void 0,title:Y.title,description:Y.description,_meta:X,server:Q,is_public:Y.is_public===1,is_unlisted:Y.is_unlisted===1,created_at:Y.created_at,updated_at:Y.updated_at,...Y.created_by?{created_by:Y.created_by}:{}}}}var mq1=()=>{};var Ji,HR6,Gi,mZ,lq1,$R6,aq,wA,NG,hD,dq1,Vk0,pq1,qk0,cq1,Bk0,nq1,Uk0,AA,FR6,rS,VR6,Wi,iq1,zk0,Dk0,aq1,Ok0,Lk0,Nk0,Mk0,wk0,Ak0,Pk0,Ek0,qR6,rq1,Tk0,Ck0,oq1,Rk0;var cY=j(()=>{LG();a1();Ji=B.object({name:B.string(),title:B.string().optional(),description:B.string().optional(),version:B.string().optional(),websiteUrl:B.string().optional(),icons:B.array(B.object({src:B.string()})).optional(),remotes:B.array(B.object({type:B.string().optional(),url:B.string().optional(),name:B.string().optional(),title:B.string().optional(),description:B.string().optional()})).optional(),packages:B.array(B.object({identifier:B.string(),version:B.string().optional()})).optional(),repository:B.object({url:B.string().optional(),source:B.string().optional(),subfolder:B.string().optional()}).optional()}),HR6=B.object({name:B.string(),description:B.string().nullable().optional()}),Gi=B.object({"mcp.mesh":B.object({verified:B.boolean().optional(),tags:B.array(B.string()).optional(),categories:B.array(B.string()).optional(),friendly_name:B.string().nullable().optional(),short_description:B.string().max(160).nullable().optional(),owner:B.string().nullable().optional(),readme:B.string().max(50000).nullable().optional(),readme_url:B.string().url().nullable().optional(),has_remote:B.boolean().optional(),has_oauth:B.boolean().optional(),tools:B.array(HR6).optional()}).optional()}).catchall(B.unknown()),mZ=B.object({id:B.string(),name:B.string().optional(),title:B.string(),description:B.string().nullable().optional(),_meta:Gi.optional(),server:Ji,is_public:B.boolean().optional(),created_at:B.string(),updated_at:B.string(),created_by:B.string().optional()}),lq1=B.object({id:B.string(),title:B.string(),description:B.string().nullable().optional(),_meta:Gi.optional(),server:Ji,is_public:B.boolean().optional()}),$R6=B.object({title:B.string().optional(),description:B.string().nullable().optional(),_meta:Gi.optional(),server:Ji.optional(),is_public:B.boolean().optional()}),aq=uZ.extend({tags:B.array(B.string()).optional().describe("Filter by tags (AND semantics)"),categories:B.array(B.string()).optional().describe("Filter by categories (AND semantics)"),cursor:B.string().optional().describe("Pagination cursor")}).describe("List registry items with optional filtering and pagination."),wA=B.object({items:B.array(mZ),totalCount:B.number(),hasMore:B.boolean().optional(),nextCursor:B.string().optional()}),NG=B.object({id:B.string().optional().describe("Registry item ID"),name:B.string().optional().describe("Registry item name (alias for id)")}).refine((Y)=>Y.id||Y.name,{message:"At least one of 'id' or 'name' is required"}).describe("Get a registry item by ID or name."),hD=B.object({item:mZ.nullable()}),dq1=B.object({data:lq1}),Vk0=B.object({item:mZ}),pq1=B.object({items:B.array(lq1).min(1)}),qk0=B.object({created:B.number(),errors:B.array(B.object({id:B.string(),error:B.string()}))}),cq1=B.object({id:B.string(),data:$R6}),Bk0=B.object({item:mZ}),nq1=B.object({id:B.string()}),Uk0=B.object({item:mZ}),AA=B.object({tags:B.array(B.object({value:B.string(),count:B.number()})),categories:B.array(B.object({value:B.string(),count:B.number()}))}),FR6=B.enum(["description","short_description","tags","categories","readme"]),rS=B.object({query:B.string().optional().describe("Free-text search across id, title, description, server name"),tags:B.array(B.string()).optional().describe("Filter by tags (AND)"),categories:B.array(B.string()).optional().describe("Filter by categories (AND)"),limit:B.number().int().min(1).max(100).optional().describe("Max results (default 20)"),cursor:B.string().optional().describe("Pagination cursor")}).describe("Lightweight search returning minimal fields (id, title, tags, categories, is_public)."),VR6=B.object({id:B.string(),title:B.string(),tags:B.array(B.string()),categories:B.array(B.string()),is_public:B.boolean()}),Wi=B.object({items:B.array(VR6),totalCount:B.number(),hasMore:B.boolean().optional(),nextCursor:B.string().optional()}),iq1=B.object({type:FR6.describe("Which content to generate"),llmConnectionId:B.string().describe("Connection ID of a language model"),modelId:B.string().describe("Model ID to use"),context:B.object({name:B.string().optional(),provider:B.string().optional(),url:B.string().optional(),owner:B.string().optional(),repositoryUrl:B.string().optional(),description:B.string().optional(),shortDescription:B.string().optional(),tags:B.array(B.string()).optional(),categories:B.array(B.string()).optional(),availableTags:B.array(B.string()).optional(),availableCategories:B.array(B.string()).optional(),tools:B.array(B.object({name:B.string(),description:B.string().nullable().optional()})).optional()})}),zk0=B.object({result:B.string().optional(),items:B.array(B.string()).optional()}),Dk0=B.enum(["pending","approved","rejected"]),aq1=B.object({id:B.string(),organization_id:B.string(),requested_id:B.string().nullable().optional(),status:Dk0,title:B.string(),description:B.string().nullable().optional(),_meta:Gi.optional(),server:Ji,requester_name:B.string().nullable().optional(),requester_email:B.string().nullable().optional(),reviewer_notes:B.string().nullable().optional(),created_at:B.string(),updated_at:B.string()}),Ok0=B.object({status:Dk0.optional(),limit:B.number().int().min(1).max(200).optional(),offset:B.number().int().min(0).optional(),sortBy:B.enum(["created_at","title"]).optional(),sortDirection:B.enum(["asc","desc"]).optional()}),Lk0=B.object({items:B.array(aq1),totalCount:B.number()}),Nk0=B.object({id:B.string(),status:B.enum(["approved","rejected"]),reviewerNotes:B.string().nullable().optional()}),Mk0=B.object({item:aq1}),wk0=B.object({pending:B.number()}),Ak0=B.object({id:B.string()}),Pk0=B.object({item:aq1.nullable()}),Ek0=B.object({data:lq1,requester:B.object({name:B.string().optional(),email:B.string().email().optional()}).optional()}),qR6=B.object({id:B.string(),name:B.string(),prefix:B.string(),createdAt:B.string()}),rq1=B.object({name:B.string().min(1).max(64).describe("A descriptive name for this key")}),Tk0=B.object({id:B.string(),name:B.string(),prefix:B.string(),key:B.string().describe("The full API key \u2014 shown only once!"),createdAt:B.string()}),Ck0=B.object({items:B.array(qR6)}),oq1=B.object({keyId:B.string()}),Rk0=B.object({success:B.boolean(),keyId:B.string()})});function BR6(Y,Q){let X=n$({id:"COLLECTION_REGISTRY_APP_LIST",description:"List public registry items",inputSchema:aq,outputSchema:wA,execute:async({context:Z})=>{return await Y.listPublic(Q,{limit:Z.limit,offset:Z.offset,cursor:Z.cursor,tags:Z.tags,categories:Z.categories,where:Z.where})}}),J=n$({id:"COLLECTION_REGISTRY_APP_GET",description:"Get a public registry item by ID or name",inputSchema:NG,outputSchema:hD,execute:async({context:Z})=>{let H=Z.id??Z.name;if(!H)return{item:null};let $=await Y.findByIdOrName(Q,H);if($&&$.is_public)return{item:$};return{item:null}}}),G=n$({id:"COLLECTION_REGISTRY_APP_VERSIONS",description:"Get available versions of a public registry item",inputSchema:NG,outputSchema:B.object({versions:B.array(hD.shape.item)}),execute:async({context:Z})=>{let H=Z.id??Z.name;if(!H)return{versions:[]};let $=await Y.findByIdOrName(Q,H);if($&&$.is_public)return{versions:[$]};return{versions:[]}}}),K=n$({id:"COLLECTION_REGISTRY_APP_SEARCH",description:"Search public registry items returning minimal data (id, title, tags, categories, is_public). Use this instead of LIST when you need to find items efficiently without loading full details.",inputSchema:rS,outputSchema:Wi,execute:async({context:Z})=>{return await Y.search(Q,Z,{publicOnly:!0})}}),W=n$({id:"COLLECTION_REGISTRY_APP_FILTERS",description:"Get available tags and categories for public registry items",inputSchema:B.object({}),outputSchema:AA,execute:async()=>{return await Y.getFilters(Q,{publicOnly:!0})}});return[X,K,J,G,W]}function sq1(Y,Q){let X=Q.db,J=new aS(X);Y.all("/org/:orgSlug/registry/*",async(G)=>{let K=G.req.param("orgSlug");console.log(`[Public Registry MCP] Request for org slug: ${K}, path: ${G.req.path}`);let W=await X.selectFrom("organization").select(["id","slug","name"]).where("slug","=",K).executeTakeFirst();if(console.log("[Public Registry MCP] Found org:",W),!W)return console.log(`[Public Registry MCP] Organization not found: ${K}`),G.json({error:"Organization not found"},404);let Z=BR6(J,W.id),H=$k0({tools:()=>Z}),$=new URL(G.req.url),F=G.req.path.replace(`/org/${K}/registry`,""),V=new URL(F||"/",$.origin);$.searchParams.forEach((z,D)=>{V.searchParams.set(D,z)}),console.log(`[Public Registry MCP] Rewriting ${$.pathname} to ${V.pathname}`);let q=new Request(V.toString(),{method:G.req.method,headers:G.req.raw.headers,body:G.req.method!=="GET"&&G.req.method!=="HEAD"?G.req.raw.body:void 0}),U={organizationId:W.id,db:X,MESH_REQUEST_CONTEXT:{},MESH_APP_DEPLOYMENT_ID:"public-registry",IS_LOCAL:!1};return await H.fetch(q,U,G)})}var Ik0=j(()=>{Fk0();sn();a1();mq1();cY()});import{randomUUID as UR6}from"crypto";function jk0(Y,Q){if(!Y)return Q;try{return JSON.parse(Y)}catch{return Q}}class oS{db;constructor(Y){this.db=Y}async createOrUpdate(Y){let Q=new Date().toISOString(),X=await this.findPendingByRequestedId(Y.organization_id,Y.requested_id);if(X){let W={title:Y.title,description:Y.description??null,server_json:JSON.stringify(Y.server),meta_json:Y._meta?JSON.stringify(Y._meta):null,requester_name:Y.requester_name??null,requester_email:Y.requester_email??null,updated_at:Q};await this.db.updateTable("private_registry_publish_request").set(W).where("organization_id","=",Y.organization_id).where("id","=",X.id).execute();let Z=await this.findById(Y.organization_id,X.id);if(!Z)throw Error("Failed to update publish request");return Z}let J=UR6(),G={id:J,organization_id:Y.organization_id,requested_id:Y.requested_id,status:"pending",title:Y.title,description:Y.description??null,server_json:JSON.stringify(Y.server),meta_json:Y._meta?JSON.stringify(Y._meta):null,requester_name:Y.requester_name??null,requester_email:Y.requester_email??null,reviewer_notes:null,created_at:Q,updated_at:Q};await this.db.insertInto("private_registry_publish_request").values(G).execute();let K=await this.findById(Y.organization_id,J);if(!K)throw Error("Failed to create publish request");return K}async findPendingByRequestedId(Y,Q){let X=await this.db.selectFrom("private_registry_publish_request").selectAll().where("organization_id","=",Y).where("requested_id","=",Q).where("status","=","pending").executeTakeFirst();return X?this.deserialize(X):null}async findById(Y,Q){let X=await this.db.selectFrom("private_registry_publish_request").selectAll().where("organization_id","=",Y).where("id","=",Q).executeTakeFirst();return X?this.deserialize(X):null}async list(Y,Q={}){let X=this.db.selectFrom("private_registry_publish_request").selectAll().where("organization_id","=",Y),J=this.db.selectFrom("private_registry_publish_request").select(($)=>$.fn.countAll().as("count")).where("organization_id","=",Y);if(Q.status)X=X.where("status","=",Q.status),J=J.where("status","=",Q.status);let G=await J.executeTakeFirst(),K=Number(G?.count??0),W=Q.sortBy??"created_at",Z=Q.sortDirection??"desc";if(W==="title")X=X.orderBy("title",Z);else X=X.orderBy("created_at",Z);return{items:(await X.limit(Q.limit??24).offset(Q.offset??0).execute()).map(($)=>this.deserialize($)),totalCount:K}}async updateStatus(Y,Q,X,J){let G={status:X,updated_at:new Date().toISOString(),reviewer_notes:J??null};await this.db.updateTable("private_registry_publish_request").set(G).where("organization_id","=",Y).where("id","=",Q).execute();let K=await this.findById(Y,Q);if(!K)throw Error(`Publish request not found: ${Q}`);return K}async countPending(Y){let Q=await this.db.selectFrom("private_registry_publish_request").select((X)=>X.fn.countAll().as("count")).where("organization_id","=",Y).where("status","=","pending").executeTakeFirst();return Number(Q?.count??0)}async delete(Y,Q){let X=await this.findById(Y,Q);if(!X)return null;return await this.db.deleteFrom("private_registry_publish_request").where("organization_id","=",Y).where("id","=",Q).execute(),X}deserialize(Y){return{id:Y.id,organization_id:Y.organization_id,requested_id:Y.requested_id??null,status:Y.status,title:Y.title,description:Y.description,_meta:jk0(Y.meta_json,{}),server:jk0(Y.server_json,{name:""}),requester_name:Y.requester_name,requester_email:Y.requester_email,reviewer_notes:Y.reviewer_notes,created_at:Y.created_at,updated_at:Y.updated_at}}}var tq1=()=>{};import{randomUUID as zR6}from"crypto";async function Sk0(Y){let X=new TextEncoder().encode(Y),J=await crypto.subtle.digest("SHA-256",X);return Array.from(new Uint8Array(J)).map((K)=>K.toString(16).padStart(2,"0")).join("")}function DR6(){let Y=new Uint8Array(32);return crypto.getRandomValues(Y),`prk_${Array.from(Y).map((X)=>X.toString(16).padStart(2,"0")).join("")}`}class sS{db;constructor(Y){this.db=Y}async generate(Y,Q){let X=zR6(),J=DR6(),G=await Sk0(J),K=J.slice(0,12),W=new Date().toISOString();return await this.db.insertInto("private_registry_publish_api_key").values({id:X,organization_id:Y,name:Q,key_hash:G,prefix:K,created_at:W}).execute(),{entity:{id:X,organization_id:Y,name:Q,prefix:K,created_at:W},key:J}}async list(Y){return await this.db.selectFrom("private_registry_publish_api_key").select(["id","organization_id","name","prefix","created_at"]).where("organization_id","=",Y).orderBy("created_at","desc").execute()}async revoke(Y,Q){return(await this.db.deleteFrom("private_registry_publish_api_key").where("organization_id","=",Y).where("id","=",Q).execute()).length>0}async validate(Y,Q){let X=await Sk0(Q),J=await this.db.selectFrom("private_registry_publish_api_key").select(["id"]).where("organization_id","=",Y).where("key_hash","=",X).executeTakeFirst();return Boolean(J)}async hasKeys(Y){let Q=await this.db.selectFrom("private_registry_publish_api_key").select((X)=>X.fn.countAll().as("count")).where("organization_id","=",Y).executeTakeFirst();return Number(Q?.count??0)>0}}var eq1=()=>{};import{sql as OR6}from"kysely";import{randomUUID as kk0}from"crypto";async function NR6(Y){let Q=new Date().toISOString(),X=kk0(),J=IY.SELF(Y.organizationId),G="registry.publish_request.created",K={requestId:Y.request.id,requestedId:Y.request.requested_id,title:Y.request.title,status:Y.request.status,createdAt:Y.request.created_at,requester:{name:Y.request.requester_name,email:Y.request.requester_email}};await Y.db.insertInto("events").values({id:X,organization_id:Y.organizationId,type:"registry.publish_request.created",source:J,specversion:"1.0",subject:Y.request.id,time:Q,datacontenttype:"application/json",dataschema:null,data:JSON.stringify(K),cron:null,status:"pending",attempts:0,last_error:null,next_retry_at:null,created_at:Q,updated_at:Q}).execute();let W=await Y.db.selectFrom("event_subscriptions").select(["id"]).where("organization_id","=",Y.organizationId).where("enabled","=",1).where("event_type","=","registry.publish_request.created").where((Z)=>Z.or([Z("publisher","is",null),Z("publisher","=",J)])).execute();if(W.length>0)await Y.db.insertInto("event_deliveries").values(W.map((Z)=>({id:kk0(),event_id:X,subscription_id:Z.id,status:"pending",attempts:0,last_error:null,delivered_at:null,next_retry_at:null,created_at:Q}))).execute();try{await OR6`SELECT pg_notify('mesh_events', ${X})`.execute(Y.db)}catch{}}async function MR6(Y,Q){let J=(await Y.selectFrom("organization").select(["id"]).where("id","=",Q).execute())[0];if(J?.id)return J.id;return(await Y.selectFrom("organization").select(["id"]).where("slug","=",Q).execute())[0]?.id??null}async function wR6(Y,Q){let X=await Y.selectFrom("project_plugin_configs").innerJoin("projects","projects.id","project_plugin_configs.project_id").select(["project_plugin_configs.settings as settings"]).where("projects.organization_id","=",Q).where("project_plugin_configs.plugin_id","=",gH).execute();for(let J of X){let G=J.settings,K=typeof G==="string"?(()=>{try{return JSON.parse(G)}catch{return{}}})():G??{};if(K.acceptPublishRequests===!0){let W=K.rateLimitWindow==="minute"?"minute":"hour",Z=K.rateLimitMax,H=typeof Z==="number"&&Number.isFinite(Z)&&Z>=1?Math.floor(Z):_k0;return{acceptPublishRequests:!0,requireApiToken:K.requireApiToken===!0,rateLimitEnabled:K.rateLimitEnabled===void 0?vk0:K.rateLimitEnabled===!0,rateLimitWindow:W,rateLimitMax:H}}}return{acceptPublishRequests:!1,requireApiToken:!1,rateLimitEnabled:vk0,rateLimitWindow:LR6,rateLimitMax:_k0}}async function AR6(Y,Q,X){let J=X==="minute"?60000:3600000,G=new Date(Date.now()-J).toISOString(),K=await Y.selectFrom("private_registry_publish_request").select((W)=>W.fn.countAll().as("count")).where("organization_id","=",Q).where("created_at",">=",G).executeTakeFirst();return Number(K?.count??0)}async function PR6(Y,Q,X,J){let G=await Y.selectFrom("private_registry_item").select(["id","title"]).where("organization_id","=",Q).where((K)=>K.or([K("id","=",X),K("title","=",J)])).executeTakeFirst();return G?{id:String(G.id),title:String(G.title)}:null}function YB1(Y,Q){let{db:X,db:J}=Q,G=new oS(J),K=new sS(J);Y.post("/org/:orgRef/registry/publish-request",async(W)=>{let Z=W.req.param("orgRef"),H=await MR6(X,Z);if(!H)return W.json({error:"Organization not found"},404);let $=await wR6(X,H);if(!$.acceptPublishRequests)return W.json({error:"Publish requests are not enabled for this registry."},403);if($.requireApiToken){let z=W.req.header("Authorization"),D=z?.startsWith("Bearer ")?z.slice(7).trim():null;if(!D)return W.json({error:"API key required. Use Authorization: Bearer <key>"},401);if(!await K.validate(H,D))return W.json({error:"Invalid API key"},401)}if($.rateLimitEnabled){if(await AR6(J,H,$.rateLimitWindow)>=$.rateLimitMax)return W.json({error:"Too many publish requests. Please try again later.",retryAfterSeconds:$.rateLimitWindow==="minute"?60:3600},429)}let F;try{F=await W.req.json()}catch{return W.json({error:"Invalid JSON body"},400)}let V=Ek0.safeParse(F);if(!V.success)return W.json({error:"Invalid publish request payload",details:B.treeifyError(V.error)},400);let q=await PR6(J,H,V.data.data.id,V.data.data.title);if(q)return W.json({error:"A registry item with the same id or title already exists. Please use a different name/id.",conflict:q},409);let U=await G.createOrUpdate({organization_id:H,requested_id:V.data.data.id,title:V.data.data.title,description:V.data.data.description??null,_meta:V.data.data._meta,server:V.data.data.server,requester_name:V.data.requester?.name??null,requester_email:V.data.requester?.email??null});try{await NR6({db:X,organizationId:H,request:U})}catch(z){console.warn("[private-registry] failed to emit publish-request event:",z)}return W.json({id:U.id,requested_id:U.requested_id,status:U.status},201)})}var vk0=!0,LR6="hour",_k0=100;var yk0=j(()=>{$Y();a1();vD();tq1();eq1();cY()});var fk0=j(()=>{Ik0();yk0()});function bk0(Y){QB1=Y}function k4(){if(!QB1)throw Error(`Plugin storage not initialized. Make sure the "${gH}" plugin is enabled.`);return QB1}async function ER6(Y){if(!Y.organization)throw Error("Organization context required");return await Y.access.check(),Y}function e4(Y,Q){return async(X,J)=>{let G=await ER6(J);return Q(X,G)}}function TR6(Y){if(!Y)return{};if(typeof Y==="string")try{return JSON.parse(Y)}catch{return{}}if(typeof Y==="object")return Y;return{}}async function tS(Y,Q){let J=(await Y.db.selectFrom("project_plugin_configs").innerJoin("projects","projects.id","project_plugin_configs.project_id").select(["project_plugin_configs.settings as settings"]).where("projects.organization_id","=",Q).where("project_plugin_configs.plugin_id","=",gH).execute()).map((K)=>TR6(K.settings)),G={acceptPublishRequests:J.some((K)=>K.acceptPublishRequests===!0),requireApiToken:J.some((K)=>K.requireApiToken===!0),storePrivateOnly:J.some((K)=>K.storePrivateOnly===!0)};if(G.acceptPublishRequests||G.requireApiToken||G.storePrivateOnly)return G;for(let K of J)if(Object.keys(K).length>0)return K;return{}}var QB1=null;var G9=j(()=>{vD()});import{randomUUID as hk0}from"crypto";function xk0(Y,Q){if(!Y)return Q;try{return JSON.parse(Y)}catch{return Q}}class XB1{db;constructor(Y){this.db=Y}async create(Y){let Q=hk0(),X=new Date().toISOString(),J={id:Q,organization_id:Y.organization_id,status:Y.status??"pending",config_snapshot:Y.config_snapshot?JSON.stringify(Y.config_snapshot):null,total_items:Y.total_items??0,tested_items:0,passed_items:0,failed_items:0,skipped_items:0,current_item_id:null,started_at:Y.started_at??null,finished_at:null,created_at:X};await this.db.insertInto("private_registry_monitor_run").values(J).execute();let G=await this.findById(Y.organization_id,Q);if(!G)throw Error(`Failed to create monitor run ${Q}`);return G}async findById(Y,Q){let X=await this.db.selectFrom("private_registry_monitor_run").selectAll().where("organization_id","=",Y).where("id","=",Q).executeTakeFirst();return X?this.deserializeRun(X):null}async list(Y,Q={}){let X=this.db.selectFrom("private_registry_monitor_run").selectAll().where("organization_id","=",Y),J=this.db.selectFrom("private_registry_monitor_run").select((Z)=>Z.fn.countAll().as("count")).where("organization_id","=",Y);if(Q.status)X=X.where("status","=",Q.status),J=J.where("status","=",Q.status);let G=await J.executeTakeFirst(),K=Number(G?.count??0);return{items:(await X.orderBy("created_at","desc").limit(Q.limit??24).offset(Q.offset??0).execute()).map((Z)=>this.deserializeRun(Z)),totalCount:K}}async update(Y,Q,X){let J={};if(X.total_items!==void 0)J.total_items=X.total_items;if(X.status!==void 0)J.status=X.status;if(X.tested_items!==void 0)J.tested_items=X.tested_items;if(X.passed_items!==void 0)J.passed_items=X.passed_items;if(X.failed_items!==void 0)J.failed_items=X.failed_items;if(X.skipped_items!==void 0)J.skipped_items=X.skipped_items;if(X.current_item_id!==void 0)J.current_item_id=X.current_item_id;if(X.started_at!==void 0)J.started_at=X.started_at;if(X.finished_at!==void 0)J.finished_at=X.finished_at;await this.db.updateTable("private_registry_monitor_run").set(J).where("organization_id","=",Y).where("id","=",Q).execute();let G=await this.findById(Y,Q);if(!G)throw Error(`Monitor run not found: ${Q}`);return G}deserializeRun(Y){return{id:Y.id,organization_id:Y.organization_id,status:Y.status,config_snapshot:xk0(Y.config_snapshot,null),total_items:Number(Y.total_items??0),tested_items:Number(Y.tested_items??0),passed_items:Number(Y.passed_items??0),failed_items:Number(Y.failed_items??0),skipped_items:Number(Y.skipped_items??0),current_item_id:Y.current_item_id,started_at:Y.started_at,finished_at:Y.finished_at,created_at:Y.created_at}}}class JB1{db;constructor(Y){this.db=Y}async create(Y){let Q=hk0(),X=new Date().toISOString(),J={id:Q,run_id:Y.run_id,organization_id:Y.organization_id,item_id:Y.item_id,item_title:Y.item_title,status:Y.status,error_message:Y.error_message??null,connection_ok:Y.connection_ok?1:0,tools_listed:Y.tools_listed?1:0,tool_results:Y.tool_results?JSON.stringify(Y.tool_results):null,agent_summary:Y.agent_summary??null,duration_ms:Y.duration_ms??0,action_taken:Y.action_taken??"none",tested_at:X};await this.db.insertInto("private_registry_monitor_result").values(J).execute();let G=await this.findById(Y.organization_id,Q);if(!G)throw Error("Failed to create test result");return G}async findById(Y,Q){let X=await this.db.selectFrom("private_registry_monitor_result").selectAll().where("organization_id","=",Y).where("id","=",Q).executeTakeFirst();return X?this.deserialize(X):null}async listByRun(Y,Q,X={}){let J=this.db.selectFrom("private_registry_monitor_result").selectAll().where("organization_id","=",Y).where("run_id","=",Q),G=this.db.selectFrom("private_registry_monitor_result").select((H)=>H.fn.countAll().as("count")).where("organization_id","=",Y).where("run_id","=",Q);if(X.status)J=J.where("status","=",X.status),G=G.where("status","=",X.status);let K=await G.executeTakeFirst(),W=Number(K?.count??0);return{items:(await J.orderBy("tested_at","desc").limit(X.limit??50).offset(X.offset??0).execute()).map((H)=>this.deserialize(H)),totalCount:W}}async update(Y,Q,X){let J={};if(X.status!==void 0)J.status=X.status;if(X.error_message!==void 0)J.error_message=X.error_message;if(X.connection_ok!==void 0)J.connection_ok=X.connection_ok?1:0;if(X.tools_listed!==void 0)J.tools_listed=X.tools_listed?1:0;if(X.tool_results!==void 0)J.tool_results=JSON.stringify(X.tool_results);if(X.agent_summary!==void 0)J.agent_summary=X.agent_summary;if(X.duration_ms!==void 0)J.duration_ms=X.duration_ms;if(X.action_taken!==void 0)J.action_taken=X.action_taken;await this.db.updateTable("private_registry_monitor_result").set(J).where("organization_id","=",Y).where("id","=",Q).execute();let G=await this.findById(Y,Q);if(!G)throw Error(`Monitor result not found: ${Q}`);return G}deserialize(Y){return{id:Y.id,run_id:Y.run_id,organization_id:Y.organization_id,item_id:Y.item_id,item_title:Y.item_title,status:Y.status,error_message:Y.error_message,connection_ok:Y.connection_ok===1,tools_listed:Y.tools_listed===1,tool_results:xk0(Y.tool_results,[]),agent_summary:Y.agent_summary,duration_ms:Number(Y.duration_ms??0),action_taken:Y.action_taken,tested_at:Y.tested_at}}}var gk0=()=>{};import{randomUUID as CR6}from"crypto";class GB1{db;constructor(Y){this.db=Y}async findByItemId(Y,Q){let X=await this.db.selectFrom("private_registry_monitor_connection").selectAll().where("organization_id","=",Y).where("item_id","=",Q).executeTakeFirst();return X?this.deserialize(X):null}async list(Y){return(await this.db.selectFrom("private_registry_monitor_connection").selectAll().where("organization_id","=",Y).orderBy("updated_at","desc").execute()).map((X)=>this.deserialize(X))}async findByConnectionId(Y,Q){let X=await this.db.selectFrom("private_registry_monitor_connection").selectAll().where("organization_id","=",Y).where("connection_id","=",Q).executeTakeFirst();return X?this.deserialize(X):null}async upsert(Y){let Q=await this.findByItemId(Y.organization_id,Y.item_id),X=new Date().toISOString();if(!Q){let G={id:CR6(),organization_id:Y.organization_id,item_id:Y.item_id,connection_id:Y.connection_id,auth_status:Y.auth_status??"none",created_at:X,updated_at:X};await this.db.insertInto("private_registry_monitor_connection").values(G).execute()}else{let G={connection_id:Y.connection_id,auth_status:Y.auth_status??Q.auth_status,updated_at:X};await this.db.updateTable("private_registry_monitor_connection").set(G).where("organization_id","=",Y.organization_id).where("item_id","=",Y.item_id).execute()}let J=await this.findByItemId(Y.organization_id,Y.item_id);if(!J)throw Error("Failed to save monitor connection");return J}async updateAuthStatus(Y,Q,X){return await this.db.updateTable("private_registry_monitor_connection").set({auth_status:X,updated_at:new Date().toISOString()}).where("organization_id","=",Y).where("item_id","=",Q).execute(),this.findByItemId(Y,Q)}deserialize(Y){return{id:Y.id,organization_id:Y.organization_id,item_id:Y.item_id,connection_id:Y.connection_id,auth_status:Y.auth_status,created_at:Y.created_at,updated_at:Y.updated_at}}}var uk0=()=>{};function mk0(Y){let Q=Y.db,X={items:new aS(Q),publishRequests:new oS(Q),publishApiKeys:new sS(Q),monitorRuns:new XB1(Q),monitorResults:new JB1(Q),monitorConnections:new GB1(Q)};return bk0(X),X}var lk0=j(()=>{G9();mq1();tq1();eq1();gk0();uk0()});var dk0;var pk0=j(()=>{cY();G9();dk0={name:"REGISTRY_ITEM_BULK_CREATE",description:"Create many private registry items at once",inputSchema:pq1,outputSchema:qk0,handler:e4(pq1,async(Y,Q)=>{let X=k4(),J=[],G=0;for(let K of Y.items)try{await X.items.create({...K,organization_id:Q.organization.id,created_by:Q.auth.user?.id??null}),G+=1}catch(W){J.push({id:K.id,error:W instanceof Error?W.message:"Unknown error"})}return{created:G,errors:J}})}});function RR6(Y){return Array.from(new Set(Y.map((Q)=>Q.trim().toLowerCase()).filter((Q)=>Q.length>0)))}function IR6(Y){let X=Y.structuredContent?.content?.filter((J)=>J.type==="text"&&typeof J.text==="string").map((J)=>J.text??"").join(`
|
|
1216
1216
|
`).trim();if(X)return X;return Y.content?.filter((J)=>J.type==="text"&&typeof J.text==="string").map((J)=>J.text??"").join(`
|
|
1217
1217
|
`).trim()??""}function jR6(Y){let Q=Y.context,X=JSON.stringify({name:Q.name??"",provider:Q.provider??"",url:Q.url??"",owner:Q.owner??"",repositoryUrl:Q.repositoryUrl??"",description:Q.description??"",shortDescription:Q.shortDescription??"",tags:Q.tags??[],categories:Q.categories??[],availableTags:Q.availableTags??[],availableCategories:Q.availableCategories??[],tools:Q.tools??[]},null,2);if(Y.type==="description")return{system:"You are an assistant that writes concise MCP registry descriptions.",user:`Use the context below to write a clear English description for this MCP server.
|
|
1218
1218
|
Rules:
|
|
@@ -1258,7 +1258,7 @@ Error message: ${dZ(X)}`,cause:X});this[p_0]=!0,this.value=Q,this.context=J}stat
|
|
|
1258
1258
|
]))`;continue}}if(J.s&&G[$]==="."){K+=Z?`${G[$]}\r
|
|
1259
1259
|
`:`[${G[$]}\r
|
|
1260
1260
|
]`;continue}if(K+=G[$],G[$]==="\\")W=!0;else if(Z&&G[$]==="]")Z=!1;else if(!Z&&G[$]==="[")Z=!0}try{new RegExp(K)}catch($){return console.warn(`Could not convert regex pattern at ${Q.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),Y.source}return K}function ly0(Y,Q){var X,J,G,K,W,Z;let H={type:"object",additionalProperties:(X=w9(Y.valueType._def,{...Q,currentPath:[...Q.currentPath,"additionalProperties"]}))!=null?X:Q.allowedAdditionalProperties};if(((J=Y.keyType)==null?void 0:J._def.typeName)===e1.ZodString&&((G=Y.keyType._def.checks)==null?void 0:G.length)){let{type:$,...F}=my0(Y.keyType._def,Q);return{...H,propertyNames:F}}else if(((K=Y.keyType)==null?void 0:K._def.typeName)===e1.ZodEnum)return{...H,propertyNames:{enum:Y.keyType._def.values}};else if(((W=Y.keyType)==null?void 0:W._def.typeName)===e1.ZodBranded&&Y.keyType._def.type._def.typeName===e1.ZodString&&((Z=Y.keyType._def.type._def.checks)==null?void 0:Z.length)){let{type:$,...F}=gy0(Y.keyType._def,Q);return{...H,propertyNames:F}}return H}function OS6(Y,Q){if(Q.mapStrategy==="record")return ly0(Y,Q);let X=w9(Y.keyType._def,{...Q,currentPath:[...Q.currentPath,"items","items","0"]})||F7(),J=w9(Y.valueType._def,{...Q,currentPath:[...Q.currentPath,"items","items","1"]})||F7();return{type:"array",maxItems:125,items:{type:"array",items:[X,J],minItems:2,maxItems:2}}}function LS6(Y){let Q=Y.values,J=Object.keys(Y.values).filter((K)=>{return typeof Q[Q[K]]!=="number"}).map((K)=>Q[K]),G=Array.from(new Set(J.map((K)=>typeof K)));return{type:G.length===1?G[0]==="string"?"string":"number":["string","number"],enum:J}}function NS6(){return{not:F7()}}function MS6(){return{type:"null"}}function wS6(Y,Q){let X=Y.options instanceof Map?Array.from(Y.options.values()):Y.options;if(X.every((J)=>(J._def.typeName in aB1)&&(!J._def.checks||!J._def.checks.length))){let J=X.reduce((G,K)=>{let W=aB1[K._def.typeName];return W&&!G.includes(W)?[...G,W]:G},[]);return{type:J.length>1?J:J[0]}}else if(X.every((J)=>J._def.typeName==="ZodLiteral"&&!J.description)){let J=X.reduce((G,K)=>{let W=typeof K._def.value;switch(W){case"string":case"number":case"boolean":return[...G,W];case"bigint":return[...G,"integer"];case"object":if(K._def.value===null)return[...G,"null"];case"symbol":case"undefined":case"function":default:return G}},[]);if(J.length===X.length){let G=J.filter((K,W,Z)=>Z.indexOf(K)===W);return{type:G.length>1?G:G[0],enum:X.reduce((K,W)=>{return K.includes(W._def.value)?K:[...K,W._def.value]},[])}}}else if(X.every((J)=>J._def.typeName==="ZodEnum"))return{type:"string",enum:X.reduce((J,G)=>[...J,...G._def.values.filter((K)=>!J.includes(K))],[])};return AS6(Y,Q)}function PS6(Y,Q){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(Y.innerType._def.typeName)&&(!Y.innerType._def.checks||!Y.innerType._def.checks.length))return{type:[aB1[Y.innerType._def.typeName],"null"]};let X=w9(Y.innerType._def,{...Q,currentPath:[...Q.currentPath,"anyOf","0"]});return X&&{anyOf:[X,{type:"null"}]}}function ES6(Y){let Q={type:"number"};if(!Y.checks)return Q;for(let X of Y.checks)switch(X.kind){case"int":Q.type="integer";break;case"min":if(X.inclusive)Q.minimum=X.value;else Q.exclusiveMinimum=X.value;break;case"max":if(X.inclusive)Q.maximum=X.value;else Q.exclusiveMaximum=X.value;break;case"multipleOf":Q.multipleOf=X.value;break}return Q}function TS6(Y,Q){let X={type:"object",properties:{}},J=[],G=Y.shape();for(let W in G){let Z=G[W];if(Z===void 0||Z._def===void 0)continue;let H=RS6(Z),$=w9(Z._def,{...Q,currentPath:[...Q.currentPath,"properties",W],propertyPath:[...Q.currentPath,"properties",W]});if($===void 0)continue;if(X.properties[W]=$,!H)J.push(W)}if(J.length)X.required=J;let K=CS6(Y,Q);if(K!==void 0)X.additionalProperties=K;return X}function CS6(Y,Q){if(Y.catchall._def.typeName!=="ZodNever")return w9(Y.catchall._def,{...Q,currentPath:[...Q.currentPath,"additionalProperties"]});switch(Y.unknownKeys){case"passthrough":return Q.allowedAdditionalProperties;case"strict":return Q.rejectedAdditionalProperties;case"strip":return Q.removeAdditionalStrategy==="strict"?Q.allowedAdditionalProperties:Q.rejectedAdditionalProperties}}function RS6(Y){try{return Y.isOptional()}catch(Q){return!0}}function SS6(Y,Q){return w9(Y.type._def,Q)}function kS6(Y,Q){let J={type:"array",uniqueItems:!0,items:w9(Y.valueType._def,{...Q,currentPath:[...Q.currentPath,"items"]})};if(Y.minSize)J.minItems=Y.minSize.value;if(Y.maxSize)J.maxItems=Y.maxSize.value;return J}function vS6(Y,Q){if(Y.rest)return{type:"array",minItems:Y.items.length,items:Y.items.map((X,J)=>w9(X._def,{...Q,currentPath:[...Q.currentPath,"items",`${J}`]})).reduce((X,J)=>J===void 0?X:[...X,J],[]),additionalItems:w9(Y.rest._def,{...Q,currentPath:[...Q.currentPath,"additionalItems"]})};else return{type:"array",minItems:Y.items.length,maxItems:Y.items.length,items:Y.items.map((X,J)=>w9(X._def,{...Q,currentPath:[...Q.currentPath,"items",`${J}`]})).reduce((X,J)=>J===void 0?X:[...X,J],[])}}function _S6(){return{not:F7()}}function yS6(){return F7()}function w9(Y,Q,X=!1){var J;let G=Q.seen.get(Y);if(Q.override){let H=(J=Q.override)==null?void 0:J.call(Q,Y,Q,G,X);if(H!==XS6)return H}if(G&&!X){let H=xS6(G,Q);if(H!==void 0)return H}let K={def:Y,path:Q.currentPath,jsonSchema:void 0};Q.seen.set(Y,K);let W=bS6(Y,Y.typeName,Q),Z=typeof W==="function"?w9(W(),Q):W;if(Z)gS6(Y,Q,Z);if(Q.postProcess){let H=Q.postProcess(Z,Y,Q);return K.jsonSchema=Z,H}return K.jsonSchema=Z,Z}function FQ(Y){let Q;return()=>{if(Q==null)Q=Y();return Q}}function IW(Y,{validate:Q}={}){return{[rB1]:!0,_type:void 0,get jsonSchema(){if(typeof Y==="function")Y=Y();return Y},validate:Q}}function lS6(Y){return typeof Y==="object"&&Y!==null&&rB1 in Y&&Y[rB1]===!0&&"jsonSchema"in Y&&"validate"in Y}function cH(Y){return Y==null?IW({properties:{},additionalProperties:!1}):lS6(Y)?Y:("~standard"in Y)?Y["~standard"].vendor==="zod"?l8(Y):dS6(Y):Y()}function dS6(Y){return IW(()=>eB1(Y["~standard"].jsonSchema.input({target:"draft-07"})),{validate:async(Q)=>{let X=await Y["~standard"].validate(Q);return"value"in X?{success:!0,value:X.value}:{success:!1,error:new wG({value:Q,cause:X.issues})}}})}function pS6(Y,Q){var X;let J=(X=Q==null?void 0:Q.useReferences)!=null?X:!1;return IW(()=>mS6(Y,{$refStrategy:J?"root":"none"}),{validate:async(G)=>{let K=await Y.safeParseAsync(G);return K.success?{success:!0,value:K.data}:{success:!1,error:K.error}}})}function cS6(Y,Q){var X;let J=(X=Q==null?void 0:Q.useReferences)!=null?X:!1;return IW(()=>eB1(OK(Y,{target:"draft-7",io:"input",reused:J?"ref":"inline"})),{validate:async(G)=>{let K=await LL(Y,G);return K.success?{success:!0,value:K.data}:{success:!1,error:K.error}}})}function nS6(Y){return"_zod"in Y}function l8(Y,Q){if(nS6(Y))return cS6(Y,Q);else return pS6(Y,Q)}async function nH({value:Y,schema:Q,context:X}){let J=await C5({value:Y,schema:Q,context:X});if(!J.success)throw wG.wrap({value:Y,cause:J.error,context:X});return J.value}async function C5({value:Y,schema:Q,context:X}){let J=cH(Q);try{if(J.validate==null)return{success:!0,value:Y,rawValue:Y};let G=await J.validate(Y);if(G.success)return{success:!0,value:G.value,rawValue:Y};return{success:!1,error:wG.wrap({value:Y,cause:G.error,context:X}),rawValue:Y}}catch(G){return{success:!1,error:wG.wrap({value:Y,cause:G,context:X}),rawValue:Y}}}async function iS6({text:Y,schema:Q}){try{let X=xy0(Y);if(Q==null)return X;return nH({value:X,schema:Q})}catch(X){if(Kk.isInstance(X)||wG.isInstance(X))throw X;throw new Kk({text:Y,cause:X})}}async function AG({text:Y,schema:Q}){try{let X=xy0(Y);if(Q==null)return{success:!0,value:X,rawValue:X};return await C5({value:X,schema:Q})}catch(X){return{success:!1,error:Kk.isInstance(X)?X:new Kk({text:Y,cause:X}),rawValue:void 0}}}function fi({stream:Y,schema:Q}){return Y.pipeThrough(new TextDecoderStream).pipeThrough(new DU).pipeThrough(new TransformStream({async transform({data:X},J){if(X==="[DONE]")return;J.enqueue(await AG({text:X,schema:Q}))}}))}function yJ(Y){return Y}function bi({id:Y,inputSchema:Q,outputSchema:X,supportsDeferredResults:J}){return({execute:G,needsApproval:K,toModelOutput:W,onInputStart:Z,onInputDelta:H,onInputAvailable:$,...F})=>yJ({type:"provider",id:Y,args:F,inputSchema:Q,outputSchema:X,execute:G,needsApproval:K,toModelOutput:W,onInputStart:Z,onInputDelta:H,onInputAvailable:$,supportsDeferredResults:J})}async function TQ(Y){if(typeof Y==="function")Y=Y();return Promise.resolve(Y)}function py0(Y){return Y==null?void 0:Y.replace(/\/$/,"")}function oS6(Y){return Y!=null&&typeof Y[Symbol.asyncIterator]==="function"}async function*cy0({execute:Y,input:Q,options:X}){let J=Y(Q,X);if(oS6(J)){let G;for await(let K of J)G=K,yield{type:"preliminary",output:K};yield{type:"final",output:G}}else yield{type:"final",output:await J}}var cD=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((Y,Q)=>{if(this.status.type==="resolved")Y(this.status.value);else if(this.status.type==="rejected")Q(this.status.error);this._resolve=Y,this._reject=Q}),this._promise}resolve(Y){var Q;if(this.status={type:"resolved",value:Y},this._promise)(Q=this._resolve)==null||Q.call(this,Y)}reject(Y){var Q;if(this.status={type:"rejected",error:Y},this._promise)(Q=this._reject)==null||Q.call(this,Y)}isResolved(){return this.status.type==="resolved"}isRejected(){return this.status.type==="rejected"}isPending(){return this.status.type==="pending"}},cj6,nj6,ky0="AI_DownloadError",vy0,ij6,Ty0,Cy0,fA,oB1=2147483648,pH=({prefix:Y,size:Q=16,alphabet:X="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:J="-"}={})=>{let G=()=>{let K=X.length,W=Array(Q);for(let Z=0;Z<Q;Z++)W[Z]=X[Math.random()*K|0];return W.join("")};if(Y==null)return G;if(X.includes(J))throw new Xy0({argument:"separator",message:`The separator "${J}" must not be part of the alphabet "${X}".`});return()=>`${Y}${J}${G()}`},sB1,aj6,rj6,fy0="4.0.15",tj6=()=>globalThis.fetch,tB1=async({url:Y,headers:Q={},successfulResponseHandler:X,failedResponseHandler:J,abortSignal:G,fetch:K=tj6()})=>{try{let W=await K(Y,{method:"GET",headers:s$(Q,`ai-sdk/provider-utils/${fy0}`,yi()),signal:G}),Z=Hk(W);if(!W.ok){let H;try{H=await J({response:W,url:Y,requestBodyValues:{}})}catch($){if(a$($)||d9.isInstance($))throw $;throw new d9({message:"Failed to process error response",cause:$,statusCode:W.status,url:Y,responseHeaders:Z,requestBodyValues:{}})}throw H.value}try{return await X({response:W,url:Y,requestBodyValues:{}})}catch(H){if(H instanceof Error){if(a$(H)||d9.isInstance(H))throw H}throw new d9({message:"Failed to process successful response",cause:H,statusCode:W.status,url:Y,responseHeaders:Z,requestBodyValues:{}})}}catch(W){throw yy0({error:W,url:Y,requestBodyValues:{}})}},ej6,YS6,XS6,Iy0,JS6=(Y)=>typeof Y==="string"?{...Iy0,name:Y}:{...Iy0,...Y},KS6=(Y,Q)=>{return w9(Y.innerType._def,Q)},HS6=(Y)=>{let Q={type:"integer",format:"unix-time"};for(let X of Y.checks)switch(X.kind){case"min":Q.minimum=X.value;break;case"max":Q.maximum=X.value;break}return Q},qS6=(Y)=>{if("type"in Y&&Y.type==="string")return!1;return"allOf"in Y},nB1=void 0,pZ,zS6,aB1,AS6=(Y,Q)=>{let X=(Y.options instanceof Map?Array.from(Y.options.values()):Y.options).map((J,G)=>w9(J._def,{...Q,currentPath:[...Q.currentPath,"anyOf",`${G}`]})).filter((J)=>!!J&&(!Q.strictUnions||typeof J==="object"&&Object.keys(J).length>0));return X.length?{anyOf:X}:void 0},IS6=(Y,Q)=>{var X;if(Q.currentPath.toString()===((X=Q.propertyPath)==null?void 0:X.toString()))return w9(Y.innerType._def,Q);let J=w9(Y.innerType._def,{...Q,currentPath:[...Q.currentPath,"anyOf","1"]});return J?{anyOf:[{not:F7()},J]}:F7()},jS6=(Y,Q)=>{if(Q.pipeStrategy==="input")return w9(Y.in._def,Q);else if(Q.pipeStrategy==="output")return w9(Y.out._def,Q);let X=w9(Y.in._def,{...Q,currentPath:[...Q.currentPath,"allOf","0"]}),J=w9(Y.out._def,{...Q,currentPath:[...Q.currentPath,"allOf",X?"1":"0"]});return{allOf:[X,J].filter((G)=>G!==void 0)}},fS6=(Y,Q)=>{return w9(Y.innerType._def,Q)},bS6=(Y,Q,X)=>{switch(Q){case e1.ZodString:return my0(Y,X);case e1.ZodNumber:return ES6(Y);case e1.ZodObject:return TS6(Y,X);case e1.ZodBigInt:return WS6(Y);case e1.ZodBoolean:return ZS6();case e1.ZodDate:return uy0(Y,X);case e1.ZodUndefined:return _S6();case e1.ZodNull:return MS6();case e1.ZodArray:return GS6(Y,X);case e1.ZodUnion:case e1.ZodDiscriminatedUnion:return wS6(Y,X);case e1.ZodIntersection:return BS6(Y,X);case e1.ZodTuple:return vS6(Y,X);case e1.ZodRecord:return ly0(Y,X);case e1.ZodLiteral:return US6(Y);case e1.ZodEnum:return VS6(Y);case e1.ZodNativeEnum:return LS6(Y);case e1.ZodNullable:return PS6(Y,X);case e1.ZodOptional:return IS6(Y,X);case e1.ZodMap:return OS6(Y,X);case e1.ZodSet:return kS6(Y,X);case e1.ZodLazy:return()=>Y.getter()._def;case e1.ZodPromise:return SS6(Y,X);case e1.ZodNaN:case e1.ZodNever:return NS6();case e1.ZodEffects:return FS6(Y,X);case e1.ZodAny:return F7();case e1.ZodUnknown:return yS6();case e1.ZodDefault:return $S6(Y,X);case e1.ZodBranded:return gy0(Y,X);case e1.ZodReadonly:return fS6(Y,X);case e1.ZodCatch:return KS6(Y,X);case e1.ZodPipeline:return jS6(Y,X);case e1.ZodFunction:case e1.ZodVoid:case e1.ZodSymbol:return;default:return((J)=>{return})(Q)}},hS6=(Y,Q)=>{let X=0;for(;X<Y.length&&X<Q.length;X++)if(Y[X]!==Q[X])break;return[(Y.length-X).toString(),...Q.slice(X)].join("/")},xS6=(Y,Q)=>{switch(Q.$refStrategy){case"root":return{$ref:Y.path.join("/")};case"relative":return{$ref:hS6(Q.currentPath,Y.path)};case"none":case"seen":{if(Y.path.length<Q.currentPath.length&&Y.path.every((X,J)=>Q.currentPath[J]===X))return console.warn(`Recursive reference detected at ${Q.currentPath.join("/")}! Defaulting to any`),F7();return Q.$refStrategy==="seen"?F7():void 0}}},gS6=(Y,Q,X)=>{if(Y.description)X.description=Y.description;return X},uS6=(Y)=>{let Q=JS6(Y),X=Q.name!==void 0?[...Q.basePath,Q.definitionPath,Q.name]:Q.basePath;return{...Q,currentPath:X,propertyPath:void 0,seen:new Map(Object.entries(Q.definitions).map(([J,G])=>[G._def,{def:G._def,path:[...Q.basePath,Q.definitionPath,J],jsonSchema:void 0}]))}},mS6=(Y,Q)=>{var X;let J=uS6(Q),G=typeof Q==="object"&&Q.definitions?Object.entries(Q.definitions).reduce(($,[F,V])=>{var q;return{...$,[F]:(q=w9(V._def,{...J,currentPath:[...J.basePath,J.definitionPath,F]},!0))!=null?q:F7()}},{}):void 0,K=typeof Q==="string"?Q:(Q==null?void 0:Q.nameStrategy)==="title"?void 0:Q==null?void 0:Q.name,W=(X=w9(Y._def,K===void 0?J:{...J,currentPath:[...J.basePath,J.definitionPath,K]},!1))!=null?X:F7(),Z=typeof Q==="object"&&Q.name!==void 0&&Q.nameStrategy==="title"?Q.name:void 0;if(Z!==void 0)W.title=Z;let H=K===void 0?G?{...W,[J.definitionPath]:G}:W:{$ref:[...J.$refStrategy==="relative"?[]:J.basePath,J.definitionPath,K].join("/"),[J.definitionPath]:{...G,[K]:W}};return H.$schema="http://json-schema.org/draft-07/schema#",H},rB1,aS6=()=>globalThis.fetch,t$=async({url:Y,headers:Q,body:X,failedResponseHandler:J,successfulResponseHandler:G,abortSignal:K,fetch:W})=>rS6({url:Y,headers:{"Content-Type":"application/json",...Q},body:{content:JSON.stringify(X),values:X},failedResponseHandler:J,successfulResponseHandler:G,abortSignal:K,fetch:W}),rS6=async({url:Y,headers:Q={},body:X,successfulResponseHandler:J,failedResponseHandler:G,abortSignal:K,fetch:W=aS6()})=>{try{let Z=await W(Y,{method:"POST",headers:s$(Q,`ai-sdk/provider-utils/${fy0}`,yi()),body:X.content,signal:K}),H=Hk(Z);if(!Z.ok){let $;try{$=await G({response:Z,url:Y,requestBodyValues:X.values})}catch(F){if(a$(F)||d9.isInstance(F))throw F;throw new d9({message:"Failed to process error response",cause:F,statusCode:Z.status,url:Y,responseHeaders:H,requestBodyValues:X.values})}throw $.value}try{return await J({response:Z,url:Y,requestBodyValues:X.values})}catch($){if($ instanceof Error){if(a$($)||d9.isInstance($))throw $}throw new d9({message:"Failed to process successful response",cause:$,statusCode:Z.status,url:Y,responseHeaders:H,requestBodyValues:X.values})}}catch(Z){throw yy0({error:Z,url:Y,requestBodyValues:X.values})}},jW=({errorSchema:Y,errorToMessage:Q,isRetryable:X})=>async({response:J,url:G,requestBodyValues:K})=>{let W=await J.text(),Z=Hk(J);if(W.trim()==="")return{responseHeaders:Z,value:new d9({message:J.statusText,url:G,requestBodyValues:K,statusCode:J.status,responseHeaders:Z,responseBody:W,isRetryable:X==null?void 0:X(J)})};try{let H=await iS6({text:W,schema:Y});return{responseHeaders:Z,value:new d9({message:Q(H),url:G,requestBodyValues:K,statusCode:J.status,responseHeaders:Z,responseBody:W,data:H,isRetryable:X==null?void 0:X(J,H)})}}catch(H){return{responseHeaders:Z,value:new d9({message:J.statusText,url:G,requestBodyValues:K,statusCode:J.status,responseHeaders:Z,responseBody:W,isRetryable:X==null?void 0:X(J)})}}},dy0=(Y)=>async({response:Q})=>{let X=Hk(Q);if(Q.body==null)throw new e_0({});return{responseHeaders:X,value:fi({stream:Q.body,schema:Y})}},e$=(Y)=>async({response:Q,url:X,requestBodyValues:J})=>{let G=await Q.text(),K=await AG({text:G,schema:Y}),W=Hk(Q);if(!K.success)throw new d9({message:"Invalid JSON response",cause:K.error,statusCode:Q.status,responseHeaders:W,responseBody:G,url:X,requestBodyValues:J});return{responseHeaders:W,value:K.value,rawValue:K.rawValue}};var Q8=j(()=>{k8();k8();k8();k8();k8();k8();k8();r6();fF();fF();fF();Vx();k8();k8();({btoa:cj6,atob:nj6}=globalThis);vy0=`vercel.ai.error.${ky0}`,ij6=Symbol.for(vy0),fA=class extends(Cy0=W4,Ty0=ij6,Cy0){constructor({url:Y,statusCode:Q,statusText:X,cause:J,message:G=J==null?`Failed to download ${Y}: ${Q} ${X}`:`Failed to download ${Y}: ${J}`}){super({name:ky0,message:G,cause:J});this[Ty0]=!0,this.url=Y,this.statusCode=Q,this.statusText=X}static isInstance(Y){return W4.hasMarker(Y,vy0)}};sB1=pH();aj6=["fetch failed","failed to fetch"],rj6=["ConnectionRefused","ConnectionClosed","FailedToOpenSocket","ECONNRESET","ECONNREFUSED","ETIMEDOUT","EPIPE"];ej6=/"__proto__"\s*:/,YS6=/"constructor"\s*:/;XS6=Symbol("Let zodToJsonSchema decide on which parser to use"),Iy0={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"};pZ={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(nB1===void 0)nB1=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return nB1},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-_]*$/};zS6=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");aB1={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};rB1=Symbol.for("vercel.ai.schema")});var QU1=R((L89,ay0)=>{var{defineProperty:YU1,getOwnPropertyDescriptor:sS6,getOwnPropertyNames:tS6}=Object,eS6=Object.prototype.hasOwnProperty,Yk6=(Y,Q)=>{for(var X in Q)YU1(Y,X,{get:Q[X],enumerable:!0})},Qk6=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of tS6(Q))if(!eS6.call(Y,G)&&G!==X)YU1(Y,G,{get:()=>Q[G],enumerable:!(J=sS6(Q,G))||J.enumerable})}return Y},Xk6=(Y)=>Qk6(YU1({},"__esModule",{value:!0}),Y),ny0={};Yk6(ny0,{SYMBOL_FOR_REQ_CONTEXT:()=>iy0,getContext:()=>Jk6});ay0.exports=Xk6(ny0);var iy0=Symbol.for("@vercel/request-context");function Jk6(){return globalThis[iy0]?.get?.()??{}}});var Fk=R((N89,sy0)=>{var{defineProperty:XU1,getOwnPropertyDescriptor:Gk6,getOwnPropertyNames:Wk6}=Object,Zk6=Object.prototype.hasOwnProperty,Kk6=(Y,Q)=>{for(var X in Q)XU1(Y,X,{get:Q[X],enumerable:!0})},Hk6=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of Wk6(Q))if(!Zk6.call(Y,G)&&G!==X)XU1(Y,G,{get:()=>Q[G],enumerable:!(J=Gk6(Q,G))||J.enumerable})}return Y},$k6=(Y)=>Hk6(XU1({},"__esModule",{value:!0}),Y),ry0={};Kk6(ry0,{VercelOidcTokenError:()=>oy0});sy0.exports=$k6(ry0);class oy0 extends Error{constructor(Y,Q){super(Y);this.name="VercelOidcTokenError",this.cause=Q}toString(){if(this.cause)return`${this.name}: ${this.message}: ${this.cause}`;return`${this.name}: ${this.message}`}}});var Qf0=R((M89,Yf0)=>{var{create:Fk6,defineProperty:hi,getOwnPropertyDescriptor:Vk6,getOwnPropertyNames:qk6,getPrototypeOf:Bk6}=Object,Uk6=Object.prototype.hasOwnProperty,zk6=(Y,Q)=>{for(var X in Q)hi(Y,X,{get:Q[X],enumerable:!0})},ty0=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of qk6(Q))if(!Uk6.call(Y,G)&&G!==X)hi(Y,G,{get:()=>Q[G],enumerable:!(J=Vk6(Q,G))||J.enumerable})}return Y},GU1=(Y,Q,X)=>(X=Y!=null?Fk6(Bk6(Y)):{},ty0(Q||!Y||!Y.__esModule?hi(X,"default",{value:Y,enumerable:!0}):X,Y)),Dk6=(Y)=>ty0(hi({},"__esModule",{value:!0}),Y),ey0={};zk6(ey0,{findRootDir:()=>Nk6,getUserDataDir:()=>Mk6});Yf0.exports=Dk6(ey0);var Vk=GU1(A1("path")),Ok6=GU1(A1("fs")),JU1=GU1(A1("os")),Lk6=Fk();function Nk6(){try{let Y=process.cwd();while(Y!==Vk.default.dirname(Y)){let Q=Vk.default.join(Y,".vercel");if(Ok6.default.existsSync(Q))return Y;Y=Vk.default.dirname(Y)}}catch(Y){throw new Lk6.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}function Mk6(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(JU1.default.platform()){case"darwin":return Vk.default.join(JU1.default.homedir(),"Library/Application Support");case"linux":return Vk.default.join(JU1.default.homedir(),".local/share");case"win32":if(process.env.LOCALAPPDATA)return process.env.LOCALAPPDATA;return null;default:return null}}});var Hf0=R((w89,Kf0)=>{var{create:wk6,defineProperty:xi,getOwnPropertyDescriptor:Ak6,getOwnPropertyNames:Pk6,getPrototypeOf:Ek6}=Object,Tk6=Object.prototype.hasOwnProperty,Ck6=(Y,Q)=>{for(var X in Q)xi(Y,X,{get:Q[X],enumerable:!0})},Xf0=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of Pk6(Q))if(!Tk6.call(Y,G)&&G!==X)xi(Y,G,{get:()=>Q[G],enumerable:!(J=Ak6(Q,G))||J.enumerable})}return Y},Jf0=(Y,Q,X)=>(X=Y!=null?wk6(Ek6(Y)):{},Xf0(Q||!Y||!Y.__esModule?xi(X,"default",{value:Y,enumerable:!0}):X,Y)),Rk6=(Y)=>Xf0(xi({},"__esModule",{value:!0}),Y),Gf0={};Ck6(Gf0,{isValidAccessToken:()=>kk6,readAuthConfig:()=>jk6,writeAuthConfig:()=>Sk6});Kf0.exports=Rk6(Gf0);var qk=Jf0(A1("fs")),Wf0=Jf0(A1("path")),Ik6=gi();function Zf0(){let Y=(0,Ik6.getVercelDataDir)();if(!Y)throw Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return Wf0.join(Y,"auth.json")}function jk6(){try{let Y=Zf0();if(!qk.existsSync(Y))return null;let Q=qk.readFileSync(Y,"utf8");if(!Q)return null;return JSON.parse(Q)}catch(Y){return null}}function Sk6(Y){let Q=Zf0(),X=Wf0.dirname(Q);if(!qk.existsSync(X))qk.mkdirSync(X,{mode:504,recursive:!0});qk.writeFileSync(Q,JSON.stringify(Y,null,2),{mode:384})}function kk6(Y){if(!Y.token)return!1;if(typeof Y.expiresAt!=="number")return!0;let Q=Math.floor(Date.now()/1000);return Y.expiresAt>=Q}});var qf0=R((A89,Vf0)=>{var{defineProperty:KU1,getOwnPropertyDescriptor:vk6,getOwnPropertyNames:_k6}=Object,yk6=Object.prototype.hasOwnProperty,fk6=(Y,Q)=>{for(var X in Q)KU1(Y,X,{get:Q[X],enumerable:!0})},bk6=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of _k6(Q))if(!yk6.call(Y,G)&&G!==X)KU1(Y,G,{get:()=>Q[G],enumerable:!(J=vk6(Q,G))||J.enumerable})}return Y},hk6=(Y)=>bk6(KU1({},"__esModule",{value:!0}),Y),$f0={};fk6($f0,{processTokenResponse:()=>lk6,refreshTokenRequest:()=>mk6});Vf0.exports=hk6($f0);var WU1=A1("os"),xk6="https://vercel.com",gk6="cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",Ff0=`@vercel/oidc node-${process.version} ${(0,WU1.platform)()} (${(0,WU1.arch)()}) ${(0,WU1.hostname)()}`,ZU1=null;async function uk6(){if(ZU1)return ZU1;let Y=`${xk6}/.well-known/openid-configuration`,Q=await fetch(Y,{headers:{"user-agent":Ff0}});if(!Q.ok)throw Error("Failed to discover OAuth endpoints");let X=await Q.json();if(!X||typeof X.token_endpoint!=="string")throw Error("Invalid OAuth discovery response");let J=X.token_endpoint;return ZU1=J,J}async function mk6(Y){let Q=await uk6();return await fetch(Q,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":Ff0},body:new URLSearchParams({client_id:gk6,grant_type:"refresh_token",...Y})})}async function lk6(Y){let Q=await Y.json();if(!Y.ok){let X=typeof Q==="object"&&Q&&"error"in Q?String(Q.error):"Token refresh failed";return[Error(X)]}if(typeof Q!=="object"||Q===null)return[Error("Invalid token response")];if(typeof Q.access_token!=="string")return[Error("Missing access_token in response")];if(Q.token_type!=="Bearer")return[Error("Invalid token_type in response")];if(typeof Q.expires_in!=="number")return[Error("Missing expires_in in response")];return[null,Q]}});var gi=R((P89,Of0)=>{var{create:dk6,defineProperty:ui,getOwnPropertyDescriptor:pk6,getOwnPropertyNames:ck6,getPrototypeOf:nk6}=Object,ik6=Object.prototype.hasOwnProperty,ak6=(Y,Q)=>{for(var X in Q)ui(Y,X,{get:Q[X],enumerable:!0})},Uf0=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of ck6(Q))if(!ik6.call(Y,G)&&G!==X)ui(Y,G,{get:()=>Q[G],enumerable:!(J=pk6(Q,G))||J.enumerable})}return Y},zf0=(Y,Q,X)=>(X=Y!=null?dk6(nk6(Y)):{},Uf0(Q||!Y||!Y.__esModule?ui(X,"default",{value:Y,enumerable:!0}):X,Y)),rk6=(Y)=>Uf0(ui({},"__esModule",{value:!0}),Y),Df0={};ak6(Df0,{assertVercelOidcTokenResponse:()=>HU1,findProjectInfo:()=>ek6,getTokenPayload:()=>Xv6,getVercelCliToken:()=>sk6,getVercelDataDir:()=>ok6,getVercelOidcToken:()=>tk6,isExpired:()=>Jv6,loadToken:()=>Qv6,saveToken:()=>Yv6});Of0.exports=rk6(Df0);var Bk=zf0(A1("path")),nD=zf0(A1("fs")),xA=Fk(),mi=Qf0(),hA=Hf0(),Bf0=qf0();function ok6(){let Q=(0,mi.getUserDataDir)();if(!Q)return null;return Bk.join(Q,"com.vercel.cli")}async function sk6(){let Y=(0,hA.readAuthConfig)();if(!Y)return null;if((0,hA.isValidAccessToken)(Y))return Y.token||null;if(!Y.refreshToken)return(0,hA.writeAuthConfig)({}),null;try{let Q=await(0,Bf0.refreshTokenRequest)({refresh_token:Y.refreshToken}),[X,J]=await(0,Bf0.processTokenResponse)(Q);if(X||!J)return(0,hA.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,hA.writeAuthConfig)(G),G.token??null}catch(Q){return(0,hA.writeAuthConfig)({}),null}}async function tk6(Y,Q,X){let J=`https://api.vercel.com/v1/projects/${Q}/token?source=vercel-oidc-refresh${X?`&teamId=${X}`:""}`,G=await fetch(J,{method:"POST",headers:{Authorization:`Bearer ${Y}`}});if(!G.ok)throw new xA.VercelOidcTokenError(`Failed to refresh OIDC token: ${G.statusText}`);let K=await G.json();return HU1(K),K}function HU1(Y){if(!Y||typeof Y!=="object")throw TypeError("Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again");if(!("token"in Y)||typeof Y.token!=="string")throw TypeError("Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again")}function ek6(){let Y=(0,mi.findRootDir)();if(!Y)throw new xA.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let Q=Bk.join(Y,".vercel","project.json");if(!nD.existsSync(Q))throw new xA.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let X=JSON.parse(nD.readFileSync(Q,"utf8"));if(typeof X.projectId!=="string"&&typeof X.orgId!=="string")throw TypeError("Expected a string-valued projectId property. Try running `vc link` to re-link your project.");return{projectId:X.projectId,teamId:X.orgId}}function Yv6(Y,Q){let X=(0,mi.getUserDataDir)();if(!X)throw new xA.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let J=Bk.join(X,"com.vercel.token",`${Q}.json`),G=JSON.stringify(Y);nD.mkdirSync(Bk.dirname(J),{mode:504,recursive:!0}),nD.writeFileSync(J,G),nD.chmodSync(J,432);return}function Qv6(Y){let Q=(0,mi.getUserDataDir)();if(!Q)throw new xA.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let X=Bk.join(Q,"com.vercel.token",`${Y}.json`);if(!nD.existsSync(X))return null;let J=JSON.parse(nD.readFileSync(X,"utf8"));return HU1(J),J}function Xv6(Y){let Q=Y.split(".");if(Q.length!==3)throw new xA.VercelOidcTokenError("Invalid token. Please run `vc env pull` and try again");let X=Q[1].replace(/-/g,"+").replace(/_/g,"/"),J=X.padEnd(X.length+(4-X.length%4)%4,"=");return JSON.parse(Buffer.from(J,"base64").toString("utf8"))}function Jv6(Y){return Y.exp*1000<Date.now()}});var Mf0=R((E89,Nf0)=>{var{defineProperty:FU1,getOwnPropertyDescriptor:Gv6,getOwnPropertyNames:Wv6}=Object,Zv6=Object.prototype.hasOwnProperty,Kv6=(Y,Q)=>{for(var X in Q)FU1(Y,X,{get:Q[X],enumerable:!0})},Hv6=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of Wv6(Q))if(!Zv6.call(Y,G)&&G!==X)FU1(Y,G,{get:()=>Q[G],enumerable:!(J=Gv6(Q,G))||J.enumerable})}return Y},$v6=(Y)=>Hv6(FU1({},"__esModule",{value:!0}),Y),Lf0={};Kv6(Lf0,{refreshToken:()=>Fv6});Nf0.exports=$v6(Lf0);var $U1=Fk(),iD=gi();async function Fv6(){let{projectId:Y,teamId:Q}=(0,iD.findProjectInfo)(),X=(0,iD.loadToken)(Y);if(!X||(0,iD.isExpired)((0,iD.getTokenPayload)(X.token))){let J=await(0,iD.getVercelCliToken)();if(!J)throw new $U1.VercelOidcTokenError("Failed to refresh OIDC token: Log in to Vercel CLI and link your project with `vc link`");if(!Y)throw new $U1.VercelOidcTokenError("Failed to refresh OIDC token: Try re-linking your project with `vc link`");if(X=await(0,iD.getVercelOidcToken)(J,Y,Q),!X)throw new $U1.VercelOidcTokenError("Failed to refresh OIDC token");(0,iD.saveToken)(X,Y)}process.env.VERCEL_OIDC_TOKEN=X.token;return}});var Pf0=R((T89,Af0)=>{var{defineProperty:qU1,getOwnPropertyDescriptor:Vv6,getOwnPropertyNames:qv6}=Object,Bv6=Object.prototype.hasOwnProperty,Uv6=(Y,Q)=>{for(var X in Q)qU1(Y,X,{get:Q[X],enumerable:!0})},zv6=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of qv6(Q))if(!Bv6.call(Y,G)&&G!==X)qU1(Y,G,{get:()=>Q[G],enumerable:!(J=Vv6(Q,G))||J.enumerable})}return Y},Dv6=(Y)=>zv6(qU1({},"__esModule",{value:!0}),Y),wf0={};Uv6(wf0,{getVercelOidcToken:()=>Nv6,getVercelOidcTokenSync:()=>VU1});Af0.exports=Dv6(wf0);var Ov6=QU1(),Lv6=Fk();async function Nv6(){let Y="",Q;try{Y=VU1()}catch(X){Q=X}try{let[{getTokenPayload:X,isExpired:J},{refreshToken:G}]=await Promise.all([await Promise.resolve().then(() => S6(gi())),await Promise.resolve().then(() => S6(Mf0()))]);if(!Y||J(X(Y)))await G(),Y=VU1()}catch(X){let J=Q instanceof Error?Q.message:"";if(X instanceof Error)J=`${J}
|
|
1261
|
-
${X.message}`;if(J)throw new Lv6.VercelOidcTokenError(J);throw X}return Y}function VU1(){let Y=(0,Ov6.getContext)().headers?.["x-vercel-oidc-token"]??process.env.VERCEL_OIDC_TOKEN;if(!Y)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 Y}});var UU1=R((C89,Cf0)=>{var{defineProperty:BU1,getOwnPropertyDescriptor:Mv6,getOwnPropertyNames:wv6}=Object,Av6=Object.prototype.hasOwnProperty,Pv6=(Y,Q)=>{for(var X in Q)BU1(Y,X,{get:Q[X],enumerable:!0})},Ev6=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of wv6(Q))if(!Av6.call(Y,G)&&G!==X)BU1(Y,G,{get:()=>Q[G],enumerable:!(J=Mv6(Q,G))||J.enumerable})}return Y},Tv6=(Y)=>Ev6(BU1({},"__esModule",{value:!0}),Y),Tf0={};Pv6(Tf0,{getContext:()=>Cv6.getContext,getVercelOidcToken:()=>Ef0.getVercelOidcToken,getVercelOidcTokenSync:()=>Ef0.getVercelOidcTokenSync});Cf0.exports=Tv6(Tf0);var Ef0=Pf0(),Cv6=QU1()});async function af0({response:Y,statusCode:Q,defaultMessage:X="Gateway request failed",cause:J,authMethod:G}){var K;let W=await C5({value:Y,schema:gv6});if(!W.success){let V=typeof Y==="object"&&Y!==null&&"generationId"in Y?Y.generationId:void 0;return new xv6({message:`Invalid error response format: ${X}`,statusCode:Q,response:Y,validationError:W.error,cause:J,generationId:V})}let Z=W.value,H=Z.error.type,$=Z.error.message,F=(K=Z.generationId)!=null?K:void 0;switch(H){case"authentication_error":return li.createContextualError({apiKeyProvided:G==="api-key",oidcTokenProvided:G==="oidc",statusCode:Q,cause:J,generationId:F});case"invalid_request_error":return new Sv6({message:$,statusCode:Q,cause:J,generationId:F});case"rate_limit_exceeded":return new vv6({message:$,statusCode:Q,cause:J,generationId:F});case"model_not_found":{let V=await C5({value:Z.error.param,schema:yv6});return new fv6({message:$,statusCode:Q,modelId:V.success?V.value.modelId:void 0,cause:J,generationId:F})}case"internal_server_error":return new pf0({message:$,statusCode:Q,cause:J,generationId:F});default:return new pf0({message:$,statusCode:Q,cause:J,generationId:F})}}function ef0(Y){if(!(Y instanceof Error))return!1;let Q=Y.code;if(typeof Q==="string")return["UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"].includes(Q);return!1}async function YF(Y,Q){var X;if(R5.isInstance(Y))return Y;if(ef0(Y))return tf0.createTimeoutError({originalMessage:Y instanceof Error?Y.message:"Unknown error",cause:Y});if(d9.isInstance(Y)){if(Y.cause&&ef0(Y.cause))return tf0.createTimeoutError({originalMessage:Y.message,cause:Y});return await af0({response:mv6(Y),statusCode:(X=Y.statusCode)!=null?X:500,defaultMessage:"Gateway request failed",cause:Y,authMethod:Q})}return await af0({response:{},statusCode:500,defaultMessage:Y instanceof Error?`Gateway request failed: ${Y.message}`:"Unknown Gateway error",cause:Y,authMethod:Q})}function mv6(Y){if(Y.data!==void 0)return Y.data;if(Y.responseBody!=null)try{return JSON.parse(Y.responseBody)}catch(Q){return Y.responseBody}return{}}async function aD(Y){let Q=await C5({value:Y[$b0],schema:lv6});return Q.success?Q.value:void 0}function Qb0(Y){if(Y.type==="file"&&Y.data instanceof Uint8Array)return{...Y,data:o$(Y.data)};return Y}function Y_6(Y){if(Y.type==="file"&&Y.data instanceof Uint8Array)return{...Y,data:o$(Y.data)};return Y}async function U_6(){var Y;return(Y=Fb0.getContext().headers)==null?void 0:Y["x-vercel-id"]}function O_6(Y={}){var Q,X;let J=null,G=null,K=(Q=Y.metadataCacheRefreshMillis)!=null?Q:300000,W=0,Z=(X=py0(Y.baseURL))!=null?X:"https://ai-gateway.vercel.sh/v3/ai",H=async()=>{try{let D=await L_6(Y);return s$({Authorization:`Bearer ${D.token}`,"ai-gateway-protocol-version":D_6,[$b0]:D.authMethod,...Y.headers},`ai-sdk/gateway/${z_6}`)}catch(D){throw li.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:D})}},$=()=>{let D=$k({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),N=$k({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),w=$k({settingValue:void 0,environmentVariableName:"VERCEL_REGION"});return async()=>{let E=await U_6();return{...D&&{"ai-o11y-deployment-id":D},...N&&{"ai-o11y-environment":N},...w&&{"ai-o11y-region":w},...E&&{"ai-o11y-request-id":E}}}},F=(D)=>{return new cv6(D,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:$()})},V=async()=>{var D,N,w;let E=(w=(N=(D=Y._internal)==null?void 0:D.currentDate)==null?void 0:N.call(D).getTime())!=null?w:Date.now();if(!J||E-W>K)W=E,J=new Yb0({baseURL:Z,headers:H,fetch:Y.fetch}).getAvailableModels().then((T)=>{return G=T,T}).catch(async(T)=>{throw await YF(T,await aD(await H()))});return G?Promise.resolve(G):J},q=async()=>{return new Yb0({baseURL:Z,headers:H,fetch:Y.fetch}).getCredits().catch(async(D)=>{throw await YF(D,await aD(await H()))})},U=function(D){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return F(D)};U.specificationVersion="v3",U.getAvailableModels=V,U.getCredits=q,U.imageModel=(D)=>{return new av6(D,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:$()})},U.languageModel=F;let z=(D)=>{return new nv6(D,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:$()})};return U.embeddingModel=z,U.textEmbeddingModel=z,U.videoModel=(D)=>{return new ev6(D,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:$()})},U.chat=U.languageModel,U.embedding=U.embeddingModel,U.image=U.imageModel,U.video=U.videoModel,U.tools=B_6,U}async function L_6(Y){let Q=$k({settingValue:Y.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(Q)return{token:Q,authMethod:"api-key"};return{token:await Vb0.getVercelOidcToken(),authMethod:"oidc"}}var Fb0,Vb0,Rv6="vercel.ai.gateway.error",zU1,Rf0,If0,R5,Xb0="GatewayAuthenticationError",Iv6,jf0,Sf0,kf0,li,Jb0="GatewayInvalidRequestError",jv6,vf0,_f0,yf0,Sv6,Gb0="GatewayRateLimitError",kv6,ff0,bf0,hf0,vv6,Wb0="GatewayModelNotFoundError",_v6,xf0,yv6,gf0,uf0,fv6,Zb0="GatewayInternalServerError",bv6,mf0,lf0,df0,pf0,Kb0="GatewayResponseError",hv6,cf0,nf0,if0,xv6,gv6,Hb0="GatewayTimeoutError",uv6,rf0,of0,sf0,tf0,$b0="ai-gateway-auth-method",lv6,Yb0=class{constructor(Y){this.config=Y}async getAvailableModels(){try{let{value:Y}=await tB1({url:`${this.config.baseURL}/config`,headers:await TQ(this.config.headers()),successfulResponseHandler:e$(dv6),failedResponseHandler:jW({errorSchema:B.any(),errorToMessage:(Q)=>Q}),fetch:this.config.fetch});return Y}catch(Y){throw await YF(Y)}}async getCredits(){try{let Y=new URL(this.config.baseURL),{value:Q}=await tB1({url:`${Y.origin}/v1/credits`,headers:await TQ(this.config.headers()),successfulResponseHandler:e$(pv6),failedResponseHandler:jW({errorSchema:B.any(),errorToMessage:(X)=>X}),fetch:this.config.fetch});return Q}catch(Y){throw await YF(Y)}}},dv6,pv6,cv6=class{constructor(Y,Q){this.modelId=Y,this.config=Q,this.specificationVersion="v3",this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(Y){let{abortSignal:Q,...X}=Y;return{args:this.maybeEncodeFileParts(X),warnings:[]}}async doGenerate(Y){let{args:Q,warnings:X}=await this.getArgs(Y),{abortSignal:J}=Y,G=await TQ(this.config.headers());try{let{responseHeaders:K,value:W,rawValue:Z}=await t$({url:this.getUrl(),headers:r$(G,Y.headers,this.getModelConfigHeaders(this.modelId,!1),await TQ(this.config.o11yHeaders)),body:Q,successfulResponseHandler:e$(B.any()),failedResponseHandler:jW({errorSchema:B.any(),errorToMessage:(H)=>H}),...J&&{abortSignal:J},fetch:this.config.fetch});return{...W,request:{body:Q},response:{headers:K,body:Z},warnings:X}}catch(K){throw await YF(K,await aD(G))}}async doStream(Y){let{args:Q,warnings:X}=await this.getArgs(Y),{abortSignal:J}=Y,G=await TQ(this.config.headers());try{let{value:K,responseHeaders:W}=await t$({url:this.getUrl(),headers:r$(G,Y.headers,this.getModelConfigHeaders(this.modelId,!0),await TQ(this.config.o11yHeaders)),body:Q,successfulResponseHandler:dy0(B.any()),failedResponseHandler:jW({errorSchema:B.any(),errorToMessage:(Z)=>Z}),...J&&{abortSignal:J},fetch:this.config.fetch});return{stream:K.pipeThrough(new TransformStream({start(Z){if(X.length>0)Z.enqueue({type:"stream-start",warnings:X})},transform(Z,H){if(Z.success){let $=Z.value;if($.type==="raw"&&!Y.includeRawChunks)return;if($.type==="response-metadata"&&$.timestamp&&typeof $.timestamp==="string")$.timestamp=new Date($.timestamp);H.enqueue($)}else H.error(Z.error)}})),request:{body:Q},response:{headers:W}}}catch(K){throw await YF(K,await aD(G))}}isFilePart(Y){return Y&&typeof Y==="object"&&"type"in Y&&Y.type==="file"}maybeEncodeFileParts(Y){for(let Q of Y.prompt)for(let X of Q.content)if(this.isFilePart(X)){let J=X;if(J.data instanceof Uint8Array){let G=Uint8Array.from(J.data),K=Buffer.from(G).toString("base64");J.data=new URL(`data:${J.mediaType||"application/octet-stream"};base64,${K}`)}}return Y}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(Y,Q){return{"ai-language-model-specification-version":"3","ai-language-model-id":Y,"ai-language-model-streaming":String(Q)}}},nv6=class{constructor(Y,Q){this.modelId=Y,this.config=Q,this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values:Y,headers:Q,abortSignal:X,providerOptions:J}){var G;let K=await TQ(this.config.headers());try{let{responseHeaders:W,value:Z,rawValue:H}=await t$({url:this.getUrl(),headers:r$(K,Q!=null?Q:{},this.getModelConfigHeaders(),await TQ(this.config.o11yHeaders)),body:{values:Y,...J?{providerOptions:J}:{}},successfulResponseHandler:e$(iv6),failedResponseHandler:jW({errorSchema:B.any(),errorToMessage:($)=>$}),...X&&{abortSignal:X},fetch:this.config.fetch});return{embeddings:Z.embeddings,usage:(G=Z.usage)!=null?G:void 0,providerMetadata:Z.providerMetadata,response:{headers:W,body:H},warnings:[]}}catch(W){throw await YF(W,await aD(K))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},iv6,av6=class{constructor(Y,Q){this.modelId=Y,this.config=Q,this.specificationVersion="v3",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:Y,n:Q,size:X,aspectRatio:J,seed:G,files:K,mask:W,providerOptions:Z,headers:H,abortSignal:$}){var F,V,q,U;let z=await TQ(this.config.headers());try{let{responseHeaders:D,value:N,rawValue:w}=await t$({url:this.getUrl(),headers:r$(z,H!=null?H:{},this.getModelConfigHeaders(),await TQ(this.config.o11yHeaders)),body:{prompt:Y,n:Q,...X&&{size:X},...J&&{aspectRatio:J},...G&&{seed:G},...Z&&{providerOptions:Z},...K&&{files:K.map((E)=>Qb0(E))},...W&&{mask:Qb0(W)}},successfulResponseHandler:e$(tv6),failedResponseHandler:jW({errorSchema:B.any(),errorToMessage:(E)=>E}),...$&&{abortSignal:$},fetch:this.config.fetch});return{images:N.images,warnings:(F=N.warnings)!=null?F:[],providerMetadata:N.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:D},...N.usage!=null&&{usage:{inputTokens:(V=N.usage.inputTokens)!=null?V:void 0,outputTokens:(q=N.usage.outputTokens)!=null?q:void 0,totalTokens:(U=N.usage.totalTokens)!=null?U:void 0}}}}catch(D){throw await YF(D,await aD(z))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}},rv6,ov6,sv6,tv6,ev6=class{constructor(Y,Q){this.modelId=Y,this.config=Q,this.specificationVersion="v3",this.maxVideosPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:Y,n:Q,aspectRatio:X,resolution:J,duration:G,fps:K,seed:W,image:Z,providerOptions:H,headers:$,abortSignal:F}){var V;let q=await TQ(this.config.headers());try{let{responseHeaders:U,value:z}=await t$({url:this.getUrl(),headers:r$(q,$!=null?$:{},this.getModelConfigHeaders(),await TQ(this.config.o11yHeaders),{accept:"text/event-stream"}),body:{prompt:Y,n:Q,...X&&{aspectRatio:X},...J&&{resolution:J},...G&&{duration:G},...K&&{fps:K},...W&&{seed:W},...H&&{providerOptions:H},...Z&&{image:Y_6(Z)}},successfulResponseHandler:async({response:D,url:N,requestBodyValues:w})=>{if(D.body==null)throw new d9({message:"SSE response body is empty",url:N,requestBodyValues:w,statusCode:D.status});let T=fi({stream:D.body,schema:G_6}).getReader(),{done:C,value:P}=await T.read();if(T.releaseLock(),C||!P)throw new d9({message:"SSE stream ended without a data event",url:N,requestBodyValues:w,statusCode:D.status});if(!P.success)throw new d9({message:"Failed to parse video SSE event",cause:P.error,url:N,requestBodyValues:w,statusCode:D.status});let I=P.value;if(I.type==="error")throw new d9({message:I.message,statusCode:I.statusCode,url:N,requestBodyValues:w,responseHeaders:Object.fromEntries([...D.headers]),responseBody:JSON.stringify(I),data:{error:{message:I.message,type:I.errorType,param:I.param}}});return{value:{videos:I.videos,warnings:I.warnings,providerMetadata:I.providerMetadata},responseHeaders:Object.fromEntries([...D.headers])}},failedResponseHandler:jW({errorSchema:B.any(),errorToMessage:(D)=>D}),...F&&{abortSignal:F},fetch:this.config.fetch});return{videos:z.videos,warnings:(V=z.warnings)!=null?V:[],providerMetadata:z.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:U}}}catch(U){throw await YF(U,await aD(q))}}getUrl(){return`${this.config.baseURL}/video-model`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"3","ai-model-id":this.modelId}}},Q_6,X_6,J_6,G_6,W_6,Z_6,K_6,H_6=(Y={})=>K_6(Y),$_6,F_6,V_6,q_6=(Y={})=>V_6(Y),B_6,z_6="3.0.53",D_6="0.0.1",qb0;var DU1=j(()=>{Q8();k8();r6();r6();Q8();Q8();r6();Q8();Q8();r6();Q8();r6();Q8();r6();Q8();r6();k8();Q8();r6();Q8();a1();Q8();a1();Q8();Fb0=S6(UU1(),1),Vb0=S6(UU1(),1),zU1=Symbol.for(Rv6),R5=class Y extends(If0=Error,Rf0=zU1,If0){constructor({message:Q,statusCode:X=500,cause:J,generationId:G}){super(G?`${Q} [${G}]`:Q);this[Rf0]=!0,this.statusCode=X,this.cause=J,this.generationId=G}static isInstance(Q){return Y.hasMarker(Q)}static hasMarker(Q){return typeof Q==="object"&&Q!==null&&zU1 in Q&&Q[zU1]===!0}},Iv6=`vercel.ai.gateway.error.${Xb0}`,jf0=Symbol.for(Iv6),li=class Y extends(kf0=R5,Sf0=jf0,kf0){constructor({message:Q="Authentication failed",statusCode:X=401,cause:J,generationId:G}={}){super({message:Q,statusCode:X,cause:J,generationId:G});this[Sf0]=!0,this.name=Xb0,this.type="authentication_error"}static isInstance(Q){return R5.hasMarker(Q)&&jf0 in Q}static createContextualError({apiKeyProvided:Q,oidcTokenProvided:X,message:J="Authentication failed",statusCode:G=401,cause:K,generationId:W}){let Z;if(Q)Z=`AI Gateway authentication failed: Invalid API key.
|
|
1261
|
+
${X.message}`;if(J)throw new Lv6.VercelOidcTokenError(J);throw X}return Y}function VU1(){let Y=(0,Ov6.getContext)().headers?.["x-vercel-oidc-token"]??process.env.VERCEL_OIDC_TOKEN;if(!Y)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 Y}});var UU1=R((C89,Cf0)=>{var{defineProperty:BU1,getOwnPropertyDescriptor:Mv6,getOwnPropertyNames:wv6}=Object,Av6=Object.prototype.hasOwnProperty,Pv6=(Y,Q)=>{for(var X in Q)BU1(Y,X,{get:Q[X],enumerable:!0})},Ev6=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of wv6(Q))if(!Av6.call(Y,G)&&G!==X)BU1(Y,G,{get:()=>Q[G],enumerable:!(J=Mv6(Q,G))||J.enumerable})}return Y},Tv6=(Y)=>Ev6(BU1({},"__esModule",{value:!0}),Y),Tf0={};Pv6(Tf0,{getContext:()=>Cv6.getContext,getVercelOidcToken:()=>Ef0.getVercelOidcToken,getVercelOidcTokenSync:()=>Ef0.getVercelOidcTokenSync});Cf0.exports=Tv6(Tf0);var Ef0=Pf0(),Cv6=QU1()});async function af0({response:Y,statusCode:Q,defaultMessage:X="Gateway request failed",cause:J,authMethod:G}){var K;let W=await C5({value:Y,schema:gv6});if(!W.success){let V=typeof Y==="object"&&Y!==null&&"generationId"in Y?Y.generationId:void 0;return new xv6({message:`Invalid error response format: ${X}`,statusCode:Q,response:Y,validationError:W.error,cause:J,generationId:V})}let Z=W.value,H=Z.error.type,$=Z.error.message,F=(K=Z.generationId)!=null?K:void 0;switch(H){case"authentication_error":return li.createContextualError({apiKeyProvided:G==="api-key",oidcTokenProvided:G==="oidc",statusCode:Q,cause:J,generationId:F});case"invalid_request_error":return new Sv6({message:$,statusCode:Q,cause:J,generationId:F});case"rate_limit_exceeded":return new vv6({message:$,statusCode:Q,cause:J,generationId:F});case"model_not_found":{let V=await C5({value:Z.error.param,schema:yv6});return new fv6({message:$,statusCode:Q,modelId:V.success?V.value.modelId:void 0,cause:J,generationId:F})}case"internal_server_error":return new pf0({message:$,statusCode:Q,cause:J,generationId:F});default:return new pf0({message:$,statusCode:Q,cause:J,generationId:F})}}function ef0(Y){if(!(Y instanceof Error))return!1;let Q=Y.code;if(typeof Q==="string")return["UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"].includes(Q);return!1}async function YF(Y,Q){var X;if(R5.isInstance(Y))return Y;if(ef0(Y))return tf0.createTimeoutError({originalMessage:Y instanceof Error?Y.message:"Unknown error",cause:Y});if(d9.isInstance(Y)){if(Y.cause&&ef0(Y.cause))return tf0.createTimeoutError({originalMessage:Y.message,cause:Y});return await af0({response:mv6(Y),statusCode:(X=Y.statusCode)!=null?X:500,defaultMessage:"Gateway request failed",cause:Y,authMethod:Q})}return await af0({response:{},statusCode:500,defaultMessage:Y instanceof Error?`Gateway request failed: ${Y.message}`:"Unknown Gateway error",cause:Y,authMethod:Q})}function mv6(Y){if(Y.data!==void 0)return Y.data;if(Y.responseBody!=null)try{return JSON.parse(Y.responseBody)}catch(Q){return Y.responseBody}return{}}async function aD(Y){let Q=await C5({value:Y[$b0],schema:lv6});return Q.success?Q.value:void 0}function Qb0(Y){if(Y.type==="file"&&Y.data instanceof Uint8Array)return{...Y,data:o$(Y.data)};return Y}function Y_6(Y){if(Y.type==="file"&&Y.data instanceof Uint8Array)return{...Y,data:o$(Y.data)};return Y}async function U_6(){var Y;return(Y=Fb0.getContext().headers)==null?void 0:Y["x-vercel-id"]}function O_6(Y={}){var Q,X;let J=null,G=null,K=(Q=Y.metadataCacheRefreshMillis)!=null?Q:300000,W=0,Z=(X=py0(Y.baseURL))!=null?X:"https://ai-gateway.vercel.sh/v3/ai",H=async()=>{try{let D=await L_6(Y);return s$({Authorization:`Bearer ${D.token}`,"ai-gateway-protocol-version":D_6,[$b0]:D.authMethod,...Y.headers},`ai-sdk/gateway/${z_6}`)}catch(D){throw li.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:D})}},$=()=>{let D=$k({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),N=$k({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),w=$k({settingValue:void 0,environmentVariableName:"VERCEL_REGION"});return async()=>{let E=await U_6();return{...D&&{"ai-o11y-deployment-id":D},...N&&{"ai-o11y-environment":N},...w&&{"ai-o11y-region":w},...E&&{"ai-o11y-request-id":E}}}},F=(D)=>{return new cv6(D,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:$()})},V=async()=>{var D,N,w;let E=(w=(N=(D=Y._internal)==null?void 0:D.currentDate)==null?void 0:N.call(D).getTime())!=null?w:Date.now();if(!J||E-W>K)W=E,J=new Yb0({baseURL:Z,headers:H,fetch:Y.fetch}).getAvailableModels().then((T)=>{return G=T,T}).catch(async(T)=>{throw await YF(T,await aD(await H()))});return G?Promise.resolve(G):J},q=async()=>{return new Yb0({baseURL:Z,headers:H,fetch:Y.fetch}).getCredits().catch(async(D)=>{throw await YF(D,await aD(await H()))})},U=function(D){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return F(D)};U.specificationVersion="v3",U.getAvailableModels=V,U.getCredits=q,U.imageModel=(D)=>{return new av6(D,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:$()})},U.languageModel=F;let z=(D)=>{return new nv6(D,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:$()})};return U.embeddingModel=z,U.textEmbeddingModel=z,U.videoModel=(D)=>{return new ev6(D,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:$()})},U.chat=U.languageModel,U.embedding=U.embeddingModel,U.image=U.imageModel,U.video=U.videoModel,U.tools=B_6,U}async function L_6(Y){let Q=$k({settingValue:Y.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(Q)return{token:Q,authMethod:"api-key"};return{token:await Vb0.getVercelOidcToken(),authMethod:"oidc"}}var Fb0,Vb0,Rv6="vercel.ai.gateway.error",zU1,Rf0,If0,R5,Xb0="GatewayAuthenticationError",Iv6,jf0,Sf0,kf0,li,Jb0="GatewayInvalidRequestError",jv6,vf0,_f0,yf0,Sv6,Gb0="GatewayRateLimitError",kv6,ff0,bf0,hf0,vv6,Wb0="GatewayModelNotFoundError",_v6,xf0,yv6,gf0,uf0,fv6,Zb0="GatewayInternalServerError",bv6,mf0,lf0,df0,pf0,Kb0="GatewayResponseError",hv6,cf0,nf0,if0,xv6,gv6,Hb0="GatewayTimeoutError",uv6,rf0,of0,sf0,tf0,$b0="ai-gateway-auth-method",lv6,Yb0=class{constructor(Y){this.config=Y}async getAvailableModels(){try{let{value:Y}=await tB1({url:`${this.config.baseURL}/config`,headers:await TQ(this.config.headers()),successfulResponseHandler:e$(dv6),failedResponseHandler:jW({errorSchema:B.any(),errorToMessage:(Q)=>Q}),fetch:this.config.fetch});return Y}catch(Y){throw await YF(Y)}}async getCredits(){try{let Y=new URL(this.config.baseURL),{value:Q}=await tB1({url:`${Y.origin}/v1/credits`,headers:await TQ(this.config.headers()),successfulResponseHandler:e$(pv6),failedResponseHandler:jW({errorSchema:B.any(),errorToMessage:(X)=>X}),fetch:this.config.fetch});return Q}catch(Y){throw await YF(Y)}}},dv6,pv6,cv6=class{constructor(Y,Q){this.modelId=Y,this.config=Q,this.specificationVersion="v3",this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(Y){let{abortSignal:Q,...X}=Y;return{args:this.maybeEncodeFileParts(X),warnings:[]}}async doGenerate(Y){let{args:Q,warnings:X}=await this.getArgs(Y),{abortSignal:J}=Y,G=await TQ(this.config.headers());try{let{responseHeaders:K,value:W,rawValue:Z}=await t$({url:this.getUrl(),headers:r$(G,Y.headers,this.getModelConfigHeaders(this.modelId,!1),await TQ(this.config.o11yHeaders)),body:Q,successfulResponseHandler:e$(B.any()),failedResponseHandler:jW({errorSchema:B.any(),errorToMessage:(H)=>H}),...J&&{abortSignal:J},fetch:this.config.fetch});return{...W,request:{body:Q},response:{headers:K,body:Z},warnings:X}}catch(K){throw await YF(K,await aD(G))}}async doStream(Y){let{args:Q,warnings:X}=await this.getArgs(Y),{abortSignal:J}=Y,G=await TQ(this.config.headers());try{let{value:K,responseHeaders:W}=await t$({url:this.getUrl(),headers:r$(G,Y.headers,this.getModelConfigHeaders(this.modelId,!0),await TQ(this.config.o11yHeaders)),body:Q,successfulResponseHandler:dy0(B.any()),failedResponseHandler:jW({errorSchema:B.any(),errorToMessage:(Z)=>Z}),...J&&{abortSignal:J},fetch:this.config.fetch});return{stream:K.pipeThrough(new TransformStream({start(Z){if(X.length>0)Z.enqueue({type:"stream-start",warnings:X})},transform(Z,H){if(Z.success){let $=Z.value;if($.type==="raw"&&!Y.includeRawChunks)return;if($.type==="response-metadata"&&$.timestamp&&typeof $.timestamp==="string")$.timestamp=new Date($.timestamp);H.enqueue($)}else H.error(Z.error)}})),request:{body:Q},response:{headers:W}}}catch(K){throw await YF(K,await aD(G))}}isFilePart(Y){return Y&&typeof Y==="object"&&"type"in Y&&Y.type==="file"}maybeEncodeFileParts(Y){for(let Q of Y.prompt)for(let X of Q.content)if(this.isFilePart(X)){let J=X;if(J.data instanceof Uint8Array){let G=Uint8Array.from(J.data),K=Buffer.from(G).toString("base64");J.data=new URL(`data:${J.mediaType||"application/octet-stream"};base64,${K}`)}}return Y}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(Y,Q){return{"ai-language-model-specification-version":"3","ai-language-model-id":Y,"ai-language-model-streaming":String(Q)}}},nv6=class{constructor(Y,Q){this.modelId=Y,this.config=Q,this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values:Y,headers:Q,abortSignal:X,providerOptions:J}){var G;let K=await TQ(this.config.headers());try{let{responseHeaders:W,value:Z,rawValue:H}=await t$({url:this.getUrl(),headers:r$(K,Q!=null?Q:{},this.getModelConfigHeaders(),await TQ(this.config.o11yHeaders)),body:{values:Y,...J?{providerOptions:J}:{}},successfulResponseHandler:e$(iv6),failedResponseHandler:jW({errorSchema:B.any(),errorToMessage:($)=>$}),...X&&{abortSignal:X},fetch:this.config.fetch});return{embeddings:Z.embeddings,usage:(G=Z.usage)!=null?G:void 0,providerMetadata:Z.providerMetadata,response:{headers:W,body:H},warnings:[]}}catch(W){throw await YF(W,await aD(K))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},iv6,av6=class{constructor(Y,Q){this.modelId=Y,this.config=Q,this.specificationVersion="v3",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:Y,n:Q,size:X,aspectRatio:J,seed:G,files:K,mask:W,providerOptions:Z,headers:H,abortSignal:$}){var F,V,q,U;let z=await TQ(this.config.headers());try{let{responseHeaders:D,value:N,rawValue:w}=await t$({url:this.getUrl(),headers:r$(z,H!=null?H:{},this.getModelConfigHeaders(),await TQ(this.config.o11yHeaders)),body:{prompt:Y,n:Q,...X&&{size:X},...J&&{aspectRatio:J},...G&&{seed:G},...Z&&{providerOptions:Z},...K&&{files:K.map((E)=>Qb0(E))},...W&&{mask:Qb0(W)}},successfulResponseHandler:e$(tv6),failedResponseHandler:jW({errorSchema:B.any(),errorToMessage:(E)=>E}),...$&&{abortSignal:$},fetch:this.config.fetch});return{images:N.images,warnings:(F=N.warnings)!=null?F:[],providerMetadata:N.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:D},...N.usage!=null&&{usage:{inputTokens:(V=N.usage.inputTokens)!=null?V:void 0,outputTokens:(q=N.usage.outputTokens)!=null?q:void 0,totalTokens:(U=N.usage.totalTokens)!=null?U:void 0}}}}catch(D){throw await YF(D,await aD(z))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}},rv6,ov6,sv6,tv6,ev6=class{constructor(Y,Q){this.modelId=Y,this.config=Q,this.specificationVersion="v3",this.maxVideosPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:Y,n:Q,aspectRatio:X,resolution:J,duration:G,fps:K,seed:W,image:Z,providerOptions:H,headers:$,abortSignal:F}){var V;let q=await TQ(this.config.headers());try{let{responseHeaders:U,value:z}=await t$({url:this.getUrl(),headers:r$(q,$!=null?$:{},this.getModelConfigHeaders(),await TQ(this.config.o11yHeaders),{accept:"text/event-stream"}),body:{prompt:Y,n:Q,...X&&{aspectRatio:X},...J&&{resolution:J},...G&&{duration:G},...K&&{fps:K},...W&&{seed:W},...H&&{providerOptions:H},...Z&&{image:Y_6(Z)}},successfulResponseHandler:async({response:D,url:N,requestBodyValues:w})=>{if(D.body==null)throw new d9({message:"SSE response body is empty",url:N,requestBodyValues:w,statusCode:D.status});let T=fi({stream:D.body,schema:G_6}).getReader(),{done:C,value:P}=await T.read();if(T.releaseLock(),C||!P)throw new d9({message:"SSE stream ended without a data event",url:N,requestBodyValues:w,statusCode:D.status});if(!P.success)throw new d9({message:"Failed to parse video SSE event",cause:P.error,url:N,requestBodyValues:w,statusCode:D.status});let I=P.value;if(I.type==="error")throw new d9({message:I.message,statusCode:I.statusCode,url:N,requestBodyValues:w,responseHeaders:Object.fromEntries([...D.headers]),responseBody:JSON.stringify(I),data:{error:{message:I.message,type:I.errorType,param:I.param}}});return{value:{videos:I.videos,warnings:I.warnings,providerMetadata:I.providerMetadata},responseHeaders:Object.fromEntries([...D.headers])}},failedResponseHandler:jW({errorSchema:B.any(),errorToMessage:(D)=>D}),...F&&{abortSignal:F},fetch:this.config.fetch});return{videos:z.videos,warnings:(V=z.warnings)!=null?V:[],providerMetadata:z.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:U}}}catch(U){throw await YF(U,await aD(q))}}getUrl(){return`${this.config.baseURL}/video-model`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"3","ai-model-id":this.modelId}}},Q_6,X_6,J_6,G_6,W_6,Z_6,K_6,H_6=(Y={})=>K_6(Y),$_6,F_6,V_6,q_6=(Y={})=>V_6(Y),B_6,z_6="3.0.54",D_6="0.0.1",qb0;var DU1=j(()=>{Q8();k8();r6();r6();Q8();Q8();r6();Q8();Q8();r6();Q8();r6();Q8();r6();Q8();r6();k8();Q8();r6();Q8();a1();Q8();a1();Q8();Fb0=S6(UU1(),1),Vb0=S6(UU1(),1),zU1=Symbol.for(Rv6),R5=class Y extends(If0=Error,Rf0=zU1,If0){constructor({message:Q,statusCode:X=500,cause:J,generationId:G}){super(G?`${Q} [${G}]`:Q);this[Rf0]=!0,this.statusCode=X,this.cause=J,this.generationId=G}static isInstance(Q){return Y.hasMarker(Q)}static hasMarker(Q){return typeof Q==="object"&&Q!==null&&zU1 in Q&&Q[zU1]===!0}},Iv6=`vercel.ai.gateway.error.${Xb0}`,jf0=Symbol.for(Iv6),li=class Y extends(kf0=R5,Sf0=jf0,kf0){constructor({message:Q="Authentication failed",statusCode:X=401,cause:J,generationId:G}={}){super({message:Q,statusCode:X,cause:J,generationId:G});this[Sf0]=!0,this.name=Xb0,this.type="authentication_error"}static isInstance(Q){return R5.hasMarker(Q)&&jf0 in Q}static createContextualError({apiKeyProvided:Q,oidcTokenProvided:X,message:J="Authentication failed",statusCode:G=401,cause:K,generationId:W}){let Z;if(Q)Z=`AI Gateway authentication failed: Invalid API key.
|
|
1262
1262
|
|
|
1263
1263
|
Create a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
|
|
1264
1264
|
|
|
@@ -1284,7 +1284,7 @@ Alternatively, you can use a provider module instead of the AI Gateway.
|
|
|
1284
1284
|
Learn more: \x1B[34m${X}\x1B[0m
|
|
1285
1285
|
|
|
1286
1286
|
`),{name:"GatewayAuthenticationError"})}function Ok({operationId:Y,telemetry:Q}){return{"operation.name":`${Y}${(Q==null?void 0:Q.functionId)!=null?` ${Q.functionId}`:""}`,"resource.name":Q==null?void 0:Q.functionId,"ai.operationId":Y,"ai.telemetry.functionId":Q==null?void 0:Q.functionId}}function Th0({model:Y,settings:Q,telemetry:X,headers:J}){var G;return{"ai.model.provider":Y.provider,"ai.model.id":Y.modelId,...Object.entries(Q).reduce((K,[W,Z])=>{if(W==="timeout"){let H=SU1(Z);if(H!=null)K[`ai.settings.${W}`]=H}else K[`ai.settings.${W}`]=Z;return K},{}),...Object.entries((G=X==null?void 0:X.metadata)!=null?G:{}).reduce((K,[W,Z])=>{return K[`ai.telemetry.metadata.${W}`]=Z,K},{}),...Object.entries(J!=null?J:{}).reduce((K,[W,Z])=>{if(Z!==void 0)K[`ai.request.headers.${W}`]=Z;return K},{})}}function Rh0({isEnabled:Y=!1,tracer:Q}={}){if(!Y)return xy6;if(Q)return Q;return Ch0.trace.getTracer("ai")}async function Lk({name:Y,tracer:Q,attributes:X,fn:J,endWhenDone:G=!0}){return Q.startActiveSpan(Y,{attributes:await X},async(K)=>{let W=mA.context.active();try{let Z=await mA.context.with(W,()=>J(K));if(G)K.end();return Z}catch(Z){try{Ih0(K,Z)}finally{K.end()}throw Z}})}function Ih0(Y,Q){if(Q instanceof Error)Y.recordException({name:Q.name,message:Q.message,stack:Q.stack}),Y.setStatus({code:mA.SpanStatusCode.ERROR,message:Q.message});else Y.setStatus({code:mA.SpanStatusCode.ERROR})}async function iH({telemetry:Y,attributes:Q}){if((Y==null?void 0:Y.isEnabled)!==!0)return{};let X={};for(let[J,G]of Object.entries(Q)){if(G==null)continue;if(typeof G==="object"&&"input"in G&&typeof G.input==="function"){if((Y==null?void 0:Y.recordInputs)===!1)continue;let K=await G.input();if(K!=null)X[J]=K;continue}if(typeof G==="object"&&"output"in G&&typeof G.output==="function"){if((Y==null?void 0:Y.recordOutputs)===!1)continue;let K=await G.output();if(K!=null)X[J]=K;continue}X[J]=G}return X}function jh0(Y){return JSON.stringify(Y.map((Q)=>({...Q,content:typeof Q.content==="string"?Q.content:Q.content.map((X)=>X.type==="file"?{...X,data:X.data instanceof Uint8Array?Ay6(X.data):X.data}:X)})))}function Sh0(Y){return{inputTokens:Y.inputTokens.total,inputTokenDetails:{noCacheTokens:Y.inputTokens.noCache,cacheReadTokens:Y.inputTokens.cacheRead,cacheWriteTokens:Y.inputTokens.cacheWrite},outputTokens:Y.outputTokens.total,outputTokenDetails:{textTokens:Y.outputTokens.text,reasoningTokens:Y.outputTokens.reasoning},totalTokens:nZ(Y.inputTokens.total,Y.outputTokens.total),raw:Y.raw,reasoningTokens:Y.outputTokens.reasoning,cachedInputTokens:Y.inputTokens.cacheRead}}function OU1(){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 kh0(Y,Q){var X,J,G,K,W,Z,H,$,F,V;return{inputTokens:nZ(Y.inputTokens,Q.inputTokens),inputTokenDetails:{noCacheTokens:nZ((X=Y.inputTokenDetails)==null?void 0:X.noCacheTokens,(J=Q.inputTokenDetails)==null?void 0:J.noCacheTokens),cacheReadTokens:nZ((G=Y.inputTokenDetails)==null?void 0:G.cacheReadTokens,(K=Q.inputTokenDetails)==null?void 0:K.cacheReadTokens),cacheWriteTokens:nZ((W=Y.inputTokenDetails)==null?void 0:W.cacheWriteTokens,(Z=Q.inputTokenDetails)==null?void 0:Z.cacheWriteTokens)},outputTokens:nZ(Y.outputTokens,Q.outputTokens),outputTokenDetails:{textTokens:nZ((H=Y.outputTokenDetails)==null?void 0:H.textTokens,($=Q.outputTokenDetails)==null?void 0:$.textTokens),reasoningTokens:nZ((F=Y.outputTokenDetails)==null?void 0:F.reasoningTokens,(V=Q.outputTokenDetails)==null?void 0:V.reasoningTokens)},totalTokens:nZ(Y.totalTokens,Q.totalTokens),reasoningTokens:nZ(Y.reasoningTokens,Q.reasoningTokens),cachedInputTokens:nZ(Y.cachedInputTokens,Q.cachedInputTokens)}}function nZ(Y,Q){return Y==null&&Q==null?void 0:(Y!=null?Y:0)+(Q!=null?Q:0)}function ii(Y,Q){if(Y===void 0&&Q===void 0)return;if(Y===void 0)return Q;if(Q===void 0)return Y;let X={...Y};for(let J in Q)if(Object.prototype.hasOwnProperty.call(Q,J)){let G=Q[J];if(G===void 0)continue;let K=J in Y?Y[J]:void 0,W=G!==null&&typeof G==="object"&&!Array.isArray(G)&&!(G instanceof Date)&&!(G instanceof RegExp),Z=K!==null&&K!==void 0&&typeof K==="object"&&!Array.isArray(K)&&!(K instanceof Date)&&!(K instanceof RegExp);if(W&&Z)X[J]=ii(K,G);else X[J]=G}return X}function uy6({error:Y,exponentialBackoffDelay:Q}){let X=Y.responseHeaders;if(!X)return Q;let J,G=X["retry-after-ms"];if(G){let W=parseFloat(G);if(!Number.isNaN(W))J=W}let K=X["retry-after"];if(K&&J===void 0){let W=parseFloat(K);if(!Number.isNaN(W))J=W*1000;else J=Date.parse(K)-Date.now()}if(J!=null&&!Number.isNaN(J)&&0<=J&&(J<60000||J<Q))return J;return Q}async function vh0(Y,{maxRetries:Q,delayInMs:X,backoffFactor:J,abortSignal:G},K=[]){try{return await Y()}catch(W){if(a$(W))throw W;if(Q===0)throw W;let Z=tq(W),H=[...K,W],$=H.length;if($>Q)throw new Ub0({message:`Failed after ${$} attempts. Last error: ${Z}`,reason:"maxRetriesExceeded",errors:H});if(W instanceof Error&&d9.isInstance(W)&&W.isRetryable===!0&&$<=Q)return await Sy0(uy6({error:W,exponentialBackoffDelay:X}),{abortSignal:G}),vh0(Y,{maxRetries:Q,delayInMs:J*X,backoffFactor:J,abortSignal:G},H);if($===1)throw W;throw new Ub0({message:`Failed after ${$} attempts with non-retryable error: '${Z}'`,reason:"errorNotRetryable",errors:H})}}function _h0({maxRetries:Y,abortSignal:Q}){if(Y!=null){if(!Number.isInteger(Y))throw new iZ({parameter:"maxRetries",value:Y,message:"maxRetries must be an integer"});if(Y<0)throw new iZ({parameter:"maxRetries",value:Y,message:"maxRetries must be >= 0"})}let X=Y!=null?Y:2;return{maxRetries:X,retry:my6({maxRetries:X,abortSignal:Q})}}function yh0({messages:Y}){let Q=Y.at(-1);if((Q==null?void 0:Q.role)!="tool")return{approvedToolApprovals:[],deniedToolApprovals:[]};let X={};for(let H of Y)if(H.role==="assistant"&&typeof H.content!=="string"){let $=H.content;for(let F of $)if(F.type==="tool-call")X[F.toolCallId]=F}let J={};for(let H of Y)if(H.role==="assistant"&&typeof H.content!=="string"){let $=H.content;for(let F of $)if(F.type==="tool-approval-request")J[F.approvalId]=F}let G={};for(let H of Q.content)if(H.type==="tool-result")G[H.toolCallId]=H;let K=[],W=[],Z=Q.content.filter((H)=>H.type==="tool-approval-response");for(let H of Z){let $=J[H.approvalId];if($==null)throw new R_6({approvalId:H.approvalId});if(G[$.toolCallId]!=null)continue;let F=X[$.toolCallId];if(F==null)throw new IU1({toolCallId:$.toolCallId,approvalId:$.approvalId});let V={approvalRequest:$,approvalResponse:H,toolCall:F};if(H.approved)K.push(V);else W.push(V)}return{approvedToolApprovals:K,deniedToolApprovals:W}}function pi(){var Y,Q;return(Q=(Y=globalThis==null?void 0:globalThis.performance)==null?void 0:Y.now())!=null?Q:Date.now()}async function kU1({toolCall:Y,tools:Q,tracer:X,telemetry:J,messages:G,abortSignal:K,experimental_context:W,stepNumber:Z,model:H,onPreliminaryToolResult:$,onToolCallStart:F,onToolCallFinish:V}){let{toolName:q,toolCallId:U,input:z}=Y,D=Q==null?void 0:Q[q];if((D==null?void 0:D.execute)==null)return;let N={stepNumber:Z,model:H,toolCall:Y,messages:G,abortSignal:K,functionId:J==null?void 0:J.functionId,metadata:J==null?void 0:J.metadata,experimental_context:W};return Lk({name:"ai.toolCall",attributes:iH({telemetry:J,attributes:{...Ok({operationId:"ai.toolCall",telemetry:J}),"ai.toolCall.name":q,"ai.toolCall.id":U,"ai.toolCall.args":{output:()=>JSON.stringify(z)}}}),tracer:X,fn:async(w)=>{let E;try{await(F==null?void 0:F(N))}catch(P){}let T=pi();try{let P=cy0({execute:D.execute.bind(D),input:z,options:{toolCallId:U,messages:G,abortSignal:K,experimental_context:W}});for await(let I of P)if(I.type==="preliminary")$==null||$({...Y,type:"tool-result",output:I.output,preliminary:!0});else E=I.output}catch(P){let I=pi()-T;try{await(V==null?void 0:V({...N,success:!1,error:P,durationMs:I}))}catch(k){}return Ih0(w,P),{type:"tool-error",toolCallId:U,toolName:q,input:z,error:P,dynamic:D.type==="dynamic",...Y.providerMetadata!=null?{providerMetadata:Y.providerMetadata}:{}}}let C=pi()-T;try{await(V==null?void 0:V({...N,success:!0,output:E,durationMs:C}))}catch(P){}try{w.setAttributes(await iH({telemetry:J,attributes:{"ai.toolCall.result":{output:()=>JSON.stringify(E)}}}))}catch(P){}return{type:"tool-result",toolCallId:U,toolName:q,input:z,output:E,dynamic:D.type==="dynamic",...Y.providerMetadata!=null?{providerMetadata:Y.providerMetadata}:{}}}})}function Lb0(Y){let Q=Y.filter((X)=>X.type==="reasoning");return Q.length===0?void 0:Q.map((X)=>X.text).join(`
|
|
1287
|
-
`)}function Nb0(Y){let Q=Y.filter((X)=>X.type==="text");if(Q.length===0)return;return Q.map((X)=>X.text).join("")}async function bh0({tool:Y,toolCall:Q,messages:X,experimental_context:J}){if(Y.needsApproval==null)return!1;if(typeof Y.needsApproval==="boolean")return Y.needsApproval;return await Y.needsApproval(Q.input,{toolCallId:Q.toolCallId,messages:X,experimental_context:J})}function py6(Y){let Q=["ROOT"],X=-1,J=null;function G(H,$,F){switch(H){case'"':{X=$,Q.pop(),Q.push(F),Q.push("INSIDE_STRING");break}case"f":case"t":case"n":{X=$,J=$,Q.pop(),Q.push(F),Q.push("INSIDE_LITERAL");break}case"-":{Q.pop(),Q.push(F),Q.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{X=$,Q.pop(),Q.push(F),Q.push("INSIDE_NUMBER");break}case"{":{X=$,Q.pop(),Q.push(F),Q.push("INSIDE_OBJECT_START");break}case"[":{X=$,Q.pop(),Q.push(F),Q.push("INSIDE_ARRAY_START");break}}}function K(H,$){switch(H){case",":{Q.pop(),Q.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{X=$,Q.pop();break}}}function W(H,$){switch(H){case",":{Q.pop(),Q.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{X=$,Q.pop();break}}}for(let H=0;H<Y.length;H++){let $=Y[H];switch(Q[Q.length-1]){case"ROOT":G($,H,"FINISH");break;case"INSIDE_OBJECT_START":{switch($){case'"':{Q.pop(),Q.push("INSIDE_OBJECT_KEY");break}case"}":{X=H,Q.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch($){case'"':{Q.pop(),Q.push("INSIDE_OBJECT_KEY");break}}break}case"INSIDE_OBJECT_KEY":{switch($){case'"':{Q.pop(),Q.push("INSIDE_OBJECT_AFTER_KEY");break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch($){case":":{Q.pop(),Q.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{G($,H,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{K($,H);break}case"INSIDE_STRING":{switch($){case'"':{Q.pop(),X=H;break}case"\\":{Q.push("INSIDE_STRING_ESCAPE");break}default:X=H}break}case"INSIDE_ARRAY_START":{switch($){case"]":{X=H,Q.pop();break}default:{X=H,G($,H,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch($){case",":{Q.pop(),Q.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{X=H,Q.pop();break}default:{X=H;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{G($,H,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{Q.pop(),X=H;break}case"INSIDE_NUMBER":{switch($){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{X=H;break}case"e":case"E":case"-":case".":break;case",":{if(Q.pop(),Q[Q.length-1]==="INSIDE_ARRAY_AFTER_VALUE")W($,H);if(Q[Q.length-1]==="INSIDE_OBJECT_AFTER_VALUE")K($,H);break}case"}":{if(Q.pop(),Q[Q.length-1]==="INSIDE_OBJECT_AFTER_VALUE")K($,H);break}case"]":{if(Q.pop(),Q[Q.length-1]==="INSIDE_ARRAY_AFTER_VALUE")W($,H);break}default:{Q.pop();break}}break}case"INSIDE_LITERAL":{let V=Y.substring(J,H+1);if(!"false".startsWith(V)&&!"true".startsWith(V)&&!"null".startsWith(V)){if(Q.pop(),Q[Q.length-1]==="INSIDE_OBJECT_AFTER_VALUE")K($,H);else if(Q[Q.length-1]==="INSIDE_ARRAY_AFTER_VALUE")W($,H)}else X=H;break}}}let Z=Y.slice(0,X+1);for(let H=Q.length-1;H>=0;H--)switch(Q[H]){case"INSIDE_STRING":{Z+='"';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":{Z+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{Z+="]";break}case"INSIDE_LITERAL":{let F=Y.substring(J,Y.length);if("true".startsWith(F))Z+="true".slice(F.length);else if("false".startsWith(F))Z+="false".slice(F.length);else if("null".startsWith(F))Z+="null".slice(F.length)}}return Z}async function Nk(Y){if(Y===void 0)return{value:void 0,state:"undefined-input"};let Q=await AG({text:Y});if(Q.success)return{value:Q.value,state:"successful-parse"};if(Q=await AG({text:py6(Y)}),Q.success)return{value:Q.value,state:"repaired-parse"};return{value:void 0,state:"failed-parse"}}async function hh0({toolCall:Y,tools:Q,repairToolCall:X,system:J,messages:G}){var K;try{if(Q==null){if(Y.providerExecuted&&Y.dynamic)return await xh0(Y);throw new AU1({toolName:Y.toolName})}try{return await Mb0({toolCall:Y,tools:Q})}catch(W){if(X==null||!(AU1.isInstance(W)||RU1.isInstance(W)))throw W;let Z=null;try{Z=await X({toolCall:Y,tools:Q,inputSchema:async({toolName:H})=>{let{inputSchema:$}=Q[H];return await cH($).jsonSchema},system:J,messages:G,error:W})}catch(H){throw new s_6({cause:H,originalError:W})}if(Z==null)throw W;return await Mb0({toolCall:Z,tools:Q})}}catch(W){let Z=await AG({text:Y.input}),H=Z.success?Z.value:Y.input;return{type:"tool-call",toolCallId:Y.toolCallId,toolName:Y.toolName,input:H,dynamic:!0,invalid:!0,error:W,title:(K=Q==null?void 0:Q[Y.toolName])==null?void 0:K.title,providerExecuted:Y.providerExecuted,providerMetadata:Y.providerMetadata}}}async function xh0(Y){let Q=Y.input.trim()===""?{success:!0,value:{}}:await AG({text:Y.input});if(Q.success===!1)throw new RU1({toolName:Y.toolName,toolInput:Y.input,cause:Q.error});return{type:"tool-call",toolCallId:Y.toolCallId,toolName:Y.toolName,input:Q.value,providerExecuted:!0,dynamic:!0,providerMetadata:Y.providerMetadata}}async function Mb0({toolCall:Y,tools:Q}){let X=Y.toolName,J=Q[X];if(J==null){if(Y.providerExecuted&&Y.dynamic)return await xh0(Y);throw new AU1({toolName:Y.toolName,availableTools:Object.keys(Q)})}let G=cH(J.inputSchema),K=Y.input.trim()===""?await C5({value:{},schema:G}):await AG({text:Y.input,schema:G});if(K.success===!1)throw new RU1({toolName:X,toolInput:Y.input,cause:K.error});return J.type==="dynamic"?{type:"tool-call",toolCallId:Y.toolCallId,toolName:Y.toolName,input:K.value,providerExecuted:Y.providerExecuted,providerMetadata:Y.providerMetadata,dynamic:!0,title:J.title}:{type:"tool-call",toolCallId:Y.toolCallId,toolName:X,input:K.value,providerExecuted:Y.providerExecuted,providerMetadata:Y.providerMetadata,title:J.title}}function YB(Y){return({steps:Q})=>Q.length===Y}async function uh0({stopConditions:Y,steps:Q}){return(await Promise.all(Y.map((X)=>X({steps:Q})))).some((X)=>X)}async function EU1({content:Y,tools:Q}){let X=[],J=[];for(let K of Y){if(K.type==="source")continue;if((K.type==="tool-result"||K.type==="tool-error")&&!K.providerExecuted)continue;if(K.type==="text"&&K.text.length===0)continue;switch(K.type){case"text":J.push({type:"text",text:K.text,providerOptions:K.providerMetadata});break;case"reasoning":J.push({type:"reasoning",text:K.text,providerOptions:K.providerMetadata});break;case"file":J.push({type:"file",data:K.file.base64,mediaType:K.file.mediaType,providerOptions:K.providerMetadata});break;case"tool-call":J.push({type:"tool-call",toolCallId:K.toolCallId,toolName:K.toolName,input:K.input,providerExecuted:K.providerExecuted,providerOptions:K.providerMetadata});break;case"tool-result":{let W=await rD({toolCallId:K.toolCallId,input:K.input,tool:Q==null?void 0:Q[K.toolName],output:K.output,errorMode:"none"});J.push({type:"tool-result",toolCallId:K.toolCallId,toolName:K.toolName,output:W,providerOptions:K.providerMetadata});break}case"tool-error":{let W=await rD({toolCallId:K.toolCallId,input:K.input,tool:Q==null?void 0:Q[K.toolName],output:K.error,errorMode:"json"});J.push({type:"tool-result",toolCallId:K.toolCallId,toolName:K.toolName,output:W,providerOptions:K.providerMetadata});break}case"tool-approval-request":J.push({type:"tool-approval-request",approvalId:K.approvalId,toolCallId:K.toolCall.toolCallId});break}}if(J.length>0)X.push({role:"assistant",content:J});let G=[];for(let K of Y){if(!(K.type==="tool-result"||K.type==="tool-error")||K.providerExecuted)continue;let W=await rD({toolCallId:K.toolCallId,input:K.input,tool:Q==null?void 0:Q[K.toolName],output:K.type==="tool-result"?K.output:K.error,errorMode:K.type==="tool-error"?"text":"none"});G.push({type:"tool-result",toolCallId:K.toolCallId,toolName:K.toolName,output:W,...K.providerMetadata!=null?{providerOptions:K.providerMetadata}:{}})}if(G.length>0)X.push({role:"tool",content:G});return X}function mh0(...Y){let Q=Y.filter((J)=>J!=null);if(Q.length===0)return;if(Q.length===1)return Q[0];let X=new AbortController;for(let J of Q){if(J.aborted)return X.abort(J.reason),X.signal;J.addEventListener("abort",()=>{X.abort(J.reason)},{once:!0})}return X.signal}async function lA({model:Y,tools:Q,toolChoice:X,system:J,prompt:G,messages:K,maxRetries:W,abortSignal:Z,timeout:H,headers:$,stopWhen:F=YB(1),experimental_output:V,output:q=V,experimental_telemetry:U,providerOptions:z,experimental_activeTools:D,activeTools:N=D,experimental_prepareStep:w,prepareStep:E=w,experimental_repairToolCall:T,experimental_download:C,experimental_context:P,experimental_include:I,_internal:{generateId:k=ry6}={},experimental_onStart:y,experimental_onStepStart:f,experimental_onToolCallStart:b,experimental_onToolCallFinish:g,onStepFinish:o,onFinish:m,...h}){let n=ci(Y),K1=zk(F),J1=SU1(H),L1=Bh0(H),j1=L1!=null?new AbortController:void 0,O1=mh0(Z,J1!=null?AbortSignal.timeout(J1):void 0,j1==null?void 0:j1.signal),{maxRetries:T1,retry:b1}=_h0({maxRetries:W,abortSignal:O1}),t1=PU1(h),$0=s$($!=null?$:{},`ai/${Uh0}`),C1=Th0({model:n,telemetry:U,headers:$0,settings:{...t1,maxRetries:T1}}),w1={provider:n.provider,modelId:n.modelId},u1=await Ph0({system:J,prompt:G,messages:K});try{await(y==null?void 0:y({model:w1,system:J,prompt:G,messages:K,tools:Q,toolChoice:X,activeTools:N,maxOutputTokens:t1.maxOutputTokens,temperature:t1.temperature,topP:t1.topP,topK:t1.topK,presencePenalty:t1.presencePenalty,frequencyPenalty:t1.frequencyPenalty,stopSequences:t1.stopSequences,seed:t1.seed,maxRetries:T1,timeout:H,headers:$,providerOptions:z,stopWhen:F,output:q,abortSignal:Z,include:I,functionId:U==null?void 0:U.functionId,metadata:U==null?void 0:U.metadata,experimental_context:P}))}catch(d0){}let G4=Rh0(U);try{return await Lk({name:"ai.generateText",attributes:iH({telemetry:U,attributes:{...Ok({operationId:"ai.generateText",telemetry:U}),...C1,"ai.model.provider":n.provider,"ai.model.id":n.modelId,"ai.prompt":{input:()=>JSON.stringify({system:J,prompt:G,messages:K})}}}),tracer:G4,fn:async(d0)=>{var F0,v1,N1,n1,I1,_1,T0,G0,Z0,r4,Z6,h6,W8;let h0=u1.messages,m1=[],{approvedToolApprovals:v0,deniedToolApprovals:Y6}=yh0({messages:h0}),Z8=v0.filter((s)=>!s.toolCall.providerExecuted);if(Y6.length>0||Z8.length>0){let s=await wb0({toolCalls:Z8.map((F1)=>F1.toolCall),tools:Q,tracer:G4,telemetry:U,messages:h0,abortSignal:O1,experimental_context:P,stepNumber:0,model:w1,onToolCallStart:b,onToolCallFinish:g}),B1=[];for(let F1 of s){let t=await rD({toolCallId:F1.toolCallId,input:F1.input,tool:Q==null?void 0:Q[F1.toolName],output:F1.type==="tool-result"?F1.output:F1.error,errorMode:F1.type==="tool-error"?"json":"none"});B1.push({type:"tool-result",toolCallId:F1.toolCallId,toolName:F1.toolName,output:t})}for(let F1 of Y6)B1.push({type:"tool-result",toolCallId:F1.toolCall.toolCallId,toolName:F1.toolCall.toolName,output:{type:"execution-denied",reason:F1.approvalResponse.reason,...F1.toolCall.providerExecuted&&{providerOptions:{openai:{approvalId:F1.approvalResponse.approvalId}}}}});m1.push({role:"tool",content:B1})}let v9=[...v0,...Y6].filter((s)=>s.toolCall.providerExecuted);if(v9.length>0)m1.push({role:"tool",content:v9.map((s)=>({type:"tool-approval-response",approvalId:s.approvalResponse.approvalId,approved:s.approvalResponse.approved,reason:s.approvalResponse.reason,providerExecuted:!0}))});let a0=PU1(h),j0,l6=[],M=[],x=[],Z1=new Map;do{let s=L1!=null?setTimeout(()=>j1.abort(),L1):void 0;try{let B1=[...h0,...m1],F1=await(E==null?void 0:E({model:n,steps:x,stepNumber:x.length,messages:B1,experimental_context:P})),t=ci((F0=F1==null?void 0:F1.model)!=null?F0:n),r1={provider:t.provider,modelId:t.modelId},f0=await Lh0({prompt:{system:(v1=F1==null?void 0:F1.system)!=null?v1:u1.system,messages:(N1=F1==null?void 0:F1.messages)!=null?N1:B1},supportedUrls:await t.supportedUrls,download:C});P=(n1=F1==null?void 0:F1.experimental_context)!=null?n1:P;let m0=(I1=F1==null?void 0:F1.activeTools)!=null?I1:N,{toolChoice:V0,tools:U4}=await Nh0({tools:Q,toolChoice:(_1=F1==null?void 0:F1.toolChoice)!=null?_1:X,activeTools:m0}),W9=(T0=F1==null?void 0:F1.messages)!=null?T0:B1,t9=(G0=F1==null?void 0:F1.system)!=null?G0:u1.system,P6=ii(z,F1==null?void 0:F1.providerOptions);try{await(f==null?void 0:f({stepNumber:x.length,model:r1,system:t9,messages:W9,tools:Q,toolChoice:V0,activeTools:m0,steps:[...x],providerOptions:P6,timeout:H,headers:$,stopWhen:F,output:q,abortSignal:Z,include:I,functionId:U==null?void 0:U.functionId,metadata:U==null?void 0:U.metadata,experimental_context:P}))}catch(z1){}j0=await b1(()=>{var z1;return Lk({name:"ai.generateText.doGenerate",attributes:iH({telemetry:U,attributes:{...Ok({operationId:"ai.generateText.doGenerate",telemetry:U}),...C1,"ai.model.provider":t.provider,"ai.model.id":t.modelId,"ai.prompt.messages":{input:()=>jh0(f0)},"ai.prompt.tools":{input:()=>U4==null?void 0:U4.map((c1)=>JSON.stringify(c1))},"ai.prompt.toolChoice":{input:()=>V0!=null?JSON.stringify(V0):void 0},"gen_ai.system":t.provider,"gen_ai.request.model":t.modelId,"gen_ai.request.frequency_penalty":h.frequencyPenalty,"gen_ai.request.max_tokens":h.maxOutputTokens,"gen_ai.request.presence_penalty":h.presencePenalty,"gen_ai.request.stop_sequences":h.stopSequences,"gen_ai.request.temperature":(z1=h.temperature)!=null?z1:void 0,"gen_ai.request.top_k":h.topK,"gen_ai.request.top_p":h.topP}}),tracer:G4,fn:async(c1)=>{var U0,c0,l0,j6,n0,y4,f4,c4;let $4=await t.doGenerate({...a0,tools:U4,toolChoice:V0,responseFormat:await(q==null?void 0:q.responseFormat),prompt:f0,providerOptions:P6,abortSignal:O1,headers:$0}),j4={id:(c0=(U0=$4.response)==null?void 0:U0.id)!=null?c0:k(),timestamp:(j6=(l0=$4.response)==null?void 0:l0.timestamp)!=null?j6:new Date,modelId:(y4=(n0=$4.response)==null?void 0:n0.modelId)!=null?y4:t.modelId,headers:(f4=$4.response)==null?void 0:f4.headers,body:(c4=$4.response)==null?void 0:c4.body};return c1.setAttributes(await iH({telemetry:U,attributes:{"ai.response.finishReason":$4.finishReason.unified,"ai.response.text":{output:()=>Nb0($4.content)},"ai.response.reasoning":{output:()=>Lb0($4.content)},"ai.response.toolCalls":{output:()=>{let i4=Ab0($4.content);return i4==null?void 0:JSON.stringify(i4)}},"ai.response.id":j4.id,"ai.response.model":j4.modelId,"ai.response.timestamp":j4.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify($4.providerMetadata),"ai.usage.promptTokens":$4.usage.inputTokens.total,"ai.usage.completionTokens":$4.usage.outputTokens.total,"gen_ai.response.finish_reasons":[$4.finishReason.unified],"gen_ai.response.id":j4.id,"gen_ai.response.model":j4.modelId,"gen_ai.usage.input_tokens":$4.usage.inputTokens.total,"gen_ai.usage.output_tokens":$4.usage.outputTokens.total}})),{...$4,response:j4}}})});let y6=await Promise.all(j0.content.filter((z1)=>z1.type==="tool-call").map((z1)=>hh0({toolCall:z1,tools:Q,repairToolCall:T,system:J,messages:B1}))),KJ={};for(let z1 of y6){if(z1.invalid)continue;let c1=Q==null?void 0:Q[z1.toolName];if(c1==null)continue;if((c1==null?void 0:c1.onInputAvailable)!=null)await c1.onInputAvailable({input:z1.input,toolCallId:z1.toolCallId,messages:B1,abortSignal:O1,experimental_context:P});if(await bh0({tool:c1,toolCall:z1,messages:B1,experimental_context:P}))KJ[z1.toolCallId]={type:"tool-approval-request",approvalId:k(),toolCall:z1}}let u=y6.filter((z1)=>z1.invalid&&z1.dynamic);M=[];for(let z1 of u)M.push({type:"tool-error",toolCallId:z1.toolCallId,toolName:z1.toolName,input:z1.input,error:tq(z1.error),dynamic:!0});if(l6=y6.filter((z1)=>!z1.providerExecuted),Q!=null)M.push(...await wb0({toolCalls:l6.filter((z1)=>!z1.invalid&&KJ[z1.toolCallId]==null),tools:Q,tracer:G4,telemetry:U,messages:B1,abortSignal:O1,experimental_context:P,stepNumber:x.length,model:r1,onToolCallStart:b,onToolCallFinish:g}));for(let z1 of y6){if(!z1.providerExecuted)continue;let c1=Q==null?void 0:Q[z1.toolName];if((c1==null?void 0:c1.type)==="provider"&&c1.supportsDeferredResults){if(!j0.content.some((c0)=>c0.type==="tool-result"&&c0.toolCallId===z1.toolCallId))Z1.set(z1.toolCallId,{toolName:z1.toolName})}}for(let z1 of j0.content)if(z1.type==="tool-result")Z1.delete(z1.toolCallId);let c=sy6({content:j0.content,toolCalls:y6,toolOutputs:M,toolApprovalRequests:Object.values(KJ),tools:Q});m1.push(...await EU1({content:c,tools:Q}));let r=((Z0=I==null?void 0:I.requestBody)!=null?Z0:!0)?(r4=j0.request)!=null?r4:{}:{...j0.request,body:void 0},v={...j0.response,messages:structuredClone(m1),body:((Z6=I==null?void 0:I.responseBody)!=null?Z6:!0)?(h6=j0.response)==null?void 0:h6.body:void 0},G1=x.length,V1=new gh0({stepNumber:G1,model:r1,functionId:U==null?void 0:U.functionId,metadata:U==null?void 0:U.metadata,experimental_context:P,content:c,finishReason:j0.finishReason.unified,rawFinishReason:j0.finishReason.raw,usage:Sh0(j0.usage),warnings:j0.warnings,providerMetadata:j0.providerMetadata,request:r,response:v});jU1({warnings:(W8=j0.warnings)!=null?W8:[],provider:r1.provider,model:r1.modelId}),x.push(V1),await(o==null?void 0:o(V1))}finally{if(s!=null)clearTimeout(s)}}while((l6.length>0&&M.length===l6.length||Z1.size>0)&&!await uh0({stopConditions:K1,steps:x}));d0.setAttributes(await iH({telemetry:U,attributes:{"ai.response.finishReason":j0.finishReason.unified,"ai.response.text":{output:()=>Nb0(j0.content)},"ai.response.reasoning":{output:()=>Lb0(j0.content)},"ai.response.toolCalls":{output:()=>{let s=Ab0(j0.content);return s==null?void 0:JSON.stringify(s)}},"ai.response.providerMetadata":JSON.stringify(j0.providerMetadata),"ai.usage.promptTokens":j0.usage.inputTokens.total,"ai.usage.completionTokens":j0.usage.outputTokens.total}}));let H1=x[x.length-1],O=x.reduce((s,B1)=>{return kh0(s,B1.usage)},{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0,reasoningTokens:void 0,cachedInputTokens:void 0});await(m==null?void 0:m({stepNumber:H1.stepNumber,model:H1.model,functionId:H1.functionId,metadata:H1.metadata,experimental_context:H1.experimental_context,finishReason:H1.finishReason,rawFinishReason:H1.rawFinishReason,usage:H1.usage,content:H1.content,text:H1.text,reasoningText:H1.reasoningText,reasoning:H1.reasoning,files:H1.files,sources:H1.sources,toolCalls:H1.toolCalls,staticToolCalls:H1.staticToolCalls,dynamicToolCalls:H1.dynamicToolCalls,toolResults:H1.toolResults,staticToolResults:H1.staticToolResults,dynamicToolResults:H1.dynamicToolResults,request:H1.request,response:H1.response,warnings:H1.warnings,providerMetadata:H1.providerMetadata,steps:x,totalUsage:O}));let S;if(H1.finishReason==="stop")S=await(q!=null?q:ni()).parseCompleteOutput({text:H1.text},{response:H1.response,usage:H1.usage,finishReason:H1.finishReason});return new oy6({steps:x,totalUsage:O,output:S})}})}catch(d0){throw Eh0(d0)}}async function wb0({toolCalls:Y,tools:Q,tracer:X,telemetry:J,messages:G,abortSignal:K,experimental_context:W,stepNumber:Z,model:H,onToolCallStart:$,onToolCallFinish:F}){return(await Promise.all(Y.map(async(q)=>kU1({toolCall:q,tools:Q,tracer:X,telemetry:J,messages:G,abortSignal:K,experimental_context:W,stepNumber:Z,model:H,onToolCallStart:$,onToolCallFinish:F})))).filter((q)=>q!=null)}function Ab0(Y){let Q=Y.filter((X)=>X.type==="tool-call");if(Q.length===0)return;return Q.map((X)=>({toolCallId:X.toolCallId,toolName:X.toolName,input:X.input}))}function sy6({content:Y,toolCalls:Q,toolOutputs:X,toolApprovalRequests:J,tools:G}){let K=[];for(let W of Y)switch(W.type){case"text":case"reasoning":case"source":K.push(W);break;case"file":{K.push({type:"file",file:new fh0(W),...W.providerMetadata!=null?{providerMetadata:W.providerMetadata}:{}});break}case"tool-call":{K.push(Q.find((Z)=>Z.toolCallId===W.toolCallId));break}case"tool-result":{let Z=Q.find((H)=>H.toolCallId===W.toolCallId);if(Z==null){let H=G==null?void 0:G[W.toolName];if(!((H==null?void 0:H.type)==="provider"&&H.supportsDeferredResults))throw Error(`Tool call ${W.toolCallId} not found.`);if(W.isError)K.push({type:"tool-error",toolCallId:W.toolCallId,toolName:W.toolName,input:void 0,error:W.result,providerExecuted:!0,dynamic:W.dynamic});else K.push({type:"tool-result",toolCallId:W.toolCallId,toolName:W.toolName,input:void 0,output:W.result,providerExecuted:!0,dynamic:W.dynamic});break}if(W.isError)K.push({type:"tool-error",toolCallId:W.toolCallId,toolName:W.toolName,input:Z.input,error:W.result,providerExecuted:!0,dynamic:Z.dynamic});else K.push({type:"tool-result",toolCallId:W.toolCallId,toolName:W.toolName,input:Z.input,output:W.result,providerExecuted:!0,dynamic:Z.dynamic});break}case"tool-approval-request":{let Z=Q.find((H)=>H.toolCallId===W.toolCallId);if(Z==null)throw new IU1({toolCallId:W.toolCallId,approvalId:W.approvalId});K.push({type:"tool-approval-request",approvalId:W.approvalId,toolCall:Z});break}}return[...K,...X,...J]}function ai(Y,Q){let X=new Headers(Y!=null?Y:{});for(let[J,G]of Object.entries(Q))if(!X.has(J))X.set(J,G);return X}function ty6({status:Y,statusText:Q,headers:X,textStream:J}){return new Response(J.pipeThrough(new TextEncoderStream),{status:Y!=null?Y:200,statusText:Q,headers:ai(X,{"content-type":"text/plain; charset=utf-8"})})}function lh0({response:Y,status:Q,statusText:X,headers:J,stream:G}){let K=Q!=null?Q:200;if(X!==void 0)Y.writeHead(K,X,J);else Y.writeHead(K,J);let W=G.getReader();(async()=>{try{while(!0){let{done:H,value:$}=await W.read();if(H)break;if(!Y.write($))await new Promise((V)=>{Y.once("drain",V)})}}catch(H){throw H}finally{Y.end()}})()}function ey6({response:Y,status:Q,statusText:X,headers:J,textStream:G}){lh0({response:Y,status:Q,statusText:X,headers:Object.fromEntries(ai(J,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:G.pipeThrough(new TextEncoderStream)})}function vU1({status:Y,statusText:Q,headers:X,stream:J,consumeSseStream:G}){let K=J.pipeThrough(new dh0);if(G){let[W,Z]=K.tee();K=W,G({stream:Z})}return new Response(K.pipeThrough(new TextEncoderStream),{status:Y,statusText:Q,headers:ai(X,ph0)})}function Yf6({originalMessages:Y,responseMessageId:Q}){if(Y==null)return;let X=Y[Y.length-1];return(X==null?void 0:X.role)==="assistant"?X.id:typeof Q==="function"?Q():Q}function Qf6(Y){return Y.type.startsWith("data-")}function LU1(Y){return Y.type.startsWith("data-")}function NU1(Y){return Y.type==="text"}function MU1(Y){return Y.type==="file"}function Pb0(Y){return Y.type==="reasoning"}function TU1(Y){return Y.type.startsWith("tool-")}function ch0(Y){return Y.type==="dynamic-tool"}function Uk(Y){return TU1(Y)||ch0(Y)}function CU1(Y){return Y.type.split("-").slice(1).join("-")}function wU1(Y){return ch0(Y)?Y.toolName:CU1(Y)}function nh0({lastMessage:Y,messageId:Q}){return{message:(Y==null?void 0:Y.role)==="assistant"?Y:{id:Q,metadata:void 0,role:"assistant",parts:[]},activeTextParts:{},activeReasoningParts:{},partialToolCalls:{}}}function ih0({stream:Y,messageMetadataSchema:Q,dataPartSchemas:X,runUpdateMessageJob:J,onError:G,onToolCall:K,onData:W}){return Y.pipeThrough(new TransformStream({async transform(Z,H){await J(async({state:$,write:F})=>{var V,q,U,z;function D(T){let P=$.message.parts.filter(Uk).find((I)=>I.toolCallId===T);if(P==null)throw new gA({chunkType:"tool-invocation",chunkId:T,message:`No tool invocation found for tool call ID "${T}".`});return P}function N(T){var C;let P=$.message.parts.find((y)=>TU1(y)&&y.toolCallId===T.toolCallId),I=T,k=P;if(P!=null){if(P.state=T.state,k.input=I.input,k.output=I.output,k.errorText=I.errorText,k.rawInput=I.rawInput,k.preliminary=I.preliminary,T.title!==void 0)k.title=T.title;if(k.providerExecuted=(C=I.providerExecuted)!=null?C:P.providerExecuted,I.providerMetadata!=null)P.callProviderMetadata=I.providerMetadata}else $.message.parts.push({type:`tool-${T.toolName}`,toolCallId:T.toolCallId,state:T.state,title:T.title,input:I.input,output:I.output,rawInput:I.rawInput,errorText:I.errorText,providerExecuted:I.providerExecuted,preliminary:I.preliminary,...I.providerMetadata!=null?{callProviderMetadata:I.providerMetadata}:{}})}function w(T){var C,P;let I=$.message.parts.find((f)=>f.type==="dynamic-tool"&&f.toolCallId===T.toolCallId),k=T,y=I;if(I!=null){if(I.state=T.state,y.toolName=T.toolName,y.input=k.input,y.output=k.output,y.errorText=k.errorText,y.rawInput=(C=k.rawInput)!=null?C:y.rawInput,y.preliminary=k.preliminary,T.title!==void 0)y.title=T.title;if(y.providerExecuted=(P=k.providerExecuted)!=null?P:I.providerExecuted,k.providerMetadata!=null)I.callProviderMetadata=k.providerMetadata}else $.message.parts.push({type:"dynamic-tool",toolName:T.toolName,toolCallId:T.toolCallId,state:T.state,input:k.input,output:k.output,errorText:k.errorText,preliminary:k.preliminary,providerExecuted:k.providerExecuted,title:T.title,...k.providerMetadata!=null?{callProviderMetadata:k.providerMetadata}:{}})}async function E(T){if(T!=null){let C=$.message.metadata!=null?ii($.message.metadata,T):T;if(Q!=null)await nH({value:C,schema:Q,context:{field:"message.metadata",entityId:$.message.id}});$.message.metadata=C}}switch(Z.type){case"text-start":{let T={type:"text",text:"",providerMetadata:Z.providerMetadata,state:"streaming"};$.activeTextParts[Z.id]=T,$.message.parts.push(T),F();break}case"text-delta":{let T=$.activeTextParts[Z.id];if(T==null)throw new gA({chunkType:"text-delta",chunkId:Z.id,message:`Received text-delta for missing text part with ID "${Z.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});T.text+=Z.delta,T.providerMetadata=(V=Z.providerMetadata)!=null?V:T.providerMetadata,F();break}case"text-end":{let T=$.activeTextParts[Z.id];if(T==null)throw new gA({chunkType:"text-end",chunkId:Z.id,message:`Received text-end for missing text part with ID "${Z.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});T.state="done",T.providerMetadata=(q=Z.providerMetadata)!=null?q:T.providerMetadata,delete $.activeTextParts[Z.id],F();break}case"reasoning-start":{let T={type:"reasoning",text:"",providerMetadata:Z.providerMetadata,state:"streaming"};$.activeReasoningParts[Z.id]=T,$.message.parts.push(T),F();break}case"reasoning-delta":{let T=$.activeReasoningParts[Z.id];if(T==null)throw new gA({chunkType:"reasoning-delta",chunkId:Z.id,message:`Received reasoning-delta for missing reasoning part with ID "${Z.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});T.text+=Z.delta,T.providerMetadata=(U=Z.providerMetadata)!=null?U:T.providerMetadata,F();break}case"reasoning-end":{let T=$.activeReasoningParts[Z.id];if(T==null)throw new gA({chunkType:"reasoning-end",chunkId:Z.id,message:`Received reasoning-end for missing reasoning part with ID "${Z.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});T.providerMetadata=(z=Z.providerMetadata)!=null?z:T.providerMetadata,T.state="done",delete $.activeReasoningParts[Z.id],F();break}case"file":{$.message.parts.push({type:"file",mediaType:Z.mediaType,url:Z.url}),F();break}case"source-url":{$.message.parts.push({type:"source-url",sourceId:Z.sourceId,url:Z.url,title:Z.title,providerMetadata:Z.providerMetadata}),F();break}case"source-document":{$.message.parts.push({type:"source-document",sourceId:Z.sourceId,mediaType:Z.mediaType,title:Z.title,filename:Z.filename,providerMetadata:Z.providerMetadata}),F();break}case"tool-input-start":{let T=$.message.parts.filter(TU1);if($.partialToolCalls[Z.toolCallId]={text:"",toolName:Z.toolName,index:T.length,dynamic:Z.dynamic,title:Z.title},Z.dynamic)w({toolCallId:Z.toolCallId,toolName:Z.toolName,state:"input-streaming",input:void 0,providerExecuted:Z.providerExecuted,title:Z.title,providerMetadata:Z.providerMetadata});else N({toolCallId:Z.toolCallId,toolName:Z.toolName,state:"input-streaming",input:void 0,providerExecuted:Z.providerExecuted,title:Z.title,providerMetadata:Z.providerMetadata});F();break}case"tool-input-delta":{let T=$.partialToolCalls[Z.toolCallId];if(T==null)throw new gA({chunkType:"tool-input-delta",chunkId:Z.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${Z.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});T.text+=Z.inputTextDelta;let{value:C}=await Nk(T.text);if(T.dynamic)w({toolCallId:Z.toolCallId,toolName:T.toolName,state:"input-streaming",input:C,title:T.title});else N({toolCallId:Z.toolCallId,toolName:T.toolName,state:"input-streaming",input:C,title:T.title});F();break}case"tool-input-available":{if(Z.dynamic)w({toolCallId:Z.toolCallId,toolName:Z.toolName,state:"input-available",input:Z.input,providerExecuted:Z.providerExecuted,providerMetadata:Z.providerMetadata,title:Z.title});else N({toolCallId:Z.toolCallId,toolName:Z.toolName,state:"input-available",input:Z.input,providerExecuted:Z.providerExecuted,providerMetadata:Z.providerMetadata,title:Z.title});if(F(),K&&!Z.providerExecuted)await K({toolCall:Z});break}case"tool-input-error":{if(Z.dynamic)w({toolCallId:Z.toolCallId,toolName:Z.toolName,state:"output-error",input:Z.input,errorText:Z.errorText,providerExecuted:Z.providerExecuted,providerMetadata:Z.providerMetadata});else N({toolCallId:Z.toolCallId,toolName:Z.toolName,state:"output-error",input:void 0,rawInput:Z.input,errorText:Z.errorText,providerExecuted:Z.providerExecuted,providerMetadata:Z.providerMetadata});F();break}case"tool-approval-request":{let T=D(Z.toolCallId);T.state="approval-requested",T.approval={id:Z.approvalId},F();break}case"tool-output-denied":{let T=D(Z.toolCallId);T.state="output-denied",F();break}case"tool-output-available":{let T=D(Z.toolCallId);if(T.type==="dynamic-tool")w({toolCallId:Z.toolCallId,toolName:T.toolName,state:"output-available",input:T.input,output:Z.output,preliminary:Z.preliminary,providerExecuted:Z.providerExecuted,title:T.title});else N({toolCallId:Z.toolCallId,toolName:CU1(T),state:"output-available",input:T.input,output:Z.output,providerExecuted:Z.providerExecuted,preliminary:Z.preliminary,title:T.title});F();break}case"tool-output-error":{let T=D(Z.toolCallId);if(T.type==="dynamic-tool")w({toolCallId:Z.toolCallId,toolName:T.toolName,state:"output-error",input:T.input,errorText:Z.errorText,providerExecuted:Z.providerExecuted,title:T.title});else N({toolCallId:Z.toolCallId,toolName:CU1(T),state:"output-error",input:T.input,rawInput:T.rawInput,errorText:Z.errorText,providerExecuted:Z.providerExecuted,title:T.title});F();break}case"start-step":{$.message.parts.push({type:"step-start"});break}case"finish-step":{$.activeTextParts={},$.activeReasoningParts={};break}case"start":{if(Z.messageId!=null)$.message.id=Z.messageId;if(await E(Z.messageMetadata),Z.messageId!=null||Z.messageMetadata!=null)F();break}case"finish":{if(Z.finishReason!=null)$.finishReason=Z.finishReason;if(await E(Z.messageMetadata),Z.messageMetadata!=null)F();break}case"message-metadata":{if(await E(Z.messageMetadata),Z.messageMetadata!=null)F();break}case"error":{G==null||G(Error(Z.errorText));break}default:if(Qf6(Z)){if((X==null?void 0:X[Z.type])!=null){let P=$.message.parts.findIndex((k)=>("id"in k)&&("data"in k)&&k.id===Z.id&&k.type===Z.type),I=P>=0?P:$.message.parts.length;await nH({value:Z.data,schema:X[Z.type],context:{field:`message.parts[${I}].data`,entityName:Z.type,entityId:Z.id}})}let T=Z;if(T.transient){W==null||W(T);break}let C=T.id!=null?$.message.parts.find((P)=>T.type===P.type&&T.id===P.id):void 0;if(C!=null)C.data=T.data;else $.message.parts.push(T);W==null||W(T),F()}}H.enqueue(Z)})}}))}function ah0({messageId:Y,originalMessages:Q=[],onStepFinish:X,onFinish:J,onError:G,stream:K}){let W=Q==null?void 0:Q[Q.length-1];if((W==null?void 0:W.role)!=="assistant")W=void 0;else Y=W.id;let Z=!1,H=K.pipeThrough(new TransformStream({transform(z,D){if(z.type==="start"){let N=z;if(N.messageId==null&&Y!=null)N.messageId=Y}if(z.type==="abort")Z=!0;D.enqueue(z)}}));if(J==null&&X==null)return H;let $=nh0({lastMessage:W?structuredClone(W):void 0,messageId:Y!=null?Y:""}),F=async(z)=>{await z({state:$,write:()=>{}})},V=!1,q=async()=>{if(V||!J)return;V=!0;let z=$.message.id===(W==null?void 0:W.id);await J({isAborted:Z,isContinuation:z,responseMessage:$.message,messages:[...z?Q.slice(0,-1):Q,$.message],finishReason:$.finishReason})},U=async()=>{if(!X)return;let z=$.message.id===(W==null?void 0:W.id);try{await X({isContinuation:z,responseMessage:structuredClone($.message),messages:[...z?Q.slice(0,-1):Q,structuredClone($.message)]})}catch(D){G(D)}};return ih0({stream:H,runUpdateMessageJob:F,onError:G}).pipeThrough(new TransformStream({async transform(z,D){if(z.type==="finish-step")await U();D.enqueue(z)},async cancel(){await q()},async flush(){await q()}}))}function Xf6({response:Y,status:Q,statusText:X,headers:J,stream:G,consumeSseStream:K}){let W=G.pipeThrough(new dh0);if(K){let[Z,H]=W.tee();W=Z,K({stream:H})}lh0({response:Y,status:Q,statusText:X,headers:Object.fromEntries(ai(J,ph0).entries()),stream:W.pipeThrough(new TextEncoderStream)})}function uA(Y){let Q=Y.pipeThrough(new TransformStream);return Q[Symbol.asyncIterator]=function(){let X=this.getReader(),J=!1;async function G(K){var W;if(J)return;J=!0;try{if(K)await((W=X.cancel)==null?void 0:W.call(X))}finally{try{X.releaseLock()}catch(Z){}}}return{async next(){if(J)return{done:!0,value:void 0};let{done:K,value:W}=await X.read();if(K)return await G(!0),{done:!0,value:void 0};return{done:!1,value:W}},async return(){return await G(!0),{done:!0,value:void 0}},async throw(K){throw await G(!0),K}}},Q}async function ri({stream:Y,onError:Q}){let X=Y.getReader();try{while(!0){let{done:J}=await X.read();if(J)break}}catch(J){Q==null||Q(J)}finally{X.releaseLock()}}function Eb0(){let Y,Q;return{promise:new Promise((J,G)=>{Y=J,Q=G}),resolve:Y,reject:Q}}function Jf6(){let Y=[],Q=null,X=!1,J=Eb0(),G=()=>{X=!0,J.resolve(),Y.forEach((W)=>W.cancel()),Y=[],Q==null||Q.close()},K=async()=>{if(X&&Y.length===0){Q==null||Q.close();return}if(Y.length===0)return J=Eb0(),await J.promise,K();try{let{value:W,done:Z}=await Y[0].read();if(Z)if(Y.shift(),Y.length===0&&X)Q==null||Q.close();else await K();else Q==null||Q.enqueue(W)}catch(W){Q==null||Q.error(W),Y.shift(),G()}};return{stream:new ReadableStream({start(W){Q=W},pull:K,async cancel(){for(let W of Y)await W.cancel();Y=[],X=!0}}),addStream:(W)=>{if(X)throw Error("Cannot add inner stream: outer stream is closed");Y.push(W.getReader()),J.resolve()},close:()=>{if(X=!0,J.resolve(),Y.length===0)Q==null||Q.close()},terminate:G}}function Gf6({tools:Y,generatorStream:Q,tracer:X,telemetry:J,system:G,messages:K,abortSignal:W,repairToolCall:Z,experimental_context:H,generateId:$,stepNumber:F,model:V,onToolCallStart:q,onToolCallFinish:U}){let z=null,D=new ReadableStream({start(k){z=k}}),N=new Set,w=new Map,E=new Map,T=!1,C=void 0;function P(){if(T&&N.size===0){if(C!=null)z.enqueue(C);z.close()}}let I=new TransformStream({async transform(k,y){let f=k.type;switch(f){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":{y.enqueue(k);break}case"file":{y.enqueue({type:"file",file:new ly6({data:k.data,mediaType:k.mediaType})});break}case"finish":{C={type:"finish",finishReason:k.finishReason.unified,rawFinishReason:k.finishReason.raw,usage:Sh0(k.usage),providerMetadata:k.providerMetadata};break}case"tool-approval-request":{let b=E.get(k.toolCallId);if(b==null){z.enqueue({type:"error",error:new IU1({toolCallId:k.toolCallId,approvalId:k.approvalId})});break}y.enqueue({type:"tool-approval-request",approvalId:k.approvalId,toolCall:b});break}case"tool-call":{try{let b=await hh0({toolCall:k,tools:Y,repairToolCall:Z,system:G,messages:K});if(E.set(b.toolCallId,b),y.enqueue(b),b.invalid){z.enqueue({type:"tool-error",toolCallId:b.toolCallId,toolName:b.toolName,input:b.input,error:tq(b.error),dynamic:!0,title:b.title});break}let g=Y==null?void 0:Y[b.toolName];if(g==null)break;if(g.onInputAvailable!=null)await g.onInputAvailable({input:b.input,toolCallId:b.toolCallId,messages:K,abortSignal:W,experimental_context:H});if(await bh0({tool:g,toolCall:b,messages:K,experimental_context:H})){z.enqueue({type:"tool-approval-request",approvalId:$(),toolCall:b});break}if(w.set(b.toolCallId,b.input),g.execute!=null&&b.providerExecuted!==!0){let o=$();N.add(o),kU1({toolCall:b,tools:Y,tracer:X,telemetry:J,messages:K,abortSignal:W,experimental_context:H,stepNumber:F,model:V,onToolCallStart:q,onToolCallFinish:U,onPreliminaryToolResult:(m)=>{z.enqueue(m)}}).then((m)=>{z.enqueue(m)}).catch((m)=>{z.enqueue({type:"error",error:m})}).finally(()=>{N.delete(o),P()})}}catch(b){z.enqueue({type:"error",error:b})}break}case"tool-result":{let b=k.toolName;if(k.isError)z.enqueue({type:"tool-error",toolCallId:k.toolCallId,toolName:b,input:w.get(k.toolCallId),providerExecuted:!0,error:k.result,dynamic:k.dynamic});else y.enqueue({type:"tool-result",toolCallId:k.toolCallId,toolName:b,input:w.get(k.toolCallId),output:k.result,providerExecuted:!0,dynamic:k.dynamic});break}default:throw Error(`Unhandled chunk type: ${f}`)}},flush(){T=!0,P()}});return new ReadableStream({async start(k){return Promise.all([Q.pipeThrough(I).pipeTo(new WritableStream({write(y){k.enqueue(y)},close(){}})),D.pipeTo(new WritableStream({write(y){k.enqueue(y)},close(){k.close()}}))])}})}function dA({model:Y,tools:Q,toolChoice:X,system:J,prompt:G,messages:K,maxRetries:W,abortSignal:Z,timeout:H,headers:$,stopWhen:F=YB(1),experimental_output:V,output:q=V,experimental_telemetry:U,prepareStep:z,providerOptions:D,experimental_activeTools:N,activeTools:w=N,experimental_repairToolCall:E,experimental_transform:T,experimental_download:C,includeRawChunks:P=!1,onChunk:I,onError:k=({error:O1})=>{console.error(O1)},onFinish:y,onAbort:f,onStepFinish:b,experimental_onStart:g,experimental_onStepStart:o,experimental_onToolCallStart:m,experimental_onToolCallFinish:h,experimental_context:n,experimental_include:K1,_internal:{now:J1=pi,generateId:L1=Wf6}={},...j1}){let O1=SU1(H),T1=Bh0(H),b1=zy6(H),t1=T1!=null?new AbortController:void 0,$0=b1!=null?new AbortController:void 0;return new Kf6({model:ci(Y),telemetry:U,headers:$,settings:j1,maxRetries:W,abortSignal:mh0(Z,O1!=null?AbortSignal.timeout(O1):void 0,t1==null?void 0:t1.signal,$0==null?void 0:$0.signal),stepTimeoutMs:T1,stepAbortController:t1,chunkTimeoutMs:b1,chunkAbortController:$0,system:J,prompt:G,messages:K,tools:Q,toolChoice:X,transforms:zk(T),activeTools:w,repairToolCall:E,stopConditions:zk(F),output:q,providerOptions:D,prepareStep:z,includeRawChunks:P,timeout:H,stopWhen:F,originalAbortSignal:Z,onChunk:I,onError:k,onFinish:y,onAbort:f,onStepFinish:b,onStart:g,onStepStart:o,onToolCallStart:m,onToolCallFinish:h,now:J1,generateId:L1,experimental_context:n,download:C,include:K1})}function Zf6(Y){let Q=void 0,X="",J="",G=void 0,K="";function W({controller:Z,partialOutput:H=void 0}){Z.enqueue({part:{type:"text-delta",id:Q,text:J,providerMetadata:G},partialOutput:H}),J=""}return new TransformStream({async transform(Z,H){var $;if(Z.type==="finish-step"&&J.length>0)W({controller:H});if(Z.type!=="text-delta"&&Z.type!=="text-start"&&Z.type!=="text-end"){H.enqueue({part:Z,partialOutput:void 0});return}if(Q==null)Q=Z.id;else if(Z.id!==Q){H.enqueue({part:Z,partialOutput:void 0});return}if(Z.type==="text-start"){H.enqueue({part:Z,partialOutput:void 0});return}if(Z.type==="text-end"){if(J.length>0)W({controller:H});H.enqueue({part:Z,partialOutput:void 0});return}X+=Z.text,J+=Z.text,G=($=Z.providerMetadata)!=null?$:G;let F=await Y.parsePartialOutput({text:X});if(F!==void 0){let V=JSON.stringify(F.partial);if(V!==K)W({controller:H,partialOutput:F.partial}),K=V}}})}function rh0({execute:Y,onError:Q=tq,originalMessages:X,onStepFinish:J,onFinish:G,generateId:K=sB1}){let W,Z=[],H=new ReadableStream({start(V){W=V}});function $(V){try{W.enqueue(V)}catch(q){}}try{let V=Y({writer:{write(q){$(q)},merge(q){Z.push((async()=>{let U=q.getReader();while(!0){let{done:z,value:D}=await U.read();if(z)break;$(D)}})().catch((U)=>{$({type:"error",errorText:Q(U)})}))},onError:Q}});if(V)Z.push(V.catch((q)=>{$({type:"error",errorText:Q(q)})}))}catch(V){$({type:"error",errorText:Q(V)})}return new Promise(async(V)=>{while(Z.length>0)await Z.shift();V()}).finally(()=>{try{W.close()}catch(V){}}),ah0({stream:H,messageId:K(),originalMessages:X,onStepFinish:J,onFinish:G,onError:Q})}function oh0({message:Y,stream:Q,onError:X,terminateOnError:J=!1}){var G;let K,W=!1,Z=new ReadableStream({start(F){K=F}}),H=nh0({messageId:(G=Y==null?void 0:Y.id)!=null?G:"",lastMessage:Y}),$=(F)=>{if(X==null||X(F),!W&&J)W=!0,K==null||K.error(F)};return ri({stream:ih0({stream:Q,runUpdateMessageJob(F){return F({state:H,write:()=>{K==null||K.enqueue(structuredClone(H.message))}})},onError:$}),onError:$}).finally(()=>{if(!W)K==null||K.close()}),uA(Z)}async function sh0(Y,Q){let X=[];if(Q==null?void 0:Q.ignoreIncompleteToolCalls)Y=Y.map((J)=>({...J,parts:J.parts.filter((G)=>!Uk(G)||G.state!=="input-streaming"&&G.state!=="input-available")}));for(let J of Y)switch(J.role){case"system":{let G=J.parts.filter((W)=>W.type==="text"),K=G.reduce((W,Z)=>{if(Z.providerMetadata!=null)return{...W,...Z.providerMetadata};return W},{});X.push({role:"system",content:G.map((W)=>W.text).join(""),...Object.keys(K).length>0?{providerOptions:K}:{}});break}case"user":{X.push({role:"user",content:J.parts.map((G)=>{var K;if(NU1(G))return{type:"text",text:G.text,...G.providerMetadata!=null?{providerOptions:G.providerMetadata}:{}};if(MU1(G))return{type:"file",mediaType:G.mediaType,filename:G.filename,data:G.url,...G.providerMetadata!=null?{providerOptions:G.providerMetadata}:{}};if(LU1(G))return(K=Q==null?void 0:Q.convertDataPart)==null?void 0:K.call(Q,G)}).filter(by0)});break}case"assistant":{if(J.parts!=null){let G=[];async function K(){var W,Z,H,$,F,V;if(G.length===0)return;let q=[];for(let z of G)if(NU1(z))q.push({type:"text",text:z.text,...z.providerMetadata!=null?{providerOptions:z.providerMetadata}:{}});else if(MU1(z))q.push({type:"file",mediaType:z.mediaType,filename:z.filename,data:z.url});else if(Pb0(z))q.push({type:"reasoning",text:z.text,providerOptions:z.providerMetadata});else if(Uk(z)){let D=wU1(z);if(z.state!=="input-streaming"){if(q.push({type:"tool-call",toolCallId:z.toolCallId,toolName:D,input:z.state==="output-error"?(W=z.input)!=null?W:("rawInput"in z)?z.rawInput:void 0:z.input,providerExecuted:z.providerExecuted,...z.callProviderMetadata!=null?{providerOptions:z.callProviderMetadata}:{}}),z.approval!=null)q.push({type:"tool-approval-request",approvalId:z.approval.id,toolCallId:z.toolCallId});if(z.providerExecuted===!0&&z.state!=="approval-responded"&&(z.state==="output-available"||z.state==="output-error"))q.push({type:"tool-result",toolCallId:z.toolCallId,toolName:D,output:await rD({toolCallId:z.toolCallId,input:z.input,output:z.state==="output-error"?z.errorText:z.output,tool:(Z=Q==null?void 0:Q.tools)==null?void 0:Z[D],errorMode:z.state==="output-error"?"json":"none"}),...z.callProviderMetadata!=null?{providerOptions:z.callProviderMetadata}:{}})}}else if(LU1(z)){let D=(H=Q==null?void 0:Q.convertDataPart)==null?void 0:H.call(Q,z);if(D!=null)q.push(D)}else throw Error(`Unsupported part: ${z}`);X.push({role:"assistant",content:q});let U=G.filter((z)=>{var D;return Uk(z)&&(z.providerExecuted!==!0||((D=z.approval)==null?void 0:D.approved)!=null)});if(U.length>0){let z=[];for(let D of U){if((($=D.approval)==null?void 0:$.approved)!=null)z.push({type:"tool-approval-response",approvalId:D.approval.id,approved:D.approval.approved,reason:D.approval.reason,providerExecuted:D.providerExecuted});if(D.providerExecuted===!0)continue;switch(D.state){case"output-denied":{z.push({type:"tool-result",toolCallId:D.toolCallId,toolName:wU1(D),output:{type:"error-text",value:(F=D.approval.reason)!=null?F:"Tool execution denied."},...D.callProviderMetadata!=null?{providerOptions:D.callProviderMetadata}:{}});break}case"output-error":case"output-available":{let N=wU1(D);z.push({type:"tool-result",toolCallId:D.toolCallId,toolName:N,output:await rD({toolCallId:D.toolCallId,input:D.input,output:D.state==="output-error"?D.errorText:D.output,tool:(V=Q==null?void 0:Q.tools)==null?void 0:V[N],errorMode:D.state==="output-error"?"text":"none"}),...D.callProviderMetadata!=null?{providerOptions:D.callProviderMetadata}:{}});break}}}if(z.length>0)X.push({role:"tool",content:z})}G=[]}for(let W of J.parts)if(NU1(W)||Pb0(W)||MU1(W)||Uk(W)||LU1(W))G.push(W);else if(W.type==="step-start")await K();await K();break}break}default:{let G=J.role;throw new Ky6({originalMessage:J,message:`Unsupported role: ${G}`})}}return X}async function $f6({messages:Y,metadataSchema:Q,dataSchemas:X,tools:J}){try{if(Y==null)return{success:!1,error:new iZ({parameter:"messages",value:Y,message:"messages parameter must be provided"})};let G=await nH({value:Y,schema:Hf6});if(Q)for(let[K,W]of G.entries())await nH({value:W.metadata,schema:Q,context:{field:`messages[${K}].metadata`,entityId:W.id}});if(X||J)for(let[K,W]of G.entries())for(let[Z,H]of W.parts.entries()){if(X&&H.type.startsWith("data-")){let $=H,F=$.type.slice(5),V=X[F];if(!V)return{success:!1,error:new wG({value:$.data,cause:`No data schema found for data part ${F}`,context:{field:`messages[${K}].parts[${Z}].data`,entityName:F,entityId:$.id}})};await nH({value:$.data,schema:V,context:{field:`messages[${K}].parts[${Z}].data`,entityName:F,entityId:$.id}})}if(J&&H.type.startsWith("tool-")){let $=H,F=$.type.slice(5),V=J[F];if(!V)return{success:!1,error:new wG({value:$.input,cause:`No tool schema found for tool part ${F}`,context:{field:`messages[${K}].parts[${Z}].input`,entityName:F,entityId:$.toolCallId}})};if($.state==="input-available"||$.state==="output-available"||$.state==="output-error"&&$.input!==void 0)await nH({value:$.input,schema:V.inputSchema,context:{field:`messages[${K}].parts[${Z}].input`,entityName:F,entityId:$.toolCallId}});if($.state==="output-available"&&V.outputSchema)await nH({value:$.output,schema:V.outputSchema,context:{field:`messages[${K}].parts[${Z}].output`,entityName:F,entityId:$.toolCallId}})}}return{success:!0,data:G}}catch(G){return{success:!1,error:G}}}async function th0({messages:Y,metadataSchema:Q,dataSchemas:X,tools:J}){let G=await $f6({messages:Y,metadataSchema:Q,dataSchemas:X,tools:J});if(!G.success)throw G.error;return G.data}function eh0(Y){return({url:Q,abortSignal:X})=>zh0({url:Q,maxBytes:Y==null?void 0:Y.maxBytes,abortSignal:X})}function Yx0({messages:Y,reasoning:Q="none",toolCalls:X=[],emptyMessages:J="remove"}){if(Q==="all"||Q==="before-last-message")Y=Y.map((G,K)=>{if(G.role!=="assistant"||typeof G.content==="string"||Q==="before-last-message"&&K===Y.length-1)return G;return{...G,content:G.content.filter((W)=>W.type!=="reasoning")}});if(X==="none")X=[];else if(X==="all")X=[{type:"all"}];else if(X==="before-last-message")X=[{type:"before-last-message"}];else if(typeof X==="string")X=[{type:X}];for(let G of X){let K=G.type==="all"?void 0:G.type==="before-last-message"?1:Number(G.type.slice(12).slice(0,-9)),W=new Set,Z=new Set;if(K!=null){for(let H of Y.slice(-K))if((H.role==="assistant"||H.role==="tool")&&typeof H.content!=="string"){for(let $ of H.content)if($.type==="tool-call"||$.type==="tool-result")W.add($.toolCallId);else if($.type==="tool-approval-request"||$.type==="tool-approval-response")Z.add($.approvalId)}}Y=Y.map((H,$)=>{if(H.role!=="assistant"&&H.role!=="tool"||typeof H.content==="string"||K&&$>=Y.length-K)return H;let F={},V={};return{...H,content:H.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")&&W.has(q.toolCallId)||(q.type==="tool-approval-request"||q.type==="tool-approval-response")&&Z.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")Y=Y.filter((G)=>G.content.length>0);return Y}var Ch0,mA,N_6,M_6=(Y,Q)=>{for(var X in Q)N_6(Y,X,{get:Q[X],enumerable:!0})},Tb0="AI_InvalidArgumentError",Cb0,w_6,Rb0,iZ,A_6="AI_InvalidStreamPartError",P_6,E_6,T_6,Ib0="AI_InvalidToolApprovalError",jb0,C_6,Sb0,R_6,kb0="AI_InvalidToolInputError",vb0,I_6,_b0,RU1,yb0="AI_ToolCallNotFoundForApprovalError",fb0,j_6,bb0,IU1,hb0="AI_MissingToolResultsError",xb0,S_6,gb0,Bb0,k_6="AI_NoImageGeneratedError",v_6,__6,y_6,ub0="AI_NoObjectGeneratedError",mb0,f_6,lb0,eq,db0="AI_NoOutputGeneratedError",pb0,b_6,cb0,nb0,h_6="AI_NoSpeechGeneratedError",x_6,g_6,u_6,m_6="AI_NoTranscriptGeneratedError",l_6,d_6,p_6,c_6="AI_NoVideoGeneratedError",n_6,i_6,a_6,ib0="AI_NoSuchToolError",ab0,r_6,rb0,AU1,ob0="AI_ToolCallRepairError",sb0,o_6,tb0,s_6,t_6,eb0="AI_UIMessageStreamError",Yh0,e_6,Qh0,gA,Yy6="AI_InvalidDataContentError",Qy6,Xy6,Jy6,Xh0="AI_InvalidMessageRoleError",Jh0,Gy6,Gh0,Wy6,Wh0="AI_MessageConversionError",Zh0,Zy6,Kh0,Ky6,Hh0="AI_RetryError",$h0,Hy6,Fh0,Ub0,Fy6="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",zb0=!1,jU1=(Y)=>{if(Y.warnings.length===0)return;let Q=globalThis.AI_SDK_LOG_WARNINGS;if(Q===!1)return;if(typeof Q==="function"){Q(Y);return}if(!zb0)zb0=!0,console.info(Fy6);for(let X of Y.warnings)console.warn($y6({warning:X,provider:Y.provider,model:Y.model}))},Dy6,Oy6=(Y)=>{let Q=typeof Y==="string"?bA(Y):Y,X=(Q[6]&127)<<21|(Q[7]&127)<<14|(Q[8]&127)<<7|Q[9]&127;return Q.slice(X+10)},Uh0="6.0.97",zh0=async({url:Y,maxBytes:Q,abortSignal:X})=>{var J;let G=Y.toString();try{let K=await fetch(G,{headers:s$({},`ai-sdk/${Uh0}`,yi()),signal:X});if(!K.ok)throw new fA({url:G,statusCode:K.status,statusText:K.statusText});return{data:await _y0({response:K,url:G,maxBytes:Q!=null?Q:oB1}),mediaType:(J=K.headers.get("content-type"))!=null?J:void 0}}catch(K){if(fA.isInstance(K))throw K;throw new fA({url:G,cause:K})}},My6=(Y=zh0)=>(Q)=>Promise.all(Q.map(async(X)=>X.isUrlSupportedByModel?null:Y(X))),Dh0,Dk,p4,Mh0,Ry6,wh0,Iy6,jy6,Sy6,Ah0,ky6,vy6,_y6,yy6,fy6,by6,hy6,xy6,di,gy6,my6=({maxRetries:Y=2,initialDelayInMs:Q=2000,backoffFactor:X=2,abortSignal:J}={})=>async(G)=>vh0(G,{maxRetries:Y,delayInMs:Q,backoffFactor:X,abortSignal:J}),fh0=class{constructor({data:Y,mediaType:Q}){let X=Y instanceof Uint8Array;this.base64Data=X?void 0:Y,this.uint8ArrayData=X?Y:void 0,this.mediaType=Q}get base64(){if(this.base64Data==null)this.base64Data=o$(this.uint8ArrayData);return this.base64Data}get uint8Array(){if(this.uint8ArrayData==null)this.uint8ArrayData=bA(this.base64Data);return this.uint8ArrayData}},ly6,dy6,ni=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:Y}){return Y},async parsePartialOutput({text:Y}){return{partial:Y}},createElementStreamTransform(){return}}),cy6=({schema:Y,name:Q,description:X})=>{let J=cH(Y);return{name:"object",responseFormat:TQ(J.jsonSchema).then((G)=>({type:"json",schema:G,...Q!=null&&{name:Q},...X!=null&&{description:X}})),async parseCompleteOutput({text:G},K){let W=await AG({text:G});if(!W.success)throw new eq({message:"No object generated: could not parse the response.",cause:W.error,text:G,response:K.response,usage:K.usage,finishReason:K.finishReason});let Z=await C5({value:W.value,schema:J});if(!Z.success)throw new eq({message:"No object generated: response did not match schema.",cause:Z.error,text:G,response:K.response,usage:K.usage,finishReason:K.finishReason});return Z.value},async parsePartialOutput({text:G}){let K=await Nk(G);switch(K.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:K.value}}},createElementStreamTransform(){return}}},ny6=({element:Y,name:Q,description:X})=>{let J=cH(Y);return{name:"array",responseFormat:TQ(J.jsonSchema).then((G)=>{let{$schema:K,...W}=G;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:W}},required:["elements"],additionalProperties:!1},...Q!=null&&{name:Q},...X!=null&&{description:X}}}),async parseCompleteOutput({text:G},K){let W=await AG({text:G});if(!W.success)throw new eq({message:"No object generated: could not parse the response.",cause:W.error,text:G,response:K.response,usage:K.usage,finishReason:K.finishReason});let Z=W.value;if(Z==null||typeof Z!=="object"||!("elements"in Z)||!Array.isArray(Z.elements))throw new eq({message:"No object generated: response did not match schema.",cause:new wG({value:Z,cause:"response must be an object with an elements array"}),text:G,response:K.response,usage:K.usage,finishReason:K.finishReason});for(let H of Z.elements){let $=await C5({value:H,schema:J});if(!$.success)throw new eq({message:"No object generated: response did not match schema.",cause:$.error,text:G,response:K.response,usage:K.usage,finishReason:K.finishReason})}return Z.elements},async parsePartialOutput({text:G}){let K=await Nk(G);switch(K.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let W=K.value;if(W==null||typeof W!=="object"||!("elements"in W)||!Array.isArray(W.elements))return;let Z=K.state==="repaired-parse"&&W.elements.length>0?W.elements.slice(0,-1):W.elements,H=[];for(let $ of Z){let F=await C5({value:$,schema:J});if(F.success)H.push(F.value)}return{partial:H}}}},createElementStreamTransform(){let G=0;return new TransformStream({transform({partialOutput:K},W){if(K!=null)for(;G<K.length;G++)W.enqueue(K[G])}})}}},iy6=({options:Y,name:Q,description:X})=>{return{name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:Y}},required:["result"],additionalProperties:!1},...Q!=null&&{name:Q},...X!=null&&{description:X}}),async parseCompleteOutput({text:J},G){let K=await AG({text:J});if(!K.success)throw new eq({message:"No object generated: could not parse the response.",cause:K.error,text:J,response:G.response,usage:G.usage,finishReason:G.finishReason});let W=K.value;if(W==null||typeof W!=="object"||!("result"in W)||typeof W.result!=="string"||!Y.includes(W.result))throw new eq({message:"No object generated: response did not match schema.",cause:new wG({value:W,cause:"response must be an object that contains a choice value."}),text:J,response:G.response,usage:G.usage,finishReason:G.finishReason});return W.result},async parsePartialOutput({text:J}){let G=await Nk(J);switch(G.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let K=G.value;if(K==null||typeof K!=="object"||!("result"in K)||typeof K.result!=="string")return;let W=Y.filter((Z)=>Z.startsWith(K.result));if(G.state==="successful-parse")return W.includes(K.result)?{partial:K.result}:void 0;else return W.length===1?{partial:W[0]}:void 0}}},createElementStreamTransform(){return}}},ay6=({name:Y,description:Q}={})=>{return{name:"json",responseFormat:Promise.resolve({type:"json",...Y!=null&&{name:Y},...Q!=null&&{description:Q}}),async parseCompleteOutput({text:X},J){let G=await AG({text:X});if(!G.success)throw new eq({message:"No object generated: could not parse the response.",cause:G.error,text:X,response:J.response,usage:J.usage,finishReason:J.finishReason});return G.value},async parsePartialOutput({text:X}){let J=await Nk(X);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}}},createElementStreamTransform(){return}}},gh0=class{constructor({stepNumber:Y,model:Q,functionId:X,metadata:J,experimental_context:G,content:K,finishReason:W,rawFinishReason:Z,usage:H,warnings:$,request:F,response:V,providerMetadata:q}){this.stepNumber=Y,this.model=Q,this.functionId=X,this.metadata=J,this.experimental_context=G,this.content=K,this.finishReason=W,this.rawFinishReason=Z,this.usage=H,this.warnings=$,this.request=F,this.response=V,this.providerMetadata=q}get text(){return this.content.filter((Y)=>Y.type==="text").map((Y)=>Y.text).join("")}get reasoning(){return this.content.filter((Y)=>Y.type==="reasoning")}get reasoningText(){return this.reasoning.length===0?void 0:this.reasoning.map((Y)=>Y.text).join("")}get files(){return this.content.filter((Y)=>Y.type==="file").map((Y)=>Y.file)}get sources(){return this.content.filter((Y)=>Y.type==="source")}get toolCalls(){return this.content.filter((Y)=>Y.type==="tool-call")}get staticToolCalls(){return this.toolCalls.filter((Y)=>Y.dynamic!==!0)}get dynamicToolCalls(){return this.toolCalls.filter((Y)=>Y.dynamic===!0)}get toolResults(){return this.content.filter((Y)=>Y.type==="tool-result")}get staticToolResults(){return this.toolResults.filter((Y)=>Y.dynamic!==!0)}get dynamicToolResults(){return this.toolResults.filter((Y)=>Y.dynamic===!0)}},ry6,oy6=class{constructor(Y){this.steps=Y.steps,this._output=Y.output,this.totalUsage=Y.totalUsage}get finalStep(){return this.steps[this.steps.length-1]}get content(){return this.finalStep.content}get text(){return this.finalStep.text}get files(){return this.finalStep.files}get reasoningText(){return this.finalStep.reasoningText}get reasoning(){return this.finalStep.reasoning}get toolCalls(){return this.finalStep.toolCalls}get staticToolCalls(){return this.finalStep.staticToolCalls}get dynamicToolCalls(){return this.finalStep.dynamicToolCalls}get toolResults(){return this.finalStep.toolResults}get staticToolResults(){return this.finalStep.staticToolResults}get dynamicToolResults(){return this.finalStep.dynamicToolResults}get sources(){return this.finalStep.sources}get finishReason(){return this.finalStep.finishReason}get rawFinishReason(){return this.finalStep.rawFinishReason}get warnings(){return this.finalStep.warnings}get providerMetadata(){return this.finalStep.providerMetadata}get response(){return this.finalStep.response}get request(){return this.finalStep.request}get usage(){return this.finalStep.usage}get experimental_output(){return this.output}get output(){if(this._output==null)throw new nb0;return this._output}},dh0,ph0,JY9,Wf6,Kf6=class{constructor({model:Y,telemetry:Q,headers:X,settings:J,maxRetries:G,abortSignal:K,stepTimeoutMs:W,stepAbortController:Z,chunkTimeoutMs:H,chunkAbortController:$,system:F,prompt:V,messages:q,tools:U,toolChoice:z,transforms:D,activeTools:N,repairToolCall:w,stopConditions:E,output:T,providerOptions:C,prepareStep:P,includeRawChunks:I,now:k,generateId:y,timeout:f,stopWhen:b,originalAbortSignal:g,onChunk:o,onError:m,onFinish:h,onAbort:n,onStepFinish:K1,onStart:J1,onStepStart:L1,onToolCallStart:j1,onToolCallFinish:O1,experimental_context:T1,download:b1,include:t1}){this._totalUsage=new cD,this._finishReason=new cD,this._rawFinishReason=new cD,this._steps=new cD,this.outputSpecification=T,this.includeRawChunks=I,this.tools=U;let $0,C1=[],w1=[],u1=void 0,G4=void 0,d0=void 0,F0={},v1=[],N1=[],n1=new Map,I1,_1={},T0={},G0=new TransformStream({async transform(a0,j0){var l6,M,x,Z1;j0.enqueue(a0);let{part:H1}=a0;if(H1.type==="text-delta"||H1.type==="reasoning-delta"||H1.type==="source"||H1.type==="tool-call"||H1.type==="tool-result"||H1.type==="tool-input-start"||H1.type==="tool-input-delta"||H1.type==="raw")await(o==null?void 0:o({chunk:H1}));if(H1.type==="error")await m({error:Eh0(H1.error)});if(H1.type==="text-start")_1[H1.id]={type:"text",text:"",providerMetadata:H1.providerMetadata},C1.push(_1[H1.id]);if(H1.type==="text-delta"){let O=_1[H1.id];if(O==null){j0.enqueue({part:{type:"error",error:`text part ${H1.id} not found`},partialOutput:void 0});return}O.text+=H1.text,O.providerMetadata=(l6=H1.providerMetadata)!=null?l6:O.providerMetadata}if(H1.type==="text-end"){let O=_1[H1.id];if(O==null){j0.enqueue({part:{type:"error",error:`text part ${H1.id} not found`},partialOutput:void 0});return}O.providerMetadata=(M=H1.providerMetadata)!=null?M:O.providerMetadata,delete _1[H1.id]}if(H1.type==="reasoning-start")T0[H1.id]={type:"reasoning",text:"",providerMetadata:H1.providerMetadata},C1.push(T0[H1.id]);if(H1.type==="reasoning-delta"){let O=T0[H1.id];if(O==null){j0.enqueue({part:{type:"error",error:`reasoning part ${H1.id} not found`},partialOutput:void 0});return}O.text+=H1.text,O.providerMetadata=(x=H1.providerMetadata)!=null?x:O.providerMetadata}if(H1.type==="reasoning-end"){let O=T0[H1.id];if(O==null){j0.enqueue({part:{type:"error",error:`reasoning part ${H1.id} not found`},partialOutput:void 0});return}O.providerMetadata=(Z1=H1.providerMetadata)!=null?Z1:O.providerMetadata,delete T0[H1.id]}if(H1.type==="file")C1.push({type:"file",file:H1.file});if(H1.type==="source")C1.push(H1);if(H1.type==="tool-call")C1.push(H1);if(H1.type==="tool-result"&&!H1.preliminary)C1.push(H1);if(H1.type==="tool-approval-request")C1.push(H1);if(H1.type==="tool-error")C1.push(H1);if(H1.type==="start-step")C1=[],T0={},_1={},F0=H1.request,v1=H1.warnings;if(H1.type==="finish-step"){let O=await EU1({content:C1,tools:U}),S=new gh0({stepNumber:N1.length,model:Z8,...v9,experimental_context:T1,content:C1,finishReason:H1.finishReason,rawFinishReason:H1.rawFinishReason,usage:H1.usage,warnings:v1,request:F0,response:{...H1.response,messages:[...w1,...O]},providerMetadata:H1.providerMetadata});await(K1==null?void 0:K1(S)),jU1({warnings:v1,provider:Z8.provider,model:Z8.modelId}),N1.push(S),w1.push(...O),$0.resolve()}if(H1.type==="finish")d0=H1.totalUsage,u1=H1.finishReason,G4=H1.rawFinishReason},async flush(a0){try{if(N1.length===0){let x=(K==null?void 0:K.aborted)?K.reason:new nb0({message:"No output generated. Check the stream for errors."});Y6._finishReason.reject(x),Y6._rawFinishReason.reject(x),Y6._totalUsage.reject(x),Y6._steps.reject(x);return}let j0=u1!=null?u1:"other",l6=d0!=null?d0:OU1();Y6._finishReason.resolve(j0),Y6._rawFinishReason.resolve(G4),Y6._totalUsage.resolve(l6),Y6._steps.resolve(N1);let M=N1[N1.length-1];await(h==null?void 0:h({stepNumber:M.stepNumber,model:M.model,functionId:M.functionId,metadata:M.metadata,experimental_context:M.experimental_context,finishReason:M.finishReason,rawFinishReason:M.rawFinishReason,totalUsage:l6,usage:M.usage,content:M.content,text:M.text,reasoningText:M.reasoningText,reasoning:M.reasoning,files:M.files,sources:M.sources,toolCalls:M.toolCalls,staticToolCalls:M.staticToolCalls,dynamicToolCalls:M.dynamicToolCalls,toolResults:M.toolResults,staticToolResults:M.staticToolResults,dynamicToolResults:M.dynamicToolResults,request:M.request,response:M.response,warnings:M.warnings,providerMetadata:M.providerMetadata,steps:N1})),I1.setAttributes(await iH({telemetry:Q,attributes:{"ai.response.finishReason":j0,"ai.response.text":{output:()=>M.text},"ai.response.reasoning":{output:()=>M.reasoningText},"ai.response.toolCalls":{output:()=>{var x;return((x=M.toolCalls)==null?void 0:x.length)?JSON.stringify(M.toolCalls):void 0}},"ai.response.providerMetadata":JSON.stringify(M.providerMetadata),"ai.usage.inputTokens":l6.inputTokens,"ai.usage.outputTokens":l6.outputTokens,"ai.usage.totalTokens":l6.totalTokens,"ai.usage.reasoningTokens":l6.reasoningTokens,"ai.usage.cachedInputTokens":l6.cachedInputTokens}}))}catch(j0){a0.error(j0)}finally{I1.end()}}}),Z0=Jf6();this.addStream=Z0.addStream,this.closeStream=Z0.close;let r4=Z0.stream.getReader(),Z6=new ReadableStream({async start(a0){a0.enqueue({type:"start"})},async pull(a0){function j0(){n==null||n({steps:N1}),a0.enqueue({type:"abort",...(K==null?void 0:K.reason)!==void 0?{reason:dZ(K.reason)}:{}}),a0.close()}try{let{done:l6,value:M}=await r4.read();if(l6){a0.close();return}if(K==null?void 0:K.aborted){j0();return}a0.enqueue(M)}catch(l6){if(a$(l6)&&(K==null?void 0:K.aborted))j0();else a0.error(l6)}},cancel(a0){return Z0.stream.cancel(a0)}});for(let a0 of D)Z6=Z6.pipeThrough(a0({tools:U,stopStream(){Z0.terminate()}}));this.baseStream=Z6.pipeThrough(Zf6(T!=null?T:ni())).pipeThrough(G0);let{maxRetries:h6,retry:W8}=_h0({maxRetries:G,abortSignal:K}),h0=Rh0(Q),m1=PU1(J),v0=Th0({model:Y,telemetry:Q,headers:X,settings:{...m1,maxRetries:h6}}),Y6=this,Z8={provider:Y.provider,modelId:Y.modelId},v9={functionId:Q==null?void 0:Q.functionId,metadata:Q==null?void 0:Q.metadata};Lk({name:"ai.streamText",attributes:iH({telemetry:Q,attributes:{...Ok({operationId:"ai.streamText",telemetry:Q}),...v0,"ai.prompt":{input:()=>JSON.stringify({system:F,prompt:V,messages:q})}}}),tracer:h0,endWhenDone:!1,fn:async(a0)=>{I1=a0;let j0=await Ph0({system:F,prompt:V,messages:q});try{await(J1==null?void 0:J1({model:Z8,system:F,prompt:V,messages:q,tools:U,toolChoice:z,activeTools:N,maxOutputTokens:m1.maxOutputTokens,temperature:m1.temperature,topP:m1.topP,topK:m1.topK,presencePenalty:m1.presencePenalty,frequencyPenalty:m1.frequencyPenalty,stopSequences:m1.stopSequences,seed:m1.seed,maxRetries:h6,timeout:f,headers:X,providerOptions:C,stopWhen:b,output:T,abortSignal:g,include:t1,...v9,experimental_context:T1}))}catch(O){}let l6=j0.messages,M=[],{approvedToolApprovals:x,deniedToolApprovals:Z1}=yh0({messages:l6});if(Z1.length>0||x.length>0){let O=[...x,...Z1].filter((r1)=>r1.toolCall.providerExecuted),S=x.filter((r1)=>!r1.toolCall.providerExecuted),s=Z1.filter((r1)=>!r1.toolCall.providerExecuted),B1=Z1.filter((r1)=>r1.toolCall.providerExecuted),F1,t=new ReadableStream({start(r1){F1=r1}});Y6.addStream(t);try{for(let f0 of[...s,...B1])F1==null||F1.enqueue({type:"tool-output-denied",toolCallId:f0.toolCall.toolCallId,toolName:f0.toolCall.toolName});let r1=[];if(await Promise.all(S.map(async(f0)=>{let m0=await kU1({toolCall:f0.toolCall,tools:U,tracer:h0,telemetry:Q,messages:l6,abortSignal:K,experimental_context:T1,stepNumber:N1.length,model:Z8,onToolCallStart:j1,onToolCallFinish:O1,onPreliminaryToolResult:(V0)=>{F1==null||F1.enqueue(V0)}});if(m0!=null)F1==null||F1.enqueue(m0),r1.push(m0)})),O.length>0)M.push({role:"tool",content:O.map((f0)=>({type:"tool-approval-response",approvalId:f0.approvalResponse.approvalId,approved:f0.approvalResponse.approved,reason:f0.approvalResponse.reason,providerExecuted:!0}))});if(r1.length>0||s.length>0){let f0=[];for(let m0 of r1)f0.push({type:"tool-result",toolCallId:m0.toolCallId,toolName:m0.toolName,output:await rD({toolCallId:m0.toolCallId,input:m0.input,tool:U==null?void 0:U[m0.toolName],output:m0.type==="tool-result"?m0.output:m0.error,errorMode:m0.type==="tool-error"?"json":"none"})});for(let m0 of s)f0.push({type:"tool-result",toolCallId:m0.toolCall.toolCallId,toolName:m0.toolCall.toolName,output:{type:"execution-denied",reason:m0.approvalResponse.reason}});M.push({role:"tool",content:f0})}}finally{F1==null||F1.close()}}w1.push(...M);async function H1({currentStep:O,responseMessages:S,usage:s}){var B1,F1,t,r1,f0,m0,V0,U4,W9;let t9=Y6.includeRawChunks,P6=W!=null?setTimeout(()=>Z.abort(),W):void 0,y6=void 0;function KJ(){if(H!=null){if(y6!=null)clearTimeout(y6);y6=setTimeout(()=>$.abort(),H)}}function u(){if(y6!=null)clearTimeout(y6),y6=void 0}function c(){if(P6!=null)clearTimeout(P6)}try{$0=new cD;let r=[...l6,...S],v=await(P==null?void 0:P({model:Y,steps:N1,stepNumber:N1.length,messages:r,experimental_context:T1})),G1=ci((B1=v==null?void 0:v.model)!=null?B1:Y),V1={provider:G1.provider,modelId:G1.modelId},z1=await Lh0({prompt:{system:(F1=v==null?void 0:v.system)!=null?F1:j0.system,messages:(t=v==null?void 0:v.messages)!=null?t:r},supportedUrls:await G1.supportedUrls,download:b1}),c1=(r1=v==null?void 0:v.activeTools)!=null?r1:N,{toolChoice:U0,tools:c0}=await Nh0({tools:U,toolChoice:(f0=v==null?void 0:v.toolChoice)!=null?f0:z,activeTools:c1});T1=(m0=v==null?void 0:v.experimental_context)!=null?m0:T1;let l0=(V0=v==null?void 0:v.messages)!=null?V0:r,j6=(U4=v==null?void 0:v.system)!=null?U4:j0.system,n0=ii(C,v==null?void 0:v.providerOptions);try{await(L1==null?void 0:L1({stepNumber:N1.length,model:V1,system:j6,messages:l0,tools:U,toolChoice:U0,activeTools:c1,steps:[...N1],providerOptions:n0,timeout:f,headers:X,stopWhen:b,output:T,abortSignal:g,include:t1,...v9,experimental_context:T1}))}catch(d1){}let{result:{stream:y4,response:f4,request:c4},doStreamSpan:$4,startTimestampMs:j4}=await W8(()=>Lk({name:"ai.streamText.doStream",attributes:iH({telemetry:Q,attributes:{...Ok({operationId:"ai.streamText.doStream",telemetry:Q}),...v0,"ai.model.provider":G1.provider,"ai.model.id":G1.modelId,"ai.prompt.messages":{input:()=>jh0(z1)},"ai.prompt.tools":{input:()=>c0==null?void 0:c0.map((d1)=>JSON.stringify(d1))},"ai.prompt.toolChoice":{input:()=>U0!=null?JSON.stringify(U0):void 0},"gen_ai.system":G1.provider,"gen_ai.request.model":G1.modelId,"gen_ai.request.frequency_penalty":m1.frequencyPenalty,"gen_ai.request.max_tokens":m1.maxOutputTokens,"gen_ai.request.presence_penalty":m1.presencePenalty,"gen_ai.request.stop_sequences":m1.stopSequences,"gen_ai.request.temperature":m1.temperature,"gen_ai.request.top_k":m1.topK,"gen_ai.request.top_p":m1.topP}}),tracer:h0,endWhenDone:!1,fn:async(d1)=>({startTimestampMs:k(),doStreamSpan:d1,result:await G1.doStream({...m1,tools:c0,toolChoice:U0,responseFormat:await(T==null?void 0:T.responseFormat),prompt:z1,providerOptions:n0,abortSignal:K,headers:X,includeRawChunks:t9})})})),i4=Gf6({tools:U,generatorStream:y4,tracer:h0,telemetry:Q,system:F,messages:r,repairToolCall:w,abortSignal:K,experimental_context:T1,generateId:y,stepNumber:N1.length,model:V1,onToolCallStart:j1,onToolCallFinish:O1}),Q6=((W9=t1==null?void 0:t1.requestBody)!=null?W9:!0)?c4!=null?c4:{}:{...c4,body:void 0},Z4=[],N4=[],r0,q4={},F4="other",p0=void 0,l1=OU1(),i1,O0=!0,K0={id:y(),timestamp:new Date,modelId:Z8.modelId},B0="";Y6.addStream(i4.pipeThrough(new TransformStream({async transform(d1,H4){var B6,z6,D6,U1,X6;if(KJ(),d1.type==="stream-start"){r0=d1.warnings;return}if(O0){let h4=k()-j4;O0=!1,$4.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":h4}),$4.setAttributes({"ai.response.msToFirstChunk":h4}),H4.enqueue({type:"start-step",request:Q6,warnings:r0!=null?r0:[]})}let a6=d1.type;switch(a6){case"tool-approval-request":case"text-start":case"text-end":{H4.enqueue(d1);break}case"text-delta":{if(d1.delta.length>0)H4.enqueue({type:"text-delta",id:d1.id,text:d1.delta,providerMetadata:d1.providerMetadata}),B0+=d1.delta;break}case"reasoning-start":case"reasoning-end":{H4.enqueue(d1);break}case"reasoning-delta":{H4.enqueue({type:"reasoning-delta",id:d1.id,text:d1.delta,providerMetadata:d1.providerMetadata});break}case"tool-call":{H4.enqueue(d1),Z4.push(d1);break}case"tool-result":{if(H4.enqueue(d1),!d1.preliminary)N4.push(d1);break}case"tool-error":{H4.enqueue(d1),N4.push(d1);break}case"response-metadata":{K0={id:(B6=d1.id)!=null?B6:K0.id,timestamp:(z6=d1.timestamp)!=null?z6:K0.timestamp,modelId:(D6=d1.modelId)!=null?D6:K0.modelId};break}case"finish":{l1=d1.usage,F4=d1.finishReason,p0=d1.rawFinishReason,i1=d1.providerMetadata;let h4=k()-j4;$4.addEvent("ai.stream.finish"),$4.setAttributes({"ai.response.msToFinish":h4,"ai.response.avgOutputTokensPerSecond":1000*((U1=l1.outputTokens)!=null?U1:0)/h4});break}case"file":{H4.enqueue(d1);break}case"source":{H4.enqueue(d1);break}case"tool-input-start":{q4[d1.id]=d1.toolName;let h4=U==null?void 0:U[d1.toolName];if((h4==null?void 0:h4.onInputStart)!=null)await h4.onInputStart({toolCallId:d1.id,messages:r,abortSignal:K,experimental_context:T1});H4.enqueue({...d1,dynamic:(X6=d1.dynamic)!=null?X6:(h4==null?void 0:h4.type)==="dynamic",title:h4==null?void 0:h4.title});break}case"tool-input-end":{delete q4[d1.id],H4.enqueue(d1);break}case"tool-input-delta":{let h4=q4[d1.id],w6=U==null?void 0:U[h4];if((w6==null?void 0:w6.onInputDelta)!=null)await w6.onInputDelta({inputTextDelta:d1.delta,toolCallId:d1.id,messages:r,abortSignal:K,experimental_context:T1});H4.enqueue(d1);break}case"error":{H4.enqueue(d1),F4="error";break}case"raw":{if(t9)H4.enqueue(d1);break}default:throw Error(`Unknown chunk type: ${a6}`)}},async flush(d1){let H4=Z4.length>0?JSON.stringify(Z4):void 0;try{$4.setAttributes(await iH({telemetry:Q,attributes:{"ai.response.finishReason":F4,"ai.response.text":{output:()=>B0},"ai.response.reasoning":{output:()=>{let U1=C1.filter((X6)=>X6.type==="reasoning");return U1.length>0?U1.map((X6)=>X6.text).join(`
|
|
1287
|
+
`)}function Nb0(Y){let Q=Y.filter((X)=>X.type==="text");if(Q.length===0)return;return Q.map((X)=>X.text).join("")}async function bh0({tool:Y,toolCall:Q,messages:X,experimental_context:J}){if(Y.needsApproval==null)return!1;if(typeof Y.needsApproval==="boolean")return Y.needsApproval;return await Y.needsApproval(Q.input,{toolCallId:Q.toolCallId,messages:X,experimental_context:J})}function py6(Y){let Q=["ROOT"],X=-1,J=null;function G(H,$,F){switch(H){case'"':{X=$,Q.pop(),Q.push(F),Q.push("INSIDE_STRING");break}case"f":case"t":case"n":{X=$,J=$,Q.pop(),Q.push(F),Q.push("INSIDE_LITERAL");break}case"-":{Q.pop(),Q.push(F),Q.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{X=$,Q.pop(),Q.push(F),Q.push("INSIDE_NUMBER");break}case"{":{X=$,Q.pop(),Q.push(F),Q.push("INSIDE_OBJECT_START");break}case"[":{X=$,Q.pop(),Q.push(F),Q.push("INSIDE_ARRAY_START");break}}}function K(H,$){switch(H){case",":{Q.pop(),Q.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{X=$,Q.pop();break}}}function W(H,$){switch(H){case",":{Q.pop(),Q.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{X=$,Q.pop();break}}}for(let H=0;H<Y.length;H++){let $=Y[H];switch(Q[Q.length-1]){case"ROOT":G($,H,"FINISH");break;case"INSIDE_OBJECT_START":{switch($){case'"':{Q.pop(),Q.push("INSIDE_OBJECT_KEY");break}case"}":{X=H,Q.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch($){case'"':{Q.pop(),Q.push("INSIDE_OBJECT_KEY");break}}break}case"INSIDE_OBJECT_KEY":{switch($){case'"':{Q.pop(),Q.push("INSIDE_OBJECT_AFTER_KEY");break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch($){case":":{Q.pop(),Q.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{G($,H,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{K($,H);break}case"INSIDE_STRING":{switch($){case'"':{Q.pop(),X=H;break}case"\\":{Q.push("INSIDE_STRING_ESCAPE");break}default:X=H}break}case"INSIDE_ARRAY_START":{switch($){case"]":{X=H,Q.pop();break}default:{X=H,G($,H,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch($){case",":{Q.pop(),Q.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{X=H,Q.pop();break}default:{X=H;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{G($,H,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{Q.pop(),X=H;break}case"INSIDE_NUMBER":{switch($){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{X=H;break}case"e":case"E":case"-":case".":break;case",":{if(Q.pop(),Q[Q.length-1]==="INSIDE_ARRAY_AFTER_VALUE")W($,H);if(Q[Q.length-1]==="INSIDE_OBJECT_AFTER_VALUE")K($,H);break}case"}":{if(Q.pop(),Q[Q.length-1]==="INSIDE_OBJECT_AFTER_VALUE")K($,H);break}case"]":{if(Q.pop(),Q[Q.length-1]==="INSIDE_ARRAY_AFTER_VALUE")W($,H);break}default:{Q.pop();break}}break}case"INSIDE_LITERAL":{let V=Y.substring(J,H+1);if(!"false".startsWith(V)&&!"true".startsWith(V)&&!"null".startsWith(V)){if(Q.pop(),Q[Q.length-1]==="INSIDE_OBJECT_AFTER_VALUE")K($,H);else if(Q[Q.length-1]==="INSIDE_ARRAY_AFTER_VALUE")W($,H)}else X=H;break}}}let Z=Y.slice(0,X+1);for(let H=Q.length-1;H>=0;H--)switch(Q[H]){case"INSIDE_STRING":{Z+='"';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":{Z+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{Z+="]";break}case"INSIDE_LITERAL":{let F=Y.substring(J,Y.length);if("true".startsWith(F))Z+="true".slice(F.length);else if("false".startsWith(F))Z+="false".slice(F.length);else if("null".startsWith(F))Z+="null".slice(F.length)}}return Z}async function Nk(Y){if(Y===void 0)return{value:void 0,state:"undefined-input"};let Q=await AG({text:Y});if(Q.success)return{value:Q.value,state:"successful-parse"};if(Q=await AG({text:py6(Y)}),Q.success)return{value:Q.value,state:"repaired-parse"};return{value:void 0,state:"failed-parse"}}async function hh0({toolCall:Y,tools:Q,repairToolCall:X,system:J,messages:G}){var K;try{if(Q==null){if(Y.providerExecuted&&Y.dynamic)return await xh0(Y);throw new AU1({toolName:Y.toolName})}try{return await Mb0({toolCall:Y,tools:Q})}catch(W){if(X==null||!(AU1.isInstance(W)||RU1.isInstance(W)))throw W;let Z=null;try{Z=await X({toolCall:Y,tools:Q,inputSchema:async({toolName:H})=>{let{inputSchema:$}=Q[H];return await cH($).jsonSchema},system:J,messages:G,error:W})}catch(H){throw new s_6({cause:H,originalError:W})}if(Z==null)throw W;return await Mb0({toolCall:Z,tools:Q})}}catch(W){let Z=await AG({text:Y.input}),H=Z.success?Z.value:Y.input;return{type:"tool-call",toolCallId:Y.toolCallId,toolName:Y.toolName,input:H,dynamic:!0,invalid:!0,error:W,title:(K=Q==null?void 0:Q[Y.toolName])==null?void 0:K.title,providerExecuted:Y.providerExecuted,providerMetadata:Y.providerMetadata}}}async function xh0(Y){let Q=Y.input.trim()===""?{success:!0,value:{}}:await AG({text:Y.input});if(Q.success===!1)throw new RU1({toolName:Y.toolName,toolInput:Y.input,cause:Q.error});return{type:"tool-call",toolCallId:Y.toolCallId,toolName:Y.toolName,input:Q.value,providerExecuted:!0,dynamic:!0,providerMetadata:Y.providerMetadata}}async function Mb0({toolCall:Y,tools:Q}){let X=Y.toolName,J=Q[X];if(J==null){if(Y.providerExecuted&&Y.dynamic)return await xh0(Y);throw new AU1({toolName:Y.toolName,availableTools:Object.keys(Q)})}let G=cH(J.inputSchema),K=Y.input.trim()===""?await C5({value:{},schema:G}):await AG({text:Y.input,schema:G});if(K.success===!1)throw new RU1({toolName:X,toolInput:Y.input,cause:K.error});return J.type==="dynamic"?{type:"tool-call",toolCallId:Y.toolCallId,toolName:Y.toolName,input:K.value,providerExecuted:Y.providerExecuted,providerMetadata:Y.providerMetadata,dynamic:!0,title:J.title}:{type:"tool-call",toolCallId:Y.toolCallId,toolName:X,input:K.value,providerExecuted:Y.providerExecuted,providerMetadata:Y.providerMetadata,title:J.title}}function YB(Y){return({steps:Q})=>Q.length===Y}async function uh0({stopConditions:Y,steps:Q}){return(await Promise.all(Y.map((X)=>X({steps:Q})))).some((X)=>X)}async function EU1({content:Y,tools:Q}){let X=[],J=[];for(let K of Y){if(K.type==="source")continue;if((K.type==="tool-result"||K.type==="tool-error")&&!K.providerExecuted)continue;if(K.type==="text"&&K.text.length===0)continue;switch(K.type){case"text":J.push({type:"text",text:K.text,providerOptions:K.providerMetadata});break;case"reasoning":J.push({type:"reasoning",text:K.text,providerOptions:K.providerMetadata});break;case"file":J.push({type:"file",data:K.file.base64,mediaType:K.file.mediaType,providerOptions:K.providerMetadata});break;case"tool-call":J.push({type:"tool-call",toolCallId:K.toolCallId,toolName:K.toolName,input:K.input,providerExecuted:K.providerExecuted,providerOptions:K.providerMetadata});break;case"tool-result":{let W=await rD({toolCallId:K.toolCallId,input:K.input,tool:Q==null?void 0:Q[K.toolName],output:K.output,errorMode:"none"});J.push({type:"tool-result",toolCallId:K.toolCallId,toolName:K.toolName,output:W,providerOptions:K.providerMetadata});break}case"tool-error":{let W=await rD({toolCallId:K.toolCallId,input:K.input,tool:Q==null?void 0:Q[K.toolName],output:K.error,errorMode:"json"});J.push({type:"tool-result",toolCallId:K.toolCallId,toolName:K.toolName,output:W,providerOptions:K.providerMetadata});break}case"tool-approval-request":J.push({type:"tool-approval-request",approvalId:K.approvalId,toolCallId:K.toolCall.toolCallId});break}}if(J.length>0)X.push({role:"assistant",content:J});let G=[];for(let K of Y){if(!(K.type==="tool-result"||K.type==="tool-error")||K.providerExecuted)continue;let W=await rD({toolCallId:K.toolCallId,input:K.input,tool:Q==null?void 0:Q[K.toolName],output:K.type==="tool-result"?K.output:K.error,errorMode:K.type==="tool-error"?"text":"none"});G.push({type:"tool-result",toolCallId:K.toolCallId,toolName:K.toolName,output:W,...K.providerMetadata!=null?{providerOptions:K.providerMetadata}:{}})}if(G.length>0)X.push({role:"tool",content:G});return X}function mh0(...Y){let Q=Y.filter((J)=>J!=null);if(Q.length===0)return;if(Q.length===1)return Q[0];let X=new AbortController;for(let J of Q){if(J.aborted)return X.abort(J.reason),X.signal;J.addEventListener("abort",()=>{X.abort(J.reason)},{once:!0})}return X.signal}async function lA({model:Y,tools:Q,toolChoice:X,system:J,prompt:G,messages:K,maxRetries:W,abortSignal:Z,timeout:H,headers:$,stopWhen:F=YB(1),experimental_output:V,output:q=V,experimental_telemetry:U,providerOptions:z,experimental_activeTools:D,activeTools:N=D,experimental_prepareStep:w,prepareStep:E=w,experimental_repairToolCall:T,experimental_download:C,experimental_context:P,experimental_include:I,_internal:{generateId:k=ry6}={},experimental_onStart:y,experimental_onStepStart:f,experimental_onToolCallStart:b,experimental_onToolCallFinish:g,onStepFinish:o,onFinish:m,...h}){let n=ci(Y),K1=zk(F),J1=SU1(H),L1=Bh0(H),j1=L1!=null?new AbortController:void 0,O1=mh0(Z,J1!=null?AbortSignal.timeout(J1):void 0,j1==null?void 0:j1.signal),{maxRetries:T1,retry:b1}=_h0({maxRetries:W,abortSignal:O1}),t1=PU1(h),$0=s$($!=null?$:{},`ai/${Uh0}`),C1=Th0({model:n,telemetry:U,headers:$0,settings:{...t1,maxRetries:T1}}),w1={provider:n.provider,modelId:n.modelId},u1=await Ph0({system:J,prompt:G,messages:K});try{await(y==null?void 0:y({model:w1,system:J,prompt:G,messages:K,tools:Q,toolChoice:X,activeTools:N,maxOutputTokens:t1.maxOutputTokens,temperature:t1.temperature,topP:t1.topP,topK:t1.topK,presencePenalty:t1.presencePenalty,frequencyPenalty:t1.frequencyPenalty,stopSequences:t1.stopSequences,seed:t1.seed,maxRetries:T1,timeout:H,headers:$,providerOptions:z,stopWhen:F,output:q,abortSignal:Z,include:I,functionId:U==null?void 0:U.functionId,metadata:U==null?void 0:U.metadata,experimental_context:P}))}catch(d0){}let G4=Rh0(U);try{return await Lk({name:"ai.generateText",attributes:iH({telemetry:U,attributes:{...Ok({operationId:"ai.generateText",telemetry:U}),...C1,"ai.model.provider":n.provider,"ai.model.id":n.modelId,"ai.prompt":{input:()=>JSON.stringify({system:J,prompt:G,messages:K})}}}),tracer:G4,fn:async(d0)=>{var F0,v1,N1,n1,I1,_1,T0,G0,Z0,r4,Z6,h6,W8;let h0=u1.messages,m1=[],{approvedToolApprovals:v0,deniedToolApprovals:Y6}=yh0({messages:h0}),Z8=v0.filter((s)=>!s.toolCall.providerExecuted);if(Y6.length>0||Z8.length>0){let s=await wb0({toolCalls:Z8.map((F1)=>F1.toolCall),tools:Q,tracer:G4,telemetry:U,messages:h0,abortSignal:O1,experimental_context:P,stepNumber:0,model:w1,onToolCallStart:b,onToolCallFinish:g}),B1=[];for(let F1 of s){let t=await rD({toolCallId:F1.toolCallId,input:F1.input,tool:Q==null?void 0:Q[F1.toolName],output:F1.type==="tool-result"?F1.output:F1.error,errorMode:F1.type==="tool-error"?"json":"none"});B1.push({type:"tool-result",toolCallId:F1.toolCallId,toolName:F1.toolName,output:t})}for(let F1 of Y6)B1.push({type:"tool-result",toolCallId:F1.toolCall.toolCallId,toolName:F1.toolCall.toolName,output:{type:"execution-denied",reason:F1.approvalResponse.reason,...F1.toolCall.providerExecuted&&{providerOptions:{openai:{approvalId:F1.approvalResponse.approvalId}}}}});m1.push({role:"tool",content:B1})}let v9=[...v0,...Y6].filter((s)=>s.toolCall.providerExecuted);if(v9.length>0)m1.push({role:"tool",content:v9.map((s)=>({type:"tool-approval-response",approvalId:s.approvalResponse.approvalId,approved:s.approvalResponse.approved,reason:s.approvalResponse.reason,providerExecuted:!0}))});let a0=PU1(h),j0,l6=[],M=[],x=[],Z1=new Map;do{let s=L1!=null?setTimeout(()=>j1.abort(),L1):void 0;try{let B1=[...h0,...m1],F1=await(E==null?void 0:E({model:n,steps:x,stepNumber:x.length,messages:B1,experimental_context:P})),t=ci((F0=F1==null?void 0:F1.model)!=null?F0:n),r1={provider:t.provider,modelId:t.modelId},f0=await Lh0({prompt:{system:(v1=F1==null?void 0:F1.system)!=null?v1:u1.system,messages:(N1=F1==null?void 0:F1.messages)!=null?N1:B1},supportedUrls:await t.supportedUrls,download:C});P=(n1=F1==null?void 0:F1.experimental_context)!=null?n1:P;let m0=(I1=F1==null?void 0:F1.activeTools)!=null?I1:N,{toolChoice:V0,tools:U4}=await Nh0({tools:Q,toolChoice:(_1=F1==null?void 0:F1.toolChoice)!=null?_1:X,activeTools:m0}),W9=(T0=F1==null?void 0:F1.messages)!=null?T0:B1,t9=(G0=F1==null?void 0:F1.system)!=null?G0:u1.system,P6=ii(z,F1==null?void 0:F1.providerOptions);try{await(f==null?void 0:f({stepNumber:x.length,model:r1,system:t9,messages:W9,tools:Q,toolChoice:V0,activeTools:m0,steps:[...x],providerOptions:P6,timeout:H,headers:$,stopWhen:F,output:q,abortSignal:Z,include:I,functionId:U==null?void 0:U.functionId,metadata:U==null?void 0:U.metadata,experimental_context:P}))}catch(z1){}j0=await b1(()=>{var z1;return Lk({name:"ai.generateText.doGenerate",attributes:iH({telemetry:U,attributes:{...Ok({operationId:"ai.generateText.doGenerate",telemetry:U}),...C1,"ai.model.provider":t.provider,"ai.model.id":t.modelId,"ai.prompt.messages":{input:()=>jh0(f0)},"ai.prompt.tools":{input:()=>U4==null?void 0:U4.map((c1)=>JSON.stringify(c1))},"ai.prompt.toolChoice":{input:()=>V0!=null?JSON.stringify(V0):void 0},"gen_ai.system":t.provider,"gen_ai.request.model":t.modelId,"gen_ai.request.frequency_penalty":h.frequencyPenalty,"gen_ai.request.max_tokens":h.maxOutputTokens,"gen_ai.request.presence_penalty":h.presencePenalty,"gen_ai.request.stop_sequences":h.stopSequences,"gen_ai.request.temperature":(z1=h.temperature)!=null?z1:void 0,"gen_ai.request.top_k":h.topK,"gen_ai.request.top_p":h.topP}}),tracer:G4,fn:async(c1)=>{var U0,c0,l0,j6,n0,y4,f4,c4;let $4=await t.doGenerate({...a0,tools:U4,toolChoice:V0,responseFormat:await(q==null?void 0:q.responseFormat),prompt:f0,providerOptions:P6,abortSignal:O1,headers:$0}),j4={id:(c0=(U0=$4.response)==null?void 0:U0.id)!=null?c0:k(),timestamp:(j6=(l0=$4.response)==null?void 0:l0.timestamp)!=null?j6:new Date,modelId:(y4=(n0=$4.response)==null?void 0:n0.modelId)!=null?y4:t.modelId,headers:(f4=$4.response)==null?void 0:f4.headers,body:(c4=$4.response)==null?void 0:c4.body};return c1.setAttributes(await iH({telemetry:U,attributes:{"ai.response.finishReason":$4.finishReason.unified,"ai.response.text":{output:()=>Nb0($4.content)},"ai.response.reasoning":{output:()=>Lb0($4.content)},"ai.response.toolCalls":{output:()=>{let i4=Ab0($4.content);return i4==null?void 0:JSON.stringify(i4)}},"ai.response.id":j4.id,"ai.response.model":j4.modelId,"ai.response.timestamp":j4.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify($4.providerMetadata),"ai.usage.promptTokens":$4.usage.inputTokens.total,"ai.usage.completionTokens":$4.usage.outputTokens.total,"gen_ai.response.finish_reasons":[$4.finishReason.unified],"gen_ai.response.id":j4.id,"gen_ai.response.model":j4.modelId,"gen_ai.usage.input_tokens":$4.usage.inputTokens.total,"gen_ai.usage.output_tokens":$4.usage.outputTokens.total}})),{...$4,response:j4}}})});let y6=await Promise.all(j0.content.filter((z1)=>z1.type==="tool-call").map((z1)=>hh0({toolCall:z1,tools:Q,repairToolCall:T,system:J,messages:B1}))),KJ={};for(let z1 of y6){if(z1.invalid)continue;let c1=Q==null?void 0:Q[z1.toolName];if(c1==null)continue;if((c1==null?void 0:c1.onInputAvailable)!=null)await c1.onInputAvailable({input:z1.input,toolCallId:z1.toolCallId,messages:B1,abortSignal:O1,experimental_context:P});if(await bh0({tool:c1,toolCall:z1,messages:B1,experimental_context:P}))KJ[z1.toolCallId]={type:"tool-approval-request",approvalId:k(),toolCall:z1}}let u=y6.filter((z1)=>z1.invalid&&z1.dynamic);M=[];for(let z1 of u)M.push({type:"tool-error",toolCallId:z1.toolCallId,toolName:z1.toolName,input:z1.input,error:tq(z1.error),dynamic:!0});if(l6=y6.filter((z1)=>!z1.providerExecuted),Q!=null)M.push(...await wb0({toolCalls:l6.filter((z1)=>!z1.invalid&&KJ[z1.toolCallId]==null),tools:Q,tracer:G4,telemetry:U,messages:B1,abortSignal:O1,experimental_context:P,stepNumber:x.length,model:r1,onToolCallStart:b,onToolCallFinish:g}));for(let z1 of y6){if(!z1.providerExecuted)continue;let c1=Q==null?void 0:Q[z1.toolName];if((c1==null?void 0:c1.type)==="provider"&&c1.supportsDeferredResults){if(!j0.content.some((c0)=>c0.type==="tool-result"&&c0.toolCallId===z1.toolCallId))Z1.set(z1.toolCallId,{toolName:z1.toolName})}}for(let z1 of j0.content)if(z1.type==="tool-result")Z1.delete(z1.toolCallId);let c=sy6({content:j0.content,toolCalls:y6,toolOutputs:M,toolApprovalRequests:Object.values(KJ),tools:Q});m1.push(...await EU1({content:c,tools:Q}));let r=((Z0=I==null?void 0:I.requestBody)!=null?Z0:!0)?(r4=j0.request)!=null?r4:{}:{...j0.request,body:void 0},v={...j0.response,messages:structuredClone(m1),body:((Z6=I==null?void 0:I.responseBody)!=null?Z6:!0)?(h6=j0.response)==null?void 0:h6.body:void 0},G1=x.length,V1=new gh0({stepNumber:G1,model:r1,functionId:U==null?void 0:U.functionId,metadata:U==null?void 0:U.metadata,experimental_context:P,content:c,finishReason:j0.finishReason.unified,rawFinishReason:j0.finishReason.raw,usage:Sh0(j0.usage),warnings:j0.warnings,providerMetadata:j0.providerMetadata,request:r,response:v});jU1({warnings:(W8=j0.warnings)!=null?W8:[],provider:r1.provider,model:r1.modelId}),x.push(V1),await(o==null?void 0:o(V1))}finally{if(s!=null)clearTimeout(s)}}while((l6.length>0&&M.length===l6.length||Z1.size>0)&&!await uh0({stopConditions:K1,steps:x}));d0.setAttributes(await iH({telemetry:U,attributes:{"ai.response.finishReason":j0.finishReason.unified,"ai.response.text":{output:()=>Nb0(j0.content)},"ai.response.reasoning":{output:()=>Lb0(j0.content)},"ai.response.toolCalls":{output:()=>{let s=Ab0(j0.content);return s==null?void 0:JSON.stringify(s)}},"ai.response.providerMetadata":JSON.stringify(j0.providerMetadata),"ai.usage.promptTokens":j0.usage.inputTokens.total,"ai.usage.completionTokens":j0.usage.outputTokens.total}}));let H1=x[x.length-1],O=x.reduce((s,B1)=>{return kh0(s,B1.usage)},{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0,reasoningTokens:void 0,cachedInputTokens:void 0});await(m==null?void 0:m({stepNumber:H1.stepNumber,model:H1.model,functionId:H1.functionId,metadata:H1.metadata,experimental_context:H1.experimental_context,finishReason:H1.finishReason,rawFinishReason:H1.rawFinishReason,usage:H1.usage,content:H1.content,text:H1.text,reasoningText:H1.reasoningText,reasoning:H1.reasoning,files:H1.files,sources:H1.sources,toolCalls:H1.toolCalls,staticToolCalls:H1.staticToolCalls,dynamicToolCalls:H1.dynamicToolCalls,toolResults:H1.toolResults,staticToolResults:H1.staticToolResults,dynamicToolResults:H1.dynamicToolResults,request:H1.request,response:H1.response,warnings:H1.warnings,providerMetadata:H1.providerMetadata,steps:x,totalUsage:O}));let S;if(H1.finishReason==="stop")S=await(q!=null?q:ni()).parseCompleteOutput({text:H1.text},{response:H1.response,usage:H1.usage,finishReason:H1.finishReason});return new oy6({steps:x,totalUsage:O,output:S})}})}catch(d0){throw Eh0(d0)}}async function wb0({toolCalls:Y,tools:Q,tracer:X,telemetry:J,messages:G,abortSignal:K,experimental_context:W,stepNumber:Z,model:H,onToolCallStart:$,onToolCallFinish:F}){return(await Promise.all(Y.map(async(q)=>kU1({toolCall:q,tools:Q,tracer:X,telemetry:J,messages:G,abortSignal:K,experimental_context:W,stepNumber:Z,model:H,onToolCallStart:$,onToolCallFinish:F})))).filter((q)=>q!=null)}function Ab0(Y){let Q=Y.filter((X)=>X.type==="tool-call");if(Q.length===0)return;return Q.map((X)=>({toolCallId:X.toolCallId,toolName:X.toolName,input:X.input}))}function sy6({content:Y,toolCalls:Q,toolOutputs:X,toolApprovalRequests:J,tools:G}){let K=[];for(let W of Y)switch(W.type){case"text":case"reasoning":case"source":K.push(W);break;case"file":{K.push({type:"file",file:new fh0(W),...W.providerMetadata!=null?{providerMetadata:W.providerMetadata}:{}});break}case"tool-call":{K.push(Q.find((Z)=>Z.toolCallId===W.toolCallId));break}case"tool-result":{let Z=Q.find((H)=>H.toolCallId===W.toolCallId);if(Z==null){let H=G==null?void 0:G[W.toolName];if(!((H==null?void 0:H.type)==="provider"&&H.supportsDeferredResults))throw Error(`Tool call ${W.toolCallId} not found.`);if(W.isError)K.push({type:"tool-error",toolCallId:W.toolCallId,toolName:W.toolName,input:void 0,error:W.result,providerExecuted:!0,dynamic:W.dynamic});else K.push({type:"tool-result",toolCallId:W.toolCallId,toolName:W.toolName,input:void 0,output:W.result,providerExecuted:!0,dynamic:W.dynamic});break}if(W.isError)K.push({type:"tool-error",toolCallId:W.toolCallId,toolName:W.toolName,input:Z.input,error:W.result,providerExecuted:!0,dynamic:Z.dynamic});else K.push({type:"tool-result",toolCallId:W.toolCallId,toolName:W.toolName,input:Z.input,output:W.result,providerExecuted:!0,dynamic:Z.dynamic});break}case"tool-approval-request":{let Z=Q.find((H)=>H.toolCallId===W.toolCallId);if(Z==null)throw new IU1({toolCallId:W.toolCallId,approvalId:W.approvalId});K.push({type:"tool-approval-request",approvalId:W.approvalId,toolCall:Z});break}}return[...K,...X,...J]}function ai(Y,Q){let X=new Headers(Y!=null?Y:{});for(let[J,G]of Object.entries(Q))if(!X.has(J))X.set(J,G);return X}function ty6({status:Y,statusText:Q,headers:X,textStream:J}){return new Response(J.pipeThrough(new TextEncoderStream),{status:Y!=null?Y:200,statusText:Q,headers:ai(X,{"content-type":"text/plain; charset=utf-8"})})}function lh0({response:Y,status:Q,statusText:X,headers:J,stream:G}){let K=Q!=null?Q:200;if(X!==void 0)Y.writeHead(K,X,J);else Y.writeHead(K,J);let W=G.getReader();(async()=>{try{while(!0){let{done:H,value:$}=await W.read();if(H)break;if(!Y.write($))await new Promise((V)=>{Y.once("drain",V)})}}catch(H){throw H}finally{Y.end()}})()}function ey6({response:Y,status:Q,statusText:X,headers:J,textStream:G}){lh0({response:Y,status:Q,statusText:X,headers:Object.fromEntries(ai(J,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:G.pipeThrough(new TextEncoderStream)})}function vU1({status:Y,statusText:Q,headers:X,stream:J,consumeSseStream:G}){let K=J.pipeThrough(new dh0);if(G){let[W,Z]=K.tee();K=W,G({stream:Z})}return new Response(K.pipeThrough(new TextEncoderStream),{status:Y,statusText:Q,headers:ai(X,ph0)})}function Yf6({originalMessages:Y,responseMessageId:Q}){if(Y==null)return;let X=Y[Y.length-1];return(X==null?void 0:X.role)==="assistant"?X.id:typeof Q==="function"?Q():Q}function Qf6(Y){return Y.type.startsWith("data-")}function LU1(Y){return Y.type.startsWith("data-")}function NU1(Y){return Y.type==="text"}function MU1(Y){return Y.type==="file"}function Pb0(Y){return Y.type==="reasoning"}function TU1(Y){return Y.type.startsWith("tool-")}function ch0(Y){return Y.type==="dynamic-tool"}function Uk(Y){return TU1(Y)||ch0(Y)}function CU1(Y){return Y.type.split("-").slice(1).join("-")}function wU1(Y){return ch0(Y)?Y.toolName:CU1(Y)}function nh0({lastMessage:Y,messageId:Q}){return{message:(Y==null?void 0:Y.role)==="assistant"?Y:{id:Q,metadata:void 0,role:"assistant",parts:[]},activeTextParts:{},activeReasoningParts:{},partialToolCalls:{}}}function ih0({stream:Y,messageMetadataSchema:Q,dataPartSchemas:X,runUpdateMessageJob:J,onError:G,onToolCall:K,onData:W}){return Y.pipeThrough(new TransformStream({async transform(Z,H){await J(async({state:$,write:F})=>{var V,q,U,z;function D(T){let P=$.message.parts.filter(Uk).find((I)=>I.toolCallId===T);if(P==null)throw new gA({chunkType:"tool-invocation",chunkId:T,message:`No tool invocation found for tool call ID "${T}".`});return P}function N(T){var C;let P=$.message.parts.find((y)=>TU1(y)&&y.toolCallId===T.toolCallId),I=T,k=P;if(P!=null){if(P.state=T.state,k.input=I.input,k.output=I.output,k.errorText=I.errorText,k.rawInput=I.rawInput,k.preliminary=I.preliminary,T.title!==void 0)k.title=T.title;if(k.providerExecuted=(C=I.providerExecuted)!=null?C:P.providerExecuted,I.providerMetadata!=null)P.callProviderMetadata=I.providerMetadata}else $.message.parts.push({type:`tool-${T.toolName}`,toolCallId:T.toolCallId,state:T.state,title:T.title,input:I.input,output:I.output,rawInput:I.rawInput,errorText:I.errorText,providerExecuted:I.providerExecuted,preliminary:I.preliminary,...I.providerMetadata!=null?{callProviderMetadata:I.providerMetadata}:{}})}function w(T){var C,P;let I=$.message.parts.find((f)=>f.type==="dynamic-tool"&&f.toolCallId===T.toolCallId),k=T,y=I;if(I!=null){if(I.state=T.state,y.toolName=T.toolName,y.input=k.input,y.output=k.output,y.errorText=k.errorText,y.rawInput=(C=k.rawInput)!=null?C:y.rawInput,y.preliminary=k.preliminary,T.title!==void 0)y.title=T.title;if(y.providerExecuted=(P=k.providerExecuted)!=null?P:I.providerExecuted,k.providerMetadata!=null)I.callProviderMetadata=k.providerMetadata}else $.message.parts.push({type:"dynamic-tool",toolName:T.toolName,toolCallId:T.toolCallId,state:T.state,input:k.input,output:k.output,errorText:k.errorText,preliminary:k.preliminary,providerExecuted:k.providerExecuted,title:T.title,...k.providerMetadata!=null?{callProviderMetadata:k.providerMetadata}:{}})}async function E(T){if(T!=null){let C=$.message.metadata!=null?ii($.message.metadata,T):T;if(Q!=null)await nH({value:C,schema:Q,context:{field:"message.metadata",entityId:$.message.id}});$.message.metadata=C}}switch(Z.type){case"text-start":{let T={type:"text",text:"",providerMetadata:Z.providerMetadata,state:"streaming"};$.activeTextParts[Z.id]=T,$.message.parts.push(T),F();break}case"text-delta":{let T=$.activeTextParts[Z.id];if(T==null)throw new gA({chunkType:"text-delta",chunkId:Z.id,message:`Received text-delta for missing text part with ID "${Z.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});T.text+=Z.delta,T.providerMetadata=(V=Z.providerMetadata)!=null?V:T.providerMetadata,F();break}case"text-end":{let T=$.activeTextParts[Z.id];if(T==null)throw new gA({chunkType:"text-end",chunkId:Z.id,message:`Received text-end for missing text part with ID "${Z.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});T.state="done",T.providerMetadata=(q=Z.providerMetadata)!=null?q:T.providerMetadata,delete $.activeTextParts[Z.id],F();break}case"reasoning-start":{let T={type:"reasoning",text:"",providerMetadata:Z.providerMetadata,state:"streaming"};$.activeReasoningParts[Z.id]=T,$.message.parts.push(T),F();break}case"reasoning-delta":{let T=$.activeReasoningParts[Z.id];if(T==null)throw new gA({chunkType:"reasoning-delta",chunkId:Z.id,message:`Received reasoning-delta for missing reasoning part with ID "${Z.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});T.text+=Z.delta,T.providerMetadata=(U=Z.providerMetadata)!=null?U:T.providerMetadata,F();break}case"reasoning-end":{let T=$.activeReasoningParts[Z.id];if(T==null)throw new gA({chunkType:"reasoning-end",chunkId:Z.id,message:`Received reasoning-end for missing reasoning part with ID "${Z.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});T.providerMetadata=(z=Z.providerMetadata)!=null?z:T.providerMetadata,T.state="done",delete $.activeReasoningParts[Z.id],F();break}case"file":{$.message.parts.push({type:"file",mediaType:Z.mediaType,url:Z.url}),F();break}case"source-url":{$.message.parts.push({type:"source-url",sourceId:Z.sourceId,url:Z.url,title:Z.title,providerMetadata:Z.providerMetadata}),F();break}case"source-document":{$.message.parts.push({type:"source-document",sourceId:Z.sourceId,mediaType:Z.mediaType,title:Z.title,filename:Z.filename,providerMetadata:Z.providerMetadata}),F();break}case"tool-input-start":{let T=$.message.parts.filter(TU1);if($.partialToolCalls[Z.toolCallId]={text:"",toolName:Z.toolName,index:T.length,dynamic:Z.dynamic,title:Z.title},Z.dynamic)w({toolCallId:Z.toolCallId,toolName:Z.toolName,state:"input-streaming",input:void 0,providerExecuted:Z.providerExecuted,title:Z.title,providerMetadata:Z.providerMetadata});else N({toolCallId:Z.toolCallId,toolName:Z.toolName,state:"input-streaming",input:void 0,providerExecuted:Z.providerExecuted,title:Z.title,providerMetadata:Z.providerMetadata});F();break}case"tool-input-delta":{let T=$.partialToolCalls[Z.toolCallId];if(T==null)throw new gA({chunkType:"tool-input-delta",chunkId:Z.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${Z.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});T.text+=Z.inputTextDelta;let{value:C}=await Nk(T.text);if(T.dynamic)w({toolCallId:Z.toolCallId,toolName:T.toolName,state:"input-streaming",input:C,title:T.title});else N({toolCallId:Z.toolCallId,toolName:T.toolName,state:"input-streaming",input:C,title:T.title});F();break}case"tool-input-available":{if(Z.dynamic)w({toolCallId:Z.toolCallId,toolName:Z.toolName,state:"input-available",input:Z.input,providerExecuted:Z.providerExecuted,providerMetadata:Z.providerMetadata,title:Z.title});else N({toolCallId:Z.toolCallId,toolName:Z.toolName,state:"input-available",input:Z.input,providerExecuted:Z.providerExecuted,providerMetadata:Z.providerMetadata,title:Z.title});if(F(),K&&!Z.providerExecuted)await K({toolCall:Z});break}case"tool-input-error":{if(Z.dynamic)w({toolCallId:Z.toolCallId,toolName:Z.toolName,state:"output-error",input:Z.input,errorText:Z.errorText,providerExecuted:Z.providerExecuted,providerMetadata:Z.providerMetadata});else N({toolCallId:Z.toolCallId,toolName:Z.toolName,state:"output-error",input:void 0,rawInput:Z.input,errorText:Z.errorText,providerExecuted:Z.providerExecuted,providerMetadata:Z.providerMetadata});F();break}case"tool-approval-request":{let T=D(Z.toolCallId);T.state="approval-requested",T.approval={id:Z.approvalId},F();break}case"tool-output-denied":{let T=D(Z.toolCallId);T.state="output-denied",F();break}case"tool-output-available":{let T=D(Z.toolCallId);if(T.type==="dynamic-tool")w({toolCallId:Z.toolCallId,toolName:T.toolName,state:"output-available",input:T.input,output:Z.output,preliminary:Z.preliminary,providerExecuted:Z.providerExecuted,title:T.title});else N({toolCallId:Z.toolCallId,toolName:CU1(T),state:"output-available",input:T.input,output:Z.output,providerExecuted:Z.providerExecuted,preliminary:Z.preliminary,title:T.title});F();break}case"tool-output-error":{let T=D(Z.toolCallId);if(T.type==="dynamic-tool")w({toolCallId:Z.toolCallId,toolName:T.toolName,state:"output-error",input:T.input,errorText:Z.errorText,providerExecuted:Z.providerExecuted,title:T.title});else N({toolCallId:Z.toolCallId,toolName:CU1(T),state:"output-error",input:T.input,rawInput:T.rawInput,errorText:Z.errorText,providerExecuted:Z.providerExecuted,title:T.title});F();break}case"start-step":{$.message.parts.push({type:"step-start"});break}case"finish-step":{$.activeTextParts={},$.activeReasoningParts={};break}case"start":{if(Z.messageId!=null)$.message.id=Z.messageId;if(await E(Z.messageMetadata),Z.messageId!=null||Z.messageMetadata!=null)F();break}case"finish":{if(Z.finishReason!=null)$.finishReason=Z.finishReason;if(await E(Z.messageMetadata),Z.messageMetadata!=null)F();break}case"message-metadata":{if(await E(Z.messageMetadata),Z.messageMetadata!=null)F();break}case"error":{G==null||G(Error(Z.errorText));break}default:if(Qf6(Z)){if((X==null?void 0:X[Z.type])!=null){let P=$.message.parts.findIndex((k)=>("id"in k)&&("data"in k)&&k.id===Z.id&&k.type===Z.type),I=P>=0?P:$.message.parts.length;await nH({value:Z.data,schema:X[Z.type],context:{field:`message.parts[${I}].data`,entityName:Z.type,entityId:Z.id}})}let T=Z;if(T.transient){W==null||W(T);break}let C=T.id!=null?$.message.parts.find((P)=>T.type===P.type&&T.id===P.id):void 0;if(C!=null)C.data=T.data;else $.message.parts.push(T);W==null||W(T),F()}}H.enqueue(Z)})}}))}function ah0({messageId:Y,originalMessages:Q=[],onStepFinish:X,onFinish:J,onError:G,stream:K}){let W=Q==null?void 0:Q[Q.length-1];if((W==null?void 0:W.role)!=="assistant")W=void 0;else Y=W.id;let Z=!1,H=K.pipeThrough(new TransformStream({transform(z,D){if(z.type==="start"){let N=z;if(N.messageId==null&&Y!=null)N.messageId=Y}if(z.type==="abort")Z=!0;D.enqueue(z)}}));if(J==null&&X==null)return H;let $=nh0({lastMessage:W?structuredClone(W):void 0,messageId:Y!=null?Y:""}),F=async(z)=>{await z({state:$,write:()=>{}})},V=!1,q=async()=>{if(V||!J)return;V=!0;let z=$.message.id===(W==null?void 0:W.id);await J({isAborted:Z,isContinuation:z,responseMessage:$.message,messages:[...z?Q.slice(0,-1):Q,$.message],finishReason:$.finishReason})},U=async()=>{if(!X)return;let z=$.message.id===(W==null?void 0:W.id);try{await X({isContinuation:z,responseMessage:structuredClone($.message),messages:[...z?Q.slice(0,-1):Q,structuredClone($.message)]})}catch(D){G(D)}};return ih0({stream:H,runUpdateMessageJob:F,onError:G}).pipeThrough(new TransformStream({async transform(z,D){if(z.type==="finish-step")await U();D.enqueue(z)},async cancel(){await q()},async flush(){await q()}}))}function Xf6({response:Y,status:Q,statusText:X,headers:J,stream:G,consumeSseStream:K}){let W=G.pipeThrough(new dh0);if(K){let[Z,H]=W.tee();W=Z,K({stream:H})}lh0({response:Y,status:Q,statusText:X,headers:Object.fromEntries(ai(J,ph0).entries()),stream:W.pipeThrough(new TextEncoderStream)})}function uA(Y){let Q=Y.pipeThrough(new TransformStream);return Q[Symbol.asyncIterator]=function(){let X=this.getReader(),J=!1;async function G(K){var W;if(J)return;J=!0;try{if(K)await((W=X.cancel)==null?void 0:W.call(X))}finally{try{X.releaseLock()}catch(Z){}}}return{async next(){if(J)return{done:!0,value:void 0};let{done:K,value:W}=await X.read();if(K)return await G(!0),{done:!0,value:void 0};return{done:!1,value:W}},async return(){return await G(!0),{done:!0,value:void 0}},async throw(K){throw await G(!0),K}}},Q}async function ri({stream:Y,onError:Q}){let X=Y.getReader();try{while(!0){let{done:J}=await X.read();if(J)break}}catch(J){Q==null||Q(J)}finally{X.releaseLock()}}function Eb0(){let Y,Q;return{promise:new Promise((J,G)=>{Y=J,Q=G}),resolve:Y,reject:Q}}function Jf6(){let Y=[],Q=null,X=!1,J=Eb0(),G=()=>{X=!0,J.resolve(),Y.forEach((W)=>W.cancel()),Y=[],Q==null||Q.close()},K=async()=>{if(X&&Y.length===0){Q==null||Q.close();return}if(Y.length===0)return J=Eb0(),await J.promise,K();try{let{value:W,done:Z}=await Y[0].read();if(Z)if(Y.shift(),Y.length===0&&X)Q==null||Q.close();else await K();else Q==null||Q.enqueue(W)}catch(W){Q==null||Q.error(W),Y.shift(),G()}};return{stream:new ReadableStream({start(W){Q=W},pull:K,async cancel(){for(let W of Y)await W.cancel();Y=[],X=!0}}),addStream:(W)=>{if(X)throw Error("Cannot add inner stream: outer stream is closed");Y.push(W.getReader()),J.resolve()},close:()=>{if(X=!0,J.resolve(),Y.length===0)Q==null||Q.close()},terminate:G}}function Gf6({tools:Y,generatorStream:Q,tracer:X,telemetry:J,system:G,messages:K,abortSignal:W,repairToolCall:Z,experimental_context:H,generateId:$,stepNumber:F,model:V,onToolCallStart:q,onToolCallFinish:U}){let z=null,D=new ReadableStream({start(k){z=k}}),N=new Set,w=new Map,E=new Map,T=!1,C=void 0;function P(){if(T&&N.size===0){if(C!=null)z.enqueue(C);z.close()}}let I=new TransformStream({async transform(k,y){let f=k.type;switch(f){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":{y.enqueue(k);break}case"file":{y.enqueue({type:"file",file:new ly6({data:k.data,mediaType:k.mediaType})});break}case"finish":{C={type:"finish",finishReason:k.finishReason.unified,rawFinishReason:k.finishReason.raw,usage:Sh0(k.usage),providerMetadata:k.providerMetadata};break}case"tool-approval-request":{let b=E.get(k.toolCallId);if(b==null){z.enqueue({type:"error",error:new IU1({toolCallId:k.toolCallId,approvalId:k.approvalId})});break}y.enqueue({type:"tool-approval-request",approvalId:k.approvalId,toolCall:b});break}case"tool-call":{try{let b=await hh0({toolCall:k,tools:Y,repairToolCall:Z,system:G,messages:K});if(E.set(b.toolCallId,b),y.enqueue(b),b.invalid){z.enqueue({type:"tool-error",toolCallId:b.toolCallId,toolName:b.toolName,input:b.input,error:tq(b.error),dynamic:!0,title:b.title});break}let g=Y==null?void 0:Y[b.toolName];if(g==null)break;if(g.onInputAvailable!=null)await g.onInputAvailable({input:b.input,toolCallId:b.toolCallId,messages:K,abortSignal:W,experimental_context:H});if(await bh0({tool:g,toolCall:b,messages:K,experimental_context:H})){z.enqueue({type:"tool-approval-request",approvalId:$(),toolCall:b});break}if(w.set(b.toolCallId,b.input),g.execute!=null&&b.providerExecuted!==!0){let o=$();N.add(o),kU1({toolCall:b,tools:Y,tracer:X,telemetry:J,messages:K,abortSignal:W,experimental_context:H,stepNumber:F,model:V,onToolCallStart:q,onToolCallFinish:U,onPreliminaryToolResult:(m)=>{z.enqueue(m)}}).then((m)=>{z.enqueue(m)}).catch((m)=>{z.enqueue({type:"error",error:m})}).finally(()=>{N.delete(o),P()})}}catch(b){z.enqueue({type:"error",error:b})}break}case"tool-result":{let b=k.toolName;if(k.isError)z.enqueue({type:"tool-error",toolCallId:k.toolCallId,toolName:b,input:w.get(k.toolCallId),providerExecuted:!0,error:k.result,dynamic:k.dynamic});else y.enqueue({type:"tool-result",toolCallId:k.toolCallId,toolName:b,input:w.get(k.toolCallId),output:k.result,providerExecuted:!0,dynamic:k.dynamic});break}default:throw Error(`Unhandled chunk type: ${f}`)}},flush(){T=!0,P()}});return new ReadableStream({async start(k){return Promise.all([Q.pipeThrough(I).pipeTo(new WritableStream({write(y){k.enqueue(y)},close(){}})),D.pipeTo(new WritableStream({write(y){k.enqueue(y)},close(){k.close()}}))])}})}function dA({model:Y,tools:Q,toolChoice:X,system:J,prompt:G,messages:K,maxRetries:W,abortSignal:Z,timeout:H,headers:$,stopWhen:F=YB(1),experimental_output:V,output:q=V,experimental_telemetry:U,prepareStep:z,providerOptions:D,experimental_activeTools:N,activeTools:w=N,experimental_repairToolCall:E,experimental_transform:T,experimental_download:C,includeRawChunks:P=!1,onChunk:I,onError:k=({error:O1})=>{console.error(O1)},onFinish:y,onAbort:f,onStepFinish:b,experimental_onStart:g,experimental_onStepStart:o,experimental_onToolCallStart:m,experimental_onToolCallFinish:h,experimental_context:n,experimental_include:K1,_internal:{now:J1=pi,generateId:L1=Wf6}={},...j1}){let O1=SU1(H),T1=Bh0(H),b1=zy6(H),t1=T1!=null?new AbortController:void 0,$0=b1!=null?new AbortController:void 0;return new Kf6({model:ci(Y),telemetry:U,headers:$,settings:j1,maxRetries:W,abortSignal:mh0(Z,O1!=null?AbortSignal.timeout(O1):void 0,t1==null?void 0:t1.signal,$0==null?void 0:$0.signal),stepTimeoutMs:T1,stepAbortController:t1,chunkTimeoutMs:b1,chunkAbortController:$0,system:J,prompt:G,messages:K,tools:Q,toolChoice:X,transforms:zk(T),activeTools:w,repairToolCall:E,stopConditions:zk(F),output:q,providerOptions:D,prepareStep:z,includeRawChunks:P,timeout:H,stopWhen:F,originalAbortSignal:Z,onChunk:I,onError:k,onFinish:y,onAbort:f,onStepFinish:b,onStart:g,onStepStart:o,onToolCallStart:m,onToolCallFinish:h,now:J1,generateId:L1,experimental_context:n,download:C,include:K1})}function Zf6(Y){let Q=void 0,X="",J="",G=void 0,K="";function W({controller:Z,partialOutput:H=void 0}){Z.enqueue({part:{type:"text-delta",id:Q,text:J,providerMetadata:G},partialOutput:H}),J=""}return new TransformStream({async transform(Z,H){var $;if(Z.type==="finish-step"&&J.length>0)W({controller:H});if(Z.type!=="text-delta"&&Z.type!=="text-start"&&Z.type!=="text-end"){H.enqueue({part:Z,partialOutput:void 0});return}if(Q==null)Q=Z.id;else if(Z.id!==Q){H.enqueue({part:Z,partialOutput:void 0});return}if(Z.type==="text-start"){H.enqueue({part:Z,partialOutput:void 0});return}if(Z.type==="text-end"){if(J.length>0)W({controller:H});H.enqueue({part:Z,partialOutput:void 0});return}X+=Z.text,J+=Z.text,G=($=Z.providerMetadata)!=null?$:G;let F=await Y.parsePartialOutput({text:X});if(F!==void 0){let V=JSON.stringify(F.partial);if(V!==K)W({controller:H,partialOutput:F.partial}),K=V}}})}function rh0({execute:Y,onError:Q=tq,originalMessages:X,onStepFinish:J,onFinish:G,generateId:K=sB1}){let W,Z=[],H=new ReadableStream({start(V){W=V}});function $(V){try{W.enqueue(V)}catch(q){}}try{let V=Y({writer:{write(q){$(q)},merge(q){Z.push((async()=>{let U=q.getReader();while(!0){let{done:z,value:D}=await U.read();if(z)break;$(D)}})().catch((U)=>{$({type:"error",errorText:Q(U)})}))},onError:Q}});if(V)Z.push(V.catch((q)=>{$({type:"error",errorText:Q(q)})}))}catch(V){$({type:"error",errorText:Q(V)})}return new Promise(async(V)=>{while(Z.length>0)await Z.shift();V()}).finally(()=>{try{W.close()}catch(V){}}),ah0({stream:H,messageId:K(),originalMessages:X,onStepFinish:J,onFinish:G,onError:Q})}function oh0({message:Y,stream:Q,onError:X,terminateOnError:J=!1}){var G;let K,W=!1,Z=new ReadableStream({start(F){K=F}}),H=nh0({messageId:(G=Y==null?void 0:Y.id)!=null?G:"",lastMessage:Y}),$=(F)=>{if(X==null||X(F),!W&&J)W=!0,K==null||K.error(F)};return ri({stream:ih0({stream:Q,runUpdateMessageJob(F){return F({state:H,write:()=>{K==null||K.enqueue(structuredClone(H.message))}})},onError:$}),onError:$}).finally(()=>{if(!W)K==null||K.close()}),uA(Z)}async function sh0(Y,Q){let X=[];if(Q==null?void 0:Q.ignoreIncompleteToolCalls)Y=Y.map((J)=>({...J,parts:J.parts.filter((G)=>!Uk(G)||G.state!=="input-streaming"&&G.state!=="input-available")}));for(let J of Y)switch(J.role){case"system":{let G=J.parts.filter((W)=>W.type==="text"),K=G.reduce((W,Z)=>{if(Z.providerMetadata!=null)return{...W,...Z.providerMetadata};return W},{});X.push({role:"system",content:G.map((W)=>W.text).join(""),...Object.keys(K).length>0?{providerOptions:K}:{}});break}case"user":{X.push({role:"user",content:J.parts.map((G)=>{var K;if(NU1(G))return{type:"text",text:G.text,...G.providerMetadata!=null?{providerOptions:G.providerMetadata}:{}};if(MU1(G))return{type:"file",mediaType:G.mediaType,filename:G.filename,data:G.url,...G.providerMetadata!=null?{providerOptions:G.providerMetadata}:{}};if(LU1(G))return(K=Q==null?void 0:Q.convertDataPart)==null?void 0:K.call(Q,G)}).filter(by0)});break}case"assistant":{if(J.parts!=null){let G=[];async function K(){var W,Z,H,$,F,V;if(G.length===0)return;let q=[];for(let z of G)if(NU1(z))q.push({type:"text",text:z.text,...z.providerMetadata!=null?{providerOptions:z.providerMetadata}:{}});else if(MU1(z))q.push({type:"file",mediaType:z.mediaType,filename:z.filename,data:z.url});else if(Pb0(z))q.push({type:"reasoning",text:z.text,providerOptions:z.providerMetadata});else if(Uk(z)){let D=wU1(z);if(z.state!=="input-streaming"){if(q.push({type:"tool-call",toolCallId:z.toolCallId,toolName:D,input:z.state==="output-error"?(W=z.input)!=null?W:("rawInput"in z)?z.rawInput:void 0:z.input,providerExecuted:z.providerExecuted,...z.callProviderMetadata!=null?{providerOptions:z.callProviderMetadata}:{}}),z.approval!=null)q.push({type:"tool-approval-request",approvalId:z.approval.id,toolCallId:z.toolCallId});if(z.providerExecuted===!0&&z.state!=="approval-responded"&&(z.state==="output-available"||z.state==="output-error"))q.push({type:"tool-result",toolCallId:z.toolCallId,toolName:D,output:await rD({toolCallId:z.toolCallId,input:z.input,output:z.state==="output-error"?z.errorText:z.output,tool:(Z=Q==null?void 0:Q.tools)==null?void 0:Z[D],errorMode:z.state==="output-error"?"json":"none"}),...z.callProviderMetadata!=null?{providerOptions:z.callProviderMetadata}:{}})}}else if(LU1(z)){let D=(H=Q==null?void 0:Q.convertDataPart)==null?void 0:H.call(Q,z);if(D!=null)q.push(D)}else throw Error(`Unsupported part: ${z}`);X.push({role:"assistant",content:q});let U=G.filter((z)=>{var D;return Uk(z)&&(z.providerExecuted!==!0||((D=z.approval)==null?void 0:D.approved)!=null)});if(U.length>0){let z=[];for(let D of U){if((($=D.approval)==null?void 0:$.approved)!=null)z.push({type:"tool-approval-response",approvalId:D.approval.id,approved:D.approval.approved,reason:D.approval.reason,providerExecuted:D.providerExecuted});if(D.providerExecuted===!0)continue;switch(D.state){case"output-denied":{z.push({type:"tool-result",toolCallId:D.toolCallId,toolName:wU1(D),output:{type:"error-text",value:(F=D.approval.reason)!=null?F:"Tool execution denied."},...D.callProviderMetadata!=null?{providerOptions:D.callProviderMetadata}:{}});break}case"output-error":case"output-available":{let N=wU1(D);z.push({type:"tool-result",toolCallId:D.toolCallId,toolName:N,output:await rD({toolCallId:D.toolCallId,input:D.input,output:D.state==="output-error"?D.errorText:D.output,tool:(V=Q==null?void 0:Q.tools)==null?void 0:V[N],errorMode:D.state==="output-error"?"text":"none"}),...D.callProviderMetadata!=null?{providerOptions:D.callProviderMetadata}:{}});break}}}if(z.length>0)X.push({role:"tool",content:z})}G=[]}for(let W of J.parts)if(NU1(W)||Pb0(W)||MU1(W)||Uk(W)||LU1(W))G.push(W);else if(W.type==="step-start")await K();await K();break}break}default:{let G=J.role;throw new Ky6({originalMessage:J,message:`Unsupported role: ${G}`})}}return X}async function $f6({messages:Y,metadataSchema:Q,dataSchemas:X,tools:J}){try{if(Y==null)return{success:!1,error:new iZ({parameter:"messages",value:Y,message:"messages parameter must be provided"})};let G=await nH({value:Y,schema:Hf6});if(Q)for(let[K,W]of G.entries())await nH({value:W.metadata,schema:Q,context:{field:`messages[${K}].metadata`,entityId:W.id}});if(X||J)for(let[K,W]of G.entries())for(let[Z,H]of W.parts.entries()){if(X&&H.type.startsWith("data-")){let $=H,F=$.type.slice(5),V=X[F];if(!V)return{success:!1,error:new wG({value:$.data,cause:`No data schema found for data part ${F}`,context:{field:`messages[${K}].parts[${Z}].data`,entityName:F,entityId:$.id}})};await nH({value:$.data,schema:V,context:{field:`messages[${K}].parts[${Z}].data`,entityName:F,entityId:$.id}})}if(J&&H.type.startsWith("tool-")){let $=H,F=$.type.slice(5),V=J[F];if(!V)return{success:!1,error:new wG({value:$.input,cause:`No tool schema found for tool part ${F}`,context:{field:`messages[${K}].parts[${Z}].input`,entityName:F,entityId:$.toolCallId}})};if($.state==="input-available"||$.state==="output-available"||$.state==="output-error"&&$.input!==void 0)await nH({value:$.input,schema:V.inputSchema,context:{field:`messages[${K}].parts[${Z}].input`,entityName:F,entityId:$.toolCallId}});if($.state==="output-available"&&V.outputSchema)await nH({value:$.output,schema:V.outputSchema,context:{field:`messages[${K}].parts[${Z}].output`,entityName:F,entityId:$.toolCallId}})}}return{success:!0,data:G}}catch(G){return{success:!1,error:G}}}async function th0({messages:Y,metadataSchema:Q,dataSchemas:X,tools:J}){let G=await $f6({messages:Y,metadataSchema:Q,dataSchemas:X,tools:J});if(!G.success)throw G.error;return G.data}function eh0(Y){return({url:Q,abortSignal:X})=>zh0({url:Q,maxBytes:Y==null?void 0:Y.maxBytes,abortSignal:X})}function Yx0({messages:Y,reasoning:Q="none",toolCalls:X=[],emptyMessages:J="remove"}){if(Q==="all"||Q==="before-last-message")Y=Y.map((G,K)=>{if(G.role!=="assistant"||typeof G.content==="string"||Q==="before-last-message"&&K===Y.length-1)return G;return{...G,content:G.content.filter((W)=>W.type!=="reasoning")}});if(X==="none")X=[];else if(X==="all")X=[{type:"all"}];else if(X==="before-last-message")X=[{type:"before-last-message"}];else if(typeof X==="string")X=[{type:X}];for(let G of X){let K=G.type==="all"?void 0:G.type==="before-last-message"?1:Number(G.type.slice(12).slice(0,-9)),W=new Set,Z=new Set;if(K!=null){for(let H of Y.slice(-K))if((H.role==="assistant"||H.role==="tool")&&typeof H.content!=="string"){for(let $ of H.content)if($.type==="tool-call"||$.type==="tool-result")W.add($.toolCallId);else if($.type==="tool-approval-request"||$.type==="tool-approval-response")Z.add($.approvalId)}}Y=Y.map((H,$)=>{if(H.role!=="assistant"&&H.role!=="tool"||typeof H.content==="string"||K&&$>=Y.length-K)return H;let F={},V={};return{...H,content:H.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")&&W.has(q.toolCallId)||(q.type==="tool-approval-request"||q.type==="tool-approval-response")&&Z.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")Y=Y.filter((G)=>G.content.length>0);return Y}var Ch0,mA,N_6,M_6=(Y,Q)=>{for(var X in Q)N_6(Y,X,{get:Q[X],enumerable:!0})},Tb0="AI_InvalidArgumentError",Cb0,w_6,Rb0,iZ,A_6="AI_InvalidStreamPartError",P_6,E_6,T_6,Ib0="AI_InvalidToolApprovalError",jb0,C_6,Sb0,R_6,kb0="AI_InvalidToolInputError",vb0,I_6,_b0,RU1,yb0="AI_ToolCallNotFoundForApprovalError",fb0,j_6,bb0,IU1,hb0="AI_MissingToolResultsError",xb0,S_6,gb0,Bb0,k_6="AI_NoImageGeneratedError",v_6,__6,y_6,ub0="AI_NoObjectGeneratedError",mb0,f_6,lb0,eq,db0="AI_NoOutputGeneratedError",pb0,b_6,cb0,nb0,h_6="AI_NoSpeechGeneratedError",x_6,g_6,u_6,m_6="AI_NoTranscriptGeneratedError",l_6,d_6,p_6,c_6="AI_NoVideoGeneratedError",n_6,i_6,a_6,ib0="AI_NoSuchToolError",ab0,r_6,rb0,AU1,ob0="AI_ToolCallRepairError",sb0,o_6,tb0,s_6,t_6,eb0="AI_UIMessageStreamError",Yh0,e_6,Qh0,gA,Yy6="AI_InvalidDataContentError",Qy6,Xy6,Jy6,Xh0="AI_InvalidMessageRoleError",Jh0,Gy6,Gh0,Wy6,Wh0="AI_MessageConversionError",Zh0,Zy6,Kh0,Ky6,Hh0="AI_RetryError",$h0,Hy6,Fh0,Ub0,Fy6="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",zb0=!1,jU1=(Y)=>{if(Y.warnings.length===0)return;let Q=globalThis.AI_SDK_LOG_WARNINGS;if(Q===!1)return;if(typeof Q==="function"){Q(Y);return}if(!zb0)zb0=!0,console.info(Fy6);for(let X of Y.warnings)console.warn($y6({warning:X,provider:Y.provider,model:Y.model}))},Dy6,Oy6=(Y)=>{let Q=typeof Y==="string"?bA(Y):Y,X=(Q[6]&127)<<21|(Q[7]&127)<<14|(Q[8]&127)<<7|Q[9]&127;return Q.slice(X+10)},Uh0="6.0.98",zh0=async({url:Y,maxBytes:Q,abortSignal:X})=>{var J;let G=Y.toString();try{let K=await fetch(G,{headers:s$({},`ai-sdk/${Uh0}`,yi()),signal:X});if(!K.ok)throw new fA({url:G,statusCode:K.status,statusText:K.statusText});return{data:await _y0({response:K,url:G,maxBytes:Q!=null?Q:oB1}),mediaType:(J=K.headers.get("content-type"))!=null?J:void 0}}catch(K){if(fA.isInstance(K))throw K;throw new fA({url:G,cause:K})}},My6=(Y=zh0)=>(Q)=>Promise.all(Q.map(async(X)=>X.isUrlSupportedByModel?null:Y(X))),Dh0,Dk,p4,Mh0,Ry6,wh0,Iy6,jy6,Sy6,Ah0,ky6,vy6,_y6,yy6,fy6,by6,hy6,xy6,di,gy6,my6=({maxRetries:Y=2,initialDelayInMs:Q=2000,backoffFactor:X=2,abortSignal:J}={})=>async(G)=>vh0(G,{maxRetries:Y,delayInMs:Q,backoffFactor:X,abortSignal:J}),fh0=class{constructor({data:Y,mediaType:Q}){let X=Y instanceof Uint8Array;this.base64Data=X?void 0:Y,this.uint8ArrayData=X?Y:void 0,this.mediaType=Q}get base64(){if(this.base64Data==null)this.base64Data=o$(this.uint8ArrayData);return this.base64Data}get uint8Array(){if(this.uint8ArrayData==null)this.uint8ArrayData=bA(this.base64Data);return this.uint8ArrayData}},ly6,dy6,ni=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:Y}){return Y},async parsePartialOutput({text:Y}){return{partial:Y}},createElementStreamTransform(){return}}),cy6=({schema:Y,name:Q,description:X})=>{let J=cH(Y);return{name:"object",responseFormat:TQ(J.jsonSchema).then((G)=>({type:"json",schema:G,...Q!=null&&{name:Q},...X!=null&&{description:X}})),async parseCompleteOutput({text:G},K){let W=await AG({text:G});if(!W.success)throw new eq({message:"No object generated: could not parse the response.",cause:W.error,text:G,response:K.response,usage:K.usage,finishReason:K.finishReason});let Z=await C5({value:W.value,schema:J});if(!Z.success)throw new eq({message:"No object generated: response did not match schema.",cause:Z.error,text:G,response:K.response,usage:K.usage,finishReason:K.finishReason});return Z.value},async parsePartialOutput({text:G}){let K=await Nk(G);switch(K.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:K.value}}},createElementStreamTransform(){return}}},ny6=({element:Y,name:Q,description:X})=>{let J=cH(Y);return{name:"array",responseFormat:TQ(J.jsonSchema).then((G)=>{let{$schema:K,...W}=G;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:W}},required:["elements"],additionalProperties:!1},...Q!=null&&{name:Q},...X!=null&&{description:X}}}),async parseCompleteOutput({text:G},K){let W=await AG({text:G});if(!W.success)throw new eq({message:"No object generated: could not parse the response.",cause:W.error,text:G,response:K.response,usage:K.usage,finishReason:K.finishReason});let Z=W.value;if(Z==null||typeof Z!=="object"||!("elements"in Z)||!Array.isArray(Z.elements))throw new eq({message:"No object generated: response did not match schema.",cause:new wG({value:Z,cause:"response must be an object with an elements array"}),text:G,response:K.response,usage:K.usage,finishReason:K.finishReason});for(let H of Z.elements){let $=await C5({value:H,schema:J});if(!$.success)throw new eq({message:"No object generated: response did not match schema.",cause:$.error,text:G,response:K.response,usage:K.usage,finishReason:K.finishReason})}return Z.elements},async parsePartialOutput({text:G}){let K=await Nk(G);switch(K.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let W=K.value;if(W==null||typeof W!=="object"||!("elements"in W)||!Array.isArray(W.elements))return;let Z=K.state==="repaired-parse"&&W.elements.length>0?W.elements.slice(0,-1):W.elements,H=[];for(let $ of Z){let F=await C5({value:$,schema:J});if(F.success)H.push(F.value)}return{partial:H}}}},createElementStreamTransform(){let G=0;return new TransformStream({transform({partialOutput:K},W){if(K!=null)for(;G<K.length;G++)W.enqueue(K[G])}})}}},iy6=({options:Y,name:Q,description:X})=>{return{name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:Y}},required:["result"],additionalProperties:!1},...Q!=null&&{name:Q},...X!=null&&{description:X}}),async parseCompleteOutput({text:J},G){let K=await AG({text:J});if(!K.success)throw new eq({message:"No object generated: could not parse the response.",cause:K.error,text:J,response:G.response,usage:G.usage,finishReason:G.finishReason});let W=K.value;if(W==null||typeof W!=="object"||!("result"in W)||typeof W.result!=="string"||!Y.includes(W.result))throw new eq({message:"No object generated: response did not match schema.",cause:new wG({value:W,cause:"response must be an object that contains a choice value."}),text:J,response:G.response,usage:G.usage,finishReason:G.finishReason});return W.result},async parsePartialOutput({text:J}){let G=await Nk(J);switch(G.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let K=G.value;if(K==null||typeof K!=="object"||!("result"in K)||typeof K.result!=="string")return;let W=Y.filter((Z)=>Z.startsWith(K.result));if(G.state==="successful-parse")return W.includes(K.result)?{partial:K.result}:void 0;else return W.length===1?{partial:W[0]}:void 0}}},createElementStreamTransform(){return}}},ay6=({name:Y,description:Q}={})=>{return{name:"json",responseFormat:Promise.resolve({type:"json",...Y!=null&&{name:Y},...Q!=null&&{description:Q}}),async parseCompleteOutput({text:X},J){let G=await AG({text:X});if(!G.success)throw new eq({message:"No object generated: could not parse the response.",cause:G.error,text:X,response:J.response,usage:J.usage,finishReason:J.finishReason});return G.value},async parsePartialOutput({text:X}){let J=await Nk(X);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}}},createElementStreamTransform(){return}}},gh0=class{constructor({stepNumber:Y,model:Q,functionId:X,metadata:J,experimental_context:G,content:K,finishReason:W,rawFinishReason:Z,usage:H,warnings:$,request:F,response:V,providerMetadata:q}){this.stepNumber=Y,this.model=Q,this.functionId=X,this.metadata=J,this.experimental_context=G,this.content=K,this.finishReason=W,this.rawFinishReason=Z,this.usage=H,this.warnings=$,this.request=F,this.response=V,this.providerMetadata=q}get text(){return this.content.filter((Y)=>Y.type==="text").map((Y)=>Y.text).join("")}get reasoning(){return this.content.filter((Y)=>Y.type==="reasoning")}get reasoningText(){return this.reasoning.length===0?void 0:this.reasoning.map((Y)=>Y.text).join("")}get files(){return this.content.filter((Y)=>Y.type==="file").map((Y)=>Y.file)}get sources(){return this.content.filter((Y)=>Y.type==="source")}get toolCalls(){return this.content.filter((Y)=>Y.type==="tool-call")}get staticToolCalls(){return this.toolCalls.filter((Y)=>Y.dynamic!==!0)}get dynamicToolCalls(){return this.toolCalls.filter((Y)=>Y.dynamic===!0)}get toolResults(){return this.content.filter((Y)=>Y.type==="tool-result")}get staticToolResults(){return this.toolResults.filter((Y)=>Y.dynamic!==!0)}get dynamicToolResults(){return this.toolResults.filter((Y)=>Y.dynamic===!0)}},ry6,oy6=class{constructor(Y){this.steps=Y.steps,this._output=Y.output,this.totalUsage=Y.totalUsage}get finalStep(){return this.steps[this.steps.length-1]}get content(){return this.finalStep.content}get text(){return this.finalStep.text}get files(){return this.finalStep.files}get reasoningText(){return this.finalStep.reasoningText}get reasoning(){return this.finalStep.reasoning}get toolCalls(){return this.finalStep.toolCalls}get staticToolCalls(){return this.finalStep.staticToolCalls}get dynamicToolCalls(){return this.finalStep.dynamicToolCalls}get toolResults(){return this.finalStep.toolResults}get staticToolResults(){return this.finalStep.staticToolResults}get dynamicToolResults(){return this.finalStep.dynamicToolResults}get sources(){return this.finalStep.sources}get finishReason(){return this.finalStep.finishReason}get rawFinishReason(){return this.finalStep.rawFinishReason}get warnings(){return this.finalStep.warnings}get providerMetadata(){return this.finalStep.providerMetadata}get response(){return this.finalStep.response}get request(){return this.finalStep.request}get usage(){return this.finalStep.usage}get experimental_output(){return this.output}get output(){if(this._output==null)throw new nb0;return this._output}},dh0,ph0,JY9,Wf6,Kf6=class{constructor({model:Y,telemetry:Q,headers:X,settings:J,maxRetries:G,abortSignal:K,stepTimeoutMs:W,stepAbortController:Z,chunkTimeoutMs:H,chunkAbortController:$,system:F,prompt:V,messages:q,tools:U,toolChoice:z,transforms:D,activeTools:N,repairToolCall:w,stopConditions:E,output:T,providerOptions:C,prepareStep:P,includeRawChunks:I,now:k,generateId:y,timeout:f,stopWhen:b,originalAbortSignal:g,onChunk:o,onError:m,onFinish:h,onAbort:n,onStepFinish:K1,onStart:J1,onStepStart:L1,onToolCallStart:j1,onToolCallFinish:O1,experimental_context:T1,download:b1,include:t1}){this._totalUsage=new cD,this._finishReason=new cD,this._rawFinishReason=new cD,this._steps=new cD,this.outputSpecification=T,this.includeRawChunks=I,this.tools=U;let $0,C1=[],w1=[],u1=void 0,G4=void 0,d0=void 0,F0={},v1=[],N1=[],n1=new Map,I1,_1={},T0={},G0=new TransformStream({async transform(a0,j0){var l6,M,x,Z1;j0.enqueue(a0);let{part:H1}=a0;if(H1.type==="text-delta"||H1.type==="reasoning-delta"||H1.type==="source"||H1.type==="tool-call"||H1.type==="tool-result"||H1.type==="tool-input-start"||H1.type==="tool-input-delta"||H1.type==="raw")await(o==null?void 0:o({chunk:H1}));if(H1.type==="error")await m({error:Eh0(H1.error)});if(H1.type==="text-start")_1[H1.id]={type:"text",text:"",providerMetadata:H1.providerMetadata},C1.push(_1[H1.id]);if(H1.type==="text-delta"){let O=_1[H1.id];if(O==null){j0.enqueue({part:{type:"error",error:`text part ${H1.id} not found`},partialOutput:void 0});return}O.text+=H1.text,O.providerMetadata=(l6=H1.providerMetadata)!=null?l6:O.providerMetadata}if(H1.type==="text-end"){let O=_1[H1.id];if(O==null){j0.enqueue({part:{type:"error",error:`text part ${H1.id} not found`},partialOutput:void 0});return}O.providerMetadata=(M=H1.providerMetadata)!=null?M:O.providerMetadata,delete _1[H1.id]}if(H1.type==="reasoning-start")T0[H1.id]={type:"reasoning",text:"",providerMetadata:H1.providerMetadata},C1.push(T0[H1.id]);if(H1.type==="reasoning-delta"){let O=T0[H1.id];if(O==null){j0.enqueue({part:{type:"error",error:`reasoning part ${H1.id} not found`},partialOutput:void 0});return}O.text+=H1.text,O.providerMetadata=(x=H1.providerMetadata)!=null?x:O.providerMetadata}if(H1.type==="reasoning-end"){let O=T0[H1.id];if(O==null){j0.enqueue({part:{type:"error",error:`reasoning part ${H1.id} not found`},partialOutput:void 0});return}O.providerMetadata=(Z1=H1.providerMetadata)!=null?Z1:O.providerMetadata,delete T0[H1.id]}if(H1.type==="file")C1.push({type:"file",file:H1.file});if(H1.type==="source")C1.push(H1);if(H1.type==="tool-call")C1.push(H1);if(H1.type==="tool-result"&&!H1.preliminary)C1.push(H1);if(H1.type==="tool-approval-request")C1.push(H1);if(H1.type==="tool-error")C1.push(H1);if(H1.type==="start-step")C1=[],T0={},_1={},F0=H1.request,v1=H1.warnings;if(H1.type==="finish-step"){let O=await EU1({content:C1,tools:U}),S=new gh0({stepNumber:N1.length,model:Z8,...v9,experimental_context:T1,content:C1,finishReason:H1.finishReason,rawFinishReason:H1.rawFinishReason,usage:H1.usage,warnings:v1,request:F0,response:{...H1.response,messages:[...w1,...O]},providerMetadata:H1.providerMetadata});await(K1==null?void 0:K1(S)),jU1({warnings:v1,provider:Z8.provider,model:Z8.modelId}),N1.push(S),w1.push(...O),$0.resolve()}if(H1.type==="finish")d0=H1.totalUsage,u1=H1.finishReason,G4=H1.rawFinishReason},async flush(a0){try{if(N1.length===0){let x=(K==null?void 0:K.aborted)?K.reason:new nb0({message:"No output generated. Check the stream for errors."});Y6._finishReason.reject(x),Y6._rawFinishReason.reject(x),Y6._totalUsage.reject(x),Y6._steps.reject(x);return}let j0=u1!=null?u1:"other",l6=d0!=null?d0:OU1();Y6._finishReason.resolve(j0),Y6._rawFinishReason.resolve(G4),Y6._totalUsage.resolve(l6),Y6._steps.resolve(N1);let M=N1[N1.length-1];await(h==null?void 0:h({stepNumber:M.stepNumber,model:M.model,functionId:M.functionId,metadata:M.metadata,experimental_context:M.experimental_context,finishReason:M.finishReason,rawFinishReason:M.rawFinishReason,totalUsage:l6,usage:M.usage,content:M.content,text:M.text,reasoningText:M.reasoningText,reasoning:M.reasoning,files:M.files,sources:M.sources,toolCalls:M.toolCalls,staticToolCalls:M.staticToolCalls,dynamicToolCalls:M.dynamicToolCalls,toolResults:M.toolResults,staticToolResults:M.staticToolResults,dynamicToolResults:M.dynamicToolResults,request:M.request,response:M.response,warnings:M.warnings,providerMetadata:M.providerMetadata,steps:N1})),I1.setAttributes(await iH({telemetry:Q,attributes:{"ai.response.finishReason":j0,"ai.response.text":{output:()=>M.text},"ai.response.reasoning":{output:()=>M.reasoningText},"ai.response.toolCalls":{output:()=>{var x;return((x=M.toolCalls)==null?void 0:x.length)?JSON.stringify(M.toolCalls):void 0}},"ai.response.providerMetadata":JSON.stringify(M.providerMetadata),"ai.usage.inputTokens":l6.inputTokens,"ai.usage.outputTokens":l6.outputTokens,"ai.usage.totalTokens":l6.totalTokens,"ai.usage.reasoningTokens":l6.reasoningTokens,"ai.usage.cachedInputTokens":l6.cachedInputTokens}}))}catch(j0){a0.error(j0)}finally{I1.end()}}}),Z0=Jf6();this.addStream=Z0.addStream,this.closeStream=Z0.close;let r4=Z0.stream.getReader(),Z6=new ReadableStream({async start(a0){a0.enqueue({type:"start"})},async pull(a0){function j0(){n==null||n({steps:N1}),a0.enqueue({type:"abort",...(K==null?void 0:K.reason)!==void 0?{reason:dZ(K.reason)}:{}}),a0.close()}try{let{done:l6,value:M}=await r4.read();if(l6){a0.close();return}if(K==null?void 0:K.aborted){j0();return}a0.enqueue(M)}catch(l6){if(a$(l6)&&(K==null?void 0:K.aborted))j0();else a0.error(l6)}},cancel(a0){return Z0.stream.cancel(a0)}});for(let a0 of D)Z6=Z6.pipeThrough(a0({tools:U,stopStream(){Z0.terminate()}}));this.baseStream=Z6.pipeThrough(Zf6(T!=null?T:ni())).pipeThrough(G0);let{maxRetries:h6,retry:W8}=_h0({maxRetries:G,abortSignal:K}),h0=Rh0(Q),m1=PU1(J),v0=Th0({model:Y,telemetry:Q,headers:X,settings:{...m1,maxRetries:h6}}),Y6=this,Z8={provider:Y.provider,modelId:Y.modelId},v9={functionId:Q==null?void 0:Q.functionId,metadata:Q==null?void 0:Q.metadata};Lk({name:"ai.streamText",attributes:iH({telemetry:Q,attributes:{...Ok({operationId:"ai.streamText",telemetry:Q}),...v0,"ai.prompt":{input:()=>JSON.stringify({system:F,prompt:V,messages:q})}}}),tracer:h0,endWhenDone:!1,fn:async(a0)=>{I1=a0;let j0=await Ph0({system:F,prompt:V,messages:q});try{await(J1==null?void 0:J1({model:Z8,system:F,prompt:V,messages:q,tools:U,toolChoice:z,activeTools:N,maxOutputTokens:m1.maxOutputTokens,temperature:m1.temperature,topP:m1.topP,topK:m1.topK,presencePenalty:m1.presencePenalty,frequencyPenalty:m1.frequencyPenalty,stopSequences:m1.stopSequences,seed:m1.seed,maxRetries:h6,timeout:f,headers:X,providerOptions:C,stopWhen:b,output:T,abortSignal:g,include:t1,...v9,experimental_context:T1}))}catch(O){}let l6=j0.messages,M=[],{approvedToolApprovals:x,deniedToolApprovals:Z1}=yh0({messages:l6});if(Z1.length>0||x.length>0){let O=[...x,...Z1].filter((r1)=>r1.toolCall.providerExecuted),S=x.filter((r1)=>!r1.toolCall.providerExecuted),s=Z1.filter((r1)=>!r1.toolCall.providerExecuted),B1=Z1.filter((r1)=>r1.toolCall.providerExecuted),F1,t=new ReadableStream({start(r1){F1=r1}});Y6.addStream(t);try{for(let f0 of[...s,...B1])F1==null||F1.enqueue({type:"tool-output-denied",toolCallId:f0.toolCall.toolCallId,toolName:f0.toolCall.toolName});let r1=[];if(await Promise.all(S.map(async(f0)=>{let m0=await kU1({toolCall:f0.toolCall,tools:U,tracer:h0,telemetry:Q,messages:l6,abortSignal:K,experimental_context:T1,stepNumber:N1.length,model:Z8,onToolCallStart:j1,onToolCallFinish:O1,onPreliminaryToolResult:(V0)=>{F1==null||F1.enqueue(V0)}});if(m0!=null)F1==null||F1.enqueue(m0),r1.push(m0)})),O.length>0)M.push({role:"tool",content:O.map((f0)=>({type:"tool-approval-response",approvalId:f0.approvalResponse.approvalId,approved:f0.approvalResponse.approved,reason:f0.approvalResponse.reason,providerExecuted:!0}))});if(r1.length>0||s.length>0){let f0=[];for(let m0 of r1)f0.push({type:"tool-result",toolCallId:m0.toolCallId,toolName:m0.toolName,output:await rD({toolCallId:m0.toolCallId,input:m0.input,tool:U==null?void 0:U[m0.toolName],output:m0.type==="tool-result"?m0.output:m0.error,errorMode:m0.type==="tool-error"?"json":"none"})});for(let m0 of s)f0.push({type:"tool-result",toolCallId:m0.toolCall.toolCallId,toolName:m0.toolCall.toolName,output:{type:"execution-denied",reason:m0.approvalResponse.reason}});M.push({role:"tool",content:f0})}}finally{F1==null||F1.close()}}w1.push(...M);async function H1({currentStep:O,responseMessages:S,usage:s}){var B1,F1,t,r1,f0,m0,V0,U4,W9;let t9=Y6.includeRawChunks,P6=W!=null?setTimeout(()=>Z.abort(),W):void 0,y6=void 0;function KJ(){if(H!=null){if(y6!=null)clearTimeout(y6);y6=setTimeout(()=>$.abort(),H)}}function u(){if(y6!=null)clearTimeout(y6),y6=void 0}function c(){if(P6!=null)clearTimeout(P6)}try{$0=new cD;let r=[...l6,...S],v=await(P==null?void 0:P({model:Y,steps:N1,stepNumber:N1.length,messages:r,experimental_context:T1})),G1=ci((B1=v==null?void 0:v.model)!=null?B1:Y),V1={provider:G1.provider,modelId:G1.modelId},z1=await Lh0({prompt:{system:(F1=v==null?void 0:v.system)!=null?F1:j0.system,messages:(t=v==null?void 0:v.messages)!=null?t:r},supportedUrls:await G1.supportedUrls,download:b1}),c1=(r1=v==null?void 0:v.activeTools)!=null?r1:N,{toolChoice:U0,tools:c0}=await Nh0({tools:U,toolChoice:(f0=v==null?void 0:v.toolChoice)!=null?f0:z,activeTools:c1});T1=(m0=v==null?void 0:v.experimental_context)!=null?m0:T1;let l0=(V0=v==null?void 0:v.messages)!=null?V0:r,j6=(U4=v==null?void 0:v.system)!=null?U4:j0.system,n0=ii(C,v==null?void 0:v.providerOptions);try{await(L1==null?void 0:L1({stepNumber:N1.length,model:V1,system:j6,messages:l0,tools:U,toolChoice:U0,activeTools:c1,steps:[...N1],providerOptions:n0,timeout:f,headers:X,stopWhen:b,output:T,abortSignal:g,include:t1,...v9,experimental_context:T1}))}catch(d1){}let{result:{stream:y4,response:f4,request:c4},doStreamSpan:$4,startTimestampMs:j4}=await W8(()=>Lk({name:"ai.streamText.doStream",attributes:iH({telemetry:Q,attributes:{...Ok({operationId:"ai.streamText.doStream",telemetry:Q}),...v0,"ai.model.provider":G1.provider,"ai.model.id":G1.modelId,"ai.prompt.messages":{input:()=>jh0(z1)},"ai.prompt.tools":{input:()=>c0==null?void 0:c0.map((d1)=>JSON.stringify(d1))},"ai.prompt.toolChoice":{input:()=>U0!=null?JSON.stringify(U0):void 0},"gen_ai.system":G1.provider,"gen_ai.request.model":G1.modelId,"gen_ai.request.frequency_penalty":m1.frequencyPenalty,"gen_ai.request.max_tokens":m1.maxOutputTokens,"gen_ai.request.presence_penalty":m1.presencePenalty,"gen_ai.request.stop_sequences":m1.stopSequences,"gen_ai.request.temperature":m1.temperature,"gen_ai.request.top_k":m1.topK,"gen_ai.request.top_p":m1.topP}}),tracer:h0,endWhenDone:!1,fn:async(d1)=>({startTimestampMs:k(),doStreamSpan:d1,result:await G1.doStream({...m1,tools:c0,toolChoice:U0,responseFormat:await(T==null?void 0:T.responseFormat),prompt:z1,providerOptions:n0,abortSignal:K,headers:X,includeRawChunks:t9})})})),i4=Gf6({tools:U,generatorStream:y4,tracer:h0,telemetry:Q,system:F,messages:r,repairToolCall:w,abortSignal:K,experimental_context:T1,generateId:y,stepNumber:N1.length,model:V1,onToolCallStart:j1,onToolCallFinish:O1}),Q6=((W9=t1==null?void 0:t1.requestBody)!=null?W9:!0)?c4!=null?c4:{}:{...c4,body:void 0},Z4=[],N4=[],r0,q4={},F4="other",p0=void 0,l1=OU1(),i1,O0=!0,K0={id:y(),timestamp:new Date,modelId:Z8.modelId},B0="";Y6.addStream(i4.pipeThrough(new TransformStream({async transform(d1,H4){var B6,z6,D6,U1,X6;if(KJ(),d1.type==="stream-start"){r0=d1.warnings;return}if(O0){let h4=k()-j4;O0=!1,$4.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":h4}),$4.setAttributes({"ai.response.msToFirstChunk":h4}),H4.enqueue({type:"start-step",request:Q6,warnings:r0!=null?r0:[]})}let a6=d1.type;switch(a6){case"tool-approval-request":case"text-start":case"text-end":{H4.enqueue(d1);break}case"text-delta":{if(d1.delta.length>0)H4.enqueue({type:"text-delta",id:d1.id,text:d1.delta,providerMetadata:d1.providerMetadata}),B0+=d1.delta;break}case"reasoning-start":case"reasoning-end":{H4.enqueue(d1);break}case"reasoning-delta":{H4.enqueue({type:"reasoning-delta",id:d1.id,text:d1.delta,providerMetadata:d1.providerMetadata});break}case"tool-call":{H4.enqueue(d1),Z4.push(d1);break}case"tool-result":{if(H4.enqueue(d1),!d1.preliminary)N4.push(d1);break}case"tool-error":{H4.enqueue(d1),N4.push(d1);break}case"response-metadata":{K0={id:(B6=d1.id)!=null?B6:K0.id,timestamp:(z6=d1.timestamp)!=null?z6:K0.timestamp,modelId:(D6=d1.modelId)!=null?D6:K0.modelId};break}case"finish":{l1=d1.usage,F4=d1.finishReason,p0=d1.rawFinishReason,i1=d1.providerMetadata;let h4=k()-j4;$4.addEvent("ai.stream.finish"),$4.setAttributes({"ai.response.msToFinish":h4,"ai.response.avgOutputTokensPerSecond":1000*((U1=l1.outputTokens)!=null?U1:0)/h4});break}case"file":{H4.enqueue(d1);break}case"source":{H4.enqueue(d1);break}case"tool-input-start":{q4[d1.id]=d1.toolName;let h4=U==null?void 0:U[d1.toolName];if((h4==null?void 0:h4.onInputStart)!=null)await h4.onInputStart({toolCallId:d1.id,messages:r,abortSignal:K,experimental_context:T1});H4.enqueue({...d1,dynamic:(X6=d1.dynamic)!=null?X6:(h4==null?void 0:h4.type)==="dynamic",title:h4==null?void 0:h4.title});break}case"tool-input-end":{delete q4[d1.id],H4.enqueue(d1);break}case"tool-input-delta":{let h4=q4[d1.id],w6=U==null?void 0:U[h4];if((w6==null?void 0:w6.onInputDelta)!=null)await w6.onInputDelta({inputTextDelta:d1.delta,toolCallId:d1.id,messages:r,abortSignal:K,experimental_context:T1});H4.enqueue(d1);break}case"error":{H4.enqueue(d1),F4="error";break}case"raw":{if(t9)H4.enqueue(d1);break}default:throw Error(`Unknown chunk type: ${a6}`)}},async flush(d1){let H4=Z4.length>0?JSON.stringify(Z4):void 0;try{$4.setAttributes(await iH({telemetry:Q,attributes:{"ai.response.finishReason":F4,"ai.response.text":{output:()=>B0},"ai.response.reasoning":{output:()=>{let U1=C1.filter((X6)=>X6.type==="reasoning");return U1.length>0?U1.map((X6)=>X6.text).join(`
|
|
1288
1288
|
`):void 0}},"ai.response.toolCalls":{output:()=>H4},"ai.response.id":K0.id,"ai.response.model":K0.modelId,"ai.response.timestamp":K0.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(i1),"ai.usage.inputTokens":l1.inputTokens,"ai.usage.outputTokens":l1.outputTokens,"ai.usage.totalTokens":l1.totalTokens,"ai.usage.reasoningTokens":l1.reasoningTokens,"ai.usage.cachedInputTokens":l1.cachedInputTokens,"gen_ai.response.finish_reasons":[F4],"gen_ai.response.id":K0.id,"gen_ai.response.model":K0.modelId,"gen_ai.usage.input_tokens":l1.inputTokens,"gen_ai.usage.output_tokens":l1.outputTokens}}))}catch(U1){}finally{$4.end()}d1.enqueue({type:"finish-step",finishReason:F4,rawFinishReason:p0,usage:l1,providerMetadata:i1,response:{...K0,headers:f4==null?void 0:f4.headers}});let B6=kh0(s,l1);await $0.promise;let z6=Z4.filter((U1)=>U1.providerExecuted!==!0),D6=N4.filter((U1)=>U1.providerExecuted!==!0);for(let U1 of Z4){if(U1.providerExecuted!==!0)continue;let X6=U==null?void 0:U[U1.toolName];if((X6==null?void 0:X6.type)==="provider"&&X6.supportsDeferredResults){if(!N4.some((h4)=>(h4.type==="tool-result"||h4.type==="tool-error")&&h4.toolCallId===U1.toolCallId))n1.set(U1.toolCallId,{toolName:U1.toolName})}}for(let U1 of N4)if(U1.type==="tool-result"||U1.type==="tool-error")n1.delete(U1.toolCallId);if(c(),u(),(z6.length>0&&D6.length===z6.length||n1.size>0)&&!await uh0({stopConditions:E,steps:N1})){S.push(...await EU1({content:N1[N1.length-1].content,tools:U}));try{await H1({currentStep:O+1,responseMessages:S,usage:B6})}catch(U1){d1.enqueue({type:"error",error:U1}),Y6.closeStream()}}else d1.enqueue({type:"finish",finishReason:F4,rawFinishReason:p0,totalUsage:B6}),Y6.closeStream()}})))}finally{c(),u()}}await H1({currentStep:0,responseMessages:M,usage:OU1()})}}).catch((a0)=>{Y6.addStream(new ReadableStream({start(j0){j0.enqueue({type:"error",error:a0}),j0.close()}})),Y6.closeStream()})}get steps(){return this.consumeStream(),this._steps.promise}get finalStep(){return this.steps.then((Y)=>Y[Y.length-1])}get content(){return this.finalStep.then((Y)=>Y.content)}get warnings(){return this.finalStep.then((Y)=>Y.warnings)}get providerMetadata(){return this.finalStep.then((Y)=>Y.providerMetadata)}get text(){return this.finalStep.then((Y)=>Y.text)}get reasoningText(){return this.finalStep.then((Y)=>Y.reasoningText)}get reasoning(){return this.finalStep.then((Y)=>Y.reasoning)}get sources(){return this.finalStep.then((Y)=>Y.sources)}get files(){return this.finalStep.then((Y)=>Y.files)}get toolCalls(){return this.finalStep.then((Y)=>Y.toolCalls)}get staticToolCalls(){return this.finalStep.then((Y)=>Y.staticToolCalls)}get dynamicToolCalls(){return this.finalStep.then((Y)=>Y.dynamicToolCalls)}get toolResults(){return this.finalStep.then((Y)=>Y.toolResults)}get staticToolResults(){return this.finalStep.then((Y)=>Y.staticToolResults)}get dynamicToolResults(){return this.finalStep.then((Y)=>Y.dynamicToolResults)}get usage(){return this.finalStep.then((Y)=>Y.usage)}get request(){return this.finalStep.then((Y)=>Y.request)}get response(){return this.finalStep.then((Y)=>Y.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[Y,Q]=this.baseStream.tee();return this.baseStream=Q,Y}get textStream(){return uA(this.teeStream().pipeThrough(new TransformStream({transform({part:Y},Q){if(Y.type==="text-delta")Q.enqueue(Y.text)}})))}get fullStream(){return uA(this.teeStream().pipeThrough(new TransformStream({transform({part:Y},Q){Q.enqueue(Y)}})))}async consumeStream(Y){var Q;try{await ri({stream:this.fullStream,onError:Y==null?void 0:Y.onError})}catch(X){(Q=Y==null?void 0:Y.onError)==null||Q.call(Y,X)}}get experimental_partialOutputStream(){return this.partialOutputStream}get partialOutputStream(){return uA(this.teeStream().pipeThrough(new TransformStream({transform({partialOutput:Y},Q){if(Y!=null)Q.enqueue(Y)}})))}get elementStream(){var Y,Q,X;let J=(Y=this.outputSpecification)==null?void 0:Y.createElementStreamTransform();if(J==null)throw new Py0({functionality:`element streams in ${(X=(Q=this.outputSpecification)==null?void 0:Q.name)!=null?X:"text"} mode`});return uA(this.teeStream().pipeThrough(J))}get output(){return this.finalStep.then((Y)=>{var Q;return((Q=this.outputSpecification)!=null?Q:ni()).parseCompleteOutput({text:Y.text},{response:Y.response,usage:Y.usage,finishReason:Y.finishReason})})}toUIMessageStream({originalMessages:Y,generateMessageId:Q,onFinish:X,messageMetadata:J,sendReasoning:G=!0,sendSources:K=!1,sendStart:W=!0,sendFinish:Z=!0,onError:H=dZ}={}){let $=Q!=null?Yf6({originalMessages:Y,responseMessageId:Q}):void 0,F=(q)=>{var U;let z=(U=this.tools)==null?void 0:U[q.toolName];if(z==null)return q.dynamic;return(z==null?void 0:z.type)==="dynamic"?!0:void 0},V=this.fullStream.pipeThrough(new TransformStream({transform:async(q,U)=>{let z=J==null?void 0:J({part:q}),D=q.type;switch(D){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(K&&q.sourceType==="url")U.enqueue({type:"source-url",sourceId:q.id,url:q.url,title:q.title,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});if(K&&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 N=F(q);U.enqueue({type:"tool-input-start",toolCallId:q.id,toolName:q.toolName,...q.providerExecuted!=null?{providerExecuted:q.providerExecuted}:{},...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{},...N!=null?{dynamic:N}:{},...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 N=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}:{},...N!=null?{dynamic:N}:{},errorText:H(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}:{},...N!=null?{dynamic:N}:{},...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 N=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}:{},...N!=null?{dynamic:N}:{}});break}case"tool-error":{let N=F(q);U.enqueue({type:"tool-output-error",toolCallId:q.toolCallId,errorText:H(q.error),...q.providerExecuted!=null?{providerExecuted:q.providerExecuted}:{},...N!=null?{dynamic:N}:{}});break}case"tool-output-denied":{U.enqueue({type:"tool-output-denied",toolCallId:q.toolCallId});break}case"error":{U.enqueue({type:"error",errorText:H(q.error)});break}case"start-step":{U.enqueue({type:"start-step"});break}case"finish-step":{U.enqueue({type:"finish-step"});break}case"start":{if(W)U.enqueue({type:"start",...z!=null?{messageMetadata:z}:{},...$!=null?{messageId:$}:{}});break}case"finish":{if(Z)U.enqueue({type:"finish",finishReason:q.finishReason,...z!=null?{messageMetadata:z}:{}});break}case"abort":{U.enqueue(q);break}case"tool-input-end":break;case"raw":break;default:throw Error(`Unknown chunk type: ${D}`)}if(z!=null&&D!=="start"&&D!=="finish")U.enqueue({type:"message-metadata",messageMetadata:z})}}));return uA(ah0({stream:V,messageId:$!=null?$:Q==null?void 0:Q(),originalMessages:Y,onFinish:X,onError:H}))}pipeUIMessageStreamToResponse(Y,{originalMessages:Q,generateMessageId:X,onFinish:J,messageMetadata:G,sendReasoning:K,sendSources:W,sendFinish:Z,sendStart:H,onError:$,...F}={}){Xf6({response:Y,stream:this.toUIMessageStream({originalMessages:Q,generateMessageId:X,onFinish:J,messageMetadata:G,sendReasoning:K,sendSources:W,sendFinish:Z,sendStart:H,onError:$}),...F})}pipeTextStreamToResponse(Y,Q){ey6({response:Y,textStream:this.textStream,...Q})}toUIMessageStreamResponse({originalMessages:Y,generateMessageId:Q,onFinish:X,messageMetadata:J,sendReasoning:G,sendSources:K,sendFinish:W,sendStart:Z,onError:H,...$}={}){return vU1({stream:this.toUIMessageStream({originalMessages:Y,generateMessageId:Q,onFinish:X,messageMetadata:J,sendReasoning:G,sendSources:K,sendFinish:W,sendStart:Z,onError:H}),...$})}toTextStreamResponse(Y){return ty6({textStream:this.textStream,...Y})}},Hf6,VY9,BY9,UY9,Ff6="AI_NoSuchProviderError",Vf6,qf6,Bf6,zY9;var aZ=j(()=>{Q8();Q8();k8();k8();k8();k8();k8();k8();k8();k8();k8();k8();k8();k8();k8();k8();DU1();Q8();Q8();Q8();Q8();k8();Q8();r6();k8();Q8();k8();Q8();r6();r6();r6();r6();r6();DU1();k8();k8();Q8();Q8();Q8();k8();Q8();Q8();Q8();k8();Q8();Q8();r6();Q8();Q8();Q8();Q8();k8();Q8();r6();Q8();Q8();Ch0=S6(L0(),1),mA=S6(L0(),1),N_6=Object.defineProperty,Cb0=`vercel.ai.error.${Tb0}`,w_6=Symbol.for(Cb0),iZ=class extends W4{constructor({parameter:Y,value:Q,message:X}){super({name:Tb0,message:`Invalid argument for parameter ${Y}: ${X}`});this[Rb0]=!0,this.parameter=Y,this.value=Q}static isInstance(Y){return W4.hasMarker(Y,Cb0)}};Rb0=w_6;P_6=`vercel.ai.error.${A_6}`,E_6=Symbol.for(P_6);T_6=E_6;jb0=`vercel.ai.error.${Ib0}`,C_6=Symbol.for(jb0),R_6=class extends W4{constructor({approvalId:Y}){super({name:Ib0,message:`Tool approval response references unknown approvalId: "${Y}". No matching tool-approval-request found in message history.`});this[Sb0]=!0,this.approvalId=Y}static isInstance(Y){return W4.hasMarker(Y,jb0)}};Sb0=C_6;vb0=`vercel.ai.error.${kb0}`,I_6=Symbol.for(vb0),RU1=class extends W4{constructor({toolInput:Y,toolName:Q,cause:X,message:J=`Invalid input for tool ${Q}: ${dZ(X)}`}){super({name:kb0,message:J,cause:X});this[_b0]=!0,this.toolInput=Y,this.toolName=Q}static isInstance(Y){return W4.hasMarker(Y,vb0)}};_b0=I_6;fb0=`vercel.ai.error.${yb0}`,j_6=Symbol.for(fb0),IU1=class extends W4{constructor({toolCallId:Y,approvalId:Q}){super({name:yb0,message:`Tool call "${Y}" not found for approval request "${Q}".`});this[bb0]=!0,this.toolCallId=Y,this.approvalId=Q}static isInstance(Y){return W4.hasMarker(Y,fb0)}};bb0=j_6;xb0=`vercel.ai.error.${hb0}`,S_6=Symbol.for(xb0),Bb0=class extends W4{constructor({toolCallIds:Y}){super({name:hb0,message:`Tool result${Y.length>1?"s are":" is"} missing for tool call${Y.length>1?"s":""} ${Y.join(", ")}.`});this[gb0]=!0,this.toolCallIds=Y}static isInstance(Y){return W4.hasMarker(Y,xb0)}};gb0=S_6;v_6=`vercel.ai.error.${k_6}`,__6=Symbol.for(v_6);y_6=__6;mb0=`vercel.ai.error.${ub0}`,f_6=Symbol.for(mb0),eq=class extends W4{constructor({message:Y="No object generated.",cause:Q,text:X,response:J,usage:G,finishReason:K}){super({name:ub0,message:Y,cause:Q});this[lb0]=!0,this.text=X,this.response=J,this.usage=G,this.finishReason=K}static isInstance(Y){return W4.hasMarker(Y,mb0)}};lb0=f_6;pb0=`vercel.ai.error.${db0}`,b_6=Symbol.for(pb0),nb0=class extends W4{constructor({message:Y="No output generated.",cause:Q}={}){super({name:db0,message:Y,cause:Q});this[cb0]=!0}static isInstance(Y){return W4.hasMarker(Y,pb0)}};cb0=b_6;x_6=`vercel.ai.error.${h_6}`,g_6=Symbol.for(x_6);u_6=g_6;l_6=`vercel.ai.error.${m_6}`,d_6=Symbol.for(l_6);p_6=d_6;n_6=`vercel.ai.error.${c_6}`,i_6=Symbol.for(n_6);a_6=i_6;ab0=`vercel.ai.error.${ib0}`,r_6=Symbol.for(ab0),AU1=class extends W4{constructor({toolName:Y,availableTools:Q=void 0,message:X=`Model tried to call unavailable tool '${Y}'. ${Q===void 0?"No tools are available.":`Available tools: ${Q.join(", ")}.`}`}){super({name:ib0,message:X});this[rb0]=!0,this.toolName=Y,this.availableTools=Q}static isInstance(Y){return W4.hasMarker(Y,ab0)}};rb0=r_6;sb0=`vercel.ai.error.${ob0}`,o_6=Symbol.for(sb0),s_6=class extends W4{constructor({cause:Y,originalError:Q,message:X=`Error repairing tool call: ${dZ(Y)}`}){super({name:ob0,message:X,cause:Y});this[tb0]=!0,this.originalError=Q}static isInstance(Y){return W4.hasMarker(Y,sb0)}};tb0=o_6;t_6=class extends W4{constructor(Y){super({name:"AI_UnsupportedModelVersionError",message:`Unsupported model version ${Y.version} for provider "${Y.provider}" and model "${Y.modelId}". AI SDK 5 only supports models that implement specification version "v2".`});this.version=Y.version,this.provider=Y.provider,this.modelId=Y.modelId}},Yh0=`vercel.ai.error.${eb0}`,e_6=Symbol.for(Yh0),gA=class extends W4{constructor({chunkType:Y,chunkId:Q,message:X}){super({name:eb0,message:X});this[Qh0]=!0,this.chunkType=Y,this.chunkId=Q}static isInstance(Y){return W4.hasMarker(Y,Yh0)}};Qh0=e_6;Qy6=`vercel.ai.error.${Yy6}`,Xy6=Symbol.for(Qy6);Jy6=Xy6;Jh0=`vercel.ai.error.${Xh0}`,Gy6=Symbol.for(Jh0),Wy6=class extends W4{constructor({role:Y,message:Q=`Invalid message role: '${Y}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:Xh0,message:Q});this[Gh0]=!0,this.role=Y}static isInstance(Y){return W4.hasMarker(Y,Jh0)}};Gh0=Gy6;Zh0=`vercel.ai.error.${Wh0}`,Zy6=Symbol.for(Zh0),Ky6=class extends W4{constructor({originalMessage:Y,message:Q}){super({name:Wh0,message:Q});this[Kh0]=!0,this.originalMessage=Y}static isInstance(Y){return W4.hasMarker(Y,Zh0)}};Kh0=Zy6;$h0=`vercel.ai.error.${Hh0}`,Hy6=Symbol.for($h0),Ub0=class extends W4{constructor({message:Y,reason:Q,errors:X}){super({name:Hh0,message:Y});this[Fh0]=!0,this.reason=Q,this.errors=X,this.lastError=X[X.length-1]}static isInstance(Y){return W4.hasMarker(Y,$h0)}};Fh0=Hy6;Dy6=[{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]}];Dh0=B.union([B.string(),B.instanceof(Uint8Array),B.instanceof(ArrayBuffer),B.custom((Y)=>{var Q,X;return(X=(Q=globalThis.Buffer)==null?void 0:Q.isBuffer(Y))!=null?X:!1},{message:"Must be a Buffer"})]);Dk=B.lazy(()=>B.union([B.null(),B.string(),B.number(),B.boolean(),B.record(B.string(),Dk.optional()),B.array(Dk)])),p4=B.record(B.string(),B.record(B.string(),Dk.optional())),Mh0=B.object({type:B.literal("text"),text:B.string(),providerOptions:p4.optional()}),Ry6=B.object({type:B.literal("image"),image:B.union([Dh0,B.instanceof(URL)]),mediaType:B.string().optional(),providerOptions:p4.optional()}),wh0=B.object({type:B.literal("file"),data:B.union([Dh0,B.instanceof(URL)]),filename:B.string().optional(),mediaType:B.string(),providerOptions:p4.optional()}),Iy6=B.object({type:B.literal("reasoning"),text:B.string(),providerOptions:p4.optional()}),jy6=B.object({type:B.literal("tool-call"),toolCallId:B.string(),toolName:B.string(),input:B.unknown(),providerOptions:p4.optional(),providerExecuted:B.boolean().optional()}),Sy6=B.discriminatedUnion("type",[B.object({type:B.literal("text"),value:B.string(),providerOptions:p4.optional()}),B.object({type:B.literal("json"),value:Dk,providerOptions:p4.optional()}),B.object({type:B.literal("execution-denied"),reason:B.string().optional(),providerOptions:p4.optional()}),B.object({type:B.literal("error-text"),value:B.string(),providerOptions:p4.optional()}),B.object({type:B.literal("error-json"),value:Dk,providerOptions:p4.optional()}),B.object({type:B.literal("content"),value:B.array(B.union([B.object({type:B.literal("text"),text:B.string(),providerOptions:p4.optional()}),B.object({type:B.literal("media"),data:B.string(),mediaType:B.string()}),B.object({type:B.literal("file-data"),data:B.string(),mediaType:B.string(),filename:B.string().optional(),providerOptions:p4.optional()}),B.object({type:B.literal("file-url"),url:B.string(),providerOptions:p4.optional()}),B.object({type:B.literal("file-id"),fileId:B.union([B.string(),B.record(B.string(),B.string())]),providerOptions:p4.optional()}),B.object({type:B.literal("image-data"),data:B.string(),mediaType:B.string(),providerOptions:p4.optional()}),B.object({type:B.literal("image-url"),url:B.string(),providerOptions:p4.optional()}),B.object({type:B.literal("image-file-id"),fileId:B.union([B.string(),B.record(B.string(),B.string())]),providerOptions:p4.optional()}),B.object({type:B.literal("custom"),providerOptions:p4.optional()})]))})]),Ah0=B.object({type:B.literal("tool-result"),toolCallId:B.string(),toolName:B.string(),output:Sy6,providerOptions:p4.optional()}),ky6=B.object({type:B.literal("tool-approval-request"),approvalId:B.string(),toolCallId:B.string()}),vy6=B.object({type:B.literal("tool-approval-response"),approvalId:B.string(),approved:B.boolean(),reason:B.string().optional()}),_y6=B.object({role:B.literal("system"),content:B.string(),providerOptions:p4.optional()}),yy6=B.object({role:B.literal("user"),content:B.union([B.string(),B.array(B.union([Mh0,Ry6,wh0]))]),providerOptions:p4.optional()}),fy6=B.object({role:B.literal("assistant"),content:B.union([B.string(),B.array(B.union([Mh0,wh0,Iy6,jy6,Ah0,ky6]))]),providerOptions:p4.optional()}),by6=B.object({role:B.literal("tool"),content:B.array(B.union([Ah0,vy6])),providerOptions:p4.optional()}),hy6=B.union([_y6,yy6,fy6,by6]);xy6={startSpan(){return di},startActiveSpan(Y,Q,X,J){if(typeof Q==="function")return Q(di);if(typeof X==="function")return X(di);if(typeof J==="function")return J(di)}},di={spanContext(){return gy6},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}},gy6={traceId:"",spanId:"",traceFlags:0};ly6=class extends fh0{constructor(Y){super(Y);this.type="file"}};dy6={};M_6(dy6,{array:()=>ny6,choice:()=>iy6,json:()=>ay6,object:()=>cy6,text:()=>ni});ry6=pH({prefix:"aitxt",size:24});dh0=class extends TransformStream{constructor(){super({transform(Y,Q){Q.enqueue(`data: ${JSON.stringify(Y)}
|
|
1289
1289
|
|
|
1290
1290
|
`)},flush(Y){Y.enqueue(`data: [DONE]
|