@decocms/mesh 2.113.1 → 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-bZ_a8hW_.js → AlertCircle-FL98lGLa.js} +1 -1
- package/dist/client/assets/{AlertOctagon-g_tWXJrL.js → AlertOctagon-B33KdaLi.js} +1 -1
- package/dist/client/assets/{AlertTriangle-CGGjQU9b.js → AlertTriangle-DteHmOG1.js} +1 -1
- package/dist/client/assets/{ArrowLeft-BbVcfdiE.js → ArrowLeft-CMuGBwkE.js} +1 -1
- package/dist/client/assets/{ArrowUp-BtMmVpE7.js → ArrowUp-xougxkbC.js} +1 -1
- package/dist/client/assets/{Check-E8-Inf76.js → Check-BY-DCpO_.js} +1 -1
- package/dist/client/assets/{CheckCircle-DfWHy2te.js → CheckCircle-CpXx2avT.js} +1 -1
- package/dist/client/assets/{CheckDone01-DpB-5lWR.js → CheckDone01-DJLuFHxJ.js} +1 -1
- package/dist/client/assets/{CheckVerified02-Bxyg9cYG.js → CheckVerified02-Cqu-AawR.js} +1 -1
- package/dist/client/assets/{ChevronDown-CtTw1zlt.js → ChevronDown-FdgQzkaa.js} +1 -1
- package/dist/client/assets/{ChevronRight-Cj97ppFv.js → ChevronRight-DYxU3E_q.js} +1 -1
- package/dist/client/assets/{Clock-ElxTVbMS.js → Clock-Drw10Mc_.js} +1 -1
- package/dist/client/assets/{Code01-F0FnnpDN.js → Code01-CowHxp14.js} +1 -1
- package/dist/client/assets/{Container-8z-xyt04.js → Container-B7qKC3EI.js} +1 -1
- package/dist/client/assets/{Copy01-DKHGVRMd.js → Copy01-B_7d0dwb.js} +1 -1
- package/dist/client/assets/{Dataflow03-DItczzaI.js → Dataflow03-Cf4yDkKR.js} +1 -1
- package/dist/client/assets/{DotsHorizontal-CzG-G9QT.js → DotsHorizontal-CqtaWGEh.js} +1 -1
- package/dist/client/assets/{DotsVertical-IiJAY3kM.js → DotsVertical-qEJ2g9HJ.js} +1 -1
- package/dist/client/assets/{Download01-DnJPBc-y.js → Download01-IPqVm26W.js} +1 -1
- package/dist/client/assets/{Edit01-CSgI_vqG.js → Edit01-CUcmwNxC.js} +1 -1
- package/dist/client/assets/{Eye-DPrkOx1m.js → Eye-Rq15dwoo.js} +1 -1
- package/dist/client/assets/{File02-CwSZ_YSq.js → File02-DPSlzBxh.js} +1 -1
- package/dist/client/assets/{File06-DYvRHz1R.js → File06-xsY7vCFb.js} +1 -1
- package/dist/client/assets/{FilterLines-DwLmRqdf.js → FilterLines-CJgE2bmA.js} +1 -1
- package/dist/client/assets/{Globe01-kIBQPFuR.js → Globe01-BuKzbzrx.js} +1 -1
- package/dist/client/assets/{Globe02-DEZv7rrz.js → Globe02-BIRPCTiD.js} +1 -1
- package/dist/client/assets/{Grid01-xeO6ixb6.js → Grid01-CcUd9dpu.js} +1 -1
- package/dist/client/assets/{Hash02-BUvQoWvM.js → Hash02-BAkYwsUS.js} +1 -1
- package/dist/client/assets/{Home02-3_wGODLc.js → Home02-CyX62jfB.js} +1 -1
- package/dist/client/assets/{Image01-BkoRO_9d.js → Image01-CiGMIZf1.js} +1 -1
- package/dist/client/assets/{Inbox01-CHcPs9mB.js → Inbox01-CxlDy_Yy.js} +1 -1
- package/dist/client/assets/{InfoCircle-FWPoCdrs.js → InfoCircle-BBQwzN3e.js} +1 -1
- package/dist/client/assets/{Key01-vyx6BDY8.js → Key01-CcfhRF0P.js} +1 -1
- package/dist/client/assets/{LinkExternal01-Ch5ScwlH.js → LinkExternal01-CHfE9mil.js} +1 -1
- package/dist/client/assets/{List-CEuiHx2u.js → List-BkcTlONj.js} +1 -1
- package/dist/client/assets/{Loading01-Du9ChcBO.js → Loading01-CWwskqmx.js} +1 -1
- package/dist/client/assets/{Lock01-BmNrik2P.js → Lock01-C-e30A69.js} +1 -1
- package/dist/client/assets/{Pin01-NetFNrEd.js → Pin01-DNrhTTs3.js} +1 -1
- package/dist/client/assets/{Play-BP_59zaK.js → Play-sMJsBLST.js} +1 -1
- package/dist/client/assets/{Plus-hJGQuZKS.js → Plus-7gpDbhJy.js} +1 -1
- package/dist/client/assets/{RefreshCcw01-OjrTubY1.js → RefreshCcw01-BzY8N8T3.js} +1 -1
- package/dist/client/assets/{RefreshCw01-Be9PrKJk.js → RefreshCw01-dI5kYugT.js} +1 -1
- package/dist/client/assets/{Save01-DiDeFwU2.js → Save01-C9jVAZgo.js} +1 -1
- package/dist/client/assets/{SearchMd-B9pv8N9E.js → SearchMd-BMO4jqwv.js} +1 -1
- package/dist/client/assets/{Settings01-BPkeey3w.js → Settings01-CRoxTuTO.js} +1 -1
- package/dist/client/assets/{Share07-Ii045gzD.js → Share07-DFdDYoqj.js} +1 -1
- package/dist/client/assets/Shield01-DymehiLu.js +1 -0
- package/dist/client/assets/{Terminal-BGTg6hg-.js → Terminal-zi42zfXM.js} +1 -1
- package/dist/client/assets/{Tool01-DbSgV9fI.js → Tool01-lC4M_AmN.js} +1 -1
- package/dist/client/assets/{Trash01-DT85aU53.js → Trash01-BKhksYCP.js} +1 -1
- package/dist/client/assets/{Upload01-Cr9JNoRV.js → Upload01-CorstXj2.js} +1 -1
- package/dist/client/assets/{Users03-IogkUnji.js → Users03-B6oew679.js} +1 -1
- package/dist/client/assets/{XCircle-B8PCL4R4.js → XCircle-WTPrrNWD.js} +1 -1
- package/dist/client/assets/{XClose-BtHqnElt.js → XClose-DoKE29TG.js} +1 -1
- package/dist/client/assets/{agent-connections-preview-BbTjonVz.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-5IiN8bI8.js → alert-dialog-Dm7Md3Yk.js} +1 -1
- package/dist/client/assets/{auth-catchall-Bsz8qard.js → auth-catchall-DHQTu60x.js} +1 -1
- package/dist/client/assets/avatar-B-mPVtLH.js +1 -0
- package/dist/client/assets/{badge-DGPPcvVD.js → badge-Bt6C7wEJ.js} +1 -1
- package/dist/client/assets/{binder-BXFbhA2G.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-C2Pc1VwJ.js → checkbox-C-nrBu1T.js} +1 -1
- package/dist/client/assets/{circle-alert-B5cVsMTM.js → circle-alert-DYoRV5F7.js} +1 -1
- package/dist/client/assets/{collection-detail-BWciJVNY.js → collection-detail-x0pDfnG2.js} +3 -3
- package/dist/client/assets/{collection-tab-CiiXwxHW.js → collection-tab-CMJJpUjs.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-D8mRH9XX.js → collection-table-wrapper-DS44ibQ8.js} +1 -1
- package/dist/client/assets/{collection-tabs-fLdn4E8h.js → collection-tabs-Dyc14WST.js} +1 -1
- package/dist/client/assets/{command-CeYHWZzE.js → command-DGGP5Edh.js} +1 -1
- package/dist/client/assets/{connect-BdOXcl_Y.js → connect-BqPwKrDp.js} +1 -1
- package/dist/client/assets/{connection-card-BcrKHNoi.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-BHcnwzXS.js → constants-DY_BU6PR.js} +1 -1
- package/dist/client/assets/{create-organization-dialog-DIppco5e.js → create-organization-dialog-BmtVHISe.js} +1 -1
- package/dist/client/assets/{create-project-dialog-Dg334vRx.js → create-project-dialog-DFYOBIMM.js} +1 -1
- package/dist/client/assets/dialog-BTs7spED.js +1 -0
- package/dist/client/assets/{dropdown-menu-D5LbTa4P.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-BvzVGw0j.js → empty-state-yzpNvfA-.js} +1 -1
- package/dist/client/assets/{env-vars-editor-DPP2Mrhu.js → env-vars-editor-CxFtbjNH.js} +1 -1
- package/dist/client/assets/{error-boundary-B0-C3nR-.js → error-boundary-GB3TovJQ.js} +1 -1
- package/dist/client/assets/{extract-connection-data-C_PlCvXj.js → extract-connection-data-Cjm6QMzJ.js} +1 -1
- package/dist/client/assets/{file-browser-D6eYzF31.js → file-browser-CeBgj9Bh.js} +2 -2
- package/dist/client/assets/{form-BoeJzVfE.js → form-Dxe8J4dP.js} +1 -1
- package/dist/client/assets/{grid-view-Cqpn4831.js → grid-view-qfkYjNIX.js} +1 -1
- package/dist/client/assets/{home-DtTiTJHY.js → home-C39nGjR7.js} +1 -1
- package/dist/client/assets/index-48TFsA2Q.css +1 -0
- package/dist/client/assets/{index-DNGgnz4O.js → index-B2KxLjHq.js} +1 -1
- package/dist/client/assets/{index-CK46yvDU.js → index-BOlMuTYA.js} +6 -6
- package/dist/client/assets/index-BrH9wXxf.js +1 -0
- package/dist/client/assets/{index-CkziH66W.js → index-BuPkfOh7.js} +1 -1
- package/dist/client/assets/{index-B8FAEn0C.js → index-CLUeNS9F.js} +1 -1
- package/dist/client/assets/{index-Dg7j7nF8.js → index-CSf23Q8F.js} +5 -5
- package/dist/client/assets/index-CzSiUwwv.js +218 -0
- package/dist/client/assets/{index-CqJghtvI.js → index-DVHOzh7f.js} +1 -1
- package/dist/client/assets/{index-BDio7_0T.js → index-Dps5khDb.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-DTtSISl9.js → infiniteQueryObserver-Ctmp4byY.js} +1 -1
- package/dist/client/assets/{input-BdH38qw4.js → input-CAPxG1rh.js} +1 -1
- package/dist/client/assets/{integration-icon-Bw_I-XAE.js → integration-icon-jbm4PmZt.js} +1 -1
- package/dist/client/assets/{label-Bl-YFbel.js → label-A7ibpcPd.js} +1 -1
- package/dist/client/assets/{layout-aRIgHMvp.js → layout-DHncYg0M.js} +1 -1
- package/dist/client/assets/{localstorage-keys-BX9jvEU1.js → localstorage-keys-Cc9e53sU.js} +1 -1
- package/dist/client/assets/{login-BSw2WJHG.js → login-C4VFa6jD.js} +1 -1
- package/dist/client/assets/{markdown-CzkeFZ5X.js → markdown-DTO-ngpn.js} +1 -1
- package/dist/client/assets/{mcp-oauth-DqRfTp6V.js → mcp-oauth-lMxJpMMH.js} +1 -1
- package/dist/client/assets/{mcp-server-card-B9T5TAk8.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-CvktJ_La.js → monitoring-D0DgTEcy.js} +1 -1
- package/dist/client/assets/monitoring-dashboard-edit-DCcFalwQ.js +1 -0
- package/dist/client/assets/{monitoring-dashboard-view-D5o2th_e.js → monitoring-dashboard-view-CuFcYaD_.js} +1 -1
- package/dist/client/assets/{oauth-callback-Cwqn_YCy.js → oauth-callback-DKWROL5U.js} +1 -1
- package/dist/client/assets/{page-CoUcimRv.js → page-BpCfHp43.js} +1 -1
- package/dist/client/assets/page-CoIEp87I.js +1 -0
- package/dist/client/assets/{plugin-empty-state-FJt7wPXr.js → plugin-empty-state-DMdw5AKa.js} +1 -1
- package/dist/client/assets/{plugin-empty-state-RlHFcXiB.js → plugin-empty-state-DfPCNHNV.js} +1 -1
- package/dist/client/assets/{plugin-header-CfI3xE0K.js → plugin-header-CVaBr8-j.js} +1 -1
- package/dist/client/assets/{plugin-header-CrQ7aOX2.js → plugin-header-DqwJE7vc.js} +1 -1
- package/dist/client/assets/{popover-mZJnuJjI.js → popover-Ca9Cyzf7.js} +1 -1
- package/dist/client/assets/{project-layout-DotJsvl2.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-Czlw9OLy.js → readme-viewer-D5RieYNW.js} +1 -1
- package/dist/client/assets/{registry-layout-DKEyfF0q.js → registry-layout-BrhYm9Dr.js} +2 -2
- package/dist/client/assets/{registry-utils-CX7yxjy_.js → registry-utils--fif7P3x.js} +1 -1
- package/dist/client/assets/{reports-layout-B_ULsOiV.js → reports-layout-9yNTvI9o.js} +1 -1
- package/dist/client/assets/{reset-password-Cdnxjg8n.js → reset-password-FRWYt8ap.js} +1 -1
- package/dist/client/assets/{resizable-DfITuo54.js → resizable-DKtpdeB3.js} +1 -1
- package/dist/client/assets/{save-actions-ChqbuLbD.js → save-actions-DH-J_-0b.js} +1 -1
- package/dist/client/assets/{scroll-area-C8UIsNZT.js → scroll-area-BfJ2ZkbI.js} +1 -1
- package/dist/client/assets/{select-CixKYbFw.js → select-CKDoCTJO.js} +1 -1
- package/dist/client/assets/shell-layout-DkuDKL8p.js +3 -0
- package/dist/client/assets/{spinner-BMxXfTiG.js → spinner-B-FWJ8nx.js} +1 -1
- package/dist/client/assets/{store-invite-BxswfJKl.js → store-invite-1HxdtnDC.js} +1 -1
- package/dist/client/assets/{switch-B_EwtGD2.js → switch-ySGmS6Zx.js} +1 -1
- package/dist/client/assets/{table-C5Cvp27H.js → table-DGDNn7mH.js} +1 -1
- package/dist/client/assets/tasks-BuxJd7k9.js +1 -0
- package/dist/client/assets/{textarea-Bosg8LSF.js → textarea-COGwSIgK.js} +1 -1
- package/dist/client/assets/{time-range-picker-DqbTNWJO.js → time-range-picker-hBuoR0m0.js} +1 -1
- package/dist/client/assets/{toggle-group-C9vSpu1B.js → toggle-group-RO8j2kDd.js} +1 -1
- package/dist/client/assets/{tools-list-m2LGQ8uO.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-op5oWkHb.js → use-binding-D36c91MK.js} +1 -1
- package/dist/client/assets/{use-connection-DD4p_Qxm.js → use-connection-CdIwTzRh.js} +1 -1
- package/dist/client/assets/{use-copy-QNK64gRO.js → use-copy-BZqI2HfR.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-DTZkMOkn.js → use-create-virtual-mcp-DKrayFIg.js} +1 -1
- package/dist/client/assets/{use-deco-chat-open-D2iAkBUE.js → use-deco-chat-open-BuMsTBnv.js} +3 -3
- package/dist/client/assets/{use-install-from-registry-BzBNvPLt.js → use-install-from-registry-kn39eg4d.js} +1 -1
- package/dist/client/assets/{use-list-state-58FQ5_m7.js → use-list-state-CYucxtoX.js} +1 -1
- package/dist/client/assets/{use-llm-Dxppw3BS.js → use-llm-CX9QGbjZ.js} +1 -1
- package/dist/client/assets/{use-mcp-prompts-Cugr7S4A.js → use-mcp-prompts-DMC1gnwj.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-DAXcjOXG.js → use-mcp-tools-SZ1hgrkZ.js} +1 -1
- package/dist/client/assets/{use-organization-settings-CMbhnXrw.js → use-organization-settings-1mU06z41.js} +1 -1
- package/dist/client/assets/{use-project-22jTFib5.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-CSTx0yIN.js → use-virtual-mcp-CqdRLJoL.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-Bd_PpC7_.js +1 -0
- package/dist/client/assets/{useMutation-CeUP6TdZ.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-Pk4hmkwR.js +0 -1
- package/dist/client/assets/X-zQXau9tc.js +0 -1
- package/dist/client/assets/agent-detail-Ft0AbV0R.js +0 -1
- package/dist/client/assets/agents-DyJp-v0r.js +0 -1
- package/dist/client/assets/avatar-A9KYWJyz.js +0 -1
- package/dist/client/assets/breadcrumb-KvFHoKN7.js +0 -1
- package/dist/client/assets/button-CcxsPygM.js +0 -1
- package/dist/client/assets/card-k6wylZpL.js +0 -1
- package/dist/client/assets/connection-detail-DmthZz54.js +0 -1
- package/dist/client/assets/connections-r_aRLPNJ.js +0 -1
- package/dist/client/assets/constants-CehTGa6m.js +0 -1
- package/dist/client/assets/dialog-Rb8gAr_X.js +0 -1
- package/dist/client/assets/dynamic-plugin-layout-eqQ8vb-X.js +0 -1
- package/dist/client/assets/empty-state-CA7kuHGK.js +0 -1
- package/dist/client/assets/index-CSfvtoe4.js +0 -1
- package/dist/client/assets/index-ClncOz6N.js +0 -218
- package/dist/client/assets/index-Dtj1StPs.css +0 -1
- package/dist/client/assets/mcp-server-detail-aLIeserX.js +0 -2
- package/dist/client/assets/members-CbEIJSgz.js +0 -3
- package/dist/client/assets/monitoring-dashboard-edit-C4CBUoJi.js +0 -1
- package/dist/client/assets/page-DKc1c6GW.js +0 -1
- package/dist/client/assets/project-settings-9R_bMZ34.js +0 -1
- package/dist/client/assets/projects-list-Xd18kAoB.js +0 -1
- package/dist/client/assets/shell-layout-BUnBBwEV.js +0 -12
- package/dist/client/assets/tasks-CLmc4-Ka.js +0 -1
- package/dist/client/assets/tooltip-TMQButig.js +0 -1
- package/dist/client/assets/topbar-portal-D3WNlquz.js +0 -1
- package/dist/client/assets/typewriter-title-D4y6_U_x.js +0 -16
- package/dist/client/assets/use-mobile-BttsZXmR.js +0 -1
- package/dist/client/assets/use-view-mode-DJpnO-MR.js +0 -1
- package/dist/client/assets/useInfiniteQuery-UJjoB_Vx.js +0 -1
- package/dist/client/assets/useQuery-BSd1v_RX.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-B9OvX_J7.js +0 -1
- package/dist/client/assets/workflow-C62_M1_u.js +0 -1
package/dist/server/migrate.js
CHANGED
|
@@ -1211,7 +1211,7 @@ data:
|
|
|
1211
1211
|
`;if(J)G+=`id: ${J}
|
|
1212
1212
|
`;return G+=`data: ${JSON.stringify(X)}
|
|
1213
1213
|
|
|
1214
|
-
`,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((M)=>oX.parse(M));else W=[oX.parse(K)]}catch{return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON-RPC message")}let Z=W.some(mr);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 M=this.validateSession(Y);if(M)return M;let w=this.validateProtocolVersion(Y);if(w)return w}if(!W.some(UW)){for(let M of W)this.onmessage?.(M,{authInfo:Q?.authInfo,requestInfo:G});return new Response(null,{status:202})}let F=crypto.randomUUID(),$=W.find((M)=>mr(M)),V=$?$.params.protocolVersion:Y.headers.get("mcp-protocol-version")??sU1;if(this._enableJsonResponse)return new Promise((M)=>{this._streamMapping.set(F,{resolveJson:M,cleanup:()=>{this._streamMapping.delete(F)}});for(let w of W)if(UW(w))this._requestToStreamMapping.set(w.id,F);for(let w of W)this.onmessage?.(w,{authInfo:Q?.authInfo,requestInfo:G})});let B=new TextEncoder,U,z=new ReadableStream({start:(M)=>{U=M},cancel:()=>{this._streamMapping.delete(F)}}),O={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"};if(this.sessionId!==void 0)O["mcp-session-id"]=this.sessionId;for(let M of W)if(UW(M))this._streamMapping.set(F,{controller:U,encoder:B,cleanup:()=>{this._streamMapping.delete(F);try{U.close()}catch{}}}),this._requestToStreamMapping.set(M.id,F);await this.writePrimingEvent(U,B,F,V);for(let M of W){let w,P;if(UW(M)&&this._eventStore&&V>="2025-11-25")w=()=>{this.closeSSEStream(M.id)},P=()=>{this.closeStandaloneSSEStream()};this.onmessage?.(M,{authInfo:Q?.authInfo,requestInfo:G,closeSSEStream:w,closeStandaloneSSEStream:P})}return new Response(z,{status:200,headers:O})}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&&!ZV.includes(Q))return this.createJsonErrorResponse(400,-32000,`Bad Request: Unsupported protocol version: ${Q} (supported versions: ${ZV.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(e7(Y)||Gz(Y))X=Y.id;if(X===void 0){if(e7(Y)||Gz(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(e7(Y)||Gz(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((F)=>this._requestResponseMap.get(F));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 VA0=S(()=>{IY()});var BA0="SELF",Yl=(Y)=>{return typeof Y==="object"&&Y!==null&&"handler"in Y&&"events"in Y&&typeof Y.handler==="function"&&Array.isArray(Y.events)},UA0=(Y)=>{return typeof Y==="object"&&Y!==null&&"handler"in Y&&"events"in Y&&typeof Y.handler==="function"&&Array.isArray(Y.events)},qA0="::",zA0=(Y)=>{let Q=Y.indexOf(qA0);if(Q===-1)return null;let X=Y.substring(0,Q),J=Y.substring(Q+qA0.length);return[X,J]},Z$4=(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]},DA0=(Y)=>{if(Yl(Y))return[];return Object.keys(Y)},K$4=(Y,Q)=>{if(Yl(Y))return Y.events;let X=Y[Q];if(!X)return[];if(UA0(X))return X.events;return Object.keys(X)},em=(Y,Q,X)=>{if(Y===BA0){if(!X)return console.warn("[Event] SELF binding used but no connectionId available"),null;return X}let J=Q[Y];if(!lZ1(J))return console.warn(`[Event] Binding "${Y}" not found in state`),null;return J.value},H$4=(Y,Q,X)=>{let J=Q;if(Yl(Y)){let K=[];for(let W of Y.events){let Z=zA0(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,F]=Z,$=em(H,J,X);if(!$)continue;K.push({eventType:F,publisher:$})}return K}let G=[];for(let K of DA0(Y)){let W=em(K,J,X);if(!W)continue;let Z=K$4(Y,K);for(let H of Z)G.push({eventType:H,publisher:W})}return G},F$4=(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},$$4=(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},V$4=(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},q$4=async(Y,Q,X,J,G)=>{let K=J;if(Yl(Y)){let $=new Set;for(let B of Y.events){let U=zA0(B);if(!U)continue;let[z,O]=U,M=em(z,K,G);if(!M)continue;$.add(`${M}:${O}`)}let V=Q.filter((B)=>{let U=`${B.source}:${B.type}`;return $.has(U)});if(V.length===0)return{success:!0};try{return await Y.handler({events:V},X)}catch(B){return{success:!1,error:B instanceof Error?B.message:String(B)}}}let W=new Map;for(let $ of DA0(Y)){let V=em($,K,G);if(V)W.set(V,$)}let Z=F$4(Q),H=[];for(let[$,V]of Z){let B=W.get($);if(!B)continue;let U=Y[B];if(!U)continue;if(UA0(U)){H.push((async()=>{try{return await U.handler({events:V},X)}catch(M){let w={};for(let P of V)w[P.id]={success:!1,error:M instanceof Error?M.message:String(M)};return{results:w}}})());continue}let z=U,O=$$4(V);for(let[M,w]of O){let P=z[M];if(!P)continue;H.push((async()=>{try{let j=await P({events:w},X),C={};for(let E of w)C[E.id]=j;return{results:C}}catch(j){let C={};for(let E of w)C[E.id]={success:!1,error:j instanceof Error?j.message:String(j)};return{results:C}}})())}}let F=await Promise.all(H);if(F.length===0)return{success:!0};return V$4(F)},Ql;var aZ1=S(()=>{am();Ql={subscriptions:H$4,execute:q$4,parseCron:Z$4}});function w3(Y){return{...Y,execute:(Q)=>{return Y.execute({...Q,runtimeContext:xC(Q.runtimeContext)})}}}function rZ1(Y){return Y&&"streamable"in Y&&Y.streamable===!0}var xC=(Y)=>{let Q=NC.getStore();if(!Q){if(Y)return Y;throw Error("Missing context, did you forget to call State.bind?")}return Q},B$4=(Y,Q)=>{let X=Q;return typeof X[Y]<"u"?X[Y]:Q?.MESH_REQUEST_CONTEXT?.state?.[Y]},U$4=({events:Y,configuration:{state:Q,scopes:X,onChange:J}={}}={})=>{let G=Q?q.toJSONSchema(Q):{type:"object",properties:{}},K=String(Y?.bus??"EVENT_BUS");return[...J||Y?[w3({id:"ON_MCP_CONFIGURATION",description:"MCP Configuration On Change",inputSchema:q.object({state:Q??q.unknown(),scopes:q.array(q.string()).describe("Array of scopes in format 'KEY::SCOPE' (e.g., 'GMAIL::GetCurrentUser')")}),outputSchema:q.object({}),execute:async(W)=>{let Z=W.context.state;await J?.(W.runtimeContext.env,{state:Z,scopes:W.context.scopes});let H=B$4(K,W.runtimeContext.env);if(Y&&Z&&H){let F=W.runtimeContext.env.MESH_REQUEST_CONTEXT?.connectionId,$=Ql.subscriptions(Y?.handlers??{},Z,F);if(await H.EVENT_SYNC_SUBSCRIPTIONS({subscriptions:$}),F){let V=$.filter((B)=>B.eventType.startsWith("cron/")&&B.publisher===F);await Promise.all(V.map(async(B)=>{let U=Ql.parseCron(B.eventType);if(U){let[,z]=U;await H.EVENT_PUBLISH({type:B.eventType,cron:z})}}))}}return Promise.resolve({})}})]:[],...Y?.handlers?[w3({id:"ON_EVENTS",description:"Receive and process CloudEvents from the event bus. Returns per-event or batch results.",inputSchema:rm,outputSchema:om,execute:async(W)=>{let Z=W.runtimeContext.env,H=Z.MESH_REQUEST_CONTEXT?.state,F=Z.MESH_REQUEST_CONTEXT?.connectionId;return Ql.execute(Y.handlers,W.context.events,Z,H,F)}})]:[],w3({id:"MCP_CONFIGURATION",description:"MCP Configuration",inputSchema:q.object({}),outputSchema:q.object({stateSchema:q.unknown(),scopes:q.array(q.string()).optional()}),execute:()=>{return Promise.resolve({stateSchema:G,scopes:[...X??[],...Y?[`${K}::EVENT_SYNC_SUBSCRIPTIONS`]:[]]})}})]},OA0=(Y)=>{let Q=async(G)=>{await Y.before?.(G);let K=new jz({name:"@deco/mcp-api",version:"1.0.0"},{capabilities:{tools:{},prompts:{},resources:{}}}),Z=await(typeof Y.tools==="function"?Y.tools:async(B)=>{if(typeof Y.tools==="function")return await Y.tools(B);return await Promise.all(Y.tools?.flatMap(async(U)=>{let O=await U(B);if(Array.isArray(O))return O;return[O]})??[]).then((U)=>U.flat())})(G);Z.push(...U$4(Y));for(let B of Z)K.registerTool(B.id,{_meta:{streamable:rZ1(B),...B._meta??{}},description:B.description,annotations:B.annotations,inputSchema:B.inputSchema&&"shape"in B.inputSchema?B.inputSchema.shape:q.object({}).shape,outputSchema:rZ1(B)?q.object({bytes:q.record(q.string(),q.number())}).shape:B.outputSchema&&typeof B.outputSchema==="object"&&("shape"in B.outputSchema)?B.outputSchema.shape:q.object({}).shape},async(U)=>{let z=await B.execute({context:U,runtimeContext:xC()});if(rZ1(B)&&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 F=await(typeof Y.prompts==="function"?Y.prompts:async(B)=>{if(typeof Y.prompts==="function")return await Y.prompts(B);return await Promise.all(Y.prompts?.flatMap(async(U)=>{let O=await U(B);if(Array.isArray(O))return O;return[O]})??[]).then((U)=>U.flat())})(G);for(let B of F)K.registerPrompt(B.name,{title:B.title,description:B.description,argsSchema:B.argsSchema?B.argsSchema:q.object({}).shape},async(U)=>{return await B.execute({args:U,runtimeContext:xC()})});let V=await(typeof Y.resources==="function"?Y.resources:async(B)=>{if(typeof Y.resources==="function")return await Y.resources(B);return await Promise.all(Y.resources?.flatMap(async(U)=>{let O=await U(B);if(Array.isArray(O))return O;return[O]})??[]).then((U)=>U.flat())})(G);for(let B of V)K.resource(B.name,B.uri,{description:B.description,mimeType:B.mimeType},async(U)=>{let z=await B.read({uri:U,runtimeContext:xC()}),O={uri:z.uri};if(z.mimeType)O.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:F,resources:V}};return{fetch:async(G,K)=>{let{server:W}=await Q(K),Z=new iZ1;await W.connect(Z);try{let H=await Z.handleRequest(G),F=H.headers.get("content-type");if(!(F?.includes("text/event-stream")||F?.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)",F);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=NC.getStore();if(!W)throw Error("Missing state, did you forget to call State.bind?");let Z=W?.env,{tools:H}=await Q(Z),$=H.find((V)=>V.id===G)?.execute;if(!$)throw Error(`Tool ${G} not found or does not have an execute function`);return $({context:K,runtimeContext:xC()})}}};var Xl=S(()=>{tm();Ak();VA0();y1();aZ1();dZ1();aZ1()});var z$4=({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},LA0=(Y)=>()=>{return{...Y??{}}},D$4=({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=k8(X),F=H.metadata??{};Z={authorization:W,state:H.state??F.state??{},token:X,meshUrl:H.meshUrl??F.meshUrl,connectionId:H.connectionId??F.connectionId,organizationId:H.organizationId??F.organizationId,ensureAuthenticated:LA0(H.user??H.sub)}}else if(typeof X==="object"){Z=X;let H=k8(X.token),F=H.metadata??{},$=H.appName;Z.authorization??=W,Z.callerApp=$,Z.connectionId??=H.connectionId??F.connectionId,Z.ensureAuthenticated=LA0(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=hw0(Z),z$4({env:K,server:Q,url:J}),K},O$4,NA0=(Y)=>{let Q=OA0(Y),X=Y.cors??O$4,J=Y.oauth,G=J?cw0(J):null,K=async(W,Z,H)=>{let F=new URL(W.url);if(G){if(F.pathname==="/.well-known/oauth-protected-resource"||F.pathname==="/mcp/.well-known/oauth-protected-resource")return G.handleProtectedResourceMetadata(W);if(F.pathname==="/.well-known/oauth-authorization-server")return G.handleAuthorizationServerMetadata(W);if(F.pathname==="/authorize")return G.handleAuthorize(W);if(F.pathname==="/oauth/callback")return G.handleOAuthCallback(W);if(F.pathname==="/token"&&W.method==="POST")return G.handleToken(W);if((F.pathname==="/register"||F.pathname==="/mcp/register")&&W.method==="POST")return G.handleClientRegistration(W)}if(F.pathname==="/mcp"){if(W.method==="GET")return new Response("Method not allowed",{status:405});if(G&&!G.hasAuth(W)){let $=W.clone();try{if((await $.json())?.method!=="tools/list")return G.createUnauthorizedResponse(W)}catch{return G.createUnauthorizedResponse(W)}}return Q.fetch(W,Z,H)}if(F.pathname.startsWith("/mcp/call-tool")){let $=F.pathname.split("/").pop();if(!$)return new Response("Not found",{status:404});let V=await W.json(),B=await Q.callTool({toolCallId:$,toolCallInput:V});if(B instanceof Response)return B;return new Response(JSON.stringify(B),{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 gw0(W,X??{});let F=D$4({authToken:W.headers.get("authorization")??null,env:{...process.env,...Z},server:Q,tokenOrContext:W.headers.get("x-mesh-token")??void 0,url:W.url}),$=await NC.run({req:W,env:F,ctx:H},async()=>await K(W,F,H));if(X!==!1)return uw0($,W,X??{});return $}}};var MA0=S(()=>{DX();am();mw0();dZ1();Xl();Xl();am();uZ1();O$4={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 Jl(Y){return Buffer.from(String(Y),"utf8").toString("base64")}function Gl(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 GQ(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 kB(Y){if(!Y)return[];return GQ(Y.split(","))}function Wl(Y,Q){if(!Y)return Q;try{return JSON.parse(Y)}catch{return Q}}function Zl(Y){return Y?.["mcp.mesh"]??{}}function Kl(Y){return Y.length?Y.join(","):null}function L$4(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 N$4(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 gC(Y,Q){if(!Q)return!0;if(Array.isArray(Q.conditions)&&Q.conditions.length){if(Q.operator==="and")return Q.conditions.every((X)=>gC(Y,X));if(Q.operator==="or")return Q.conditions.some((X)=>gC(Y,X));if(Q.operator==="not")return!Q.conditions.some((X)=>gC(Y,X))}return N$4(L$4(Y,Q.field),Q.operator,Q.value)}class uC{db;constructor(Y){this.db=Y}async create(Y){let Q=new Date().toISOString(),X=Y._meta??{},J=Zl(X),G=GQ(J.tags),K=GQ(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:Kl(G),categories:Kl(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=Zl(G),W=GQ(K.tags),Z=GQ(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=Kl(W),H.categories=Kl(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 F=await this.findById(Y,Q);if(!F)throw Error(`Registry item not found after update: ${Q}`);return F}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=GQ(Q.tags),W=GQ(Q.categories),Z=G.filter((z)=>{let O=Zl(z._meta),M=GQ(O.tags),w=GQ(O.categories),P=K.length===0||K.every((E)=>M.includes(E)),j=W.length===0||W.every((E)=>w.includes(E)),C=gC(z,Q.where);return P&&j&&C}),F=Gl(Q.cursor)??Q.offset??0,$=Q.limit??24,V=Z.slice(F,F+$),B=F+$<Z.length,U=B?Jl(F+$):void 0;return{items:V,totalCount:Z.length,hasMore:B,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=GQ(Q.tags),K=GQ(Q.categories),W=J.filter((U)=>{let z=Zl(U._meta),O=GQ(z.tags),M=GQ(z.categories),w=G.length===0||G.every((C)=>O.includes(C)),P=K.length===0||K.every((C)=>M.includes(C)),j=gC(U,Q.where);return w&&P&&j}),H=Gl(Q.cursor)??Q.offset??0,F=Q.limit??24,$=W.slice(H,H+F),V=H+F<W.length,B=V?Jl(H+F):void 0;return{items:$,totalCount:W.length,hasMore:V,nextCursor:B}}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 kB(Z.tags))G.set(H,(G.get(H)??0)+1);for(let H of kB(Z.categories))K.set(H,(K.get(H)??0)+1)}let W=(Z)=>Array.from(Z.entries()).map(([H,F])=>({value:H,count:F})).sort((H,F)=>H.value.localeCompare(F.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=GQ(Q.tags),Z=GQ(Q.categories),H=G.filter((M)=>{if(K){let w=Wl(M.server_json,{}),j=Wl(M.meta_json,{})?.["mcp.mesh"]?.short_description??"";if(![M.id,M.title,M.description??"",w.name??"",w.description??"",j].join(" ").toLowerCase().includes(K))return!1}if(W.length>0){let w=GQ(kB(M.tags));if(!W.every((P)=>w.includes(P)))return!1}if(Z.length>0){let w=GQ(kB(M.categories));if(!Z.every((P)=>w.includes(P)))return!1}return!0}),$=Gl(Q.cursor)??0,V=Q.limit??20,B=H.slice($,$+V),U=$+V<H.length,z=U?Jl($+V):void 0;return{items:B.map((M)=>({id:M.id,title:M.title,tags:kB(M.tags),categories:kB(M.categories),is_public:M.is_public===1,is_unlisted:M.is_unlisted===1})),totalCount:H.length,hasMore:U,nextCursor:z}}deserialize(Y){let Q=Wl(Y.server_json,{}),X=Wl(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 oZ1=()=>{};var Hl,M$4,Fl,pG,sZ1,w$4,G$,iL,uX,yB,tZ1,wA0,eZ1,AA0,YK1,PA0,QK1,EA0,aL,A$4,mC,P$4,$l,XK1,TA0,CA0,JK1,RA0,IA0,jA0,SA0,_A0,vA0,kA0,yA0,E$4,GK1,fA0,bA0,WK1,hA0;var v9=S(()=>{gX();y1();Hl=q.object({name:q.string(),title:q.string().optional(),description:q.string().optional(),version:q.string().optional(),websiteUrl:q.string().optional(),icons:q.array(q.object({src:q.string()})).optional(),remotes:q.array(q.object({type:q.string().optional(),url:q.string().optional(),name:q.string().optional(),title:q.string().optional(),description:q.string().optional()})).optional(),packages:q.array(q.object({identifier:q.string(),version:q.string().optional()})).optional(),repository:q.object({url:q.string().optional(),source:q.string().optional(),subfolder:q.string().optional()}).optional()}),M$4=q.object({name:q.string(),description:q.string().nullable().optional()}),Fl=q.object({"mcp.mesh":q.object({verified:q.boolean().optional(),tags:q.array(q.string()).optional(),categories:q.array(q.string()).optional(),friendly_name:q.string().nullable().optional(),short_description:q.string().max(160).nullable().optional(),owner:q.string().nullable().optional(),readme:q.string().max(50000).nullable().optional(),readme_url:q.string().url().nullable().optional(),has_remote:q.boolean().optional(),has_oauth:q.boolean().optional(),tools:q.array(M$4).optional()}).optional()}).catchall(q.unknown()),pG=q.object({id:q.string(),name:q.string().optional(),title:q.string(),description:q.string().nullable().optional(),_meta:Fl.optional(),server:Hl,is_public:q.boolean().optional(),created_at:q.string(),updated_at:q.string(),created_by:q.string().optional()}),sZ1=q.object({id:q.string(),title:q.string(),description:q.string().nullable().optional(),_meta:Fl.optional(),server:Hl,is_public:q.boolean().optional()}),w$4=q.object({title:q.string().optional(),description:q.string().nullable().optional(),_meta:Fl.optional(),server:Hl.optional(),is_public:q.boolean().optional()}),G$=dG.extend({tags:q.array(q.string()).optional().describe("Filter by tags (AND semantics)"),categories:q.array(q.string()).optional().describe("Filter by categories (AND semantics)"),cursor:q.string().optional().describe("Pagination cursor")}).describe("List registry items with optional filtering and pagination."),iL=q.object({items:q.array(pG),totalCount:q.number(),hasMore:q.boolean().optional(),nextCursor:q.string().optional()}),uX=q.object({id:q.string().optional().describe("Registry item ID"),name:q.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."),yB=q.object({item:pG.nullable()}),tZ1=q.object({data:sZ1}),wA0=q.object({item:pG}),eZ1=q.object({items:q.array(sZ1).min(1)}),AA0=q.object({created:q.number(),errors:q.array(q.object({id:q.string(),error:q.string()}))}),YK1=q.object({id:q.string(),data:w$4}),PA0=q.object({item:pG}),QK1=q.object({id:q.string()}),EA0=q.object({item:pG}),aL=q.object({tags:q.array(q.object({value:q.string(),count:q.number()})),categories:q.array(q.object({value:q.string(),count:q.number()}))}),A$4=q.enum(["description","short_description","tags","categories","readme"]),mC=q.object({query:q.string().optional().describe("Free-text search across id, title, description, server name"),tags:q.array(q.string()).optional().describe("Filter by tags (AND)"),categories:q.array(q.string()).optional().describe("Filter by categories (AND)"),limit:q.number().int().min(1).max(100).optional().describe("Max results (default 20)"),cursor:q.string().optional().describe("Pagination cursor")}).describe("Lightweight search returning minimal fields (id, title, tags, categories, is_public)."),P$4=q.object({id:q.string(),title:q.string(),tags:q.array(q.string()),categories:q.array(q.string()),is_public:q.boolean()}),$l=q.object({items:q.array(P$4),totalCount:q.number(),hasMore:q.boolean().optional(),nextCursor:q.string().optional()}),XK1=q.object({type:A$4.describe("Which content to generate"),llmConnectionId:q.string().describe("Connection ID of a language model"),modelId:q.string().describe("Model ID to use"),context:q.object({name:q.string().optional(),provider:q.string().optional(),url:q.string().optional(),owner:q.string().optional(),repositoryUrl:q.string().optional(),description:q.string().optional(),shortDescription:q.string().optional(),tags:q.array(q.string()).optional(),categories:q.array(q.string()).optional(),availableTags:q.array(q.string()).optional(),availableCategories:q.array(q.string()).optional(),tools:q.array(q.object({name:q.string(),description:q.string().nullable().optional()})).optional()})}),TA0=q.object({result:q.string().optional(),items:q.array(q.string()).optional()}),CA0=q.enum(["pending","approved","rejected"]),JK1=q.object({id:q.string(),organization_id:q.string(),requested_id:q.string().nullable().optional(),status:CA0,title:q.string(),description:q.string().nullable().optional(),_meta:Fl.optional(),server:Hl,requester_name:q.string().nullable().optional(),requester_email:q.string().nullable().optional(),reviewer_notes:q.string().nullable().optional(),created_at:q.string(),updated_at:q.string()}),RA0=q.object({status:CA0.optional(),limit:q.number().int().min(1).max(200).optional(),offset:q.number().int().min(0).optional(),sortBy:q.enum(["created_at","title"]).optional(),sortDirection:q.enum(["asc","desc"]).optional()}),IA0=q.object({items:q.array(JK1),totalCount:q.number()}),jA0=q.object({id:q.string(),status:q.enum(["approved","rejected"]),reviewerNotes:q.string().nullable().optional()}),SA0=q.object({item:JK1}),_A0=q.object({pending:q.number()}),vA0=q.object({id:q.string()}),kA0=q.object({item:JK1.nullable()}),yA0=q.object({data:sZ1,requester:q.object({name:q.string().optional(),email:q.string().email().optional()}).optional()}),E$4=q.object({id:q.string(),name:q.string(),prefix:q.string(),createdAt:q.string()}),GK1=q.object({name:q.string().min(1).max(64).describe("A descriptive name for this key")}),fA0=q.object({id:q.string(),name:q.string(),prefix:q.string(),key:q.string().describe("The full API key \u2014 shown only once!"),createdAt:q.string()}),bA0=q.object({items:q.array(E$4)}),WK1=q.object({keyId:q.string()}),hA0=q.object({success:q.boolean(),keyId:q.string()})});function T$4(Y,Q){let X=w3({id:"COLLECTION_REGISTRY_APP_LIST",description:"List public registry items",inputSchema:G$,outputSchema:iL,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=w3({id:"COLLECTION_REGISTRY_APP_GET",description:"Get a public registry item by ID or name",inputSchema:uX,outputSchema:yB,execute:async({context:Z})=>{let H=Z.id??Z.name;if(!H)return{item:null};let F=await Y.findByIdOrName(Q,H);if(F&&F.is_public)return{item:F};return{item:null}}}),G=w3({id:"COLLECTION_REGISTRY_APP_VERSIONS",description:"Get available versions of a public registry item",inputSchema:uX,outputSchema:q.object({versions:q.array(yB.shape.item)}),execute:async({context:Z})=>{let H=Z.id??Z.name;if(!H)return{versions:[]};let F=await Y.findByIdOrName(Q,H);if(F&&F.is_public)return{versions:[F]};return{versions:[]}}}),K=w3({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:mC,outputSchema:$l,execute:async({context:Z})=>{return await Y.search(Q,Z,{publicOnly:!0})}}),W=w3({id:"COLLECTION_REGISTRY_APP_FILTERS",description:"Get available tags and categories for public registry items",inputSchema:q.object({}),outputSchema:aL,execute:async()=>{return await Y.getFilters(Q,{publicOnly:!0})}});return[X,K,J,G,W]}function ZK1(Y,Q){let X=Q.db,J=new uC(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=T$4(J,W.id),H=NA0({tools:()=>Z}),F=new URL(G.req.url),$=G.req.path.replace(`/org/${K}/registry`,""),V=new URL($||"/",F.origin);F.searchParams.forEach((z,O)=>{V.searchParams.set(O,z)}),console.log(`[Public Registry MCP] Rewriting ${F.pathname} to ${V.pathname}`);let B=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(B,U,G)})}var xA0=S(()=>{MA0();Xl();y1();oZ1();v9()});import{randomUUID as C$4}from"crypto";function gA0(Y,Q){if(!Y)return Q;try{return JSON.parse(Y)}catch{return Q}}class lC{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=C$4(),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((F)=>F.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((F)=>this.deserialize(F)),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:gA0(Y.meta_json,{}),server:gA0(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 KK1=()=>{};import{randomUUID as R$4}from"crypto";async function uA0(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 I$4(){let Y=new Uint8Array(32);return crypto.getRandomValues(Y),`prk_${Array.from(Y).map((X)=>X.toString(16).padStart(2,"0")).join("")}`}class dC{db;constructor(Y){this.db=Y}async generate(Y,Q){let X=R$4(),J=I$4(),G=await uA0(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 uA0(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 HK1=()=>{};import{sql as j$4}from"kysely";import{randomUUID as mA0}from"crypto";async function _$4(Y){let Q=new Date().toISOString(),X=mA0(),J=h9.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:mA0(),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 j$4`SELECT pg_notify('mesh_events', ${X})`.execute(Y.db)}catch{}}async function v$4(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 k$4(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","=",_Z).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):dA0;return{acceptPublishRequests:!0,requireApiToken:K.requireApiToken===!0,rateLimitEnabled:K.rateLimitEnabled===void 0?lA0:K.rateLimitEnabled===!0,rateLimitWindow:W,rateLimitMax:H}}}return{acceptPublishRequests:!1,requireApiToken:!1,rateLimitEnabled:lA0,rateLimitWindow:S$4,rateLimitMax:dA0}}async function y$4(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 f$4(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 FK1(Y,Q){let{db:X,db:J}=Q,G=new lC(J),K=new dC(J);Y.post("/org/:orgRef/registry/publish-request",async(W)=>{let Z=W.req.param("orgRef"),H=await v$4(X,Z);if(!H)return W.json({error:"Organization not found"},404);let F=await k$4(X,H);if(!F.acceptPublishRequests)return W.json({error:"Publish requests are not enabled for this registry."},403);if(F.requireApiToken){let z=W.req.header("Authorization"),O=z?.startsWith("Bearer ")?z.slice(7).trim():null;if(!O)return W.json({error:"API key required. Use Authorization: Bearer <key>"},401);if(!await K.validate(H,O))return W.json({error:"Invalid API key"},401)}if(F.rateLimitEnabled){if(await y$4(J,H,F.rateLimitWindow)>=F.rateLimitMax)return W.json({error:"Too many publish requests. Please try again later.",retryAfterSeconds:F.rateLimitWindow==="minute"?60:3600},429)}let $;try{$=await W.req.json()}catch{return W.json({error:"Invalid JSON body"},400)}let V=yA0.safeParse($);if(!V.success)return W.json({error:"Invalid publish request payload",details:q.treeifyError(V.error)},400);let B=await f$4(J,H,V.data.data.id,V.data.data.title);if(B)return W.json({error:"A registry item with the same id or title already exists. Please use a different name/id.",conflict:B},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 _$4({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 lA0=!0,S$4="hour",dA0=100;var pA0=S(()=>{jY();y1();jB();KK1();HK1();v9()});var cA0=S(()=>{xA0();pA0()});function nA0(Y){$K1=Y}function Y6(){if(!$K1)throw Error(`Plugin storage not initialized. Make sure the "${_Z}" plugin is enabled.`);return $K1}async function b$4(Y){if(!Y.organization)throw Error("Organization context required");return await Y.access.check(),Y}function N6(Y,Q){return async(X,J)=>{let G=await b$4(J);return Q(X,G)}}function h$4(Y){if(!Y)return{};if(typeof Y==="string")try{return JSON.parse(Y)}catch{return{}}if(typeof Y==="object")return Y;return{}}async function pC(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","=",_Z).execute()).map((K)=>h$4(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 $K1=null;var X8=S(()=>{jB()});import{randomUUID as iA0}from"crypto";function aA0(Y,Q){if(!Y)return Q;try{return JSON.parse(Y)}catch{return Q}}class VK1{db;constructor(Y){this.db=Y}async create(Y){let Q=iA0(),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:aA0(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 qK1{db;constructor(Y){this.db=Y}async create(Y){let Q=iA0(),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:aA0(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 rA0=()=>{};import{randomUUID as x$4}from"crypto";class BK1{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:x$4(),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 oA0=()=>{};function sA0(Y){let Q=Y.db,X={items:new uC(Q),publishRequests:new lC(Q),publishApiKeys:new dC(Q),monitorRuns:new VK1(Q),monitorResults:new qK1(Q),monitorConnections:new BK1(Q)};return nA0(X),X}var tA0=S(()=>{X8();oZ1();KK1();HK1();rA0();oA0()});var eA0;var YP0=S(()=>{v9();X8();eA0={name:"REGISTRY_ITEM_BULK_CREATE",description:"Create many private registry items at once",inputSchema:eZ1,outputSchema:AA0,handler:N6(eZ1,async(Y,Q)=>{let X=Y6(),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 g$4(Y){return Array.from(new Set(Y.map((Q)=>Q.trim().toLowerCase()).filter((Q)=>Q.length>0)))}function u$4(Y){let X=Y.structuredContent?.content?.filter((J)=>J.type==="text"&&typeof J.text==="string").map((J)=>J.text??"").join(`
|
|
1214
|
+
`,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((M)=>oX.parse(M));else W=[oX.parse(K)]}catch{return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON-RPC message")}let Z=W.some(mr);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 M=this.validateSession(Y);if(M)return M;let w=this.validateProtocolVersion(Y);if(w)return w}if(!W.some(UW)){for(let M of W)this.onmessage?.(M,{authInfo:Q?.authInfo,requestInfo:G});return new Response(null,{status:202})}let F=crypto.randomUUID(),$=W.find((M)=>mr(M)),V=$?$.params.protocolVersion:Y.headers.get("mcp-protocol-version")??sU1;if(this._enableJsonResponse)return new Promise((M)=>{this._streamMapping.set(F,{resolveJson:M,cleanup:()=>{this._streamMapping.delete(F)}});for(let w of W)if(UW(w))this._requestToStreamMapping.set(w.id,F);for(let w of W)this.onmessage?.(w,{authInfo:Q?.authInfo,requestInfo:G})});let B=new TextEncoder,U,z=new ReadableStream({start:(M)=>{U=M},cancel:()=>{this._streamMapping.delete(F)}}),O={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"};if(this.sessionId!==void 0)O["mcp-session-id"]=this.sessionId;for(let M of W)if(UW(M))this._streamMapping.set(F,{controller:U,encoder:B,cleanup:()=>{this._streamMapping.delete(F);try{U.close()}catch{}}}),this._requestToStreamMapping.set(M.id,F);await this.writePrimingEvent(U,B,F,V);for(let M of W){let w,P;if(UW(M)&&this._eventStore&&V>="2025-11-25")w=()=>{this.closeSSEStream(M.id)},P=()=>{this.closeStandaloneSSEStream()};this.onmessage?.(M,{authInfo:Q?.authInfo,requestInfo:G,closeSSEStream:w,closeStandaloneSSEStream:P})}return new Response(z,{status:200,headers:O})}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&&!ZV.includes(Q))return this.createJsonErrorResponse(400,-32000,`Bad Request: Unsupported protocol version: ${Q} (supported versions: ${ZV.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(e7(Y)||Gz(Y))X=Y.id;if(X===void 0){if(e7(Y)||Gz(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(e7(Y)||Gz(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((F)=>this._requestResponseMap.get(F));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 VA0=S(()=>{IY()});var BA0="SELF",Yl=(Y)=>{return typeof Y==="object"&&Y!==null&&"handler"in Y&&"events"in Y&&typeof Y.handler==="function"&&Array.isArray(Y.events)},UA0=(Y)=>{return typeof Y==="object"&&Y!==null&&"handler"in Y&&"events"in Y&&typeof Y.handler==="function"&&Array.isArray(Y.events)},qA0="::",zA0=(Y)=>{let Q=Y.indexOf(qA0);if(Q===-1)return null;let X=Y.substring(0,Q),J=Y.substring(Q+qA0.length);return[X,J]},Z$4=(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]},DA0=(Y)=>{if(Yl(Y))return[];return Object.keys(Y)},K$4=(Y,Q)=>{if(Yl(Y))return Y.events;let X=Y[Q];if(!X)return[];if(UA0(X))return X.events;return Object.keys(X)},em=(Y,Q,X)=>{if(Y===BA0){if(!X)return console.warn("[Event] SELF binding used but no connectionId available"),null;return X}let J=Q[Y];if(!lZ1(J))return console.warn(`[Event] Binding "${Y}" not found in state`),null;return J.value},H$4=(Y,Q,X)=>{let J=Q;if(Yl(Y)){let K=[];for(let W of Y.events){let Z=zA0(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,F]=Z,$=em(H,J,X);if(!$)continue;K.push({eventType:F,publisher:$})}return K}let G=[];for(let K of DA0(Y)){let W=em(K,J,X);if(!W)continue;let Z=K$4(Y,K);for(let H of Z)G.push({eventType:H,publisher:W})}return G},F$4=(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},$$4=(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},V$4=(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},q$4=async(Y,Q,X,J,G)=>{let K=J;if(Yl(Y)){let $=new Set;for(let B of Y.events){let U=zA0(B);if(!U)continue;let[z,O]=U,M=em(z,K,G);if(!M)continue;$.add(`${M}:${O}`)}let V=Q.filter((B)=>{let U=`${B.source}:${B.type}`;return $.has(U)});if(V.length===0)return{success:!0};try{return await Y.handler({events:V},X)}catch(B){return{success:!1,error:B instanceof Error?B.message:String(B)}}}let W=new Map;for(let $ of DA0(Y)){let V=em($,K,G);if(V)W.set(V,$)}let Z=F$4(Q),H=[];for(let[$,V]of Z){let B=W.get($);if(!B)continue;let U=Y[B];if(!U)continue;if(UA0(U)){H.push((async()=>{try{return await U.handler({events:V},X)}catch(M){let w={};for(let P of V)w[P.id]={success:!1,error:M instanceof Error?M.message:String(M)};return{results:w}}})());continue}let z=U,O=$$4(V);for(let[M,w]of O){let P=z[M];if(!P)continue;H.push((async()=>{try{let j=await P({events:w},X),C={};for(let E of w)C[E.id]=j;return{results:C}}catch(j){let C={};for(let E of w)C[E.id]={success:!1,error:j instanceof Error?j.message:String(j)};return{results:C}}})())}}let F=await Promise.all(H);if(F.length===0)return{success:!0};return V$4(F)},Ql;var aZ1=S(()=>{am();Ql={subscriptions:H$4,execute:q$4,parseCron:Z$4}});function w3(Y){return{...Y,execute:(Q)=>{return Y.execute({...Q,runtimeContext:xC(Q.runtimeContext)})}}}function rZ1(Y){return Y&&"streamable"in Y&&Y.streamable===!0}var xC=(Y)=>{let Q=NC.getStore();if(!Q){if(Y)return Y;throw Error("Missing context, did you forget to call State.bind?")}return Q},B$4=(Y,Q)=>{let X=Q;return typeof X[Y]<"u"?X[Y]:Q?.MESH_REQUEST_CONTEXT?.state?.[Y]},U$4=({events:Y,configuration:{state:Q,scopes:X,onChange:J}={}}={})=>{let G=Q?q.toJSONSchema(Q):{type:"object",properties:{}},K=String(Y?.bus??"EVENT_BUS");return[...J||Y?[w3({id:"ON_MCP_CONFIGURATION",description:"MCP Configuration On Change",inputSchema:q.object({state:Q??q.unknown(),scopes:q.array(q.string()).describe("Array of scopes in format 'KEY::SCOPE' (e.g., 'GMAIL::GetCurrentUser')")}),outputSchema:q.object({}),execute:async(W)=>{let Z=W.context.state;await J?.(W.runtimeContext.env,{state:Z,scopes:W.context.scopes});let H=B$4(K,W.runtimeContext.env);if(Y&&Z&&H){let F=W.runtimeContext.env.MESH_REQUEST_CONTEXT?.connectionId,$=Ql.subscriptions(Y?.handlers??{},Z,F);if(await H.EVENT_SYNC_SUBSCRIPTIONS({subscriptions:$}),F){let V=$.filter((B)=>B.eventType.startsWith("cron/")&&B.publisher===F);await Promise.all(V.map(async(B)=>{let U=Ql.parseCron(B.eventType);if(U){let[,z]=U;await H.EVENT_PUBLISH({type:B.eventType,cron:z})}}))}}return Promise.resolve({})}})]:[],...Y?.handlers?[w3({id:"ON_EVENTS",description:"Receive and process CloudEvents from the event bus. Returns per-event or batch results.",inputSchema:rm,outputSchema:om,execute:async(W)=>{let Z=W.runtimeContext.env,H=Z.MESH_REQUEST_CONTEXT?.state,F=Z.MESH_REQUEST_CONTEXT?.connectionId;return Ql.execute(Y.handlers,W.context.events,Z,H,F)}})]:[],w3({id:"MCP_CONFIGURATION",description:"MCP Configuration",inputSchema:q.object({}),outputSchema:q.object({stateSchema:q.unknown(),scopes:q.array(q.string()).optional()}),execute:()=>{return Promise.resolve({stateSchema:G,scopes:[...X??[],...Y?[`${K}::EVENT_SYNC_SUBSCRIPTIONS`]:[]]})}})]},OA0=(Y)=>{let Q=async(G)=>{await Y.before?.(G);let K=new jz({name:"@deco/mcp-api",version:"1.0.0"},{capabilities:{tools:{},prompts:{},resources:{}}}),Z=await(typeof Y.tools==="function"?Y.tools:async(B)=>{if(typeof Y.tools==="function")return await Y.tools(B);return await Promise.all(Y.tools?.flatMap(async(U)=>{let O=await U(B);if(Array.isArray(O))return O;return[O]})??[]).then((U)=>U.flat())})(G);Z.push(...U$4(Y));for(let B of Z)K.registerTool(B.id,{_meta:{streamable:rZ1(B),...B._meta??{}},description:B.description,annotations:B.annotations,inputSchema:B.inputSchema&&"shape"in B.inputSchema?B.inputSchema.shape:q.object({}).shape,outputSchema:rZ1(B)?q.object({bytes:q.record(q.string(),q.number())}).shape:B.outputSchema&&typeof B.outputSchema==="object"&&("shape"in B.outputSchema)?B.outputSchema.shape:void 0},async(U)=>{let z=await B.execute({context:U,runtimeContext:xC()});if(rZ1(B)&&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 F=await(typeof Y.prompts==="function"?Y.prompts:async(B)=>{if(typeof Y.prompts==="function")return await Y.prompts(B);return await Promise.all(Y.prompts?.flatMap(async(U)=>{let O=await U(B);if(Array.isArray(O))return O;return[O]})??[]).then((U)=>U.flat())})(G);for(let B of F)K.registerPrompt(B.name,{title:B.title,description:B.description,argsSchema:B.argsSchema?B.argsSchema:q.object({}).shape},async(U)=>{return await B.execute({args:U,runtimeContext:xC()})});let V=await(typeof Y.resources==="function"?Y.resources:async(B)=>{if(typeof Y.resources==="function")return await Y.resources(B);return await Promise.all(Y.resources?.flatMap(async(U)=>{let O=await U(B);if(Array.isArray(O))return O;return[O]})??[]).then((U)=>U.flat())})(G);for(let B of V)K.resource(B.name,B.uri,{description:B.description,mimeType:B.mimeType},async(U)=>{let z=await B.read({uri:U,runtimeContext:xC()}),O={uri:z.uri};if(z.mimeType)O.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:F,resources:V}};return{fetch:async(G,K)=>{let{server:W}=await Q(K),Z=new iZ1;await W.connect(Z);try{let H=await Z.handleRequest(G),F=H.headers.get("content-type");if(!(F?.includes("text/event-stream")||F?.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)",F);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=NC.getStore();if(!W)throw Error("Missing state, did you forget to call State.bind?");let Z=W?.env,{tools:H}=await Q(Z),$=H.find((V)=>V.id===G)?.execute;if(!$)throw Error(`Tool ${G} not found or does not have an execute function`);return $({context:K,runtimeContext:xC()})}}};var Xl=S(()=>{tm();Ak();VA0();y1();aZ1();dZ1();aZ1()});var z$4=({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},LA0=(Y)=>()=>{return{...Y??{}}},D$4=({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=k8(X),F=H.metadata??{};Z={authorization:W,state:H.state??F.state??{},token:X,meshUrl:H.meshUrl??F.meshUrl,connectionId:H.connectionId??F.connectionId,organizationId:H.organizationId??F.organizationId,ensureAuthenticated:LA0(H.user??H.sub)}}else if(typeof X==="object"){Z=X;let H=k8(X.token),F=H.metadata??{},$=H.appName;Z.authorization??=W,Z.callerApp=$,Z.connectionId??=H.connectionId??F.connectionId,Z.ensureAuthenticated=LA0(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=hw0(Z),z$4({env:K,server:Q,url:J}),K},O$4,NA0=(Y)=>{let Q=OA0(Y),X=Y.cors??O$4,J=Y.oauth,G=J?cw0(J):null,K=async(W,Z,H)=>{let F=new URL(W.url);if(G){if(F.pathname==="/.well-known/oauth-protected-resource"||F.pathname==="/mcp/.well-known/oauth-protected-resource")return G.handleProtectedResourceMetadata(W);if(F.pathname==="/.well-known/oauth-authorization-server")return G.handleAuthorizationServerMetadata(W);if(F.pathname==="/authorize")return G.handleAuthorize(W);if(F.pathname==="/oauth/callback")return G.handleOAuthCallback(W);if(F.pathname==="/token"&&W.method==="POST")return G.handleToken(W);if((F.pathname==="/register"||F.pathname==="/mcp/register")&&W.method==="POST")return G.handleClientRegistration(W)}if(F.pathname==="/mcp"){if(W.method==="GET")return new Response("Method not allowed",{status:405});if(G&&!G.hasAuth(W)){let $=W.clone();try{if((await $.json())?.method!=="tools/list")return G.createUnauthorizedResponse(W)}catch{return G.createUnauthorizedResponse(W)}}return Q.fetch(W,Z,H)}if(F.pathname.startsWith("/mcp/call-tool")){let $=F.pathname.split("/").pop();if(!$)return new Response("Not found",{status:404});let V=await W.json(),B=await Q.callTool({toolCallId:$,toolCallInput:V});if(B instanceof Response)return B;return new Response(JSON.stringify(B),{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 gw0(W,X??{});let F=D$4({authToken:W.headers.get("authorization")??null,env:{...process.env,...Z},server:Q,tokenOrContext:W.headers.get("x-mesh-token")??void 0,url:W.url}),$=await NC.run({req:W,env:F,ctx:H},async()=>await K(W,F,H));if(X!==!1)return uw0($,W,X??{});return $}}};var MA0=S(()=>{DX();am();mw0();dZ1();Xl();Xl();am();uZ1();O$4={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 Jl(Y){return Buffer.from(String(Y),"utf8").toString("base64")}function Gl(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 GQ(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 kB(Y){if(!Y)return[];return GQ(Y.split(","))}function Wl(Y,Q){if(!Y)return Q;try{return JSON.parse(Y)}catch{return Q}}function Zl(Y){return Y?.["mcp.mesh"]??{}}function Kl(Y){return Y.length?Y.join(","):null}function L$4(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 N$4(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 gC(Y,Q){if(!Q)return!0;if(Array.isArray(Q.conditions)&&Q.conditions.length){if(Q.operator==="and")return Q.conditions.every((X)=>gC(Y,X));if(Q.operator==="or")return Q.conditions.some((X)=>gC(Y,X));if(Q.operator==="not")return!Q.conditions.some((X)=>gC(Y,X))}return N$4(L$4(Y,Q.field),Q.operator,Q.value)}class uC{db;constructor(Y){this.db=Y}async create(Y){let Q=new Date().toISOString(),X=Y._meta??{},J=Zl(X),G=GQ(J.tags),K=GQ(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:Kl(G),categories:Kl(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=Zl(G),W=GQ(K.tags),Z=GQ(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=Kl(W),H.categories=Kl(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 F=await this.findById(Y,Q);if(!F)throw Error(`Registry item not found after update: ${Q}`);return F}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=GQ(Q.tags),W=GQ(Q.categories),Z=G.filter((z)=>{let O=Zl(z._meta),M=GQ(O.tags),w=GQ(O.categories),P=K.length===0||K.every((E)=>M.includes(E)),j=W.length===0||W.every((E)=>w.includes(E)),C=gC(z,Q.where);return P&&j&&C}),F=Gl(Q.cursor)??Q.offset??0,$=Q.limit??24,V=Z.slice(F,F+$),B=F+$<Z.length,U=B?Jl(F+$):void 0;return{items:V,totalCount:Z.length,hasMore:B,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=GQ(Q.tags),K=GQ(Q.categories),W=J.filter((U)=>{let z=Zl(U._meta),O=GQ(z.tags),M=GQ(z.categories),w=G.length===0||G.every((C)=>O.includes(C)),P=K.length===0||K.every((C)=>M.includes(C)),j=gC(U,Q.where);return w&&P&&j}),H=Gl(Q.cursor)??Q.offset??0,F=Q.limit??24,$=W.slice(H,H+F),V=H+F<W.length,B=V?Jl(H+F):void 0;return{items:$,totalCount:W.length,hasMore:V,nextCursor:B}}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 kB(Z.tags))G.set(H,(G.get(H)??0)+1);for(let H of kB(Z.categories))K.set(H,(K.get(H)??0)+1)}let W=(Z)=>Array.from(Z.entries()).map(([H,F])=>({value:H,count:F})).sort((H,F)=>H.value.localeCompare(F.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=GQ(Q.tags),Z=GQ(Q.categories),H=G.filter((M)=>{if(K){let w=Wl(M.server_json,{}),j=Wl(M.meta_json,{})?.["mcp.mesh"]?.short_description??"";if(![M.id,M.title,M.description??"",w.name??"",w.description??"",j].join(" ").toLowerCase().includes(K))return!1}if(W.length>0){let w=GQ(kB(M.tags));if(!W.every((P)=>w.includes(P)))return!1}if(Z.length>0){let w=GQ(kB(M.categories));if(!Z.every((P)=>w.includes(P)))return!1}return!0}),$=Gl(Q.cursor)??0,V=Q.limit??20,B=H.slice($,$+V),U=$+V<H.length,z=U?Jl($+V):void 0;return{items:B.map((M)=>({id:M.id,title:M.title,tags:kB(M.tags),categories:kB(M.categories),is_public:M.is_public===1,is_unlisted:M.is_unlisted===1})),totalCount:H.length,hasMore:U,nextCursor:z}}deserialize(Y){let Q=Wl(Y.server_json,{}),X=Wl(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 oZ1=()=>{};var Hl,M$4,Fl,pG,sZ1,w$4,G$,iL,uX,yB,tZ1,wA0,eZ1,AA0,YK1,PA0,QK1,EA0,aL,A$4,mC,P$4,$l,XK1,TA0,CA0,JK1,RA0,IA0,jA0,SA0,_A0,vA0,kA0,yA0,E$4,GK1,fA0,bA0,WK1,hA0;var v9=S(()=>{gX();y1();Hl=q.object({name:q.string(),title:q.string().optional(),description:q.string().optional(),version:q.string().optional(),websiteUrl:q.string().optional(),icons:q.array(q.object({src:q.string()})).optional(),remotes:q.array(q.object({type:q.string().optional(),url:q.string().optional(),name:q.string().optional(),title:q.string().optional(),description:q.string().optional()})).optional(),packages:q.array(q.object({identifier:q.string(),version:q.string().optional()})).optional(),repository:q.object({url:q.string().optional(),source:q.string().optional(),subfolder:q.string().optional()}).optional()}),M$4=q.object({name:q.string(),description:q.string().nullable().optional()}),Fl=q.object({"mcp.mesh":q.object({verified:q.boolean().optional(),tags:q.array(q.string()).optional(),categories:q.array(q.string()).optional(),friendly_name:q.string().nullable().optional(),short_description:q.string().max(160).nullable().optional(),owner:q.string().nullable().optional(),readme:q.string().max(50000).nullable().optional(),readme_url:q.string().url().nullable().optional(),has_remote:q.boolean().optional(),has_oauth:q.boolean().optional(),tools:q.array(M$4).optional()}).optional()}).catchall(q.unknown()),pG=q.object({id:q.string(),name:q.string().optional(),title:q.string(),description:q.string().nullable().optional(),_meta:Fl.optional(),server:Hl,is_public:q.boolean().optional(),created_at:q.string(),updated_at:q.string(),created_by:q.string().optional()}),sZ1=q.object({id:q.string(),title:q.string(),description:q.string().nullable().optional(),_meta:Fl.optional(),server:Hl,is_public:q.boolean().optional()}),w$4=q.object({title:q.string().optional(),description:q.string().nullable().optional(),_meta:Fl.optional(),server:Hl.optional(),is_public:q.boolean().optional()}),G$=dG.extend({tags:q.array(q.string()).optional().describe("Filter by tags (AND semantics)"),categories:q.array(q.string()).optional().describe("Filter by categories (AND semantics)"),cursor:q.string().optional().describe("Pagination cursor")}).describe("List registry items with optional filtering and pagination."),iL=q.object({items:q.array(pG),totalCount:q.number(),hasMore:q.boolean().optional(),nextCursor:q.string().optional()}),uX=q.object({id:q.string().optional().describe("Registry item ID"),name:q.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."),yB=q.object({item:pG.nullable()}),tZ1=q.object({data:sZ1}),wA0=q.object({item:pG}),eZ1=q.object({items:q.array(sZ1).min(1)}),AA0=q.object({created:q.number(),errors:q.array(q.object({id:q.string(),error:q.string()}))}),YK1=q.object({id:q.string(),data:w$4}),PA0=q.object({item:pG}),QK1=q.object({id:q.string()}),EA0=q.object({item:pG}),aL=q.object({tags:q.array(q.object({value:q.string(),count:q.number()})),categories:q.array(q.object({value:q.string(),count:q.number()}))}),A$4=q.enum(["description","short_description","tags","categories","readme"]),mC=q.object({query:q.string().optional().describe("Free-text search across id, title, description, server name"),tags:q.array(q.string()).optional().describe("Filter by tags (AND)"),categories:q.array(q.string()).optional().describe("Filter by categories (AND)"),limit:q.number().int().min(1).max(100).optional().describe("Max results (default 20)"),cursor:q.string().optional().describe("Pagination cursor")}).describe("Lightweight search returning minimal fields (id, title, tags, categories, is_public)."),P$4=q.object({id:q.string(),title:q.string(),tags:q.array(q.string()),categories:q.array(q.string()),is_public:q.boolean()}),$l=q.object({items:q.array(P$4),totalCount:q.number(),hasMore:q.boolean().optional(),nextCursor:q.string().optional()}),XK1=q.object({type:A$4.describe("Which content to generate"),llmConnectionId:q.string().describe("Connection ID of a language model"),modelId:q.string().describe("Model ID to use"),context:q.object({name:q.string().optional(),provider:q.string().optional(),url:q.string().optional(),owner:q.string().optional(),repositoryUrl:q.string().optional(),description:q.string().optional(),shortDescription:q.string().optional(),tags:q.array(q.string()).optional(),categories:q.array(q.string()).optional(),availableTags:q.array(q.string()).optional(),availableCategories:q.array(q.string()).optional(),tools:q.array(q.object({name:q.string(),description:q.string().nullable().optional()})).optional()})}),TA0=q.object({result:q.string().optional(),items:q.array(q.string()).optional()}),CA0=q.enum(["pending","approved","rejected"]),JK1=q.object({id:q.string(),organization_id:q.string(),requested_id:q.string().nullable().optional(),status:CA0,title:q.string(),description:q.string().nullable().optional(),_meta:Fl.optional(),server:Hl,requester_name:q.string().nullable().optional(),requester_email:q.string().nullable().optional(),reviewer_notes:q.string().nullable().optional(),created_at:q.string(),updated_at:q.string()}),RA0=q.object({status:CA0.optional(),limit:q.number().int().min(1).max(200).optional(),offset:q.number().int().min(0).optional(),sortBy:q.enum(["created_at","title"]).optional(),sortDirection:q.enum(["asc","desc"]).optional()}),IA0=q.object({items:q.array(JK1),totalCount:q.number()}),jA0=q.object({id:q.string(),status:q.enum(["approved","rejected"]),reviewerNotes:q.string().nullable().optional()}),SA0=q.object({item:JK1}),_A0=q.object({pending:q.number()}),vA0=q.object({id:q.string()}),kA0=q.object({item:JK1.nullable()}),yA0=q.object({data:sZ1,requester:q.object({name:q.string().optional(),email:q.string().email().optional()}).optional()}),E$4=q.object({id:q.string(),name:q.string(),prefix:q.string(),createdAt:q.string()}),GK1=q.object({name:q.string().min(1).max(64).describe("A descriptive name for this key")}),fA0=q.object({id:q.string(),name:q.string(),prefix:q.string(),key:q.string().describe("The full API key \u2014 shown only once!"),createdAt:q.string()}),bA0=q.object({items:q.array(E$4)}),WK1=q.object({keyId:q.string()}),hA0=q.object({success:q.boolean(),keyId:q.string()})});function T$4(Y,Q){let X=w3({id:"COLLECTION_REGISTRY_APP_LIST",description:"List public registry items",inputSchema:G$,outputSchema:iL,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=w3({id:"COLLECTION_REGISTRY_APP_GET",description:"Get a public registry item by ID or name",inputSchema:uX,outputSchema:yB,execute:async({context:Z})=>{let H=Z.id??Z.name;if(!H)return{item:null};let F=await Y.findByIdOrName(Q,H);if(F&&F.is_public)return{item:F};return{item:null}}}),G=w3({id:"COLLECTION_REGISTRY_APP_VERSIONS",description:"Get available versions of a public registry item",inputSchema:uX,outputSchema:q.object({versions:q.array(yB.shape.item)}),execute:async({context:Z})=>{let H=Z.id??Z.name;if(!H)return{versions:[]};let F=await Y.findByIdOrName(Q,H);if(F&&F.is_public)return{versions:[F]};return{versions:[]}}}),K=w3({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:mC,outputSchema:$l,execute:async({context:Z})=>{return await Y.search(Q,Z,{publicOnly:!0})}}),W=w3({id:"COLLECTION_REGISTRY_APP_FILTERS",description:"Get available tags and categories for public registry items",inputSchema:q.object({}),outputSchema:aL,execute:async()=>{return await Y.getFilters(Q,{publicOnly:!0})}});return[X,K,J,G,W]}function ZK1(Y,Q){let X=Q.db,J=new uC(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=T$4(J,W.id),H=NA0({tools:()=>Z}),F=new URL(G.req.url),$=G.req.path.replace(`/org/${K}/registry`,""),V=new URL($||"/",F.origin);F.searchParams.forEach((z,O)=>{V.searchParams.set(O,z)}),console.log(`[Public Registry MCP] Rewriting ${F.pathname} to ${V.pathname}`);let B=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(B,U,G)})}var xA0=S(()=>{MA0();Xl();y1();oZ1();v9()});import{randomUUID as C$4}from"crypto";function gA0(Y,Q){if(!Y)return Q;try{return JSON.parse(Y)}catch{return Q}}class lC{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=C$4(),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((F)=>F.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((F)=>this.deserialize(F)),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:gA0(Y.meta_json,{}),server:gA0(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 KK1=()=>{};import{randomUUID as R$4}from"crypto";async function uA0(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 I$4(){let Y=new Uint8Array(32);return crypto.getRandomValues(Y),`prk_${Array.from(Y).map((X)=>X.toString(16).padStart(2,"0")).join("")}`}class dC{db;constructor(Y){this.db=Y}async generate(Y,Q){let X=R$4(),J=I$4(),G=await uA0(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 uA0(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 HK1=()=>{};import{sql as j$4}from"kysely";import{randomUUID as mA0}from"crypto";async function _$4(Y){let Q=new Date().toISOString(),X=mA0(),J=h9.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:mA0(),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 j$4`SELECT pg_notify('mesh_events', ${X})`.execute(Y.db)}catch{}}async function v$4(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 k$4(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","=",_Z).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):dA0;return{acceptPublishRequests:!0,requireApiToken:K.requireApiToken===!0,rateLimitEnabled:K.rateLimitEnabled===void 0?lA0:K.rateLimitEnabled===!0,rateLimitWindow:W,rateLimitMax:H}}}return{acceptPublishRequests:!1,requireApiToken:!1,rateLimitEnabled:lA0,rateLimitWindow:S$4,rateLimitMax:dA0}}async function y$4(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 f$4(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 FK1(Y,Q){let{db:X,db:J}=Q,G=new lC(J),K=new dC(J);Y.post("/org/:orgRef/registry/publish-request",async(W)=>{let Z=W.req.param("orgRef"),H=await v$4(X,Z);if(!H)return W.json({error:"Organization not found"},404);let F=await k$4(X,H);if(!F.acceptPublishRequests)return W.json({error:"Publish requests are not enabled for this registry."},403);if(F.requireApiToken){let z=W.req.header("Authorization"),O=z?.startsWith("Bearer ")?z.slice(7).trim():null;if(!O)return W.json({error:"API key required. Use Authorization: Bearer <key>"},401);if(!await K.validate(H,O))return W.json({error:"Invalid API key"},401)}if(F.rateLimitEnabled){if(await y$4(J,H,F.rateLimitWindow)>=F.rateLimitMax)return W.json({error:"Too many publish requests. Please try again later.",retryAfterSeconds:F.rateLimitWindow==="minute"?60:3600},429)}let $;try{$=await W.req.json()}catch{return W.json({error:"Invalid JSON body"},400)}let V=yA0.safeParse($);if(!V.success)return W.json({error:"Invalid publish request payload",details:q.treeifyError(V.error)},400);let B=await f$4(J,H,V.data.data.id,V.data.data.title);if(B)return W.json({error:"A registry item with the same id or title already exists. Please use a different name/id.",conflict:B},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 _$4({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 lA0=!0,S$4="hour",dA0=100;var pA0=S(()=>{jY();y1();jB();KK1();HK1();v9()});var cA0=S(()=>{xA0();pA0()});function nA0(Y){$K1=Y}function Y6(){if(!$K1)throw Error(`Plugin storage not initialized. Make sure the "${_Z}" plugin is enabled.`);return $K1}async function b$4(Y){if(!Y.organization)throw Error("Organization context required");return await Y.access.check(),Y}function N6(Y,Q){return async(X,J)=>{let G=await b$4(J);return Q(X,G)}}function h$4(Y){if(!Y)return{};if(typeof Y==="string")try{return JSON.parse(Y)}catch{return{}}if(typeof Y==="object")return Y;return{}}async function pC(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","=",_Z).execute()).map((K)=>h$4(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 $K1=null;var X8=S(()=>{jB()});import{randomUUID as iA0}from"crypto";function aA0(Y,Q){if(!Y)return Q;try{return JSON.parse(Y)}catch{return Q}}class VK1{db;constructor(Y){this.db=Y}async create(Y){let Q=iA0(),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:aA0(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 qK1{db;constructor(Y){this.db=Y}async create(Y){let Q=iA0(),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:aA0(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 rA0=()=>{};import{randomUUID as x$4}from"crypto";class BK1{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:x$4(),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 oA0=()=>{};function sA0(Y){let Q=Y.db,X={items:new uC(Q),publishRequests:new lC(Q),publishApiKeys:new dC(Q),monitorRuns:new VK1(Q),monitorResults:new qK1(Q),monitorConnections:new BK1(Q)};return nA0(X),X}var tA0=S(()=>{X8();oZ1();KK1();HK1();rA0();oA0()});var eA0;var YP0=S(()=>{v9();X8();eA0={name:"REGISTRY_ITEM_BULK_CREATE",description:"Create many private registry items at once",inputSchema:eZ1,outputSchema:AA0,handler:N6(eZ1,async(Y,Q)=>{let X=Y6(),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 g$4(Y){return Array.from(new Set(Y.map((Q)=>Q.trim().toLowerCase()).filter((Q)=>Q.length>0)))}function u$4(Y){let X=Y.structuredContent?.content?.filter((J)=>J.type==="text"&&typeof J.text==="string").map((J)=>J.text??"").join(`
|
|
1215
1215
|
`).trim();if(X)return X;return Y.content?.filter((J)=>J.type==="text"&&typeof J.text==="string").map((J)=>J.text??"").join(`
|
|
1216
1216
|
`).trim()??""}function m$4(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.
|
|
1217
1217
|
Rules:
|
|
@@ -1257,7 +1257,7 @@ Error message: ${H$(X)}`,cause:X});this[YE0]=!0,this.value=Q,this.context=J}stat
|
|
|
1257
1257
|
]))`;continue}}if(J.s&&G[F]==="."){K+=Z?`${G[F]}\r
|
|
1258
1258
|
`:`[${G[F]}\r
|
|
1259
1259
|
]`;continue}if(K+=G[F],G[F]==="\\")W=!0;else if(Z&&G[F]==="]")Z=!1;else if(!Z&&G[F]==="[")Z=!0}try{new RegExp(K)}catch(F){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 oE0(Y,Q){var X,J,G,K,W,Z;let H={type:"object",additionalProperties:(X=N8(Y.valueType._def,{...Q,currentPath:[...Q.currentPath,"additionalProperties"]}))!=null?X:Q.allowedAdditionalProperties};if(((J=Y.keyType)==null?void 0:J._def.typeName)===b1.ZodString&&((G=Y.keyType._def.checks)==null?void 0:G.length)){let{type:F,...$}=rE0(Y.keyType._def,Q);return{...H,propertyNames:$}}else if(((K=Y.keyType)==null?void 0:K._def.typeName)===b1.ZodEnum)return{...H,propertyNames:{enum:Y.keyType._def.values}};else if(((W=Y.keyType)==null?void 0:W._def.typeName)===b1.ZodBranded&&Y.keyType._def.type._def.typeName===b1.ZodString&&((Z=Y.keyType._def.type._def.checks)==null?void 0:Z.length)){let{type:F,...$}=iE0(Y.keyType._def,Q);return{...H,propertyNames:$}}return H}function SB4(Y,Q){if(Q.mapStrategy==="record")return oE0(Y,Q);let X=N8(Y.keyType._def,{...Q,currentPath:[...Q.currentPath,"items","items","0"]})||CJ(),J=N8(Y.valueType._def,{...Q,currentPath:[...Q.currentPath,"items","items","1"]})||CJ();return{type:"array",maxItems:125,items:{type:"array",items:[X,J],minItems:2,maxItems:2}}}function _B4(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 vB4(){return{not:CJ()}}function kB4(){return{type:"null"}}function yB4(Y,Q){let X=Y.options instanceof Map?Array.from(Y.options.values()):Y.options;if(X.every((J)=>(J._def.typeName in J31)&&(!J._def.checks||!J._def.checks.length))){let J=X.reduce((G,K)=>{let W=J31[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 fB4(Y,Q)}function bB4(Y,Q){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(Y.innerType._def.typeName)&&(!Y.innerType._def.checks||!Y.innerType._def.checks.length))return{type:[J31[Y.innerType._def.typeName],"null"]};let X=N8(Y.innerType._def,{...Q,currentPath:[...Q.currentPath,"anyOf","0"]});return X&&{anyOf:[X,{type:"null"}]}}function hB4(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 xB4(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=uB4(Z),F=N8(Z._def,{...Q,currentPath:[...Q.currentPath,"properties",W],propertyPath:[...Q.currentPath,"properties",W]});if(F===void 0)continue;if(X.properties[W]=F,!H)J.push(W)}if(J.length)X.required=J;let K=gB4(Y,Q);if(K!==void 0)X.additionalProperties=K;return X}function gB4(Y,Q){if(Y.catchall._def.typeName!=="ZodNever")return N8(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 uB4(Y){try{return Y.isOptional()}catch(Q){return!0}}function dB4(Y,Q){return N8(Y.type._def,Q)}function pB4(Y,Q){let J={type:"array",uniqueItems:!0,items:N8(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 cB4(Y,Q){if(Y.rest)return{type:"array",minItems:Y.items.length,items:Y.items.map((X,J)=>N8(X._def,{...Q,currentPath:[...Q.currentPath,"items",`${J}`]})).reduce((X,J)=>J===void 0?X:[...X,J],[]),additionalItems:N8(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)=>N8(X._def,{...Q,currentPath:[...Q.currentPath,"items",`${J}`]})).reduce((X,J)=>J===void 0?X:[...X,J],[])}}function nB4(){return{not:CJ()}}function iB4(){return CJ()}function N8(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!==zB4)return H}if(G&&!X){let H=sB4(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=rB4(Y,Y.typeName,Q),Z=typeof W==="function"?N8(W(),Q):W;if(Z)tB4(Y,Q,Z);if(Q.postProcess){let H=Q.postProcess(Z,Y,Q);return K.jsonSchema=Z,H}return K.jsonSchema=Z,Z}function s9(Y){let Q;return()=>{if(Q==null)Q=Y();return Q}}function lB(Y,{validate:Q}={}){return{[G31]:!0,_type:void 0,get jsonSchema(){if(typeof Y==="function")Y=Y();return Y},validate:Q}}function QU4(Y){return typeof Y==="object"&&Y!==null&&G31 in Y&&Y[G31]===!0&&"jsonSchema"in Y&&"validate"in Y}function hZ(Y){return Y==null?lB({properties:{},additionalProperties:!1}):QU4(Y)?Y:("~standard"in Y)?Y["~standard"].vendor==="zod"?P9(Y):XU4(Y):Y()}function XU4(Y){return lB(()=>K31(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 nG({value:Q,cause:X.issues})}}})}function JU4(Y,Q){var X;let J=(X=Q==null?void 0:Q.useReferences)!=null?X:!1;return lB(()=>YU4(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 GU4(Y,Q){var X;let J=(X=Q==null?void 0:Q.useReferences)!=null?X:!1;return lB(()=>K31($W(Y,{target:"draft-7",io:"input",reused:J?"ref":"inline"})),{validate:async(G)=>{let K=await cU(Y,G);return K.success?{success:!0,value:K.data}:{success:!1,error:K.error}}})}function WU4(Y){return"_zod"in Y}function P9(Y,Q){if(WU4(Y))return GU4(Y,Q);else return JU4(Y,Q)}async function sE0({value:Y,schema:Q,context:X}){let J=await s5({value:Y,schema:Q,context:X});if(!J.success)throw nG.wrap({value:Y,cause:J.error,context:X});return J.value}async function s5({value:Y,schema:Q,context:X}){let J=hZ(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:nG.wrap({value:Y,cause:G.error,context:X}),rawValue:Y}}catch(G){return{success:!1,error:nG.wrap({value:Y,cause:G,context:X}),rawValue:Y}}}async function ZU4({text:Y,schema:Q}){try{let X=nE0(Y);if(Q==null)return X;return sE0({value:X,schema:Q})}catch(X){if(eC.isInstance(X)||nG.isInstance(X))throw X;throw new eC({text:Y,cause:X})}}async function lX({text:Y,schema:Q}){try{let X=nE0(Y);if(Q==null)return{success:!0,value:X,rawValue:X};return await s5({value:X,schema:Q})}catch(X){return{success:!1,error:eC.isInstance(X)?X:new eC({text:Y,cause:X}),rawValue:void 0}}}function ml({stream:Y,schema:Q}){return Y.pipeThrough(new TextDecoderStream).pipeThrough(new UV).pipeThrough(new TransformStream({async transform({data:X},J){if(X==="[DONE]")return;J.enqueue(await lX({text:X,schema:Q}))}}))}function ll(Y){return Y}function dl({id:Y,inputSchema:Q,outputSchema:X,supportsDeferredResults:J}){return({execute:G,needsApproval:K,toModelOutput:W,onInputStart:Z,onInputDelta:H,onInputAvailable:F,...$})=>ll({type:"provider",id:Y,args:$,inputSchema:Q,outputSchema:X,execute:G,needsApproval:K,toModelOutput:W,onInputStart:Z,onInputDelta:H,onInputAvailable:F,supportsDeferredResults:J})}async function qY(Y){if(typeof Y==="function")Y=Y();return Promise.resolve(Y)}function eE0(Y){return Y==null?void 0:Y.replace(/\/$/,"")}function FU4(Y){return Y!=null&&typeof Y[Symbol.asyncIterator]==="function"}async function*YT0({execute:Y,input:Q,options:X}){let J=Y(Q,X);if(FU4(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 JB4,GB4,uE0="AI_DownloadError",mE0,WB4,yE0,fE0,KN,W31=2147483648,bZ=({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 qE0({argument:"separator",message:`The separator "${J}" must not be part of the alphabet "${X}".`});return()=>`${Y}${J}${G()}`},ZB4,KB4,HB4,pE0="4.0.15",VB4=()=>globalThis.fetch,Z31=async({url:Y,headers:Q={},successfulResponseHandler:X,failedResponseHandler:J,abortSignal:G,fetch:K=VB4()})=>{try{let W=await K(Y,{method:"GET",headers:T3(Q,`ai-sdk/provider-utils/${pE0}`,ul()),signal:G}),Z=YR(W);if(!W.ok){let H;try{H=await J({response:W,url:Y,requestBodyValues:{}})}catch(F){if(F$(F)||x8.isInstance(F))throw F;throw new x8({message:"Failed to process error response",cause:F,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(F$(H)||x8.isInstance(H))throw H}throw new x8({message:"Failed to process successful response",cause:H,statusCode:W.status,url:Y,responseHeaders:Z,requestBodyValues:{}})}}catch(W){throw dE0({error:W,url:Y,requestBodyValues:{}})}},qB4,BB4,zB4,hE0,DB4=(Y)=>typeof Y==="string"?{...hE0,name:Y}:{...hE0,...Y},MB4=(Y,Q)=>{return N8(Y.innerType._def,Q)},wB4=(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},TB4=(Y)=>{if("type"in Y&&Y.type==="string")return!1;return"allOf"in Y},Q31=void 0,iG,IB4,J31,fB4=(Y,Q)=>{let X=(Y.options instanceof Map?Array.from(Y.options.values()):Y.options).map((J,G)=>N8(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},mB4=(Y,Q)=>{var X;if(Q.currentPath.toString()===((X=Q.propertyPath)==null?void 0:X.toString()))return N8(Y.innerType._def,Q);let J=N8(Y.innerType._def,{...Q,currentPath:[...Q.currentPath,"anyOf","1"]});return J?{anyOf:[{not:CJ()},J]}:CJ()},lB4=(Y,Q)=>{if(Q.pipeStrategy==="input")return N8(Y.in._def,Q);else if(Q.pipeStrategy==="output")return N8(Y.out._def,Q);let X=N8(Y.in._def,{...Q,currentPath:[...Q.currentPath,"allOf","0"]}),J=N8(Y.out._def,{...Q,currentPath:[...Q.currentPath,"allOf",X?"1":"0"]});return{allOf:[X,J].filter((G)=>G!==void 0)}},aB4=(Y,Q)=>{return N8(Y.innerType._def,Q)},rB4=(Y,Q,X)=>{switch(Q){case b1.ZodString:return rE0(Y,X);case b1.ZodNumber:return hB4(Y);case b1.ZodObject:return xB4(Y,X);case b1.ZodBigInt:return LB4(Y);case b1.ZodBoolean:return NB4();case b1.ZodDate:return aE0(Y,X);case b1.ZodUndefined:return nB4();case b1.ZodNull:return kB4();case b1.ZodArray:return OB4(Y,X);case b1.ZodUnion:case b1.ZodDiscriminatedUnion:return yB4(Y,X);case b1.ZodIntersection:return CB4(Y,X);case b1.ZodTuple:return cB4(Y,X);case b1.ZodRecord:return oE0(Y,X);case b1.ZodLiteral:return RB4(Y);case b1.ZodEnum:return EB4(Y);case b1.ZodNativeEnum:return _B4(Y);case b1.ZodNullable:return bB4(Y,X);case b1.ZodOptional:return mB4(Y,X);case b1.ZodMap:return SB4(Y,X);case b1.ZodSet:return pB4(Y,X);case b1.ZodLazy:return()=>Y.getter()._def;case b1.ZodPromise:return dB4(Y,X);case b1.ZodNaN:case b1.ZodNever:return vB4();case b1.ZodEffects:return PB4(Y,X);case b1.ZodAny:return CJ();case b1.ZodUnknown:return iB4();case b1.ZodDefault:return AB4(Y,X);case b1.ZodBranded:return iE0(Y,X);case b1.ZodReadonly:return aB4(Y,X);case b1.ZodCatch:return MB4(Y,X);case b1.ZodPipeline:return lB4(Y,X);case b1.ZodFunction:case b1.ZodVoid:case b1.ZodSymbol:return;default:return((J)=>{return})(Q)}},oB4=(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("/")},sB4=(Y,Q)=>{switch(Q.$refStrategy){case"root":return{$ref:Y.path.join("/")};case"relative":return{$ref:oB4(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`),CJ();return Q.$refStrategy==="seen"?CJ():void 0}}},tB4=(Y,Q,X)=>{if(Y.description)X.description=Y.description;return X},eB4=(Y)=>{let Q=DB4(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}]))}},YU4=(Y,Q)=>{var X;let J=eB4(Q),G=typeof Q==="object"&&Q.definitions?Object.entries(Q.definitions).reduce((F,[$,V])=>{var B;return{...F,[$]:(B=N8(V._def,{...J,currentPath:[...J.basePath,J.definitionPath,$]},!0))!=null?B:CJ()}},{}):void 0,K=typeof Q==="string"?Q:(Q==null?void 0:Q.nameStrategy)==="title"?void 0:Q==null?void 0:Q.name,W=(X=N8(Y._def,K===void 0?J:{...J,currentPath:[...J.basePath,J.definitionPath,K]},!1))!=null?X:CJ(),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},G31,KU4=()=>globalThis.fetch,C3=async({url:Y,headers:Q,body:X,failedResponseHandler:J,successfulResponseHandler:G,abortSignal:K,fetch:W})=>HU4({url:Y,headers:{"Content-Type":"application/json",...Q},body:{content:JSON.stringify(X),values:X},failedResponseHandler:J,successfulResponseHandler:G,abortSignal:K,fetch:W}),HU4=async({url:Y,headers:Q={},body:X,successfulResponseHandler:J,failedResponseHandler:G,abortSignal:K,fetch:W=KU4()})=>{try{let Z=await W(Y,{method:"POST",headers:T3(Q,`ai-sdk/provider-utils/${pE0}`,ul()),body:X.content,signal:K}),H=YR(Z);if(!Z.ok){let F;try{F=await G({response:Z,url:Y,requestBodyValues:X.values})}catch($){if(F$($)||x8.isInstance($))throw $;throw new x8({message:"Failed to process error response",cause:$,statusCode:Z.status,url:Y,responseHeaders:H,requestBodyValues:X.values})}throw F.value}try{return await J({response:Z,url:Y,requestBodyValues:X.values})}catch(F){if(F instanceof Error){if(F$(F)||x8.isInstance(F))throw F}throw new x8({message:"Failed to process successful response",cause:F,statusCode:Z.status,url:Y,responseHeaders:H,requestBodyValues:X.values})}}catch(Z){throw dE0({error:Z,url:Y,requestBodyValues:X.values})}},x7=({errorSchema:Y,errorToMessage:Q,isRetryable:X})=>async({response:J,url:G,requestBodyValues:K})=>{let W=await J.text(),Z=YR(J);if(W.trim()==="")return{responseHeaders:Z,value:new x8({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 ZU4({text:W,schema:Y});return{responseHeaders:Z,value:new x8({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 x8({message:J.statusText,url:G,requestBodyValues:K,statusCode:J.status,responseHeaders:Z,responseBody:W,isRetryable:X==null?void 0:X(J)})}}},tE0=(Y)=>async({response:Q})=>{let X=YR(Q);if(Q.body==null)throw new FE0({});return{responseHeaders:X,value:ml({stream:Q.body,schema:Y})}},R3=(Y)=>async({response:Q,url:X,requestBodyValues:J})=>{let G=await Q.text(),K=await lX({text:G,schema:Y}),W=YR(Q);if(!K.success)throw new x8({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 m4=S(()=>{q8();q8();q8();q8();q8();q8();q8();G4();r3();r3();r3();Ok();q8();q8();({btoa:JB4,atob:GB4}=globalThis);mE0=`vercel.ai.error.${uE0}`,WB4=Symbol.for(mE0),KN=class extends(fE0=b0,yE0=WB4,fE0){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:uE0,message:G,cause:J});this[yE0]=!0,this.url=Y,this.statusCode=Q,this.statusText=X}static isInstance(Y){return b0.hasMarker(Y,mE0)}};ZB4=bZ();KB4=["fetch failed","failed to fetch"],HB4=["ConnectionRefused","ConnectionClosed","FailedToOpenSocket","ECONNRESET","ECONNREFUSED","ETIMEDOUT","EPIPE"];qB4=/"__proto__"\s*:/,BB4=/"constructor"\s*:/;zB4=Symbol("Let zodToJsonSchema decide on which parser to use"),hE0={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"};iG={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(Q31===void 0)Q31=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return Q31},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-_]*$/};IB4=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");J31={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};G31=Symbol.for("vercel.ai.schema")});var F31=T((Hv8,JT0)=>{var{defineProperty:H31,getOwnPropertyDescriptor:$U4,getOwnPropertyNames:VU4}=Object,qU4=Object.prototype.hasOwnProperty,BU4=(Y,Q)=>{for(var X in Q)H31(Y,X,{get:Q[X],enumerable:!0})},UU4=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of VU4(Q))if(!qU4.call(Y,G)&&G!==X)H31(Y,G,{get:()=>Q[G],enumerable:!(J=$U4(Q,G))||J.enumerable})}return Y},zU4=(Y)=>UU4(H31({},"__esModule",{value:!0}),Y),QT0={};BU4(QT0,{SYMBOL_FOR_REQ_CONTEXT:()=>XT0,getContext:()=>DU4});JT0.exports=zU4(QT0);var XT0=Symbol.for("@vercel/request-context");function DU4(){return globalThis[XT0]?.get?.()??{}}});var XR=T((Fv8,ZT0)=>{var{defineProperty:$31,getOwnPropertyDescriptor:OU4,getOwnPropertyNames:LU4}=Object,NU4=Object.prototype.hasOwnProperty,MU4=(Y,Q)=>{for(var X in Q)$31(Y,X,{get:Q[X],enumerable:!0})},wU4=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of LU4(Q))if(!NU4.call(Y,G)&&G!==X)$31(Y,G,{get:()=>Q[G],enumerable:!(J=OU4(Q,G))||J.enumerable})}return Y},AU4=(Y)=>wU4($31({},"__esModule",{value:!0}),Y),GT0={};MU4(GT0,{VercelOidcTokenError:()=>WT0});ZT0.exports=AU4(GT0);class WT0 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 $T0=T(($v8,FT0)=>{var{create:PU4,defineProperty:pl,getOwnPropertyDescriptor:EU4,getOwnPropertyNames:TU4,getPrototypeOf:CU4}=Object,RU4=Object.prototype.hasOwnProperty,IU4=(Y,Q)=>{for(var X in Q)pl(Y,X,{get:Q[X],enumerable:!0})},KT0=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of TU4(Q))if(!RU4.call(Y,G)&&G!==X)pl(Y,G,{get:()=>Q[G],enumerable:!(J=EU4(Q,G))||J.enumerable})}return Y},q31=(Y,Q,X)=>(X=Y!=null?PU4(CU4(Y)):{},KT0(Q||!Y||!Y.__esModule?pl(X,"default",{value:Y,enumerable:!0}):X,Y)),jU4=(Y)=>KT0(pl({},"__esModule",{value:!0}),Y),HT0={};IU4(HT0,{findRootDir:()=>vU4,getUserDataDir:()=>kU4});FT0.exports=jU4(HT0);var JR=q31(O1("path")),SU4=q31(O1("fs")),V31=q31(O1("os")),_U4=XR();function vU4(){try{let Y=process.cwd();while(Y!==JR.default.dirname(Y)){let Q=JR.default.join(Y,".vercel");if(SU4.default.existsSync(Q))return Y;Y=JR.default.dirname(Y)}}catch(Y){throw new _U4.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}function kU4(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(V31.default.platform()){case"darwin":return JR.default.join(V31.default.homedir(),"Library/Application Support");case"linux":return JR.default.join(V31.default.homedir(),".local/share");case"win32":if(process.env.LOCALAPPDATA)return process.env.LOCALAPPDATA;return null;default:return null}}});var OT0=T((Vv8,DT0)=>{var{create:yU4,defineProperty:cl,getOwnPropertyDescriptor:fU4,getOwnPropertyNames:bU4,getPrototypeOf:hU4}=Object,xU4=Object.prototype.hasOwnProperty,gU4=(Y,Q)=>{for(var X in Q)cl(Y,X,{get:Q[X],enumerable:!0})},VT0=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of bU4(Q))if(!xU4.call(Y,G)&&G!==X)cl(Y,G,{get:()=>Q[G],enumerable:!(J=fU4(Q,G))||J.enumerable})}return Y},qT0=(Y,Q,X)=>(X=Y!=null?yU4(hU4(Y)):{},VT0(Q||!Y||!Y.__esModule?cl(X,"default",{value:Y,enumerable:!0}):X,Y)),uU4=(Y)=>VT0(cl({},"__esModule",{value:!0}),Y),BT0={};gU4(BT0,{isValidAccessToken:()=>pU4,readAuthConfig:()=>lU4,writeAuthConfig:()=>dU4});DT0.exports=uU4(BT0);var GR=qT0(O1("fs")),UT0=qT0(O1("path")),mU4=nl();function zT0(){let Y=(0,mU4.getVercelDataDir)();if(!Y)throw Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return UT0.join(Y,"auth.json")}function lU4(){try{let Y=zT0();if(!GR.existsSync(Y))return null;let Q=GR.readFileSync(Y,"utf8");if(!Q)return null;return JSON.parse(Q)}catch(Y){return null}}function dU4(Y){let Q=zT0(),X=UT0.dirname(Q);if(!GR.existsSync(X))GR.mkdirSync(X,{mode:504,recursive:!0});GR.writeFileSync(Q,JSON.stringify(Y,null,2),{mode:384})}function pU4(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 wT0=T((qv8,MT0)=>{var{defineProperty:z31,getOwnPropertyDescriptor:cU4,getOwnPropertyNames:nU4}=Object,iU4=Object.prototype.hasOwnProperty,aU4=(Y,Q)=>{for(var X in Q)z31(Y,X,{get:Q[X],enumerable:!0})},rU4=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of nU4(Q))if(!iU4.call(Y,G)&&G!==X)z31(Y,G,{get:()=>Q[G],enumerable:!(J=cU4(Q,G))||J.enumerable})}return Y},oU4=(Y)=>rU4(z31({},"__esModule",{value:!0}),Y),LT0={};aU4(LT0,{processTokenResponse:()=>Qz4,refreshTokenRequest:()=>Yz4});MT0.exports=oU4(LT0);var B31=O1("os"),sU4="https://vercel.com",tU4="cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",NT0=`@vercel/oidc node-${process.version} ${(0,B31.platform)()} (${(0,B31.arch)()}) ${(0,B31.hostname)()}`,U31=null;async function eU4(){if(U31)return U31;let Y=`${sU4}/.well-known/openid-configuration`,Q=await fetch(Y,{headers:{"user-agent":NT0}});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 U31=J,J}async function Yz4(Y){let Q=await eU4();return await fetch(Q,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":NT0},body:new URLSearchParams({client_id:tU4,grant_type:"refresh_token",...Y})})}async function Qz4(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 nl=T((Bv8,CT0)=>{var{create:Xz4,defineProperty:il,getOwnPropertyDescriptor:Jz4,getOwnPropertyNames:Gz4,getPrototypeOf:Wz4}=Object,Zz4=Object.prototype.hasOwnProperty,Kz4=(Y,Q)=>{for(var X in Q)il(Y,X,{get:Q[X],enumerable:!0})},PT0=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of Gz4(Q))if(!Zz4.call(Y,G)&&G!==X)il(Y,G,{get:()=>Q[G],enumerable:!(J=Jz4(Q,G))||J.enumerable})}return Y},ET0=(Y,Q,X)=>(X=Y!=null?Xz4(Wz4(Y)):{},PT0(Q||!Y||!Y.__esModule?il(X,"default",{value:Y,enumerable:!0}):X,Y)),Hz4=(Y)=>PT0(il({},"__esModule",{value:!0}),Y),TT0={};Kz4(TT0,{assertVercelOidcTokenResponse:()=>D31,findProjectInfo:()=>qz4,getTokenPayload:()=>zz4,getVercelCliToken:()=>$z4,getVercelDataDir:()=>Fz4,getVercelOidcToken:()=>Vz4,isExpired:()=>Dz4,loadToken:()=>Uz4,saveToken:()=>Bz4});CT0.exports=Hz4(TT0);var WR=ET0(O1("path")),dB=ET0(O1("fs")),$N=XR(),al=$T0(),FN=OT0(),AT0=wT0();function Fz4(){let Q=(0,al.getUserDataDir)();if(!Q)return null;return WR.join(Q,"com.vercel.cli")}async function $z4(){let Y=(0,FN.readAuthConfig)();if(!Y)return null;if((0,FN.isValidAccessToken)(Y))return Y.token||null;if(!Y.refreshToken)return(0,FN.writeAuthConfig)({}),null;try{let Q=await(0,AT0.refreshTokenRequest)({refresh_token:Y.refreshToken}),[X,J]=await(0,AT0.processTokenResponse)(Q);if(X||!J)return(0,FN.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,FN.writeAuthConfig)(G),G.token??null}catch(Q){return(0,FN.writeAuthConfig)({}),null}}async function Vz4(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 $N.VercelOidcTokenError(`Failed to refresh OIDC token: ${G.statusText}`);let K=await G.json();return D31(K),K}function D31(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 qz4(){let Y=(0,al.findRootDir)();if(!Y)throw new $N.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let Q=WR.join(Y,".vercel","project.json");if(!dB.existsSync(Q))throw new $N.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let X=JSON.parse(dB.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 Bz4(Y,Q){let X=(0,al.getUserDataDir)();if(!X)throw new $N.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let J=WR.join(X,"com.vercel.token",`${Q}.json`),G=JSON.stringify(Y);dB.mkdirSync(WR.dirname(J),{mode:504,recursive:!0}),dB.writeFileSync(J,G),dB.chmodSync(J,432);return}function Uz4(Y){let Q=(0,al.getUserDataDir)();if(!Q)throw new $N.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let X=WR.join(Q,"com.vercel.token",`${Y}.json`);if(!dB.existsSync(X))return null;let J=JSON.parse(dB.readFileSync(X,"utf8"));return D31(J),J}function zz4(Y){let Q=Y.split(".");if(Q.length!==3)throw new $N.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 Dz4(Y){return Y.exp*1000<Date.now()}});var jT0=T((Uv8,IT0)=>{var{defineProperty:L31,getOwnPropertyDescriptor:Oz4,getOwnPropertyNames:Lz4}=Object,Nz4=Object.prototype.hasOwnProperty,Mz4=(Y,Q)=>{for(var X in Q)L31(Y,X,{get:Q[X],enumerable:!0})},wz4=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of Lz4(Q))if(!Nz4.call(Y,G)&&G!==X)L31(Y,G,{get:()=>Q[G],enumerable:!(J=Oz4(Q,G))||J.enumerable})}return Y},Az4=(Y)=>wz4(L31({},"__esModule",{value:!0}),Y),RT0={};Mz4(RT0,{refreshToken:()=>Pz4});IT0.exports=Az4(RT0);var O31=XR(),pB=nl();async function Pz4(){let{projectId:Y,teamId:Q}=(0,pB.findProjectInfo)(),X=(0,pB.loadToken)(Y);if(!X||(0,pB.isExpired)((0,pB.getTokenPayload)(X.token))){let J=await(0,pB.getVercelCliToken)();if(!J)throw new O31.VercelOidcTokenError("Failed to refresh OIDC token: Log in to Vercel CLI and link your project with `vc link`");if(!Y)throw new O31.VercelOidcTokenError("Failed to refresh OIDC token: Try re-linking your project with `vc link`");if(X=await(0,pB.getVercelOidcToken)(J,Y,Q),!X)throw new O31.VercelOidcTokenError("Failed to refresh OIDC token");(0,pB.saveToken)(X,Y)}process.env.VERCEL_OIDC_TOKEN=X.token;return}});var vT0=T((zv8,_T0)=>{var{defineProperty:M31,getOwnPropertyDescriptor:Ez4,getOwnPropertyNames:Tz4}=Object,Cz4=Object.prototype.hasOwnProperty,Rz4=(Y,Q)=>{for(var X in Q)M31(Y,X,{get:Q[X],enumerable:!0})},Iz4=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of Tz4(Q))if(!Cz4.call(Y,G)&&G!==X)M31(Y,G,{get:()=>Q[G],enumerable:!(J=Ez4(Q,G))||J.enumerable})}return Y},jz4=(Y)=>Iz4(M31({},"__esModule",{value:!0}),Y),ST0={};Rz4(ST0,{getVercelOidcToken:()=>vz4,getVercelOidcTokenSync:()=>N31});_T0.exports=jz4(ST0);var Sz4=F31(),_z4=XR();async function vz4(){let Y="",Q;try{Y=N31()}catch(X){Q=X}try{let[{getTokenPayload:X,isExpired:J},{refreshToken:G}]=await Promise.all([await Promise.resolve().then(() => s6(nl())),await Promise.resolve().then(() => s6(jT0()))]);if(!Y||J(X(Y)))await G(),Y=N31()}catch(X){let J=Q instanceof Error?Q.message:"";if(X instanceof Error)J=`${J}
|
|
1260
|
-
${X.message}`;if(J)throw new _z4.VercelOidcTokenError(J);throw X}return Y}function N31(){let Y=(0,Sz4.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 A31=T((Dv8,fT0)=>{var{defineProperty:w31,getOwnPropertyDescriptor:kz4,getOwnPropertyNames:yz4}=Object,fz4=Object.prototype.hasOwnProperty,bz4=(Y,Q)=>{for(var X in Q)w31(Y,X,{get:Q[X],enumerable:!0})},hz4=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of yz4(Q))if(!fz4.call(Y,G)&&G!==X)w31(Y,G,{get:()=>Q[G],enumerable:!(J=kz4(Q,G))||J.enumerable})}return Y},xz4=(Y)=>hz4(w31({},"__esModule",{value:!0}),Y),yT0={};bz4(yT0,{getContext:()=>gz4.getContext,getVercelOidcToken:()=>kT0.getVercelOidcToken,getVercelOidcTokenSync:()=>kT0.getVercelOidcTokenSync});fT0.exports=xz4(yT0);var kT0=vT0(),gz4=F31()});async function JC0({response:Y,statusCode:Q,defaultMessage:X="Gateway request failed",cause:J,authMethod:G}){var K;let W=await s5({value:Y,schema:tz4});if(!W.success){let V=typeof Y==="object"&&Y!==null&&"generationId"in Y?Y.generationId:void 0;return new sz4({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,F=Z.error.message,$=(K=Z.generationId)!=null?K:void 0;switch(H){case"authentication_error":return rl.createContextualError({apiKeyProvided:G==="api-key",oidcTokenProvided:G==="oidc",statusCode:Q,cause:J,generationId:$});case"invalid_request_error":return new dz4({message:F,statusCode:Q,cause:J,generationId:$});case"rate_limit_exceeded":return new cz4({message:F,statusCode:Q,cause:J,generationId:$});case"model_not_found":{let V=await s5({value:Z.error.param,schema:iz4});return new az4({message:F,statusCode:Q,modelId:V.success?V.value.modelId:void 0,cause:J,generationId:$})}case"internal_server_error":return new eT0({message:F,statusCode:Q,cause:J,generationId:$});default:return new eT0({message:F,statusCode:Q,cause:J,generationId:$})}}function HC0(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 I3(Y,Q){var X;if(t5.isInstance(Y))return Y;if(HC0(Y))return KC0.createTimeoutError({originalMessage:Y instanceof Error?Y.message:"Unknown error",cause:Y});if(x8.isInstance(Y)){if(Y.cause&&HC0(Y.cause))return KC0.createTimeoutError({originalMessage:Y.message,cause:Y});return await JC0({response:YD4(Y),statusCode:(X=Y.statusCode)!=null?X:500,defaultMessage:"Gateway request failed",cause:Y,authMethod:Q})}return await JC0({response:{},statusCode:500,defaultMessage:Y instanceof Error?`Gateway request failed: ${Y.message}`:"Unknown Gateway error",cause:Y,authMethod:Q})}function YD4(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 cB(Y){let Q=await s5({value:Y[LC0],schema:QD4});return Q.success?Q.value:void 0}function $C0(Y){if(Y.type==="file"&&Y.data instanceof Uint8Array)return{...Y,data:E3(Y.data)};return Y}function BD4(Y){if(Y.type==="file"&&Y.data instanceof Uint8Array)return{...Y,data:E3(Y.data)};return Y}async function RD4(){var Y;return(Y=NC0.getContext().headers)==null?void 0:Y["x-vercel-id"]}function SD4(Y={}){var Q,X;let J=null,G=null,K=(Q=Y.metadataCacheRefreshMillis)!=null?Q:300000,W=0,Z=(X=eE0(Y.baseURL))!=null?X:"https://ai-gateway.vercel.sh/v3/ai",H=async()=>{try{let O=await _D4(Y);return T3({Authorization:`Bearer ${O.token}`,"ai-gateway-protocol-version":jD4,[LC0]:O.authMethod,...Y.headers},`ai-sdk/gateway/${ID4}`)}catch(O){throw rl.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:O})}},F=()=>{let O=QR({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),M=QR({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),w=QR({settingValue:void 0,environmentVariableName:"VERCEL_REGION"});return async()=>{let P=await RD4();return{...O&&{"ai-o11y-deployment-id":O},...M&&{"ai-o11y-environment":M},...w&&{"ai-o11y-region":w},...P&&{"ai-o11y-request-id":P}}}},$=(O)=>{return new GD4(O,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:F()})},V=async()=>{var O,M,w;let P=(w=(M=(O=Y._internal)==null?void 0:O.currentDate)==null?void 0:M.call(O).getTime())!=null?w:Date.now();if(!J||P-W>K)W=P,J=new FC0({baseURL:Z,headers:H,fetch:Y.fetch}).getAvailableModels().then((j)=>{return G=j,j}).catch(async(j)=>{throw await I3(j,await cB(await H()))});return G?Promise.resolve(G):J},B=async()=>{return new FC0({baseURL:Z,headers:H,fetch:Y.fetch}).getCredits().catch(async(O)=>{throw await I3(O,await cB(await H()))})},U=function(O){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return $(O)};U.specificationVersion="v3",U.getAvailableModels=V,U.getCredits=B,U.imageModel=(O)=>{return new KD4(O,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:F()})},U.languageModel=$;let z=(O)=>{return new WD4(O,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:F()})};return U.embeddingModel=z,U.textEmbeddingModel=z,U.videoModel=(O)=>{return new qD4(O,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:F()})},U.chat=U.languageModel,U.embedding=U.embeddingModel,U.image=U.imageModel,U.video=U.videoModel,U.tools=CD4,U}async function _D4(Y){let Q=QR({settingValue:Y.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(Q)return{token:Q,authMethod:"api-key"};return{token:await MC0.getVercelOidcToken(),authMethod:"oidc"}}var NC0,MC0,uz4="vercel.ai.gateway.error",P31,bT0,hT0,t5,VC0="GatewayAuthenticationError",mz4,xT0,gT0,uT0,rl,qC0="GatewayInvalidRequestError",lz4,mT0,lT0,dT0,dz4,BC0="GatewayRateLimitError",pz4,pT0,cT0,nT0,cz4,UC0="GatewayModelNotFoundError",nz4,iT0,iz4,aT0,rT0,az4,zC0="GatewayInternalServerError",rz4,oT0,sT0,tT0,eT0,DC0="GatewayResponseError",oz4,YC0,QC0,XC0,sz4,tz4,OC0="GatewayTimeoutError",ez4,GC0,WC0,ZC0,KC0,LC0="ai-gateway-auth-method",QD4,FC0=class{constructor(Y){this.config=Y}async getAvailableModels(){try{let{value:Y}=await Z31({url:`${this.config.baseURL}/config`,headers:await qY(this.config.headers()),successfulResponseHandler:R3(XD4),failedResponseHandler:x7({errorSchema:q.any(),errorToMessage:(Q)=>Q}),fetch:this.config.fetch});return Y}catch(Y){throw await I3(Y)}}async getCredits(){try{let Y=new URL(this.config.baseURL),{value:Q}=await Z31({url:`${Y.origin}/v1/credits`,headers:await qY(this.config.headers()),successfulResponseHandler:R3(JD4),failedResponseHandler:x7({errorSchema:q.any(),errorToMessage:(X)=>X}),fetch:this.config.fetch});return Q}catch(Y){throw await I3(Y)}}},XD4,JD4,GD4=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 qY(this.config.headers());try{let{responseHeaders:K,value:W,rawValue:Z}=await C3({url:this.getUrl(),headers:P3(G,Y.headers,this.getModelConfigHeaders(this.modelId,!1),await qY(this.config.o11yHeaders)),body:Q,successfulResponseHandler:R3(q.any()),failedResponseHandler:x7({errorSchema:q.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 I3(K,await cB(G))}}async doStream(Y){let{args:Q,warnings:X}=await this.getArgs(Y),{abortSignal:J}=Y,G=await qY(this.config.headers());try{let{value:K,responseHeaders:W}=await C3({url:this.getUrl(),headers:P3(G,Y.headers,this.getModelConfigHeaders(this.modelId,!0),await qY(this.config.o11yHeaders)),body:Q,successfulResponseHandler:tE0(q.any()),failedResponseHandler:x7({errorSchema:q.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 F=Z.value;if(F.type==="raw"&&!Y.includeRawChunks)return;if(F.type==="response-metadata"&&F.timestamp&&typeof F.timestamp==="string")F.timestamp=new Date(F.timestamp);H.enqueue(F)}else H.error(Z.error)}})),request:{body:Q},response:{headers:W}}}catch(K){throw await I3(K,await cB(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)}}},WD4=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 qY(this.config.headers());try{let{responseHeaders:W,value:Z,rawValue:H}=await C3({url:this.getUrl(),headers:P3(K,Q!=null?Q:{},this.getModelConfigHeaders(),await qY(this.config.o11yHeaders)),body:{values:Y,...J?{providerOptions:J}:{}},successfulResponseHandler:R3(ZD4),failedResponseHandler:x7({errorSchema:q.any(),errorToMessage:(F)=>F}),...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 I3(W,await cB(K))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},ZD4,KD4=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:F}){var $,V,B,U;let z=await qY(this.config.headers());try{let{responseHeaders:O,value:M,rawValue:w}=await C3({url:this.getUrl(),headers:P3(z,H!=null?H:{},this.getModelConfigHeaders(),await qY(this.config.o11yHeaders)),body:{prompt:Y,n:Q,...X&&{size:X},...J&&{aspectRatio:J},...G&&{seed:G},...Z&&{providerOptions:Z},...K&&{files:K.map((P)=>$C0(P))},...W&&{mask:$C0(W)}},successfulResponseHandler:R3(VD4),failedResponseHandler:x7({errorSchema:q.any(),errorToMessage:(P)=>P}),...F&&{abortSignal:F},fetch:this.config.fetch});return{images:M.images,warnings:($=M.warnings)!=null?$:[],providerMetadata:M.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:O},...M.usage!=null&&{usage:{inputTokens:(V=M.usage.inputTokens)!=null?V:void 0,outputTokens:(B=M.usage.outputTokens)!=null?B:void 0,totalTokens:(U=M.usage.totalTokens)!=null?U:void 0}}}}catch(O){throw await I3(O,await cB(z))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}},HD4,FD4,$D4,VD4,qD4=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:F,abortSignal:$}){var V;let B=await qY(this.config.headers());try{let{responseHeaders:U,value:z}=await C3({url:this.getUrl(),headers:P3(B,F!=null?F:{},this.getModelConfigHeaders(),await qY(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:BD4(Z)}},successfulResponseHandler:async({response:O,url:M,requestBodyValues:w})=>{if(O.body==null)throw new x8({message:"SSE response body is empty",url:M,requestBodyValues:w,statusCode:O.status});let j=ml({stream:O.body,schema:OD4}).getReader(),{done:C,value:E}=await j.read();if(j.releaseLock(),C||!E)throw new x8({message:"SSE stream ended without a data event",url:M,requestBodyValues:w,statusCode:O.status});if(!E.success)throw new x8({message:"Failed to parse video SSE event",cause:E.error,url:M,requestBodyValues:w,statusCode:O.status});let I=E.value;if(I.type==="error")throw new x8({message:I.message,statusCode:I.statusCode,url:M,requestBodyValues:w,responseHeaders:Object.fromEntries([...O.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([...O.headers])}},failedResponseHandler:x7({errorSchema:q.any(),errorToMessage:(O)=>O}),...$&&{abortSignal:$},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 I3(U,await cB(B))}}getUrl(){return`${this.config.baseURL}/video-model`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"3","ai-model-id":this.modelId}}},UD4,zD4,DD4,OD4,LD4,ND4,MD4,wD4=(Y={})=>MD4(Y),AD4,PD4,ED4,TD4=(Y={})=>ED4(Y),CD4,ID4="3.0.53",jD4="0.0.1",wC0;var E31=S(()=>{m4();q8();G4();G4();m4();m4();G4();m4();m4();G4();m4();G4();m4();G4();m4();G4();q8();m4();G4();m4();y1();m4();y1();m4();NC0=s6(A31(),1),MC0=s6(A31(),1),P31=Symbol.for(uz4),t5=class Y extends(hT0=Error,bT0=P31,hT0){constructor({message:Q,statusCode:X=500,cause:J,generationId:G}){super(G?`${Q} [${G}]`:Q);this[bT0]=!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&&P31 in Q&&Q[P31]===!0}},mz4=`vercel.ai.gateway.error.${VC0}`,xT0=Symbol.for(mz4),rl=class Y extends(uT0=t5,gT0=xT0,uT0){constructor({message:Q="Authentication failed",statusCode:X=401,cause:J,generationId:G}={}){super({message:Q,statusCode:X,cause:J,generationId:G});this[gT0]=!0,this.name=VC0,this.type="authentication_error"}static isInstance(Q){return t5.hasMarker(Q)&&xT0 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.
|
|
1260
|
+
${X.message}`;if(J)throw new _z4.VercelOidcTokenError(J);throw X}return Y}function N31(){let Y=(0,Sz4.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 A31=T((Dv8,fT0)=>{var{defineProperty:w31,getOwnPropertyDescriptor:kz4,getOwnPropertyNames:yz4}=Object,fz4=Object.prototype.hasOwnProperty,bz4=(Y,Q)=>{for(var X in Q)w31(Y,X,{get:Q[X],enumerable:!0})},hz4=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of yz4(Q))if(!fz4.call(Y,G)&&G!==X)w31(Y,G,{get:()=>Q[G],enumerable:!(J=kz4(Q,G))||J.enumerable})}return Y},xz4=(Y)=>hz4(w31({},"__esModule",{value:!0}),Y),yT0={};bz4(yT0,{getContext:()=>gz4.getContext,getVercelOidcToken:()=>kT0.getVercelOidcToken,getVercelOidcTokenSync:()=>kT0.getVercelOidcTokenSync});fT0.exports=xz4(yT0);var kT0=vT0(),gz4=F31()});async function JC0({response:Y,statusCode:Q,defaultMessage:X="Gateway request failed",cause:J,authMethod:G}){var K;let W=await s5({value:Y,schema:tz4});if(!W.success){let V=typeof Y==="object"&&Y!==null&&"generationId"in Y?Y.generationId:void 0;return new sz4({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,F=Z.error.message,$=(K=Z.generationId)!=null?K:void 0;switch(H){case"authentication_error":return rl.createContextualError({apiKeyProvided:G==="api-key",oidcTokenProvided:G==="oidc",statusCode:Q,cause:J,generationId:$});case"invalid_request_error":return new dz4({message:F,statusCode:Q,cause:J,generationId:$});case"rate_limit_exceeded":return new cz4({message:F,statusCode:Q,cause:J,generationId:$});case"model_not_found":{let V=await s5({value:Z.error.param,schema:iz4});return new az4({message:F,statusCode:Q,modelId:V.success?V.value.modelId:void 0,cause:J,generationId:$})}case"internal_server_error":return new eT0({message:F,statusCode:Q,cause:J,generationId:$});default:return new eT0({message:F,statusCode:Q,cause:J,generationId:$})}}function HC0(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 I3(Y,Q){var X;if(t5.isInstance(Y))return Y;if(HC0(Y))return KC0.createTimeoutError({originalMessage:Y instanceof Error?Y.message:"Unknown error",cause:Y});if(x8.isInstance(Y)){if(Y.cause&&HC0(Y.cause))return KC0.createTimeoutError({originalMessage:Y.message,cause:Y});return await JC0({response:YD4(Y),statusCode:(X=Y.statusCode)!=null?X:500,defaultMessage:"Gateway request failed",cause:Y,authMethod:Q})}return await JC0({response:{},statusCode:500,defaultMessage:Y instanceof Error?`Gateway request failed: ${Y.message}`:"Unknown Gateway error",cause:Y,authMethod:Q})}function YD4(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 cB(Y){let Q=await s5({value:Y[LC0],schema:QD4});return Q.success?Q.value:void 0}function $C0(Y){if(Y.type==="file"&&Y.data instanceof Uint8Array)return{...Y,data:E3(Y.data)};return Y}function BD4(Y){if(Y.type==="file"&&Y.data instanceof Uint8Array)return{...Y,data:E3(Y.data)};return Y}async function RD4(){var Y;return(Y=NC0.getContext().headers)==null?void 0:Y["x-vercel-id"]}function SD4(Y={}){var Q,X;let J=null,G=null,K=(Q=Y.metadataCacheRefreshMillis)!=null?Q:300000,W=0,Z=(X=eE0(Y.baseURL))!=null?X:"https://ai-gateway.vercel.sh/v3/ai",H=async()=>{try{let O=await _D4(Y);return T3({Authorization:`Bearer ${O.token}`,"ai-gateway-protocol-version":jD4,[LC0]:O.authMethod,...Y.headers},`ai-sdk/gateway/${ID4}`)}catch(O){throw rl.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:O})}},F=()=>{let O=QR({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),M=QR({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),w=QR({settingValue:void 0,environmentVariableName:"VERCEL_REGION"});return async()=>{let P=await RD4();return{...O&&{"ai-o11y-deployment-id":O},...M&&{"ai-o11y-environment":M},...w&&{"ai-o11y-region":w},...P&&{"ai-o11y-request-id":P}}}},$=(O)=>{return new GD4(O,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:F()})},V=async()=>{var O,M,w;let P=(w=(M=(O=Y._internal)==null?void 0:O.currentDate)==null?void 0:M.call(O).getTime())!=null?w:Date.now();if(!J||P-W>K)W=P,J=new FC0({baseURL:Z,headers:H,fetch:Y.fetch}).getAvailableModels().then((j)=>{return G=j,j}).catch(async(j)=>{throw await I3(j,await cB(await H()))});return G?Promise.resolve(G):J},B=async()=>{return new FC0({baseURL:Z,headers:H,fetch:Y.fetch}).getCredits().catch(async(O)=>{throw await I3(O,await cB(await H()))})},U=function(O){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return $(O)};U.specificationVersion="v3",U.getAvailableModels=V,U.getCredits=B,U.imageModel=(O)=>{return new KD4(O,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:F()})},U.languageModel=$;let z=(O)=>{return new WD4(O,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:F()})};return U.embeddingModel=z,U.textEmbeddingModel=z,U.videoModel=(O)=>{return new qD4(O,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:F()})},U.chat=U.languageModel,U.embedding=U.embeddingModel,U.image=U.imageModel,U.video=U.videoModel,U.tools=CD4,U}async function _D4(Y){let Q=QR({settingValue:Y.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(Q)return{token:Q,authMethod:"api-key"};return{token:await MC0.getVercelOidcToken(),authMethod:"oidc"}}var NC0,MC0,uz4="vercel.ai.gateway.error",P31,bT0,hT0,t5,VC0="GatewayAuthenticationError",mz4,xT0,gT0,uT0,rl,qC0="GatewayInvalidRequestError",lz4,mT0,lT0,dT0,dz4,BC0="GatewayRateLimitError",pz4,pT0,cT0,nT0,cz4,UC0="GatewayModelNotFoundError",nz4,iT0,iz4,aT0,rT0,az4,zC0="GatewayInternalServerError",rz4,oT0,sT0,tT0,eT0,DC0="GatewayResponseError",oz4,YC0,QC0,XC0,sz4,tz4,OC0="GatewayTimeoutError",ez4,GC0,WC0,ZC0,KC0,LC0="ai-gateway-auth-method",QD4,FC0=class{constructor(Y){this.config=Y}async getAvailableModels(){try{let{value:Y}=await Z31({url:`${this.config.baseURL}/config`,headers:await qY(this.config.headers()),successfulResponseHandler:R3(XD4),failedResponseHandler:x7({errorSchema:q.any(),errorToMessage:(Q)=>Q}),fetch:this.config.fetch});return Y}catch(Y){throw await I3(Y)}}async getCredits(){try{let Y=new URL(this.config.baseURL),{value:Q}=await Z31({url:`${Y.origin}/v1/credits`,headers:await qY(this.config.headers()),successfulResponseHandler:R3(JD4),failedResponseHandler:x7({errorSchema:q.any(),errorToMessage:(X)=>X}),fetch:this.config.fetch});return Q}catch(Y){throw await I3(Y)}}},XD4,JD4,GD4=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 qY(this.config.headers());try{let{responseHeaders:K,value:W,rawValue:Z}=await C3({url:this.getUrl(),headers:P3(G,Y.headers,this.getModelConfigHeaders(this.modelId,!1),await qY(this.config.o11yHeaders)),body:Q,successfulResponseHandler:R3(q.any()),failedResponseHandler:x7({errorSchema:q.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 I3(K,await cB(G))}}async doStream(Y){let{args:Q,warnings:X}=await this.getArgs(Y),{abortSignal:J}=Y,G=await qY(this.config.headers());try{let{value:K,responseHeaders:W}=await C3({url:this.getUrl(),headers:P3(G,Y.headers,this.getModelConfigHeaders(this.modelId,!0),await qY(this.config.o11yHeaders)),body:Q,successfulResponseHandler:tE0(q.any()),failedResponseHandler:x7({errorSchema:q.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 F=Z.value;if(F.type==="raw"&&!Y.includeRawChunks)return;if(F.type==="response-metadata"&&F.timestamp&&typeof F.timestamp==="string")F.timestamp=new Date(F.timestamp);H.enqueue(F)}else H.error(Z.error)}})),request:{body:Q},response:{headers:W}}}catch(K){throw await I3(K,await cB(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)}}},WD4=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 qY(this.config.headers());try{let{responseHeaders:W,value:Z,rawValue:H}=await C3({url:this.getUrl(),headers:P3(K,Q!=null?Q:{},this.getModelConfigHeaders(),await qY(this.config.o11yHeaders)),body:{values:Y,...J?{providerOptions:J}:{}},successfulResponseHandler:R3(ZD4),failedResponseHandler:x7({errorSchema:q.any(),errorToMessage:(F)=>F}),...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 I3(W,await cB(K))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},ZD4,KD4=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:F}){var $,V,B,U;let z=await qY(this.config.headers());try{let{responseHeaders:O,value:M,rawValue:w}=await C3({url:this.getUrl(),headers:P3(z,H!=null?H:{},this.getModelConfigHeaders(),await qY(this.config.o11yHeaders)),body:{prompt:Y,n:Q,...X&&{size:X},...J&&{aspectRatio:J},...G&&{seed:G},...Z&&{providerOptions:Z},...K&&{files:K.map((P)=>$C0(P))},...W&&{mask:$C0(W)}},successfulResponseHandler:R3(VD4),failedResponseHandler:x7({errorSchema:q.any(),errorToMessage:(P)=>P}),...F&&{abortSignal:F},fetch:this.config.fetch});return{images:M.images,warnings:($=M.warnings)!=null?$:[],providerMetadata:M.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:O},...M.usage!=null&&{usage:{inputTokens:(V=M.usage.inputTokens)!=null?V:void 0,outputTokens:(B=M.usage.outputTokens)!=null?B:void 0,totalTokens:(U=M.usage.totalTokens)!=null?U:void 0}}}}catch(O){throw await I3(O,await cB(z))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}},HD4,FD4,$D4,VD4,qD4=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:F,abortSignal:$}){var V;let B=await qY(this.config.headers());try{let{responseHeaders:U,value:z}=await C3({url:this.getUrl(),headers:P3(B,F!=null?F:{},this.getModelConfigHeaders(),await qY(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:BD4(Z)}},successfulResponseHandler:async({response:O,url:M,requestBodyValues:w})=>{if(O.body==null)throw new x8({message:"SSE response body is empty",url:M,requestBodyValues:w,statusCode:O.status});let j=ml({stream:O.body,schema:OD4}).getReader(),{done:C,value:E}=await j.read();if(j.releaseLock(),C||!E)throw new x8({message:"SSE stream ended without a data event",url:M,requestBodyValues:w,statusCode:O.status});if(!E.success)throw new x8({message:"Failed to parse video SSE event",cause:E.error,url:M,requestBodyValues:w,statusCode:O.status});let I=E.value;if(I.type==="error")throw new x8({message:I.message,statusCode:I.statusCode,url:M,requestBodyValues:w,responseHeaders:Object.fromEntries([...O.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([...O.headers])}},failedResponseHandler:x7({errorSchema:q.any(),errorToMessage:(O)=>O}),...$&&{abortSignal:$},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 I3(U,await cB(B))}}getUrl(){return`${this.config.baseURL}/video-model`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"3","ai-model-id":this.modelId}}},UD4,zD4,DD4,OD4,LD4,ND4,MD4,wD4=(Y={})=>MD4(Y),AD4,PD4,ED4,TD4=(Y={})=>ED4(Y),CD4,ID4="3.0.54",jD4="0.0.1",wC0;var E31=S(()=>{m4();q8();G4();G4();m4();m4();G4();m4();m4();G4();m4();G4();m4();G4();m4();G4();q8();m4();G4();m4();y1();m4();y1();m4();NC0=s6(A31(),1),MC0=s6(A31(),1),P31=Symbol.for(uz4),t5=class Y extends(hT0=Error,bT0=P31,hT0){constructor({message:Q,statusCode:X=500,cause:J,generationId:G}){super(G?`${Q} [${G}]`:Q);this[bT0]=!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&&P31 in Q&&Q[P31]===!0}},mz4=`vercel.ai.gateway.error.${VC0}`,xT0=Symbol.for(mz4),rl=class Y extends(uT0=t5,gT0=xT0,uT0){constructor({message:Q="Authentication failed",statusCode:X=401,cause:J,generationId:G}={}){super({message:Q,statusCode:X,cause:J,generationId:G});this[gT0]=!0,this.name=VC0,this.type="authentication_error"}static isInstance(Q){return t5.hasMarker(Q)&&xT0 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
1261
|
|
|
1262
1262
|
Create a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
|
|
1263
1263
|
|
|
@@ -1283,7 +1283,7 @@ Alternatively, you can use a provider module instead of the AI Gateway.
|
|
|
1283
1283
|
Learn more: \x1B[34m${X}\x1B[0m
|
|
1284
1284
|
|
|
1285
1285
|
`),{name:"GatewayAuthenticationError"})}function R31({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 HL4({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=OR0(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 VL4({isEnabled:Y=!1,tracer:Q}={}){if(!Y)return FL4;if(Q)return Q;return TR0.trace.getTracer("ai")}async function I31({name:Y,tracer:Q,attributes:X,fn:J,endWhenDone:G=!0}){return Q.startActiveSpan(Y,{attributes:await X},async(K)=>{let W=qN.context.active();try{let Z=await qN.context.with(W,()=>J(K));if(G)K.end();return Z}catch(Z){try{CR0(K,Z)}finally{K.end()}throw Z}})}function CR0(Y,Q){if(Q instanceof Error)Y.recordException({name:Q.name,message:Q.message,stack:Q.stack}),Y.setStatus({code:qN.SpanStatusCode.ERROR,message:Q.message});else Y.setStatus({code:qN.SpanStatusCode.ERROR})}async function VN({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 qL4(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?lO4(X.data):X.data}:X)})))}function BL4(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:rG(Y.inputTokens.total,Y.outputTokens.total),raw:Y.raw,reasoningTokens:Y.outputTokens.reasoning,cachedInputTokens:Y.inputTokens.cacheRead}}function UL4(Y,Q){var X,J,G,K,W,Z,H,F,$,V;return{inputTokens:rG(Y.inputTokens,Q.inputTokens),inputTokenDetails:{noCacheTokens:rG((X=Y.inputTokenDetails)==null?void 0:X.noCacheTokens,(J=Q.inputTokenDetails)==null?void 0:J.noCacheTokens),cacheReadTokens:rG((G=Y.inputTokenDetails)==null?void 0:G.cacheReadTokens,(K=Q.inputTokenDetails)==null?void 0:K.cacheReadTokens),cacheWriteTokens:rG((W=Y.inputTokenDetails)==null?void 0:W.cacheWriteTokens,(Z=Q.inputTokenDetails)==null?void 0:Z.cacheWriteTokens)},outputTokens:rG(Y.outputTokens,Q.outputTokens),outputTokenDetails:{textTokens:rG((H=Y.outputTokenDetails)==null?void 0:H.textTokens,(F=Q.outputTokenDetails)==null?void 0:F.textTokens),reasoningTokens:rG(($=Y.outputTokenDetails)==null?void 0:$.reasoningTokens,(V=Q.outputTokenDetails)==null?void 0:V.reasoningTokens)},totalTokens:rG(Y.totalTokens,Q.totalTokens),reasoningTokens:rG(Y.reasoningTokens,Q.reasoningTokens),cachedInputTokens:rG(Y.cachedInputTokens,Q.cachedInputTokens)}}function rG(Y,Q){return Y==null&&Q==null?void 0:(Y!=null?Y:0)+(Q!=null?Q:0)}function RR0(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]=RR0(K,G);else X[J]=G}return X}function zL4({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 IR0(Y,{maxRetries:Q,delayInMs:X,backoffFactor:J,abortSignal:G},K=[]){try{return await Y()}catch(W){if(F$(W))throw W;if(Q===0)throw W;let Z=gl(W),H=[...K,W],F=H.length;if(F>Q)throw new PC0({message:`Failed after ${F} attempts. Last error: ${Z}`,reason:"maxRetriesExceeded",errors:H});if(W instanceof Error&&x8.isInstance(W)&&W.isRetryable===!0&&F<=Q)return await gE0(zL4({error:W,exponentialBackoffDelay:X}),{abortSignal:G}),IR0(Y,{maxRetries:Q,delayInMs:J*X,backoffFactor:J,abortSignal:G},H);if(F===1)throw W;throw new PC0({message:`Failed after ${F} attempts with non-retryable error: '${Z}'`,reason:"errorNotRetryable",errors:H})}}function OL4({maxRetries:Y,abortSignal:Q}){if(Y!=null){if(!Number.isInteger(Y))throw new xZ({parameter:"maxRetries",value:Y,message:"maxRetries must be an integer"});if(Y<0)throw new xZ({parameter:"maxRetries",value:Y,message:"maxRetries must be >= 0"})}let X=Y!=null?Y:2;return{maxRetries:X,retry:DL4({maxRetries:X,abortSignal:Q})}}function LL4({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 F=H.content;for(let $ of F)if($.type==="tool-call")X[$.toolCallId]=$}let J={};for(let H of Y)if(H.role==="assistant"&&typeof H.content!=="string"){let F=H.content;for(let $ of F)if($.type==="tool-approval-request")J[$.approvalId]=$}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 F=J[H.approvalId];if(F==null)throw new mD4({approvalId:H.approvalId});if(G[F.toolCallId]!=null)continue;let $=X[F.toolCallId];if($==null)throw new nC0({toolCallId:F.toolCallId,approvalId:F.approvalId});let V={approvalRequest:F,approvalResponse:H,toolCall:$};if(H.approved)K.push(V);else W.push(V)}return{approvedToolApprovals:K,deniedToolApprovals:W}}function T31(){var Y,Q;return(Q=(Y=globalThis==null?void 0:globalThis.performance)==null?void 0:Y.now())!=null?Q:Date.now()}async function NL4({toolCall:Y,tools:Q,tracer:X,telemetry:J,messages:G,abortSignal:K,experimental_context:W,stepNumber:Z,model:H,onPreliminaryToolResult:F,onToolCallStart:$,onToolCallFinish:V}){let{toolName:B,toolCallId:U,input:z}=Y,O=Q==null?void 0:Q[B];if((O==null?void 0:O.execute)==null)return;let M={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 I31({name:"ai.toolCall",attributes:VN({telemetry:J,attributes:{...R31({operationId:"ai.toolCall",telemetry:J}),"ai.toolCall.name":B,"ai.toolCall.id":U,"ai.toolCall.args":{output:()=>JSON.stringify(z)}}}),tracer:X,fn:async(w)=>{let P;try{await($==null?void 0:$(M))}catch(E){}let j=T31();try{let E=YT0({execute:O.execute.bind(O),input:z,options:{toolCallId:U,messages:G,abortSignal:K,experimental_context:W}});for await(let I of E)if(I.type==="preliminary")F==null||F({...Y,type:"tool-result",output:I.output,preliminary:!0});else P=I.output}catch(E){let I=T31()-j;try{await(V==null?void 0:V({...M,success:!1,error:E,durationMs:I}))}catch(v){}return CR0(w,E),{type:"tool-error",toolCallId:U,toolName:B,input:z,error:E,dynamic:O.type==="dynamic",...Y.providerMetadata!=null?{providerMetadata:Y.providerMetadata}:{}}}let C=T31()-j;try{await(V==null?void 0:V({...M,success:!0,output:P,durationMs:C}))}catch(E){}try{w.setAttributes(await VN({telemetry:J,attributes:{"ai.toolCall.result":{output:()=>JSON.stringify(P)}}}))}catch(E){}return{type:"tool-result",toolCallId:U,toolName:B,input:z,output:P,dynamic:O.type==="dynamic",...Y.providerMetadata!=null?{providerMetadata:Y.providerMetadata}:{}}}})}function jC0(Y){let Q=Y.filter((X)=>X.type==="reasoning");return Q.length===0?void 0:Q.map((X)=>X.text).join(`
|
|
1286
|
-
`)}function SC0(Y){let Q=Y.filter((X)=>X.type==="text");if(Q.length===0)return;return Q.map((X)=>X.text).join("")}async function wL4({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 PL4(Y){let Q=["ROOT"],X=-1,J=null;function G(H,F,$){switch(H){case'"':{X=F,Q.pop(),Q.push($),Q.push("INSIDE_STRING");break}case"f":case"t":case"n":{X=F,J=F,Q.pop(),Q.push($),Q.push("INSIDE_LITERAL");break}case"-":{Q.pop(),Q.push($),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=F,Q.pop(),Q.push($),Q.push("INSIDE_NUMBER");break}case"{":{X=F,Q.pop(),Q.push($),Q.push("INSIDE_OBJECT_START");break}case"[":{X=F,Q.pop(),Q.push($),Q.push("INSIDE_ARRAY_START");break}}}function K(H,F){switch(H){case",":{Q.pop(),Q.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{X=F,Q.pop();break}}}function W(H,F){switch(H){case",":{Q.pop(),Q.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{X=F,Q.pop();break}}}for(let H=0;H<Y.length;H++){let F=Y[H];switch(Q[Q.length-1]){case"ROOT":G(F,H,"FINISH");break;case"INSIDE_OBJECT_START":{switch(F){case'"':{Q.pop(),Q.push("INSIDE_OBJECT_KEY");break}case"}":{X=H,Q.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch(F){case'"':{Q.pop(),Q.push("INSIDE_OBJECT_KEY");break}}break}case"INSIDE_OBJECT_KEY":{switch(F){case'"':{Q.pop(),Q.push("INSIDE_OBJECT_AFTER_KEY");break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch(F){case":":{Q.pop(),Q.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{G(F,H,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{K(F,H);break}case"INSIDE_STRING":{switch(F){case'"':{Q.pop(),X=H;break}case"\\":{Q.push("INSIDE_STRING_ESCAPE");break}default:X=H}break}case"INSIDE_ARRAY_START":{switch(F){case"]":{X=H,Q.pop();break}default:{X=H,G(F,H,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(F){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(F,H,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{Q.pop(),X=H;break}case"INSIDE_NUMBER":{switch(F){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(F,H);if(Q[Q.length-1]==="INSIDE_OBJECT_AFTER_VALUE")K(F,H);break}case"}":{if(Q.pop(),Q[Q.length-1]==="INSIDE_OBJECT_AFTER_VALUE")K(F,H);break}case"]":{if(Q.pop(),Q[Q.length-1]==="INSIDE_ARRAY_AFTER_VALUE")W(F,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(F,H);else if(Q[Q.length-1]==="INSIDE_ARRAY_AFTER_VALUE")W(F,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 $=Y.substring(J,Y.length);if("true".startsWith($))Z+="true".slice($.length);else if("false".startsWith($))Z+="false".slice($.length);else if("null".startsWith($))Z+="null".slice($.length)}}return Z}async function tl(Y){if(Y===void 0)return{value:void 0,state:"undefined-input"};let Q=await lX({text:Y});if(Q.success)return{value:Q.value,state:"successful-parse"};if(Q=await lX({text:PL4(Y)}),Q.success)return{value:Q.value,state:"repaired-parse"};return{value:void 0,state:"failed-parse"}}async function IL4({toolCall:Y,tools:Q,repairToolCall:X,system:J,messages:G}){var K;try{if(Q==null){if(Y.providerExecuted&&Y.dynamic)return await SR0(Y);throw new C31({toolName:Y.toolName})}try{return await _C0({toolCall:Y,tools:Q})}catch(W){if(X==null||!(C31.isInstance(W)||j31.isInstance(W)))throw W;let Z=null;try{Z=await X({toolCall:Y,tools:Q,inputSchema:async({toolName:H})=>{let{inputSchema:F}=Q[H];return await hZ(F).jsonSchema},system:J,messages:G,error:W})}catch(H){throw new qO4({cause:H,originalError:W})}if(Z==null)throw W;return await _C0({toolCall:Z,tools:Q})}}catch(W){let Z=await lX({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 SR0(Y){let Q=Y.input.trim()===""?{success:!0,value:{}}:await lX({text:Y.input});if(Q.success===!1)throw new j31({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 _C0({toolCall:Y,tools:Q}){let X=Y.toolName,J=Q[X];if(J==null){if(Y.providerExecuted&&Y.dynamic)return await SR0(Y);throw new C31({toolName:Y.toolName,availableTools:Object.keys(Q)})}let G=hZ(J.inputSchema),K=Y.input.trim()===""?await s5({value:{},schema:G}):await lX({text:Y.input,schema:G});if(K.success===!1)throw new j31({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 _31(Y){return({steps:Q})=>Q.length===Y}async function SL4({stopConditions:Y,steps:Q}){return(await Promise.all(Y.map((X)=>X({steps:Q})))).some((X)=>X)}async function _L4({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 sl({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 sl({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 sl({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 vL4(...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 _R0({model:Y,tools:Q,toolChoice:X,system:J,prompt:G,messages:K,maxRetries:W,abortSignal:Z,timeout:H,headers:F,stopWhen:$=_31(1),experimental_output:V,output:B=V,experimental_telemetry:U,providerOptions:z,experimental_activeTools:O,activeTools:M=O,experimental_prepareStep:w,prepareStep:P=w,experimental_repairToolCall:j,experimental_download:C,experimental_context:E,experimental_include:I,_internal:{generateId:v=kL4}={},experimental_onStart:y,experimental_onStepStart:b,experimental_onToolCallStart:h,experimental_onToolCallFinish:x,onStepFinish:e,onFinish:l,...f}){let c=TC0(Y),J1=S31($),Y1=OR0(H),U1=fO4(H),T1=U1!=null?new AbortController:void 0,B1=vL4(Z,Y1!=null?AbortSignal.timeout(Y1):void 0,T1==null?void 0:T1.signal),{maxRetries:C1,retry:k1}=OL4({maxRetries:W,abortSignal:B1}),a1=IC0(f),E0=T3(F!=null?F:{},`ai/${LR0}`),P1=HL4({model:c,telemetry:U,headers:E0,settings:{...a1,maxRetries:C1}}),V1={provider:c.provider,modelId:c.modelId},m1=await ZL4({system:J,prompt:G,messages:K});try{await(y==null?void 0:y({model:V1,system:J,prompt:G,messages:K,tools:Q,toolChoice:X,activeTools:M,maxOutputTokens:a1.maxOutputTokens,temperature:a1.temperature,topP:a1.topP,topK:a1.topK,presencePenalty:a1.presencePenalty,frequencyPenalty:a1.frequencyPenalty,stopSequences:a1.stopSequences,seed:a1.seed,maxRetries:C1,timeout:H,headers:F,providerOptions:z,stopWhen:$,output:B,abortSignal:Z,include:I,functionId:U==null?void 0:U.functionId,metadata:U==null?void 0:U.metadata,experimental_context:E}))}catch(i0){}let Q6=VL4(U);try{return await I31({name:"ai.generateText",attributes:VN({telemetry:U,attributes:{...R31({operationId:"ai.generateText",telemetry:U}),...P1,"ai.model.provider":c.provider,"ai.model.id":c.modelId,"ai.prompt":{input:()=>JSON.stringify({system:J,prompt:G,messages:K})}}}),tracer:Q6,fn:async(i0)=>{var t1,R1,z1,f1,L1,E1,O0,c1,r1,y6,m6,_4,J8;let A0=m1.messages,x1=[],{approvedToolApprovals:L0,deniedToolApprovals:G8}=LL4({messages:A0}),p8=L0.filter((n)=>!n.toolCall.providerExecuted);if(G8.length>0||p8.length>0){let n=await vC0({toolCalls:p8.map((W1)=>W1.toolCall),tools:Q,tracer:Q6,telemetry:U,messages:A0,abortSignal:B1,experimental_context:E,stepNumber:0,model:V1,onToolCallStart:h,onToolCallFinish:x}),Z1=[];for(let W1 of n){let a=await sl({toolCallId:W1.toolCallId,input:W1.input,tool:Q==null?void 0:Q[W1.toolName],output:W1.type==="tool-result"?W1.output:W1.error,errorMode:W1.type==="tool-error"?"json":"none"});Z1.push({type:"tool-result",toolCallId:W1.toolCallId,toolName:W1.toolName,output:a})}for(let W1 of G8)Z1.push({type:"tool-result",toolCallId:W1.toolCall.toolCallId,toolName:W1.toolCall.toolName,output:{type:"execution-denied",reason:W1.approvalResponse.reason,...W1.toolCall.providerExecuted&&{providerOptions:{openai:{approvalId:W1.approvalResponse.approvalId}}}}});x1.push({role:"tool",content:Z1})}let e9=[...L0,...G8].filter((n)=>n.toolCall.providerExecuted);if(e9.length>0)x1.push({role:"tool",content:e9.map((n)=>({type:"tool-approval-response",approvalId:n.approvalResponse.approvalId,approved:n.approvalResponse.approved,reason:n.approvalResponse.reason,providerExecuted:!0}))});let q6=IC0(f),y0,XX=[],N=[],k=[],X1=new Map;do{let n=U1!=null?setTimeout(()=>T1.abort(),U1):void 0;try{let Z1=[...A0,...x1],W1=await(P==null?void 0:P({model:c,steps:k,stepNumber:k.length,messages:Z1,experimental_context:E})),a=TC0((t1=W1==null?void 0:W1.model)!=null?t1:c),n1={provider:a.provider,modelId:a.modelId},d0=await dO4({prompt:{system:(R1=W1==null?void 0:W1.system)!=null?R1:m1.system,messages:(z1=W1==null?void 0:W1.messages)!=null?z1:Z1},supportedUrls:await a.supportedUrls,download:C});E=(f1=W1==null?void 0:W1.experimental_context)!=null?f1:E;let B6=(L1=W1==null?void 0:W1.activeTools)!=null?L1:M,{toolChoice:s1,tools:o0}=await aO4({tools:Q,toolChoice:(E1=W1==null?void 0:W1.toolChoice)!=null?E1:X,activeTools:B6}),O9=(O0=W1==null?void 0:W1.messages)!=null?O0:Z1,UY=(c1=W1==null?void 0:W1.system)!=null?c1:m1.system,e6=RR0(z,W1==null?void 0:W1.providerOptions);try{await(b==null?void 0:b({stepNumber:k.length,model:n1,system:UY,messages:O9,tools:Q,toolChoice:s1,activeTools:B6,steps:[...k],providerOptions:e6,timeout:H,headers:F,stopWhen:$,output:B,abortSignal:Z,include:I,functionId:U==null?void 0:U.functionId,metadata:U==null?void 0:U.metadata,experimental_context:E}))}catch(T0){}y0=await k1(()=>{var T0;return I31({name:"ai.generateText.doGenerate",attributes:VN({telemetry:U,attributes:{...R31({operationId:"ai.generateText.doGenerate",telemetry:U}),...P1,"ai.model.provider":a.provider,"ai.model.id":a.modelId,"ai.prompt.messages":{input:()=>qL4(d0)},"ai.prompt.tools":{input:()=>o0==null?void 0:o0.map((l4)=>JSON.stringify(l4))},"ai.prompt.toolChoice":{input:()=>s1!=null?JSON.stringify(s1):void 0},"gen_ai.system":a.provider,"gen_ai.request.model":a.modelId,"gen_ai.request.frequency_penalty":f.frequencyPenalty,"gen_ai.request.max_tokens":f.maxOutputTokens,"gen_ai.request.presence_penalty":f.presencePenalty,"gen_ai.request.stop_sequences":f.stopSequences,"gen_ai.request.temperature":(T0=f.temperature)!=null?T0:void 0,"gen_ai.request.top_k":f.topK,"gen_ai.request.top_p":f.topP}}),tracer:Q6,fn:async(l4)=>{var mQ,c7,HU,FU,$U,VU,qU,BU;let QY=await a.doGenerate({...q6,tools:o0,toolChoice:s1,responseFormat:await(B==null?void 0:B.responseFormat),prompt:d0,providerOptions:e6,abortSignal:B1,headers:E0}),c3={id:(c7=(mQ=QY.response)==null?void 0:mQ.id)!=null?c7:v(),timestamp:(FU=(HU=QY.response)==null?void 0:HU.timestamp)!=null?FU:new Date,modelId:(VU=($U=QY.response)==null?void 0:$U.modelId)!=null?VU:a.modelId,headers:(qU=QY.response)==null?void 0:qU.headers,body:(BU=QY.response)==null?void 0:BU.body};return l4.setAttributes(await VN({telemetry:U,attributes:{"ai.response.finishReason":QY.finishReason.unified,"ai.response.text":{output:()=>SC0(QY.content)},"ai.response.reasoning":{output:()=>jC0(QY.content)},"ai.response.toolCalls":{output:()=>{let KI=kC0(QY.content);return KI==null?void 0:JSON.stringify(KI)}},"ai.response.id":c3.id,"ai.response.model":c3.modelId,"ai.response.timestamp":c3.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(QY.providerMetadata),"ai.usage.promptTokens":QY.usage.inputTokens.total,"ai.usage.completionTokens":QY.usage.outputTokens.total,"gen_ai.response.finish_reasons":[QY.finishReason.unified],"gen_ai.response.id":c3.id,"gen_ai.response.model":c3.modelId,"gen_ai.usage.input_tokens":QY.usage.inputTokens.total,"gen_ai.usage.output_tokens":QY.usage.outputTokens.total}})),{...QY,response:c3}}})});let YY=await Promise.all(y0.content.filter((T0)=>T0.type==="tool-call").map((T0)=>IL4({toolCall:T0,tools:Q,repairToolCall:j,system:J,messages:Z1}))),p7={};for(let T0 of YY){if(T0.invalid)continue;let l4=Q==null?void 0:Q[T0.toolName];if(l4==null)continue;if((l4==null?void 0:l4.onInputAvailable)!=null)await l4.onInputAvailable({input:T0.input,toolCallId:T0.toolCallId,messages:Z1,abortSignal:B1,experimental_context:E});if(await wL4({tool:l4,toolCall:T0,messages:Z1,experimental_context:E}))p7[T0.toolCallId]={type:"tool-approval-request",approvalId:v(),toolCall:T0}}let YW=YY.filter((T0)=>T0.invalid&&T0.dynamic);N=[];for(let T0 of YW)N.push({type:"tool-error",toolCallId:T0.toolCallId,toolName:T0.toolName,input:T0.input,error:gl(T0.error),dynamic:!0});if(XX=YY.filter((T0)=>!T0.providerExecuted),Q!=null)N.push(...await vC0({toolCalls:XX.filter((T0)=>!T0.invalid&&p7[T0.toolCallId]==null),tools:Q,tracer:Q6,telemetry:U,messages:Z1,abortSignal:B1,experimental_context:E,stepNumber:k.length,model:n1,onToolCallStart:h,onToolCallFinish:x}));for(let T0 of YY){if(!T0.providerExecuted)continue;let l4=Q==null?void 0:Q[T0.toolName];if((l4==null?void 0:l4.type)==="provider"&&l4.supportsDeferredResults){if(!y0.content.some((c7)=>c7.type==="tool-result"&&c7.toolCallId===T0.toolCallId))X1.set(T0.toolCallId,{toolName:T0.toolName})}}for(let T0 of y0.content)if(T0.type==="tool-result")X1.delete(T0.toolCallId);let V0=fL4({content:y0.content,toolCalls:YY,toolOutputs:N,toolApprovalRequests:Object.values(p7),tools:Q});x1.push(...await _L4({content:V0,tools:Q}));let l6=((r1=I==null?void 0:I.requestBody)!=null?r1:!0)?(y6=y0.request)!=null?y6:{}:{...y0.request,body:void 0},E9={...y0.response,messages:structuredClone(x1),body:((m6=I==null?void 0:I.responseBody)!=null?m6:!0)?(_4=y0.response)==null?void 0:_4.body:void 0},uQ=k.length,q0=new jL4({stepNumber:uQ,model:n1,functionId:U==null?void 0:U.functionId,metadata:U==null?void 0:U.metadata,experimental_context:E,content:V0,finishReason:y0.finishReason.unified,rawFinishReason:y0.finishReason.raw,usage:BL4(y0.usage),warnings:y0.warnings,providerMetadata:y0.providerMetadata,request:l6,response:E9});UR0({warnings:(J8=y0.warnings)!=null?J8:[],provider:n1.provider,model:n1.modelId}),k.push(q0),await(e==null?void 0:e(q0))}finally{if(n!=null)clearTimeout(n)}}while((XX.length>0&&N.length===XX.length||X1.size>0)&&!await SL4({stopConditions:J1,steps:k}));i0.setAttributes(await VN({telemetry:U,attributes:{"ai.response.finishReason":y0.finishReason.unified,"ai.response.text":{output:()=>SC0(y0.content)},"ai.response.reasoning":{output:()=>jC0(y0.content)},"ai.response.toolCalls":{output:()=>{let n=kC0(y0.content);return n==null?void 0:JSON.stringify(n)}},"ai.response.providerMetadata":JSON.stringify(y0.providerMetadata),"ai.usage.promptTokens":y0.usage.inputTokens.total,"ai.usage.completionTokens":y0.usage.outputTokens.total}}));let K1=k[k.length-1],D=k.reduce((n,Z1)=>{return UL4(n,Z1.usage)},{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0,reasoningTokens:void 0,cachedInputTokens:void 0});await(l==null?void 0:l({stepNumber:K1.stepNumber,model:K1.model,functionId:K1.functionId,metadata:K1.metadata,experimental_context:K1.experimental_context,finishReason:K1.finishReason,rawFinishReason:K1.rawFinishReason,usage:K1.usage,content:K1.content,text:K1.text,reasoningText:K1.reasoningText,reasoning:K1.reasoning,files:K1.files,sources:K1.sources,toolCalls:K1.toolCalls,staticToolCalls:K1.staticToolCalls,dynamicToolCalls:K1.dynamicToolCalls,toolResults:K1.toolResults,staticToolResults:K1.staticToolResults,dynamicToolResults:K1.dynamicToolResults,request:K1.request,response:K1.response,warnings:K1.warnings,providerMetadata:K1.providerMetadata,steps:k,totalUsage:D}));let R;if(K1.finishReason==="stop")R=await(B!=null?B:jR0()).parseCompleteOutput({text:K1.text},{response:K1.response,usage:K1.usage,finishReason:K1.finishReason});return new yL4({steps:k,totalUsage:D,output:R})}})}catch(i0){throw KL4(i0)}}async function vC0({toolCalls:Y,tools:Q,tracer:X,telemetry:J,messages:G,abortSignal:K,experimental_context:W,stepNumber:Z,model:H,onToolCallStart:F,onToolCallFinish:$}){return(await Promise.all(Y.map(async(B)=>NL4({toolCall:B,tools:Q,tracer:X,telemetry:J,messages:G,abortSignal:K,experimental_context:W,stepNumber:Z,model:H,onToolCallStart:F,onToolCallFinish:$})))).filter((B)=>B!=null)}function kC0(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 fL4({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 ML4(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 nC0({toolCallId:W.toolCallId,approvalId:W.approvalId});K.push({type:"tool-approval-request",approvalId:W.approvalId,toolCall:Z});break}}return[...K,...X,...J]}function vR0(Y){return({url:Q,abortSignal:X})=>NR0({url:Q,maxBytes:Y==null?void 0:Y.maxBytes,abortSignal:X})}var TR0,qN,kD4,yD4=(Y,Q)=>{for(var X in Q)kD4(Y,X,{get:Q[X],enumerable:!0})},yC0="AI_InvalidArgumentError",fC0,fD4,bC0,xZ,bD4="AI_InvalidStreamPartError",hD4,xD4,gD4,hC0="AI_InvalidToolApprovalError",xC0,uD4,gC0,mD4,uC0="AI_InvalidToolInputError",mC0,lD4,lC0,j31,dC0="AI_ToolCallNotFoundForApprovalError",pC0,dD4,cC0,nC0,iC0="AI_MissingToolResultsError",aC0,pD4,rC0,AC0,cD4="AI_NoImageGeneratedError",nD4,iD4,aD4,oC0="AI_NoObjectGeneratedError",sC0,rD4,tC0,$$,eC0="AI_NoOutputGeneratedError",YR0,oD4,QR0,sD4,tD4="AI_NoSpeechGeneratedError",eD4,YO4,QO4,XO4="AI_NoTranscriptGeneratedError",JO4,GO4,WO4,ZO4="AI_NoVideoGeneratedError",KO4,HO4,FO4,XR0="AI_NoSuchToolError",JR0,$O4,GR0,C31,WR0="AI_ToolCallRepairError",ZR0,VO4,KR0,qO4,BO4,UO4="AI_UIMessageStreamError",zO4,DO4,OO4,LO4="AI_InvalidDataContentError",NO4,MO4,wO4,HR0="AI_InvalidMessageRoleError",FR0,AO4,$R0,PO4,EO4="AI_MessageConversionError",TO4,CO4,RO4,VR0="AI_RetryError",qR0,IO4,BR0,PC0,SO4="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",EC0=!1,UR0=(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(!EC0)EC0=!0,console.info(SO4);for(let X of Y.warnings)console.warn(jO4({warning:X,provider:Y.provider,model:Y.model}))},bO4,hO4=(Y)=>{let Q=typeof Y==="string"?HN(Y):Y,X=(Q[6]&127)<<21|(Q[7]&127)<<14|(Q[8]&127)<<7|Q[9]&127;return Q.slice(X+10)},LR0="6.0.97",NR0=async({url:Y,maxBytes:Q,abortSignal:X})=>{var J;let G=Y.toString();try{let K=await fetch(G,{headers:T3({},`ai-sdk/${LR0}`,ul()),signal:X});if(!K.ok)throw new KN({url:G,statusCode:K.status,statusText:K.statusText});return{data:await lE0({response:K,url:G,maxBytes:Q!=null?Q:W31}),mediaType:(J=K.headers.get("content-type"))!=null?J:void 0}}catch(K){if(KN.isInstance(K))throw K;throw new KN({url:G,cause:K})}},uO4=(Y=NR0)=>(Q)=>Promise.all(Q.map(async(X)=>X.isUrlSupportedByModel?null:Y(X))),MR0,ZR,V6,AR0,rO4,PR0,oO4,sO4,tO4,ER0,eO4,YL4,QL4,XL4,JL4,GL4,WL4,FL4,ol,$L4,DL4=({maxRetries:Y=2,initialDelayInMs:Q=2000,backoffFactor:X=2,abortSignal:J}={})=>async(G)=>IR0(G,{maxRetries:Y,delayInMs:Q,backoffFactor:X,abortSignal:J}),ML4=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=E3(this.uint8ArrayData);return this.base64Data}get uint8Array(){if(this.uint8ArrayData==null)this.uint8ArrayData=HN(this.base64Data);return this.uint8ArrayData}},AL4,jR0=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:Y}){return Y},async parsePartialOutput({text:Y}){return{partial:Y}},createElementStreamTransform(){return}}),EL4=({schema:Y,name:Q,description:X})=>{let J=hZ(Y);return{name:"object",responseFormat:qY(J.jsonSchema).then((G)=>({type:"json",schema:G,...Q!=null&&{name:Q},...X!=null&&{description:X}})),async parseCompleteOutput({text:G},K){let W=await lX({text:G});if(!W.success)throw new $$({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 s5({value:W.value,schema:J});if(!Z.success)throw new $$({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 tl(G);switch(K.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:K.value}}},createElementStreamTransform(){return}}},TL4=({element:Y,name:Q,description:X})=>{let J=hZ(Y);return{name:"array",responseFormat:qY(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 lX({text:G});if(!W.success)throw new $$({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 $$({message:"No object generated: response did not match schema.",cause:new nG({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 F=await s5({value:H,schema:J});if(!F.success)throw new $$({message:"No object generated: response did not match schema.",cause:F.error,text:G,response:K.response,usage:K.usage,finishReason:K.finishReason})}return Z.elements},async parsePartialOutput({text:G}){let K=await tl(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 F of Z){let $=await s5({value:F,schema:J});if($.success)H.push($.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])}})}}},CL4=({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 lX({text:J});if(!K.success)throw new $$({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 $$({message:"No object generated: response did not match schema.",cause:new nG({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 tl(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}}},RL4=({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 lX({text:X});if(!G.success)throw new $$({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 tl(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}}},jL4=class{constructor({stepNumber:Y,model:Q,functionId:X,metadata:J,experimental_context:G,content:K,finishReason:W,rawFinishReason:Z,usage:H,warnings:F,request:$,response:V,providerMetadata:B}){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=F,this.request=$,this.response=V,this.providerMetadata=B}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)}},kL4,yL4=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 sD4;return this._output}},mk8,pk8,ck8,ak8,ok8,tk8,ek8,bL4="AI_NoSuchProviderError",hL4,xL4,gL4,Yy8;var kR0=S(()=>{m4();m4();q8();q8();q8();q8();q8();q8();q8();q8();q8();q8();q8();q8();E31();m4();m4();m4();m4();q8();m4();G4();q8();m4();q8();m4();G4();G4();G4();G4();G4();E31();q8();q8();m4();m4();m4();q8();m4();m4();m4();m4();G4();m4();m4();G4();m4();m4();TR0=s6(J0(),1),qN=s6(J0(),1),kD4=Object.defineProperty,fC0=`vercel.ai.error.${yC0}`,fD4=Symbol.for(fC0),xZ=class extends b0{constructor({parameter:Y,value:Q,message:X}){super({name:yC0,message:`Invalid argument for parameter ${Y}: ${X}`});this[bC0]=!0,this.parameter=Y,this.value=Q}static isInstance(Y){return b0.hasMarker(Y,fC0)}};bC0=fD4;hD4=`vercel.ai.error.${bD4}`,xD4=Symbol.for(hD4);gD4=xD4;xC0=`vercel.ai.error.${hC0}`,uD4=Symbol.for(xC0),mD4=class extends b0{constructor({approvalId:Y}){super({name:hC0,message:`Tool approval response references unknown approvalId: "${Y}". No matching tool-approval-request found in message history.`});this[gC0]=!0,this.approvalId=Y}static isInstance(Y){return b0.hasMarker(Y,xC0)}};gC0=uD4;mC0=`vercel.ai.error.${uC0}`,lD4=Symbol.for(mC0),j31=class extends b0{constructor({toolInput:Y,toolName:Q,cause:X,message:J=`Invalid input for tool ${Q}: ${H$(X)}`}){super({name:uC0,message:J,cause:X});this[lC0]=!0,this.toolInput=Y,this.toolName=Q}static isInstance(Y){return b0.hasMarker(Y,mC0)}};lC0=lD4;pC0=`vercel.ai.error.${dC0}`,dD4=Symbol.for(pC0),nC0=class extends b0{constructor({toolCallId:Y,approvalId:Q}){super({name:dC0,message:`Tool call "${Y}" not found for approval request "${Q}".`});this[cC0]=!0,this.toolCallId=Y,this.approvalId=Q}static isInstance(Y){return b0.hasMarker(Y,pC0)}};cC0=dD4;aC0=`vercel.ai.error.${iC0}`,pD4=Symbol.for(aC0),AC0=class extends b0{constructor({toolCallIds:Y}){super({name:iC0,message:`Tool result${Y.length>1?"s are":" is"} missing for tool call${Y.length>1?"s":""} ${Y.join(", ")}.`});this[rC0]=!0,this.toolCallIds=Y}static isInstance(Y){return b0.hasMarker(Y,aC0)}};rC0=pD4;nD4=`vercel.ai.error.${cD4}`,iD4=Symbol.for(nD4);aD4=iD4;sC0=`vercel.ai.error.${oC0}`,rD4=Symbol.for(sC0),$$=class extends b0{constructor({message:Y="No object generated.",cause:Q,text:X,response:J,usage:G,finishReason:K}){super({name:oC0,message:Y,cause:Q});this[tC0]=!0,this.text=X,this.response=J,this.usage=G,this.finishReason=K}static isInstance(Y){return b0.hasMarker(Y,sC0)}};tC0=rD4;YR0=`vercel.ai.error.${eC0}`,oD4=Symbol.for(YR0),sD4=class extends b0{constructor({message:Y="No output generated.",cause:Q}={}){super({name:eC0,message:Y,cause:Q});this[QR0]=!0}static isInstance(Y){return b0.hasMarker(Y,YR0)}};QR0=oD4;eD4=`vercel.ai.error.${tD4}`,YO4=Symbol.for(eD4);QO4=YO4;JO4=`vercel.ai.error.${XO4}`,GO4=Symbol.for(JO4);WO4=GO4;KO4=`vercel.ai.error.${ZO4}`,HO4=Symbol.for(KO4);FO4=HO4;JR0=`vercel.ai.error.${XR0}`,$O4=Symbol.for(JR0),C31=class extends b0{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:XR0,message:X});this[GR0]=!0,this.toolName=Y,this.availableTools=Q}static isInstance(Y){return b0.hasMarker(Y,JR0)}};GR0=$O4;ZR0=`vercel.ai.error.${WR0}`,VO4=Symbol.for(ZR0),qO4=class extends b0{constructor({cause:Y,originalError:Q,message:X=`Error repairing tool call: ${H$(Y)}`}){super({name:WR0,message:X,cause:Y});this[KR0]=!0,this.originalError=Q}static isInstance(Y){return b0.hasMarker(Y,ZR0)}};KR0=VO4;BO4=class extends b0{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}},zO4=`vercel.ai.error.${UO4}`,DO4=Symbol.for(zO4);OO4=DO4;NO4=`vercel.ai.error.${LO4}`,MO4=Symbol.for(NO4);wO4=MO4;FR0=`vercel.ai.error.${HR0}`,AO4=Symbol.for(FR0),PO4=class extends b0{constructor({role:Y,message:Q=`Invalid message role: '${Y}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:HR0,message:Q});this[$R0]=!0,this.role=Y}static isInstance(Y){return b0.hasMarker(Y,FR0)}};$R0=AO4;TO4=`vercel.ai.error.${EO4}`,CO4=Symbol.for(TO4);RO4=CO4;qR0=`vercel.ai.error.${VR0}`,IO4=Symbol.for(qR0),PC0=class extends b0{constructor({message:Y,reason:Q,errors:X}){super({name:VR0,message:Y});this[BR0]=!0,this.reason=Q,this.errors=X,this.lastError=X[X.length-1]}static isInstance(Y){return b0.hasMarker(Y,qR0)}};BR0=IO4;bO4=[{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]}];MR0=q.union([q.string(),q.instanceof(Uint8Array),q.instanceof(ArrayBuffer),q.custom((Y)=>{var Q,X;return(X=(Q=globalThis.Buffer)==null?void 0:Q.isBuffer(Y))!=null?X:!1},{message:"Must be a Buffer"})]);ZR=q.lazy(()=>q.union([q.null(),q.string(),q.number(),q.boolean(),q.record(q.string(),ZR.optional()),q.array(ZR)])),V6=q.record(q.string(),q.record(q.string(),ZR.optional())),AR0=q.object({type:q.literal("text"),text:q.string(),providerOptions:V6.optional()}),rO4=q.object({type:q.literal("image"),image:q.union([MR0,q.instanceof(URL)]),mediaType:q.string().optional(),providerOptions:V6.optional()}),PR0=q.object({type:q.literal("file"),data:q.union([MR0,q.instanceof(URL)]),filename:q.string().optional(),mediaType:q.string(),providerOptions:V6.optional()}),oO4=q.object({type:q.literal("reasoning"),text:q.string(),providerOptions:V6.optional()}),sO4=q.object({type:q.literal("tool-call"),toolCallId:q.string(),toolName:q.string(),input:q.unknown(),providerOptions:V6.optional(),providerExecuted:q.boolean().optional()}),tO4=q.discriminatedUnion("type",[q.object({type:q.literal("text"),value:q.string(),providerOptions:V6.optional()}),q.object({type:q.literal("json"),value:ZR,providerOptions:V6.optional()}),q.object({type:q.literal("execution-denied"),reason:q.string().optional(),providerOptions:V6.optional()}),q.object({type:q.literal("error-text"),value:q.string(),providerOptions:V6.optional()}),q.object({type:q.literal("error-json"),value:ZR,providerOptions:V6.optional()}),q.object({type:q.literal("content"),value:q.array(q.union([q.object({type:q.literal("text"),text:q.string(),providerOptions:V6.optional()}),q.object({type:q.literal("media"),data:q.string(),mediaType:q.string()}),q.object({type:q.literal("file-data"),data:q.string(),mediaType:q.string(),filename:q.string().optional(),providerOptions:V6.optional()}),q.object({type:q.literal("file-url"),url:q.string(),providerOptions:V6.optional()}),q.object({type:q.literal("file-id"),fileId:q.union([q.string(),q.record(q.string(),q.string())]),providerOptions:V6.optional()}),q.object({type:q.literal("image-data"),data:q.string(),mediaType:q.string(),providerOptions:V6.optional()}),q.object({type:q.literal("image-url"),url:q.string(),providerOptions:V6.optional()}),q.object({type:q.literal("image-file-id"),fileId:q.union([q.string(),q.record(q.string(),q.string())]),providerOptions:V6.optional()}),q.object({type:q.literal("custom"),providerOptions:V6.optional()})]))})]),ER0=q.object({type:q.literal("tool-result"),toolCallId:q.string(),toolName:q.string(),output:tO4,providerOptions:V6.optional()}),eO4=q.object({type:q.literal("tool-approval-request"),approvalId:q.string(),toolCallId:q.string()}),YL4=q.object({type:q.literal("tool-approval-response"),approvalId:q.string(),approved:q.boolean(),reason:q.string().optional()}),QL4=q.object({role:q.literal("system"),content:q.string(),providerOptions:V6.optional()}),XL4=q.object({role:q.literal("user"),content:q.union([q.string(),q.array(q.union([AR0,rO4,PR0]))]),providerOptions:V6.optional()}),JL4=q.object({role:q.literal("assistant"),content:q.union([q.string(),q.array(q.union([AR0,PR0,oO4,sO4,ER0,eO4]))]),providerOptions:V6.optional()}),GL4=q.object({role:q.literal("tool"),content:q.array(q.union([ER0,YL4])),providerOptions:V6.optional()}),WL4=q.union([QL4,XL4,JL4,GL4]);FL4={startSpan(){return ol},startActiveSpan(Y,Q,X,J){if(typeof Q==="function")return Q(ol);if(typeof X==="function")return X(ol);if(typeof J==="function")return J(ol)}},ol={spanContext(){return $L4},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}},$L4={traceId:"",spanId:"",traceFlags:0};AL4={};yD4(AL4,{array:()=>TL4,choice:()=>CL4,json:()=>RL4,object:()=>EL4,text:()=>jR0});kL4=bZ({prefix:"aitxt",size:24});mk8=class extends TransformStream{constructor(){super({transform(Y,Q){Q.enqueue(`data: ${JSON.stringify(Y)}
|
|
1286
|
+
`)}function SC0(Y){let Q=Y.filter((X)=>X.type==="text");if(Q.length===0)return;return Q.map((X)=>X.text).join("")}async function wL4({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 PL4(Y){let Q=["ROOT"],X=-1,J=null;function G(H,F,$){switch(H){case'"':{X=F,Q.pop(),Q.push($),Q.push("INSIDE_STRING");break}case"f":case"t":case"n":{X=F,J=F,Q.pop(),Q.push($),Q.push("INSIDE_LITERAL");break}case"-":{Q.pop(),Q.push($),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=F,Q.pop(),Q.push($),Q.push("INSIDE_NUMBER");break}case"{":{X=F,Q.pop(),Q.push($),Q.push("INSIDE_OBJECT_START");break}case"[":{X=F,Q.pop(),Q.push($),Q.push("INSIDE_ARRAY_START");break}}}function K(H,F){switch(H){case",":{Q.pop(),Q.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{X=F,Q.pop();break}}}function W(H,F){switch(H){case",":{Q.pop(),Q.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{X=F,Q.pop();break}}}for(let H=0;H<Y.length;H++){let F=Y[H];switch(Q[Q.length-1]){case"ROOT":G(F,H,"FINISH");break;case"INSIDE_OBJECT_START":{switch(F){case'"':{Q.pop(),Q.push("INSIDE_OBJECT_KEY");break}case"}":{X=H,Q.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch(F){case'"':{Q.pop(),Q.push("INSIDE_OBJECT_KEY");break}}break}case"INSIDE_OBJECT_KEY":{switch(F){case'"':{Q.pop(),Q.push("INSIDE_OBJECT_AFTER_KEY");break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch(F){case":":{Q.pop(),Q.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{G(F,H,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{K(F,H);break}case"INSIDE_STRING":{switch(F){case'"':{Q.pop(),X=H;break}case"\\":{Q.push("INSIDE_STRING_ESCAPE");break}default:X=H}break}case"INSIDE_ARRAY_START":{switch(F){case"]":{X=H,Q.pop();break}default:{X=H,G(F,H,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(F){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(F,H,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{Q.pop(),X=H;break}case"INSIDE_NUMBER":{switch(F){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(F,H);if(Q[Q.length-1]==="INSIDE_OBJECT_AFTER_VALUE")K(F,H);break}case"}":{if(Q.pop(),Q[Q.length-1]==="INSIDE_OBJECT_AFTER_VALUE")K(F,H);break}case"]":{if(Q.pop(),Q[Q.length-1]==="INSIDE_ARRAY_AFTER_VALUE")W(F,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(F,H);else if(Q[Q.length-1]==="INSIDE_ARRAY_AFTER_VALUE")W(F,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 $=Y.substring(J,Y.length);if("true".startsWith($))Z+="true".slice($.length);else if("false".startsWith($))Z+="false".slice($.length);else if("null".startsWith($))Z+="null".slice($.length)}}return Z}async function tl(Y){if(Y===void 0)return{value:void 0,state:"undefined-input"};let Q=await lX({text:Y});if(Q.success)return{value:Q.value,state:"successful-parse"};if(Q=await lX({text:PL4(Y)}),Q.success)return{value:Q.value,state:"repaired-parse"};return{value:void 0,state:"failed-parse"}}async function IL4({toolCall:Y,tools:Q,repairToolCall:X,system:J,messages:G}){var K;try{if(Q==null){if(Y.providerExecuted&&Y.dynamic)return await SR0(Y);throw new C31({toolName:Y.toolName})}try{return await _C0({toolCall:Y,tools:Q})}catch(W){if(X==null||!(C31.isInstance(W)||j31.isInstance(W)))throw W;let Z=null;try{Z=await X({toolCall:Y,tools:Q,inputSchema:async({toolName:H})=>{let{inputSchema:F}=Q[H];return await hZ(F).jsonSchema},system:J,messages:G,error:W})}catch(H){throw new qO4({cause:H,originalError:W})}if(Z==null)throw W;return await _C0({toolCall:Z,tools:Q})}}catch(W){let Z=await lX({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 SR0(Y){let Q=Y.input.trim()===""?{success:!0,value:{}}:await lX({text:Y.input});if(Q.success===!1)throw new j31({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 _C0({toolCall:Y,tools:Q}){let X=Y.toolName,J=Q[X];if(J==null){if(Y.providerExecuted&&Y.dynamic)return await SR0(Y);throw new C31({toolName:Y.toolName,availableTools:Object.keys(Q)})}let G=hZ(J.inputSchema),K=Y.input.trim()===""?await s5({value:{},schema:G}):await lX({text:Y.input,schema:G});if(K.success===!1)throw new j31({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 _31(Y){return({steps:Q})=>Q.length===Y}async function SL4({stopConditions:Y,steps:Q}){return(await Promise.all(Y.map((X)=>X({steps:Q})))).some((X)=>X)}async function _L4({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 sl({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 sl({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 sl({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 vL4(...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 _R0({model:Y,tools:Q,toolChoice:X,system:J,prompt:G,messages:K,maxRetries:W,abortSignal:Z,timeout:H,headers:F,stopWhen:$=_31(1),experimental_output:V,output:B=V,experimental_telemetry:U,providerOptions:z,experimental_activeTools:O,activeTools:M=O,experimental_prepareStep:w,prepareStep:P=w,experimental_repairToolCall:j,experimental_download:C,experimental_context:E,experimental_include:I,_internal:{generateId:v=kL4}={},experimental_onStart:y,experimental_onStepStart:b,experimental_onToolCallStart:h,experimental_onToolCallFinish:x,onStepFinish:e,onFinish:l,...f}){let c=TC0(Y),J1=S31($),Y1=OR0(H),U1=fO4(H),T1=U1!=null?new AbortController:void 0,B1=vL4(Z,Y1!=null?AbortSignal.timeout(Y1):void 0,T1==null?void 0:T1.signal),{maxRetries:C1,retry:k1}=OL4({maxRetries:W,abortSignal:B1}),a1=IC0(f),E0=T3(F!=null?F:{},`ai/${LR0}`),P1=HL4({model:c,telemetry:U,headers:E0,settings:{...a1,maxRetries:C1}}),V1={provider:c.provider,modelId:c.modelId},m1=await ZL4({system:J,prompt:G,messages:K});try{await(y==null?void 0:y({model:V1,system:J,prompt:G,messages:K,tools:Q,toolChoice:X,activeTools:M,maxOutputTokens:a1.maxOutputTokens,temperature:a1.temperature,topP:a1.topP,topK:a1.topK,presencePenalty:a1.presencePenalty,frequencyPenalty:a1.frequencyPenalty,stopSequences:a1.stopSequences,seed:a1.seed,maxRetries:C1,timeout:H,headers:F,providerOptions:z,stopWhen:$,output:B,abortSignal:Z,include:I,functionId:U==null?void 0:U.functionId,metadata:U==null?void 0:U.metadata,experimental_context:E}))}catch(i0){}let Q6=VL4(U);try{return await I31({name:"ai.generateText",attributes:VN({telemetry:U,attributes:{...R31({operationId:"ai.generateText",telemetry:U}),...P1,"ai.model.provider":c.provider,"ai.model.id":c.modelId,"ai.prompt":{input:()=>JSON.stringify({system:J,prompt:G,messages:K})}}}),tracer:Q6,fn:async(i0)=>{var t1,R1,z1,f1,L1,E1,O0,c1,r1,y6,m6,_4,J8;let A0=m1.messages,x1=[],{approvedToolApprovals:L0,deniedToolApprovals:G8}=LL4({messages:A0}),p8=L0.filter((n)=>!n.toolCall.providerExecuted);if(G8.length>0||p8.length>0){let n=await vC0({toolCalls:p8.map((W1)=>W1.toolCall),tools:Q,tracer:Q6,telemetry:U,messages:A0,abortSignal:B1,experimental_context:E,stepNumber:0,model:V1,onToolCallStart:h,onToolCallFinish:x}),Z1=[];for(let W1 of n){let a=await sl({toolCallId:W1.toolCallId,input:W1.input,tool:Q==null?void 0:Q[W1.toolName],output:W1.type==="tool-result"?W1.output:W1.error,errorMode:W1.type==="tool-error"?"json":"none"});Z1.push({type:"tool-result",toolCallId:W1.toolCallId,toolName:W1.toolName,output:a})}for(let W1 of G8)Z1.push({type:"tool-result",toolCallId:W1.toolCall.toolCallId,toolName:W1.toolCall.toolName,output:{type:"execution-denied",reason:W1.approvalResponse.reason,...W1.toolCall.providerExecuted&&{providerOptions:{openai:{approvalId:W1.approvalResponse.approvalId}}}}});x1.push({role:"tool",content:Z1})}let e9=[...L0,...G8].filter((n)=>n.toolCall.providerExecuted);if(e9.length>0)x1.push({role:"tool",content:e9.map((n)=>({type:"tool-approval-response",approvalId:n.approvalResponse.approvalId,approved:n.approvalResponse.approved,reason:n.approvalResponse.reason,providerExecuted:!0}))});let q6=IC0(f),y0,XX=[],N=[],k=[],X1=new Map;do{let n=U1!=null?setTimeout(()=>T1.abort(),U1):void 0;try{let Z1=[...A0,...x1],W1=await(P==null?void 0:P({model:c,steps:k,stepNumber:k.length,messages:Z1,experimental_context:E})),a=TC0((t1=W1==null?void 0:W1.model)!=null?t1:c),n1={provider:a.provider,modelId:a.modelId},d0=await dO4({prompt:{system:(R1=W1==null?void 0:W1.system)!=null?R1:m1.system,messages:(z1=W1==null?void 0:W1.messages)!=null?z1:Z1},supportedUrls:await a.supportedUrls,download:C});E=(f1=W1==null?void 0:W1.experimental_context)!=null?f1:E;let B6=(L1=W1==null?void 0:W1.activeTools)!=null?L1:M,{toolChoice:s1,tools:o0}=await aO4({tools:Q,toolChoice:(E1=W1==null?void 0:W1.toolChoice)!=null?E1:X,activeTools:B6}),O9=(O0=W1==null?void 0:W1.messages)!=null?O0:Z1,UY=(c1=W1==null?void 0:W1.system)!=null?c1:m1.system,e6=RR0(z,W1==null?void 0:W1.providerOptions);try{await(b==null?void 0:b({stepNumber:k.length,model:n1,system:UY,messages:O9,tools:Q,toolChoice:s1,activeTools:B6,steps:[...k],providerOptions:e6,timeout:H,headers:F,stopWhen:$,output:B,abortSignal:Z,include:I,functionId:U==null?void 0:U.functionId,metadata:U==null?void 0:U.metadata,experimental_context:E}))}catch(T0){}y0=await k1(()=>{var T0;return I31({name:"ai.generateText.doGenerate",attributes:VN({telemetry:U,attributes:{...R31({operationId:"ai.generateText.doGenerate",telemetry:U}),...P1,"ai.model.provider":a.provider,"ai.model.id":a.modelId,"ai.prompt.messages":{input:()=>qL4(d0)},"ai.prompt.tools":{input:()=>o0==null?void 0:o0.map((l4)=>JSON.stringify(l4))},"ai.prompt.toolChoice":{input:()=>s1!=null?JSON.stringify(s1):void 0},"gen_ai.system":a.provider,"gen_ai.request.model":a.modelId,"gen_ai.request.frequency_penalty":f.frequencyPenalty,"gen_ai.request.max_tokens":f.maxOutputTokens,"gen_ai.request.presence_penalty":f.presencePenalty,"gen_ai.request.stop_sequences":f.stopSequences,"gen_ai.request.temperature":(T0=f.temperature)!=null?T0:void 0,"gen_ai.request.top_k":f.topK,"gen_ai.request.top_p":f.topP}}),tracer:Q6,fn:async(l4)=>{var mQ,c7,HU,FU,$U,VU,qU,BU;let QY=await a.doGenerate({...q6,tools:o0,toolChoice:s1,responseFormat:await(B==null?void 0:B.responseFormat),prompt:d0,providerOptions:e6,abortSignal:B1,headers:E0}),c3={id:(c7=(mQ=QY.response)==null?void 0:mQ.id)!=null?c7:v(),timestamp:(FU=(HU=QY.response)==null?void 0:HU.timestamp)!=null?FU:new Date,modelId:(VU=($U=QY.response)==null?void 0:$U.modelId)!=null?VU:a.modelId,headers:(qU=QY.response)==null?void 0:qU.headers,body:(BU=QY.response)==null?void 0:BU.body};return l4.setAttributes(await VN({telemetry:U,attributes:{"ai.response.finishReason":QY.finishReason.unified,"ai.response.text":{output:()=>SC0(QY.content)},"ai.response.reasoning":{output:()=>jC0(QY.content)},"ai.response.toolCalls":{output:()=>{let KI=kC0(QY.content);return KI==null?void 0:JSON.stringify(KI)}},"ai.response.id":c3.id,"ai.response.model":c3.modelId,"ai.response.timestamp":c3.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(QY.providerMetadata),"ai.usage.promptTokens":QY.usage.inputTokens.total,"ai.usage.completionTokens":QY.usage.outputTokens.total,"gen_ai.response.finish_reasons":[QY.finishReason.unified],"gen_ai.response.id":c3.id,"gen_ai.response.model":c3.modelId,"gen_ai.usage.input_tokens":QY.usage.inputTokens.total,"gen_ai.usage.output_tokens":QY.usage.outputTokens.total}})),{...QY,response:c3}}})});let YY=await Promise.all(y0.content.filter((T0)=>T0.type==="tool-call").map((T0)=>IL4({toolCall:T0,tools:Q,repairToolCall:j,system:J,messages:Z1}))),p7={};for(let T0 of YY){if(T0.invalid)continue;let l4=Q==null?void 0:Q[T0.toolName];if(l4==null)continue;if((l4==null?void 0:l4.onInputAvailable)!=null)await l4.onInputAvailable({input:T0.input,toolCallId:T0.toolCallId,messages:Z1,abortSignal:B1,experimental_context:E});if(await wL4({tool:l4,toolCall:T0,messages:Z1,experimental_context:E}))p7[T0.toolCallId]={type:"tool-approval-request",approvalId:v(),toolCall:T0}}let YW=YY.filter((T0)=>T0.invalid&&T0.dynamic);N=[];for(let T0 of YW)N.push({type:"tool-error",toolCallId:T0.toolCallId,toolName:T0.toolName,input:T0.input,error:gl(T0.error),dynamic:!0});if(XX=YY.filter((T0)=>!T0.providerExecuted),Q!=null)N.push(...await vC0({toolCalls:XX.filter((T0)=>!T0.invalid&&p7[T0.toolCallId]==null),tools:Q,tracer:Q6,telemetry:U,messages:Z1,abortSignal:B1,experimental_context:E,stepNumber:k.length,model:n1,onToolCallStart:h,onToolCallFinish:x}));for(let T0 of YY){if(!T0.providerExecuted)continue;let l4=Q==null?void 0:Q[T0.toolName];if((l4==null?void 0:l4.type)==="provider"&&l4.supportsDeferredResults){if(!y0.content.some((c7)=>c7.type==="tool-result"&&c7.toolCallId===T0.toolCallId))X1.set(T0.toolCallId,{toolName:T0.toolName})}}for(let T0 of y0.content)if(T0.type==="tool-result")X1.delete(T0.toolCallId);let V0=fL4({content:y0.content,toolCalls:YY,toolOutputs:N,toolApprovalRequests:Object.values(p7),tools:Q});x1.push(...await _L4({content:V0,tools:Q}));let l6=((r1=I==null?void 0:I.requestBody)!=null?r1:!0)?(y6=y0.request)!=null?y6:{}:{...y0.request,body:void 0},E9={...y0.response,messages:structuredClone(x1),body:((m6=I==null?void 0:I.responseBody)!=null?m6:!0)?(_4=y0.response)==null?void 0:_4.body:void 0},uQ=k.length,q0=new jL4({stepNumber:uQ,model:n1,functionId:U==null?void 0:U.functionId,metadata:U==null?void 0:U.metadata,experimental_context:E,content:V0,finishReason:y0.finishReason.unified,rawFinishReason:y0.finishReason.raw,usage:BL4(y0.usage),warnings:y0.warnings,providerMetadata:y0.providerMetadata,request:l6,response:E9});UR0({warnings:(J8=y0.warnings)!=null?J8:[],provider:n1.provider,model:n1.modelId}),k.push(q0),await(e==null?void 0:e(q0))}finally{if(n!=null)clearTimeout(n)}}while((XX.length>0&&N.length===XX.length||X1.size>0)&&!await SL4({stopConditions:J1,steps:k}));i0.setAttributes(await VN({telemetry:U,attributes:{"ai.response.finishReason":y0.finishReason.unified,"ai.response.text":{output:()=>SC0(y0.content)},"ai.response.reasoning":{output:()=>jC0(y0.content)},"ai.response.toolCalls":{output:()=>{let n=kC0(y0.content);return n==null?void 0:JSON.stringify(n)}},"ai.response.providerMetadata":JSON.stringify(y0.providerMetadata),"ai.usage.promptTokens":y0.usage.inputTokens.total,"ai.usage.completionTokens":y0.usage.outputTokens.total}}));let K1=k[k.length-1],D=k.reduce((n,Z1)=>{return UL4(n,Z1.usage)},{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0,reasoningTokens:void 0,cachedInputTokens:void 0});await(l==null?void 0:l({stepNumber:K1.stepNumber,model:K1.model,functionId:K1.functionId,metadata:K1.metadata,experimental_context:K1.experimental_context,finishReason:K1.finishReason,rawFinishReason:K1.rawFinishReason,usage:K1.usage,content:K1.content,text:K1.text,reasoningText:K1.reasoningText,reasoning:K1.reasoning,files:K1.files,sources:K1.sources,toolCalls:K1.toolCalls,staticToolCalls:K1.staticToolCalls,dynamicToolCalls:K1.dynamicToolCalls,toolResults:K1.toolResults,staticToolResults:K1.staticToolResults,dynamicToolResults:K1.dynamicToolResults,request:K1.request,response:K1.response,warnings:K1.warnings,providerMetadata:K1.providerMetadata,steps:k,totalUsage:D}));let R;if(K1.finishReason==="stop")R=await(B!=null?B:jR0()).parseCompleteOutput({text:K1.text},{response:K1.response,usage:K1.usage,finishReason:K1.finishReason});return new yL4({steps:k,totalUsage:D,output:R})}})}catch(i0){throw KL4(i0)}}async function vC0({toolCalls:Y,tools:Q,tracer:X,telemetry:J,messages:G,abortSignal:K,experimental_context:W,stepNumber:Z,model:H,onToolCallStart:F,onToolCallFinish:$}){return(await Promise.all(Y.map(async(B)=>NL4({toolCall:B,tools:Q,tracer:X,telemetry:J,messages:G,abortSignal:K,experimental_context:W,stepNumber:Z,model:H,onToolCallStart:F,onToolCallFinish:$})))).filter((B)=>B!=null)}function kC0(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 fL4({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 ML4(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 nC0({toolCallId:W.toolCallId,approvalId:W.approvalId});K.push({type:"tool-approval-request",approvalId:W.approvalId,toolCall:Z});break}}return[...K,...X,...J]}function vR0(Y){return({url:Q,abortSignal:X})=>NR0({url:Q,maxBytes:Y==null?void 0:Y.maxBytes,abortSignal:X})}var TR0,qN,kD4,yD4=(Y,Q)=>{for(var X in Q)kD4(Y,X,{get:Q[X],enumerable:!0})},yC0="AI_InvalidArgumentError",fC0,fD4,bC0,xZ,bD4="AI_InvalidStreamPartError",hD4,xD4,gD4,hC0="AI_InvalidToolApprovalError",xC0,uD4,gC0,mD4,uC0="AI_InvalidToolInputError",mC0,lD4,lC0,j31,dC0="AI_ToolCallNotFoundForApprovalError",pC0,dD4,cC0,nC0,iC0="AI_MissingToolResultsError",aC0,pD4,rC0,AC0,cD4="AI_NoImageGeneratedError",nD4,iD4,aD4,oC0="AI_NoObjectGeneratedError",sC0,rD4,tC0,$$,eC0="AI_NoOutputGeneratedError",YR0,oD4,QR0,sD4,tD4="AI_NoSpeechGeneratedError",eD4,YO4,QO4,XO4="AI_NoTranscriptGeneratedError",JO4,GO4,WO4,ZO4="AI_NoVideoGeneratedError",KO4,HO4,FO4,XR0="AI_NoSuchToolError",JR0,$O4,GR0,C31,WR0="AI_ToolCallRepairError",ZR0,VO4,KR0,qO4,BO4,UO4="AI_UIMessageStreamError",zO4,DO4,OO4,LO4="AI_InvalidDataContentError",NO4,MO4,wO4,HR0="AI_InvalidMessageRoleError",FR0,AO4,$R0,PO4,EO4="AI_MessageConversionError",TO4,CO4,RO4,VR0="AI_RetryError",qR0,IO4,BR0,PC0,SO4="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",EC0=!1,UR0=(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(!EC0)EC0=!0,console.info(SO4);for(let X of Y.warnings)console.warn(jO4({warning:X,provider:Y.provider,model:Y.model}))},bO4,hO4=(Y)=>{let Q=typeof Y==="string"?HN(Y):Y,X=(Q[6]&127)<<21|(Q[7]&127)<<14|(Q[8]&127)<<7|Q[9]&127;return Q.slice(X+10)},LR0="6.0.98",NR0=async({url:Y,maxBytes:Q,abortSignal:X})=>{var J;let G=Y.toString();try{let K=await fetch(G,{headers:T3({},`ai-sdk/${LR0}`,ul()),signal:X});if(!K.ok)throw new KN({url:G,statusCode:K.status,statusText:K.statusText});return{data:await lE0({response:K,url:G,maxBytes:Q!=null?Q:W31}),mediaType:(J=K.headers.get("content-type"))!=null?J:void 0}}catch(K){if(KN.isInstance(K))throw K;throw new KN({url:G,cause:K})}},uO4=(Y=NR0)=>(Q)=>Promise.all(Q.map(async(X)=>X.isUrlSupportedByModel?null:Y(X))),MR0,ZR,V6,AR0,rO4,PR0,oO4,sO4,tO4,ER0,eO4,YL4,QL4,XL4,JL4,GL4,WL4,FL4,ol,$L4,DL4=({maxRetries:Y=2,initialDelayInMs:Q=2000,backoffFactor:X=2,abortSignal:J}={})=>async(G)=>IR0(G,{maxRetries:Y,delayInMs:Q,backoffFactor:X,abortSignal:J}),ML4=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=E3(this.uint8ArrayData);return this.base64Data}get uint8Array(){if(this.uint8ArrayData==null)this.uint8ArrayData=HN(this.base64Data);return this.uint8ArrayData}},AL4,jR0=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:Y}){return Y},async parsePartialOutput({text:Y}){return{partial:Y}},createElementStreamTransform(){return}}),EL4=({schema:Y,name:Q,description:X})=>{let J=hZ(Y);return{name:"object",responseFormat:qY(J.jsonSchema).then((G)=>({type:"json",schema:G,...Q!=null&&{name:Q},...X!=null&&{description:X}})),async parseCompleteOutput({text:G},K){let W=await lX({text:G});if(!W.success)throw new $$({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 s5({value:W.value,schema:J});if(!Z.success)throw new $$({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 tl(G);switch(K.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:K.value}}},createElementStreamTransform(){return}}},TL4=({element:Y,name:Q,description:X})=>{let J=hZ(Y);return{name:"array",responseFormat:qY(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 lX({text:G});if(!W.success)throw new $$({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 $$({message:"No object generated: response did not match schema.",cause:new nG({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 F=await s5({value:H,schema:J});if(!F.success)throw new $$({message:"No object generated: response did not match schema.",cause:F.error,text:G,response:K.response,usage:K.usage,finishReason:K.finishReason})}return Z.elements},async parsePartialOutput({text:G}){let K=await tl(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 F of Z){let $=await s5({value:F,schema:J});if($.success)H.push($.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])}})}}},CL4=({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 lX({text:J});if(!K.success)throw new $$({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 $$({message:"No object generated: response did not match schema.",cause:new nG({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 tl(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}}},RL4=({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 lX({text:X});if(!G.success)throw new $$({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 tl(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}}},jL4=class{constructor({stepNumber:Y,model:Q,functionId:X,metadata:J,experimental_context:G,content:K,finishReason:W,rawFinishReason:Z,usage:H,warnings:F,request:$,response:V,providerMetadata:B}){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=F,this.request=$,this.response=V,this.providerMetadata=B}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)}},kL4,yL4=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 sD4;return this._output}},mk8,pk8,ck8,ak8,ok8,tk8,ek8,bL4="AI_NoSuchProviderError",hL4,xL4,gL4,Yy8;var kR0=S(()=>{m4();m4();q8();q8();q8();q8();q8();q8();q8();q8();q8();q8();q8();q8();E31();m4();m4();m4();m4();q8();m4();G4();q8();m4();q8();m4();G4();G4();G4();G4();G4();E31();q8();q8();m4();m4();m4();q8();m4();m4();m4();m4();G4();m4();m4();G4();m4();m4();TR0=s6(J0(),1),qN=s6(J0(),1),kD4=Object.defineProperty,fC0=`vercel.ai.error.${yC0}`,fD4=Symbol.for(fC0),xZ=class extends b0{constructor({parameter:Y,value:Q,message:X}){super({name:yC0,message:`Invalid argument for parameter ${Y}: ${X}`});this[bC0]=!0,this.parameter=Y,this.value=Q}static isInstance(Y){return b0.hasMarker(Y,fC0)}};bC0=fD4;hD4=`vercel.ai.error.${bD4}`,xD4=Symbol.for(hD4);gD4=xD4;xC0=`vercel.ai.error.${hC0}`,uD4=Symbol.for(xC0),mD4=class extends b0{constructor({approvalId:Y}){super({name:hC0,message:`Tool approval response references unknown approvalId: "${Y}". No matching tool-approval-request found in message history.`});this[gC0]=!0,this.approvalId=Y}static isInstance(Y){return b0.hasMarker(Y,xC0)}};gC0=uD4;mC0=`vercel.ai.error.${uC0}`,lD4=Symbol.for(mC0),j31=class extends b0{constructor({toolInput:Y,toolName:Q,cause:X,message:J=`Invalid input for tool ${Q}: ${H$(X)}`}){super({name:uC0,message:J,cause:X});this[lC0]=!0,this.toolInput=Y,this.toolName=Q}static isInstance(Y){return b0.hasMarker(Y,mC0)}};lC0=lD4;pC0=`vercel.ai.error.${dC0}`,dD4=Symbol.for(pC0),nC0=class extends b0{constructor({toolCallId:Y,approvalId:Q}){super({name:dC0,message:`Tool call "${Y}" not found for approval request "${Q}".`});this[cC0]=!0,this.toolCallId=Y,this.approvalId=Q}static isInstance(Y){return b0.hasMarker(Y,pC0)}};cC0=dD4;aC0=`vercel.ai.error.${iC0}`,pD4=Symbol.for(aC0),AC0=class extends b0{constructor({toolCallIds:Y}){super({name:iC0,message:`Tool result${Y.length>1?"s are":" is"} missing for tool call${Y.length>1?"s":""} ${Y.join(", ")}.`});this[rC0]=!0,this.toolCallIds=Y}static isInstance(Y){return b0.hasMarker(Y,aC0)}};rC0=pD4;nD4=`vercel.ai.error.${cD4}`,iD4=Symbol.for(nD4);aD4=iD4;sC0=`vercel.ai.error.${oC0}`,rD4=Symbol.for(sC0),$$=class extends b0{constructor({message:Y="No object generated.",cause:Q,text:X,response:J,usage:G,finishReason:K}){super({name:oC0,message:Y,cause:Q});this[tC0]=!0,this.text=X,this.response=J,this.usage=G,this.finishReason=K}static isInstance(Y){return b0.hasMarker(Y,sC0)}};tC0=rD4;YR0=`vercel.ai.error.${eC0}`,oD4=Symbol.for(YR0),sD4=class extends b0{constructor({message:Y="No output generated.",cause:Q}={}){super({name:eC0,message:Y,cause:Q});this[QR0]=!0}static isInstance(Y){return b0.hasMarker(Y,YR0)}};QR0=oD4;eD4=`vercel.ai.error.${tD4}`,YO4=Symbol.for(eD4);QO4=YO4;JO4=`vercel.ai.error.${XO4}`,GO4=Symbol.for(JO4);WO4=GO4;KO4=`vercel.ai.error.${ZO4}`,HO4=Symbol.for(KO4);FO4=HO4;JR0=`vercel.ai.error.${XR0}`,$O4=Symbol.for(JR0),C31=class extends b0{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:XR0,message:X});this[GR0]=!0,this.toolName=Y,this.availableTools=Q}static isInstance(Y){return b0.hasMarker(Y,JR0)}};GR0=$O4;ZR0=`vercel.ai.error.${WR0}`,VO4=Symbol.for(ZR0),qO4=class extends b0{constructor({cause:Y,originalError:Q,message:X=`Error repairing tool call: ${H$(Y)}`}){super({name:WR0,message:X,cause:Y});this[KR0]=!0,this.originalError=Q}static isInstance(Y){return b0.hasMarker(Y,ZR0)}};KR0=VO4;BO4=class extends b0{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}},zO4=`vercel.ai.error.${UO4}`,DO4=Symbol.for(zO4);OO4=DO4;NO4=`vercel.ai.error.${LO4}`,MO4=Symbol.for(NO4);wO4=MO4;FR0=`vercel.ai.error.${HR0}`,AO4=Symbol.for(FR0),PO4=class extends b0{constructor({role:Y,message:Q=`Invalid message role: '${Y}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:HR0,message:Q});this[$R0]=!0,this.role=Y}static isInstance(Y){return b0.hasMarker(Y,FR0)}};$R0=AO4;TO4=`vercel.ai.error.${EO4}`,CO4=Symbol.for(TO4);RO4=CO4;qR0=`vercel.ai.error.${VR0}`,IO4=Symbol.for(qR0),PC0=class extends b0{constructor({message:Y,reason:Q,errors:X}){super({name:VR0,message:Y});this[BR0]=!0,this.reason=Q,this.errors=X,this.lastError=X[X.length-1]}static isInstance(Y){return b0.hasMarker(Y,qR0)}};BR0=IO4;bO4=[{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]}];MR0=q.union([q.string(),q.instanceof(Uint8Array),q.instanceof(ArrayBuffer),q.custom((Y)=>{var Q,X;return(X=(Q=globalThis.Buffer)==null?void 0:Q.isBuffer(Y))!=null?X:!1},{message:"Must be a Buffer"})]);ZR=q.lazy(()=>q.union([q.null(),q.string(),q.number(),q.boolean(),q.record(q.string(),ZR.optional()),q.array(ZR)])),V6=q.record(q.string(),q.record(q.string(),ZR.optional())),AR0=q.object({type:q.literal("text"),text:q.string(),providerOptions:V6.optional()}),rO4=q.object({type:q.literal("image"),image:q.union([MR0,q.instanceof(URL)]),mediaType:q.string().optional(),providerOptions:V6.optional()}),PR0=q.object({type:q.literal("file"),data:q.union([MR0,q.instanceof(URL)]),filename:q.string().optional(),mediaType:q.string(),providerOptions:V6.optional()}),oO4=q.object({type:q.literal("reasoning"),text:q.string(),providerOptions:V6.optional()}),sO4=q.object({type:q.literal("tool-call"),toolCallId:q.string(),toolName:q.string(),input:q.unknown(),providerOptions:V6.optional(),providerExecuted:q.boolean().optional()}),tO4=q.discriminatedUnion("type",[q.object({type:q.literal("text"),value:q.string(),providerOptions:V6.optional()}),q.object({type:q.literal("json"),value:ZR,providerOptions:V6.optional()}),q.object({type:q.literal("execution-denied"),reason:q.string().optional(),providerOptions:V6.optional()}),q.object({type:q.literal("error-text"),value:q.string(),providerOptions:V6.optional()}),q.object({type:q.literal("error-json"),value:ZR,providerOptions:V6.optional()}),q.object({type:q.literal("content"),value:q.array(q.union([q.object({type:q.literal("text"),text:q.string(),providerOptions:V6.optional()}),q.object({type:q.literal("media"),data:q.string(),mediaType:q.string()}),q.object({type:q.literal("file-data"),data:q.string(),mediaType:q.string(),filename:q.string().optional(),providerOptions:V6.optional()}),q.object({type:q.literal("file-url"),url:q.string(),providerOptions:V6.optional()}),q.object({type:q.literal("file-id"),fileId:q.union([q.string(),q.record(q.string(),q.string())]),providerOptions:V6.optional()}),q.object({type:q.literal("image-data"),data:q.string(),mediaType:q.string(),providerOptions:V6.optional()}),q.object({type:q.literal("image-url"),url:q.string(),providerOptions:V6.optional()}),q.object({type:q.literal("image-file-id"),fileId:q.union([q.string(),q.record(q.string(),q.string())]),providerOptions:V6.optional()}),q.object({type:q.literal("custom"),providerOptions:V6.optional()})]))})]),ER0=q.object({type:q.literal("tool-result"),toolCallId:q.string(),toolName:q.string(),output:tO4,providerOptions:V6.optional()}),eO4=q.object({type:q.literal("tool-approval-request"),approvalId:q.string(),toolCallId:q.string()}),YL4=q.object({type:q.literal("tool-approval-response"),approvalId:q.string(),approved:q.boolean(),reason:q.string().optional()}),QL4=q.object({role:q.literal("system"),content:q.string(),providerOptions:V6.optional()}),XL4=q.object({role:q.literal("user"),content:q.union([q.string(),q.array(q.union([AR0,rO4,PR0]))]),providerOptions:V6.optional()}),JL4=q.object({role:q.literal("assistant"),content:q.union([q.string(),q.array(q.union([AR0,PR0,oO4,sO4,ER0,eO4]))]),providerOptions:V6.optional()}),GL4=q.object({role:q.literal("tool"),content:q.array(q.union([ER0,YL4])),providerOptions:V6.optional()}),WL4=q.union([QL4,XL4,JL4,GL4]);FL4={startSpan(){return ol},startActiveSpan(Y,Q,X,J){if(typeof Q==="function")return Q(ol);if(typeof X==="function")return X(ol);if(typeof J==="function")return J(ol)}},ol={spanContext(){return $L4},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}},$L4={traceId:"",spanId:"",traceFlags:0};AL4={};yD4(AL4,{array:()=>TL4,choice:()=>CL4,json:()=>RL4,object:()=>EL4,text:()=>jR0});kL4=bZ({prefix:"aitxt",size:24});mk8=class extends TransformStream{constructor(){super({transform(Y,Q){Q.enqueue(`data: ${JSON.stringify(Y)}
|
|
1287
1287
|
|
|
1288
1288
|
`)},flush(Y){Y.enqueue(`data: [DONE]
|
|
1289
1289
|
|