@decocms/mesh 2.125.2 → 2.126.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-Cnw5GhjM.js → AlertCircle-LGpS_W0y.js} +1 -1
- package/dist/client/assets/{AlertOctagon-PE1D_d6N.js → AlertOctagon-B8MQnfim.js} +1 -1
- package/dist/client/assets/{AlertTriangle-DiiOmxZ5.js → AlertTriangle-BauDdA9B.js} +1 -1
- package/dist/client/assets/{ArrowDown-Dq_ix_a5.js → ArrowDown-OoKXTEnQ.js} +1 -1
- package/dist/client/assets/{ArrowLeft-2v2jDyMq.js → ArrowLeft-Dn8aVT34.js} +1 -1
- package/dist/client/assets/{ArrowUp-CP0dzs2U.js → ArrowUp-C43RK3lv.js} +1 -1
- package/dist/client/assets/{Check-IyJXmB3D.js → Check-DM3yWukQ.js} +1 -1
- package/dist/client/assets/{CheckCircle-D3-L-7q8.js → CheckCircle-s30iekcd.js} +1 -1
- package/dist/client/assets/{CheckDone01-Bl3K1H3i.js → CheckDone01-C4PaB87i.js} +1 -1
- package/dist/client/assets/{CheckVerified02-BTHXPwp3.js → CheckVerified02-DU8VH_8T.js} +1 -1
- package/dist/client/assets/{ChevronDown-CrA0GhEu.js → ChevronDown-Bvtjl1_J.js} +1 -1
- package/dist/client/assets/{ChevronRight-CQzN9ZtD.js → ChevronRight-BKg32aVF.js} +1 -1
- package/dist/client/assets/{Clock-BMY1eaW0.js → Clock-Db0q0BRR.js} +1 -1
- package/dist/client/assets/{Code01-CeGRGPJZ.js → Code01-B3OBXj9k.js} +1 -1
- package/dist/client/assets/{Container-BgkRftdL.js → Container-C5C-QC37.js} +1 -1
- package/dist/client/assets/{Copy01-B7sbyU73.js → Copy01-DzvhIVnU.js} +1 -1
- package/dist/client/assets/{Dataflow03-YIKw6rhG.js → Dataflow03-97xXCxRc.js} +1 -1
- package/dist/client/assets/{DotsHorizontal-CStsW4jn.js → DotsHorizontal-DMaXCWHm.js} +1 -1
- package/dist/client/assets/{DotsVertical-BPB7nTxW.js → DotsVertical-JJuFY8qc.js} +1 -1
- package/dist/client/assets/{Download01-Iy9CsXT2.js → Download01-DQldvQzj.js} +1 -1
- package/dist/client/assets/{Edit01-BpchkiZj.js → Edit01-BWtM7ub2.js} +1 -1
- package/dist/client/assets/{Eye-CF7Jsi4h.js → Eye-msaxJPjl.js} +1 -1
- package/dist/client/assets/{File02-CNIaQNnA.js → File02-BTq_raQ0.js} +1 -1
- package/dist/client/assets/{File06-CN-CUlfW.js → File06-CkssxHwK.js} +1 -1
- package/dist/client/assets/{FilterLines-DKhKP4R7.js → FilterLines-DzDnwBbY.js} +1 -1
- package/dist/client/assets/{Globe01-C1WtitJR.js → Globe01-yf3RJj7g.js} +1 -1
- package/dist/client/assets/{Globe02-CLsJ4yCM.js → Globe02-DKs0xoZA.js} +1 -1
- package/dist/client/assets/{Grid01-BfcTdCmK.js → Grid01-BHkfA168.js} +1 -1
- package/dist/client/assets/{Hash02-66QHm8zh.js → Hash02-Dp3aQkYF.js} +1 -1
- package/dist/client/assets/{Home02-CLBx-CYf.js → Home02-AwwZSxVR.js} +1 -1
- package/dist/client/assets/{Image01-DiX4EYL6.js → Image01-BNys_Mns.js} +1 -1
- package/dist/client/assets/{Inbox01-uvAm2NdJ.js → Inbox01-NqZ6AxHy.js} +1 -1
- package/dist/client/assets/{InfoCircle-D8WkBwCV.js → InfoCircle-COa3ThIj.js} +1 -1
- package/dist/client/assets/{Key01-CRfrhjcx.js → Key01-CtmMXgET.js} +1 -1
- package/dist/client/assets/{LinkExternal01-Dmi80ZqJ.js → LinkExternal01-B3-zqscw.js} +1 -1
- package/dist/client/assets/{List-DHYjADtQ.js → List-Cnm7l2wU.js} +1 -1
- package/dist/client/assets/{Loading01-5Os1EBQC.js → Loading01-BQNDOWoE.js} +1 -1
- package/dist/client/assets/{Lock01-CMu9e9I1.js → Lock01-CBVbJi0G.js} +1 -1
- package/dist/client/assets/{Pin01-Dtlca92y.js → Pin01-T7uk7ccW.js} +1 -1
- package/dist/client/assets/{Play-DpYyJNLB.js → Play-CDz_Acji.js} +1 -1
- package/dist/client/assets/{Plus-BZOdPpEn.js → Plus-WCxYwLGA.js} +1 -1
- package/dist/client/assets/{RefreshCcw01-BU6Us9RR.js → RefreshCcw01-Ce4Zz6-L.js} +1 -1
- package/dist/client/assets/{RefreshCw01-ClksFdlE.js → RefreshCw01-Bg7WUwR3.js} +1 -1
- package/dist/client/assets/{Rows03-iLB6Pjez.js → Rows03-CDFo4INw.js} +1 -1
- package/dist/client/assets/{Save01-ipX1ktUE.js → Save01-C6t04HUj.js} +1 -1
- package/dist/client/assets/{SearchMd-C4hV7R8V.js → SearchMd-7zTlMjUG.js} +1 -1
- package/dist/client/assets/{Settings01-KIfOk1bg.js → Settings01-DnNomfd3.js} +1 -1
- package/dist/client/assets/{Shield01-Nc9e9wCl.js → Shield01-DdcqF-Gb.js} +1 -1
- package/dist/client/assets/{Terminal-1Out0GjX.js → Terminal-DMjgMuI5.js} +1 -1
- package/dist/client/assets/Tool01-DoJfr-IU.js +1 -0
- package/dist/client/assets/{Trash01-DA9Iy0yG.js → Trash01-DTKgec-l.js} +1 -1
- package/dist/client/assets/{Upload01-Co__isOw.js → Upload01-CppGjF6X.js} +1 -1
- package/dist/client/assets/{Users03-D2hf7hmK.js → Users03-CyGMH8pS.js} +1 -1
- package/dist/client/assets/{X-gSzwTkxQ.js → X-DhzUfCBr.js} +1 -1
- package/dist/client/assets/{XCircle-C6_3gAM6.js → XCircle-Bq0_f5be.js} +1 -1
- package/dist/client/assets/{XClose-MRwdozeO.js → XClose-kI_2EClC.js} +1 -1
- package/dist/client/assets/{agent-connections-preview-D6JhcHHQ.js → agent-connections-preview-HN-oaDES.js} +1 -1
- package/dist/client/assets/agent-detail-B74TC3B0.js +2 -0
- package/dist/client/assets/agents-BYGMiTiE.js +1 -0
- package/dist/client/assets/alert-dialog-YaiDdNnH.js +7 -0
- package/dist/client/assets/{auth-catchall-B4V1ZqhA.js → auth-catchall-CkvlF1AK.js} +1 -1
- package/dist/client/assets/{avatar-DvchIe54.js → avatar-DxO_71W5.js} +1 -1
- package/dist/client/assets/{badge-DU-tZMJX.js → badge-DriFi26e.js} +1 -1
- package/dist/client/assets/{binder-DYtUzpSy.js → binder-BGgM6Lg4.js} +1 -1
- package/dist/client/assets/{breadcrumb-Btg1z4US.js → breadcrumb-DrHiC5wf.js} +1 -1
- package/dist/client/assets/{button-SrN4bZ1L.js → button-TXPV9u45.js} +1 -1
- package/dist/client/assets/{card-qnGcUCM7.js → card-C58nCIMb.js} +1 -1
- package/dist/client/assets/{chart-Dv2iFlyz.js → chart-DNbePsMl.js} +5 -5
- package/dist/client/assets/{checkbox-CysU4JNH.js → checkbox-CtqaJz_f.js} +1 -1
- package/dist/client/assets/{circle-alert-BCTsSu2I.js → circle-alert-BU4T93kt.js} +1 -1
- package/dist/client/assets/collection-detail-RXSILc2C.js +26 -0
- package/dist/client/assets/collection-search-BKBrWx0L.js +1 -0
- package/dist/client/assets/collection-tab-Du_MsYkg.js +1 -0
- package/dist/client/assets/collection-table-wrapper-D4ORko-B.js +1 -0
- package/dist/client/assets/{collection-tabs-GSP6CAnl.js → collection-tabs-DwdXqSDI.js} +1 -1
- package/dist/client/assets/{command-Du6rS94S.js → command-CrETjPM6.js} +1 -1
- package/dist/client/assets/{connect-DOymnzkM.js → connect-Bftioi5k.js} +1 -1
- package/dist/client/assets/{connection-card-CMw5gBsW.js → connection-card-DJtPsQXC.js} +1 -1
- package/dist/client/assets/connection-detail-UgsAzzHi.js +1 -0
- package/dist/client/assets/connections-CIVV_4Z5.js +1 -0
- package/dist/client/assets/constants-CZUfxf6O.js +1 -0
- package/dist/client/assets/{constants-DisK0xae.js → constants-DEI8O4hQ.js} +1 -1
- package/dist/client/assets/{context-C_I7xFo7.js → context-C5W0brIi.js} +2 -2
- package/dist/client/assets/{create-organization-dialog-yQPBfpjD.js → create-organization-dialog-CjitkLS5.js} +1 -1
- package/dist/client/assets/{create-project-dialog-OPPYG5uC.js → create-project-dialog-Btom6Pv1.js} +1 -1
- package/dist/client/assets/{deco-constants-GtDdHPMJ.js → deco-constants-DBAyO8EZ.js} +1 -1
- package/dist/client/assets/{dialog-DH6FGz6L.js → dialog-wuqlToby.js} +1 -1
- package/dist/client/assets/{dropdown-menu-CvPfeATW.js → dropdown-menu-Ba6gkTmn.js} +1 -1
- package/dist/client/assets/{dynamic-plugin-layout-deQJwm8k.js → dynamic-plugin-layout-DHAky12t.js} +1 -1
- package/dist/client/assets/{empty-state-B_zGNEf7.js → empty-state-D8Gg0QJT.js} +1 -1
- package/dist/client/assets/{env-vars-editor-DpLZr7Mp.js → env-vars-editor-BiT3HGiU.js} +1 -1
- package/dist/client/assets/{error-boundary-CgOqOmL9.js → error-boundary-zygCkG0M.js} +1 -1
- package/dist/client/assets/{extract-connection-data-qY6ONXDc.js → extract-connection-data-CJpPKJk0.js} +1 -1
- package/dist/client/assets/{file-browser-iY7A5vK5.js → file-browser-BBzx58qW.js} +2 -2
- package/dist/client/assets/{form-DdSGRLg9.js → form-CdePd7Pv.js} +1 -1
- package/dist/client/assets/{grid-view-Nx0znnGe.js → grid-view-DflJZBdy.js} +1 -1
- package/dist/client/assets/{home-WDKWnX-6.js → home-Dbo5eVtn.js} +1 -1
- package/dist/client/assets/{index-BNESb5f9.js → index-B6YmkzTH.js} +1 -1
- package/dist/client/assets/index-B7FUMscm.css +1 -0
- package/dist/client/assets/{index-p3omciU2.js → index-BDPRLX-4.js} +37 -37
- package/dist/client/assets/{index-Cr3EE_Oz.js → index-BWyutPV5.js} +1 -1
- package/dist/client/assets/{index-BGG0J_lN.js → index-Bk-0u2bj.js} +72 -62
- package/dist/client/assets/{index-BmoMauUd.js → index-DMbcW5ts.js} +1 -1
- package/dist/client/assets/{index-C4EDt4lI.js → index-DaDJqKaJ.js} +1 -1
- package/dist/client/assets/{index-CqCSkLvQ.js → index-DyqsChsw.js} +1 -1
- package/dist/client/assets/index-YRFd6HJw.js +1 -0
- package/dist/client/assets/{index-BQJHl8k7.js → index-qq_KAj9h.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-Bwh-NMGh.js → infiniteQueryObserver-C0Lkx8tQ.js} +1 -1
- package/dist/client/assets/{input-C19rUyj9.js → input-D_ph6wQi.js} +1 -1
- package/dist/client/assets/{integration-icon-CMj9-FPS.js → integration-icon-CWe3aQ6t.js} +1 -1
- package/dist/client/assets/{label-vYcgzZeb.js → label-C1HpB4GV.js} +1 -1
- package/dist/client/assets/{layout-B39Q-9q3.js → layout-Bd96cPIt.js} +1 -1
- package/dist/client/assets/{localstorage-keys-DIWr3Ek_.js → localstorage-keys-DPvmMmhc.js} +1 -1
- package/dist/client/assets/{login-CA6nx1du.js → login-BSCfq1-U.js} +1 -1
- package/dist/client/assets/{markdown-Dc-S7aGn.js → markdown-DRSGrJ01.js} +1 -1
- package/dist/client/assets/mcp-oauth-C2nS4eVY.js +1 -0
- package/dist/client/assets/{mcp-server-card-ByBnE-vj.js → mcp-server-card-xAMTxIFp.js} +1 -1
- package/dist/client/assets/mcp-server-detail-DWeC-d7q.js +2 -0
- package/dist/client/assets/members-D2sHhm7P.js +3 -0
- package/dist/client/assets/{monitoring-WM-Rk7qO.js → monitoring-DmDaA6pX.js} +2 -2
- package/dist/client/assets/{monitoring-dashboard-edit-Dp8NRuZd.js → monitoring-dashboard-edit-D-CjBdg5.js} +1 -1
- package/dist/client/assets/{monitoring-dashboard-view-wLbkoGo1.js → monitoring-dashboard-view-DLtVeEmh.js} +1 -1
- package/dist/client/assets/{oauth-callback-CaX2c7Wu.js → oauth-callback-Dxel0vXg.js} +1 -1
- package/dist/client/assets/page-BsvuXDx0.js +1 -0
- package/dist/client/assets/page-DafO9Vsq.js +1 -0
- package/dist/client/assets/{plugin-empty-state-CVngkfX3.js → plugin-empty-state-dfX9T95D.js} +1 -1
- package/dist/client/assets/{plugin-empty-state-D0_za-x_.js → plugin-empty-state-rzJ3vtCR.js} +1 -1
- package/dist/client/assets/{plugin-header-CqyTjT8y.js → plugin-header-CsWU692q.js} +1 -1
- package/dist/client/assets/{plugin-header-PVE46n-W.js → plugin-header-Wka6wy0Q.js} +1 -1
- package/dist/client/assets/{popover-Bz-dtYC4.js → popover-Dt4_z2id.js} +1 -1
- package/dist/client/assets/{project-layout-Cz0HYNyh.js → project-layout-DI1hNjLJ.js} +1 -1
- package/dist/client/assets/projects-list-DOU4Z6y2.js +1 -0
- package/dist/client/assets/{ranking-layout-CiiVJptK.js → ranking-layout-6RB09MfT.js} +1 -1
- package/dist/client/assets/{readme-viewer-C7GbD9G5.js → readme-viewer-BGtJvXCC.js} +1 -1
- package/dist/client/assets/{registry-layout-ChpSfSFu.js → registry-layout-CcqSqRDx.js} +1 -1
- package/dist/client/assets/{registry-utils-B61PMbF-.js → registry-utils-B0iZy2Nk.js} +1 -1
- package/dist/client/assets/{reports-layout-BvKe5aI3.js → reports-layout-B5LghGJo.js} +2 -2
- package/dist/client/assets/{reset-password-B7ISHNC0.js → reset-password-R4LjbQ2i.js} +1 -1
- package/dist/client/assets/{resizable-Cu9ocREr.js → resizable-h7fEF3zV.js} +1 -1
- package/dist/client/assets/{save-actions-CAz6Fzpg.js → save-actions-jSFDRjsZ.js} +1 -1
- package/dist/client/assets/{scroll-area-CVHsk4Pe.js → scroll-area-DIiM0juX.js} +4 -4
- package/dist/client/assets/{select-DFuMzqKt.js → select-DNtTB4Bo.js} +1 -1
- package/dist/client/assets/shell-layout-AyiHAnWo.js +3 -0
- package/dist/client/assets/{skeleton-DQTz2Cfy.js → skeleton-DNzAW1SF.js} +1 -1
- package/dist/client/assets/{spinner-DxDNcb59.js → spinner-DjxJ1r6s.js} +1 -1
- package/dist/client/assets/{store-invite-SskJUHyO.js → store-invite-Bh32JaEx.js} +1 -1
- package/dist/client/assets/switch-C4IhOA6e.js +1 -0
- package/dist/client/assets/{table-CQcuIfNu.js → table-CMEfP9H3.js} +1 -1
- package/dist/client/assets/tasks-Gduw0sMp.js +1 -0
- package/dist/client/assets/{textarea-BDWEwIDH.js → textarea-Db3p0Rx5.js} +1 -1
- package/dist/client/assets/{time-range-picker-kirfhhc9.js → time-range-picker-CT5RhAAM.js} +1 -1
- package/dist/client/assets/{toggle-group-BMIOl_5K.js → toggle-group-C7Kfwbwx.js} +1 -1
- package/dist/client/assets/tools-list-DGeXMyE8.js +1 -0
- package/dist/client/assets/{tooltip-BbsUVNzK.js → tooltip-D4BVYhMw.js} +1 -1
- package/dist/client/assets/{topbar-portal-BRE2WBz7.js → topbar-portal-BiKG3YrO.js} +1 -1
- package/dist/client/assets/types-BOpB4sEB.js +155 -0
- package/dist/client/assets/{typewriter-title-BILoCXrZ.js → typewriter-title-CFGwN_v6.js} +1 -1
- package/dist/client/assets/{use-binding-BdZ1UVgx.js → use-binding-aajuNegG.js} +1 -1
- package/dist/client/assets/{use-connection-DkSSfi9a.js → use-connection-DtRMRT7L.js} +1 -1
- package/dist/client/assets/{use-copy-BB2kbW8i.js → use-copy-BGqPeXhk.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-CHG7UVpA.js → use-create-virtual-mcp-BVu6cs2B.js} +1 -1
- package/dist/client/assets/use-deco-chat-open-BIVGrLhn.js +1 -0
- package/dist/client/assets/{use-install-from-registry-BqPjgCPd.js → use-install-from-registry-DJL5tOsu.js} +1 -1
- package/dist/client/assets/{use-list-state-DpzviSdT.js → use-list-state-BCruWJWf.js} +1 -1
- package/dist/client/assets/{use-llm-DTPk3_13.js → use-llm-Bv-6sCcC.js} +1 -1
- package/dist/client/assets/use-mcp-prompts-DpRM5L66.js +1 -0
- package/dist/client/assets/{use-mcp-tools-CGC3tcmA.js → use-mcp-tools-Bko1eKF9.js} +1 -1
- package/dist/client/assets/{use-mobile-CjVgJBva.js → use-mobile-D74rFejl.js} +1 -1
- package/dist/client/assets/{use-organization-settings-rYyRzSoT.js → use-organization-settings-D0kwnOS2.js} +1 -1
- package/dist/client/assets/{use-project-CnwCxI-j.js → use-project-C0JtBRdq.js} +1 -1
- package/dist/client/assets/{use-settings-modal-tv8Da55W.js → use-settings-modal-BI2pyMdc.js} +1 -1
- package/dist/client/assets/{use-view-mode-DDLmSRVK.js → use-view-mode-C0BRp2tQ.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-gsGIP_cY.js → use-virtual-mcp-DH4qIlbr.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-BX2g8PmS.js +1 -0
- package/dist/client/assets/{useMutation-GHxEJTN4.js → useMutation-B2OXPKQT.js} +1 -1
- package/dist/client/assets/useQuery-Cf9H-zdg.js +1 -0
- package/dist/client/assets/useSuspenseInfiniteQuery-BvCS7sCC.js +1 -0
- package/dist/client/assets/workflow-Bh9fK-oW.js +1 -0
- package/dist/client/index.html +2 -2
- package/dist/server/cli.js +9 -9
- package/dist/server/migrate.js +6 -6
- package/dist/server/server.js +9 -9
- package/package.json +2 -1
- package/dist/client/assets/agent-detail-BpcgS_WA.js +0 -2
- package/dist/client/assets/agents-CiEGGxbH.js +0 -1
- package/dist/client/assets/alert-dialog-BwY-RhAj.js +0 -7
- package/dist/client/assets/collection-detail-BYSxk4oE.js +0 -26
- package/dist/client/assets/collection-search-B9NZ4RH6.js +0 -1
- package/dist/client/assets/collection-tab-BcJoa4qY.js +0 -1
- package/dist/client/assets/collection-table-wrapper-ByW-kXsd.js +0 -1
- package/dist/client/assets/connection-detail-dcoyE7_9.js +0 -1
- package/dist/client/assets/connections-C-xjHvMP.js +0 -1
- package/dist/client/assets/constants-XXbgLKEI.js +0 -1
- package/dist/client/assets/empty-state-DUeMScV0.js +0 -1
- package/dist/client/assets/index-CrsSJxhW.js +0 -1
- package/dist/client/assets/index-D1eaSCBW.css +0 -1
- package/dist/client/assets/mcp-oauth-C04X2g0h.js +0 -1
- package/dist/client/assets/mcp-server-detail-C68kfF_y.js +0 -2
- package/dist/client/assets/members-Yn81rJ_1.js +0 -3
- package/dist/client/assets/page-BvMChlEF.js +0 -1
- package/dist/client/assets/page-CXSHaeva.js +0 -1
- package/dist/client/assets/projects-list-BfIgV1F1.js +0 -1
- package/dist/client/assets/shell-layout-Wquvsd36.js +0 -3
- package/dist/client/assets/switch-D4ggk_Yk.js +0 -1
- package/dist/client/assets/tasks-CnBGBvBV.js +0 -1
- package/dist/client/assets/tools-list-Cn1p3mLu.js +0 -1
- package/dist/client/assets/use-deco-chat-open-BD3xJReE.js +0 -1
- package/dist/client/assets/use-mcp-prompts-CB93WJg8.js +0 -1
- package/dist/client/assets/useInfiniteQuery-DrLsISf0.js +0 -1
- package/dist/client/assets/useQuery-KFMXc5Td.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-Cw1MYhE7.js +0 -1
- package/dist/client/assets/view-mode-toggle-BeStXEmg.js +0 -1
- package/dist/client/assets/workflow-DujY0Kfk.js +0 -1
package/dist/server/migrate.js
CHANGED
|
@@ -1256,8 +1256,8 @@ Error message: ${H$(X)}`,cause:X});this[UE0]=!0,this.value=Q,this.context=J}stat
|
|
|
1256
1256
|
]))`;continue}else if(G[F]==="$"){K+=`($|(?=[\r
|
|
1257
1257
|
]))`;continue}}if(J.s&&G[F]==="."){K+=Z?`${G[F]}\r
|
|
1258
1258
|
`:`[${G[F]}\r
|
|
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 $T0(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,...$}=FT0(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,...$}=KT0(Y.keyType._def,Q);return{...H,propertyNames:$}}return H}function FU4(Y,Q){if(Q.mapStrategy==="record")return $T0(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 $U4(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 VU4(){return{not:CJ()}}function qU4(){return{type:"null"}}function BU4(Y,Q){let X=Y.options instanceof Map?Array.from(Y.options.values()):Y.options;if(X.every((J)=>(J._def.typeName in $31)&&(!J._def.checks||!J._def.checks.length))){let J=X.reduce((G,K)=>{let W=$31[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 UU4(Y,Q)}function zU4(Y,Q){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(Y.innerType._def.typeName)&&(!Y.innerType._def.checks||!Y.innerType._def.checks.length))return{type:[$31[Y.innerType._def.typeName],"null"]};let X=N8(Y.innerType._def,{...Q,currentPath:[...Q.currentPath,"anyOf","0"]});return X&&{anyOf:[X,{type:"null"}]}}function DU4(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 OU4(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=NU4(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=LU4(Y,Q);if(K!==void 0)X.additionalProperties=K;return X}function LU4(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 NU4(Y){try{return Y.isOptional()}catch(Q){return!0}}function AU4(Y,Q){return N8(Y.type._def,Q)}function PU4(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 EU4(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 TU4(){return{not:CJ()}}function CU4(){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!==aB4)return H}if(G&&!X){let H=SU4(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=IU4(Y,Y.typeName,Q),Z=typeof W==="function"?N8(W(),Q):W;if(Z)_U4(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{[V31]:!0,_type:void 0,get jsonSchema(){if(typeof Y==="function")Y=Y();return Y},validate:Q}}function yU4(Y){return typeof Y==="object"&&Y!==null&&V31 in Y&&Y[V31]===!0&&"jsonSchema"in Y&&"validate"in Y}function hZ(Y){return Y==null?lB({properties:{},additionalProperties:!1}):yU4(Y)?Y:("~standard"in Y)?Y["~standard"].vendor==="zod"?P9(Y):fU4(Y):Y()}function fU4(Y){return lB(()=>U31(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 bU4(Y,Q){var X;let J=(X=Q==null?void 0:Q.useReferences)!=null?X:!1;return lB(()=>kU4(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 hU4(Y,Q){var X;let J=(X=Q==null?void 0:Q.useReferences)!=null?X:!1;return lB(()=>U31($W(Y,{target:"draft-7",io:"input",reused:J?"ref":"inline"})),{validate:async(G)=>{let K=await nU(Y,G);return K.success?{success:!0,value:K.data}:{success:!1,error:K.error}}})}function xU4(Y){return"_zod"in Y}function P9(Y,Q){if(xU4(Y))return hU4(Y,Q);else return bU4(Y,Q)}async function VT0({value:Y,schema:Q,context:X}){let J=await t5({value:Y,schema:Q,context:X});if(!J.success)throw nG.wrap({value:Y,cause:J.error,context:X});return J.value}async function t5({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 gU4({text:Y,schema:Q}){try{let X=ZT0(Y);if(Q==null)return X;return VT0({value:X,schema:Q})}catch(X){if(JR.isInstance(X)||nG.isInstance(X))throw X;throw new JR({text:Y,cause:X})}}async function lX({text:Y,schema:Q}){try{let X=ZT0(Y);if(Q==null)return{success:!0,value:X,rawValue:X};return await t5({value:X,schema:Q})}catch(X){return{success:!1,error:JR.isInstance(X)?X:new JR({text:Y,cause:X}),rawValue:void 0}}}function cl({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 nl(Y){return Y}function il({id:Y,inputSchema:Q,outputSchema:X,supportsDeferredResults:J}){return({execute:G,needsApproval:K,toModelOutput:W,onInputStart:Z,onInputDelta:H,onInputAvailable:F,...$})=>nl({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 BT0(Y){return Y==null?void 0:Y.replace(/\/$/,"")}function lU4(Y){return Y!=null&&typeof Y[Symbol.asyncIterator]==="function"}async function*UT0({execute:Y,input:Q,options:X}){let J=Y(Q,X);if(lU4(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 bB4,hB4,YT0="AI_DownloadError",QT0,xB4,aE0,rE0,FN,q31=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 CE0({argument:"separator",message:`The separator "${J}" must not be part of the alphabet "${X}".`});return()=>`${Y}${J}${G()}`},gB4,uB4,mB4,GT0="4.0.16",pB4=()=>globalThis.fetch,B31=async({url:Y,headers:Q={},successfulResponseHandler:X,failedResponseHandler:J,abortSignal:G,fetch:K=pB4()})=>{try{let W=await K(Y,{method:"GET",headers:T3(Q,`ai-sdk/provider-utils/${GT0}`,pl()),signal:G}),Z=GR(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 JT0({error:W,url:Y,requestBodyValues:{}})}},cB4,nB4,aB4,sE0,rB4=(Y)=>typeof Y==="string"?{...sE0,name:Y}:{...sE0,...Y},eB4=(Y,Q)=>{return N8(Y.innerType._def,Q)},YU4=(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},GU4=(Y)=>{if("type"in Y&&Y.type==="string")return!1;return"allOf"in Y},H31=void 0,iG,KU4,$31,UU4=(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},MU4=(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()},wU4=(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)}},RU4=(Y,Q)=>{return N8(Y.innerType._def,Q)},IU4=(Y,Q,X)=>{switch(Q){case b1.ZodString:return FT0(Y,X);case b1.ZodNumber:return DU4(Y);case b1.ZodObject:return OU4(Y,X);case b1.ZodBigInt:return sB4(Y);case b1.ZodBoolean:return tB4();case b1.ZodDate:return HT0(Y,X);case b1.ZodUndefined:return TU4();case b1.ZodNull:return qU4();case b1.ZodArray:return oB4(Y,X);case b1.ZodUnion:case b1.ZodDiscriminatedUnion:return BU4(Y,X);case b1.ZodIntersection:return WU4(Y,X);case b1.ZodTuple:return EU4(Y,X);case b1.ZodRecord:return $T0(Y,X);case b1.ZodLiteral:return ZU4(Y);case b1.ZodEnum:return JU4(Y);case b1.ZodNativeEnum:return $U4(Y);case b1.ZodNullable:return zU4(Y,X);case b1.ZodOptional:return MU4(Y,X);case b1.ZodMap:return FU4(Y,X);case b1.ZodSet:return PU4(Y,X);case b1.ZodLazy:return()=>Y.getter()._def;case b1.ZodPromise:return AU4(Y,X);case b1.ZodNaN:case b1.ZodNever:return VU4();case b1.ZodEffects:return XU4(Y,X);case b1.ZodAny:return CJ();case b1.ZodUnknown:return CU4();case b1.ZodDefault:return QU4(Y,X);case b1.ZodBranded:return KT0(Y,X);case b1.ZodReadonly:return RU4(Y,X);case b1.ZodCatch:return eB4(Y,X);case b1.ZodPipeline:return wU4(Y,X);case b1.ZodFunction:case b1.ZodVoid:case b1.ZodSymbol:return;default:return((J)=>{return})(Q)}},jU4=(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("/")},SU4=(Y,Q)=>{switch(Q.$refStrategy){case"root":return{$ref:Y.path.join("/")};case"relative":return{$ref:jU4(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}}},_U4=(Y,Q,X)=>{if(Y.description)X.description=Y.description;return X},vU4=(Y)=>{let Q=rB4(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}]))}},kU4=(Y,Q)=>{var X;let J=vU4(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},V31,uU4=()=>globalThis.fetch,C3=async({url:Y,headers:Q,body:X,failedResponseHandler:J,successfulResponseHandler:G,abortSignal:K,fetch:W})=>mU4({url:Y,headers:{"Content-Type":"application/json",...Q},body:{content:JSON.stringify(X),values:X},failedResponseHandler:J,successfulResponseHandler:G,abortSignal:K,fetch:W}),mU4=async({url:Y,headers:Q={},body:X,successfulResponseHandler:J,failedResponseHandler:G,abortSignal:K,fetch:W=uU4()})=>{try{let Z=await W(Y,{method:"POST",headers:T3(Q,`ai-sdk/provider-utils/${GT0}`,pl()),body:X.content,signal:K}),H=GR(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 JT0({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=GR(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 gU4({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)})}}},qT0=(Y)=>async({response:Q})=>{let X=GR(Q);if(Q.body==null)throw new PE0({});return{responseHeaders:X,value:cl({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=GR(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();wk();q8();q8();({btoa:bB4,atob:hB4}=globalThis);QT0=`vercel.ai.error.${YT0}`,xB4=Symbol.for(QT0),FN=class extends(rE0=b0,aE0=xB4,rE0){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:YT0,message:G,cause:J});this[aE0]=!0,this.url=Y,this.statusCode=Q,this.statusText=X}static isInstance(Y){return b0.hasMarker(Y,QT0)}};gB4=bZ();uB4=["fetch failed","failed to fetch"],mB4=["ConnectionRefused","ConnectionClosed","FailedToOpenSocket","ECONNRESET","ECONNREFUSED","ETIMEDOUT","EPIPE"];cB4=/"__proto__"\s*:/,nB4=/"constructor"\s*:/;aB4=Symbol("Let zodToJsonSchema decide on which parser to use"),sE0={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(H31===void 0)H31=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return H31},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-_]*$/};KU4=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");$31={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};V31=Symbol.for("vercel.ai.schema")});var D31=T(($y8,OT0)=>{var{defineProperty:z31,getOwnPropertyDescriptor:dU4,getOwnPropertyNames:pU4}=Object,cU4=Object.prototype.hasOwnProperty,nU4=(Y,Q)=>{for(var X in Q)z31(Y,X,{get:Q[X],enumerable:!0})},iU4=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of pU4(Q))if(!cU4.call(Y,G)&&G!==X)z31(Y,G,{get:()=>Q[G],enumerable:!(J=dU4(Q,G))||J.enumerable})}return Y},aU4=(Y)=>iU4(z31({},"__esModule",{value:!0}),Y),zT0={};nU4(zT0,{SYMBOL_FOR_REQ_CONTEXT:()=>DT0,getContext:()=>rU4});OT0.exports=aU4(zT0);var DT0=Symbol.for("@vercel/request-context");function rU4(){return globalThis[DT0]?.get?.()??{}}});var WR=T((Vy8,MT0)=>{var{defineProperty:O31,getOwnPropertyDescriptor:oU4,getOwnPropertyNames:sU4}=Object,tU4=Object.prototype.hasOwnProperty,eU4=(Y,Q)=>{for(var X in Q)O31(Y,X,{get:Q[X],enumerable:!0})},Yz4=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of sU4(Q))if(!tU4.call(Y,G)&&G!==X)O31(Y,G,{get:()=>Q[G],enumerable:!(J=oU4(Q,G))||J.enumerable})}return Y},Qz4=(Y)=>Yz4(O31({},"__esModule",{value:!0}),Y),LT0={};eU4(LT0,{VercelOidcTokenError:()=>NT0});MT0.exports=Qz4(LT0);class NT0 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 ET0=T((qy8,PT0)=>{var{create:Xz4,defineProperty:al,getOwnPropertyDescriptor:Jz4,getOwnPropertyNames:Gz4,getPrototypeOf:Wz4}=Object,Zz4=Object.prototype.hasOwnProperty,Kz4=(Y,Q)=>{for(var X in Q)al(Y,X,{get:Q[X],enumerable:!0})},wT0=(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)al(Y,G,{get:()=>Q[G],enumerable:!(J=Jz4(Q,G))||J.enumerable})}return Y},N31=(Y,Q,X)=>(X=Y!=null?Xz4(Wz4(Y)):{},wT0(Q||!Y||!Y.__esModule?al(X,"default",{value:Y,enumerable:!0}):X,Y)),Hz4=(Y)=>wT0(al({},"__esModule",{value:!0}),Y),AT0={};Kz4(AT0,{findRootDir:()=>Vz4,getUserDataDir:()=>qz4});PT0.exports=Hz4(AT0);var ZR=N31(D1("path")),Fz4=N31(D1("fs")),L31=N31(D1("os")),$z4=WR();function Vz4(){try{let Y=process.cwd();while(Y!==ZR.default.dirname(Y)){let Q=ZR.default.join(Y,".vercel");if(Fz4.default.existsSync(Q))return Y;Y=ZR.default.dirname(Y)}}catch(Y){throw new $z4.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}function qz4(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(L31.default.platform()){case"darwin":return ZR.default.join(L31.default.homedir(),"Library/Application Support");case"linux":return ZR.default.join(L31.default.homedir(),".local/share");case"win32":if(process.env.LOCALAPPDATA)return process.env.LOCALAPPDATA;return null;default:return null}}});var _T0=T((By8,ST0)=>{var{create:Bz4,defineProperty:rl,getOwnPropertyDescriptor:Uz4,getOwnPropertyNames:zz4,getPrototypeOf:Dz4}=Object,Oz4=Object.prototype.hasOwnProperty,Lz4=(Y,Q)=>{for(var X in Q)rl(Y,X,{get:Q[X],enumerable:!0})},TT0=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of zz4(Q))if(!Oz4.call(Y,G)&&G!==X)rl(Y,G,{get:()=>Q[G],enumerable:!(J=Uz4(Q,G))||J.enumerable})}return Y},CT0=(Y,Q,X)=>(X=Y!=null?Bz4(Dz4(Y)):{},TT0(Q||!Y||!Y.__esModule?rl(X,"default",{value:Y,enumerable:!0}):X,Y)),Nz4=(Y)=>TT0(rl({},"__esModule",{value:!0}),Y),RT0={};Lz4(RT0,{isValidAccessToken:()=>Pz4,readAuthConfig:()=>wz4,writeAuthConfig:()=>Az4});ST0.exports=Nz4(RT0);var KR=CT0(D1("fs")),IT0=CT0(D1("path")),Mz4=ol();function jT0(){let Y=(0,Mz4.getVercelDataDir)();if(!Y)throw Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return IT0.join(Y,"auth.json")}function wz4(){try{let Y=jT0();if(!KR.existsSync(Y))return null;let Q=KR.readFileSync(Y,"utf8");if(!Q)return null;return JSON.parse(Q)}catch(Y){return null}}function Az4(Y){let Q=jT0(),X=IT0.dirname(Q);if(!KR.existsSync(X))KR.mkdirSync(X,{mode:504,recursive:!0});KR.writeFileSync(Q,JSON.stringify(Y,null,2),{mode:384})}function Pz4(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 fT0=T((Uy8,yT0)=>{var{defineProperty:A31,getOwnPropertyDescriptor:Ez4,getOwnPropertyNames:Tz4}=Object,Cz4=Object.prototype.hasOwnProperty,Rz4=(Y,Q)=>{for(var X in Q)A31(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)A31(Y,G,{get:()=>Q[G],enumerable:!(J=Ez4(Q,G))||J.enumerable})}return Y},jz4=(Y)=>Iz4(A31({},"__esModule",{value:!0}),Y),vT0={};Rz4(vT0,{processTokenResponse:()=>yz4,refreshTokenRequest:()=>kz4});yT0.exports=jz4(vT0);var M31=D1("os"),Sz4="https://vercel.com",_z4="cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",kT0=`@vercel/oidc node-${process.version} ${(0,M31.platform)()} (${(0,M31.arch)()}) ${(0,M31.hostname)()}`,w31=null;async function vz4(){if(w31)return w31;let Y=`${Sz4}/.well-known/openid-configuration`,Q=await fetch(Y,{headers:{"user-agent":kT0}});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 w31=J,J}async function kz4(Y){let Q=await vz4();return await fetch(Q,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":kT0},body:new URLSearchParams({client_id:_z4,grant_type:"refresh_token",...Y})})}async function yz4(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 ol=T((zy8,uT0)=>{var{create:fz4,defineProperty:sl,getOwnPropertyDescriptor:bz4,getOwnPropertyNames:hz4,getPrototypeOf:xz4}=Object,gz4=Object.prototype.hasOwnProperty,uz4=(Y,Q)=>{for(var X in Q)sl(Y,X,{get:Q[X],enumerable:!0})},hT0=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of hz4(Q))if(!gz4.call(Y,G)&&G!==X)sl(Y,G,{get:()=>Q[G],enumerable:!(J=bz4(Q,G))||J.enumerable})}return Y},xT0=(Y,Q,X)=>(X=Y!=null?fz4(xz4(Y)):{},hT0(Q||!Y||!Y.__esModule?sl(X,"default",{value:Y,enumerable:!0}):X,Y)),mz4=(Y)=>hT0(sl({},"__esModule",{value:!0}),Y),gT0={};uz4(gT0,{assertVercelOidcTokenResponse:()=>P31,findProjectInfo:()=>cz4,getTokenPayload:()=>az4,getVercelCliToken:()=>dz4,getVercelDataDir:()=>lz4,getVercelOidcToken:()=>pz4,isExpired:()=>rz4,loadToken:()=>iz4,saveToken:()=>nz4});uT0.exports=mz4(gT0);var HR=xT0(D1("path")),dB=xT0(D1("fs")),BN=WR(),tl=ET0(),qN=_T0(),bT0=fT0();function lz4(){let Q=(0,tl.getUserDataDir)();if(!Q)return null;return HR.join(Q,"com.vercel.cli")}async function dz4(){let Y=(0,qN.readAuthConfig)();if(!Y)return null;if((0,qN.isValidAccessToken)(Y))return Y.token||null;if(!Y.refreshToken)return(0,qN.writeAuthConfig)({}),null;try{let Q=await(0,bT0.refreshTokenRequest)({refresh_token:Y.refreshToken}),[X,J]=await(0,bT0.processTokenResponse)(Q);if(X||!J)return(0,qN.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,qN.writeAuthConfig)(G),G.token??null}catch(Q){return(0,qN.writeAuthConfig)({}),null}}async function pz4(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 BN.VercelOidcTokenError(`Failed to refresh OIDC token: ${G.statusText}`);let K=await G.json();return P31(K),K}function P31(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 cz4(){let Y=(0,tl.findRootDir)();if(!Y)throw new BN.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let Q=HR.join(Y,".vercel","project.json");if(!dB.existsSync(Q))throw new BN.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 nz4(Y,Q){let X=(0,tl.getUserDataDir)();if(!X)throw new BN.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let J=HR.join(X,"com.vercel.token",`${Q}.json`),G=JSON.stringify(Y);dB.mkdirSync(HR.dirname(J),{mode:504,recursive:!0}),dB.writeFileSync(J,G),dB.chmodSync(J,432);return}function iz4(Y){let Q=(0,tl.getUserDataDir)();if(!Q)throw new BN.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let X=HR.join(Q,"com.vercel.token",`${Y}.json`);if(!dB.existsSync(X))return null;let J=JSON.parse(dB.readFileSync(X,"utf8"));return P31(J),J}function az4(Y){let Q=Y.split(".");if(Q.length!==3)throw new BN.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 rz4(Y){return Y.exp*1000<Date.now()}});var dT0=T((Dy8,lT0)=>{var{defineProperty:T31,getOwnPropertyDescriptor:oz4,getOwnPropertyNames:sz4}=Object,tz4=Object.prototype.hasOwnProperty,ez4=(Y,Q)=>{for(var X in Q)T31(Y,X,{get:Q[X],enumerable:!0})},YD4=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of sz4(Q))if(!tz4.call(Y,G)&&G!==X)T31(Y,G,{get:()=>Q[G],enumerable:!(J=oz4(Q,G))||J.enumerable})}return Y},QD4=(Y)=>YD4(T31({},"__esModule",{value:!0}),Y),mT0={};ez4(mT0,{refreshToken:()=>XD4});lT0.exports=QD4(mT0);var E31=WR(),pB=ol();async function XD4(){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 E31.VercelOidcTokenError("Failed to refresh OIDC token: Log in to Vercel CLI and link your project with `vc link`");if(!Y)throw new E31.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 E31.VercelOidcTokenError("Failed to refresh OIDC token");(0,pB.saveToken)(X,Y)}process.env.VERCEL_OIDC_TOKEN=X.token;return}});var nT0=T((Oy8,cT0)=>{var{defineProperty:R31,getOwnPropertyDescriptor:JD4,getOwnPropertyNames:GD4}=Object,WD4=Object.prototype.hasOwnProperty,ZD4=(Y,Q)=>{for(var X in Q)R31(Y,X,{get:Q[X],enumerable:!0})},KD4=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of GD4(Q))if(!WD4.call(Y,G)&&G!==X)R31(Y,G,{get:()=>Q[G],enumerable:!(J=JD4(Q,G))||J.enumerable})}return Y},HD4=(Y)=>KD4(R31({},"__esModule",{value:!0}),Y),pT0={};ZD4(pT0,{getVercelOidcToken:()=>VD4,getVercelOidcTokenSync:()=>C31});cT0.exports=HD4(pT0);var FD4=D31(),$D4=WR();async function VD4(){let Y="",Q;try{Y=C31()}catch(X){Q=X}try{let[{getTokenPayload:X,isExpired:J},{refreshToken:G}]=await Promise.all([await Promise.resolve().then(() => s6(ol())),await Promise.resolve().then(() => s6(dT0()))]);if(!Y||J(X(Y)))await G(),Y=C31()}catch(X){let J=Q instanceof Error?Q.message:"";if(X instanceof Error)J=`${J}
|
|
1260
|
-
${X.message}`;if(J)throw new $D4.VercelOidcTokenError(J);throw X}return Y}function C31(){let Y=(0,FD4.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 j31=T((Ly8,rT0)=>{var{defineProperty:I31,getOwnPropertyDescriptor:qD4,getOwnPropertyNames:BD4}=Object,UD4=Object.prototype.hasOwnProperty,zD4=(Y,Q)=>{for(var X in Q)I31(Y,X,{get:Q[X],enumerable:!0})},DD4=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of BD4(Q))if(!UD4.call(Y,G)&&G!==X)I31(Y,G,{get:()=>Q[G],enumerable:!(J=qD4(Q,G))||J.enumerable})}return Y},OD4=(Y)=>DD4(I31({},"__esModule",{value:!0}),Y),aT0={};zD4(aT0,{getContext:()=>LD4.getContext,getVercelOidcToken:()=>iT0.getVercelOidcToken,getVercelOidcTokenSync:()=>iT0.getVercelOidcTokenSync});rT0.exports=OD4(aT0);var iT0=nT0(),LD4=D31()});async function OC0({response:Y,statusCode:Q,defaultMessage:X="Gateway request failed",cause:J,authMethod:G}){var K;let W=await t5({value:Y,schema:_D4});if(!W.success){let V=typeof Y==="object"&&Y!==null&&"generationId"in Y?Y.generationId:void 0;return new SD4({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 el.createContextualError({apiKeyProvided:G==="api-key",oidcTokenProvided:G==="oidc",statusCode:Q,cause:J,generationId:$});case"invalid_request_error":return new AD4({message:F,statusCode:Q,cause:J,generationId:$});case"rate_limit_exceeded":return new ED4({message:F,statusCode:Q,cause:J,generationId:$});case"model_not_found":{let V=await t5({value:Z.error.param,schema:CD4});return new RD4({message:F,statusCode:Q,modelId:V.success?V.value.modelId:void 0,cause:J,generationId:$})}case"internal_server_error":return new BC0({message:F,statusCode:Q,cause:J,generationId:$});default:return new BC0({message:F,statusCode:Q,cause:J,generationId:$})}}function AC0(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(e5.isInstance(Y))return Y;if(AC0(Y))return wC0.createTimeoutError({originalMessage:Y instanceof Error?Y.message:"Unknown error",cause:Y});if(x8.isInstance(Y)){if(Y.cause&&AC0(Y.cause))return wC0.createTimeoutError({originalMessage:Y.message,cause:Y});return await OC0({response:kD4(Y),statusCode:(X=Y.statusCode)!=null?X:500,defaultMessage:"Gateway request failed",cause:Y,authMethod:Q})}return await OC0({response:{},statusCode:500,defaultMessage:Y instanceof Error?`Gateway request failed: ${Y.message}`:"Unknown Gateway error",cause:Y,authMethod:Q})}function kD4(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 t5({value:Y[vC0],schema:yD4});return Q.success?Q.value:void 0}function EC0(Y){if(Y.type==="file"&&Y.data instanceof Uint8Array)return{...Y,data:E3(Y.data)};return Y}function nD4(Y){if(Y.type==="file"&&Y.data instanceof Uint8Array)return{...Y,data:E3(Y.data)};return Y}async function ZO4(){var Y;return(Y=kC0.getContext().headers)==null?void 0:Y["x-vercel-id"]}function FO4(Y={}){var Q,X;let J=null,G=null,K=(Q=Y.metadataCacheRefreshMillis)!=null?Q:300000,W=0,Z=(X=BT0(Y.baseURL))!=null?X:"https://ai-gateway.vercel.sh/v3/ai",H=async()=>{try{let O=await $O4(Y);return T3({Authorization:`Bearer ${O.token}`,"ai-gateway-protocol-version":HO4,[vC0]:O.authMethod,...Y.headers},`ai-sdk/gateway/${KO4}`)}catch(O){throw el.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:O})}},F=()=>{let O=VN({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),M=VN({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),w=VN({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),P=VN({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let j=await ZO4();return{...O&&{"ai-o11y-deployment-id":O},...M&&{"ai-o11y-environment":M},...w&&{"ai-o11y-region":w},...j&&{"ai-o11y-request-id":j},...P&&{"ai-o11y-project-id":P}}}},$=(O)=>{return new hD4(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 PC0({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 PC0({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 uD4(O,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:F()})},U.languageModel=$;let z=(O)=>{return new xD4(O,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:F()})};return U.embeddingModel=z,U.textEmbeddingModel=z,U.videoModel=(O)=>{return new cD4(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=WO4,U}async function $O4(Y){let Q=VN({settingValue:Y.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(Q)return{token:Q,authMethod:"api-key"};return{token:await yC0.getVercelOidcToken(),authMethod:"oidc"}}var kC0,yC0,ND4="vercel.ai.gateway.error",S31,oT0,sT0,e5,TC0="GatewayAuthenticationError",MD4,tT0,eT0,YC0,el,CC0="GatewayInvalidRequestError",wD4,QC0,XC0,JC0,AD4,RC0="GatewayRateLimitError",PD4,GC0,WC0,ZC0,ED4,IC0="GatewayModelNotFoundError",TD4,KC0,CD4,HC0,FC0,RD4,jC0="GatewayInternalServerError",ID4,$C0,VC0,qC0,BC0,SC0="GatewayResponseError",jD4,UC0,zC0,DC0,SD4,_D4,_C0="GatewayTimeoutError",vD4,LC0,NC0,MC0,wC0,vC0="ai-gateway-auth-method",yD4,PC0=class{constructor(Y){this.config=Y}async getAvailableModels(){try{let{value:Y}=await B31({url:`${this.config.baseURL}/config`,headers:await qY(this.config.headers()),successfulResponseHandler:R3(fD4),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 B31({url:`${Y.origin}/v1/credits`,headers:await qY(this.config.headers()),successfulResponseHandler:R3(bD4),failedResponseHandler:x7({errorSchema:q.any(),errorToMessage:(X)=>X}),fetch:this.config.fetch});return Q}catch(Y){throw await I3(Y)}}},fD4,bD4,hD4=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:qT0(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)}}},xD4=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(gD4),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}}},gD4,uD4=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)=>EC0(P))},...W&&{mask:EC0(W)}},successfulResponseHandler:R3(pD4),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}}},mD4,lD4,dD4,pD4,cD4=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:nD4(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=cl({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}}},iD4,aD4,rD4,oD4,sD4,tD4,eD4,YO4=(Y={})=>eD4(Y),QO4,XO4,JO4,GO4=(Y={})=>JO4(Y),WO4,KO4="3.0.60",HO4="0.0.1",fC0;var _31=S(()=>{m4();q8();G4();G4();m4();m4();G4();m4();m4();G4();m4();G4();m4();G4();m4();G4();q8();m4();G4();m4();v1();m4();v1();m4();kC0=s6(j31(),1),yC0=s6(j31(),1),S31=Symbol.for(ND4),e5=class Y extends(sT0=Error,oT0=S31,sT0){constructor({message:Q,statusCode:X=500,cause:J,generationId:G}){super(G?`${Q} [${G}]`:Q);this[oT0]=!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&&S31 in Q&&Q[S31]===!0}},MD4=`vercel.ai.gateway.error.${TC0}`,tT0=Symbol.for(MD4),el=class Y extends(YC0=e5,eT0=tT0,YC0){constructor({message:Q="Authentication failed",statusCode:X=401,cause:J,generationId:G}={}){super({message:Q,statusCode:X,cause:J,generationId:G});this[eT0]=!0,this.name=TC0,this.type="authentication_error"}static isInstance(Q){return e5.hasMarker(Q)&&tT0 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.
|
|
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 $T0(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,...$}=FT0(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,...$}=KT0(Y.keyType._def,Q);return{...H,propertyNames:$}}return H}function FU4(Y,Q){if(Q.mapStrategy==="record")return $T0(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 $U4(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 VU4(){return{not:CJ()}}function qU4(){return{type:"null"}}function BU4(Y,Q){let X=Y.options instanceof Map?Array.from(Y.options.values()):Y.options;if(X.every((J)=>(J._def.typeName in $31)&&(!J._def.checks||!J._def.checks.length))){let J=X.reduce((G,K)=>{let W=$31[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 UU4(Y,Q)}function zU4(Y,Q){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(Y.innerType._def.typeName)&&(!Y.innerType._def.checks||!Y.innerType._def.checks.length))return{type:[$31[Y.innerType._def.typeName],"null"]};let X=N8(Y.innerType._def,{...Q,currentPath:[...Q.currentPath,"anyOf","0"]});return X&&{anyOf:[X,{type:"null"}]}}function DU4(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 OU4(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=NU4(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=LU4(Y,Q);if(K!==void 0)X.additionalProperties=K;return X}function LU4(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 NU4(Y){try{return Y.isOptional()}catch(Q){return!0}}function AU4(Y,Q){return N8(Y.type._def,Q)}function PU4(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 EU4(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 TU4(){return{not:CJ()}}function CU4(){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!==aB4)return H}if(G&&!X){let H=SU4(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=IU4(Y,Y.typeName,Q),Z=typeof W==="function"?N8(W(),Q):W;if(Z)_U4(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{[V31]:!0,_type:void 0,get jsonSchema(){if(typeof Y==="function")Y=Y();return Y},validate:Q}}function yU4(Y){return typeof Y==="object"&&Y!==null&&V31 in Y&&Y[V31]===!0&&"jsonSchema"in Y&&"validate"in Y}function hZ(Y){return Y==null?lB({properties:{},additionalProperties:!1}):yU4(Y)?Y:("~standard"in Y)?Y["~standard"].vendor==="zod"?P9(Y):fU4(Y):Y()}function fU4(Y){return lB(()=>U31(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 bU4(Y,Q){var X;let J=(X=Q==null?void 0:Q.useReferences)!=null?X:!1;return lB(()=>kU4(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 hU4(Y,Q){var X;let J=(X=Q==null?void 0:Q.useReferences)!=null?X:!1;return lB(()=>U31($W(Y,{target:"draft-7",io:"input",reused:J?"ref":"inline"})),{validate:async(G)=>{let K=await nU(Y,G);return K.success?{success:!0,value:K.data}:{success:!1,error:K.error}}})}function xU4(Y){return"_zod"in Y}function P9(Y,Q){if(xU4(Y))return hU4(Y,Q);else return bU4(Y,Q)}async function VT0({value:Y,schema:Q,context:X}){let J=await t5({value:Y,schema:Q,context:X});if(!J.success)throw nG.wrap({value:Y,cause:J.error,context:X});return J.value}async function t5({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 gU4({text:Y,schema:Q}){try{let X=ZT0(Y);if(Q==null)return X;return VT0({value:X,schema:Q})}catch(X){if(JR.isInstance(X)||nG.isInstance(X))throw X;throw new JR({text:Y,cause:X})}}async function lX({text:Y,schema:Q}){try{let X=ZT0(Y);if(Q==null)return{success:!0,value:X,rawValue:X};return await t5({value:X,schema:Q})}catch(X){return{success:!1,error:JR.isInstance(X)?X:new JR({text:Y,cause:X}),rawValue:void 0}}}function cl({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 nl(Y){return Y}function il({id:Y,inputSchema:Q,outputSchema:X,supportsDeferredResults:J}){return({execute:G,needsApproval:K,toModelOutput:W,onInputStart:Z,onInputDelta:H,onInputAvailable:F,...$})=>nl({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 BT0(Y){return Y==null?void 0:Y.replace(/\/$/,"")}function lU4(Y){return Y!=null&&typeof Y[Symbol.asyncIterator]==="function"}async function*UT0({execute:Y,input:Q,options:X}){let J=Y(Q,X);if(lU4(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 bB4,hB4,YT0="AI_DownloadError",QT0,xB4,aE0,rE0,FN,q31=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 CE0({argument:"separator",message:`The separator "${J}" must not be part of the alphabet "${X}".`});return()=>`${Y}${J}${G()}`},gB4,uB4,mB4,GT0="4.0.17",pB4=()=>globalThis.fetch,B31=async({url:Y,headers:Q={},successfulResponseHandler:X,failedResponseHandler:J,abortSignal:G,fetch:K=pB4()})=>{try{let W=await K(Y,{method:"GET",headers:T3(Q,`ai-sdk/provider-utils/${GT0}`,pl()),signal:G}),Z=GR(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 JT0({error:W,url:Y,requestBodyValues:{}})}},cB4,nB4,aB4,sE0,rB4=(Y)=>typeof Y==="string"?{...sE0,name:Y}:{...sE0,...Y},eB4=(Y,Q)=>{return N8(Y.innerType._def,Q)},YU4=(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},GU4=(Y)=>{if("type"in Y&&Y.type==="string")return!1;return"allOf"in Y},H31=void 0,iG,KU4,$31,UU4=(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},MU4=(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()},wU4=(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)}},RU4=(Y,Q)=>{return N8(Y.innerType._def,Q)},IU4=(Y,Q,X)=>{switch(Q){case b1.ZodString:return FT0(Y,X);case b1.ZodNumber:return DU4(Y);case b1.ZodObject:return OU4(Y,X);case b1.ZodBigInt:return sB4(Y);case b1.ZodBoolean:return tB4();case b1.ZodDate:return HT0(Y,X);case b1.ZodUndefined:return TU4();case b1.ZodNull:return qU4();case b1.ZodArray:return oB4(Y,X);case b1.ZodUnion:case b1.ZodDiscriminatedUnion:return BU4(Y,X);case b1.ZodIntersection:return WU4(Y,X);case b1.ZodTuple:return EU4(Y,X);case b1.ZodRecord:return $T0(Y,X);case b1.ZodLiteral:return ZU4(Y);case b1.ZodEnum:return JU4(Y);case b1.ZodNativeEnum:return $U4(Y);case b1.ZodNullable:return zU4(Y,X);case b1.ZodOptional:return MU4(Y,X);case b1.ZodMap:return FU4(Y,X);case b1.ZodSet:return PU4(Y,X);case b1.ZodLazy:return()=>Y.getter()._def;case b1.ZodPromise:return AU4(Y,X);case b1.ZodNaN:case b1.ZodNever:return VU4();case b1.ZodEffects:return XU4(Y,X);case b1.ZodAny:return CJ();case b1.ZodUnknown:return CU4();case b1.ZodDefault:return QU4(Y,X);case b1.ZodBranded:return KT0(Y,X);case b1.ZodReadonly:return RU4(Y,X);case b1.ZodCatch:return eB4(Y,X);case b1.ZodPipeline:return wU4(Y,X);case b1.ZodFunction:case b1.ZodVoid:case b1.ZodSymbol:return;default:return((J)=>{return})(Q)}},jU4=(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("/")},SU4=(Y,Q)=>{switch(Q.$refStrategy){case"root":return{$ref:Y.path.join("/")};case"relative":return{$ref:jU4(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}}},_U4=(Y,Q,X)=>{if(Y.description)X.description=Y.description;return X},vU4=(Y)=>{let Q=rB4(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}]))}},kU4=(Y,Q)=>{var X;let J=vU4(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},V31,uU4=()=>globalThis.fetch,C3=async({url:Y,headers:Q,body:X,failedResponseHandler:J,successfulResponseHandler:G,abortSignal:K,fetch:W})=>mU4({url:Y,headers:{"Content-Type":"application/json",...Q},body:{content:JSON.stringify(X),values:X},failedResponseHandler:J,successfulResponseHandler:G,abortSignal:K,fetch:W}),mU4=async({url:Y,headers:Q={},body:X,successfulResponseHandler:J,failedResponseHandler:G,abortSignal:K,fetch:W=uU4()})=>{try{let Z=await W(Y,{method:"POST",headers:T3(Q,`ai-sdk/provider-utils/${GT0}`,pl()),body:X.content,signal:K}),H=GR(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 JT0({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=GR(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 gU4({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)})}}},qT0=(Y)=>async({response:Q})=>{let X=GR(Q);if(Q.body==null)throw new PE0({});return{responseHeaders:X,value:cl({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=GR(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();wk();q8();q8();({btoa:bB4,atob:hB4}=globalThis);QT0=`vercel.ai.error.${YT0}`,xB4=Symbol.for(QT0),FN=class extends(rE0=b0,aE0=xB4,rE0){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:YT0,message:G,cause:J});this[aE0]=!0,this.url=Y,this.statusCode=Q,this.statusText=X}static isInstance(Y){return b0.hasMarker(Y,QT0)}};gB4=bZ();uB4=["fetch failed","failed to fetch"],mB4=["ConnectionRefused","ConnectionClosed","FailedToOpenSocket","ECONNRESET","ECONNREFUSED","ETIMEDOUT","EPIPE"];cB4=/"__proto__"\s*:/,nB4=/"constructor"\s*:/;aB4=Symbol("Let zodToJsonSchema decide on which parser to use"),sE0={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(H31===void 0)H31=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return H31},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-_]*$/};KU4=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");$31={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};V31=Symbol.for("vercel.ai.schema")});var D31=T(($y8,OT0)=>{var{defineProperty:z31,getOwnPropertyDescriptor:dU4,getOwnPropertyNames:pU4}=Object,cU4=Object.prototype.hasOwnProperty,nU4=(Y,Q)=>{for(var X in Q)z31(Y,X,{get:Q[X],enumerable:!0})},iU4=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of pU4(Q))if(!cU4.call(Y,G)&&G!==X)z31(Y,G,{get:()=>Q[G],enumerable:!(J=dU4(Q,G))||J.enumerable})}return Y},aU4=(Y)=>iU4(z31({},"__esModule",{value:!0}),Y),zT0={};nU4(zT0,{SYMBOL_FOR_REQ_CONTEXT:()=>DT0,getContext:()=>rU4});OT0.exports=aU4(zT0);var DT0=Symbol.for("@vercel/request-context");function rU4(){return globalThis[DT0]?.get?.()??{}}});var WR=T((Vy8,MT0)=>{var{defineProperty:O31,getOwnPropertyDescriptor:oU4,getOwnPropertyNames:sU4}=Object,tU4=Object.prototype.hasOwnProperty,eU4=(Y,Q)=>{for(var X in Q)O31(Y,X,{get:Q[X],enumerable:!0})},Yz4=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of sU4(Q))if(!tU4.call(Y,G)&&G!==X)O31(Y,G,{get:()=>Q[G],enumerable:!(J=oU4(Q,G))||J.enumerable})}return Y},Qz4=(Y)=>Yz4(O31({},"__esModule",{value:!0}),Y),LT0={};eU4(LT0,{VercelOidcTokenError:()=>NT0});MT0.exports=Qz4(LT0);class NT0 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 ET0=T((qy8,PT0)=>{var{create:Xz4,defineProperty:al,getOwnPropertyDescriptor:Jz4,getOwnPropertyNames:Gz4,getPrototypeOf:Wz4}=Object,Zz4=Object.prototype.hasOwnProperty,Kz4=(Y,Q)=>{for(var X in Q)al(Y,X,{get:Q[X],enumerable:!0})},wT0=(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)al(Y,G,{get:()=>Q[G],enumerable:!(J=Jz4(Q,G))||J.enumerable})}return Y},N31=(Y,Q,X)=>(X=Y!=null?Xz4(Wz4(Y)):{},wT0(Q||!Y||!Y.__esModule?al(X,"default",{value:Y,enumerable:!0}):X,Y)),Hz4=(Y)=>wT0(al({},"__esModule",{value:!0}),Y),AT0={};Kz4(AT0,{findRootDir:()=>Vz4,getUserDataDir:()=>qz4});PT0.exports=Hz4(AT0);var ZR=N31(D1("path")),Fz4=N31(D1("fs")),L31=N31(D1("os")),$z4=WR();function Vz4(){try{let Y=process.cwd();while(Y!==ZR.default.dirname(Y)){let Q=ZR.default.join(Y,".vercel");if(Fz4.default.existsSync(Q))return Y;Y=ZR.default.dirname(Y)}}catch(Y){throw new $z4.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}function qz4(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(L31.default.platform()){case"darwin":return ZR.default.join(L31.default.homedir(),"Library/Application Support");case"linux":return ZR.default.join(L31.default.homedir(),".local/share");case"win32":if(process.env.LOCALAPPDATA)return process.env.LOCALAPPDATA;return null;default:return null}}});var _T0=T((By8,ST0)=>{var{create:Bz4,defineProperty:rl,getOwnPropertyDescriptor:Uz4,getOwnPropertyNames:zz4,getPrototypeOf:Dz4}=Object,Oz4=Object.prototype.hasOwnProperty,Lz4=(Y,Q)=>{for(var X in Q)rl(Y,X,{get:Q[X],enumerable:!0})},TT0=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of zz4(Q))if(!Oz4.call(Y,G)&&G!==X)rl(Y,G,{get:()=>Q[G],enumerable:!(J=Uz4(Q,G))||J.enumerable})}return Y},CT0=(Y,Q,X)=>(X=Y!=null?Bz4(Dz4(Y)):{},TT0(Q||!Y||!Y.__esModule?rl(X,"default",{value:Y,enumerable:!0}):X,Y)),Nz4=(Y)=>TT0(rl({},"__esModule",{value:!0}),Y),RT0={};Lz4(RT0,{isValidAccessToken:()=>Pz4,readAuthConfig:()=>wz4,writeAuthConfig:()=>Az4});ST0.exports=Nz4(RT0);var KR=CT0(D1("fs")),IT0=CT0(D1("path")),Mz4=ol();function jT0(){let Y=(0,Mz4.getVercelDataDir)();if(!Y)throw Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return IT0.join(Y,"auth.json")}function wz4(){try{let Y=jT0();if(!KR.existsSync(Y))return null;let Q=KR.readFileSync(Y,"utf8");if(!Q)return null;return JSON.parse(Q)}catch(Y){return null}}function Az4(Y){let Q=jT0(),X=IT0.dirname(Q);if(!KR.existsSync(X))KR.mkdirSync(X,{mode:504,recursive:!0});KR.writeFileSync(Q,JSON.stringify(Y,null,2),{mode:384})}function Pz4(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 fT0=T((Uy8,yT0)=>{var{defineProperty:A31,getOwnPropertyDescriptor:Ez4,getOwnPropertyNames:Tz4}=Object,Cz4=Object.prototype.hasOwnProperty,Rz4=(Y,Q)=>{for(var X in Q)A31(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)A31(Y,G,{get:()=>Q[G],enumerable:!(J=Ez4(Q,G))||J.enumerable})}return Y},jz4=(Y)=>Iz4(A31({},"__esModule",{value:!0}),Y),vT0={};Rz4(vT0,{processTokenResponse:()=>yz4,refreshTokenRequest:()=>kz4});yT0.exports=jz4(vT0);var M31=D1("os"),Sz4="https://vercel.com",_z4="cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",kT0=`@vercel/oidc node-${process.version} ${(0,M31.platform)()} (${(0,M31.arch)()}) ${(0,M31.hostname)()}`,w31=null;async function vz4(){if(w31)return w31;let Y=`${Sz4}/.well-known/openid-configuration`,Q=await fetch(Y,{headers:{"user-agent":kT0}});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 w31=J,J}async function kz4(Y){let Q=await vz4();return await fetch(Q,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":kT0},body:new URLSearchParams({client_id:_z4,grant_type:"refresh_token",...Y})})}async function yz4(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 ol=T((zy8,uT0)=>{var{create:fz4,defineProperty:sl,getOwnPropertyDescriptor:bz4,getOwnPropertyNames:hz4,getPrototypeOf:xz4}=Object,gz4=Object.prototype.hasOwnProperty,uz4=(Y,Q)=>{for(var X in Q)sl(Y,X,{get:Q[X],enumerable:!0})},hT0=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of hz4(Q))if(!gz4.call(Y,G)&&G!==X)sl(Y,G,{get:()=>Q[G],enumerable:!(J=bz4(Q,G))||J.enumerable})}return Y},xT0=(Y,Q,X)=>(X=Y!=null?fz4(xz4(Y)):{},hT0(Q||!Y||!Y.__esModule?sl(X,"default",{value:Y,enumerable:!0}):X,Y)),mz4=(Y)=>hT0(sl({},"__esModule",{value:!0}),Y),gT0={};uz4(gT0,{assertVercelOidcTokenResponse:()=>P31,findProjectInfo:()=>cz4,getTokenPayload:()=>az4,getVercelCliToken:()=>dz4,getVercelDataDir:()=>lz4,getVercelOidcToken:()=>pz4,isExpired:()=>rz4,loadToken:()=>iz4,saveToken:()=>nz4});uT0.exports=mz4(gT0);var HR=xT0(D1("path")),dB=xT0(D1("fs")),BN=WR(),tl=ET0(),qN=_T0(),bT0=fT0();function lz4(){let Q=(0,tl.getUserDataDir)();if(!Q)return null;return HR.join(Q,"com.vercel.cli")}async function dz4(){let Y=(0,qN.readAuthConfig)();if(!Y)return null;if((0,qN.isValidAccessToken)(Y))return Y.token||null;if(!Y.refreshToken)return(0,qN.writeAuthConfig)({}),null;try{let Q=await(0,bT0.refreshTokenRequest)({refresh_token:Y.refreshToken}),[X,J]=await(0,bT0.processTokenResponse)(Q);if(X||!J)return(0,qN.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,qN.writeAuthConfig)(G),G.token??null}catch(Q){return(0,qN.writeAuthConfig)({}),null}}async function pz4(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 BN.VercelOidcTokenError(`Failed to refresh OIDC token: ${G.statusText}`);let K=await G.json();return P31(K),K}function P31(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 cz4(){let Y=(0,tl.findRootDir)();if(!Y)throw new BN.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let Q=HR.join(Y,".vercel","project.json");if(!dB.existsSync(Q))throw new BN.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 nz4(Y,Q){let X=(0,tl.getUserDataDir)();if(!X)throw new BN.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let J=HR.join(X,"com.vercel.token",`${Q}.json`),G=JSON.stringify(Y);dB.mkdirSync(HR.dirname(J),{mode:504,recursive:!0}),dB.writeFileSync(J,G),dB.chmodSync(J,432);return}function iz4(Y){let Q=(0,tl.getUserDataDir)();if(!Q)throw new BN.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let X=HR.join(Q,"com.vercel.token",`${Y}.json`);if(!dB.existsSync(X))return null;let J=JSON.parse(dB.readFileSync(X,"utf8"));return P31(J),J}function az4(Y){let Q=Y.split(".");if(Q.length!==3)throw new BN.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 rz4(Y){return Y.exp*1000<Date.now()}});var dT0=T((Dy8,lT0)=>{var{defineProperty:T31,getOwnPropertyDescriptor:oz4,getOwnPropertyNames:sz4}=Object,tz4=Object.prototype.hasOwnProperty,ez4=(Y,Q)=>{for(var X in Q)T31(Y,X,{get:Q[X],enumerable:!0})},YD4=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of sz4(Q))if(!tz4.call(Y,G)&&G!==X)T31(Y,G,{get:()=>Q[G],enumerable:!(J=oz4(Q,G))||J.enumerable})}return Y},QD4=(Y)=>YD4(T31({},"__esModule",{value:!0}),Y),mT0={};ez4(mT0,{refreshToken:()=>XD4});lT0.exports=QD4(mT0);var E31=WR(),pB=ol();async function XD4(){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 E31.VercelOidcTokenError("Failed to refresh OIDC token: Log in to Vercel CLI and link your project with `vc link`");if(!Y)throw new E31.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 E31.VercelOidcTokenError("Failed to refresh OIDC token");(0,pB.saveToken)(X,Y)}process.env.VERCEL_OIDC_TOKEN=X.token;return}});var nT0=T((Oy8,cT0)=>{var{defineProperty:R31,getOwnPropertyDescriptor:JD4,getOwnPropertyNames:GD4}=Object,WD4=Object.prototype.hasOwnProperty,ZD4=(Y,Q)=>{for(var X in Q)R31(Y,X,{get:Q[X],enumerable:!0})},KD4=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of GD4(Q))if(!WD4.call(Y,G)&&G!==X)R31(Y,G,{get:()=>Q[G],enumerable:!(J=JD4(Q,G))||J.enumerable})}return Y},HD4=(Y)=>KD4(R31({},"__esModule",{value:!0}),Y),pT0={};ZD4(pT0,{getVercelOidcToken:()=>VD4,getVercelOidcTokenSync:()=>C31});cT0.exports=HD4(pT0);var FD4=D31(),$D4=WR();async function VD4(){let Y="",Q;try{Y=C31()}catch(X){Q=X}try{let[{getTokenPayload:X,isExpired:J},{refreshToken:G}]=await Promise.all([await Promise.resolve().then(() => s6(ol())),await Promise.resolve().then(() => s6(dT0()))]);if(!Y||J(X(Y)))await G(),Y=C31()}catch(X){let J=Q instanceof Error?Q.message:"";if(X instanceof Error)J=`${J}
|
|
1260
|
+
${X.message}`;if(J)throw new $D4.VercelOidcTokenError(J);throw X}return Y}function C31(){let Y=(0,FD4.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 j31=T((Ly8,rT0)=>{var{defineProperty:I31,getOwnPropertyDescriptor:qD4,getOwnPropertyNames:BD4}=Object,UD4=Object.prototype.hasOwnProperty,zD4=(Y,Q)=>{for(var X in Q)I31(Y,X,{get:Q[X],enumerable:!0})},DD4=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of BD4(Q))if(!UD4.call(Y,G)&&G!==X)I31(Y,G,{get:()=>Q[G],enumerable:!(J=qD4(Q,G))||J.enumerable})}return Y},OD4=(Y)=>DD4(I31({},"__esModule",{value:!0}),Y),aT0={};zD4(aT0,{getContext:()=>LD4.getContext,getVercelOidcToken:()=>iT0.getVercelOidcToken,getVercelOidcTokenSync:()=>iT0.getVercelOidcTokenSync});rT0.exports=OD4(aT0);var iT0=nT0(),LD4=D31()});async function OC0({response:Y,statusCode:Q,defaultMessage:X="Gateway request failed",cause:J,authMethod:G}){var K;let W=await t5({value:Y,schema:_D4});if(!W.success){let V=typeof Y==="object"&&Y!==null&&"generationId"in Y?Y.generationId:void 0;return new SD4({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 el.createContextualError({apiKeyProvided:G==="api-key",oidcTokenProvided:G==="oidc",statusCode:Q,cause:J,generationId:$});case"invalid_request_error":return new AD4({message:F,statusCode:Q,cause:J,generationId:$});case"rate_limit_exceeded":return new ED4({message:F,statusCode:Q,cause:J,generationId:$});case"model_not_found":{let V=await t5({value:Z.error.param,schema:CD4});return new RD4({message:F,statusCode:Q,modelId:V.success?V.value.modelId:void 0,cause:J,generationId:$})}case"internal_server_error":return new BC0({message:F,statusCode:Q,cause:J,generationId:$});default:return new BC0({message:F,statusCode:Q,cause:J,generationId:$})}}function AC0(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(e5.isInstance(Y))return Y;if(AC0(Y))return wC0.createTimeoutError({originalMessage:Y instanceof Error?Y.message:"Unknown error",cause:Y});if(x8.isInstance(Y)){if(Y.cause&&AC0(Y.cause))return wC0.createTimeoutError({originalMessage:Y.message,cause:Y});return await OC0({response:kD4(Y),statusCode:(X=Y.statusCode)!=null?X:500,defaultMessage:"Gateway request failed",cause:Y,authMethod:Q})}return await OC0({response:{},statusCode:500,defaultMessage:Y instanceof Error?`Gateway request failed: ${Y.message}`:"Unknown Gateway error",cause:Y,authMethod:Q})}function kD4(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 t5({value:Y[vC0],schema:yD4});return Q.success?Q.value:void 0}function EC0(Y){if(Y.type==="file"&&Y.data instanceof Uint8Array)return{...Y,data:E3(Y.data)};return Y}function nD4(Y){if(Y.type==="file"&&Y.data instanceof Uint8Array)return{...Y,data:E3(Y.data)};return Y}async function ZO4(){var Y;return(Y=kC0.getContext().headers)==null?void 0:Y["x-vercel-id"]}function FO4(Y={}){var Q,X;let J=null,G=null,K=(Q=Y.metadataCacheRefreshMillis)!=null?Q:300000,W=0,Z=(X=BT0(Y.baseURL))!=null?X:"https://ai-gateway.vercel.sh/v3/ai",H=async()=>{try{let O=await $O4(Y);return T3({Authorization:`Bearer ${O.token}`,"ai-gateway-protocol-version":HO4,[vC0]:O.authMethod,...Y.headers},`ai-sdk/gateway/${KO4}`)}catch(O){throw el.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:O})}},F=()=>{let O=VN({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),M=VN({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),w=VN({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),P=VN({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let j=await ZO4();return{...O&&{"ai-o11y-deployment-id":O},...M&&{"ai-o11y-environment":M},...w&&{"ai-o11y-region":w},...j&&{"ai-o11y-request-id":j},...P&&{"ai-o11y-project-id":P}}}},$=(O)=>{return new hD4(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 PC0({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 PC0({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 uD4(O,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:F()})},U.languageModel=$;let z=(O)=>{return new xD4(O,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:F()})};return U.embeddingModel=z,U.textEmbeddingModel=z,U.videoModel=(O)=>{return new cD4(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=WO4,U}async function $O4(Y){let Q=VN({settingValue:Y.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(Q)return{token:Q,authMethod:"api-key"};return{token:await yC0.getVercelOidcToken(),authMethod:"oidc"}}var kC0,yC0,ND4="vercel.ai.gateway.error",S31,oT0,sT0,e5,TC0="GatewayAuthenticationError",MD4,tT0,eT0,YC0,el,CC0="GatewayInvalidRequestError",wD4,QC0,XC0,JC0,AD4,RC0="GatewayRateLimitError",PD4,GC0,WC0,ZC0,ED4,IC0="GatewayModelNotFoundError",TD4,KC0,CD4,HC0,FC0,RD4,jC0="GatewayInternalServerError",ID4,$C0,VC0,qC0,BC0,SC0="GatewayResponseError",jD4,UC0,zC0,DC0,SD4,_D4,_C0="GatewayTimeoutError",vD4,LC0,NC0,MC0,wC0,vC0="ai-gateway-auth-method",yD4,PC0=class{constructor(Y){this.config=Y}async getAvailableModels(){try{let{value:Y}=await B31({url:`${this.config.baseURL}/config`,headers:await qY(this.config.headers()),successfulResponseHandler:R3(fD4),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 B31({url:`${Y.origin}/v1/credits`,headers:await qY(this.config.headers()),successfulResponseHandler:R3(bD4),failedResponseHandler:x7({errorSchema:q.any(),errorToMessage:(X)=>X}),fetch:this.config.fetch});return Q}catch(Y){throw await I3(Y)}}},fD4,bD4,hD4=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:qT0(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)}}},xD4=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(gD4),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}}},gD4,uD4=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)=>EC0(P))},...W&&{mask:EC0(W)}},successfulResponseHandler:R3(pD4),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}}},mD4,lD4,dD4,pD4,cD4=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:nD4(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=cl({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}}},iD4,aD4,rD4,oD4,sD4,tD4,eD4,YO4=(Y={})=>eD4(Y),QO4,XO4,JO4,GO4=(Y={})=>JO4(Y),WO4,KO4="3.0.61",HO4="0.0.1",fC0;var _31=S(()=>{m4();q8();G4();G4();m4();m4();G4();m4();m4();G4();m4();G4();m4();G4();m4();G4();q8();m4();G4();m4();v1();m4();v1();m4();kC0=s6(j31(),1),yC0=s6(j31(),1),S31=Symbol.for(ND4),e5=class Y extends(sT0=Error,oT0=S31,sT0){constructor({message:Q,statusCode:X=500,cause:J,generationId:G}){super(G?`${Q} [${G}]`:Q);this[oT0]=!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&&S31 in Q&&Q[S31]===!0}},MD4=`vercel.ai.gateway.error.${TC0}`,tT0=Symbol.for(MD4),el=class Y extends(YC0=e5,eT0=tT0,YC0){constructor({message:Q="Authentication failed",statusCode:X=401,cause:J,generationId:G}={}){super({message:Q,statusCode:X,cause:J,generationId:G});this[eT0]=!0,this.name=TC0,this.type="authentication_error"}static isInstance(Q){return e5.hasMarker(Q)&&tT0 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 y31({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 mL4({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=_R0(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 pL4({isEnabled:Y=!1,tracer:Q}={}){if(!Y)return lL4;if(Q)return Q;return gR0.trace.getTracer("ai")}async function f31({name:Y,tracer:Q,attributes:X,fn:J,endWhenDone:G=!0}){return Q.startActiveSpan(Y,{attributes:await X},async(K)=>{let W=zN.context.active();try{let Z=await zN.context.with(W,()=>J(K));if(G)K.end();return Z}catch(Z){try{uR0(K,Z)}finally{K.end()}throw Z}})}function uR0(Y,Q){if(Q instanceof Error)Y.recordException({name:Q.name,message:Q.message,stack:Q.stack}),Y.setStatus({code:zN.SpanStatusCode.ERROR,message:Q.message});else Y.setStatus({code:zN.SpanStatusCode.ERROR})}async function UN({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 cL4(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?wL4(X.data):X.data}:X)})))}function nL4(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 iL4(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 mR0(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]=mR0(K,G);else X[J]=G}return X}function aL4({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 lR0(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=dl(W),H=[...K,W],F=H.length;if(F>Q)throw new hC0({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 eE0(aL4({error:W,exponentialBackoffDelay:X}),{abortSignal:G}),lR0(Y,{maxRetries:Q,delayInMs:J*X,backoffFactor:J,abortSignal:G},H);if(F===1)throw W;throw new hC0({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:rL4({maxRetries:X,abortSignal:Q})}}function sL4({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 MO4({approvalId:H.approvalId});if(G[F.toolCallId]!=null)continue;let $=X[F.toolCallId];if($==null)throw new ZR0({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 v31(){var Y,Q;return(Q=(Y=globalThis==null?void 0:globalThis.performance)==null?void 0:Y.now())!=null?Q:Date.now()}async function tL4({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 f31({name:"ai.toolCall",attributes:UN({telemetry:J,attributes:{...y31({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;await nB({event:M,callbacks:$});let j=v31();try{let E=UT0({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=v31()-j;return await nB({event:{...M,success:!1,error:E,durationMs:I},callbacks:V}),uR0(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=v31()-j;await nB({event:{...M,success:!0,output:P,durationMs:C},callbacks:V});try{w.setAttributes(await UN({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 dC0(Y){let Q=Y.filter((X)=>X.type==="reasoning");return Q.length===0?void 0:Q.map((X)=>X.text).join(`
|
|
1286
|
-
`)}function pC0(Y){let Q=Y.filter((X)=>X.type==="text");if(Q.length===0)return;return Q.map((X)=>X.text).join("")}async function YN4({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 XN4(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 Jd(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:XN4(Y)}),Q.success)return{value:Q.value,state:"repaired-parse"};return{value:void 0,state:"failed-parse"}}async function KN4({toolCall:Y,tools:Q,repairToolCall:X,system:J,messages:G}){var K;try{if(Q==null){if(Y.providerExecuted&&Y.dynamic)return await pR0(Y);throw new k31({toolName:Y.toolName})}try{return await cC0({toolCall:Y,tools:Q})}catch(W){if(X==null||!(k31.isInstance(W)||b31.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 cO4({cause:H,originalError:W})}if(Z==null)throw W;return await cC0({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 pR0(Y){let Q=Y.input.trim()===""?{success:!0,value:{}}:await lX({text:Y.input});if(Q.success===!1)throw new b31({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 cC0({toolCall:Y,tools:Q}){let X=Y.toolName,J=Q[X];if(J==null){if(Y.providerExecuted&&Y.dynamic)return await pR0(Y);throw new k31({toolName:Y.toolName,availableTools:Object.keys(Q)})}let G=hZ(J.inputSchema),K=Y.input.trim()===""?await t5({value:{},schema:G}):await lX({text:Y.input,schema:G});if(K.success===!1)throw new b31({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 h31(Y){return({steps:Q})=>Q.length===Y}async function FN4({stopConditions:Y,steps:Q}){return(await Promise.all(Y.map((X)=>X({steps:Q})))).some((X)=>X)}async function $N4({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 Qd({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 Qd({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 Qd({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 VN4(...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 cR0({model:Y,tools:Q,toolChoice:X,system:J,prompt:G,messages:K,maxRetries:W,abortSignal:Z,timeout:H,headers:F,stopWhen:$=h31(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=qN4}={},experimental_onStart:y,experimental_onStepStart:b,experimental_onToolCallStart:h,experimental_onToolCallFinish:x,onStepFinish:e,onFinish:l,...f}){let c=gC0(Y),J1=Xd($),Y1=_R0(H),U1=UL4(H),T1=U1!=null?new AbortController:void 0,B1=VN4(Z,Y1!=null?AbortSignal.timeout(Y1):void 0,T1==null?void 0:T1.signal),{maxRetries:C1,retry:y1}=oL4({maxRetries:W,abortSignal:B1}),a1=lC0(f),E0=T3(F!=null?F:{},`ai/${vR0}`),P1=mL4({model:c,telemetry:U,headers:E0,settings:{...a1,maxRetries:C1}}),V1={provider:c.provider,modelId:c.modelId},m1=await gL4({system:J,prompt:G,messages:K});await nB({event:{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},callbacks:y});let Q6=pL4(U);try{return await f31({name:"ai.generateText",attributes:UN({telemetry:U,attributes:{...y31({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(r0)=>{var t1,R1,z1,f1,L1,E1,O0,c1,r1,y6,m6,_4,J8;let A0=m1.messages,x1=[],{approvedToolApprovals:L0,deniedToolApprovals:G8}=sL4({messages:A0}),p8=L0.filter((n)=>!n.toolCall.providerExecuted);if(G8.length>0||p8.length>0){let n=await nC0({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 Qd({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=lC0(f),y0,JX=[],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=gC0((t1=W1==null?void 0:W1.model)!=null?t1:c),n1={provider:a.provider,modelId:a.modelId},d0=await AL4({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 RL4({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=mR0(z,W1==null?void 0:W1.providerOptions);await nB({event:{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},callbacks:b}),y0=await y1(()=>{var I0;return f31({name:"ai.generateText.doGenerate",attributes:UN({telemetry:U,attributes:{...y31({operationId:"ai.generateText.doGenerate",telemetry:U}),...P1,"ai.model.provider":a.provider,"ai.model.id":a.modelId,"ai.prompt.messages":{input:()=>cL4(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":(I0=f.temperature)!=null?I0:void 0,"gen_ai.request.top_k":f.topK,"gen_ai.request.top_p":f.topP}}),tracer:Q6,fn:async(l4)=>{var mQ,c7,FU,$U,VU,qU,BU,UU;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:($U=(FU=QY.response)==null?void 0:FU.timestamp)!=null?$U:new Date,modelId:(qU=(VU=QY.response)==null?void 0:VU.modelId)!=null?qU:a.modelId,headers:(BU=QY.response)==null?void 0:BU.headers,body:(UU=QY.response)==null?void 0:UU.body};return l4.setAttributes(await UN({telemetry:U,attributes:{"ai.response.finishReason":QY.finishReason.unified,"ai.response.text":{output:()=>pC0(QY.content)},"ai.response.reasoning":{output:()=>dC0(QY.content)},"ai.response.toolCalls":{output:()=>{let VI=iC0(QY.content);return VI==null?void 0:JSON.stringify(VI)}},"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((I0)=>I0.type==="tool-call").map((I0)=>KN4({toolCall:I0,tools:Q,repairToolCall:j,system:J,messages:Z1}))),p7={};for(let I0 of YY){if(I0.invalid)continue;let l4=Q==null?void 0:Q[I0.toolName];if(l4==null)continue;if((l4==null?void 0:l4.onInputAvailable)!=null)await l4.onInputAvailable({input:I0.input,toolCallId:I0.toolCallId,messages:Z1,abortSignal:B1,experimental_context:E});if(await YN4({tool:l4,toolCall:I0,messages:Z1,experimental_context:E}))p7[I0.toolCallId]={type:"tool-approval-request",approvalId:v(),toolCall:I0}}let YW=YY.filter((I0)=>I0.invalid&&I0.dynamic);N=[];for(let I0 of YW)N.push({type:"tool-error",toolCallId:I0.toolCallId,toolName:I0.toolName,input:I0.input,error:dl(I0.error),dynamic:!0});if(JX=YY.filter((I0)=>!I0.providerExecuted),Q!=null)N.push(...await nC0({toolCalls:JX.filter((I0)=>!I0.invalid&&p7[I0.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 I0 of YY){if(!I0.providerExecuted)continue;let l4=Q==null?void 0:Q[I0.toolName];if((l4==null?void 0:l4.type)==="provider"&&l4.supportsDeferredResults){if(!y0.content.some((c7)=>c7.type==="tool-result"&&c7.toolCallId===I0.toolCallId))X1.set(I0.toolCallId,{toolName:I0.toolName})}}for(let I0 of y0.content)if(I0.type==="tool-result")X1.delete(I0.toolCallId);let V0=UN4({content:y0.content,toolCalls:YY,toolOutputs:N,toolApprovalRequests:Object.values(p7),tools:Q});x1.push(...await $N4({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 HN4({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:nL4(y0.usage),warnings:y0.warnings,providerMetadata:y0.providerMetadata,request:l6,response:E9});IR0({warnings:(J8=y0.warnings)!=null?J8:[],provider:n1.provider,model:n1.modelId}),k.push(q0),await nB({event:q0,callbacks:e})}finally{if(n!=null)clearTimeout(n)}}while((JX.length>0&&N.length===JX.length||X1.size>0)&&!await FN4({stopConditions:J1,steps:k}));r0.setAttributes(await UN({telemetry:U,attributes:{"ai.response.finishReason":y0.finishReason.unified,"ai.response.text":{output:()=>pC0(y0.content)},"ai.response.reasoning":{output:()=>dC0(y0.content)},"ai.response.toolCalls":{output:()=>{let n=iC0(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 iL4(n,Z1.usage)},{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0,reasoningTokens:void 0,cachedInputTokens:void 0});await nB({event:{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},callbacks:l});let R;if(K1.finishReason==="stop")R=await(B!=null?B:dR0()).parseCompleteOutput({text:K1.text},{response:K1.response,usage:K1.usage,finishReason:K1.finishReason});return new BN4({steps:k,totalUsage:D,output:R})}})}catch(r0){throw uL4(r0)}}async function nC0({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)=>tL4({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 iC0(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 UN4({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 eL4(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 ZR0({toolCallId:W.toolCallId,approvalId:W.approvalId});K.push({type:"tool-approval-request",approvalId:W.approvalId,toolCall:Z});break}}return[...K,...X,...J]}function nR0(Y){return({url:Q,abortSignal:X})=>kR0({url:Q,maxBytes:Y==null?void 0:Y.maxBytes,abortSignal:X})}var gR0,zN,qO4,BO4=(Y,Q)=>{for(var X in Q)qO4(Y,X,{get:Q[X],enumerable:!0})},aC0="AI_InvalidArgumentError",rC0,UO4,oC0,xZ,zO4="AI_InvalidStreamPartError",DO4,OO4,LO4,sC0="AI_InvalidToolApprovalError",tC0,NO4,eC0,MO4,YR0="AI_InvalidToolInputError",QR0,wO4,XR0,b31,JR0="AI_ToolCallNotFoundForApprovalError",GR0,AO4,WR0,ZR0,KR0="AI_MissingToolResultsError",HR0,PO4,FR0,bC0,EO4="AI_NoImageGeneratedError",TO4,CO4,RO4,$R0="AI_NoObjectGeneratedError",VR0,IO4,qR0,$$,BR0="AI_NoOutputGeneratedError",UR0,jO4,zR0,SO4,_O4="AI_NoSpeechGeneratedError",vO4,kO4,yO4,fO4="AI_NoTranscriptGeneratedError",bO4,hO4,xO4,gO4="AI_NoVideoGeneratedError",uO4,mO4,lO4,DR0="AI_NoSuchToolError",OR0,dO4,LR0,k31,NR0="AI_ToolCallRepairError",MR0,pO4,wR0,cO4,nO4,iO4="AI_UIMessageStreamError",aO4,rO4,oO4,sO4="AI_InvalidDataContentError",tO4,eO4,YL4,AR0="AI_InvalidMessageRoleError",PR0,QL4,ER0,XL4,JL4="AI_MessageConversionError",GL4,WL4,ZL4,TR0="AI_RetryError",CR0,KL4,RR0,hC0,FL4="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",xC0=!1,IR0=(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(!xC0)xC0=!0,console.info(FL4);for(let X of Y.warnings)console.warn(HL4({warning:X,provider:Y.provider,model:Y.model}))},zL4,DL4=(Y)=>{let Q=typeof Y==="string"?$N(Y):Y,X=(Q[6]&127)<<21|(Q[7]&127)<<14|(Q[8]&127)<<7|Q[9]&127;return Q.slice(X+10)},vR0="6.0.106",kR0=async({url:Y,maxBytes:Q,abortSignal:X})=>{var J;let G=Y.toString();try{let K=await fetch(G,{headers:T3({},`ai-sdk/${vR0}`,pl()),signal:X});if(!K.ok)throw new FN({url:G,statusCode:K.status,statusText:K.statusText});return{data:await XT0({response:K,url:G,maxBytes:Q!=null?Q:q31}),mediaType:(J=K.headers.get("content-type"))!=null?J:void 0}}catch(K){if(FN.isInstance(K))throw K;throw new FN({url:G,cause:K})}},NL4=(Y=kR0)=>(Q)=>Promise.all(Q.map(async(X)=>X.isUrlSupportedByModel?null:Y(X))),yR0,FR,V6,bR0,IL4,hR0,jL4,SL4,_L4,xR0,vL4,kL4,yL4,fL4,bL4,hL4,xL4,lL4,Yd,dL4,rL4=({maxRetries:Y=2,initialDelayInMs:Q=2000,backoffFactor:X=2,abortSignal:J}={})=>async(G)=>lR0(G,{maxRetries:Y,delayInMs:Q,backoffFactor:X,abortSignal:J}),eL4=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=$N(this.base64Data);return this.uint8ArrayData}},QN4,dR0=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:Y}){return Y},async parsePartialOutput({text:Y}){return{partial:Y}},createElementStreamTransform(){return}}),JN4=({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 t5({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 Jd(G);switch(K.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:K.value}}},createElementStreamTransform(){return}}},GN4=({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 t5({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 Jd(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 t5({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])}})}}},WN4=({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 Jd(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}}},ZN4=({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 Jd(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}}},HN4=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)}},qN4,BN4=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 SO4;return this._output}},df8,nf8,if8,of8,tf8,Yb8,Qb8,zN4="AI_NoSuchProviderError",DN4,ON4,LN4,Xb8;var iR0=S(()=>{m4();m4();q8();q8();q8();q8();q8();q8();q8();q8();q8();q8();q8();q8();_31();m4();m4();m4();m4();q8();m4();G4();q8();m4();q8();m4();G4();G4();G4();G4();G4();_31();q8();q8();m4();m4();m4();q8();m4();m4();m4();m4();G4();m4();m4();G4();m4();m4();gR0=s6(J0(),1),zN=s6(J0(),1),qO4=Object.defineProperty,rC0=`vercel.ai.error.${aC0}`,UO4=Symbol.for(rC0),xZ=class extends b0{constructor({parameter:Y,value:Q,message:X}){super({name:aC0,message:`Invalid argument for parameter ${Y}: ${X}`});this[oC0]=!0,this.parameter=Y,this.value=Q}static isInstance(Y){return b0.hasMarker(Y,rC0)}};oC0=UO4;DO4=`vercel.ai.error.${zO4}`,OO4=Symbol.for(DO4);LO4=OO4;tC0=`vercel.ai.error.${sC0}`,NO4=Symbol.for(tC0),MO4=class extends b0{constructor({approvalId:Y}){super({name:sC0,message:`Tool approval response references unknown approvalId: "${Y}". No matching tool-approval-request found in message history.`});this[eC0]=!0,this.approvalId=Y}static isInstance(Y){return b0.hasMarker(Y,tC0)}};eC0=NO4;QR0=`vercel.ai.error.${YR0}`,wO4=Symbol.for(QR0),b31=class extends b0{constructor({toolInput:Y,toolName:Q,cause:X,message:J=`Invalid input for tool ${Q}: ${H$(X)}`}){super({name:YR0,message:J,cause:X});this[XR0]=!0,this.toolInput=Y,this.toolName=Q}static isInstance(Y){return b0.hasMarker(Y,QR0)}};XR0=wO4;GR0=`vercel.ai.error.${JR0}`,AO4=Symbol.for(GR0),ZR0=class extends b0{constructor({toolCallId:Y,approvalId:Q}){super({name:JR0,message:`Tool call "${Y}" not found for approval request "${Q}".`});this[WR0]=!0,this.toolCallId=Y,this.approvalId=Q}static isInstance(Y){return b0.hasMarker(Y,GR0)}};WR0=AO4;HR0=`vercel.ai.error.${KR0}`,PO4=Symbol.for(HR0),bC0=class extends b0{constructor({toolCallIds:Y}){super({name:KR0,message:`Tool result${Y.length>1?"s are":" is"} missing for tool call${Y.length>1?"s":""} ${Y.join(", ")}.`});this[FR0]=!0,this.toolCallIds=Y}static isInstance(Y){return b0.hasMarker(Y,HR0)}};FR0=PO4;TO4=`vercel.ai.error.${EO4}`,CO4=Symbol.for(TO4);RO4=CO4;VR0=`vercel.ai.error.${$R0}`,IO4=Symbol.for(VR0),$$=class extends b0{constructor({message:Y="No object generated.",cause:Q,text:X,response:J,usage:G,finishReason:K}){super({name:$R0,message:Y,cause:Q});this[qR0]=!0,this.text=X,this.response=J,this.usage=G,this.finishReason=K}static isInstance(Y){return b0.hasMarker(Y,VR0)}};qR0=IO4;UR0=`vercel.ai.error.${BR0}`,jO4=Symbol.for(UR0),SO4=class extends b0{constructor({message:Y="No output generated.",cause:Q}={}){super({name:BR0,message:Y,cause:Q});this[zR0]=!0}static isInstance(Y){return b0.hasMarker(Y,UR0)}};zR0=jO4;vO4=`vercel.ai.error.${_O4}`,kO4=Symbol.for(vO4);yO4=kO4;bO4=`vercel.ai.error.${fO4}`,hO4=Symbol.for(bO4);xO4=hO4;uO4=`vercel.ai.error.${gO4}`,mO4=Symbol.for(uO4);lO4=mO4;OR0=`vercel.ai.error.${DR0}`,dO4=Symbol.for(OR0),k31=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:DR0,message:X});this[LR0]=!0,this.toolName=Y,this.availableTools=Q}static isInstance(Y){return b0.hasMarker(Y,OR0)}};LR0=dO4;MR0=`vercel.ai.error.${NR0}`,pO4=Symbol.for(MR0),cO4=class extends b0{constructor({cause:Y,originalError:Q,message:X=`Error repairing tool call: ${H$(Y)}`}){super({name:NR0,message:X,cause:Y});this[wR0]=!0,this.originalError=Q}static isInstance(Y){return b0.hasMarker(Y,MR0)}};wR0=pO4;nO4=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}},aO4=`vercel.ai.error.${iO4}`,rO4=Symbol.for(aO4);oO4=rO4;tO4=`vercel.ai.error.${sO4}`,eO4=Symbol.for(tO4);YL4=eO4;PR0=`vercel.ai.error.${AR0}`,QL4=Symbol.for(PR0),XL4=class extends b0{constructor({role:Y,message:Q=`Invalid message role: '${Y}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:AR0,message:Q});this[ER0]=!0,this.role=Y}static isInstance(Y){return b0.hasMarker(Y,PR0)}};ER0=QL4;GL4=`vercel.ai.error.${JL4}`,WL4=Symbol.for(GL4);ZL4=WL4;CR0=`vercel.ai.error.${TR0}`,KL4=Symbol.for(CR0),hC0=class extends b0{constructor({message:Y,reason:Q,errors:X}){super({name:TR0,message:Y});this[RR0]=!0,this.reason=Q,this.errors=X,this.lastError=X[X.length-1]}static isInstance(Y){return b0.hasMarker(Y,CR0)}};RR0=KL4;zL4=[{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]}];yR0=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"})]);FR=q.lazy(()=>q.union([q.null(),q.string(),q.number(),q.boolean(),q.record(q.string(),FR.optional()),q.array(FR)])),V6=q.record(q.string(),q.record(q.string(),FR.optional())),bR0=q.object({type:q.literal("text"),text:q.string(),providerOptions:V6.optional()}),IL4=q.object({type:q.literal("image"),image:q.union([yR0,q.instanceof(URL)]),mediaType:q.string().optional(),providerOptions:V6.optional()}),hR0=q.object({type:q.literal("file"),data:q.union([yR0,q.instanceof(URL)]),filename:q.string().optional(),mediaType:q.string(),providerOptions:V6.optional()}),jL4=q.object({type:q.literal("reasoning"),text:q.string(),providerOptions:V6.optional()}),SL4=q.object({type:q.literal("tool-call"),toolCallId:q.string(),toolName:q.string(),input:q.unknown(),providerOptions:V6.optional(),providerExecuted:q.boolean().optional()}),_L4=q.discriminatedUnion("type",[q.object({type:q.literal("text"),value:q.string(),providerOptions:V6.optional()}),q.object({type:q.literal("json"),value:FR,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:FR,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()})]))})]),xR0=q.object({type:q.literal("tool-result"),toolCallId:q.string(),toolName:q.string(),output:_L4,providerOptions:V6.optional()}),vL4=q.object({type:q.literal("tool-approval-request"),approvalId:q.string(),toolCallId:q.string()}),kL4=q.object({type:q.literal("tool-approval-response"),approvalId:q.string(),approved:q.boolean(),reason:q.string().optional()}),yL4=q.object({role:q.literal("system"),content:q.string(),providerOptions:V6.optional()}),fL4=q.object({role:q.literal("user"),content:q.union([q.string(),q.array(q.union([bR0,IL4,hR0]))]),providerOptions:V6.optional()}),bL4=q.object({role:q.literal("assistant"),content:q.union([q.string(),q.array(q.union([bR0,hR0,jL4,SL4,xR0,vL4]))]),providerOptions:V6.optional()}),hL4=q.object({role:q.literal("tool"),content:q.array(q.union([xR0,kL4])),providerOptions:V6.optional()}),xL4=q.union([yL4,fL4,bL4,hL4]);lL4={startSpan(){return Yd},startActiveSpan(Y,Q,X,J){if(typeof Q==="function")return Q(Yd);if(typeof X==="function")return X(Yd);if(typeof J==="function")return J(Yd)}},Yd={spanContext(){return dL4},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}},dL4={traceId:"",spanId:"",traceFlags:0};QN4={};BO4(QN4,{array:()=>GN4,choice:()=>WN4,json:()=>ZN4,object:()=>JN4,text:()=>dR0});qN4=bZ({prefix:"aitxt",size:24});df8=class extends TransformStream{constructor(){super({transform(Y,Q){Q.enqueue(`data: ${JSON.stringify(Y)}
|
|
1286
|
+
`)}function pC0(Y){let Q=Y.filter((X)=>X.type==="text");if(Q.length===0)return;return Q.map((X)=>X.text).join("")}async function YN4({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 XN4(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 Jd(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:XN4(Y)}),Q.success)return{value:Q.value,state:"repaired-parse"};return{value:void 0,state:"failed-parse"}}async function KN4({toolCall:Y,tools:Q,repairToolCall:X,system:J,messages:G}){var K;try{if(Q==null){if(Y.providerExecuted&&Y.dynamic)return await pR0(Y);throw new k31({toolName:Y.toolName})}try{return await cC0({toolCall:Y,tools:Q})}catch(W){if(X==null||!(k31.isInstance(W)||b31.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 cO4({cause:H,originalError:W})}if(Z==null)throw W;return await cC0({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 pR0(Y){let Q=Y.input.trim()===""?{success:!0,value:{}}:await lX({text:Y.input});if(Q.success===!1)throw new b31({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 cC0({toolCall:Y,tools:Q}){let X=Y.toolName,J=Q[X];if(J==null){if(Y.providerExecuted&&Y.dynamic)return await pR0(Y);throw new k31({toolName:Y.toolName,availableTools:Object.keys(Q)})}let G=hZ(J.inputSchema),K=Y.input.trim()===""?await t5({value:{},schema:G}):await lX({text:Y.input,schema:G});if(K.success===!1)throw new b31({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 h31(Y){return({steps:Q})=>Q.length===Y}async function FN4({stopConditions:Y,steps:Q}){return(await Promise.all(Y.map((X)=>X({steps:Q})))).some((X)=>X)}async function $N4({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 Qd({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 Qd({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 Qd({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 VN4(...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 cR0({model:Y,tools:Q,toolChoice:X,system:J,prompt:G,messages:K,maxRetries:W,abortSignal:Z,timeout:H,headers:F,stopWhen:$=h31(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=qN4}={},experimental_onStart:y,experimental_onStepStart:b,experimental_onToolCallStart:h,experimental_onToolCallFinish:x,onStepFinish:e,onFinish:l,...f}){let c=gC0(Y),J1=Xd($),Y1=_R0(H),U1=UL4(H),T1=U1!=null?new AbortController:void 0,B1=VN4(Z,Y1!=null?AbortSignal.timeout(Y1):void 0,T1==null?void 0:T1.signal),{maxRetries:C1,retry:y1}=oL4({maxRetries:W,abortSignal:B1}),a1=lC0(f),E0=T3(F!=null?F:{},`ai/${vR0}`),P1=mL4({model:c,telemetry:U,headers:E0,settings:{...a1,maxRetries:C1}}),V1={provider:c.provider,modelId:c.modelId},m1=await gL4({system:J,prompt:G,messages:K});await nB({event:{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},callbacks:y});let Q6=pL4(U);try{return await f31({name:"ai.generateText",attributes:UN({telemetry:U,attributes:{...y31({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(r0)=>{var t1,R1,z1,f1,L1,E1,O0,c1,r1,y6,m6,_4,J8;let A0=m1.messages,x1=[],{approvedToolApprovals:L0,deniedToolApprovals:G8}=sL4({messages:A0}),p8=L0.filter((n)=>!n.toolCall.providerExecuted);if(G8.length>0||p8.length>0){let n=await nC0({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 Qd({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=lC0(f),y0,JX=[],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=gC0((t1=W1==null?void 0:W1.model)!=null?t1:c),n1={provider:a.provider,modelId:a.modelId},d0=await AL4({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 RL4({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=mR0(z,W1==null?void 0:W1.providerOptions);await nB({event:{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},callbacks:b}),y0=await y1(()=>{var I0;return f31({name:"ai.generateText.doGenerate",attributes:UN({telemetry:U,attributes:{...y31({operationId:"ai.generateText.doGenerate",telemetry:U}),...P1,"ai.model.provider":a.provider,"ai.model.id":a.modelId,"ai.prompt.messages":{input:()=>cL4(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":(I0=f.temperature)!=null?I0:void 0,"gen_ai.request.top_k":f.topK,"gen_ai.request.top_p":f.topP}}),tracer:Q6,fn:async(l4)=>{var mQ,c7,FU,$U,VU,qU,BU,UU;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:($U=(FU=QY.response)==null?void 0:FU.timestamp)!=null?$U:new Date,modelId:(qU=(VU=QY.response)==null?void 0:VU.modelId)!=null?qU:a.modelId,headers:(BU=QY.response)==null?void 0:BU.headers,body:(UU=QY.response)==null?void 0:UU.body};return l4.setAttributes(await UN({telemetry:U,attributes:{"ai.response.finishReason":QY.finishReason.unified,"ai.response.text":{output:()=>pC0(QY.content)},"ai.response.reasoning":{output:()=>dC0(QY.content)},"ai.response.toolCalls":{output:()=>{let VI=iC0(QY.content);return VI==null?void 0:JSON.stringify(VI)}},"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((I0)=>I0.type==="tool-call").map((I0)=>KN4({toolCall:I0,tools:Q,repairToolCall:j,system:J,messages:Z1}))),p7={};for(let I0 of YY){if(I0.invalid)continue;let l4=Q==null?void 0:Q[I0.toolName];if(l4==null)continue;if((l4==null?void 0:l4.onInputAvailable)!=null)await l4.onInputAvailable({input:I0.input,toolCallId:I0.toolCallId,messages:Z1,abortSignal:B1,experimental_context:E});if(await YN4({tool:l4,toolCall:I0,messages:Z1,experimental_context:E}))p7[I0.toolCallId]={type:"tool-approval-request",approvalId:v(),toolCall:I0}}let YW=YY.filter((I0)=>I0.invalid&&I0.dynamic);N=[];for(let I0 of YW)N.push({type:"tool-error",toolCallId:I0.toolCallId,toolName:I0.toolName,input:I0.input,error:dl(I0.error),dynamic:!0});if(JX=YY.filter((I0)=>!I0.providerExecuted),Q!=null)N.push(...await nC0({toolCalls:JX.filter((I0)=>!I0.invalid&&p7[I0.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 I0 of YY){if(!I0.providerExecuted)continue;let l4=Q==null?void 0:Q[I0.toolName];if((l4==null?void 0:l4.type)==="provider"&&l4.supportsDeferredResults){if(!y0.content.some((c7)=>c7.type==="tool-result"&&c7.toolCallId===I0.toolCallId))X1.set(I0.toolCallId,{toolName:I0.toolName})}}for(let I0 of y0.content)if(I0.type==="tool-result")X1.delete(I0.toolCallId);let V0=UN4({content:y0.content,toolCalls:YY,toolOutputs:N,toolApprovalRequests:Object.values(p7),tools:Q});x1.push(...await $N4({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 HN4({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:nL4(y0.usage),warnings:y0.warnings,providerMetadata:y0.providerMetadata,request:l6,response:E9});IR0({warnings:(J8=y0.warnings)!=null?J8:[],provider:n1.provider,model:n1.modelId}),k.push(q0),await nB({event:q0,callbacks:e})}finally{if(n!=null)clearTimeout(n)}}while((JX.length>0&&N.length===JX.length||X1.size>0)&&!await FN4({stopConditions:J1,steps:k}));r0.setAttributes(await UN({telemetry:U,attributes:{"ai.response.finishReason":y0.finishReason.unified,"ai.response.text":{output:()=>pC0(y0.content)},"ai.response.reasoning":{output:()=>dC0(y0.content)},"ai.response.toolCalls":{output:()=>{let n=iC0(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 iL4(n,Z1.usage)},{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0,reasoningTokens:void 0,cachedInputTokens:void 0});await nB({event:{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},callbacks:l});let R;if(K1.finishReason==="stop")R=await(B!=null?B:dR0()).parseCompleteOutput({text:K1.text},{response:K1.response,usage:K1.usage,finishReason:K1.finishReason});return new BN4({steps:k,totalUsage:D,output:R})}})}catch(r0){throw uL4(r0)}}async function nC0({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)=>tL4({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 iC0(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 UN4({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 eL4(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 ZR0({toolCallId:W.toolCallId,approvalId:W.approvalId});K.push({type:"tool-approval-request",approvalId:W.approvalId,toolCall:Z});break}}return[...K,...X,...J]}function nR0(Y){return({url:Q,abortSignal:X})=>kR0({url:Q,maxBytes:Y==null?void 0:Y.maxBytes,abortSignal:X})}var gR0,zN,qO4,BO4=(Y,Q)=>{for(var X in Q)qO4(Y,X,{get:Q[X],enumerable:!0})},aC0="AI_InvalidArgumentError",rC0,UO4,oC0,xZ,zO4="AI_InvalidStreamPartError",DO4,OO4,LO4,sC0="AI_InvalidToolApprovalError",tC0,NO4,eC0,MO4,YR0="AI_InvalidToolInputError",QR0,wO4,XR0,b31,JR0="AI_ToolCallNotFoundForApprovalError",GR0,AO4,WR0,ZR0,KR0="AI_MissingToolResultsError",HR0,PO4,FR0,bC0,EO4="AI_NoImageGeneratedError",TO4,CO4,RO4,$R0="AI_NoObjectGeneratedError",VR0,IO4,qR0,$$,BR0="AI_NoOutputGeneratedError",UR0,jO4,zR0,SO4,_O4="AI_NoSpeechGeneratedError",vO4,kO4,yO4,fO4="AI_NoTranscriptGeneratedError",bO4,hO4,xO4,gO4="AI_NoVideoGeneratedError",uO4,mO4,lO4,DR0="AI_NoSuchToolError",OR0,dO4,LR0,k31,NR0="AI_ToolCallRepairError",MR0,pO4,wR0,cO4,nO4,iO4="AI_UIMessageStreamError",aO4,rO4,oO4,sO4="AI_InvalidDataContentError",tO4,eO4,YL4,AR0="AI_InvalidMessageRoleError",PR0,QL4,ER0,XL4,JL4="AI_MessageConversionError",GL4,WL4,ZL4,TR0="AI_RetryError",CR0,KL4,RR0,hC0,FL4="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",xC0=!1,IR0=(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(!xC0)xC0=!0,console.info(FL4);for(let X of Y.warnings)console.warn(HL4({warning:X,provider:Y.provider,model:Y.model}))},zL4,DL4=(Y)=>{let Q=typeof Y==="string"?$N(Y):Y,X=(Q[6]&127)<<21|(Q[7]&127)<<14|(Q[8]&127)<<7|Q[9]&127;return Q.slice(X+10)},vR0="6.0.108",kR0=async({url:Y,maxBytes:Q,abortSignal:X})=>{var J;let G=Y.toString();try{let K=await fetch(G,{headers:T3({},`ai-sdk/${vR0}`,pl()),signal:X});if(!K.ok)throw new FN({url:G,statusCode:K.status,statusText:K.statusText});return{data:await XT0({response:K,url:G,maxBytes:Q!=null?Q:q31}),mediaType:(J=K.headers.get("content-type"))!=null?J:void 0}}catch(K){if(FN.isInstance(K))throw K;throw new FN({url:G,cause:K})}},NL4=(Y=kR0)=>(Q)=>Promise.all(Q.map(async(X)=>X.isUrlSupportedByModel?null:Y(X))),yR0,FR,V6,bR0,IL4,hR0,jL4,SL4,_L4,xR0,vL4,kL4,yL4,fL4,bL4,hL4,xL4,lL4,Yd,dL4,rL4=({maxRetries:Y=2,initialDelayInMs:Q=2000,backoffFactor:X=2,abortSignal:J}={})=>async(G)=>lR0(G,{maxRetries:Y,delayInMs:Q,backoffFactor:X,abortSignal:J}),eL4=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=$N(this.base64Data);return this.uint8ArrayData}},QN4,dR0=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:Y}){return Y},async parsePartialOutput({text:Y}){return{partial:Y}},createElementStreamTransform(){return}}),JN4=({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 t5({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 Jd(G);switch(K.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:K.value}}},createElementStreamTransform(){return}}},GN4=({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 t5({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 Jd(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 t5({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])}})}}},WN4=({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 Jd(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}}},ZN4=({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 Jd(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}}},HN4=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)}},qN4,BN4=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 SO4;return this._output}},df8,nf8,if8,of8,tf8,Yb8,Qb8,zN4="AI_NoSuchProviderError",DN4,ON4,LN4,Xb8;var iR0=S(()=>{m4();m4();q8();q8();q8();q8();q8();q8();q8();q8();q8();q8();q8();q8();_31();m4();m4();m4();m4();q8();m4();G4();q8();m4();q8();m4();G4();G4();G4();G4();G4();_31();q8();q8();m4();m4();m4();q8();m4();m4();m4();m4();G4();m4();m4();G4();m4();m4();gR0=s6(J0(),1),zN=s6(J0(),1),qO4=Object.defineProperty,rC0=`vercel.ai.error.${aC0}`,UO4=Symbol.for(rC0),xZ=class extends b0{constructor({parameter:Y,value:Q,message:X}){super({name:aC0,message:`Invalid argument for parameter ${Y}: ${X}`});this[oC0]=!0,this.parameter=Y,this.value=Q}static isInstance(Y){return b0.hasMarker(Y,rC0)}};oC0=UO4;DO4=`vercel.ai.error.${zO4}`,OO4=Symbol.for(DO4);LO4=OO4;tC0=`vercel.ai.error.${sC0}`,NO4=Symbol.for(tC0),MO4=class extends b0{constructor({approvalId:Y}){super({name:sC0,message:`Tool approval response references unknown approvalId: "${Y}". No matching tool-approval-request found in message history.`});this[eC0]=!0,this.approvalId=Y}static isInstance(Y){return b0.hasMarker(Y,tC0)}};eC0=NO4;QR0=`vercel.ai.error.${YR0}`,wO4=Symbol.for(QR0),b31=class extends b0{constructor({toolInput:Y,toolName:Q,cause:X,message:J=`Invalid input for tool ${Q}: ${H$(X)}`}){super({name:YR0,message:J,cause:X});this[XR0]=!0,this.toolInput=Y,this.toolName=Q}static isInstance(Y){return b0.hasMarker(Y,QR0)}};XR0=wO4;GR0=`vercel.ai.error.${JR0}`,AO4=Symbol.for(GR0),ZR0=class extends b0{constructor({toolCallId:Y,approvalId:Q}){super({name:JR0,message:`Tool call "${Y}" not found for approval request "${Q}".`});this[WR0]=!0,this.toolCallId=Y,this.approvalId=Q}static isInstance(Y){return b0.hasMarker(Y,GR0)}};WR0=AO4;HR0=`vercel.ai.error.${KR0}`,PO4=Symbol.for(HR0),bC0=class extends b0{constructor({toolCallIds:Y}){super({name:KR0,message:`Tool result${Y.length>1?"s are":" is"} missing for tool call${Y.length>1?"s":""} ${Y.join(", ")}.`});this[FR0]=!0,this.toolCallIds=Y}static isInstance(Y){return b0.hasMarker(Y,HR0)}};FR0=PO4;TO4=`vercel.ai.error.${EO4}`,CO4=Symbol.for(TO4);RO4=CO4;VR0=`vercel.ai.error.${$R0}`,IO4=Symbol.for(VR0),$$=class extends b0{constructor({message:Y="No object generated.",cause:Q,text:X,response:J,usage:G,finishReason:K}){super({name:$R0,message:Y,cause:Q});this[qR0]=!0,this.text=X,this.response=J,this.usage=G,this.finishReason=K}static isInstance(Y){return b0.hasMarker(Y,VR0)}};qR0=IO4;UR0=`vercel.ai.error.${BR0}`,jO4=Symbol.for(UR0),SO4=class extends b0{constructor({message:Y="No output generated.",cause:Q}={}){super({name:BR0,message:Y,cause:Q});this[zR0]=!0}static isInstance(Y){return b0.hasMarker(Y,UR0)}};zR0=jO4;vO4=`vercel.ai.error.${_O4}`,kO4=Symbol.for(vO4);yO4=kO4;bO4=`vercel.ai.error.${fO4}`,hO4=Symbol.for(bO4);xO4=hO4;uO4=`vercel.ai.error.${gO4}`,mO4=Symbol.for(uO4);lO4=mO4;OR0=`vercel.ai.error.${DR0}`,dO4=Symbol.for(OR0),k31=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:DR0,message:X});this[LR0]=!0,this.toolName=Y,this.availableTools=Q}static isInstance(Y){return b0.hasMarker(Y,OR0)}};LR0=dO4;MR0=`vercel.ai.error.${NR0}`,pO4=Symbol.for(MR0),cO4=class extends b0{constructor({cause:Y,originalError:Q,message:X=`Error repairing tool call: ${H$(Y)}`}){super({name:NR0,message:X,cause:Y});this[wR0]=!0,this.originalError=Q}static isInstance(Y){return b0.hasMarker(Y,MR0)}};wR0=pO4;nO4=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}},aO4=`vercel.ai.error.${iO4}`,rO4=Symbol.for(aO4);oO4=rO4;tO4=`vercel.ai.error.${sO4}`,eO4=Symbol.for(tO4);YL4=eO4;PR0=`vercel.ai.error.${AR0}`,QL4=Symbol.for(PR0),XL4=class extends b0{constructor({role:Y,message:Q=`Invalid message role: '${Y}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:AR0,message:Q});this[ER0]=!0,this.role=Y}static isInstance(Y){return b0.hasMarker(Y,PR0)}};ER0=QL4;GL4=`vercel.ai.error.${JL4}`,WL4=Symbol.for(GL4);ZL4=WL4;CR0=`vercel.ai.error.${TR0}`,KL4=Symbol.for(CR0),hC0=class extends b0{constructor({message:Y,reason:Q,errors:X}){super({name:TR0,message:Y});this[RR0]=!0,this.reason=Q,this.errors=X,this.lastError=X[X.length-1]}static isInstance(Y){return b0.hasMarker(Y,CR0)}};RR0=KL4;zL4=[{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]}];yR0=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"})]);FR=q.lazy(()=>q.union([q.null(),q.string(),q.number(),q.boolean(),q.record(q.string(),FR.optional()),q.array(FR)])),V6=q.record(q.string(),q.record(q.string(),FR.optional())),bR0=q.object({type:q.literal("text"),text:q.string(),providerOptions:V6.optional()}),IL4=q.object({type:q.literal("image"),image:q.union([yR0,q.instanceof(URL)]),mediaType:q.string().optional(),providerOptions:V6.optional()}),hR0=q.object({type:q.literal("file"),data:q.union([yR0,q.instanceof(URL)]),filename:q.string().optional(),mediaType:q.string(),providerOptions:V6.optional()}),jL4=q.object({type:q.literal("reasoning"),text:q.string(),providerOptions:V6.optional()}),SL4=q.object({type:q.literal("tool-call"),toolCallId:q.string(),toolName:q.string(),input:q.unknown(),providerOptions:V6.optional(),providerExecuted:q.boolean().optional()}),_L4=q.discriminatedUnion("type",[q.object({type:q.literal("text"),value:q.string(),providerOptions:V6.optional()}),q.object({type:q.literal("json"),value:FR,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:FR,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()})]))})]),xR0=q.object({type:q.literal("tool-result"),toolCallId:q.string(),toolName:q.string(),output:_L4,providerOptions:V6.optional()}),vL4=q.object({type:q.literal("tool-approval-request"),approvalId:q.string(),toolCallId:q.string()}),kL4=q.object({type:q.literal("tool-approval-response"),approvalId:q.string(),approved:q.boolean(),reason:q.string().optional()}),yL4=q.object({role:q.literal("system"),content:q.string(),providerOptions:V6.optional()}),fL4=q.object({role:q.literal("user"),content:q.union([q.string(),q.array(q.union([bR0,IL4,hR0]))]),providerOptions:V6.optional()}),bL4=q.object({role:q.literal("assistant"),content:q.union([q.string(),q.array(q.union([bR0,hR0,jL4,SL4,xR0,vL4]))]),providerOptions:V6.optional()}),hL4=q.object({role:q.literal("tool"),content:q.array(q.union([xR0,kL4])),providerOptions:V6.optional()}),xL4=q.union([yL4,fL4,bL4,hL4]);lL4={startSpan(){return Yd},startActiveSpan(Y,Q,X,J){if(typeof Q==="function")return Q(Yd);if(typeof X==="function")return X(Yd);if(typeof J==="function")return J(Yd)}},Yd={spanContext(){return dL4},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}},dL4={traceId:"",spanId:"",traceFlags:0};QN4={};BO4(QN4,{array:()=>GN4,choice:()=>WN4,json:()=>ZN4,object:()=>JN4,text:()=>dR0});qN4=bZ({prefix:"aitxt",size:24});df8=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
|
|
|
@@ -1467,7 +1467,7 @@ ${Y.stack}`;return Q}if(typeof Y==="object"&&Y!==null){let Q=Y,X="";if(typeof Q.
|
|
|
1467
1467
|
${Q.stack}`;return X}try{let G=JSON.stringify(Q,null,2);if(G!=="{}"&&G.length<1000){if(typeof Q.stack==="string"&&Q.stack&&Q.stack.length<2000)return`${G}
|
|
1468
1468
|
|
|
1469
1469
|
Stack trace:
|
|
1470
|
-
${Q.stack}`;return G}}catch{}if(typeof Q.toString==="function")try{let G=Q.toString();if(G!=="[object Object]")return G}catch{}let J=Object.keys(Q);if(J.length>0)return`Object with keys: ${J.join(", ")}`;return"[object Object]"}if(typeof Y==="string")return Y;if(typeof Y==="number"||typeof Y==="boolean")return String(Y);if(typeof Y==="function")return`[Function: ${Y.name||"anon"}]`;if(typeof Y==="symbol")return Y.toString();if(typeof Y==="bigint")return Y.toString();try{return String(Y)}catch{return"Unknown value (could not convert to string)"}}function hN(Y,Q){switch(typeof Q){case"string":return Y.newString(Q);case"number":return Y.newNumber(Q);case"boolean":return Q?Y.true:Y.false;case"undefined":return Y.undefined;case"object":{if(Q===null)return Y.null;if(Array.isArray(Q)){let J=Y.newArray();return Q.forEach((G,K)=>{let W=hN(Y,G);try{Y.setProp(J,String(K),W)}finally{W.dispose?.()}}),J}let X=Y.newObject();for(let[J,G]of Object.entries(Q)){let K=hN(Y,G);try{Y.setProp(X,J,K)}finally{K.dispose?.()}}return X}case"function":{let X=`__hostFn_${Date.now()}_${Math.random().toString(36).substr(2,9)}`;return Y.newFunction(X,(...G)=>{try{let K=G.map((Z)=>Y.dump(Z)),W=Q(...K);if(W&&typeof W.then==="function"){let Z=Y.newPromise();return W.then((H)=>{try{let F=hN(Y,H);Z.resolve(F),F.dispose()}catch(F){let $=bN(F),V=Y.newString(`Promise resolution error: ${$}`);Z.reject(V),V.dispose()}finally{Y.runtime.executePendingJobs()}}).catch((H)=>{let F=bN(H),$=Y.newString(`Promise rejection: ${F}`);Z.reject($),$.dispose(),Y.runtime.executePendingJobs()}),Z.handle}return hN(Y,W)}catch(K){let W=bN(K);return Y.newString(`HostFunctionError: ${W}`)}finally{G.forEach((K)=>K.dispose())}})}case"bigint":return Y.newString(Q.toString());case"symbol":return Y.newString(Q.toString());default:try{return Y.newString(String(Q))}catch{return Y.undefined}}}var ty0=()=>{};function Yf0(Y){let Q=Y.runtime.executePendingJobs(100);try{if("unwrap"in Q&&typeof Q.unwrap==="function")Q.unwrap()}finally{if("dispose"in Q&&typeof Q.dispose==="function")Q.dispose()}}async function ey0(Y,Q,X){let J=Date.now(),G=Y.resolvePromise(Q);while(!0){Yf0(Y);let K=await Promise.race([G,s24(0).then(()=>null)]);if(K!==null)return K;if(Date.now()-J>X)throw Error(`Timed out after ${X}ms while awaiting a QuickJS promise`)}}async function sR({tools:Y,code:Q,timeoutMs:X}){let W=[];try{const J=qI(W,await oy0({memoryLimitBytes:33554432,stackSizeBytes:524288}),0);const G=qI(W,J.newContext({interruptAfterMs:X}),0);const K=qI(W,ny0(G),0);try{let $=G.evalCode(Q,"index.mjs",{strip:!0,strict:!0,type:"module"}),V=G.unwrapResult($),B=hN(G,Y);G.setProp(G.global,"tools",B);let U=G.runtime.hasPendingJob()?G.unwrapResult(await ey0(G,V,X)):V;if(U!==V)V.dispose();let z=G.getProp(U,"default"),O=G.typeof(z);if(O!=="function")return z.dispose(),U.dispose(),B.dispose(),{error:`Code must export default a function (tools). Got ${O}. Example: export default async (tools) => { /* ... */ }`,consoleLogs:K.logs};let M=G.callFunction(z,G.undefined,B);B.dispose(),z.dispose(),U.dispose();let w=G.unwrapResult(M),P=await ey0(G,w,X);w.dispose();let j=G.unwrapResult(P);if(G.runtime.hasPendingJob())Yf0(G);let C=G.dump(j);return j.dispose(),{returnValue:C,consoleLogs:K.logs}}catch($){return console.log($),{error:bN($),consoleLogs:K.logs}}}catch(Z){var H=Z,F=1}finally{lV1(W,H,F)}}var s24=(Y)=>new Promise((Q)=>setTimeout(Q,Y));var Qf0=S(()=>{sy0();ty0()});var W$1=S(()=>{Qf0()});async function t24(Y,Q){let X=Y.connections.map((K)=>K.connection_id),J=[];for(let K of X){let W=await Q.storage.connections.findById(K);if(W&&W.status==="active")J.push(W)}return J.map((K)=>{let W=Y.connections.find((Z)=>Z.connection_id===K.id);return{connection:K,selectedTools:W?.selected_tools??null,selectedResources:W?.selected_resources??null,selectedPrompts:W?.selected_prompts??null}})}async function Xf0(Y,Q){return(await Q.storage.connections.list(Y)).filter((J)=>J.status==="active").map((J)=>({connection:J,selectedTools:null,selectedResources:null,selectedPrompts:null}))}async function e24(Y,Q){let X=new Map;for(let B of Y)X.set(B.connection.id,B);let J=Y.map((B)=>B.connection),G=new Map,K=await Promise.allSettled(J.map(async(B)=>{try{let U=await Q.createMCPProxy(B);return{connection:B,proxy:U}}catch(U){return console.warn(`[code-execution] Failed to create proxy for connection ${B.id}:`,U),null}}));for(let B of K)if(B.status==="fulfilled"&&B.value)G.set(B.value.connection.id,B.value);let W=await Promise.allSettled(Array.from(G.entries()).map(async([B,U])=>{try{let O=(await U.proxy.listTools()).tools,M=X.get(B);if(M?.selectedTools&&M.selectedTools.length>0){let w=new Set(M.selectedTools);O=O.filter((P)=>w.has(P.name))}return{connectionId:B,connectionTitle:U.connection.title,tools:O}}catch(z){return console.error(`[code-execution] Failed to list tools for connection ${B}:`,z),null}})),Z=new Set,H=[],F=new Map;for(let B of W){if(B.status!=="fulfilled"||!B.value)continue;let{connectionId:U,connectionTitle:z,tools:O}=B.value;for(let M of O){if(Z.has(M.name))continue;Z.add(M.name),H.push({...M,_meta:{connectionId:U,connectionTitle:z}}),F.set(M.name,U)}}let $=async(B,U)=>{let z=F.get(B);if(!z)return{content:[{type:"text",text:`Tool not found: ${B}`}],isError:!0};let O=G.get(z);if(!O)return{content:[{type:"text",text:`Connection not found for tool: ${B}`}],isError:!0};return await O.proxy.callTool({name:B,arguments:U})},V=[];for(let[,B]of G)V.push(B.proxy.close().catch(()=>{}));return await Promise.all(V),{tools:H,callTool:$}}async function xN(Y){let Q=B0(Y),X;if(Y.connectionId){let J=await Y.storage.virtualMcps.findById(Y.connectionId,Y.organization?.id);if(J)X=await t24(J,Y);else X=await Xf0(Q.id,Y)}else X=await Xf0(Q.id,Y);return e24(X,Y)}function YE4(Y){return Y.toLowerCase().split(/[\s_\-./]+/).filter((Q)=>Q.length>=2)}function QE4(Y,Q){let X=0,J=Q.name.toLowerCase(),G=(Q.description??"").toLowerCase(),K=(Q._meta?.connectionTitle??"").toLowerCase();for(let W of Y){if(J===W)X+=10;else if(J.includes(W))X+=3;if(G.includes(W))X+=2;if(K.includes(W))X+=1}return X}function qp(Y,Q,X){let J=YE4(Y);if(J.length===0)return Q.slice(0,X);return Q.map((G)=>({tool:G,score:QE4(J,G)})).filter((G)=>G.score>0).sort((G,K)=>K.score-G.score).slice(0,X).map((G)=>G.tool)}function Bp(Y,Q){let X=new Map(Q.map((G)=>[G.name,G]));return{tools:Y.map((G)=>X.get(G)).filter((G)=>G!==void 0).map((G)=>({name:G.name,description:G.description,connection:G._meta?.connectionTitle??"",inputSchema:G.inputSchema,outputSchema:G.outputSchema})),notFound:Y.filter((G)=>!X.has(G))}}async function Up(Y,Q,X){let J=Object.fromEntries(Q.tools.map((G)=>[G.name,async(K)=>{let W=await Q.callTool(G.name,K??{});if(W.structuredContent&&typeof W.structuredContent==="object")return W.structuredContent;let Z=W.content;if(Z?.[0]?.type==="text"&&Z[0].text)try{return JSON.parse(Z[0].text)}catch{return Z[0].text}return W}]));return sR({code:Y,tools:J,timeoutMs:X})}function tR(Y){return{content:[{type:"text",text:JSON.stringify(Y,null,2)}]}}function M$(Y){return{content:[{type:"text",text:JSON.stringify(Y,null,2)}],isError:!0}}function m3(Y){let Q=new Set(XE4);return Y.filter((X)=>!Q.has(X.name))}var XE4;var WU=S(()=>{W$1();XE4=["CODE_EXECUTION_SEARCH_TOOLS","CODE_EXECUTION_DESCRIBE_TOOLS","CODE_EXECUTION_RUN_CODE"]});var Z$1;var Jf0=S(()=>{k0();oR();WU();Z$1=k1({name:"CODE_EXECUTION_SEARCH_TOOLS",description:"Search for available tools by name or description. Returns tool names and brief descriptions without full schemas. Use this to discover tools before calling CODE_EXECUTION_DESCRIBE_TOOLS for detailed schemas.",annotations:{title:"Search Tools",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:uy0,outputSchema:my0,handler:async(Y,Q)=>{o1(Q),B0(Q),await Q.access.check();let X=await xN(Q),J=qp(Y.query,X.tools,Y.limit);return{query:Y.query,results:J.map((G)=>({name:G.name,description:G.description,connection:G._meta?.connectionTitle??""})),totalAvailable:X.tools.length}}})});var K$1;var Gf0=S(()=>{k0();oR();WU();K$1=k1({name:"CODE_EXECUTION_DESCRIBE_TOOLS",description:"Get detailed schemas for specific tools. Call after CODE_EXECUTION_SEARCH_TOOLS to get full input/output schemas before executing code.",annotations:{title:"Describe Tools",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:ly0,outputSchema:dy0,handler:async(Y,Q)=>{o1(Q),B0(Q),await Q.access.check();let X=await xN(Q);return Bp(Y.tools,X.tools)}})});var H$1;var Wf0=S(()=>{k0();oR();WU();H$1=k1({name:"CODE_EXECUTION_RUN_CODE",description:'Run JavaScript code in a sandbox. Code must be an ES module that `export default`s an async function that receives (tools) as its first parameter. Use CODE_EXECUTION_DESCRIBE_TOOLS to understand the input/output schemas for a tool before calling it. Use `await tools.toolName(args)` or `await tools["tool-name"](args)` to call tools.',annotations:{title:"Run Code",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!0},inputSchema:py0,outputSchema:cy0,handler:async(Y,Q)=>{o1(Q),B0(Q),await Q.access.check();let X=await xN(Q);return await Up(Y.code,X,Y.timeoutMs)}})});var Zf0=S(()=>{Jf0();Gf0();Wf0();oR()});var GE4,WE4,F$1;var Kf0=S(()=>{zY();v1();k0();pm();L3();GE4=q.object({data:CA.describe("Data for the new connection (id is auto-generated if not provided)")}),WE4=q.object({item:P5.describe("The created connection entity")}),F$1=k1({name:"COLLECTION_CONNECTIONS_CREATE",description:"Create a new MCP connection in the organization",annotations:{title:"Create Connection",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:GE4,outputSchema:WE4,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=D9(Q);if(!J)throw Error("User ID required to create connection");let G={...Y.data,organization_id:X.id,created_by:J};if(G.connection_type==="VIRTUAL"){let F=LV(G.connection_url);if(!F)throw Error("VIRTUAL connection requires connection_url in format: virtual://$virtual_mcp_id");let $=await Q.storage.virtualMcps.findById(F);if(!$)throw Error(`Virtual MCP not found: ${F}`);if($.organization_id!==X.id)throw Error("Virtual MCP does not belong to the current organization");G.connection_url=NV(F)}let K=await iL({id:`pending-${Date.now()}`,title:G.title,connection_type:G.connection_type,connection_url:G.connection_url,connection_token:G.connection_token,connection_headers:G.connection_headers}).catch(()=>null),W=K?.tools?.length?K.tools:null,Z=K?.scopes?.length?K.scopes:null,H=await Q.storage.connections.create({...G,tools:W,configuration_scopes:Z});return await Q.eventBus.publish(X.id,h9.SELF(X.id),{type:"connection.created",data:H}),{item:H}}})});var ZE4,KE4,Hf0;var Ff0=S(()=>{v1();gX();ZE4=yZ.extend({avatar:q.string().describe("URL or data URI to the assistant's avatar image"),system_prompt:q.string().describe("System prompt that defines the assistant's behavior"),virtual_mcp_id:q.string().describe("Virtual MCP ID to use for this assistant"),model:q.object({id:q.string().describe("Model ID"),connectionId:q.string().describe("Connection ID that provides the model")}).describe("Selected model reference for this assistant")}),KE4=fZ("assistant",ZE4),Hf0=[...KE4]});var eR,l3,Vf0,HE4,FE4,qf0,$E4,VE4,qE4,BE4,UE4,zE4,Bf0,DE4,OE4,LE4,NE4,ME4,wE4,AE4,PE4,EE4,TE4,mi8,CE4,li8,$f0,RE4,IE4,$$1,di8;var Uf0=S(()=>{v1();_B();gX();eR=q.lazy(()=>q.union([q.null(),q.string(),q.number(),q.boolean(),q.record(q.string(),eR),q.array(eR)])),l3=q.record(q.string(),q.record(q.string(),eR)).optional().describe("Additional provider-specific options. Outer record keyed by provider name, inner by option key"),Vf0=q.object({type:q.literal("text"),text:q.string().describe("The text content"),providerOptions:l3}),HE4=q.object({type:q.literal("text"),text:q.string().describe("The text content"),providerMetadata:q.any().optional().describe("Additional provider-specific metadata")}),FE4=q.string().describe("File data as URL string"),qf0=q.object({type:q.literal("file"),filename:q.string().optional().describe("Optional filename of the file"),data:FE4,mediaType:q.string().describe("IANA media type of the file (e.g., image/png, audio/mp3)"),providerOptions:l3}),$E4=q.object({type:q.literal("file"),mediaType:q.string().describe("IANA media type of the file (e.g., image/png, audio/mp3)"),data:q.string().describe("Generated file data as base64 encoded string")}),VE4=q.object({type:q.literal("reasoning"),text:q.string().describe("The reasoning text"),providerOptions:l3}),qE4=q.object({type:q.literal("reasoning"),text:q.string().describe("The reasoning text"),providerMetadata:q.any().optional().describe("Additional provider-specific metadata")}),BE4=q.object({type:q.literal("tool-call"),toolCallId:q.string().describe("ID of the tool call, used to match with tool result"),toolName:q.string().describe("Name of the tool being called"),input:q.string().describe("Arguments of the tool call (JSON-serializable object matching tool input schema)"),providerExecuted:q.boolean().optional().describe("Whether the tool call will be executed by the provider"),providerOptions:l3}),UE4=q.object({type:q.literal("tool-call"),toolCallId:q.string().describe("ID of the tool call"),toolName:q.string().describe("Name of the tool being called"),input:q.string().describe("Stringified JSON object with the tool call arguments"),providerExecuted:q.boolean().optional().describe("Whether the tool call will be executed by the provider"),providerMetadata:q.any().optional().describe("Additional provider-specific metadata")}),zE4=q.union([q.object({type:q.literal("text"),value:q.string()}),q.object({type:q.literal("json"),value:eR}),q.object({type:q.literal("error-text"),value:q.string()}),q.object({type:q.literal("error-json"),value:eR}),q.object({type:q.literal("content"),value:q.array(q.union([q.object({type:q.literal("text"),text:q.string().describe("Text content")}),q.object({type:q.literal("media"),data:q.string().describe("Base-64 encoded media data"),mediaType:q.string().describe("IANA media type")})]))}),q.object({type:q.literal("execution-denied"),reason:q.string().optional()}),q.string().describe("Raw or JSON-serialized output (e.g. from AI SDK mapToolResultOutput)")]),Bf0=q.object({type:q.literal("tool-result"),toolCallId:q.string().describe("ID of the tool call that this result is associated with"),toolName:q.string().describe("Name of the tool that generated this result"),output:zE4.describe("Result of the tool call"),result:q.unknown().describe("Unknown result of the tool call"),providerOptions:l3}),DE4=q.object({type:q.literal("tool-result"),toolCallId:q.string().describe("ID of the tool call that this result is associated with"),toolName:q.string().describe("Name of the tool that generated this result"),result:q.any().describe("Result of the tool call (JSON-serializable)"),isError:q.boolean().optional().describe("Whether the result is an error or error message"),providerExecuted:q.boolean().optional().describe("Whether the tool result was generated by the provider"),providerMetadata:q.any().optional().describe("Additional provider-specific metadata")}),OE4=q.union([q.object({type:q.literal("source"),sourceType:q.literal("url"),id:q.string().describe("The ID of the source"),url:q.string().describe("The URL of the source"),title:q.string().optional().describe("The title of the source"),providerMetadata:q.any().optional().describe("Additional provider-specific metadata")}),q.object({type:q.literal("source"),sourceType:q.literal("document"),id:q.string().describe("The ID of the source"),mediaType:q.string().describe("IANA media type of the document (e.g., application/pdf)"),title:q.string().describe("The title of the document"),filename:q.string().optional().describe("Optional filename of the document"),providerMetadata:q.any().optional().describe("Additional provider-specific metadata")})]),LE4=q.object({role:q.literal("system"),content:q.string().describe("System message content"),providerOptions:l3}),NE4=q.object({role:q.literal("user"),content:q.array(q.union([Vf0,qf0])).describe("User message content parts (text or file)"),providerOptions:l3}),ME4=q.object({role:q.literal("assistant"),content:q.array(q.union([Vf0,qf0,VE4,BE4,Bf0])).describe("Assistant message content parts (text, file, reasoning, tool-call, or tool-result)"),providerOptions:l3}),wE4=q.object({role:q.literal("tool"),content:q.array(Bf0).describe("Tool message content (tool results)"),providerOptions:l3}),AE4=q.union([LE4,NE4,ME4,wE4]),PE4=q.array(AE4).describe("A list of messages forming the prompt"),EE4=q.object({prompt:PE4.describe("A language model prompt is a standardized prompt type (array of messages with roles: system, user, assistant, tool)"),maxOutputTokens:q.number().optional().describe("Maximum number of tokens to generate"),temperature:q.number().optional().describe("Temperature setting. The range depends on the provider and model"),topP:q.number().optional().describe("Nucleus sampling parameter"),topK:q.number().optional().describe("Only sample from the top K options for each subsequent token. Used to remove long tail low probability responses"),presencePenalty:q.number().optional().describe("Presence penalty setting. It affects the likelihood of the model to repeat information that is already in the prompt"),frequencyPenalty:q.number().optional().describe("Frequency penalty setting. It affects the likelihood of the model to repeatedly use the same words or phrases"),seed:q.number().optional().describe("The seed (integer) to use for random sampling. If set and supported by the model, calls will generate deterministic results"),stopSequences:q.array(q.string()).optional().describe("Stop sequences. If set, the model will stop generating text when one of the stop sequences is generated"),responseFormat:q.union([q.object({type:q.literal("text")}),q.object({type:q.literal("json"),schema:q.any().optional().describe("JSON schema that the generated output should conform to"),name:q.string().optional().describe("Name of output that should be generated"),description:q.string().optional().describe("Description of the output that should be generated")})]).optional().describe("Response format. The output can either be text or JSON. Default is text"),tools:q.array(q.any()).optional().describe("The tools that are available for the model"),toolChoice:q.any().optional().describe("Specifies how the tool should be selected. Defaults to 'auto'"),includeRawChunks:q.boolean().optional().describe("Include raw chunks in the stream. Only applicable for streaming calls"),abortSignal:q.any().optional().describe("Abort signal for cancelling the operation"),providerOptions:q.any().optional().describe("Additional provider-specific options")}),TE4=q.object({content:q.array(q.union([HE4,$E4,qE4,UE4,DE4,OE4])).describe("Ordered content that the model has generated (text, tool-calls, reasoning, files, sources)"),finishReason:q.enum(["stop","length","content-filter","tool-calls","error","other","unknown"]).describe("Reason why generation stopped"),usage:q.looseObject({inputTokens:q.number().optional(),outputTokens:q.number().optional(),totalTokens:q.number().optional(),reasoningTokens:q.number().optional()}).describe("Usage information for the language model call"),providerMetadata:q.any().optional().describe("Additional provider-specific metadata"),request:q.object({body:q.any().optional().describe("Request HTTP body sent to the provider API")}).optional().describe("Optional request information for telemetry and debugging"),response:q.object({id:q.string().optional().describe("ID for the generated response"),timestamp:q.iso.datetime().optional().describe("Timestamp for the start of the generated response"),modelId:q.string().optional().describe("The ID of the response model that was used"),headers:q.record(q.string(),q.string()).optional().describe("Response headers"),body:q.any().optional().describe("Response HTTP body")}).optional().describe("Optional response information for telemetry and debugging"),warnings:q.array(q.any()).describe("Warnings for the call, e.g. unsupported settings")}),mi8=q.object({stream:q.any().describe("ReadableStream of LanguageModelV2StreamPart"),request:q.object({body:q.any().optional().describe("Request HTTP body sent to the provider API")}).optional().describe("Optional request information for telemetry and debugging"),response:q.object({headers:q.record(q.string(),q.string()).optional().describe("Response headers")}).optional().describe("Optional response data")}),CE4=q.object({supportedUrls:q.record(q.string(),q.array(q.string())).describe("Supported URL patterns by media type for the provider")}),li8=q.object({modelId:q.string().describe("The ID of the model"),logo:q.string().nullable(),description:q.string().nullable(),capabilities:q.array(q.string()),limits:q.object({contextWindow:q.number(),maxOutputTokens:q.number()}).nullable(),costs:q.object({input:q.number(),output:q.number()}).nullable(),provider:q.enum(["openai","anthropic","google","x-ai","deepseek","openai-compatible","openrouter"]).nullable()}),$f0=q.object({modelId:q.string().describe("The ID of the model"),callOptions:EE4}),RE4=yZ.extend({logo:q.string().nullable(),description:q.string().nullable(),capabilities:q.array(q.string()),limits:q.object({contextWindow:q.number(),maxOutputTokens:q.number()}).nullable(),costs:q.object({input:q.number(),output:q.number()}).nullable(),provider:q.enum(["openai","anthropic","google","xai","deepseek","openai-compatible","openrouter"]).nullable()}),IE4=fZ("llm",RE4,{readOnly:!0}),$$1=[{name:"LLM_METADATA",inputSchema:q.object({modelId:q.string().describe("The ID of the model")}),outputSchema:CE4},{name:"LLM_DO_STREAM",inputSchema:$f0,streamable:!0},{name:"LLM_DO_GENERATE",inputSchema:$f0,outputSchema:TE4},...IE4],di8=vZ($$1)});function gN(){return!1}function zp(Y,Q){return Y===h9.DEV_ASSETS(Q)}function uN(Y,Q){let X=zt(Q,Y),J=new Date().toISOString();return{id:X.id??h9.DEV_ASSETS(Y),title:X.title,description:X.description??null,icon:X.icon??null,app_name:X.app_name??null,app_id:X.app_id??null,organization_id:Y,created_by:"system",created_at:J,updated_at:J,connection_type:X.connection_type,connection_url:X.connection_url??null,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:X.metadata??null,tools:jE4,bindings:["OBJECT_STORAGE"],status:"active"}}var jE4;var Dp=S(()=>{Yl();zY();v1();jE4=uC.map((Y)=>({name:Y.name,description:`${Y.name} operation for local file storage`,inputSchema:q.toJSONSchema(Y.inputSchema),outputSchema:q.toJSONSchema(Y.outputSchema)}))});function _E4(Y){let Q=[],X=0;while(X<Y.length){let J=Y[X];if(J==="%")Q.push(".*");else if(J==="_")Q.push(".");else if(/[.*+?^${}()|[\]\\]/.test(J))Q.push("\\"+J);else Q.push(J);X++}return Q.join("")}function w$(Y){return typeof Y==="string"||typeof Y==="number"}function Op(Y,Q){if("conditions"in Q){let{operator:Z,conditions:H}=Q;switch(Z){case"and":return H.every((F)=>Op(Y,F));case"or":return H.some((F)=>Op(Y,F));case"not":return!H.every((F)=>Op(Y,F));default:return!0}}let{field:X,operator:J,value:G}=Q,K=X.join("."),W=V$1(Y,K);switch(J){case"eq":return W===G;case"gt":return w$(W)&&w$(G)&&W>G;case"gte":return w$(W)&&w$(G)&&W>=G;case"lt":return w$(W)&&w$(G)&&W<G;case"lte":return w$(W)&&w$(G)&&W<=G;case"in":return Array.isArray(G)&&G.includes(W);case"like":if(typeof W!=="string"||typeof G!=="string")return!1;if(G.length>100)return!1;let Z=_E4(G);return new RegExp(`^${Z}$`,"i").test(W);case"contains":if(typeof W!=="string"||typeof G!=="string")return!1;return W.toLowerCase().includes(G.toLowerCase());default:return!0}}function V$1(Y,Q){let X=Q.split("."),J=Y;for(let G of X){if(J==null||typeof J!=="object")return;J=J[G]}return J}function vE4(Y,Q){return[...Y].sort((X,J)=>{for(let G of Q){let K=G.field.join("."),W=V$1(X,K),Z=V$1(J,K),H=0;if(W==null&&Z==null)continue;if(W==null)H=G.nulls==="first"?-1:1;else if(Z==null)H=G.nulls==="first"?1:-1;else if(typeof W==="string"&&typeof Z==="string")H=W.localeCompare(Z);else if(typeof W==="number"&&typeof Z==="number")H=W-Z;else H=String(W).localeCompare(String(Z));if(H!==0)return G.direction==="desc"?-H:H}return 0})}var SE4,kE4,yE4,q$1;var zf0=S(()=>{Xl();Ff0();gX();Uf0();Yl();zY();v1();k0();Dp();L3();SE4={LLM:$$1,ASSISTANTS:Hf0,OBJECT_STORAGE:uC};kE4=dG.extend({binding:q.union([q.object({}).passthrough(),q.string()]).optional(),include_virtual:q.boolean().optional().describe("Whether to include VIRTUAL connections in the results. Defaults to false.")}),yE4=M3(P5),q$1=k1({name:"COLLECTION_CONNECTIONS_LIST",description:"List all connections in the organization with filtering, sorting, and pagination",annotations:{title:"List Connections",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:kE4,outputSchema:yE4,handler:async(Y,Q)=>{await Q.access.check();let X=B0(Q),J=Y.binding?typeof Y.binding==="string"?(()=>{let B=SE4[Y.binding.toUpperCase()];if(!B)throw Error(`Unknown binding: ${Y.binding}`);return B})():Y.binding:void 0,G=J?om(J):void 0,K=await Q.storage.connections.list(X.id,{includeVirtual:Y.include_virtual??!1});if(gN()){let B=AG(),U=h9.DEV_ASSETS(X.id);if(!K.some((z)=>z.id===U)){let z=uN(X.id,B);K.unshift(z)}}let W=G?await Promise.all(K.map(async(B)=>{if(!B.tools||B.tools.length===0)return null;return G.isImplementedBy(B.tools.map((z)=>({name:z.name,inputSchema:z.inputSchema,outputSchema:z.outputSchema})))?B:null})).then((B)=>B.filter((U)=>U!==null)):K;if(Y.where)W=W.filter((B)=>Op(B,Y.where));if(Y.orderBy&&Y.orderBy.length>0)W=vE4(W,Y.orderBy);let Z=W.length,H=Y.offset??0,F=Y.limit??100,$=W.slice(H,H+F),V=H+F<Z;return{items:$,totalCount:Z,hasMore:V}}})});var fE4,B$1;var Df0=S(()=>{gX();k0();Dp();L3();fE4=TC(P5),B$1=k1({name:"COLLECTION_CONNECTIONS_GET",description:"Get connection details by ID",annotations:{title:"Get Connection",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:EC,outputSchema:fE4,handler:async(Y,Q)=>{let X=B0(Q);if(await Q.access.check(),gN()&&zp(Y.id,X.id))return{item:uN(X.id,AG())};let J=await Q.storage.connections.findById(Y.id);if(!J||J.organization_id!==X.id)return{item:null};return{item:J}}})});var Lp=(Y,Q)=>{if(Q===null||Q===void 0)return;let X=Y.replace(/\[(\w+)\]/g,".$1").split(".").filter(Boolean),J=Q;for(let G of X){if(J===null||J===void 0||typeof J!=="object")return;J=J[G]}return J};function Of0(Y){let Q=Y.split("::");if(Q.length!==2||!Q[0]||!Q[1])throw Error(`Invalid scope format: ${Y}. Expected format: "KEY::SCOPE"`);return Q}function bE4(Y){let Q=Y.split("::");if(Q.length!==2||!Q[0]||!Q[1])return null;return Q}function hE4(Y){if(typeof Y==="object"&&Y!==null&&"value"in Y){let Q=Y.value;if(typeof Q==="string")return Q}return null}function U$1(Y,Q){let X={};if(!Y||!Q)return X;for(let J of Q){if(J==="*"){X["*"]=["*"];continue}let G=bE4(J);if(!G)continue;let[K,W]=G,Z=Lp(K,Y),H=hE4(Z);if(H){if(!X[H])X[H]=[];X[H].push(W)}}return X}function Lf0(Y,Q){let X=U$1(Y,Q);return new Set(Object.keys(X).filter((J)=>J!=="*"))}var z$1=()=>{};import{randomBytes as xE4}from"crypto";function gE4(){if(YI)return YI;let Y=process.env.MESH_JWT_SECRET??t9.jwt?.secret??process.env.BETTER_AUTH_SECRET;if(Y)YI=new TextEncoder().encode(Y);else console.warn("MESH_JWT_SECRET not set - generating random secret (not persistent)"),YI=new Uint8Array(xE4(32));return YI}async function Nf0(Y,Q="5m"){let X=gE4();return await new DX(Y).setProtectedHeader({alg:"HS256",typ:"JWT"}).setIssuedAt().setExpirationTime(Q).sign(X)}var YI=null;var Mf0=S(()=>{OX();Np()});async function wf0(Y){if(!Y.refreshToken)return{success:!1,error:"No refresh token available"};if(!Y.tokenEndpoint)return{success:!1,error:"No token endpoint available"};if(!Y.clientId)return{success:!1,error:"No client ID available"};try{let Q=new URLSearchParams({grant_type:"refresh_token",refresh_token:Y.refreshToken,client_id:Y.clientId});if(Y.clientSecret)Q.set("client_secret",Y.clientSecret);if(Y.scope)Q.set("scope",Y.scope);let X=await fetch(Y.tokenEndpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:Q.toString()});if(!X.ok){let G=await X.text();console.error(`[TokenRefresh] Failed to refresh token: ${X.status}`,G);try{let K=JSON.parse(G);return{success:!1,error:K.error_description||K.error||`Token refresh failed: ${X.status}`}}catch{return{success:!1,error:`Token refresh failed: ${X.status}`}}}let J=await X.json();return{success:!0,accessToken:J.access_token,refreshToken:J.refresh_token||Y.refreshToken,expiresIn:J.expires_in,scope:J.scope}}catch(Q){return console.error("[TokenRefresh] Error refreshing token:",Q),{success:!1,error:Q instanceof Error?Q.message:"Token refresh failed"}}}class QI{db;vault;constructor(Y,Q){this.db=Y;this.vault=Q}async get(Y){let Q=await this.db.selectFrom("downstream_tokens").selectAll().where("connectionId","=",Y).executeTakeFirst();if(!Q)return null;return this.decryptToken(Q)}async upsert(Y){let Q=new Date().toISOString(),X=await this.vault.encrypt(Y.accessToken),J=Y.refreshToken?await this.vault.encrypt(Y.refreshToken):null,G=Y.clientSecret?await this.vault.encrypt(Y.clientSecret):null;return await this.db.transaction().execute(async(K)=>{let W=await K.selectFrom("downstream_tokens").select(["id","createdAt"]).where("connectionId","=",Y.connectionId).executeTakeFirst();if(W)return await K.updateTable("downstream_tokens").set({accessToken:X,refreshToken:J,scope:Y.scope,expiresAt:Y.expiresAt?.toISOString()??null,clientId:Y.clientId,clientSecret:G,tokenEndpoint:Y.tokenEndpoint,updatedAt:Q}).where("id","=",W.id).execute(),{id:W.id,connectionId:Y.connectionId,accessToken:Y.accessToken,refreshToken:Y.refreshToken,scope:Y.scope,expiresAt:Y.expiresAt,createdAt:W.createdAt,updatedAt:Q,clientId:Y.clientId,clientSecret:Y.clientSecret,tokenEndpoint:Y.tokenEndpoint};let Z=Y$("dtok");return await K.insertInto("downstream_tokens").values({id:Z,connectionId:Y.connectionId,accessToken:X,refreshToken:J,scope:Y.scope,expiresAt:Y.expiresAt?.toISOString()??null,clientId:Y.clientId,clientSecret:G,tokenEndpoint:Y.tokenEndpoint,createdAt:Q,updatedAt:Q}).execute(),{id:Z,connectionId:Y.connectionId,accessToken:Y.accessToken,refreshToken:Y.refreshToken,scope:Y.scope,expiresAt:Y.expiresAt,createdAt:Q,updatedAt:Q,clientId:Y.clientId,clientSecret:Y.clientSecret,tokenEndpoint:Y.tokenEndpoint}})}async delete(Y){await this.db.deleteFrom("downstream_tokens").where("connectionId","=",Y).execute()}isExpired(Y,Q=0){if(!Y.expiresAt)return!1;let J=(Y.expiresAt instanceof Date?Y.expiresAt:new Date(Y.expiresAt)).getTime();if(Number.isNaN(J))return!0;return J-Q<Date.now()}async decryptToken(Y){let Q=await this.vault.decrypt(Y.accessToken),X=Y.refreshToken?await this.vault.decrypt(Y.refreshToken):null,J=Y.clientSecret?await this.vault.decrypt(Y.clientSecret):null;return{id:Y.id,connectionId:Y.connectionId,accessToken:Q,refreshToken:X,scope:Y.scope,expiresAt:Y.expiresAt,createdAt:Y.createdAt,updatedAt:Y.updatedAt,clientId:Y.clientId,clientSecret:J,tokenEndpoint:Y.tokenEndpoint}}}var D$1=S(()=>{DC()});async function XI(Y,Q,X){let J=Y.id,G=U$1(Y.configuration_state,Y.configuration_scopes),K=Q.auth.user?.id??Q.auth.apiKey?.userId??(X?Y.created_by:void 0),[W,Z]=K?await Nf0({sub:K,user:{id:K},metadata:{state:Y.configuration_state??void 0,meshUrl:Q.baseUrl,connectionId:J,organizationId:Q.organization?.id},permissions:G}).then((U)=>[U,null]).catch((U)=>[null,U]):[null,Error("User ID required to issue configuration token")];if(Z)console.error("Failed to issue configuration token:",W);let H=Q.auth.user?.connectionId,F={...H?{"x-caller-id":H}:{},...Q.metadata.wellKnownForwardableHeaders??{},"x-request-id":Q.metadata.requestId},$=null,V=new QI(Q.db,Q.vault),B=await V.get(J);if(B){let U=!!B.refreshToken&&!!B.tokenEndpoint;if(V.isExpired(B,U?300000:0))if(U){console.log(`[Proxy] Token expired for ${J}, attempting refresh`);let O=await wf0(B);if(O.success&&O.accessToken)await V.upsert({connectionId:J,accessToken:O.accessToken,refreshToken:O.refreshToken??B.refreshToken,scope:O.scope??B.scope,expiresAt:O.expiresIn?new Date(Date.now()+O.expiresIn*1000):null,clientId:B.clientId,clientSecret:B.clientSecret,tokenEndpoint:B.tokenEndpoint}),$=O.accessToken,console.log(`[Proxy] Token refreshed for ${J}`);else await V.delete(J),console.error(`[Proxy] Token refresh failed for ${J}: ${O.error}`)}else await V.delete(J),console.log(`[Proxy] Token expired without refresh capability for ${J}`);else $=B.accessToken}if(!$&&Y.connection_token)$=Y.connection_token;if($)F.Authorization=`Bearer ${$}`;if(W)F["x-mesh-token"]=W;return F}var O$1=S(()=>{z$1();Mf0();D$1()});function Af0(){let Y=new Map;function Q(J,G){let K=Y.get(G);if(K)return console.log(`[ClientPool] Reusing cached client for ${G}`),K;console.log(`[ClientPool] Creating new client for ${G}`);let W=new sX({name:`outbound-client-${G}`,version:"1.0.0"},{capabilities:{tasks:{list:{},cancel:{},requests:{tool:{call:{}}}}}});W.onclose=()=>{Y.delete(G)};let Z=W.connect(J,{timeout:30000}).then(()=>W).catch((H)=>{throw Y.delete(G),H});return Y.set(G,Z),Z}return Object.assign(Q,{[Symbol.asyncDispose]:async()=>{let J=[];for(let[G,K]of Y)J.push(K.then((W)=>W.close()).catch((W)=>console.error(`[ClientPool] Error closing client ${G}:`,W)));await Promise.all(J),Y.clear()}})}var Pf0=S(()=>{Pz()});function Ef0(Y){let Q=new wC({command:Y.command,args:Y.args,env:Y.env,cwd:Y.cwd,stderr:"pipe"}),X=Y.name||Y.id,J="\x1B[2m",G="\x1B[0m";return Q.stderr?.on("data",(K)=>{let W=K.toString().trimEnd();if(W)console.error(`${W} \x1B[2m[${X}]\x1B[0m`)}),Q}var Tf0=S(()=>{lZ1()});class JI{innerTransport;constructor(Y){this.innerTransport=Y}async start(){return this.innerTransport.onmessage=(Y)=>{this.handleIncomingMessage(Y)},this.innerTransport.onerror=(Y)=>{this.onerror?.(Y)},this.innerTransport.onclose=()=>{this.onclose?.()},this.innerTransport.start()}async send(Y){return this.handleOutgoingMessage(Y)}async close(){return this.innerTransport.close()}async handleOutgoingMessage(Y){return this.innerTransport.send(Y)}handleIncomingMessage(Y){this.onmessage?.(Y)}isRequest(Y){return"method"in Y&&Y.method!==void 0}isResponse(Y){return"result"in Y||"error"in Y&&!("method"in Y)}onmessage;onerror;onclose}function GI(Y,...Q){return Q.reduce((X,J)=>J(X),Y)}var Cf0="mcp.mesh";var Rf0,L$1,WI;var N$1=S(()=>{Rf0=class Rf0 extends Error{constructor(Y){super(Y);this.name="UnauthorizedError"}};L$1=class L$1 extends Error{constructor(Y){super(Y);this.name="ForbiddenError"}};WI=class WI{userId;toolName;boundAuth;role;connectionId;getToolMeta;_granted=!1;constructor(Y,Q,X,J,G,K="self",W){this.userId=Q;this.toolName=X;this.boundAuth=J;this.role=G;this.connectionId=K;this.getToolMeta=W}[Symbol.dispose](){this._granted=!1}setToolName(Y){this.toolName=Y}grant(){return this._granted=!0,{[Symbol.dispose]:()=>{this._granted=!1}}}async check(...Y){if(this._granted)return;if(this.toolName?.startsWith("MESH_PUBLIC_")){this.grant();return}if(!this.userId&&!this.boundAuth){if(this.getToolMeta&&await this.isToolPublic()){this.grant();return}throw new Rf0("Authentication required. Please provide a valid OAuth token or API key.")}let Q=Y.length>0?Y:this.toolName?[this.toolName]:[];if(Q.length===0)throw new L$1("No resources specified for access check");for(let X of Q)if(await this.checkResource(X)){this.grant();return}throw new L$1(`Access denied to: ${Q.join(", ")}`)}async checkResource(Y){if(!this.userId&&!this.boundAuth)return!1;if(this.role==="admin"||this.role==="owner")return!0;if(!this.boundAuth)return!1;let Q={};if(this.connectionId)Q[this.connectionId]=[Y];return this.boundAuth.hasPermission(Q)}async isToolPublic(){if(this.toolName?.startsWith("MESH_PUBLIC_"))return!0;if(!this.getToolMeta)return!1;try{let Y=await this.getToolMeta();if(!Y)return!1;let X=Y[Cf0]?.public_tool;return X===!0||X==="true"}catch{return!1}}granted(){return this._granted}}});var uE4="mcp.mesh",mN;var If0=S(()=>{N$1();mN=class mN extends JI{options;cachedToolsMap=null;constructor(Y,Q){super(Y);this.options=Q;if(Q.connection.tools)this.cachedToolsMap=new Map(Q.connection.tools.map((X)=>[X.name,X]))}async handleOutgoingMessage(Y){if(!this.isRequest(Y))return this.innerTransport.send(Y);let Q=Y;if(Q.method==="tools/call")await this.authorizeToolCall(Q),this.stripMetaFromArguments(Q);return this.innerTransport.send(Y)}async authorizeToolCall(Y){if(this.options.superUser)return;let X=Y.params.name,{ctx:J,connection:G}=this.options;if(this.isPublicTool(X))return;if(!J.auth.user?.id&&!J.auth.apiKey?.id)throw Error("Authentication required. Please provide a valid OAuth token or API key.");let K=async()=>{return this.cachedToolsMap?.get(X)?._meta};await new WI(J.authInstance,J.auth.user?.id??J.auth.apiKey?.userId,X,J.boundAuth,J.auth.user?.role,G.id,K).check(X)}isPublicTool(Y){if(Y.startsWith("MESH_PUBLIC_"))return!0;if(!this.cachedToolsMap)return!1;let Q=this.cachedToolsMap.get(Y);if(!Q?._meta)return!1;return Q._meta[uE4]?.public_tool===!0}stripMetaFromArguments(Y){let Q=Y.params;if(Q.arguments&&"_meta"in Q.arguments){let{_meta:X,...J}=Q.arguments;Q.arguments=J}}}});function Sf0(Y){if(!Y.isError)return;let Q=Y.content;if(!Array.isArray(Q))return;for(let X of Q)if(X&&typeof X==="object"&&"type"in X&&X.type==="text"&&"text"in X&&typeof X.text==="string")return X.text;return}function w$1(Y){if(!Y)return;let Q=Y._meta;if(!Q||typeof Q!=="object"||Array.isArray(Q))return;let X=Q.properties;if(!X||typeof X!=="object"||Array.isArray(X))return;let J={};for(let[G,K]of Object.entries(X))if(typeof K==="string")J[G]=K;return Object.keys(J).length>0?J:void 0}function A$1(Y,Q){if(!Y&&!Q)return;if(!Y)return Q;if(!Q)return Y;return{...Q,...Y}}function P$1(Y){if(Y&&typeof Y==="object"&&!Array.isArray(Y)){let Q=Y,X=Q.structuredContent;if(X&&typeof X==="object"&&!Array.isArray(X))return X;return Q}return{value:Y}}async function mE4(Y,Q){let X=Y.body;if(!X)return{text:"",truncated:!1};let J=X.getReader(),G=new TextDecoder,K=!1,W=0,Z=[];try{while(!0){let{value:H,done:F}=await J.read();if(F)break;if(H){if(W+=H.byteLength,W>Q){K=!0;let $=Q-(W-H.byteLength);if($>0)Z.push(G.decode(H.slice(0,$),{stream:!0}));break}Z.push(G.decode(H,{stream:!0}))}}}finally{J.releaseLock()}return Z.push(G.decode()),{text:Z.join(""),truncated:K}}function lE4(Y){if(!Y)return;let Q=Y.trimEnd().split(`
|
|
1470
|
+
${Q.stack}`;return G}}catch{}if(typeof Q.toString==="function")try{let G=Q.toString();if(G!=="[object Object]")return G}catch{}let J=Object.keys(Q);if(J.length>0)return`Object with keys: ${J.join(", ")}`;return"[object Object]"}if(typeof Y==="string")return Y;if(typeof Y==="number"||typeof Y==="boolean")return String(Y);if(typeof Y==="function")return`[Function: ${Y.name||"anon"}]`;if(typeof Y==="symbol")return Y.toString();if(typeof Y==="bigint")return Y.toString();try{return String(Y)}catch{return"Unknown value (could not convert to string)"}}function hN(Y,Q){switch(typeof Q){case"string":return Y.newString(Q);case"number":return Y.newNumber(Q);case"boolean":return Q?Y.true:Y.false;case"undefined":return Y.undefined;case"object":{if(Q===null)return Y.null;if(Array.isArray(Q)){let J=Y.newArray();return Q.forEach((G,K)=>{let W=hN(Y,G);try{Y.setProp(J,String(K),W)}finally{W.dispose?.()}}),J}let X=Y.newObject();for(let[J,G]of Object.entries(Q)){let K=hN(Y,G);try{Y.setProp(X,J,K)}finally{K.dispose?.()}}return X}case"function":{let X=`__hostFn_${Date.now()}_${Math.random().toString(36).substr(2,9)}`;return Y.newFunction(X,(...G)=>{try{let K=G.map((Z)=>Y.dump(Z)),W=Q(...K);if(W&&typeof W.then==="function"){let Z=Y.newPromise();return W.then((H)=>{try{let F=hN(Y,H);Z.resolve(F),F.dispose()}catch(F){let $=bN(F),V=Y.newString(`Promise resolution error: ${$}`);Z.reject(V),V.dispose()}finally{Y.runtime.executePendingJobs()}}).catch((H)=>{let F=bN(H),$=Y.newString(`Promise rejection: ${F}`);Z.reject($),$.dispose(),Y.runtime.executePendingJobs()}),Z.handle}return hN(Y,W)}catch(K){let W=bN(K);return Y.newString(`HostFunctionError: ${W}`)}finally{G.forEach((K)=>K.dispose())}})}case"bigint":return Y.newString(Q.toString());case"symbol":return Y.newString(Q.toString());default:try{return Y.newString(String(Q))}catch{return Y.undefined}}}var ty0=()=>{};function Yf0(Y){let Q=Y.runtime.executePendingJobs(100);try{if("unwrap"in Q&&typeof Q.unwrap==="function")Q.unwrap()}finally{if("dispose"in Q&&typeof Q.dispose==="function")Q.dispose()}}async function ey0(Y,Q,X){let J=Date.now(),G=Y.resolvePromise(Q);while(!0){Yf0(Y);let K=await Promise.race([G,s24(0).then(()=>null)]);if(K!==null)return K;if(Date.now()-J>X)throw Error(`Timed out after ${X}ms while awaiting a QuickJS promise`)}}async function sR({tools:Y,code:Q,timeoutMs:X}){let W=[];try{const J=qI(W,await oy0({memoryLimitBytes:33554432,stackSizeBytes:524288}),0);const G=qI(W,J.newContext({interruptAfterMs:X}),0);const K=qI(W,ny0(G),0);try{let $=G.evalCode(Q,"index.mjs",{strip:!0,strict:!0,type:"module"}),V=G.unwrapResult($),B=hN(G,Y);G.setProp(G.global,"tools",B);let U=G.runtime.hasPendingJob()?G.unwrapResult(await ey0(G,V,X)):V;if(U!==V)V.dispose();let z=G.getProp(U,"default"),O=G.typeof(z);if(O!=="function")return z.dispose(),U.dispose(),B.dispose(),{error:`Code must export default a function (tools). Got ${O}. Example: export default async (tools) => { /* ... */ }`,consoleLogs:K.logs};let M=G.callFunction(z,G.undefined,B);B.dispose(),z.dispose(),U.dispose();let w=G.unwrapResult(M),P=await ey0(G,w,X);w.dispose();let j=G.unwrapResult(P);if(G.runtime.hasPendingJob())Yf0(G);let C=G.dump(j);return j.dispose(),{returnValue:C,consoleLogs:K.logs}}catch($){return console.log($),{error:bN($),consoleLogs:K.logs}}}catch(Z){var H=Z,F=1}finally{lV1(W,H,F)}}var s24=(Y)=>new Promise((Q)=>setTimeout(Q,Y));var Qf0=S(()=>{sy0();ty0()});var W$1=S(()=>{Qf0()});async function t24(Y,Q){let X=Y.connections.map((K)=>K.connection_id),J=[];for(let K of X){let W=await Q.storage.connections.findById(K);if(W&&W.status==="active")J.push(W)}return J.map((K)=>{let W=Y.connections.find((Z)=>Z.connection_id===K.id);return{connection:K,selectedTools:W?.selected_tools??null,selectedResources:W?.selected_resources??null,selectedPrompts:W?.selected_prompts??null}})}async function Xf0(Y,Q){return(await Q.storage.connections.list(Y)).filter((J)=>J.status==="active").map((J)=>({connection:J,selectedTools:null,selectedResources:null,selectedPrompts:null}))}async function e24(Y,Q){let X=new Map;for(let B of Y)X.set(B.connection.id,B);let J=Y.map((B)=>B.connection),G=new Map,K=await Promise.allSettled(J.map(async(B)=>{try{let U=await Q.createMCPProxy(B);return{connection:B,proxy:U}}catch(U){return console.warn(`[code-execution] Failed to create proxy for connection ${B.id}:`,U),null}}));for(let B of K)if(B.status==="fulfilled"&&B.value)G.set(B.value.connection.id,B.value);let W=await Promise.allSettled(Array.from(G.entries()).map(async([B,U])=>{try{let O=(await U.proxy.listTools()).tools,M=X.get(B);if(M?.selectedTools&&M.selectedTools.length>0){let w=new Set(M.selectedTools);O=O.filter((P)=>w.has(P.name))}return{connectionId:B,connectionTitle:U.connection.title,tools:O}}catch(z){return console.error(`[code-execution] Failed to list tools for connection ${B}:`,z),null}})),Z=new Set,H=[],F=new Map;for(let B of W){if(B.status!=="fulfilled"||!B.value)continue;let{connectionId:U,connectionTitle:z,tools:O}=B.value;for(let M of O){if(Z.has(M.name))continue;Z.add(M.name),H.push({...M,_meta:{...M._meta,connectionId:U,connectionTitle:z}}),F.set(M.name,U)}}let $=async(B,U)=>{let z=F.get(B);if(!z)return{content:[{type:"text",text:`Tool not found: ${B}`}],isError:!0};let O=G.get(z);if(!O)return{content:[{type:"text",text:`Connection not found for tool: ${B}`}],isError:!0};return await O.proxy.callTool({name:B,arguments:U})},V=[];for(let[,B]of G)V.push(B.proxy.close().catch(()=>{}));return await Promise.all(V),{tools:H,callTool:$}}async function xN(Y){let Q=B0(Y),X;if(Y.connectionId){let J=await Y.storage.virtualMcps.findById(Y.connectionId,Y.organization?.id);if(J)X=await t24(J,Y);else X=await Xf0(Q.id,Y)}else X=await Xf0(Q.id,Y);return e24(X,Y)}function YE4(Y){return Y.toLowerCase().split(/[\s_\-./]+/).filter((Q)=>Q.length>=2)}function QE4(Y,Q){let X=0,J=Q.name.toLowerCase(),G=(Q.description??"").toLowerCase(),K=(Q._meta?.connectionTitle??"").toLowerCase();for(let W of Y){if(J===W)X+=10;else if(J.includes(W))X+=3;if(G.includes(W))X+=2;if(K.includes(W))X+=1}return X}function qp(Y,Q,X){let J=YE4(Y);if(J.length===0)return Q.slice(0,X);return Q.map((G)=>({tool:G,score:QE4(J,G)})).filter((G)=>G.score>0).sort((G,K)=>K.score-G.score).slice(0,X).map((G)=>G.tool)}function Bp(Y,Q){let X=new Map(Q.map((G)=>[G.name,G]));return{tools:Y.map((G)=>X.get(G)).filter((G)=>G!==void 0).map((G)=>({name:G.name,description:G.description,connection:G._meta?.connectionTitle??"",inputSchema:G.inputSchema,outputSchema:G.outputSchema})),notFound:Y.filter((G)=>!X.has(G))}}async function Up(Y,Q,X){let J=Object.fromEntries(Q.tools.map((G)=>[G.name,async(K)=>{let W=await Q.callTool(G.name,K??{});if(W.structuredContent&&typeof W.structuredContent==="object")return W.structuredContent;let Z=W.content;if(Z?.[0]?.type==="text"&&Z[0].text)try{return JSON.parse(Z[0].text)}catch{return Z[0].text}return W}]));return sR({code:Y,tools:J,timeoutMs:X})}function tR(Y){return{content:[{type:"text",text:JSON.stringify(Y,null,2)}]}}function M$(Y){return{content:[{type:"text",text:JSON.stringify(Y,null,2)}],isError:!0}}function m3(Y){let Q=new Set(XE4);return Y.filter((X)=>!Q.has(X.name))}var XE4;var WU=S(()=>{W$1();XE4=["CODE_EXECUTION_SEARCH_TOOLS","CODE_EXECUTION_DESCRIBE_TOOLS","CODE_EXECUTION_RUN_CODE"]});var Z$1;var Jf0=S(()=>{k0();oR();WU();Z$1=k1({name:"CODE_EXECUTION_SEARCH_TOOLS",description:"Search for available tools by name or description. Returns tool names and brief descriptions without full schemas. Use this to discover tools before calling CODE_EXECUTION_DESCRIBE_TOOLS for detailed schemas.",annotations:{title:"Search Tools",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:uy0,outputSchema:my0,handler:async(Y,Q)=>{o1(Q),B0(Q),await Q.access.check();let X=await xN(Q),J=qp(Y.query,X.tools,Y.limit);return{query:Y.query,results:J.map((G)=>({name:G.name,description:G.description,connection:G._meta?.connectionTitle??""})),totalAvailable:X.tools.length}}})});var K$1;var Gf0=S(()=>{k0();oR();WU();K$1=k1({name:"CODE_EXECUTION_DESCRIBE_TOOLS",description:"Get detailed schemas for specific tools. Call after CODE_EXECUTION_SEARCH_TOOLS to get full input/output schemas before executing code.",annotations:{title:"Describe Tools",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:ly0,outputSchema:dy0,handler:async(Y,Q)=>{o1(Q),B0(Q),await Q.access.check();let X=await xN(Q);return Bp(Y.tools,X.tools)}})});var H$1;var Wf0=S(()=>{k0();oR();WU();H$1=k1({name:"CODE_EXECUTION_RUN_CODE",description:'Run JavaScript code in a sandbox. Code must be an ES module that `export default`s an async function that receives (tools) as its first parameter. Use CODE_EXECUTION_DESCRIBE_TOOLS to understand the input/output schemas for a tool before calling it. Use `await tools.toolName(args)` or `await tools["tool-name"](args)` to call tools.',annotations:{title:"Run Code",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!0},inputSchema:py0,outputSchema:cy0,handler:async(Y,Q)=>{o1(Q),B0(Q),await Q.access.check();let X=await xN(Q);return await Up(Y.code,X,Y.timeoutMs)}})});var Zf0=S(()=>{Jf0();Gf0();Wf0();oR()});var GE4,WE4,F$1;var Kf0=S(()=>{zY();v1();k0();pm();L3();GE4=q.object({data:CA.describe("Data for the new connection (id is auto-generated if not provided)")}),WE4=q.object({item:P5.describe("The created connection entity")}),F$1=k1({name:"COLLECTION_CONNECTIONS_CREATE",description:"Create a new MCP connection in the organization",annotations:{title:"Create Connection",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:GE4,outputSchema:WE4,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=D9(Q);if(!J)throw Error("User ID required to create connection");let G={...Y.data,organization_id:X.id,created_by:J};if(G.connection_type==="VIRTUAL"){let F=LV(G.connection_url);if(!F)throw Error("VIRTUAL connection requires connection_url in format: virtual://$virtual_mcp_id");let $=await Q.storage.virtualMcps.findById(F);if(!$)throw Error(`Virtual MCP not found: ${F}`);if($.organization_id!==X.id)throw Error("Virtual MCP does not belong to the current organization");G.connection_url=NV(F)}let K=await iL({id:`pending-${Date.now()}`,title:G.title,connection_type:G.connection_type,connection_url:G.connection_url,connection_token:G.connection_token,connection_headers:G.connection_headers}).catch(()=>null),W=K?.tools?.length?K.tools:null,Z=K?.scopes?.length?K.scopes:null,H=await Q.storage.connections.create({...G,tools:W,configuration_scopes:Z});return await Q.eventBus.publish(X.id,h9.SELF(X.id),{type:"connection.created",data:H}),{item:H}}})});var ZE4,KE4,Hf0;var Ff0=S(()=>{v1();gX();ZE4=yZ.extend({avatar:q.string().describe("URL or data URI to the assistant's avatar image"),system_prompt:q.string().describe("System prompt that defines the assistant's behavior"),virtual_mcp_id:q.string().describe("Virtual MCP ID to use for this assistant"),model:q.object({id:q.string().describe("Model ID"),connectionId:q.string().describe("Connection ID that provides the model")}).describe("Selected model reference for this assistant")}),KE4=fZ("assistant",ZE4),Hf0=[...KE4]});var eR,l3,Vf0,HE4,FE4,qf0,$E4,VE4,qE4,BE4,UE4,zE4,Bf0,DE4,OE4,LE4,NE4,ME4,wE4,AE4,PE4,EE4,TE4,mi8,CE4,li8,$f0,RE4,IE4,$$1,di8;var Uf0=S(()=>{v1();_B();gX();eR=q.lazy(()=>q.union([q.null(),q.string(),q.number(),q.boolean(),q.record(q.string(),eR),q.array(eR)])),l3=q.record(q.string(),q.record(q.string(),eR)).optional().describe("Additional provider-specific options. Outer record keyed by provider name, inner by option key"),Vf0=q.object({type:q.literal("text"),text:q.string().describe("The text content"),providerOptions:l3}),HE4=q.object({type:q.literal("text"),text:q.string().describe("The text content"),providerMetadata:q.any().optional().describe("Additional provider-specific metadata")}),FE4=q.string().describe("File data as URL string"),qf0=q.object({type:q.literal("file"),filename:q.string().optional().describe("Optional filename of the file"),data:FE4,mediaType:q.string().describe("IANA media type of the file (e.g., image/png, audio/mp3)"),providerOptions:l3}),$E4=q.object({type:q.literal("file"),mediaType:q.string().describe("IANA media type of the file (e.g., image/png, audio/mp3)"),data:q.string().describe("Generated file data as base64 encoded string")}),VE4=q.object({type:q.literal("reasoning"),text:q.string().describe("The reasoning text"),providerOptions:l3}),qE4=q.object({type:q.literal("reasoning"),text:q.string().describe("The reasoning text"),providerMetadata:q.any().optional().describe("Additional provider-specific metadata")}),BE4=q.object({type:q.literal("tool-call"),toolCallId:q.string().describe("ID of the tool call, used to match with tool result"),toolName:q.string().describe("Name of the tool being called"),input:q.string().describe("Arguments of the tool call (JSON-serializable object matching tool input schema)"),providerExecuted:q.boolean().optional().describe("Whether the tool call will be executed by the provider"),providerOptions:l3}),UE4=q.object({type:q.literal("tool-call"),toolCallId:q.string().describe("ID of the tool call"),toolName:q.string().describe("Name of the tool being called"),input:q.string().describe("Stringified JSON object with the tool call arguments"),providerExecuted:q.boolean().optional().describe("Whether the tool call will be executed by the provider"),providerMetadata:q.any().optional().describe("Additional provider-specific metadata")}),zE4=q.union([q.object({type:q.literal("text"),value:q.string()}),q.object({type:q.literal("json"),value:eR}),q.object({type:q.literal("error-text"),value:q.string()}),q.object({type:q.literal("error-json"),value:eR}),q.object({type:q.literal("content"),value:q.array(q.union([q.object({type:q.literal("text"),text:q.string().describe("Text content")}),q.object({type:q.literal("media"),data:q.string().describe("Base-64 encoded media data"),mediaType:q.string().describe("IANA media type")})]))}),q.object({type:q.literal("execution-denied"),reason:q.string().optional()}),q.string().describe("Raw or JSON-serialized output (e.g. from AI SDK mapToolResultOutput)")]),Bf0=q.object({type:q.literal("tool-result"),toolCallId:q.string().describe("ID of the tool call that this result is associated with"),toolName:q.string().describe("Name of the tool that generated this result"),output:zE4.describe("Result of the tool call"),result:q.unknown().describe("Unknown result of the tool call"),providerOptions:l3}),DE4=q.object({type:q.literal("tool-result"),toolCallId:q.string().describe("ID of the tool call that this result is associated with"),toolName:q.string().describe("Name of the tool that generated this result"),result:q.any().describe("Result of the tool call (JSON-serializable)"),isError:q.boolean().optional().describe("Whether the result is an error or error message"),providerExecuted:q.boolean().optional().describe("Whether the tool result was generated by the provider"),providerMetadata:q.any().optional().describe("Additional provider-specific metadata")}),OE4=q.union([q.object({type:q.literal("source"),sourceType:q.literal("url"),id:q.string().describe("The ID of the source"),url:q.string().describe("The URL of the source"),title:q.string().optional().describe("The title of the source"),providerMetadata:q.any().optional().describe("Additional provider-specific metadata")}),q.object({type:q.literal("source"),sourceType:q.literal("document"),id:q.string().describe("The ID of the source"),mediaType:q.string().describe("IANA media type of the document (e.g., application/pdf)"),title:q.string().describe("The title of the document"),filename:q.string().optional().describe("Optional filename of the document"),providerMetadata:q.any().optional().describe("Additional provider-specific metadata")})]),LE4=q.object({role:q.literal("system"),content:q.string().describe("System message content"),providerOptions:l3}),NE4=q.object({role:q.literal("user"),content:q.array(q.union([Vf0,qf0])).describe("User message content parts (text or file)"),providerOptions:l3}),ME4=q.object({role:q.literal("assistant"),content:q.array(q.union([Vf0,qf0,VE4,BE4,Bf0])).describe("Assistant message content parts (text, file, reasoning, tool-call, or tool-result)"),providerOptions:l3}),wE4=q.object({role:q.literal("tool"),content:q.array(Bf0).describe("Tool message content (tool results)"),providerOptions:l3}),AE4=q.union([LE4,NE4,ME4,wE4]),PE4=q.array(AE4).describe("A list of messages forming the prompt"),EE4=q.object({prompt:PE4.describe("A language model prompt is a standardized prompt type (array of messages with roles: system, user, assistant, tool)"),maxOutputTokens:q.number().optional().describe("Maximum number of tokens to generate"),temperature:q.number().optional().describe("Temperature setting. The range depends on the provider and model"),topP:q.number().optional().describe("Nucleus sampling parameter"),topK:q.number().optional().describe("Only sample from the top K options for each subsequent token. Used to remove long tail low probability responses"),presencePenalty:q.number().optional().describe("Presence penalty setting. It affects the likelihood of the model to repeat information that is already in the prompt"),frequencyPenalty:q.number().optional().describe("Frequency penalty setting. It affects the likelihood of the model to repeatedly use the same words or phrases"),seed:q.number().optional().describe("The seed (integer) to use for random sampling. If set and supported by the model, calls will generate deterministic results"),stopSequences:q.array(q.string()).optional().describe("Stop sequences. If set, the model will stop generating text when one of the stop sequences is generated"),responseFormat:q.union([q.object({type:q.literal("text")}),q.object({type:q.literal("json"),schema:q.any().optional().describe("JSON schema that the generated output should conform to"),name:q.string().optional().describe("Name of output that should be generated"),description:q.string().optional().describe("Description of the output that should be generated")})]).optional().describe("Response format. The output can either be text or JSON. Default is text"),tools:q.array(q.any()).optional().describe("The tools that are available for the model"),toolChoice:q.any().optional().describe("Specifies how the tool should be selected. Defaults to 'auto'"),includeRawChunks:q.boolean().optional().describe("Include raw chunks in the stream. Only applicable for streaming calls"),abortSignal:q.any().optional().describe("Abort signal for cancelling the operation"),providerOptions:q.any().optional().describe("Additional provider-specific options")}),TE4=q.object({content:q.array(q.union([HE4,$E4,qE4,UE4,DE4,OE4])).describe("Ordered content that the model has generated (text, tool-calls, reasoning, files, sources)"),finishReason:q.enum(["stop","length","content-filter","tool-calls","error","other","unknown"]).describe("Reason why generation stopped"),usage:q.looseObject({inputTokens:q.number().optional(),outputTokens:q.number().optional(),totalTokens:q.number().optional(),reasoningTokens:q.number().optional()}).describe("Usage information for the language model call"),providerMetadata:q.any().optional().describe("Additional provider-specific metadata"),request:q.object({body:q.any().optional().describe("Request HTTP body sent to the provider API")}).optional().describe("Optional request information for telemetry and debugging"),response:q.object({id:q.string().optional().describe("ID for the generated response"),timestamp:q.iso.datetime().optional().describe("Timestamp for the start of the generated response"),modelId:q.string().optional().describe("The ID of the response model that was used"),headers:q.record(q.string(),q.string()).optional().describe("Response headers"),body:q.any().optional().describe("Response HTTP body")}).optional().describe("Optional response information for telemetry and debugging"),warnings:q.array(q.any()).describe("Warnings for the call, e.g. unsupported settings")}),mi8=q.object({stream:q.any().describe("ReadableStream of LanguageModelV2StreamPart"),request:q.object({body:q.any().optional().describe("Request HTTP body sent to the provider API")}).optional().describe("Optional request information for telemetry and debugging"),response:q.object({headers:q.record(q.string(),q.string()).optional().describe("Response headers")}).optional().describe("Optional response data")}),CE4=q.object({supportedUrls:q.record(q.string(),q.array(q.string())).describe("Supported URL patterns by media type for the provider")}),li8=q.object({modelId:q.string().describe("The ID of the model"),logo:q.string().nullable(),description:q.string().nullable(),capabilities:q.array(q.string()),limits:q.object({contextWindow:q.number(),maxOutputTokens:q.number()}).nullable(),costs:q.object({input:q.number(),output:q.number()}).nullable(),provider:q.enum(["openai","anthropic","google","x-ai","deepseek","openai-compatible","openrouter"]).nullable()}),$f0=q.object({modelId:q.string().describe("The ID of the model"),callOptions:EE4}),RE4=yZ.extend({logo:q.string().nullable(),description:q.string().nullable(),capabilities:q.array(q.string()),limits:q.object({contextWindow:q.number(),maxOutputTokens:q.number()}).nullable(),costs:q.object({input:q.number(),output:q.number()}).nullable(),provider:q.enum(["openai","anthropic","google","xai","deepseek","openai-compatible","openrouter"]).nullable()}),IE4=fZ("llm",RE4,{readOnly:!0}),$$1=[{name:"LLM_METADATA",inputSchema:q.object({modelId:q.string().describe("The ID of the model")}),outputSchema:CE4},{name:"LLM_DO_STREAM",inputSchema:$f0,streamable:!0},{name:"LLM_DO_GENERATE",inputSchema:$f0,outputSchema:TE4},...IE4],di8=vZ($$1)});function gN(){return!1}function zp(Y,Q){return Y===h9.DEV_ASSETS(Q)}function uN(Y,Q){let X=zt(Q,Y),J=new Date().toISOString();return{id:X.id??h9.DEV_ASSETS(Y),title:X.title,description:X.description??null,icon:X.icon??null,app_name:X.app_name??null,app_id:X.app_id??null,organization_id:Y,created_by:"system",created_at:J,updated_at:J,connection_type:X.connection_type,connection_url:X.connection_url??null,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:X.metadata??null,tools:jE4,bindings:["OBJECT_STORAGE"],status:"active"}}var jE4;var Dp=S(()=>{Yl();zY();v1();jE4=uC.map((Y)=>({name:Y.name,description:`${Y.name} operation for local file storage`,inputSchema:q.toJSONSchema(Y.inputSchema),outputSchema:q.toJSONSchema(Y.outputSchema)}))});function _E4(Y){let Q=[],X=0;while(X<Y.length){let J=Y[X];if(J==="%")Q.push(".*");else if(J==="_")Q.push(".");else if(/[.*+?^${}()|[\]\\]/.test(J))Q.push("\\"+J);else Q.push(J);X++}return Q.join("")}function w$(Y){return typeof Y==="string"||typeof Y==="number"}function Op(Y,Q){if("conditions"in Q){let{operator:Z,conditions:H}=Q;switch(Z){case"and":return H.every((F)=>Op(Y,F));case"or":return H.some((F)=>Op(Y,F));case"not":return!H.every((F)=>Op(Y,F));default:return!0}}let{field:X,operator:J,value:G}=Q,K=X.join("."),W=V$1(Y,K);switch(J){case"eq":return W===G;case"gt":return w$(W)&&w$(G)&&W>G;case"gte":return w$(W)&&w$(G)&&W>=G;case"lt":return w$(W)&&w$(G)&&W<G;case"lte":return w$(W)&&w$(G)&&W<=G;case"in":return Array.isArray(G)&&G.includes(W);case"like":if(typeof W!=="string"||typeof G!=="string")return!1;if(G.length>100)return!1;let Z=_E4(G);return new RegExp(`^${Z}$`,"i").test(W);case"contains":if(typeof W!=="string"||typeof G!=="string")return!1;return W.toLowerCase().includes(G.toLowerCase());default:return!0}}function V$1(Y,Q){let X=Q.split("."),J=Y;for(let G of X){if(J==null||typeof J!=="object")return;J=J[G]}return J}function vE4(Y,Q){return[...Y].sort((X,J)=>{for(let G of Q){let K=G.field.join("."),W=V$1(X,K),Z=V$1(J,K),H=0;if(W==null&&Z==null)continue;if(W==null)H=G.nulls==="first"?-1:1;else if(Z==null)H=G.nulls==="first"?1:-1;else if(typeof W==="string"&&typeof Z==="string")H=W.localeCompare(Z);else if(typeof W==="number"&&typeof Z==="number")H=W-Z;else H=String(W).localeCompare(String(Z));if(H!==0)return G.direction==="desc"?-H:H}return 0})}var SE4,kE4,yE4,q$1;var zf0=S(()=>{Xl();Ff0();gX();Uf0();Yl();zY();v1();k0();Dp();L3();SE4={LLM:$$1,ASSISTANTS:Hf0,OBJECT_STORAGE:uC};kE4=dG.extend({binding:q.union([q.object({}).passthrough(),q.string()]).optional(),include_virtual:q.boolean().optional().describe("Whether to include VIRTUAL connections in the results. Defaults to false.")}),yE4=M3(P5),q$1=k1({name:"COLLECTION_CONNECTIONS_LIST",description:"List all connections in the organization with filtering, sorting, and pagination",annotations:{title:"List Connections",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:kE4,outputSchema:yE4,handler:async(Y,Q)=>{await Q.access.check();let X=B0(Q),J=Y.binding?typeof Y.binding==="string"?(()=>{let B=SE4[Y.binding.toUpperCase()];if(!B)throw Error(`Unknown binding: ${Y.binding}`);return B})():Y.binding:void 0,G=J?om(J):void 0,K=await Q.storage.connections.list(X.id,{includeVirtual:Y.include_virtual??!1});if(gN()){let B=AG(),U=h9.DEV_ASSETS(X.id);if(!K.some((z)=>z.id===U)){let z=uN(X.id,B);K.unshift(z)}}let W=G?await Promise.all(K.map(async(B)=>{if(!B.tools||B.tools.length===0)return null;return G.isImplementedBy(B.tools.map((z)=>({name:z.name,inputSchema:z.inputSchema,outputSchema:z.outputSchema})))?B:null})).then((B)=>B.filter((U)=>U!==null)):K;if(Y.where)W=W.filter((B)=>Op(B,Y.where));if(Y.orderBy&&Y.orderBy.length>0)W=vE4(W,Y.orderBy);let Z=W.length,H=Y.offset??0,F=Y.limit??100,$=W.slice(H,H+F),V=H+F<Z;return{items:$,totalCount:Z,hasMore:V}}})});var fE4,B$1;var Df0=S(()=>{gX();k0();Dp();L3();fE4=TC(P5),B$1=k1({name:"COLLECTION_CONNECTIONS_GET",description:"Get connection details by ID",annotations:{title:"Get Connection",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:EC,outputSchema:fE4,handler:async(Y,Q)=>{let X=B0(Q);if(await Q.access.check(),gN()&&zp(Y.id,X.id))return{item:uN(X.id,AG())};let J=await Q.storage.connections.findById(Y.id);if(!J||J.organization_id!==X.id)return{item:null};return{item:J}}})});var Lp=(Y,Q)=>{if(Q===null||Q===void 0)return;let X=Y.replace(/\[(\w+)\]/g,".$1").split(".").filter(Boolean),J=Q;for(let G of X){if(J===null||J===void 0||typeof J!=="object")return;J=J[G]}return J};function Of0(Y){let Q=Y.split("::");if(Q.length!==2||!Q[0]||!Q[1])throw Error(`Invalid scope format: ${Y}. Expected format: "KEY::SCOPE"`);return Q}function bE4(Y){let Q=Y.split("::");if(Q.length!==2||!Q[0]||!Q[1])return null;return Q}function hE4(Y){if(typeof Y==="object"&&Y!==null&&"value"in Y){let Q=Y.value;if(typeof Q==="string")return Q}return null}function U$1(Y,Q){let X={};if(!Y||!Q)return X;for(let J of Q){if(J==="*"){X["*"]=["*"];continue}let G=bE4(J);if(!G)continue;let[K,W]=G,Z=Lp(K,Y),H=hE4(Z);if(H){if(!X[H])X[H]=[];X[H].push(W)}}return X}function Lf0(Y,Q){let X=U$1(Y,Q);return new Set(Object.keys(X).filter((J)=>J!=="*"))}var z$1=()=>{};import{randomBytes as xE4}from"crypto";function gE4(){if(YI)return YI;let Y=process.env.MESH_JWT_SECRET??t9.jwt?.secret??process.env.BETTER_AUTH_SECRET;if(Y)YI=new TextEncoder().encode(Y);else console.warn("MESH_JWT_SECRET not set - generating random secret (not persistent)"),YI=new Uint8Array(xE4(32));return YI}async function Nf0(Y,Q="5m"){let X=gE4();return await new DX(Y).setProtectedHeader({alg:"HS256",typ:"JWT"}).setIssuedAt().setExpirationTime(Q).sign(X)}var YI=null;var Mf0=S(()=>{OX();Np()});async function wf0(Y){if(!Y.refreshToken)return{success:!1,error:"No refresh token available"};if(!Y.tokenEndpoint)return{success:!1,error:"No token endpoint available"};if(!Y.clientId)return{success:!1,error:"No client ID available"};try{let Q=new URLSearchParams({grant_type:"refresh_token",refresh_token:Y.refreshToken,client_id:Y.clientId});if(Y.clientSecret)Q.set("client_secret",Y.clientSecret);if(Y.scope)Q.set("scope",Y.scope);let X=await fetch(Y.tokenEndpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:Q.toString()});if(!X.ok){let G=await X.text();console.error(`[TokenRefresh] Failed to refresh token: ${X.status}`,G);try{let K=JSON.parse(G);return{success:!1,error:K.error_description||K.error||`Token refresh failed: ${X.status}`}}catch{return{success:!1,error:`Token refresh failed: ${X.status}`}}}let J=await X.json();return{success:!0,accessToken:J.access_token,refreshToken:J.refresh_token||Y.refreshToken,expiresIn:J.expires_in,scope:J.scope}}catch(Q){return console.error("[TokenRefresh] Error refreshing token:",Q),{success:!1,error:Q instanceof Error?Q.message:"Token refresh failed"}}}class QI{db;vault;constructor(Y,Q){this.db=Y;this.vault=Q}async get(Y){let Q=await this.db.selectFrom("downstream_tokens").selectAll().where("connectionId","=",Y).executeTakeFirst();if(!Q)return null;return this.decryptToken(Q)}async upsert(Y){let Q=new Date().toISOString(),X=await this.vault.encrypt(Y.accessToken),J=Y.refreshToken?await this.vault.encrypt(Y.refreshToken):null,G=Y.clientSecret?await this.vault.encrypt(Y.clientSecret):null;return await this.db.transaction().execute(async(K)=>{let W=await K.selectFrom("downstream_tokens").select(["id","createdAt"]).where("connectionId","=",Y.connectionId).executeTakeFirst();if(W)return await K.updateTable("downstream_tokens").set({accessToken:X,refreshToken:J,scope:Y.scope,expiresAt:Y.expiresAt?.toISOString()??null,clientId:Y.clientId,clientSecret:G,tokenEndpoint:Y.tokenEndpoint,updatedAt:Q}).where("id","=",W.id).execute(),{id:W.id,connectionId:Y.connectionId,accessToken:Y.accessToken,refreshToken:Y.refreshToken,scope:Y.scope,expiresAt:Y.expiresAt,createdAt:W.createdAt,updatedAt:Q,clientId:Y.clientId,clientSecret:Y.clientSecret,tokenEndpoint:Y.tokenEndpoint};let Z=Y$("dtok");return await K.insertInto("downstream_tokens").values({id:Z,connectionId:Y.connectionId,accessToken:X,refreshToken:J,scope:Y.scope,expiresAt:Y.expiresAt?.toISOString()??null,clientId:Y.clientId,clientSecret:G,tokenEndpoint:Y.tokenEndpoint,createdAt:Q,updatedAt:Q}).execute(),{id:Z,connectionId:Y.connectionId,accessToken:Y.accessToken,refreshToken:Y.refreshToken,scope:Y.scope,expiresAt:Y.expiresAt,createdAt:Q,updatedAt:Q,clientId:Y.clientId,clientSecret:Y.clientSecret,tokenEndpoint:Y.tokenEndpoint}})}async delete(Y){await this.db.deleteFrom("downstream_tokens").where("connectionId","=",Y).execute()}isExpired(Y,Q=0){if(!Y.expiresAt)return!1;let J=(Y.expiresAt instanceof Date?Y.expiresAt:new Date(Y.expiresAt)).getTime();if(Number.isNaN(J))return!0;return J-Q<Date.now()}async decryptToken(Y){let Q=await this.vault.decrypt(Y.accessToken),X=Y.refreshToken?await this.vault.decrypt(Y.refreshToken):null,J=Y.clientSecret?await this.vault.decrypt(Y.clientSecret):null;return{id:Y.id,connectionId:Y.connectionId,accessToken:Q,refreshToken:X,scope:Y.scope,expiresAt:Y.expiresAt,createdAt:Y.createdAt,updatedAt:Y.updatedAt,clientId:Y.clientId,clientSecret:J,tokenEndpoint:Y.tokenEndpoint}}}var D$1=S(()=>{DC()});async function XI(Y,Q,X){let J=Y.id,G=U$1(Y.configuration_state,Y.configuration_scopes),K=Q.auth.user?.id??Q.auth.apiKey?.userId??(X?Y.created_by:void 0),[W,Z]=K?await Nf0({sub:K,user:{id:K},metadata:{state:Y.configuration_state??void 0,meshUrl:Q.baseUrl,connectionId:J,organizationId:Q.organization?.id},permissions:G}).then((U)=>[U,null]).catch((U)=>[null,U]):[null,Error("User ID required to issue configuration token")];if(Z)console.error("Failed to issue configuration token:",W);let H=Q.auth.user?.connectionId,F={...H?{"x-caller-id":H}:{},...Q.metadata.wellKnownForwardableHeaders??{},"x-request-id":Q.metadata.requestId},$=null,V=new QI(Q.db,Q.vault),B=await V.get(J);if(B){let U=!!B.refreshToken&&!!B.tokenEndpoint;if(V.isExpired(B,U?300000:0))if(U){console.log(`[Proxy] Token expired for ${J}, attempting refresh`);let O=await wf0(B);if(O.success&&O.accessToken)await V.upsert({connectionId:J,accessToken:O.accessToken,refreshToken:O.refreshToken??B.refreshToken,scope:O.scope??B.scope,expiresAt:O.expiresIn?new Date(Date.now()+O.expiresIn*1000):null,clientId:B.clientId,clientSecret:B.clientSecret,tokenEndpoint:B.tokenEndpoint}),$=O.accessToken,console.log(`[Proxy] Token refreshed for ${J}`);else await V.delete(J),console.error(`[Proxy] Token refresh failed for ${J}: ${O.error}`)}else await V.delete(J),console.log(`[Proxy] Token expired without refresh capability for ${J}`);else $=B.accessToken}if(!$&&Y.connection_token)$=Y.connection_token;if($)F.Authorization=`Bearer ${$}`;if(W)F["x-mesh-token"]=W;return F}var O$1=S(()=>{z$1();Mf0();D$1()});function Af0(){let Y=new Map;function Q(J,G){let K=Y.get(G);if(K)return console.log(`[ClientPool] Reusing cached client for ${G}`),K;console.log(`[ClientPool] Creating new client for ${G}`);let W=new sX({name:`outbound-client-${G}`,version:"1.0.0"},{capabilities:{tasks:{list:{},cancel:{},requests:{tool:{call:{}}}}}});W.onclose=()=>{Y.delete(G)};let Z=W.connect(J,{timeout:30000}).then(()=>W).catch((H)=>{throw Y.delete(G),H});return Y.set(G,Z),Z}return Object.assign(Q,{[Symbol.asyncDispose]:async()=>{let J=[];for(let[G,K]of Y)J.push(K.then((W)=>W.close()).catch((W)=>console.error(`[ClientPool] Error closing client ${G}:`,W)));await Promise.all(J),Y.clear()}})}var Pf0=S(()=>{Pz()});function Ef0(Y){let Q=new wC({command:Y.command,args:Y.args,env:Y.env,cwd:Y.cwd,stderr:"pipe"}),X=Y.name||Y.id,J="\x1B[2m",G="\x1B[0m";return Q.stderr?.on("data",(K)=>{let W=K.toString().trimEnd();if(W)console.error(`${W} \x1B[2m[${X}]\x1B[0m`)}),Q}var Tf0=S(()=>{lZ1()});class JI{innerTransport;constructor(Y){this.innerTransport=Y}async start(){return this.innerTransport.onmessage=(Y)=>{this.handleIncomingMessage(Y)},this.innerTransport.onerror=(Y)=>{this.onerror?.(Y)},this.innerTransport.onclose=()=>{this.onclose?.()},this.innerTransport.start()}async send(Y){return this.handleOutgoingMessage(Y)}async close(){return this.innerTransport.close()}async handleOutgoingMessage(Y){return this.innerTransport.send(Y)}handleIncomingMessage(Y){this.onmessage?.(Y)}isRequest(Y){return"method"in Y&&Y.method!==void 0}isResponse(Y){return"result"in Y||"error"in Y&&!("method"in Y)}onmessage;onerror;onclose}function GI(Y,...Q){return Q.reduce((X,J)=>J(X),Y)}var Cf0="mcp.mesh";var Rf0,L$1,WI;var N$1=S(()=>{Rf0=class Rf0 extends Error{constructor(Y){super(Y);this.name="UnauthorizedError"}};L$1=class L$1 extends Error{constructor(Y){super(Y);this.name="ForbiddenError"}};WI=class WI{userId;toolName;boundAuth;role;connectionId;getToolMeta;_granted=!1;constructor(Y,Q,X,J,G,K="self",W){this.userId=Q;this.toolName=X;this.boundAuth=J;this.role=G;this.connectionId=K;this.getToolMeta=W}[Symbol.dispose](){this._granted=!1}setToolName(Y){this.toolName=Y}grant(){return this._granted=!0,{[Symbol.dispose]:()=>{this._granted=!1}}}async check(...Y){if(this._granted)return;if(this.toolName?.startsWith("MESH_PUBLIC_")){this.grant();return}if(!this.userId&&!this.boundAuth){if(this.getToolMeta&&await this.isToolPublic()){this.grant();return}throw new Rf0("Authentication required. Please provide a valid OAuth token or API key.")}let Q=Y.length>0?Y:this.toolName?[this.toolName]:[];if(Q.length===0)throw new L$1("No resources specified for access check");for(let X of Q)if(await this.checkResource(X)){this.grant();return}throw new L$1(`Access denied to: ${Q.join(", ")}`)}async checkResource(Y){if(!this.userId&&!this.boundAuth)return!1;if(this.role==="admin"||this.role==="owner")return!0;if(!this.boundAuth)return!1;let Q={};if(this.connectionId)Q[this.connectionId]=[Y];return this.boundAuth.hasPermission(Q)}async isToolPublic(){if(this.toolName?.startsWith("MESH_PUBLIC_"))return!0;if(!this.getToolMeta)return!1;try{let Y=await this.getToolMeta();if(!Y)return!1;let X=Y[Cf0]?.public_tool;return X===!0||X==="true"}catch{return!1}}granted(){return this._granted}}});var uE4="mcp.mesh",mN;var If0=S(()=>{N$1();mN=class mN extends JI{options;cachedToolsMap=null;constructor(Y,Q){super(Y);this.options=Q;if(Q.connection.tools)this.cachedToolsMap=new Map(Q.connection.tools.map((X)=>[X.name,X]))}async handleOutgoingMessage(Y){if(!this.isRequest(Y))return this.innerTransport.send(Y);let Q=Y;if(Q.method==="tools/call")await this.authorizeToolCall(Q),this.stripMetaFromArguments(Q);return this.innerTransport.send(Y)}async authorizeToolCall(Y){if(this.options.superUser)return;let X=Y.params.name,{ctx:J,connection:G}=this.options;if(this.isPublicTool(X))return;if(!J.auth.user?.id&&!J.auth.apiKey?.id)throw Error("Authentication required. Please provide a valid OAuth token or API key.");let K=async()=>{return this.cachedToolsMap?.get(X)?._meta};await new WI(J.authInstance,J.auth.user?.id??J.auth.apiKey?.userId,X,J.boundAuth,J.auth.user?.role,G.id,K).check(X)}isPublicTool(Y){if(Y.startsWith("MESH_PUBLIC_"))return!0;if(!this.cachedToolsMap)return!1;let Q=this.cachedToolsMap.get(Y);if(!Q?._meta)return!1;return Q._meta[uE4]?.public_tool===!0}stripMetaFromArguments(Y){let Q=Y.params;if(Q.arguments&&"_meta"in Q.arguments){let{_meta:X,...J}=Q.arguments;Q.arguments=J}}}});function Sf0(Y){if(!Y.isError)return;let Q=Y.content;if(!Array.isArray(Q))return;for(let X of Q)if(X&&typeof X==="object"&&"type"in X&&X.type==="text"&&"text"in X&&typeof X.text==="string")return X.text;return}function w$1(Y){if(!Y)return;let Q=Y._meta;if(!Q||typeof Q!=="object"||Array.isArray(Q))return;let X=Q.properties;if(!X||typeof X!=="object"||Array.isArray(X))return;let J={};for(let[G,K]of Object.entries(X))if(typeof K==="string")J[G]=K;return Object.keys(J).length>0?J:void 0}function A$1(Y,Q){if(!Y&&!Q)return;if(!Y)return Q;if(!Q)return Y;return{...Q,...Y}}function P$1(Y){if(Y&&typeof Y==="object"&&!Array.isArray(Y)){let Q=Y,X=Q.structuredContent;if(X&&typeof X==="object"&&!Array.isArray(X))return X;return Q}return{value:Y}}async function mE4(Y,Q){let X=Y.body;if(!X)return{text:"",truncated:!1};let J=X.getReader(),G=new TextDecoder,K=!1,W=0,Z=[];try{while(!0){let{value:H,done:F}=await J.read();if(F)break;if(H){if(W+=H.byteLength,W>Q){K=!0;let $=Q-(W-H.byteLength);if($>0)Z.push(G.decode(H.slice(0,$),{stream:!0}));break}Z.push(G.decode(H,{stream:!0}))}}}finally{J.releaseLock()}return Z.push(G.decode()),{text:Z.join(""),truncated:K}}function lE4(Y){if(!Y)return;let Q=Y.trimEnd().split(`
|
|
1471
1471
|
`);for(let X=Q.length-1;X>=0&&X>=Q.length-5;X--){let J=Q[X]?.trim();if(!J)continue;try{let G=JSON.parse(J);if(G&&typeof G==="object"&&G.type==="finish"){let K={};if(G.usage)K.usage=G.usage;if(G.providerMetadata)K.providerMetadata=G.providerMetadata;if(G.finishReason)K.finishReason=G.finishReason;return Object.keys(K).length>0?K:void 0}}catch{}}return}async function M$1(Y){let{ctx:Q,enabled:X}=Y,J=Y.organizationId??Q.organization?.id;if(!X||!J)return;if(OV(Y.connectionId))return;let G=w$1(Y.request.params.arguments),K=A$1(Q.metadata.properties,G),W=Q.auth.user?.id||Q.auth.apiKey?.userId;if(W)try{let Z=await Q.storage.tags.getUserTagsInOrg(W,J);if(Z.length>0){let H=Z.map((F)=>F.name).join(",");K={...K,user_tags:H}}}catch{}await Q.storage.monitoring.log({organizationId:J,connectionId:Y.connectionId,connectionTitle:Y.connectionTitle,toolName:Y.request.params.name,input:Y.request.params.arguments??{},output:Y.output,isError:Y.isError,errorMessage:Y.errorMessage,durationMs:Y.durationMs,timestamp:new Date,userId:Q.auth.user?.id||Q.auth.apiKey?.userId||null,requestId:Q.metadata.requestId,userAgent:Q.metadata.userAgent,virtualMcpId:Y.virtualMcpId,properties:K})}function _f0(Y){let{ctx:Q,enabled:X,connectionId:J,connectionTitle:G,virtualMcpId:K}=Y;return async(W,Z)=>{let H=Date.now();try{let F=await Z(),$=Q.organization?.id;if(X&&$){let V=F.clone();(async()=>{try{let{text:B,truncated:U}=await mE4(V,jf0),z=Date.now()-H,O=V.headers.get("content-type")??"",M=B;if(O.includes("application/json"))try{M=B.length?JSON.parse(B):null}catch{M=B}let w=F.status>=400,P=w&&M&&typeof M==="object"&&"error"in M?M.error:void 0,j=typeof P==="string"&&P?P:w&&typeof M==="string"&&M.trim()?M.slice(0,500):w?`HTTP ${F.status} ${F.statusText}`.trim():U?`Response body truncated to ${jf0} bytes`:void 0,C=P$1(M),E=lE4(B);if(E)Object.assign(C,E);await M$1({ctx:Q,enabled:X,organizationId:$,connectionId:J,connectionTitle:G,virtualMcpId:K,request:W,output:C,isError:w,errorMessage:j,durationMs:z})}catch(B){let U=Date.now()-H;await M$1({ctx:Q,enabled:X,organizationId:$,connectionId:J,connectionTitle:G,virtualMcpId:K,request:W,output:{},isError:!0,errorMessage:`Failed to read streamable response body: ${B.message}`,durationMs:U})}})()}return F}catch(F){let $=F,V=Date.now()-H;throw await M$1({ctx:Q,enabled:X,connectionId:J,connectionTitle:G,virtualMcpId:K,request:W,output:{},isError:!0,errorMessage:$.message,durationMs:V}),F}}}var jf0=262144;var E$1=S(()=>{zY()});var lN;var vf0=S(()=>{gh();E$1();lN=class lN extends JI{options;inflightRequests=new Map;constructor(Y,Q){super(Y);this.options=Q}async handleOutgoingMessage(Y){if(this.isRequest(Y)){let Q=Y;this.onRequestStart(Q)}return this.innerTransport.send(Y)}handleIncomingMessage(Y){if(this.isResponse(Y)){let Q=Y;this.onResponseEnd(Q)}this.onmessage?.(Y)}onRequestStart(Y){let{ctx:Q,connectionId:X}=this.options,J,G;if(Y.method==="tools/call"&&Y.params){let W=Y.params;J=W.name,G=W.arguments}let K;if(Y.method==="tools/call"&&J)K=Q.tracer.startSpan("mcp.proxy.callTool",{attributes:{"connection.id":X,"tool.name":J,"request.id":Q.metadata.requestId,"jsonrpc.id":Y.id,"jsonrpc.method":Y.method}});if(Y.id!==null&&Y.id!==void 0)this.inflightRequests.set(Y.id,{startTime:Date.now(),method:Y.method,toolName:J,toolArguments:G,span:K})}onResponseEnd(Y){if(Y.id===null||Y.id===void 0)return;let Q=this.inflightRequests.get(Y.id);if(!Q)return;let{ctx:X,connectionId:J}=this.options,{startTime:G,method:K,toolName:W,toolArguments:Z,span:H}=Q,F=Date.now()-G;if(this.inflightRequests.delete(Y.id),K!=="tools/call"||!W)return;let $="error"in Y,V=$?Y.error:Y.result,B=$?{content:[{type:"text",text:Y.error?.message||"Unknown error"}],isError:!0}:V;if(X.meter.createHistogram("connection.proxy.duration").record(F,{"connection.id":J,"tool.name":W,status:$?"error":"success"}),$)X.meter.createCounter("connection.proxy.errors").add(1,{"connection.id":J,"tool.name":W,error:Y.error?.message});else X.meter.createCounter("connection.proxy.requests").add(1,{"connection.id":J,"tool.name":W,status:"success"});if(H){if($&&Y.error)H.recordException(Error(Y.error.message)),H.setAttributes({error:!0,"error.code":Y.error.code,"error.message":Y.error.message});H.end()}this.logToDatabase({toolName:W,toolArguments:Z,result:B,duration:F,isError:Boolean($)})}async logToDatabase(Y){let{ctx:Q,connectionId:X,connectionTitle:J,virtualMcpId:G}=this.options,{toolName:K,toolArguments:W,result:Z,duration:H,isError:F}=Y;if(!xh().enabled)return;let V=Q.organization?.id;if(!V)return;let B=Sf0(Z),U=P$1(Z),z=w$1(W),O=A$1(Q.metadata.properties,z);try{await Q.storage.monitoring.log({organizationId:V,connectionId:X,connectionTitle:J,toolName:K,input:W??{},output:U,isError:F,errorMessage:B,durationMs:H,timestamp:new Date,userId:Q.auth.user?.id||Q.auth.apiKey?.userId||null,requestId:Q.metadata.requestId,userAgent:Q.metadata.userAgent,virtualMcpId:G,properties:O})}catch(M){console.error("[MonitoringTransport] Failed to log to database:",M)}}async close(){for(let Y of this.inflightRequests.values())if(Y.span)Y.span.setAttributes({"transport.closed":!0}),Y.span.end();return this.inflightRequests.clear(),super.close()}}});var kf0=S(()=>{If0();vf0()});async function yf0(Y,Q,X=!1){let J=Y.id,G=Q.connectionId&&Q.connectionId!==J?Q.connectionId:void 0;switch(Y.connection_type){case"STDIO":{if(process.env.UNSAFE_ALLOW_STDIO_TRANSPORT!=="true")throw Error("STDIO connections are disabled in production. Set UNSAFE_ALLOW_STDIO_TRANSPORT=true to enable.");let K=Y.connection_headers;if(!NW(K))throw Error("STDIO connection missing parameters");let W=Ef0({id:J,name:Y.title,command:K.command,args:K.args,env:K.envVars,cwd:K.cwd});return W=GI(W,(Z)=>new mN(Z,{ctx:Q,connection:Y,superUser:X}),(Z)=>new lN(Z,{ctx:Q,connectionId:J,connectionTitle:Y.title,virtualMcpId:G})),dE4(W,J)}case"HTTP":case"Websocket":{if(!Y.connection_url)throw Error(`${Y.connection_type} connection missing URL`);let K=await XI(Y,Q,X),W=Y.connection_headers;if(W&&"headers"in W)Object.assign(K,W.headers);let Z=new wH(new URL(Y.connection_url),{requestInit:{headers:K}});return Z=GI(Z,(H)=>new mN(H,{ctx:Q,connection:Y,superUser:X}),(H)=>new lN(H,{ctx:Q,connectionId:J,connectionTitle:Y.title,virtualMcpId:G})),Q.getOrCreateClient(Z,J)}case"SSE":{if(!Y.connection_url)throw Error("SSE connection missing URL");let K=await XI(Y,Q,X),W=Y.connection_headers;if(W&&"headers"in W)Object.assign(K,W.headers);let Z=new IB(new URL(Y.connection_url),{requestInit:{headers:K}});return Z=GI(Z,(H)=>new mN(H,{ctx:Q,connection:Y,superUser:X}),(H)=>new lN(H,{ctx:Q,connectionId:J,connectionTitle:Y.title,virtualMcpId:G})),Q.getOrCreateClient(Z,J)}default:throw Error(`Unknown connection type: ${Y.connection_type}`)}}var dE4;var ff0=S(()=>{L3();mm();TA();O$1();Pf0();Tf0();kf0();dE4=Af0()});function xf0(Y){if(!Y?._meta)return!1;return typeof Y._meta["mcp.mesh"]?.["tool.fn"]==="string"}function gf0(Y){return Y._meta["mcp.mesh"]["tool.fn"]}var T$1,Zr8,pZ,bf0,hf0;var A$=S(()=>{v1();T$1=q.object({title:q.string().optional(),readOnlyHint:q.boolean().optional(),destructiveHint:q.boolean().optional(),idempotentHint:q.boolean().optional(),openWorldHint:q.boolean().optional()}),Zr8=q.object({"tool.fn":q.string().describe("JavaScript ES module code that exports a default async function")}),pZ=q.object({id:q.string().describe("Unique identifier for the virtual tool (auto-generated)"),name:q.string().min(1).max(255).describe("Tool name (must be unique within the Virtual MCP)"),description:q.string().optional().describe("Human-readable description of what the tool does"),inputSchema:q.record(q.string(),q.unknown()).describe("JSON Schema defining the tool's input parameters"),outputSchema:q.record(q.string(),q.unknown()).optional().describe("JSON Schema defining the tool's output (optional)"),annotations:T$1.optional().describe("MCP tool annotations"),code:q.string().describe("JavaScript ES module code. Must export default an async function: export default async (tools, args) => { ... }"),connection_dependencies:q.array(q.string()).describe("Connection IDs that this tool depends on (specified by the creator)"),created_at:q.string().describe("When the virtual tool was created"),updated_at:q.string().describe("When the virtual tool was last updated")}),bf0=q.object({name:q.string().min(1).max(255).describe("Tool name (must be unique within the Virtual MCP)"),description:q.string().optional().describe("Human-readable description"),inputSchema:q.record(q.string(),q.unknown()).describe("JSON Schema defining the tool's input parameters"),outputSchema:q.record(q.string(),q.unknown()).optional().describe("JSON Schema for output"),annotations:T$1.optional().describe("MCP tool annotations"),code:q.string().describe("JavaScript ES module code. Must export default an async function: export default async (tools, args) => { ... }"),connection_dependencies:q.array(q.string()).optional().describe("Connection IDs that this tool depends on. Creates indirect aggregations to prevent deletion of referenced connections.")}),hf0=q.object({name:q.string().min(1).max(255).optional().describe("New tool name"),description:q.string().nullable().optional().describe("New description (null to clear)"),inputSchema:q.record(q.string(),q.unknown()).optional().describe("New input schema"),outputSchema:q.record(q.string(),q.unknown()).nullable().optional().describe("New output schema (null to clear)"),annotations:T$1.nullable().optional().describe("New annotations (null to clear)"),code:q.string().optional().describe("New JavaScript code"),connection_dependencies:q.array(q.string()).optional().describe("Connection IDs that this tool depends on. Replaces existing dependencies if provided.")})});function Mp(Y){return(Q)=>{if(Q instanceof w0&&Q.code===C0.MethodNotFound)return Y;throw Q}}var C$1=S(()=>{jY()});class uf0{factory;promise=null;constructor(Y){this.factory=Y}getOrCreatePromise(){if(!this.promise)this.promise=this.factory();return this.promise}then(Y,Q){return this.getOrCreatePromise().then(Y,Q)}catch(Y){return this.getOrCreatePromise().catch(Y)}finally(Y){return this.getOrCreatePromise().finally(Y)}}function wp(Y){return new uf0(Y)}function pE4(Y,Q,X){let J=new sX({name:`lazy-${Y.id}`,version:"1.0.0"},{capabilities:{}}),G=null;function K(){if(!G)G=pN(Y,Q,X).then((H)=>{if(Y.connection_type==="HTTP"||Y.connection_type==="SSE"||Y.connection_type==="Websocket")return I$1(H,Y.id,Y,Q,{superUser:X});return H});return G}if(Y.connection_type!=="VIRTUAL"&&Array.isArray(Y.tools)&&Y.tools.length>0)J.listTools=async()=>({tools:Y.tools.map((H)=>({name:H.name,description:H.description,inputSchema:H.inputSchema,outputSchema:H.outputSchema,annotations:H.annotations,_meta:H._meta}))});else J.listTools=async()=>{return(await K()).listTools()};J.callTool=async(H,F,$)=>{return(await K()).callTool(H,F,$)},J.listResources=async()=>{return(await K()).listResources()},J.listPrompts=async()=>{return(await K()).listPrompts()},J.getPrompt=async(H,F)=>{return(await K()).getPrompt(H,F)},J.readResource=async(H,F)=>{return(await K()).readResource(H,F)},J.callStreamableTool=async(H,F)=>{let $=await K();if("callStreamableTool"in $&&typeof $.callStreamableTool==="function")return $.callStreamableTool(H,F);let V=await $.callTool({name:H,arguments:F});return new Response(JSON.stringify(V),{headers:{"Content-Type":"application/json"}})};let Z=J.close.bind(J);return J.close=async()=>{if(G){let H=await G.catch(()=>null);if(H)await H.close().catch(()=>{})}await Z()},J}function cE4(Y,Q,X=!1){let J=new Map;for(let G of Y)J.set(G.id,pE4(G,Q,X));return J}async function mf0(Y){let Q=[];for(let[,X]of Y)Q.push(X.close().catch(()=>{}));await Promise.all(Q)}var dN;var R$1=S(()=>{j$1();C$1();Pz();W$1();A$();dN=class dN extends sX{options;ctx;_cachedTools;_cachedResources;_cachedPrompts;_clients;_connections;_selectionMap;constructor(Y,Q){super({name:"virtual-mcp-passthrough",version:"1.0.0"},{capabilities:{tasks:{list:{},cancel:{},requests:{tool:{call:{}}}}}});this.options=Y;this.ctx=Q;this._selectionMap=new Map;for(let X of Y.virtualMcp.connections)this._selectionMap.set(X.connection_id,X);this._connections=new Map;for(let X of Y.connections)this._connections.set(X.id,X);this._clients=cE4(this.options.connections,this.ctx,this.options.superUser),this._cachedTools=wp(()=>this.loadToolsCache()),this._cachedResources=wp(()=>this.loadCache("resources")),this._cachedPrompts=wp(()=>this.loadCache("prompts"))}async loadToolsCache(){let Y=this._clients,Q=await Promise.all(Array.from(Y.entries()).map(async([W,Z])=>{try{let H=await Z.listTools().then(($)=>$.tools),F=this._selectionMap.get(W);if(F?.selected_tools?.length){let $=new Set(F.selected_tools);H=H.filter((V)=>$.has(V.name))}return{connectionId:W,data:H}}catch(H){return console.error(`[PassthroughClient] Failed to load tools for connection ${W}:`,H),null}})),X=[],J=new Map,G=new Map,K=this.options.virtualTools??[];for(let W of K){if(J.has(W.name))continue;let Z={name:W.name,description:W.description,inputSchema:W.inputSchema,outputSchema:W.outputSchema,annotations:W.annotations,_meta:{connectionId:this.options.virtualMcp.id??"__VIRTUAL__",connectionTitle:this.options.virtualMcp.title}};X.push(Z),J.set(W.name,"__VIRTUAL__"),G.set(W.name,W)}for(let W of Q){if(!W)continue;let{connectionId:Z,data:H}=W,$=this._connections.get(Z)?.title??"";for(let V of H){let B=V.name;if(J.has(B))continue;let U={...V,_meta:{connectionId:Z,connectionTitle:$,...V?._meta}};X.push(U),J.set(B,Z)}}return{data:X,mappings:J,virtualTools:G}}async loadCache(Y){let Q=this._clients,X=await Promise.all(Array.from(Q.entries()).map(async([K,W])=>{try{let Z=Y==="resources"?await W.listResources().catch(Mp({resources:[]})).then(($)=>$.resources):await W.listPrompts().catch(Mp({prompts:[]})).then(($)=>$.prompts),H=this._selectionMap.get(K),F=Y==="resources"?"selected_resources":"selected_prompts";if(H?.[F]?.length){let $=new Set(H[F]);return{connectionId:K,data:Z.filter((V)=>$.has(V.name))}}return{connectionId:K,data:Z}}catch(Z){return console.error(`[PassthroughClient] Failed to load cache for connection ${K}:`,Z),null}})),J=[],G=new Map;for(let K of X){if(!K)continue;let{connectionId:W,data:Z}=K,F=this._connections.get(W)?.title??"";for(let $ of Z){let V=$.name??$.uri;if(G.has(V))continue;let B={...$,_meta:{connectionId:W,connectionTitle:F,...$?._meta}};J.push(B),G.set(V,W)}}return{data:J,mappings:G}}async listTools(){return{tools:(await this._cachedTools).data}}async callTool(Y){let Q=await this._cachedTools,X=this._clients,J=Q.mappings.get(Y.name);if(!J)return{content:[{type:"text",text:`Tool not found: ${Y.name}`}],isError:!0};if(J==="__VIRTUAL__")return this.executeVirtualTool(Y.name,Y.arguments??{},Q,X);let G=X.get(J);if(!G)return{content:[{type:"text",text:`Connection not found for tool: ${Y.name}`}],isError:!0};return await G.callTool({name:Y.name,arguments:Y.arguments??{}})}async executeVirtualTool(Y,Q,X,J){let G=X.virtualTools.get(Y);if(!G)return{content:[{type:"text",text:`Virtual tool not found: ${Y}`}],isError:!0};let K=gf0(G),W={};for(let[Z,H]of X.mappings){if(H==="__VIRTUAL__")continue;let F=J.get(H);if(!F)continue;W[Z]=async($)=>{let V=await F.callTool({name:Z,arguments:$});if(V.structuredContent&&typeof V.structuredContent==="object")return V.structuredContent;let B=V.content;if(B?.[0]?.type==="text"&&B[0].text)try{return JSON.parse(B[0].text)}catch{return B[0].text}return V}}try{let H=`
|
|
1472
1472
|
const __virtualToolFn = ${K.replace(/^\s*export\s+default\s+/,"").trim()};
|
|
1473
1473
|
export default async (tools) => {
|
|
@@ -1476,11 +1476,11 @@ ${Q.stack}`;return G}}catch{}if(typeof Q.toString==="function")try{let G=Q.toStr
|
|
|
1476
1476
|
};
|
|
1477
1477
|
`,F=await sR({code:H,tools:W,timeoutMs:30000});if(F.error)return{content:[{type:"text",text:`Virtual tool error: ${F.error}`}],isError:!0};return{content:[{type:"text",text:JSON.stringify(F.returnValue??null)}]}}catch(Z){return{content:[{type:"text",text:`Virtual tool execution failed: ${Z instanceof Error?Z.message:String(Z)}`}],isError:!0}}}async listResources(){return{resources:(await this._cachedResources).data}}async readResource(Y){let Q=await this._cachedResources,X=this._clients,J=Q.mappings.get(Y.uri);if(!J)throw Error(`Resource not found: ${Y.uri}`);let G=X.get(J);if(!G)throw Error(`Connection not found for resource: ${Y.uri}`);return await G.readResource(Y)}async listPrompts(){return{prompts:(await this._cachedPrompts).data}}async getPrompt(Y){let Q=await this._cachedPrompts,X=this._clients,J=Q.mappings.get(Y.name);if(!J)throw Error(`Prompt not found: ${Y.name}`);let G=X.get(J);if(!G)throw Error(`Connection not found for prompt: ${Y.name}`);return await G.getPrompt(Y)}async callStreamableTool(Y,Q){let X=await this._cachedTools,J=this._clients,G=X.mappings.get(Y);if(G){let W=J.get(G);if(W&&"callStreamableTool"in W)return W.callStreamableTool(Y,Q)}let K=await this.callTool({name:Y,arguments:Q});return new Response(JSON.stringify(K),{headers:{"Content-Type":"application/json"}})}async[Symbol.asyncDispose](){await mf0(this._clients)}async close(){await mf0(this._clients),await super.close()}getInstructions(){return this.options.virtualMcp.metadata?.instructions??void 0}}});var lf0,nE4,df0,iE4,ZI;var S$1=S(()=>{v1();WU();R$1();lf0=q.object({query:q.string().min(1).describe("Search query to find tools by name or description"),limit:q.number().default(10).describe("Maximum number of results to return")}),nE4=q.toJSONSchema(lf0),df0=q.object({tools:q.array(q.string()).min(1).describe("Array of tool names to get detailed schemas for")}),iE4=q.toJSONSchema(df0);ZI=class ZI extends dN{constructor(Y,Q){super(Y,Q)}getSearchTool(Y){return{name:"GATEWAY_SEARCH_TOOLS",description:`Search for available tools by name or description. Returns tool names and brief descriptions without full schemas. Use this to discover tools before calling GATEWAY_DESCRIBE_TOOLS for detailed schemas. Total tools: ${Y}.`,inputSchema:nE4,annotations:{title:"Search Tools",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1}}}getDescribeTool(){return{name:"GATEWAY_DESCRIBE_TOOLS",description:"Get detailed schemas for specific tools. Call after GATEWAY_SEARCH_TOOLS to get full input/output schemas.",inputSchema:iE4,annotations:{title:"Describe Tools",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1}}}async handleSearch(Y){let Q=lf0.safeParse(Y);if(!Q.success)return M$({error:Q.error.flatten()});let X=await this._cachedTools,J=m3(X.data),G=qp(Q.data.query,J,Q.data.limit);return tR({query:Q.data.query,results:G.map((K)=>({name:K.name,description:K.description,connection:K._meta.connectionTitle})),totalAvailable:J.length})}async handleDescribe(Y){let Q=df0.safeParse(Y);if(!Q.success)return M$({error:Q.error.flatten()});let X=await this._cachedTools,J=m3(X.data),G=Bp(Q.data.tools,J);return tR({tools:G.tools,notFound:G.notFound})}async listTools(){let Y=await this._cachedTools,Q=m3(Y.data);return{tools:[this.getSearchTool(Q.length),this.getDescribeTool()]}}async callTool(Y){if(Y.name==="GATEWAY_SEARCH_TOOLS")return this.handleSearch(Y.arguments??{});if(Y.name==="GATEWAY_DESCRIBE_TOOLS")return this.handleDescribe(Y.arguments??{});return{content:[{type:"text",text:`Unknown tool: ${Y.name}. Available: GATEWAY_SEARCH_TOOLS, GATEWAY_DESCRIBE_TOOLS`}],isError:!0}}async routeToolCall(Y){return dN.prototype.callTool.call(this,Y)}}});var pf0,aE4,_$1;var cf0=S(()=>{v1();WU();S$1();pf0=q.object({code:q.string().min(1).describe("JavaScript code to execute. It runs as an async function body; you can use top-level `return` and `await`."),timeoutMs:q.number().default(3000).describe("Max execution time in milliseconds (default: 3000).")}),aE4=q.toJSONSchema(pf0);_$1=class _$1 extends ZI{constructor(Y,Q){super(Y,Q)}getRunCodeTool(){return{name:"GATEWAY_RUN_CODE",description:'Run JavaScript code in a sandbox. Code must be an ES module that `export default`s an async function that receives (tools) as its first parameter. Use GATEWAY_DESCRIBE_TOOLS to understand the input/output schemas for a tool before calling it. Use `await tools.toolName(args)` or `await tools["tool-name"](args)` to call tools.',inputSchema:aE4,annotations:{title:"Run Code",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!0}}}async handleRunCode(Y){let Q=pf0.safeParse(Y);if(!Q.success)return M$({error:Q.error.flatten()});let X=await this._cachedTools,G={tools:m3(X.data),callTool:async(W,Z)=>{return this.routeToolCall({name:W,arguments:Z})}},K=await Up(Q.data.code,G,Q.data.timeoutMs);if(K.error)return M$(K);return tR(K)}async listTools(){return{tools:[...(await super.listTools()).tools,this.getRunCodeTool()]}}async callTool(Y){if(Y.name==="GATEWAY_RUN_CODE")return this.handleRunCode(Y.arguments??{});return super.callTool(Y)}}});function if0(Y){let Q=Y.slice().sort().join(","),X=nf0.get(Q);if(!X){let J=q.object({name:(Y.length>0?q.enum(Y):q.string()).describe("The name of the tool to execute"),arguments:q.record(q.string(),q.unknown()).default({}).describe("Arguments to pass to the tool")});X={schema:J,jsonSchema:q.toJSONSchema(J)},nf0.set(Q,X)}return X}var nf0,v$1;var af0=S(()=>{v1();WU();S$1();nf0=new Map;v$1=class v$1 extends ZI{constructor(Y,Q){super(Y,Q)}async getCallTool(){let Y=await this._cachedTools,X=m3(Y.data).map((G)=>G.name),{jsonSchema:J}=if0(X);return{name:"GATEWAY_CALL_TOOL",description:"Execute a tool by name. Use GATEWAY_DESCRIBE_TOOLS first to understand the input schema.",inputSchema:J,annotations:{title:"Call Tool",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!0}}}async handleCallTool(Y){let Q=await this._cachedTools,X=m3(Q.data),J=X.map((F)=>F.name),{schema:G}=if0(J),K=G.safeParse(Y);if(!K.success)return M$({error:K.error.flatten()});let{name:W,arguments:Z}=K.data;if(!new Map(X.map((F)=>[F.name,F])).has(W))return{content:[{type:"text",text:`Tool not found: ${W}. Use GATEWAY_SEARCH_TOOLS to find available tools.`}],isError:!0};return this.routeToolCall({name:W,arguments:Z})}async listTools(){let Y=await super.listTools(),Q=await this.getCallTool();return{tools:[...Y.tools,Q]}}async callTool(Y){if(Y.name==="GATEWAY_CALL_TOOL")return this.handleCallTool(Y.arguments??{});return super.callTool(Y)}}});function rE4(Y,Q){if(Y.connection_type!=="VIRTUAL")return!1;if(!Q||OV(Q))return!1;return Y.id===Q}async function rf0(Y,Q,X=!1){let J=Y.id,G=await Q.storage.virtualMcps.findById(J);if(!G)throw Error(`Virtual MCP not found: ${J}`);return oE4(G,Q,"passthrough",X)}async function oE4(Y,Q,X,J=!1){let K=Y.connections.map((V)=>V.connection_id).map((V)=>Q.storage.connections.findById(V)),W=Y.id?await Q.storage.connections.findById(Y.id):null,Z=await Promise.all(K),H=[];if(W?.tools){for(let V of W.tools)if(xf0(V))H.push(V)}let $={connections:Z.filter((V)=>V!==null&&V.status==="active"&&!rE4(V,Y.id)),virtualMcp:Y,virtualTools:H.length>0?H:void 0,superUser:J};return X==="smart_tool_selection"?new v$1($,Q):X==="code_execution"?new _$1($,Q):new dN($,Q)}var of0=S(()=>{zY();A$();cf0();R$1();af0()});async function pN(Y,Q,X=!1){if(Y.connection_type==="VIRTUAL")return rf0(Y,Q,X);return yf0(Y,Q,X)}var k$1=S(()=>{ff0();of0()});var sf0=S(()=>{zY();jY();k$1();C$1()});function sE4(Y,Q,X){return async(J,G)=>{try{let K=J.params.name,W=async()=>{let{tools:H}=await X();return H.find(($)=>$.name===K)?._meta};return await new WI(Y.authInstance,Y.auth.user?.id??Y.auth.apiKey?.userId,K,Y.boundAuth,Y.auth.user?.role,Q,W).check(K),await G()}catch(K){return new Response(JSON.stringify({error:`Authorization failed: ${K.message}`}),{status:403,headers:{"Content-Type":"application/json"}})}}}function I$1(Y,Q,X,J,G){let K=async(Z,H)=>{if(X.connection_type==="VIRTUAL"){let U=await Y.callTool({name:Z,arguments:H});return new Response(JSON.stringify(U),{headers:{"Content-Type":"application/json"}})}if(!X.connection_url)throw Error("Streamable tools require HTTP connection with URL");let F=X.connection_url,$={method:"tools/call",params:{name:Z,arguments:H}};if(!G.superUser){let z=await sE4(J,Q,Y.listTools.bind(Y))($,async()=>{return new Response});if(!z.ok)return z}let V=J.connectionId&&J.connectionId!==Q?J.connectionId:void 0;return _f0({ctx:J,enabled:xh().enabled,connectionId:Q,connectionTitle:X.title,virtualMcpId:V})($,async()=>{let U=await XI(X,J,G.superUser),z=X.connection_headers;if(z&&"headers"in z)Object.assign(U,z.headers);let O=new URL(F);O.pathname=O.pathname.replace(/\/$/,"")+`/call-tool/${$.params.name}`;let M=JSON.parse(JSON.stringify($.params.arguments,(P,j)=>{if(j instanceof AbortSignal)return;if(typeof j==="function"||typeof j==="symbol")return;if(j===void 0)return;return j})),w=JSON.stringify(M);return await J.tracer.startActiveSpan("mcp.proxy.callStreamableTool",{attributes:{"connection.id":Q,"tool.name":$.params.name,"request.id":J.metadata.requestId}},async(P)=>{let j=Date.now();try{let C=await fetch(O.toString(),{method:"POST",redirect:"manual",body:w,headers:{...U,"Content-Type":"application/json"}}),E=Date.now()-j;return J.meter.createHistogram("connection.proxy.streamable.duration").record(E,{"connection.id":Q,"tool.name":$.params.name,status:C.ok?"success":"error"}),J.meter.createCounter("connection.proxy.streamable.requests").add(1,{"connection.id":Q,"tool.name":$.params.name,status:C.ok?"success":"error"}),P.end(),C}catch(C){let E=C,I=Date.now()-j;throw console.error("[with-streaming-support] fetch error",{connectionId:Q,toolName:$.params.name,error:E.message,errorStack:E.stack,duration:I}),J.meter.createHistogram("connection.proxy.streamable.duration").record(I,{"connection.id":Q,"tool.name":$.params.name,status:"error"}),J.meter.createCounter("connection.proxy.streamable.errors").add(1,{"connection.id":Q,"tool.name":$.params.name,error:E.message}),P.recordException(E),P.end(),C}})})},W=Object.assign(Object.create(Object.getPrototypeOf(Y)),Y);return W.callStreamableTool=K,W}var tf0=S(()=>{O$1();N$1();gh();E$1()});var ef0=S(()=>{tf0()});var j$1=S(()=>{k$1();sf0();ef0()});async function YT4(Y,Q,X,J){for(let K of Q){if(K==="*")continue;let[W]=Of0(K),Z=Lp(W,Y);if(Z===void 0||Z===null)throw Error(`Scope references key "${W}" but it's not present in state`)}let G=Lf0(Y,Q);for(let K of G){if(K.endsWith("_self"))continue;let W=await J.storage.connections.findById(K);if(!W||W.organization_id!==X)throw Error(`Referenced connection not found: ${K}`);try{await J.access.check(K)}catch(Z){throw Error(`Access denied to referenced connection: ${K}. ${Z.message}`)}}}var tE4,eE4,y$1;var Yb0=S(()=>{z$1();j$1();D$1();v1();k0();pm();L3();tE4=q.object({id:q.string().describe("ID of the connection to update"),data:RA.describe("Partial connection data to update")}),eE4=q.object({item:P5.describe("The updated connection entity")});y$1=k1({name:"COLLECTION_CONNECTIONS_UPDATE",description:"Update an existing MCP connection in the organization",annotations:{title:"Update Connection",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:tE4,outputSchema:eE4,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=D9(Q);if(!J)throw Error("User ID required to update connection");let{id:G,data:K}=Y,W=await Q.storage.connections.findById(G);if(!W||W.organization_id!==X.id)throw Error("Connection not found in organization");let Z=K.connection_type??W.connection_type,H=K.connection_url??W.connection_url;if(Z==="VIRTUAL"){let M=LV(H);if(!M)throw Error("VIRTUAL connection requires connection_url in format: virtual://$virtual_mcp_id");let w=await Q.storage.virtualMcps.findById(M);if(!w)throw Error(`Virtual MCP not found: ${M}`);if(w.organization_id!==X.id)throw Error("Virtual MCP does not belong to the current organization");H=NV(M)}let F=K.configuration_state??W.configuration_state??{},$=K.configuration_scopes??W.configuration_scopes??[];if(K.configuration_state!==void 0||K.configuration_scopes!==void 0){if(K.configuration_state!==void 0)F=K.configuration_state??{};else if(F===null||F===void 0)F={};if(K.configuration_scopes!==void 0)$=K.configuration_scopes??[];if($.length>0)await YT4(F,$,X.id,Q)}let V=K.connection_token??W.connection_token;if(!V)try{let w=await new QI(Q.db,Q.vault).get(G);if(w?.accessToken)V=w.accessToken}catch{}let B=await iL({id:W.id,title:K.title??W.title,connection_type:Z,connection_url:H,connection_token:V,connection_headers:K.connection_headers??W.connection_headers}).catch(()=>null),U=B?.tools?.length?B.tools:null;if(K.configuration_scopes===void 0&&B?.scopes?.length)$=B.scopes;let z={...K,connection_url:H,tools:U,configuration_state:F,configuration_scopes:$,updated_by:J},O=await Q.storage.connections.update(G,z);if((K.configuration_state!==void 0||K.configuration_scopes!==void 0)&&F&&$)try{await(await pN(O,Q,!1)).callTool({name:"ON_MCP_CONFIGURATION",arguments:{state:F,scopes:$}})}catch(M){console.error("Failed to invoke ON_MCP_CONFIGURATION callback",M)}return{item:O}}})});var QT4,f$1;var Qb0=S(()=>{gX();v1();k0();L3();QT4=CC.extend({force:q.boolean().optional().describe("If true, removes this connection from all agents that reference it before deleting")}),f$1=k1({name:"COLLECTION_CONNECTIONS_DELETE",description:"Delete a connection",annotations:{title:"Delete Connection",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:QT4,outputSchema:RC(P5),handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=await Q.storage.connections.findById(Y.id);if(!J)throw Error(`Connection not found: ${Y.id}`);if(J.organization_id!==X.id)throw Error("Connection not found in organization");if(J.metadata?.isFixed===!0)throw Error("This connection is a fixed system connection and cannot be deleted");let K=await Q.storage.virtualMcps.listByConnectionId(X.id,Y.id);if(K.length>0)if(Y.force)await Q.storage.virtualMcps.removeConnectionReferences(Y.id);else throw Error(JSON.stringify({code:"CONNECTION_IN_USE",agentNames:K.map((W)=>W.title)}));return await Q.storage.connections.delete(Y.id),{item:J}}})});var b$1;var Xb0=S(()=>{v1();k0();b$1=k1({name:"CONNECTION_TEST",description:"Test connection health and latency",annotations:{title:"Test Connection",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!0},inputSchema:q.object({id:q.string()}),outputSchema:q.object({id:q.string(),healthy:q.boolean(),latencyMs:q.number()}),handler:async(Y,Q)=>{let X=B0(Q);await Q.access.check();let J=await Q.storage.connections.findById(Y.id);if(!J||J.organization_id!==X.id)throw Error("Connection not found");let G=await Q.storage.connections.testConnection(Y.id);return{id:Y.id,...G}}})});var Jb0=S(()=>{Kf0();zf0();Df0();Yb0();Qb0();Xb0()});import{sql as S4}from"kysely";function Gb0(Y){if(Y===null||Y===void 0)return"NULL";if(typeof Y==="number")return String(Y);if(typeof Y==="boolean")return Y?"TRUE":"FALSE";if(typeof Y==="string")return`'${Y.replace(/'/g,"''")}'`;if(Y instanceof Date)return`'${Y.toISOString()}'`;return`'${JSON.stringify(Y).replace(/'/g,"''")}'`}function GT4(Y,Q){let X=Y;for(let G=Q.length;G>=1;G--){let K=`$${G}`;if(X.includes(K))X=X.replaceAll(K,Gb0(Q[G-1]))}let J=[];for(let G=0;G<X.length;G++)if(X[G]==="?")J.push(G);for(let G=Math.min(J.length,Q.length)-1;G>=0;G--){let K=J[G],W=Gb0(Q[G]);X=X.slice(0,K)+W+X.slice(K+1)}return X}function Wb0(Y){return Y.replace(/-/g,"_")}function ZT4(Y){return`app_${Wb0(Y)}`}function KT4(Y){return`app_role_${Wb0(Y)}`}function HT4(Y){if(Y instanceof Error){let Q=Y.message.toLowerCase(),X=Y.code;return X==="3F000"||X==="42704"||X==="22023"||Q.includes("schema")&&Q.includes("does not exist")||Q.includes("role")&&Q.includes("does not exist")}return!1}async function FT4(Y,Q,X){if(await S4`CREATE SCHEMA IF NOT EXISTS ${S4.id(Q)}`.execute(Y),!(await S4`
|
|
1478
1478
|
SELECT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = ${X}) as exists
|
|
1479
|
-
`.execute(Y)).rows[0]?.exists)await S4`CREATE ROLE ${S4.id(X)} NOLOGIN`.execute(Y);await S4`GRANT ${S4.id(X)} TO CURRENT_USER`.execute(Y),await S4`GRANT USAGE, CREATE ON SCHEMA ${S4.id(Q)} TO ${S4.id(X)}`.execute(Y),await S4`GRANT ALL ON ALL TABLES IN SCHEMA ${S4.id(Q)} TO ${S4.id(X)}`.execute(Y),await S4`GRANT ALL ON ALL SEQUENCES IN SCHEMA ${S4.id(Q)} TO ${S4.id(X)}`.execute(Y),await S4`ALTER DEFAULT PRIVILEGES IN SCHEMA ${S4.id(Q)} GRANT ALL ON TABLES TO ${S4.id(X)}`.execute(Y),await S4`ALTER DEFAULT PRIVILEGES IN SCHEMA ${S4.id(Q)} GRANT ALL ON SEQUENCES TO ${S4.id(X)}`.execute(Y),await S4`REVOKE ALL ON SCHEMA public FROM ${S4.id(X)}`.execute(Y)}async function $T4(Y,Q,X,J){try{return await Y.transaction().execute(async(G)=>{return await S4`SET LOCAL ROLE ${S4.id(X)}`.execute(G),await S4`SET LOCAL search_path TO ${S4.id(Q)}`.execute(G),await S4.raw(J).execute(G)})}catch(G){if(HT4(G))return await FT4(Y,Q,X),await Y.transaction().execute(async(K)=>{return await S4`SET LOCAL ROLE ${S4.id(X)}`.execute(K),await S4`SET LOCAL search_path TO ${S4.id(Q)}`.execute(K),await S4.raw(J).execute(K)});throw G}}var JT4,WT4,Zb0;var Kb0=S(()=>{v1();k0();JT4=q.object({results:q.array(q.unknown()).optional(),success:q.boolean().optional()});WT4=q.object({sql:q.string().describe("The SQL query to run"),params:q.array(q.any()).describe("The parameters to pass to the SQL query").optional()});Zb0=k1({name:"DATABASES_RUN_SQL",description:"Run a SQL query against the database",annotations:{title:"Run SQL Query",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:WT4,outputSchema:q.object({result:q.array(JT4)}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=GT4(Y.sql,Y.params||[]);if(!Q.connectionId)throw Error("Connection context required for database access");let J=ZT4(Q.connectionId),G=KT4(Q.connectionId);return{result:[{results:(await $T4(Q.db,J,G,X)).rows,success:!0}]}}})});var Hb0,qT4,Fb0;var d3=S(()=>{v1();Xl();Hb0=q.object({connectionId:q.string().optional().describe("Filter subscriptions by connection ID (optional)")}),qT4=q.object({id:q.string().describe("Subscription ID"),connectionId:q.string().describe("Subscriber connection ID"),eventType:q.string().describe("Event type pattern"),publisher:q.string().nullable().describe("Publisher connection filter (null = all publishers)"),filter:q.string().nullable().describe("JSONPath filter expression"),enabled:q.boolean().describe("Whether subscription is enabled"),createdAt:q.string().datetime().describe("Created timestamp (ISO 8601)"),updatedAt:q.string().datetime().describe("Updated timestamp (ISO 8601)")}),Fb0=q.object({subscriptions:q.array(qT4).describe("List of subscriptions")})});var h$1;var $b0=S(()=>{k0();d3();h$1=k1({name:"EVENT_PUBLISH",description:"Publish an event to the event bus. Supports immediate, scheduled (deliverAt), and recurring (cron) delivery. The source is automatically set to the caller's connection ID.",annotations:{title:"Publish Event",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!1},inputSchema:IC,outputSchema:jC,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=Q.connectionId;if(!J)throw Error("Connection ID required to publish events. Use a connection-scoped token.");let G=await Q.eventBus.publish(X.id,J,{type:Y.type,subject:Y.subject,data:Y.data,deliverAt:Y.deliverAt,cron:Y.cron});return{id:G.id,type:G.type,source:G.source,time:G.time}}})});var x$1;var Vb0=S(()=>{k0();d3();x$1=k1({name:"EVENT_SUBSCRIBE",description:"Subscribe to events of a specific type. The subscriber is automatically set to the caller's connection.",annotations:{title:"Subscribe to Events",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:SC,outputSchema:_C,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=Q.connectionId;if(!J)throw Error("Connection ID required to subscribe. Use a connection-scoped token.");let G=await Q.eventBus.subscribe(X.id,{connectionId:J,eventType:Y.eventType,publisher:Y.publisher,filter:Y.filter});return{subscription:{id:G.id,connectionId:G.connectionId,eventType:G.eventType,publisher:G.publisher,filter:G.filter,enabled:G.enabled,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt,updatedAt:G.updatedAt instanceof Date?G.updatedAt.toISOString():G.updatedAt}}}})});var g$1;var qb0=S(()=>{k0();d3();g$1=k1({name:"EVENT_UNSUBSCRIBE",description:"Unsubscribe from events by removing a subscription.",annotations:{title:"Unsubscribe from Events",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:yC,outputSchema:fC,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=Q.connectionId;if(!J)throw Error("Connection ID required to unsubscribe. Use a connection-scoped token.");let G=await Q.eventBus.getSubscription(X.id,Y.subscriptionId);if(!G)throw Error(`Subscription not found: ${Y.subscriptionId}`);if(G.connectionId!==J)throw Error("Cannot unsubscribe from a subscription owned by another connection");return{success:(await Q.eventBus.unsubscribe(X.id,Y.subscriptionId)).success,subscriptionId:Y.subscriptionId}}})});var u$1;var Bb0=S(()=>{k0();d3();u$1=k1({name:"EVENT_CANCEL",description:"Cancel a recurring event to stop future deliveries. Only the publisher can cancel their own events.",annotations:{title:"Cancel Recurring Event",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:bC,outputSchema:hC,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=Q.connectionId;if(!J)throw Error("Connection ID required to cancel events. Use a connection-scoped token.");if(!await Q.eventBus.getEvent(X.id,Y.eventId))throw Error(`Event not found: ${Y.eventId}`);if(!(await Q.eventBus.cancelEvent(X.id,Y.eventId,J)).success)throw Error("Failed to cancel event. Either the event is already completed/failed, or you are not the publisher.");return{success:!0,eventId:Y.eventId}}})});var m$1;var Ub0=S(()=>{k0();d3();m$1=k1({name:"EVENT_ACK",description:"Acknowledge delivery of an event. Call after successfully processing an event received via ON_EVENTS with retryAfter.",annotations:{title:"Acknowledge Event",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:xC,outputSchema:gC,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=Q.connectionId;if(!J)throw Error("Connection ID required to acknowledge events. Use a connection-scoped token.");if(!(await Q.eventBus.ackEvent(X.id,Y.eventId,J)).success)throw Error("Failed to acknowledge event. Either the event was not found, already delivered, or you are not a subscriber.");return{success:!0,eventId:Y.eventId}}})});var l$1;var zb0=S(()=>{k0();d3();l$1=k1({name:"EVENT_SUBSCRIPTION_LIST",description:"List event subscriptions, optionally filtered by connection ID.",annotations:{title:"List Event Subscriptions",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:Hb0,outputSchema:Fb0,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);return await Q.access.check(),{subscriptions:(await Q.eventBus.listSubscriptions(X.id,Y.connectionId)).map((G)=>({id:G.id,connectionId:G.connectionId,eventType:G.eventType,publisher:G.publisher,filter:G.filter,enabled:G.enabled,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt,updatedAt:G.updatedAt instanceof Date?G.updatedAt.toISOString():G.updatedAt}))}}})});var d$1;var Db0=S(()=>{k0();d3();d$1=k1({name:"EVENT_SYNC_SUBSCRIPTIONS",description:"Sync subscriptions to desired state. Creates new, deletes removed, updates changed filters. Subscriptions are identified by (eventType, publisher).",annotations:{title:"Sync Event Subscriptions",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:vC,outputSchema:kC,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=Q.connectionId;if(!J)throw Error("Connection ID required to sync subscriptions. Use a connection-scoped token.");let G=await Q.eventBus.syncSubscriptions(X.id,{connectionId:J,subscriptions:Y.subscriptions});return{created:G.created,updated:G.updated,deleted:G.deleted,unchanged:G.unchanged,subscriptions:G.subscriptions.map((K)=>({id:K.id,connectionId:K.connectionId,eventType:K.eventType,publisher:K.publisher,filter:K.filter,enabled:K.enabled,createdAt:K.createdAt instanceof Date?K.createdAt.toISOString():K.createdAt,updatedAt:K.updatedAt instanceof Date?K.updatedAt.toISOString():K.updatedAt}))}}})});var Ob0=S(()=>{$b0();Vb0();qb0();Bb0();Ub0();zb0();Db0();d3()});var cN=S(()=>{Tk()});function Lb0(){return`/icons/capy-${Math.floor(Math.random()*39)+0}.png`}var UT4,zT4,p$1;var Nb0=S(()=>{v1();k0();cN();UT4=q.object({data:jA.describe("Data for the new virtual MCP")}),zT4=q.object({item:tX.describe("The created virtual MCP entity")}),p$1=k1({name:"COLLECTION_VIRTUAL_MCP_CREATE",description:"Create a new Virtual MCP",annotations:{title:"Create Virtual MCP",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:UT4,outputSchema:zT4,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=D9(Q);if(!J)throw Error("User ID required to create virtual MCP");let G={...Y.data,icon:Y.data.icon??Lb0()};return{item:await Q.storage.virtualMcps.create(X.id,J,G)}}})});function DT4(Y){let Q=[],X=0;while(X<Y.length){let J=Y[X];if(J==="%")Q.push(".*");else if(J==="_")Q.push(".");else if(/[.*+?^${}()|[\]\\]/.test(J))Q.push("\\"+J);else Q.push(J);X++}return Q.join("")}function P$(Y){return typeof Y==="string"||typeof Y==="number"}function c$1(Y,Q){let X=Q.split("."),J=Y;for(let G of X){if(J==null||typeof J!=="object")return;J=J[G]}return J}function OT4(Y,Q){return Y.connections.some((X)=>X.connection_id===Q)}function Ap(Y,Q){if("conditions"in Q){let{operator:Z,conditions:H}=Q;switch(Z){case"and":return H.every((F)=>Ap(Y,F));case"or":return H.some((F)=>Ap(Y,F));case"not":return!H.every((F)=>Ap(Y,F));default:return!0}}let{field:X,operator:J,value:G}=Q,K=X.join(".");if(K==="connection_id"){if(J!=="eq"||typeof G!=="string")return!1;return OT4(Y,G)}let W=c$1(Y,K);switch(J){case"eq":return W===G;case"gt":return P$(W)&&P$(G)&&W>G;case"gte":return P$(W)&&P$(G)&&W>=G;case"lt":return P$(W)&&P$(G)&&W<G;case"lte":return P$(W)&&P$(G)&&W<=G;case"in":return Array.isArray(G)&&G.includes(W);case"like":if(typeof W!=="string"||typeof G!=="string")return!1;if(G.length>100)return!1;let Z=DT4(G);return new RegExp(`^${Z}$`,"i").test(W);case"contains":if(typeof W!=="string"||typeof G!=="string")return!1;return W.toLowerCase().includes(G.toLowerCase());default:return!0}}function LT4(Y,Q){return[...Y].sort((X,J)=>{for(let G of Q){let K=G.field.join("."),W=c$1(X,K),Z=c$1(J,K),H=0;if(W==null&&Z==null)continue;if(W==null)H=G.nulls==="first"?-1:1;else if(Z==null)H=G.nulls==="first"?1:-1;else if(typeof W==="string"&&typeof Z==="string")H=W.localeCompare(Z);else if(typeof W==="number"&&typeof Z==="number")H=W-Z;else H=String(W).localeCompare(String(Z));if(H!==0)return G.direction==="desc"?-H:H}return 0})}var NT4,MT4,n$1;var Mb0=S(()=>{gX();k0();cN();NT4=dG,MT4=M3(tX),n$1=k1({name:"COLLECTION_VIRTUAL_MCP_LIST",description:"List all MCP virtual MCPs in the organization",annotations:{title:"List Virtual MCPs",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:NT4,outputSchema:MT4,handler:async(Y,Q)=>{await Q.access.check();let X=B0(Q),J=Y.where&&!("conditions"in Y.where)&&Y.where.field.join(".")==="connection_id"&&Y.where.operator==="eq"&&typeof Y.where.value==="string"?Y.where.value:void 0,K=J?await Q.storage.virtualMcps.listByConnectionId(X.id,J):await Q.storage.virtualMcps.list(X.id);if(Y.where)K=K.filter((V)=>Ap(V,Y.where));if(Y.orderBy&&Y.orderBy.length>0)K=LT4(K,Y.orderBy);let W=K.length,Z=Y.offset??0,H=Y.limit??100,F=K.slice(Z,Z+H),$=Z+H<W;return{items:F,totalCount:W,hasMore:$}}})});var wT4,AT4,i$1;var wb0=S(()=>{v1();k0();cN();wT4=q.object({id:q.string().describe("ID of the virtual MCP to retrieve")}),AT4=q.object({item:tX.nullable().describe("The retrieved virtual MCP, or null if not found")}),i$1=k1({name:"COLLECTION_VIRTUAL_MCP_GET",description:"Get an MCP virtual MCP by ID",annotations:{title:"Get Virtual MCP",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:wT4,outputSchema:AT4,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=await Q.storage.virtualMcps.findById(Y.id);if(J&&J.organization_id!==X.id)return{item:null};if(!J)return{item:null};return{item:J}}})});var PT4,ET4,a$1;var Ab0=S(()=>{v1();k0();cN();PT4=q.object({id:q.string().describe("ID of the virtual MCP to update"),data:SA.describe("Partial virtual MCP data to update")}),ET4=q.object({item:tX.describe("The updated virtual MCP entity")}),a$1=k1({name:"COLLECTION_VIRTUAL_MCP_UPDATE",description:"Update an MCP virtual MCP",annotations:{title:"Update Virtual MCP",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:PT4,outputSchema:ET4,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=D9(Q);if(!J)throw Error("User ID required to update virtual MCP");let G=await Q.storage.virtualMcps.findById(Y.id);if(!G)throw Error(`Virtual MCP not found: ${Y.id}`);if(G.organization_id!==X.id)throw Error(`Virtual MCP not found: ${Y.id}`);return{item:await Q.storage.virtualMcps.update(Y.id,J,Y.data)}}})});var TT4,CT4,r$1;var Pb0=S(()=>{v1();k0();cN();TT4=q.object({id:q.string().describe("ID of the virtual MCP to delete")}),CT4=q.object({item:tX.describe("The deleted virtual MCP entity")}),r$1=k1({name:"COLLECTION_VIRTUAL_MCP_DELETE",description:"Delete an MCP virtual MCP",annotations:{title:"Delete Virtual MCP",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:TT4,outputSchema:CT4,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=await Q.storage.virtualMcps.findById(Y.id);if(!J)throw Error(`Virtual MCP not found: ${Y.id}`);if(J.organization_id!==X.id)throw Error(`Virtual MCP not found: ${Y.id}`);return await Q.storage.virtualMcps.delete(Y.id),{item:J}}})});var Eb0=S(()=>{Nb0();Mb0();wb0();Ab0();Pb0()});var IT4,jT4,o$1;var Tb0=S(()=>{v1();k0();A$();IT4=q.object({virtual_mcp_id:q.string().describe("ID of the Virtual MCP to add the tool to"),data:bf0.describe("Virtual tool data")}),jT4=q.object({item:pZ.describe("The created virtual tool")}),o$1=k1({name:"COLLECTION_VIRTUAL_TOOLS_CREATE",description:"Create a new virtual tool on a Virtual MCP. The tool code should be a JavaScript ES module that exports a default async function: export default async (tools, args) => { ... }. Specify connection_dependencies to indicate which connections this tool uses.",annotations:{title:"Create Virtual Tool",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:IT4,outputSchema:jT4,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=await Q.storage.virtualMcps.findById(Y.virtual_mcp_id);if(!J||J.organization_id!==X.id)throw Error(`Virtual MCP not found: ${Y.virtual_mcp_id}`);let G=Y.data.connection_dependencies??[];return{item:await Q.storage.virtualMcps.createVirtualTool(Y.virtual_mcp_id,Y.data,G)}}})});var ST4,_T4,s$1;var Cb0=S(()=>{v1();k0();A$();ST4=q.object({virtual_mcp_id:q.string().describe("ID of the Virtual MCP to list tools for"),limit:q.number().int().min(1).max(1000).optional().describe("Maximum number of items to return"),offset:q.number().int().min(0).optional().describe("Number of items to skip")}),_T4=q.object({items:q.array(pZ).describe("Array of virtual tools"),totalCount:q.number().int().min(0).optional().describe("Total number of virtual tools"),hasMore:q.boolean().optional().describe("Whether there are more items available")}),s$1=k1({name:"COLLECTION_VIRTUAL_TOOLS_LIST",description:"List all virtual tools for a Virtual MCP",annotations:{title:"List Virtual Tools",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:ST4,outputSchema:_T4,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=await Q.storage.virtualMcps.findById(Y.virtual_mcp_id);if(!J||J.organization_id!==X.id)return{items:[],totalCount:0,hasMore:!1};let G=await Q.storage.virtualMcps.listVirtualTools(Y.virtual_mcp_id),K=G.length,W=Y.offset??0,Z=Y.limit??100,H=G.slice(W,W+Z),F=W+Z<K;return{items:H,totalCount:K,hasMore:F}}})});var vT4,kT4,t$1;var Rb0=S(()=>{v1();k0();A$();vT4=q.object({virtual_mcp_id:q.string().describe("ID of the Virtual MCP"),name:q.string().describe("Name of the virtual tool to retrieve")}),kT4=q.object({item:pZ.nullable().describe("The retrieved virtual tool, or null if not found")}),t$1=k1({name:"COLLECTION_VIRTUAL_TOOLS_GET",description:"Get a virtual tool by name from a Virtual MCP",annotations:{title:"Get Virtual Tool",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:vT4,outputSchema:kT4,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=await Q.storage.virtualMcps.findById(Y.virtual_mcp_id);if(!J||J.organization_id!==X.id)return{item:null};return{item:await Q.storage.virtualMcps.getVirtualTool(Y.virtual_mcp_id,Y.name)}}})});var yT4,fT4,e$1;var Ib0=S(()=>{v1();k0();A$();yT4=q.object({virtual_mcp_id:q.string().describe("ID of the Virtual MCP"),name:q.string().describe("Current name of the virtual tool to update"),data:hf0.describe("Partial virtual tool data to update")}),fT4=q.object({item:pZ.describe("The updated virtual tool")}),e$1=k1({name:"COLLECTION_VIRTUAL_TOOLS_UPDATE",description:"Update an existing virtual tool on a Virtual MCP. Specify connection_dependencies to update which connections this tool uses.",annotations:{title:"Update Virtual Tool",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:yT4,outputSchema:fT4,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=await Q.storage.virtualMcps.findById(Y.virtual_mcp_id);if(!J||J.organization_id!==X.id)throw Error(`Virtual MCP not found: ${Y.virtual_mcp_id}`);if(!await Q.storage.virtualMcps.getVirtualTool(Y.virtual_mcp_id,Y.name))throw Error(`Virtual tool not found: ${Y.name}`);let K=Y.data.connection_dependencies;return{item:await Q.storage.virtualMcps.updateVirtualTool(Y.virtual_mcp_id,Y.name,Y.data,K)}}})});var bT4,hT4,YV1;var jb0=S(()=>{v1();k0();A$();bT4=q.object({virtual_mcp_id:q.string().describe("ID of the Virtual MCP"),name:q.string().describe("Name of the virtual tool to delete")}),hT4=q.object({item:pZ.describe("The deleted virtual tool")}),YV1=k1({name:"COLLECTION_VIRTUAL_TOOLS_DELETE",description:"Delete a virtual tool from a Virtual MCP",annotations:{title:"Delete Virtual Tool",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:bT4,outputSchema:hT4,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=await Q.storage.virtualMcps.findById(Y.virtual_mcp_id);if(!J||J.organization_id!==X.id)throw Error(`Virtual MCP not found: ${Y.virtual_mcp_id}`);let G=await Q.storage.virtualMcps.getVirtualTool(Y.virtual_mcp_id,Y.name);if(!G)throw Error(`Virtual tool not found: ${Y.name}`);return await Q.storage.virtualMcps.deleteVirtualTool(Y.virtual_mcp_id,Y.name),{item:G}}})});var Sb0=S(()=>{Tb0();Cb0();Rb0();Ib0();jb0()});var gT4,QV1;var _b0=S(()=>{k0();v1();gT4=q.object({id:q.string().optional().describe("Unique log identifier"),organizationId:q.string().describe("Organization ID"),connectionId:q.string().describe("Connection ID"),connectionTitle:q.string().describe("Connection display name"),toolName:q.string().describe("Name of the tool that was called"),input:q.record(q.string(),q.unknown()).describe("Redacted tool input"),output:q.record(q.string(),q.unknown()).describe("Redacted tool output"),isError:q.boolean().describe("Whether the call resulted in an error"),errorMessage:q.string().nullish().describe("Error message if applicable"),durationMs:q.number().describe("Call duration in milliseconds"),timestamp:q.string().describe("ISO 8601 timestamp of the call"),userId:q.string().nullish().describe("User who triggered the call"),requestId:q.string().describe("Unique request identifier"),userAgent:q.string().nullish().describe("Client identifier (x-mesh-client header)"),virtualMcpId:q.string().nullish().describe("Virtual MCP (Agent) ID if routed through an agent"),properties:q.record(q.string(),q.string()).nullish().describe("Custom key-value metadata attached to the log")}),QV1=k1({name:"MONITORING_LOGS_LIST",description:"List monitoring logs for tool calls in the organization",annotations:{title:"List Monitoring Logs",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({connectionId:q.string().optional().describe("Filter by connection ID"),excludeConnectionIds:q.array(q.string()).optional().describe("Exclude logs from these connection IDs (e.g. system connections)"),virtualMcpId:q.string().optional().describe("Filter by Virtual MCP (Agent) ID"),toolName:q.string().optional().describe("Filter by tool name"),isError:q.boolean().optional().describe("Filter by error status"),startDate:q.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:q.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)"),limit:q.number().default(20).describe("Maximum number of results"),offset:q.number().default(0).describe("Offset for pagination"),properties:q.record(q.string(),q.string()).optional().describe("Filter by exact property key=value matches"),propertyKeys:q.array(q.string()).optional().describe("Filter by logs that have these property keys"),propertyPatterns:q.record(q.string(),q.string()).optional().describe("Filter by property value patterns (SQL LIKE, use % as wildcard)"),propertyInValues:q.record(q.string(),q.string()).optional().describe("Filter by exact match within comma-separated values (e.g., user_tags in 'Engineering')")}),outputSchema:q.object({logs:q.array(gT4).describe("Array of monitoring logs"),total:q.number().describe("Total number of logs matching filters"),offset:q.number().describe("Current offset for pagination"),limit:q.number().describe("Current limit for pagination")}),handler:async(Y,Q)=>{let X=B0(Q),G=Y.properties||Y.propertyKeys||Y.propertyPatterns||Y.propertyInValues?{properties:Y.properties,propertyKeys:Y.propertyKeys,propertyPatterns:Y.propertyPatterns,propertyInValues:Y.propertyInValues}:void 0,K={organizationId:X.id,connectionId:Y.connectionId,excludeConnectionIds:Y.excludeConnectionIds,virtualMcpId:Y.virtualMcpId,toolName:Y.toolName,isError:Y.isError,startDate:Y.startDate?new Date(Y.startDate):void 0,endDate:Y.endDate?new Date(Y.endDate):void 0,limit:Y.limit,offset:Y.offset,propertyFilters:G},W=await Q.storage.monitoring.query(K);return{logs:W.logs.map((Z)=>({...Z,timestamp:Z.timestamp instanceof Date?Z.timestamp.toISOString():Z.timestamp})),total:W.total,offset:Y.offset,limit:Y.limit}}})});var XV1;var vb0=S(()=>{k0();v1();XV1=k1({name:"MONITORING_STATS",description:"Get aggregated statistics for tool call monitoring",annotations:{title:"Get Monitoring Stats",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({startDate:q.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:q.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)")}),outputSchema:q.object({totalCalls:q.number().describe("Total number of tool calls"),errorRate:q.number().describe("Error rate as a decimal (0 to 1)"),avgDurationMs:q.number().describe("Average call duration in milliseconds"),errorRatePercent:q.string().describe("Error rate as a percentage string")}),handler:async(Y,Q)=>{let J={organizationId:B0(Q).id,startDate:Y.startDate?new Date(Y.startDate):void 0,endDate:Y.endDate?new Date(Y.endDate):void 0},G=await Q.storage.monitoring.getStats(J);return{...G,errorRatePercent:(G.errorRate*100).toFixed(2)}}})});var kb0=S(()=>{_b0();vb0()});var mT4,lT4,dT4,pT4,cT4,KI,HI,E$,nT4,iT4,yb0;var nN=S(()=>{v1();mT4=q.enum(["sum","avg","min","max","count","last"]).describe("Aggregation function to apply"),lT4=q.enum(["metric","timeseries","table"]).describe("Widget display type"),dT4=q.object({path:q.string().describe("JSONPath to extract value, e.g., '$.usage.total_tokens'"),from:q.enum(["input","output"]).describe("Extract from tool call input or output")}),pT4=q.object({fn:mT4,groupBy:q.string().optional().describe("Optional JSONPath for grouping results"),interval:q.string().optional().describe("For timeseries widgets: interval like '1h', '1d', '15m'")}),cT4=q.object({connectionIds:q.array(q.string()).optional().describe("Filter to specific connections"),toolNames:q.array(q.string()).optional().describe("Filter to specific tools")}),KI=q.object({id:q.string().describe("Unique widget identifier"),name:q.string().describe("Widget display name"),type:lT4,source:dT4,aggregation:pT4,filter:cT4.optional()}),HI=q.object({connectionIds:q.array(q.string()).optional().describe("Filter to specific connections"),virtualMcpIds:q.array(q.string()).optional().describe("Filter to specific virtual MCPs/agents"),toolNames:q.array(q.string()).optional().describe("Filter to specific tools"),propertyFilters:q.record(q.string(),q.string()).optional().describe("Filter by exact metadata property key=value matches (e.g., { environment: 'production' })")}),E$=q.object({id:q.string().describe("Unique dashboard identifier"),organizationId:q.string().describe("Organization ID"),name:q.string().describe("Dashboard name"),description:q.string().nullable().describe("Dashboard description"),filters:HI.nullable().describe("Global filters applied to all widgets"),widgets:q.array(KI).describe("Widget definitions"),createdBy:q.string().describe("User ID who created the dashboard"),createdAt:q.string().describe("Creation timestamp"),updatedAt:q.string().describe("Last update timestamp")}),nT4=q.object({key:q.string().describe("Group key value"),value:q.number().describe("Aggregated value for this group")}),iT4=q.object({timestamp:q.string().describe("Time bucket timestamp"),value:q.number().describe("Aggregated value for this time bucket")}),yb0=q.object({widgetId:q.string().describe("Widget ID this result is for"),value:q.number().nullable().describe("Aggregated value (for metric type)"),groups:q.array(nT4).optional().describe("Grouped results (when groupBy is specified)"),timeseries:q.array(iT4).optional().describe("Timeseries data (for timeseries type)")})});var JV1;var fb0=S(()=>{k0();v1();nN();JV1=k1({name:"MONITORING_DASHBOARD_CREATE",description:"Create a new monitoring dashboard with JSONPath widgets",annotations:{title:"Create Monitoring Dashboard",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:q.object({name:q.string().min(1).describe("Dashboard name"),description:q.string().optional().describe("Dashboard description"),filters:HI.optional().describe("Global filters applied to all widgets"),widgets:q.array(KI).min(1).describe("Widget definitions (at least one required)")}),outputSchema:E$,handler:async(Y,Q)=>{let X=B0(Q),J=Q.auth.user?.id;if(!J)throw Error("User authentication required");let G=await Q.storage.monitoringDashboards.create(X.id,J,{name:Y.name,description:Y.description,filters:Y.filters,widgets:Y.widgets});return{id:G.id,organizationId:G.organizationId,name:G.name,description:G.description,filters:G.filters,widgets:G.widgets,createdBy:G.createdBy,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt,updatedAt:G.updatedAt instanceof Date?G.updatedAt.toISOString():G.updatedAt}}})});var GV1;var bb0=S(()=>{k0();v1();nN();GV1=k1({name:"MONITORING_DASHBOARD_GET",description:"Get a monitoring dashboard by ID",annotations:{title:"Get Monitoring Dashboard",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({id:q.string().describe("Dashboard ID")}),outputSchema:E$.nullable(),handler:async(Y,Q)=>{let X=B0(Q),J=await Q.storage.monitoringDashboards.get(Y.id);if(!J||J.organizationId!==X.id)return null;return{id:J.id,organizationId:J.organizationId,name:J.name,description:J.description,filters:J.filters,widgets:J.widgets,createdBy:J.createdBy,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt,updatedAt:J.updatedAt instanceof Date?J.updatedAt.toISOString():J.updatedAt}}})});var WV1;var hb0=S(()=>{k0();v1();nN();WV1=k1({name:"MONITORING_DASHBOARD_LIST",description:"List all monitoring dashboards for the organization",annotations:{title:"List Monitoring Dashboards",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({}),outputSchema:q.object({dashboards:q.array(E$).describe("List of dashboards"),total:q.number().describe("Total number of dashboards")}),handler:async(Y,Q)=>{let X=B0(Q),J=await Q.storage.monitoringDashboards.list(X.id);return{dashboards:J.map((G)=>({id:G.id,organizationId:G.organizationId,name:G.name,description:G.description,filters:G.filters,widgets:G.widgets,createdBy:G.createdBy,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt,updatedAt:G.updatedAt instanceof Date?G.updatedAt.toISOString():G.updatedAt})),total:J.length}}})});var ZV1;var xb0=S(()=>{k0();v1();nN();ZV1=k1({name:"MONITORING_DASHBOARD_UPDATE",description:"Update an existing monitoring dashboard",annotations:{title:"Update Monitoring Dashboard",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({id:q.string().describe("Dashboard ID to update"),name:q.string().optional().describe("New dashboard name"),description:q.string().nullable().optional().describe("New dashboard description"),filters:HI.nullable().optional().describe("New global filters"),widgets:q.array(KI).optional().describe("New widget definitions")}),outputSchema:E$,handler:async(Y,Q)=>{let X=B0(Q),J=await Q.storage.monitoringDashboards.get(Y.id);if(!J||J.organizationId!==X.id)throw Error(`Dashboard ${Y.id} not found`);let G={};if(Y.name!==void 0)G.name=Y.name;if(Y.description!==void 0)G.description=Y.description;if(Y.filters!==void 0)G.filters=Y.filters;if(Y.widgets!==void 0)G.widgets=Y.widgets;let K=await Q.storage.monitoringDashboards.update(Y.id,G);return{id:K.id,organizationId:K.organizationId,name:K.name,description:K.description,filters:K.filters,widgets:K.widgets,createdBy:K.createdBy,createdAt:K.createdAt instanceof Date?K.createdAt.toISOString():K.createdAt,updatedAt:K.updatedAt instanceof Date?K.updatedAt.toISOString():K.updatedAt}}})});var KV1;var gb0=S(()=>{k0();v1();KV1=k1({name:"MONITORING_DASHBOARD_DELETE",description:"Delete a monitoring dashboard",annotations:{title:"Delete Monitoring Dashboard",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({id:q.string().describe("Dashboard ID to delete")}),outputSchema:q.object({success:q.boolean().describe("Whether the deletion was successful")}),handler:async(Y,Q)=>{let X=B0(Q),J=await Q.storage.monitoringDashboards.get(Y.id);if(!J||J.organizationId!==X.id)throw Error(`Dashboard ${Y.id} not found`);return await Q.storage.monitoringDashboards.delete(Y.id),{success:!0}}})});var HV1;var ub0=S(()=>{k0();v1();nN();HV1=k1({name:"MONITORING_DASHBOARD_QUERY",description:"Execute a dashboard's widgets and return aggregated monitoring data",annotations:{title:"Query Monitoring Dashboard",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({dashboardId:q.string().describe("Dashboard ID to query"),timeRange:q.object({startDate:q.string().datetime().describe("Start of time range (ISO 8601)"),endDate:q.string().datetime().describe("End of time range (ISO 8601)")}).optional().describe("Time range for the query (defaults to last 24 hours)"),propertyFilters:q.object({properties:q.record(q.string(),q.string()).optional().describe("Exact match: property key equals value"),propertyKeys:q.array(q.string()).optional().describe("Exists: filter logs that have these property keys"),propertyPatterns:q.record(q.string(),q.string()).optional().describe("Pattern match: property value matches pattern (SQL LIKE, use % as wildcard)"),propertyInValues:q.record(q.string(),q.string()).optional().describe("In match: exact match within comma-separated values")}).optional().describe("Runtime property filters applied to all widgets (merged with dashboard-level filters)")}),outputSchema:q.object({dashboardId:q.string().describe("Dashboard ID"),results:q.array(yb0).describe("Widget query results"),timeRange:q.object({startDate:q.string(),endDate:q.string()}).describe("Time range used for the query")}),handler:async(Y,Q)=>{let X=B0(Q),J=await Q.storage.monitoringDashboards.get(Y.dashboardId);if(!J||J.organizationId!==X.id)throw Error(`Dashboard ${Y.dashboardId} not found`);let G=new Date,K=Y.timeRange?.startDate?new Date(Y.timeRange.startDate):new Date(G.getTime()-86400000),W=Y.timeRange?.endDate?new Date(Y.timeRange.endDate):G,Z=await Promise.all(J.widgets.map(async(H)=>{let F=J.filters?.propertyFilters,$=Y.propertyFilters,V=F||$?{properties:{...F,...$?.properties},propertyKeys:$?.propertyKeys,propertyPatterns:$?.propertyPatterns,propertyInValues:$?.propertyInValues}:void 0,B={connectionIds:H.filter?.connectionIds??J.filters?.connectionIds??void 0,virtualMcpIds:J.filters?.virtualMcpIds??void 0,toolNames:H.filter?.toolNames??J.filters?.toolNames??void 0,startDate:K,endDate:W,propertyFilters:V};try{let U=await Q.storage.monitoring.aggregate({organizationId:X.id,path:H.source.path,from:H.source.from,aggregation:H.aggregation.fn,groupBy:H.aggregation.groupBy,interval:H.aggregation.interval,filters:B});return{widgetId:H.id,value:U.value,groups:U.groups,timeseries:U.timeseries}}catch(U){return console.error(`Widget ${H.id} aggregation failed:`,U),{widgetId:H.id,value:null,groups:void 0,timeseries:void 0}}}));return{dashboardId:Y.dashboardId,results:Z,timeRange:{startDate:K.toISOString(),endDate:W.toISOString()}}}})});var aT4,FV1;var mb0=S(()=>{k0();v1();aT4=q.object({type:q.enum(["metric","timeseries","table"]),source:q.object({path:q.string().describe("JSONPath to extract value from"),from:q.enum(["input","output"]).describe("Extract from input or output")}),aggregation:q.object({fn:q.enum(["sum","avg","min","max","count","last"]).describe("Aggregation function"),groupBy:q.string().optional().describe("JSONPath for grouping (table)"),interval:q.string().optional().describe("Time interval for timeseries (15m, 1h, 1d)")}),filter:q.object({connectionIds:q.array(q.string()).optional(),toolNames:q.array(q.string()).optional()}).optional()}),FV1=k1({name:"MONITORING_WIDGET_PREVIEW",description:"Preview a widget aggregation without saving. Used to test queries in the dashboard editor.",annotations:{title:"Preview Monitoring Widget",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({widget:aT4.describe("Widget configuration to preview"),timeRange:q.object({startDate:q.string().datetime().describe("Start of time range (ISO 8601)"),endDate:q.string().datetime().describe("End of time range (ISO 8601)")}).optional().describe("Time range for the query (defaults to last 24 hours)"),propertyFilters:q.object({properties:q.record(q.string(),q.string()).optional().describe("Exact match: property key equals value"),propertyKeys:q.array(q.string()).optional().describe("Exists: filter logs that have these property keys"),propertyPatterns:q.record(q.string(),q.string()).optional().describe("Pattern match: property value matches pattern (SQL LIKE)"),propertyInValues:q.record(q.string(),q.string()).optional().describe("In match: exact match within comma-separated values")}).optional().describe("Property filters to apply")}),outputSchema:q.object({value:q.number().nullable().optional().describe("Aggregated value"),groups:q.array(q.object({key:q.string(),value:q.number()})).optional().describe("Grouped results for table widgets"),timeseries:q.array(q.object({timestamp:q.string(),value:q.number()})).optional().describe("Timeseries data points"),matchedRecords:q.number().describe("Number of records that matched"),timeRange:q.object({startDate:q.string(),endDate:q.string()}).describe("Time range used for the query")}),handler:async(Y,Q)=>{let X=B0(Q),{widget:J,timeRange:G}=Y,K=new Date,W=G?.startDate?new Date(G.startDate):new Date(K.getTime()-86400000),Z=G?.endDate?new Date(G.endDate):K,H={connectionIds:J.filter?.connectionIds,toolNames:J.filter?.toolNames,startDate:W,endDate:Z,propertyFilters:Y.propertyFilters};try{let F=await Q.storage.monitoring.countMatched({organizationId:X.id,path:J.source.path,from:J.source.from,filters:H}),$=await Q.storage.monitoring.aggregate({organizationId:X.id,path:J.source.path,from:J.source.from,aggregation:J.aggregation.fn,groupBy:J.aggregation.groupBy,interval:J.aggregation.interval,filters:H});return{value:$.value,groups:$.groups,timeseries:$.timeseries,matchedRecords:F,timeRange:{startDate:W.toISOString(),endDate:Z.toISOString()}}}catch(F){return console.error("Widget preview aggregation failed:",F),{value:null,matchedRecords:0,timeRange:{startDate:W.toISOString(),endDate:Z.toISOString()}}}}})});var lb0=S(()=>{fb0();bb0();hb0();xb0();gb0();ub0();mb0()});var $V1;var db0=S(()=>{v1();k0();$V1=k1({name:"ORGANIZATION_CREATE",description:"Create a new organization",annotations:{title:"Create Organization",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:q.object({slug:q.string().min(1).max(50).regex(/^[a-z0-9-]+$/,"Slug must be lowercase alphanumeric with hyphens"),name:q.string().min(1).max(255),description:q.string().optional()}),outputSchema:q.object({id:q.string(),name:q.string(),slug:q.string(),logo:q.string().nullable().optional(),metadata:q.any().optional(),createdAt:q.string().datetime().describe("ISO 8601 timestamp"),members:q.array(q.any()).optional()}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=D9(Q);if(!X)throw Error("User ID required to create organization");let J=await Q.boundAuth.organization.create({name:Y.name,slug:Y.slug,metadata:Y.description?{description:Y.description}:void 0,userId:X});if(!J)throw Error("Failed to create organization");return{...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt}}})});var VV1;var pb0=S(()=>{v1();k0();VV1=k1({name:"ORGANIZATION_LIST",description:"List all organizations user has access to",annotations:{title:"List Organizations",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({userId:q.string().optional()}),outputSchema:q.object({organizations:q.array(q.object({id:q.string(),name:q.string(),slug:q.string(),logo:q.string().nullable().optional(),metadata:q.any().optional(),createdAt:q.string().datetime().describe("ISO 8601 timestamp")}))}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=D9(Q),J=Y.userId||X;if(!J)throw Error("User ID required to list organizations");return{organizations:(await Q.boundAuth.organization.list(J)).map((K)=>({...K,createdAt:K.createdAt instanceof Date?K.createdAt.toISOString():K.createdAt}))}}})});var qV1;var cb0=S(()=>{v1();k0();qV1=k1({name:"ORGANIZATION_GET",description:"Get organization details by slug or ID",annotations:{title:"Get Organization",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({}),outputSchema:q.object({id:q.string(),name:q.string(),slug:q.string(),logo:q.string().nullable().optional(),metadata:q.any().optional(),createdAt:q.string().datetime().describe("ISO 8601 timestamp"),members:q.array(q.any()).optional(),invitations:q.array(q.any()).optional()}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=await Q.boundAuth.organization.get();if(!X)throw Error("No active organization found");let J=new Date,G=X.invitations?.filter((K)=>new Date(K.expiresAt)>J);return{...X,invitations:G,createdAt:X.createdAt instanceof Date?X.createdAt.toISOString():X.createdAt}}})});var BV1;var nb0=S(()=>{v1();k0();BV1=k1({name:"ORGANIZATION_UPDATE",description:"Update an existing organization",annotations:{title:"Update Organization",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({id:q.string(),slug:q.string().min(1).max(50).regex(/^[a-z0-9-]+$/).optional(),name:q.string().min(1).max(255).optional(),description:q.string().optional()}),outputSchema:q.object({id:q.string(),name:q.string(),slug:q.string(),logo:q.string().nullable().optional(),metadata:q.any().optional(),createdAt:q.string().datetime().describe("ISO 8601 timestamp")}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X={};if(Y.name)X.name=Y.name;if(Y.slug)X.slug=Y.slug;if(Y.description)X.metadata={description:Y.description};let J=await Q.boundAuth.organization.update({organizationId:Y.id,data:X});if(!J)throw Error("Failed to update organization");return{...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt}}})});var UV1;var ib0=S(()=>{v1();k0();UV1=k1({name:"ORGANIZATION_DELETE",description:"Delete an organization",annotations:{title:"Delete Organization",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({id:q.string()}),outputSchema:q.object({success:q.boolean(),id:q.string()}),handler:async(Y,Q)=>{return o1(Q),await Q.access.check(),await Q.boundAuth.organization.delete(Y.id),{success:!0,id:Y.id}}})});var FI;var zV1=S(()=>{v1();FI=q.object({title:q.string(),url:q.string(),icon:q.string()})});var DV1;var ab0=S(()=>{v1();k0();zV1();DV1=k1({name:"ORGANIZATION_SETTINGS_GET",description:"Get organization-level settings",annotations:{title:"Get Organization Settings",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({}),outputSchema:q.object({organizationId:q.string(),sidebar_items:q.array(FI).nullable().optional(),enabled_plugins:q.array(q.string()).nullable().optional(),createdAt:q.string().datetime().optional().describe("ISO 8601 timestamp"),updatedAt:q.string().datetime().optional().describe("ISO 8601 timestamp")}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=Q.organization?.id;if(!X)throw Error("Organization ID required (no active organization in context)");let J=await Q.storage.organizationSettings.get(X);if(!J)return{organizationId:X};return{...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt,updatedAt:J.updatedAt instanceof Date?J.updatedAt.toISOString():J.updatedAt}}})});var OV1;var rb0=S(()=>{v1();k0();zV1();OV1=k1({name:"ORGANIZATION_SETTINGS_UPDATE",description:"Update organization-level settings",annotations:{title:"Update Organization Settings",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({organizationId:q.string(),sidebar_items:q.array(FI).optional(),enabled_plugins:q.array(q.string()).optional()}),outputSchema:q.object({organizationId:q.string(),sidebar_items:q.array(FI).nullable().optional(),enabled_plugins:q.array(q.string()).nullable().optional(),createdAt:q.string().datetime().describe("ISO 8601 timestamp"),updatedAt:q.string().datetime().describe("ISO 8601 timestamp")}),handler:async(Y,Q)=>{if(o1(Q),await Q.access.check(),Q.organization&&Q.organization.id!==Y.organizationId)throw Error("Cannot update settings for a different organization");let X=await Q.storage.organizationSettings.upsert(Y.organizationId,{sidebar_items:Y.sidebar_items,enabled_plugins:Y.enabled_plugins});return{...X,createdAt:X.createdAt instanceof Date?X.createdAt.toISOString():X.createdAt,updatedAt:X.updatedAt instanceof Date?X.updatedAt.toISOString():X.updatedAt}}})});var LV1;var ob0=S(()=>{v1();k0();LV1=k1({name:"ORGANIZATION_MEMBER_ADD",description:"Add a member to an organization",annotations:{title:"Add Organization Member",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({organizationId:q.string().optional(),userId:q.string(),role:q.array(q.string())}),outputSchema:q.object({id:q.string(),organizationId:q.string(),userId:q.string(),role:q.union([q.string(),q.array(q.string())]),createdAt:q.string().datetime().describe("ISO 8601 timestamp")}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=Y.organizationId||Q.organization?.id;if(!X)throw Error("Organization ID required (no active organization in context)");if(X!==Q.organization?.id)throw Error("Organization ID does not match authenticated organization");let J=await Q.boundAuth.organization.addMember({organizationId:X,userId:Y.userId,role:Y.role});if(!J)throw Error("Failed to add member");return{...J,role:J.role,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt}}})});var NV1;var sb0=S(()=>{v1();k0();NV1=k1({name:"ORGANIZATION_MEMBER_REMOVE",description:"Remove a member from an organization",annotations:{title:"Remove Organization Member",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({organizationId:q.string().optional(),memberIdOrEmail:q.string()}),outputSchema:q.object({success:q.boolean(),memberIdOrEmail:q.string()}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=Y.organizationId||Q.organization?.id;if(!X)throw Error("Organization ID required (no active organization in context)");return await Q.boundAuth.organization.removeMember({organizationId:X,memberIdOrEmail:Y.memberIdOrEmail}),{success:!0,memberIdOrEmail:Y.memberIdOrEmail}}})});var MV1;var tb0=S(()=>{v1();k0();MV1=k1({name:"ORGANIZATION_MEMBER_LIST",description:"List all members in an organization",annotations:{title:"List Organization Members",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({limit:q.number().optional(),offset:q.number().optional()}),outputSchema:q.object({members:q.array(q.object({id:q.string(),organizationId:q.string(),userId:q.string(),role:q.string(),createdAt:q.string().datetime().describe("ISO 8601 timestamp"),user:q.object({id:q.string(),name:q.string(),email:q.string(),image:q.string().optional()}).optional()}))}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=Q.organization?.id;if(!X)throw Error("Organization ID required (no active organization in context)");let J=await Q.boundAuth.organization.listMembers({organizationId:X,limit:Y.limit,offset:Y.offset});return{members:(Array.isArray(J)?J:[]).map((K)=>({...K,createdAt:K.createdAt instanceof Date?K.createdAt.toISOString():K.createdAt}))}}})});var wV1;var eb0=S(()=>{v1();k0();wV1=k1({name:"ORGANIZATION_MEMBER_UPDATE_ROLE",description:"Update a member's role in an organization",annotations:{title:"Update Member Role",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({organizationId:q.string().optional(),memberId:q.string(),role:q.array(q.string())}),outputSchema:q.object({id:q.string(),organizationId:q.string(),userId:q.string(),role:q.union([q.literal("admin"),q.literal("member"),q.literal("owner")]),createdAt:q.string().datetime().describe("ISO 8601 timestamp"),user:q.object({email:q.string(),name:q.string(),image:q.string().optional()})}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=Y.organizationId||Q.organization?.id;if(!X)throw Error("Organization ID required (no active organization in context)");let J=await Q.boundAuth.organization.updateMemberRole({organizationId:X,memberId:Y.memberId,role:Y.role});if(!J)throw Error("Failed to update member role");return{...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt}}})});var Yh0=S(()=>{db0();pb0();cb0();nb0();ib0();ab0();rb0();ob0();sb0();tb0();eb0()});var sT4,Pp,tT4,ZU,Qh0,Ep;var KU=S(()=>{v1();sT4=q.object({banner:q.string().nullable(),bannerColor:q.string().nullable(),icon:q.string().nullable(),themeColor:q.string().nullable()}),Pp=q.object({banner:q.string().nullable().optional(),bannerColor:q.string().nullable().optional(),icon:q.string().nullable().optional(),themeColor:q.string().nullable().optional()}),tT4=q.object({id:q.string(),title:q.string(),icon:q.string().nullable()}),ZU=q.object({id:q.string(),organizationId:q.string(),slug:q.string(),name:q.string(),description:q.string().nullable(),enabledPlugins:q.array(q.string()).nullable(),ui:sT4.nullable(),createdAt:q.string().datetime().describe("ISO 8601 timestamp"),updatedAt:q.string().datetime().describe("ISO 8601 timestamp")}),Qh0=ZU.omit({organizationId:!0}).extend({boundConnections:q.array(tT4)}),Ep=q.object({id:q.string(),projectId:q.string(),pluginId:q.string(),connectionId:q.string().nullable(),settings:q.record(q.string(),q.unknown()).nullable(),createdAt:q.string().datetime().describe("ISO 8601 timestamp"),updatedAt:q.string().datetime().describe("ISO 8601 timestamp")})});var AV1;var Xh0=S(()=>{v1();k0();KU();AV1=k1({name:"PROJECT_LIST",description:"List all projects in an organization",annotations:{title:"List Projects",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({organizationId:q.string().describe("Organization ID to list projects for")}),outputSchema:q.object({projects:q.array(Qh0)}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=await Q.storage.projects.list(Y.organizationId),J=X.map((K)=>K.id),G=await Q.storage.projectPluginConfigs.getBoundConnectionsForProjects(J);return{projects:X.map((K)=>({id:K.id,slug:K.slug,name:K.name,description:K.description,enabledPlugins:K.enabledPlugins,ui:K.ui,boundConnections:G.get(K.id)??[],createdAt:K.createdAt instanceof Date?K.createdAt.toISOString():K.createdAt,updatedAt:K.updatedAt instanceof Date?K.updatedAt.toISOString():K.updatedAt}))}}})});var PV1;var Jh0=S(()=>{v1();k0();KU();PV1=k1({name:"PROJECT_GET",description:"Get a project by ID or slug",annotations:{title:"Get Project",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({organizationId:q.string().describe("Organization ID"),projectId:q.string().optional().describe("Project ID (either this or slug required)"),slug:q.string().optional().describe("Project slug (either this or projectId required)")}).refine((Y)=>Y.projectId||Y.slug,{message:"Either projectId or slug must be provided"}),outputSchema:q.object({project:ZU.nullable()}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=null;if(Y.projectId)X=await Q.storage.projects.get(Y.projectId);else if(Y.slug)X=await Q.storage.projects.getBySlug(Y.organizationId,Y.slug);if(!X)return{project:null};return{project:{id:X.id,organizationId:X.organizationId,slug:X.slug,name:X.name,description:X.description,enabledPlugins:X.enabledPlugins,ui:X.ui,createdAt:X.createdAt instanceof Date?X.createdAt.toISOString():X.createdAt,updatedAt:X.updatedAt instanceof Date?X.updatedAt.toISOString():X.updatedAt}}}})});var EV1;var Gh0=S(()=>{v1();zY();k0();KU();EV1=k1({name:"PROJECT_CREATE",description:"Create a new project in an organization",annotations:{title:"Create Project",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:q.object({organizationId:q.string().describe("Organization ID"),slug:q.string().min(1).max(100).regex(/^[a-z0-9-]+$/,"Slug must be lowercase alphanumeric with hyphens").describe("URL-friendly identifier"),name:q.string().min(1).max(200).describe("Display name"),description:q.string().max(1000).nullable().optional().describe("Project description"),enabledPlugins:q.array(q.string()).nullable().optional().describe("Plugin IDs to enable"),ui:Pp.nullable().optional().describe("UI customization")}),outputSchema:q.object({project:ZU}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let{organizationId:X,slug:J,name:G,description:K,enabledPlugins:W,ui:Z}=Y;if(J===n7)throw Error(`Slug "${n7}" is reserved`);if(await Q.storage.projects.getBySlug(X,J))throw Error(`Project with slug "${J}" already exists in this organization`);let F=Z?{banner:Z.banner??null,bannerColor:Z.bannerColor??null,icon:Z.icon??null,themeColor:Z.themeColor??null}:null,$=await Q.storage.projects.create({organizationId:X,slug:J,name:G,description:K??null,enabledPlugins:W??null,ui:F});return{project:{id:$.id,organizationId:$.organizationId,slug:$.slug,name:$.name,description:$.description,enabledPlugins:$.enabledPlugins,ui:$.ui,createdAt:$.createdAt instanceof Date?$.createdAt.toISOString():$.createdAt,updatedAt:$.updatedAt instanceof Date?$.updatedAt.toISOString():$.updatedAt}}}})});var TV1;var Wh0=S(()=>{v1();k0();KU();TV1=k1({name:"PROJECT_UPDATE",description:"Update a project's details",annotations:{title:"Update Project",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({projectId:q.string().describe("Project ID to update"),name:q.string().min(1).max(200).optional().describe("New display name"),description:q.string().max(1000).nullable().optional().describe("New description"),enabledPlugins:q.array(q.string()).nullable().optional().describe("Updated plugin IDs"),ui:Pp.nullable().optional().describe("Updated UI customization")}),outputSchema:q.object({project:ZU.nullable()}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let{projectId:X,name:J,description:G,enabledPlugins:K,ui:W}=Y,Z={};if(J!==void 0)Z.name=J;if(G!==void 0)Z.description=G;if(K!==void 0)Z.enabledPlugins=K;if(W!==void 0)Z.ui=W?{banner:W.banner??null,bannerColor:W.bannerColor??null,icon:W.icon??null,themeColor:W.themeColor??null}:null;let H=await Q.storage.projects.update(X,Z);if(!H)return{project:null};return{project:{id:H.id,organizationId:H.organizationId,slug:H.slug,name:H.name,description:H.description,enabledPlugins:H.enabledPlugins,ui:H.ui,createdAt:H.createdAt instanceof Date?H.createdAt.toISOString():H.createdAt,updatedAt:H.updatedAt instanceof Date?H.updatedAt.toISOString():H.updatedAt}}}})});var CV1;var Zh0=S(()=>{v1();zY();k0();CV1=k1({name:"PROJECT_DELETE",description:"Delete a project (cannot delete org-admin)",annotations:{title:"Delete Project",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({projectId:q.string().describe("Project ID to delete")}),outputSchema:q.object({success:q.boolean(),message:q.string().optional()}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let{projectId:X}=Y,J=await Q.storage.projects.get(X);if(!J)return{success:!1,message:"Project not found"};if(J.slug===n7)return{success:!1,message:"Cannot delete the org-admin project"};return{success:await Q.storage.projects.delete(X)}}})});var RV1;var Kh0=S(()=>{v1();k0();KU();RV1=k1({name:"PROJECT_PLUGIN_CONFIG_GET",description:"Get plugin configuration for a project",annotations:{title:"Get Project Plugin Config",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({projectId:q.string().describe("Project ID"),pluginId:q.string().describe("Plugin ID")}),outputSchema:q.object({config:Ep.nullable()}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let{projectId:X,pluginId:J}=Y,G=await Q.storage.projectPluginConfigs.get(X,J);if(!G)return{config:null};return{config:{id:G.id,projectId:G.projectId,pluginId:G.pluginId,connectionId:G.connectionId,settings:G.settings,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt,updatedAt:G.updatedAt instanceof Date?G.updatedAt.toISOString():G.updatedAt}}}})});var IV1;var Hh0=S(()=>{v1();k0();KU();Dp();IV1=k1({name:"PROJECT_PLUGIN_CONFIG_UPDATE",description:"Update or create plugin configuration for a project",annotations:{title:"Update Project Plugin Config",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({projectId:q.string().describe("Project ID"),pluginId:q.string().describe("Plugin ID"),connectionId:q.string().nullable().optional().describe("MCP connection to bind"),settings:q.record(q.string(),q.unknown()).nullable().optional().describe("Plugin-specific settings")}),outputSchema:q.object({config:Ep}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let{projectId:X,pluginId:J,connectionId:G,settings:K}=Y,W=D9(Q),Z=await Q.storage.projects.get(X);if(!Z)throw Error(`Project not found: ${X}`);let H=G?await Q.storage.connections.findById(G):null;if(G&&Z.organizationId&&!H&&gN()){if(zp(G,Z.organizationId)){if(!W)throw Error("User ID required to create dev-assets connection");let $=uN(Z.organizationId,AG());await Q.storage.connections.create({...$,organization_id:Z.organizationId,created_by:W})}}let F=await Q.storage.projectPluginConfigs.upsert(X,J,{connectionId:G,settings:K});return{config:{id:F.id,projectId:F.projectId,pluginId:F.pluginId,connectionId:F.connectionId,settings:F.settings,createdAt:F.createdAt instanceof Date?F.createdAt.toISOString():F.createdAt,updatedAt:F.updatedAt instanceof Date?F.updatedAt.toISOString():F.updatedAt}}}})});var Fh0=S(()=>{Xh0();Jh0();Gh0();Wh0();Zh0();Kh0();Hh0()});var jV1;var $h0=S(()=>{v1();k0();jV1=k1({name:"TAGS_LIST",description:"List all tags in an organization",annotations:{title:"List Tags",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({}),outputSchema:q.object({tags:q.array(q.object({id:q.string(),organizationId:q.string(),name:q.string(),createdAt:q.string().describe("ISO 8601 timestamp")}))}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=B0(Q);return{tags:(await Q.storage.tags.listOrgTags(X.id)).map((G)=>({...G,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():String(G.createdAt)}))}}})});var SV1;var Vh0=S(()=>{v1();k0();SV1=k1({name:"TAGS_CREATE",description:"Create a new tag in an organization",annotations:{title:"Create Tag",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:q.object({name:q.string().min(1).max(50).describe("Tag name")}),outputSchema:q.object({tag:q.object({id:q.string(),organizationId:q.string(),name:q.string(),createdAt:q.string().describe("ISO 8601 timestamp")})}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=B0(Q),J=await Q.storage.tags.createTag(X.id,Y.name);return{tag:{...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():String(J.createdAt)}}}})});var _V1;var qh0=S(()=>{v1();k0();_V1=k1({name:"TAGS_DELETE",description:"Delete a tag from an organization (removes from all members)",annotations:{title:"Delete Tag",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({tagId:q.string().describe("Tag ID to delete")}),outputSchema:q.object({success:q.boolean()}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=B0(Q),J=await Q.storage.tags.getTag(Y.tagId);if(!J)throw Error("Tag not found");if(J.organizationId!==X.id)throw Error("Tag does not belong to this organization");return await Q.storage.tags.deleteTag(Y.tagId),{success:!0}}})});var vV1;var Bh0=S(()=>{v1();k0();vV1=k1({name:"MEMBER_TAGS_GET",description:"Get tags assigned to a member",annotations:{title:"Get Member Tags",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({memberId:q.string().describe("Member ID")}),outputSchema:q.object({tags:q.array(q.object({id:q.string(),organizationId:q.string(),name:q.string(),createdAt:q.string().describe("ISO 8601 timestamp")}))}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=B0(Q);if(!await Q.storage.tags.verifyMemberOrg(Y.memberId,X.id))throw Error(`Member not found in this organization: ${Y.memberId}`);return{tags:(await Q.storage.tags.getMemberTags(Y.memberId)).map((K)=>({...K,createdAt:K.createdAt instanceof Date?K.createdAt.toISOString():String(K.createdAt)}))}}})});var kV1;var Uh0=S(()=>{v1();k0();kV1=k1({name:"MEMBER_TAGS_SET",description:"Set tags for a member (replaces all existing tags)",annotations:{title:"Set Member Tags",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({memberId:q.string().describe("Member ID"),tagIds:q.array(q.string()).describe("Array of tag IDs to assign")}),outputSchema:q.object({success:q.boolean(),tags:q.array(q.object({id:q.string(),organizationId:q.string(),name:q.string(),createdAt:q.string().describe("ISO 8601 timestamp")}))}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=B0(Q);if(!await Q.storage.tags.verifyMemberOrg(Y.memberId,X.id))throw Error(`Member not found in this organization: ${Y.memberId}`);for(let K of Y.tagIds){let W=await Q.storage.tags.getTag(K);if(!W)throw Error(`Tag not found: ${K}`);if(W.organizationId!==X.id)throw Error(`Tag does not belong to this organization: ${K}`)}return await Q.storage.tags.setMemberTags(Y.memberId,Y.tagIds),{success:!0,tags:(await Q.storage.tags.getMemberTags(Y.memberId)).map((K)=>({...K,createdAt:K.createdAt instanceof Date?K.createdAt.toISOString():String(K.createdAt)}))}}})});var zh0=S(()=>{$h0();Vh0();qh0();Bh0();Uh0()});var Dh0=S(()=>{zY()});var Oh0,cZ,Lh0,Nh0;var HU=S(()=>{v1();Dh0();Oh0=q.object({id:q.string().describe("Unique message ID"),thread_id:q.string().describe("ID of the parent thread"),metadata:q.unknown().optional().describe("Optional message metadata"),parts:q.array(q.record(q.string(),q.unknown())).describe("Message content parts (AI SDK UIMessagePart format)"),role:q.enum(["user","assistant","system"]).describe("Message role"),created_at:q.string().datetime().describe("Timestamp of creation"),updated_at:q.string().datetime().describe("Timestamp of last update")}),cZ=q.object({id:q.string().describe("Unique thread ID"),organization_id:q.string().describe("Organization this thread belongs to"),title:q.string().describe("Thread title"),description:q.string().nullable().describe("Thread description"),created_at:q.string().datetime().describe("Timestamp of creation"),updated_at:q.string().datetime().describe("Timestamp of last update"),hidden:q.boolean().optional().describe("Whether the thread is hidden"),status:q.enum([...Sz,"expired"]).describe("Thread execution status. 'expired' is virtual -- computed at read time for stale in_progress threads"),created_by:q.string().describe("User ID who created the thread"),updated_by:q.string().nullable().describe("User ID who last updated the thread")}),Lh0=q.object({id:q.string().optional().describe("Optional custom ID for the thread"),title:q.string().describe("Thread title"),description:q.string().nullish().describe("Thread description")}),Nh0=q.object({title:q.string().optional().describe("New thread title"),description:q.string().nullish().describe("New thread description"),hidden:q.boolean().optional().describe("Whether the thread is hidden")})});var QC4,XC4,yV1;var Mh0=S(()=>{v1();k0();HU();DC();QC4=q.object({data:Lh0.describe("Data for the new thread (id is auto-generated if not provided)")}),XC4=q.object({item:cZ.describe("The created thread entity")}),yV1=k1({name:"COLLECTION_THREADS_CREATE",description:"Create a new thread in the organization",annotations:{title:"Create Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:QC4,outputSchema:XC4,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=D9(Q);if(!J)throw Error("User ID required to create thread");let G=Y.data.id??Y$("thrd"),K=await Q.storage.threads.create({id:G,organization_id:X.id,title:Y.data.title,description:Y.data.description,created_by:J});return{item:{...K,hidden:K.hidden??!1}}}})});function T$(Y,Q=Date.now()){let X=Y.status;if(X==="in_progress"){let J=new Date(Y.updated_at).getTime();if(!Number.isFinite(J)||Q-J>1800000)X="expired"}return{...Y,status:X,hidden:Y.hidden??!1}}var JC4,GC4,fV1;var wh0=S(()=>{gX();k0();HU();v1();JC4=dG.extend({where:q.object({created_by:q.string().optional()}).optional()}),GC4=M3(cZ),fV1=k1({name:"COLLECTION_THREADS_LIST",description:"List all threads in the organization with filtering, sorting, and pagination",annotations:{title:"List Threads",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:JC4,outputSchema:GC4,handler:async(Y,Q)=>{await Q.access.check();let X=Q.auth.user?.id;if(!X)throw Error("User ID required to list threads");let J=B0(Q),G=Y.offset??0,K=Y.limit??100,{threads:W,total:Z}=await Q.storage.threads.list(J.id,X,{limit:K,offset:G}),H=G+K<Z,F=Date.now();return{items:W.map(($)=>T$($,F)),totalCount:Z,hasMore:H}}})});var WC4,bV1;var Ah0=S(()=>{gX();k0();HU();WC4=TC(cZ),bV1=k1({name:"COLLECTION_THREADS_GET",description:"Get thread details by ID",annotations:{title:"Get Thread",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:EC,outputSchema:WC4,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=await Q.storage.threads.get(Y.id);if(!J||J.organization_id!==X.id)return{item:null};return{item:T$(J)}}})});var ZC4,KC4,hV1;var Ph0=S(()=>{v1();k0();HU();ZC4=q.object({id:q.string().describe("ID of the thread to update"),data:Nh0.describe("Partial thread data to update")}),KC4=q.object({item:cZ.describe("The updated thread entity")}),hV1=k1({name:"COLLECTION_THREADS_UPDATE",description:"Update an existing thread in the organization",annotations:{title:"Update Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:ZC4,outputSchema:KC4,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=D9(Q);if(!J)throw Error("User ID required to update thread");let{id:G,data:K}=Y,W=await Q.storage.threads.get(G);if(!W||W.organization_id!==X.id)throw Error("Thread not found in organization");let Z=await Q.storage.threads.update(G,{title:K.title,description:K.description,hidden:K.hidden,updated_by:J});return{item:T$(Z)}}})});var xV1;var Eh0=S(()=>{gX();k0();HU();xV1=k1({name:"COLLECTION_THREADS_DELETE",description:"Delete a thread",annotations:{title:"Delete Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:CC,outputSchema:RC(cZ),handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=await Q.storage.threads.get(Y.id);if(!J)throw Error(`Thread not found: ${Y.id}`);if(J.organization_id!==X.id)throw Error(`Thread not found: ${Y.id}`);return await Q.storage.threads.delete(Y.id),{item:T$(J)}}})});function Th0(Y){if(!Y)return null;if("field"in Y&&Y.field[0]==="thread_id"&&Y.operator==="eq")return String(Y.value);if("conditions"in Y)for(let Q of Y.conditions){let X=Th0(Q);if(X)return X}return null}var HC4,gV1;var Ch0=S(()=>{gX();k0();HU();HC4=M3(Oh0),gV1=k1({name:"COLLECTION_THREAD_MESSAGES_LIST",description:"List all messages for a specific thread",annotations:{title:"List Thread Messages",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:dG,outputSchema:HC4,handler:async(Y,Q)=>{let X=B0(Q);await Q.access.check();let J=Th0(Y.where);if(!J)throw Error("thread_id filter is required in where clause");let G=await Q.storage.threads.get(J);if(!G||G.organization_id!==X.id)return{items:[],totalCount:0,hasMore:!1};let K=Y.offset??0,W=Y.limit??100,{messages:Z,total:H}=await Q.storage.threads.listMessages(J,{limit:W,offset:K}),F=K+W<H;return{items:Z,totalCount:H,hasMore:F}}})});var Rh0=S(()=>{Mh0();wh0();Ah0();Ph0();Eh0();Ch0()});var $C4,VC4,uV1;var Ih0=S(()=>{v1();k0();$C4=q.object({id:q.string().min(1)}),VC4=q.object({user:q.object({id:q.string(),name:q.string(),email:q.string(),image:q.string().nullable()}).nullable()}),uV1=k1({name:"USER_GET",description:"Get a user by id (restricted to shared organizations)",annotations:{title:"Get User",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:$C4,outputSchema:VC4,handler:async(Y,Q)=>{await Q.access.check(),o1(Q);let X=D9(Q);if(!X)throw Error("Authentication required");let J=await Q.storage.users.findById(Y.id,X);if(!J)return{user:null};return{user:{id:J.id,name:J.name,email:J.email,image:J.image??null}}}})});var jh0=S(()=>{Ih0()});var _h0={};t0(_h0,{managementMCP:()=>zC4,ALL_TOOLS:()=>Sh0});var BC4,UC4,Sh0,zC4=async(Y)=>{let Q=null;if(Y.organization){let G=await Y.storage.organizationSettings.get(Y.organization.id),K=await Y.storage.projects.list(Y.organization.id),W=new Set(G?.enabled_plugins??[]);for(let Z of K)if(Z.enabledPlugins)for(let H of Z.enabledPlugins)W.add(H);Q=W.size>0?[...W]:null}let X=Py0(Sh0,Q),J=new _z({name:"mcp-mesh-management",version:"1.0.0"},{capabilities:{tools:{}}});for(let G of X){let K=G.inputSchema&&typeof G.inputSchema==="object"&&"shape"in G.inputSchema?G.inputSchema:q.object({}),W=G.outputSchema&&typeof G.outputSchema==="object"&&"shape"in G.outputSchema?G.outputSchema:void 0,Z=K.shape,H=W?.shape;J.registerTool(G.name,{description:G.description??"",inputSchema:Z,outputSchema:H,annotations:G.annotations},async(F)=>{Y.access.setToolName(G.name);try{let $=await G.execute(F,Y);return{content:[{type:"text",text:JSON.stringify($)}],structuredContent:$}}catch($){return{content:[{type:"text",text:`Error: ${$.message}`}],isError:!0}}})}return J};var vh0=S(()=>{eF1();Ck();v1();gy0();Zf0();Jb0();Kb0();Ob0();Eb0();Sb0();kb0();lb0();Yh0();Fh0();zh0();Rh0();jh0();BC4=[$V1,VV1,qV1,BV1,UV1,DV1,OV1,LV1,NV1,MV1,wV1,F$1,q$1,B$1,y$1,f$1,b$1,p$1,n$1,i$1,a$1,r$1,o$1,s$1,t$1,e$1,YV1,Zb0,QV1,XV1,JV1,GV1,WV1,ZV1,KV1,HV1,FV1,Q$1,J$1,G$1,X$1,h$1,x$1,g$1,u$1,m$1,l$1,d$1,uV1,Z$1,K$1,H$1,yV1,fV1,bV1,hV1,xV1,gV1,jV1,SV1,_V1,vV1,kV1,AV1,PV1,EV1,TV1,CV1,RV1,IV1],UC4=Ey0(),Sh0=[...BC4,...UC4]});function DC4(Y){return[{permissions:{self:["*"]},getTools:async()=>{let{ALL_TOOLS:Q}=await Promise.resolve().then(() => (vh0(),_h0));return Q.map((X)=>{return{name:X.name,inputSchema:q.toJSONSchema(X.inputSchema,{unrepresentable:"any"}),outputSchema:X.outputSchema?q.toJSONSchema(X.outputSchema,{unrepresentable:"any"}):void 0,description:X.description}})},data:Ut(AG(),Y)},{data:Bt()},{data:qt(Y)}]}async function kh0(Y,Q){try{let X=qC(),J=new LZ1(process.env.ENCRYPTION_KEY||""),G=new NZ1(X.db,J),K=new MZ1(X.db),W=DC4(Y);try{await K.create({organizationId:Y,slug:n7,name:LU,description:"Organization administration and settings",enabledPlugins:null,ui:null})}catch(Z){console.warn("Could not create org-admin project (may already exist):",Z)}await Promise.all(W.map(async(Z)=>{let H=null;if(Z.permissions)H=(await iN.api.createApiKey({body:{name:`${Z.data.app_name??crypto.randomUUID()}-mcp`,userId:Q,permissions:Z.permissions,rateLimitEnabled:!1,metadata:{organization:{id:Y},purpose:"default-org-connections"}}}))?.key;let F=await iL({id:"pending",title:Z.data.title,connection_type:Z.data.connection_type,connection_url:Z.data.connection_url,connection_token:Z.data.connection_token,connection_headers:Z.data.connection_headers}).catch(()=>null),$=await Z.getTools?.()??F?.tools??null,V=F?.scopes?.length?F.scopes:null,B=Z.data.id?Z.data.id.startsWith(`${Y}_`)?Z.data.id:`${Y}_${Z.data.id}`:void 0;await G.create({...Z.data,id:B,tools:$,configuration_scopes:V,organization_id:Y,created_by:Q,connection_token:Z.data.connection_token??H})}))}catch(X){console.error("Error creating default MCP connections:",X)}}var yh0=S(()=>{zY();xm();NM0();MM0();wM0();pm();v1();Np()});var fh0;var bh0=S(()=>{fh0=["owner","admin"]});var OC4=(Y)=>{return{defaultSSO:[{domain:Y.domain,providerId:Y.providerId,oidcConfig:{issuer:`https://login.microsoftonline.com/${Y.MS_TENANT_ID}/v2.0`,pkce:!0,clientId:Y.MS_CLIENT_ID,clientSecret:Y.MS_CLIENT_SECRET,discoveryEndpoint:`https://login.microsoftonline.com/${Y.MS_TENANT_ID}/v2.0/.well-known/openid-configuration`,authorizationEndpoint:`https://login.microsoftonline.com/${Y.MS_TENANT_ID}/oauth2/v2.0/authorize`,tokenEndpoint:`https://login.microsoftonline.com/${Y.MS_TENANT_ID}/oauth2/v2.0/token`,jwksEndpoint:`https://login.microsoftonline.com/${Y.MS_TENANT_ID}/discovery/v2.0/keys`,userInfoEndpoint:"https://graph.microsoft.com/oidc/userinfo",tokenEndpointAuthentication:"client_secret_post",scopes:Y.scopes,mapping:{id:"sub",email:"email",emailVerified:"email_verified",name:"name",image:"picture",extraFields:{emailVerified:"email_verified"}}}}]}},hh0=(Y)=>{if(Y.providerId==="microsoft")return OC4(Y);throw Error(`Unsupported provider: ${Y.providerId}`)};function LC4(Y){return Y.toLowerCase().trim().replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function NC4(){let Y=Math.floor(Math.random()*gh0.length),Q=Math.floor(Math.random()*xh0.length),X=gh0[Y]??"deco",J=xh0[Q]??"studio";return`${X}-${J}`}function jC4(){let Y=[$I],Q=new URL($I);if(Q.hostname==="localhost")Y.push($I.replace("localhost","127.0.0.1"));else if(Q.hostname==="127.0.0.1")Y.push($I.replace("127.0.0.1","localhost"));return Y}var xh0,gh0,MC4,wC4,Tp,AC4,PC4,EC4,uh0,t9,mh0=void 0,mV1=void 0,TC4=!1,CC4,RC4,IC4,$I,iN;var Np=S(()=>{D21();xk1();Ef1();c41();Db1();Ob1();gh();Pb1();xm();OZ1();UM0();yh0();bh0();xh0=["labs","agent","studio","workspace","systems","core","cloud","works"],gh0=["capybara","guarana","deco","samba","feijoada","capoeira","carnival"];MC4=Object.values(G11()).map((Y)=>Y.map((Q)=>Q.name)).flat(),wC4={...wh,self:["*",...MC4]},Tp=WZ(wC4),AC4=Tp.newRole({self:["*"],...u2.statements}),PC4=Tp.newRole({self:["*"],...u2.statements}),EC4=Tp.newRole({self:["*"],...u2.statements}),uh0=Object.values(G11()).map((Y)=>Y.map((Q)=>`self:${Q.name}`)).flat(),t9=hh.auth;if(t9.inviteEmailProviderId&&t9.emailProviders&&t9.emailProviders.length>0){let Y=UC(t9.emailProviders,t9.inviteEmailProviderId);if(Y){let Q=BC(Y);mh0=async(X)=>{let J=X.inviter.user?.name||X.inviter.user?.email,G=`${AG()}/auth/accept-invitation?invitationId=${X.invitation.id}&redirectTo=/`;await Q({to:X.email,subject:`Invitation to join ${X.organization.name}`,html:`
|
|
1479
|
+
`.execute(Y)).rows[0]?.exists)await S4`CREATE ROLE ${S4.id(X)} NOLOGIN`.execute(Y);await S4`GRANT ${S4.id(X)} TO CURRENT_USER`.execute(Y),await S4`GRANT USAGE, CREATE ON SCHEMA ${S4.id(Q)} TO ${S4.id(X)}`.execute(Y),await S4`GRANT ALL ON ALL TABLES IN SCHEMA ${S4.id(Q)} TO ${S4.id(X)}`.execute(Y),await S4`GRANT ALL ON ALL SEQUENCES IN SCHEMA ${S4.id(Q)} TO ${S4.id(X)}`.execute(Y),await S4`ALTER DEFAULT PRIVILEGES IN SCHEMA ${S4.id(Q)} GRANT ALL ON TABLES TO ${S4.id(X)}`.execute(Y),await S4`ALTER DEFAULT PRIVILEGES IN SCHEMA ${S4.id(Q)} GRANT ALL ON SEQUENCES TO ${S4.id(X)}`.execute(Y),await S4`REVOKE ALL ON SCHEMA public FROM ${S4.id(X)}`.execute(Y)}async function $T4(Y,Q,X,J){try{return await Y.transaction().execute(async(G)=>{return await S4`SET LOCAL ROLE ${S4.id(X)}`.execute(G),await S4`SET LOCAL search_path TO ${S4.id(Q)}`.execute(G),await S4.raw(J).execute(G)})}catch(G){if(HT4(G))return await FT4(Y,Q,X),await Y.transaction().execute(async(K)=>{return await S4`SET LOCAL ROLE ${S4.id(X)}`.execute(K),await S4`SET LOCAL search_path TO ${S4.id(Q)}`.execute(K),await S4.raw(J).execute(K)});throw G}}var JT4,WT4,Zb0;var Kb0=S(()=>{v1();k0();JT4=q.object({results:q.array(q.unknown()).optional(),success:q.boolean().optional()});WT4=q.object({sql:q.string().describe("The SQL query to run"),params:q.array(q.any()).describe("The parameters to pass to the SQL query").optional()});Zb0=k1({name:"DATABASES_RUN_SQL",description:"Run a SQL query against the database",annotations:{title:"Run SQL Query",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:WT4,outputSchema:q.object({result:q.array(JT4)}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=GT4(Y.sql,Y.params||[]);if(!Q.connectionId)throw Error("Connection context required for database access");let J=ZT4(Q.connectionId),G=KT4(Q.connectionId);return{result:[{results:(await $T4(Q.db,J,G,X)).rows,success:!0}]}}})});var Hb0,qT4,Fb0;var d3=S(()=>{v1();Xl();Hb0=q.object({connectionId:q.string().optional().describe("Filter subscriptions by connection ID (optional)")}),qT4=q.object({id:q.string().describe("Subscription ID"),connectionId:q.string().describe("Subscriber connection ID"),eventType:q.string().describe("Event type pattern"),publisher:q.string().nullable().describe("Publisher connection filter (null = all publishers)"),filter:q.string().nullable().describe("JSONPath filter expression"),enabled:q.boolean().describe("Whether subscription is enabled"),createdAt:q.string().datetime().describe("Created timestamp (ISO 8601)"),updatedAt:q.string().datetime().describe("Updated timestamp (ISO 8601)")}),Fb0=q.object({subscriptions:q.array(qT4).describe("List of subscriptions")})});var h$1;var $b0=S(()=>{k0();d3();h$1=k1({name:"EVENT_PUBLISH",description:"Publish an event to the event bus. Supports immediate, scheduled (deliverAt), and recurring (cron) delivery. The source is automatically set to the caller's connection ID.",annotations:{title:"Publish Event",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!1},inputSchema:IC,outputSchema:jC,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=Q.connectionId;if(!J)throw Error("Connection ID required to publish events. Use a connection-scoped token.");let G=await Q.eventBus.publish(X.id,J,{type:Y.type,subject:Y.subject,data:Y.data,deliverAt:Y.deliverAt,cron:Y.cron});return{id:G.id,type:G.type,source:G.source,time:G.time}}})});var x$1;var Vb0=S(()=>{k0();d3();x$1=k1({name:"EVENT_SUBSCRIBE",description:"Subscribe to events of a specific type. The subscriber is automatically set to the caller's connection.",annotations:{title:"Subscribe to Events",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:SC,outputSchema:_C,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=Q.connectionId;if(!J)throw Error("Connection ID required to subscribe. Use a connection-scoped token.");let G=await Q.eventBus.subscribe(X.id,{connectionId:J,eventType:Y.eventType,publisher:Y.publisher,filter:Y.filter});return{subscription:{id:G.id,connectionId:G.connectionId,eventType:G.eventType,publisher:G.publisher,filter:G.filter,enabled:G.enabled,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt,updatedAt:G.updatedAt instanceof Date?G.updatedAt.toISOString():G.updatedAt}}}})});var g$1;var qb0=S(()=>{k0();d3();g$1=k1({name:"EVENT_UNSUBSCRIBE",description:"Unsubscribe from events by removing a subscription.",annotations:{title:"Unsubscribe from Events",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:yC,outputSchema:fC,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=Q.connectionId;if(!J)throw Error("Connection ID required to unsubscribe. Use a connection-scoped token.");let G=await Q.eventBus.getSubscription(X.id,Y.subscriptionId);if(!G)throw Error(`Subscription not found: ${Y.subscriptionId}`);if(G.connectionId!==J)throw Error("Cannot unsubscribe from a subscription owned by another connection");return{success:(await Q.eventBus.unsubscribe(X.id,Y.subscriptionId)).success,subscriptionId:Y.subscriptionId}}})});var u$1;var Bb0=S(()=>{k0();d3();u$1=k1({name:"EVENT_CANCEL",description:"Cancel a recurring event to stop future deliveries. Only the publisher can cancel their own events.",annotations:{title:"Cancel Recurring Event",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:bC,outputSchema:hC,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=Q.connectionId;if(!J)throw Error("Connection ID required to cancel events. Use a connection-scoped token.");if(!await Q.eventBus.getEvent(X.id,Y.eventId))throw Error(`Event not found: ${Y.eventId}`);if(!(await Q.eventBus.cancelEvent(X.id,Y.eventId,J)).success)throw Error("Failed to cancel event. Either the event is already completed/failed, or you are not the publisher.");return{success:!0,eventId:Y.eventId}}})});var m$1;var Ub0=S(()=>{k0();d3();m$1=k1({name:"EVENT_ACK",description:"Acknowledge delivery of an event. Call after successfully processing an event received via ON_EVENTS with retryAfter.",annotations:{title:"Acknowledge Event",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:xC,outputSchema:gC,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=Q.connectionId;if(!J)throw Error("Connection ID required to acknowledge events. Use a connection-scoped token.");if(!(await Q.eventBus.ackEvent(X.id,Y.eventId,J)).success)throw Error("Failed to acknowledge event. Either the event was not found, already delivered, or you are not a subscriber.");return{success:!0,eventId:Y.eventId}}})});var l$1;var zb0=S(()=>{k0();d3();l$1=k1({name:"EVENT_SUBSCRIPTION_LIST",description:"List event subscriptions, optionally filtered by connection ID.",annotations:{title:"List Event Subscriptions",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:Hb0,outputSchema:Fb0,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);return await Q.access.check(),{subscriptions:(await Q.eventBus.listSubscriptions(X.id,Y.connectionId)).map((G)=>({id:G.id,connectionId:G.connectionId,eventType:G.eventType,publisher:G.publisher,filter:G.filter,enabled:G.enabled,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt,updatedAt:G.updatedAt instanceof Date?G.updatedAt.toISOString():G.updatedAt}))}}})});var d$1;var Db0=S(()=>{k0();d3();d$1=k1({name:"EVENT_SYNC_SUBSCRIPTIONS",description:"Sync subscriptions to desired state. Creates new, deletes removed, updates changed filters. Subscriptions are identified by (eventType, publisher).",annotations:{title:"Sync Event Subscriptions",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:vC,outputSchema:kC,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=Q.connectionId;if(!J)throw Error("Connection ID required to sync subscriptions. Use a connection-scoped token.");let G=await Q.eventBus.syncSubscriptions(X.id,{connectionId:J,subscriptions:Y.subscriptions});return{created:G.created,updated:G.updated,deleted:G.deleted,unchanged:G.unchanged,subscriptions:G.subscriptions.map((K)=>({id:K.id,connectionId:K.connectionId,eventType:K.eventType,publisher:K.publisher,filter:K.filter,enabled:K.enabled,createdAt:K.createdAt instanceof Date?K.createdAt.toISOString():K.createdAt,updatedAt:K.updatedAt instanceof Date?K.updatedAt.toISOString():K.updatedAt}))}}})});var Ob0=S(()=>{$b0();Vb0();qb0();Bb0();Ub0();zb0();Db0();d3()});var cN=S(()=>{Tk()});function Lb0(){return`/icons/capy-${Math.floor(Math.random()*39)+0}.png`}var UT4,zT4,p$1;var Nb0=S(()=>{v1();k0();cN();UT4=q.object({data:jA.describe("Data for the new virtual MCP")}),zT4=q.object({item:tX.describe("The created virtual MCP entity")}),p$1=k1({name:"COLLECTION_VIRTUAL_MCP_CREATE",description:"Create a new Virtual MCP",annotations:{title:"Create Virtual MCP",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:UT4,outputSchema:zT4,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=D9(Q);if(!J)throw Error("User ID required to create virtual MCP");let G={...Y.data,icon:Y.data.icon??Lb0()};return{item:await Q.storage.virtualMcps.create(X.id,J,G)}}})});function DT4(Y){let Q=[],X=0;while(X<Y.length){let J=Y[X];if(J==="%")Q.push(".*");else if(J==="_")Q.push(".");else if(/[.*+?^${}()|[\]\\]/.test(J))Q.push("\\"+J);else Q.push(J);X++}return Q.join("")}function P$(Y){return typeof Y==="string"||typeof Y==="number"}function c$1(Y,Q){let X=Q.split("."),J=Y;for(let G of X){if(J==null||typeof J!=="object")return;J=J[G]}return J}function OT4(Y,Q){return Y.connections.some((X)=>X.connection_id===Q)}function Ap(Y,Q){if("conditions"in Q){let{operator:Z,conditions:H}=Q;switch(Z){case"and":return H.every((F)=>Ap(Y,F));case"or":return H.some((F)=>Ap(Y,F));case"not":return!H.every((F)=>Ap(Y,F));default:return!0}}let{field:X,operator:J,value:G}=Q,K=X.join(".");if(K==="connection_id"){if(J!=="eq"||typeof G!=="string")return!1;return OT4(Y,G)}let W=c$1(Y,K);switch(J){case"eq":return W===G;case"gt":return P$(W)&&P$(G)&&W>G;case"gte":return P$(W)&&P$(G)&&W>=G;case"lt":return P$(W)&&P$(G)&&W<G;case"lte":return P$(W)&&P$(G)&&W<=G;case"in":return Array.isArray(G)&&G.includes(W);case"like":if(typeof W!=="string"||typeof G!=="string")return!1;if(G.length>100)return!1;let Z=DT4(G);return new RegExp(`^${Z}$`,"i").test(W);case"contains":if(typeof W!=="string"||typeof G!=="string")return!1;return W.toLowerCase().includes(G.toLowerCase());default:return!0}}function LT4(Y,Q){return[...Y].sort((X,J)=>{for(let G of Q){let K=G.field.join("."),W=c$1(X,K),Z=c$1(J,K),H=0;if(W==null&&Z==null)continue;if(W==null)H=G.nulls==="first"?-1:1;else if(Z==null)H=G.nulls==="first"?1:-1;else if(typeof W==="string"&&typeof Z==="string")H=W.localeCompare(Z);else if(typeof W==="number"&&typeof Z==="number")H=W-Z;else H=String(W).localeCompare(String(Z));if(H!==0)return G.direction==="desc"?-H:H}return 0})}var NT4,MT4,n$1;var Mb0=S(()=>{gX();k0();cN();NT4=dG,MT4=M3(tX),n$1=k1({name:"COLLECTION_VIRTUAL_MCP_LIST",description:"List all MCP virtual MCPs in the organization",annotations:{title:"List Virtual MCPs",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:NT4,outputSchema:MT4,handler:async(Y,Q)=>{await Q.access.check();let X=B0(Q),J=Y.where&&!("conditions"in Y.where)&&Y.where.field.join(".")==="connection_id"&&Y.where.operator==="eq"&&typeof Y.where.value==="string"?Y.where.value:void 0,K=J?await Q.storage.virtualMcps.listByConnectionId(X.id,J):await Q.storage.virtualMcps.list(X.id);if(Y.where)K=K.filter((V)=>Ap(V,Y.where));if(Y.orderBy&&Y.orderBy.length>0)K=LT4(K,Y.orderBy);let W=K.length,Z=Y.offset??0,H=Y.limit??100,F=K.slice(Z,Z+H),$=Z+H<W;return{items:F,totalCount:W,hasMore:$}}})});var wT4,AT4,i$1;var wb0=S(()=>{v1();k0();cN();wT4=q.object({id:q.string().describe("ID of the virtual MCP to retrieve")}),AT4=q.object({item:tX.nullable().describe("The retrieved virtual MCP, or null if not found")}),i$1=k1({name:"COLLECTION_VIRTUAL_MCP_GET",description:"Get an MCP virtual MCP by ID",annotations:{title:"Get Virtual MCP",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:wT4,outputSchema:AT4,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=await Q.storage.virtualMcps.findById(Y.id);if(J&&J.organization_id!==X.id)return{item:null};if(!J)return{item:null};return{item:J}}})});var PT4,ET4,a$1;var Ab0=S(()=>{v1();k0();cN();PT4=q.object({id:q.string().describe("ID of the virtual MCP to update"),data:SA.describe("Partial virtual MCP data to update")}),ET4=q.object({item:tX.describe("The updated virtual MCP entity")}),a$1=k1({name:"COLLECTION_VIRTUAL_MCP_UPDATE",description:"Update an MCP virtual MCP",annotations:{title:"Update Virtual MCP",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:PT4,outputSchema:ET4,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=D9(Q);if(!J)throw Error("User ID required to update virtual MCP");let G=await Q.storage.virtualMcps.findById(Y.id);if(!G)throw Error(`Virtual MCP not found: ${Y.id}`);if(G.organization_id!==X.id)throw Error(`Virtual MCP not found: ${Y.id}`);return{item:await Q.storage.virtualMcps.update(Y.id,J,Y.data)}}})});var TT4,CT4,r$1;var Pb0=S(()=>{v1();k0();cN();TT4=q.object({id:q.string().describe("ID of the virtual MCP to delete")}),CT4=q.object({item:tX.describe("The deleted virtual MCP entity")}),r$1=k1({name:"COLLECTION_VIRTUAL_MCP_DELETE",description:"Delete an MCP virtual MCP",annotations:{title:"Delete Virtual MCP",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:TT4,outputSchema:CT4,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=await Q.storage.virtualMcps.findById(Y.id);if(!J)throw Error(`Virtual MCP not found: ${Y.id}`);if(J.organization_id!==X.id)throw Error(`Virtual MCP not found: ${Y.id}`);return await Q.storage.virtualMcps.delete(Y.id),{item:J}}})});var Eb0=S(()=>{Nb0();Mb0();wb0();Ab0();Pb0()});var IT4,jT4,o$1;var Tb0=S(()=>{v1();k0();A$();IT4=q.object({virtual_mcp_id:q.string().describe("ID of the Virtual MCP to add the tool to"),data:bf0.describe("Virtual tool data")}),jT4=q.object({item:pZ.describe("The created virtual tool")}),o$1=k1({name:"COLLECTION_VIRTUAL_TOOLS_CREATE",description:"Create a new virtual tool on a Virtual MCP. The tool code should be a JavaScript ES module that exports a default async function: export default async (tools, args) => { ... }. Specify connection_dependencies to indicate which connections this tool uses.",annotations:{title:"Create Virtual Tool",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:IT4,outputSchema:jT4,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=await Q.storage.virtualMcps.findById(Y.virtual_mcp_id);if(!J||J.organization_id!==X.id)throw Error(`Virtual MCP not found: ${Y.virtual_mcp_id}`);let G=Y.data.connection_dependencies??[];return{item:await Q.storage.virtualMcps.createVirtualTool(Y.virtual_mcp_id,Y.data,G)}}})});var ST4,_T4,s$1;var Cb0=S(()=>{v1();k0();A$();ST4=q.object({virtual_mcp_id:q.string().describe("ID of the Virtual MCP to list tools for"),limit:q.number().int().min(1).max(1000).optional().describe("Maximum number of items to return"),offset:q.number().int().min(0).optional().describe("Number of items to skip")}),_T4=q.object({items:q.array(pZ).describe("Array of virtual tools"),totalCount:q.number().int().min(0).optional().describe("Total number of virtual tools"),hasMore:q.boolean().optional().describe("Whether there are more items available")}),s$1=k1({name:"COLLECTION_VIRTUAL_TOOLS_LIST",description:"List all virtual tools for a Virtual MCP",annotations:{title:"List Virtual Tools",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:ST4,outputSchema:_T4,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=await Q.storage.virtualMcps.findById(Y.virtual_mcp_id);if(!J||J.organization_id!==X.id)return{items:[],totalCount:0,hasMore:!1};let G=await Q.storage.virtualMcps.listVirtualTools(Y.virtual_mcp_id),K=G.length,W=Y.offset??0,Z=Y.limit??100,H=G.slice(W,W+Z),F=W+Z<K;return{items:H,totalCount:K,hasMore:F}}})});var vT4,kT4,t$1;var Rb0=S(()=>{v1();k0();A$();vT4=q.object({virtual_mcp_id:q.string().describe("ID of the Virtual MCP"),name:q.string().describe("Name of the virtual tool to retrieve")}),kT4=q.object({item:pZ.nullable().describe("The retrieved virtual tool, or null if not found")}),t$1=k1({name:"COLLECTION_VIRTUAL_TOOLS_GET",description:"Get a virtual tool by name from a Virtual MCP",annotations:{title:"Get Virtual Tool",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:vT4,outputSchema:kT4,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=await Q.storage.virtualMcps.findById(Y.virtual_mcp_id);if(!J||J.organization_id!==X.id)return{item:null};return{item:await Q.storage.virtualMcps.getVirtualTool(Y.virtual_mcp_id,Y.name)}}})});var yT4,fT4,e$1;var Ib0=S(()=>{v1();k0();A$();yT4=q.object({virtual_mcp_id:q.string().describe("ID of the Virtual MCP"),name:q.string().describe("Current name of the virtual tool to update"),data:hf0.describe("Partial virtual tool data to update")}),fT4=q.object({item:pZ.describe("The updated virtual tool")}),e$1=k1({name:"COLLECTION_VIRTUAL_TOOLS_UPDATE",description:"Update an existing virtual tool on a Virtual MCP. Specify connection_dependencies to update which connections this tool uses.",annotations:{title:"Update Virtual Tool",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:yT4,outputSchema:fT4,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=await Q.storage.virtualMcps.findById(Y.virtual_mcp_id);if(!J||J.organization_id!==X.id)throw Error(`Virtual MCP not found: ${Y.virtual_mcp_id}`);if(!await Q.storage.virtualMcps.getVirtualTool(Y.virtual_mcp_id,Y.name))throw Error(`Virtual tool not found: ${Y.name}`);let K=Y.data.connection_dependencies;return{item:await Q.storage.virtualMcps.updateVirtualTool(Y.virtual_mcp_id,Y.name,Y.data,K)}}})});var bT4,hT4,YV1;var jb0=S(()=>{v1();k0();A$();bT4=q.object({virtual_mcp_id:q.string().describe("ID of the Virtual MCP"),name:q.string().describe("Name of the virtual tool to delete")}),hT4=q.object({item:pZ.describe("The deleted virtual tool")}),YV1=k1({name:"COLLECTION_VIRTUAL_TOOLS_DELETE",description:"Delete a virtual tool from a Virtual MCP",annotations:{title:"Delete Virtual Tool",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:bT4,outputSchema:hT4,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=await Q.storage.virtualMcps.findById(Y.virtual_mcp_id);if(!J||J.organization_id!==X.id)throw Error(`Virtual MCP not found: ${Y.virtual_mcp_id}`);let G=await Q.storage.virtualMcps.getVirtualTool(Y.virtual_mcp_id,Y.name);if(!G)throw Error(`Virtual tool not found: ${Y.name}`);return await Q.storage.virtualMcps.deleteVirtualTool(Y.virtual_mcp_id,Y.name),{item:G}}})});var Sb0=S(()=>{Tb0();Cb0();Rb0();Ib0();jb0()});var gT4,QV1;var _b0=S(()=>{k0();v1();gT4=q.object({id:q.string().optional().describe("Unique log identifier"),organizationId:q.string().describe("Organization ID"),connectionId:q.string().describe("Connection ID"),connectionTitle:q.string().describe("Connection display name"),toolName:q.string().describe("Name of the tool that was called"),input:q.record(q.string(),q.unknown()).describe("Redacted tool input"),output:q.record(q.string(),q.unknown()).describe("Redacted tool output"),isError:q.boolean().describe("Whether the call resulted in an error"),errorMessage:q.string().nullish().describe("Error message if applicable"),durationMs:q.number().describe("Call duration in milliseconds"),timestamp:q.string().describe("ISO 8601 timestamp of the call"),userId:q.string().nullish().describe("User who triggered the call"),requestId:q.string().describe("Unique request identifier"),userAgent:q.string().nullish().describe("Client identifier (x-mesh-client header)"),virtualMcpId:q.string().nullish().describe("Virtual MCP (Agent) ID if routed through an agent"),properties:q.record(q.string(),q.string()).nullish().describe("Custom key-value metadata attached to the log")}),QV1=k1({name:"MONITORING_LOGS_LIST",description:"List monitoring logs for tool calls in the organization",annotations:{title:"List Monitoring Logs",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({connectionId:q.string().optional().describe("Filter by connection ID"),excludeConnectionIds:q.array(q.string()).optional().describe("Exclude logs from these connection IDs (e.g. system connections)"),virtualMcpId:q.string().optional().describe("Filter by Virtual MCP (Agent) ID"),toolName:q.string().optional().describe("Filter by tool name"),isError:q.boolean().optional().describe("Filter by error status"),startDate:q.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:q.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)"),limit:q.number().default(20).describe("Maximum number of results"),offset:q.number().default(0).describe("Offset for pagination"),properties:q.record(q.string(),q.string()).optional().describe("Filter by exact property key=value matches"),propertyKeys:q.array(q.string()).optional().describe("Filter by logs that have these property keys"),propertyPatterns:q.record(q.string(),q.string()).optional().describe("Filter by property value patterns (SQL LIKE, use % as wildcard)"),propertyInValues:q.record(q.string(),q.string()).optional().describe("Filter by exact match within comma-separated values (e.g., user_tags in 'Engineering')")}),outputSchema:q.object({logs:q.array(gT4).describe("Array of monitoring logs"),total:q.number().describe("Total number of logs matching filters"),offset:q.number().describe("Current offset for pagination"),limit:q.number().describe("Current limit for pagination")}),handler:async(Y,Q)=>{let X=B0(Q),G=Y.properties||Y.propertyKeys||Y.propertyPatterns||Y.propertyInValues?{properties:Y.properties,propertyKeys:Y.propertyKeys,propertyPatterns:Y.propertyPatterns,propertyInValues:Y.propertyInValues}:void 0,K={organizationId:X.id,connectionId:Y.connectionId,excludeConnectionIds:Y.excludeConnectionIds,virtualMcpId:Y.virtualMcpId,toolName:Y.toolName,isError:Y.isError,startDate:Y.startDate?new Date(Y.startDate):void 0,endDate:Y.endDate?new Date(Y.endDate):void 0,limit:Y.limit,offset:Y.offset,propertyFilters:G},W=await Q.storage.monitoring.query(K);return{logs:W.logs.map((Z)=>({...Z,timestamp:Z.timestamp instanceof Date?Z.timestamp.toISOString():Z.timestamp})),total:W.total,offset:Y.offset,limit:Y.limit}}})});var XV1;var vb0=S(()=>{k0();v1();XV1=k1({name:"MONITORING_STATS",description:"Get aggregated statistics for tool call monitoring",annotations:{title:"Get Monitoring Stats",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({startDate:q.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:q.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)")}),outputSchema:q.object({totalCalls:q.number().describe("Total number of tool calls"),errorRate:q.number().describe("Error rate as a decimal (0 to 1)"),avgDurationMs:q.number().describe("Average call duration in milliseconds"),errorRatePercent:q.string().describe("Error rate as a percentage string")}),handler:async(Y,Q)=>{let J={organizationId:B0(Q).id,startDate:Y.startDate?new Date(Y.startDate):void 0,endDate:Y.endDate?new Date(Y.endDate):void 0},G=await Q.storage.monitoring.getStats(J);return{...G,errorRatePercent:(G.errorRate*100).toFixed(2)}}})});var kb0=S(()=>{_b0();vb0()});var mT4,lT4,dT4,pT4,cT4,KI,HI,E$,nT4,iT4,yb0;var nN=S(()=>{v1();mT4=q.enum(["sum","avg","min","max","count","last"]).describe("Aggregation function to apply"),lT4=q.enum(["metric","timeseries","table"]).describe("Widget display type"),dT4=q.object({path:q.string().describe("JSONPath to extract value, e.g., '$.usage.total_tokens'"),from:q.enum(["input","output"]).describe("Extract from tool call input or output")}),pT4=q.object({fn:mT4,groupBy:q.string().optional().describe("Optional JSONPath for grouping results"),interval:q.string().optional().describe("For timeseries widgets: interval like '1h', '1d', '15m'")}),cT4=q.object({connectionIds:q.array(q.string()).optional().describe("Filter to specific connections"),toolNames:q.array(q.string()).optional().describe("Filter to specific tools")}),KI=q.object({id:q.string().describe("Unique widget identifier"),name:q.string().describe("Widget display name"),type:lT4,source:dT4,aggregation:pT4,filter:cT4.optional()}),HI=q.object({connectionIds:q.array(q.string()).optional().describe("Filter to specific connections"),virtualMcpIds:q.array(q.string()).optional().describe("Filter to specific virtual MCPs/agents"),toolNames:q.array(q.string()).optional().describe("Filter to specific tools"),propertyFilters:q.record(q.string(),q.string()).optional().describe("Filter by exact metadata property key=value matches (e.g., { environment: 'production' })")}),E$=q.object({id:q.string().describe("Unique dashboard identifier"),organizationId:q.string().describe("Organization ID"),name:q.string().describe("Dashboard name"),description:q.string().nullable().describe("Dashboard description"),filters:HI.nullable().describe("Global filters applied to all widgets"),widgets:q.array(KI).describe("Widget definitions"),createdBy:q.string().describe("User ID who created the dashboard"),createdAt:q.string().describe("Creation timestamp"),updatedAt:q.string().describe("Last update timestamp")}),nT4=q.object({key:q.string().describe("Group key value"),value:q.number().describe("Aggregated value for this group")}),iT4=q.object({timestamp:q.string().describe("Time bucket timestamp"),value:q.number().describe("Aggregated value for this time bucket")}),yb0=q.object({widgetId:q.string().describe("Widget ID this result is for"),value:q.number().nullable().describe("Aggregated value (for metric type)"),groups:q.array(nT4).optional().describe("Grouped results (when groupBy is specified)"),timeseries:q.array(iT4).optional().describe("Timeseries data (for timeseries type)")})});var JV1;var fb0=S(()=>{k0();v1();nN();JV1=k1({name:"MONITORING_DASHBOARD_CREATE",description:"Create a new monitoring dashboard with JSONPath widgets",annotations:{title:"Create Monitoring Dashboard",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:q.object({name:q.string().min(1).describe("Dashboard name"),description:q.string().optional().describe("Dashboard description"),filters:HI.optional().describe("Global filters applied to all widgets"),widgets:q.array(KI).min(1).describe("Widget definitions (at least one required)")}),outputSchema:E$,handler:async(Y,Q)=>{let X=B0(Q),J=Q.auth.user?.id;if(!J)throw Error("User authentication required");let G=await Q.storage.monitoringDashboards.create(X.id,J,{name:Y.name,description:Y.description,filters:Y.filters,widgets:Y.widgets});return{id:G.id,organizationId:G.organizationId,name:G.name,description:G.description,filters:G.filters,widgets:G.widgets,createdBy:G.createdBy,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt,updatedAt:G.updatedAt instanceof Date?G.updatedAt.toISOString():G.updatedAt}}})});var GV1;var bb0=S(()=>{k0();v1();nN();GV1=k1({name:"MONITORING_DASHBOARD_GET",description:"Get a monitoring dashboard by ID",annotations:{title:"Get Monitoring Dashboard",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({id:q.string().describe("Dashboard ID")}),outputSchema:E$.nullable(),handler:async(Y,Q)=>{let X=B0(Q),J=await Q.storage.monitoringDashboards.get(Y.id);if(!J||J.organizationId!==X.id)return null;return{id:J.id,organizationId:J.organizationId,name:J.name,description:J.description,filters:J.filters,widgets:J.widgets,createdBy:J.createdBy,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt,updatedAt:J.updatedAt instanceof Date?J.updatedAt.toISOString():J.updatedAt}}})});var WV1;var hb0=S(()=>{k0();v1();nN();WV1=k1({name:"MONITORING_DASHBOARD_LIST",description:"List all monitoring dashboards for the organization",annotations:{title:"List Monitoring Dashboards",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({}),outputSchema:q.object({dashboards:q.array(E$).describe("List of dashboards"),total:q.number().describe("Total number of dashboards")}),handler:async(Y,Q)=>{let X=B0(Q),J=await Q.storage.monitoringDashboards.list(X.id);return{dashboards:J.map((G)=>({id:G.id,organizationId:G.organizationId,name:G.name,description:G.description,filters:G.filters,widgets:G.widgets,createdBy:G.createdBy,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt,updatedAt:G.updatedAt instanceof Date?G.updatedAt.toISOString():G.updatedAt})),total:J.length}}})});var ZV1;var xb0=S(()=>{k0();v1();nN();ZV1=k1({name:"MONITORING_DASHBOARD_UPDATE",description:"Update an existing monitoring dashboard",annotations:{title:"Update Monitoring Dashboard",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({id:q.string().describe("Dashboard ID to update"),name:q.string().optional().describe("New dashboard name"),description:q.string().nullable().optional().describe("New dashboard description"),filters:HI.nullable().optional().describe("New global filters"),widgets:q.array(KI).optional().describe("New widget definitions")}),outputSchema:E$,handler:async(Y,Q)=>{let X=B0(Q),J=await Q.storage.monitoringDashboards.get(Y.id);if(!J||J.organizationId!==X.id)throw Error(`Dashboard ${Y.id} not found`);let G={};if(Y.name!==void 0)G.name=Y.name;if(Y.description!==void 0)G.description=Y.description;if(Y.filters!==void 0)G.filters=Y.filters;if(Y.widgets!==void 0)G.widgets=Y.widgets;let K=await Q.storage.monitoringDashboards.update(Y.id,G);return{id:K.id,organizationId:K.organizationId,name:K.name,description:K.description,filters:K.filters,widgets:K.widgets,createdBy:K.createdBy,createdAt:K.createdAt instanceof Date?K.createdAt.toISOString():K.createdAt,updatedAt:K.updatedAt instanceof Date?K.updatedAt.toISOString():K.updatedAt}}})});var KV1;var gb0=S(()=>{k0();v1();KV1=k1({name:"MONITORING_DASHBOARD_DELETE",description:"Delete a monitoring dashboard",annotations:{title:"Delete Monitoring Dashboard",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({id:q.string().describe("Dashboard ID to delete")}),outputSchema:q.object({success:q.boolean().describe("Whether the deletion was successful")}),handler:async(Y,Q)=>{let X=B0(Q),J=await Q.storage.monitoringDashboards.get(Y.id);if(!J||J.organizationId!==X.id)throw Error(`Dashboard ${Y.id} not found`);return await Q.storage.monitoringDashboards.delete(Y.id),{success:!0}}})});var HV1;var ub0=S(()=>{k0();v1();nN();HV1=k1({name:"MONITORING_DASHBOARD_QUERY",description:"Execute a dashboard's widgets and return aggregated monitoring data",annotations:{title:"Query Monitoring Dashboard",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({dashboardId:q.string().describe("Dashboard ID to query"),timeRange:q.object({startDate:q.string().datetime().describe("Start of time range (ISO 8601)"),endDate:q.string().datetime().describe("End of time range (ISO 8601)")}).optional().describe("Time range for the query (defaults to last 24 hours)"),propertyFilters:q.object({properties:q.record(q.string(),q.string()).optional().describe("Exact match: property key equals value"),propertyKeys:q.array(q.string()).optional().describe("Exists: filter logs that have these property keys"),propertyPatterns:q.record(q.string(),q.string()).optional().describe("Pattern match: property value matches pattern (SQL LIKE, use % as wildcard)"),propertyInValues:q.record(q.string(),q.string()).optional().describe("In match: exact match within comma-separated values")}).optional().describe("Runtime property filters applied to all widgets (merged with dashboard-level filters)")}),outputSchema:q.object({dashboardId:q.string().describe("Dashboard ID"),results:q.array(yb0).describe("Widget query results"),timeRange:q.object({startDate:q.string(),endDate:q.string()}).describe("Time range used for the query")}),handler:async(Y,Q)=>{let X=B0(Q),J=await Q.storage.monitoringDashboards.get(Y.dashboardId);if(!J||J.organizationId!==X.id)throw Error(`Dashboard ${Y.dashboardId} not found`);let G=new Date,K=Y.timeRange?.startDate?new Date(Y.timeRange.startDate):new Date(G.getTime()-86400000),W=Y.timeRange?.endDate?new Date(Y.timeRange.endDate):G,Z=await Promise.all(J.widgets.map(async(H)=>{let F=J.filters?.propertyFilters,$=Y.propertyFilters,V=F||$?{properties:{...F,...$?.properties},propertyKeys:$?.propertyKeys,propertyPatterns:$?.propertyPatterns,propertyInValues:$?.propertyInValues}:void 0,B={connectionIds:H.filter?.connectionIds??J.filters?.connectionIds??void 0,virtualMcpIds:J.filters?.virtualMcpIds??void 0,toolNames:H.filter?.toolNames??J.filters?.toolNames??void 0,startDate:K,endDate:W,propertyFilters:V};try{let U=await Q.storage.monitoring.aggregate({organizationId:X.id,path:H.source.path,from:H.source.from,aggregation:H.aggregation.fn,groupBy:H.aggregation.groupBy,interval:H.aggregation.interval,filters:B});return{widgetId:H.id,value:U.value,groups:U.groups,timeseries:U.timeseries}}catch(U){return console.error(`Widget ${H.id} aggregation failed:`,U),{widgetId:H.id,value:null,groups:void 0,timeseries:void 0}}}));return{dashboardId:Y.dashboardId,results:Z,timeRange:{startDate:K.toISOString(),endDate:W.toISOString()}}}})});var aT4,FV1;var mb0=S(()=>{k0();v1();aT4=q.object({type:q.enum(["metric","timeseries","table"]),source:q.object({path:q.string().describe("JSONPath to extract value from"),from:q.enum(["input","output"]).describe("Extract from input or output")}),aggregation:q.object({fn:q.enum(["sum","avg","min","max","count","last"]).describe("Aggregation function"),groupBy:q.string().optional().describe("JSONPath for grouping (table)"),interval:q.string().optional().describe("Time interval for timeseries (15m, 1h, 1d)")}),filter:q.object({connectionIds:q.array(q.string()).optional(),toolNames:q.array(q.string()).optional()}).optional()}),FV1=k1({name:"MONITORING_WIDGET_PREVIEW",description:"Preview a widget aggregation without saving. Used to test queries in the dashboard editor.",annotations:{title:"Preview Monitoring Widget",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({widget:aT4.describe("Widget configuration to preview"),timeRange:q.object({startDate:q.string().datetime().describe("Start of time range (ISO 8601)"),endDate:q.string().datetime().describe("End of time range (ISO 8601)")}).optional().describe("Time range for the query (defaults to last 24 hours)"),propertyFilters:q.object({properties:q.record(q.string(),q.string()).optional().describe("Exact match: property key equals value"),propertyKeys:q.array(q.string()).optional().describe("Exists: filter logs that have these property keys"),propertyPatterns:q.record(q.string(),q.string()).optional().describe("Pattern match: property value matches pattern (SQL LIKE)"),propertyInValues:q.record(q.string(),q.string()).optional().describe("In match: exact match within comma-separated values")}).optional().describe("Property filters to apply")}),outputSchema:q.object({value:q.number().nullable().optional().describe("Aggregated value"),groups:q.array(q.object({key:q.string(),value:q.number()})).optional().describe("Grouped results for table widgets"),timeseries:q.array(q.object({timestamp:q.string(),value:q.number()})).optional().describe("Timeseries data points"),matchedRecords:q.number().describe("Number of records that matched"),timeRange:q.object({startDate:q.string(),endDate:q.string()}).describe("Time range used for the query")}),handler:async(Y,Q)=>{let X=B0(Q),{widget:J,timeRange:G}=Y,K=new Date,W=G?.startDate?new Date(G.startDate):new Date(K.getTime()-86400000),Z=G?.endDate?new Date(G.endDate):K,H={connectionIds:J.filter?.connectionIds,toolNames:J.filter?.toolNames,startDate:W,endDate:Z,propertyFilters:Y.propertyFilters};try{let F=await Q.storage.monitoring.countMatched({organizationId:X.id,path:J.source.path,from:J.source.from,filters:H}),$=await Q.storage.monitoring.aggregate({organizationId:X.id,path:J.source.path,from:J.source.from,aggregation:J.aggregation.fn,groupBy:J.aggregation.groupBy,interval:J.aggregation.interval,filters:H});return{value:$.value,groups:$.groups,timeseries:$.timeseries,matchedRecords:F,timeRange:{startDate:W.toISOString(),endDate:Z.toISOString()}}}catch(F){return console.error("Widget preview aggregation failed:",F),{value:null,matchedRecords:0,timeRange:{startDate:W.toISOString(),endDate:Z.toISOString()}}}}})});var lb0=S(()=>{fb0();bb0();hb0();xb0();gb0();ub0();mb0()});var $V1;var db0=S(()=>{v1();k0();$V1=k1({name:"ORGANIZATION_CREATE",description:"Create a new organization",annotations:{title:"Create Organization",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:q.object({slug:q.string().min(1).max(50).regex(/^[a-z0-9-]+$/,"Slug must be lowercase alphanumeric with hyphens"),name:q.string().min(1).max(255),description:q.string().optional()}),outputSchema:q.object({id:q.string(),name:q.string(),slug:q.string(),logo:q.string().nullable().optional(),metadata:q.any().optional(),createdAt:q.string().datetime().describe("ISO 8601 timestamp"),members:q.array(q.any()).optional()}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=D9(Q);if(!X)throw Error("User ID required to create organization");let J=await Q.boundAuth.organization.create({name:Y.name,slug:Y.slug,metadata:Y.description?{description:Y.description}:void 0,userId:X});if(!J)throw Error("Failed to create organization");return{...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt}}})});var VV1;var pb0=S(()=>{v1();k0();VV1=k1({name:"ORGANIZATION_LIST",description:"List all organizations user has access to",annotations:{title:"List Organizations",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({userId:q.string().optional()}),outputSchema:q.object({organizations:q.array(q.object({id:q.string(),name:q.string(),slug:q.string(),logo:q.string().nullable().optional(),metadata:q.any().optional(),createdAt:q.string().datetime().describe("ISO 8601 timestamp")}))}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=D9(Q),J=Y.userId||X;if(!J)throw Error("User ID required to list organizations");return{organizations:(await Q.boundAuth.organization.list(J)).map((K)=>({...K,createdAt:K.createdAt instanceof Date?K.createdAt.toISOString():K.createdAt}))}}})});var qV1;var cb0=S(()=>{v1();k0();qV1=k1({name:"ORGANIZATION_GET",description:"Get organization details by slug or ID",annotations:{title:"Get Organization",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({}),outputSchema:q.object({id:q.string(),name:q.string(),slug:q.string(),logo:q.string().nullable().optional(),metadata:q.any().optional(),createdAt:q.string().datetime().describe("ISO 8601 timestamp"),members:q.array(q.any()).optional(),invitations:q.array(q.any()).optional()}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=await Q.boundAuth.organization.get();if(!X)throw Error("No active organization found");let J=new Date,G=X.invitations?.filter((K)=>new Date(K.expiresAt)>J);return{...X,invitations:G,createdAt:X.createdAt instanceof Date?X.createdAt.toISOString():X.createdAt}}})});var BV1;var nb0=S(()=>{v1();k0();BV1=k1({name:"ORGANIZATION_UPDATE",description:"Update an existing organization",annotations:{title:"Update Organization",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({id:q.string(),slug:q.string().min(1).max(50).regex(/^[a-z0-9-]+$/).optional(),name:q.string().min(1).max(255).optional(),description:q.string().optional()}),outputSchema:q.object({id:q.string(),name:q.string(),slug:q.string(),logo:q.string().nullable().optional(),metadata:q.any().optional(),createdAt:q.string().datetime().describe("ISO 8601 timestamp")}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X={};if(Y.name)X.name=Y.name;if(Y.slug)X.slug=Y.slug;if(Y.description)X.metadata={description:Y.description};let J=await Q.boundAuth.organization.update({organizationId:Y.id,data:X});if(!J)throw Error("Failed to update organization");return{...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt}}})});var UV1;var ib0=S(()=>{v1();k0();UV1=k1({name:"ORGANIZATION_DELETE",description:"Delete an organization",annotations:{title:"Delete Organization",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({id:q.string()}),outputSchema:q.object({success:q.boolean(),id:q.string()}),handler:async(Y,Q)=>{return o1(Q),await Q.access.check(),await Q.boundAuth.organization.delete(Y.id),{success:!0,id:Y.id}}})});var FI;var zV1=S(()=>{v1();FI=q.object({title:q.string(),url:q.string(),icon:q.string()})});var DV1;var ab0=S(()=>{v1();k0();zV1();DV1=k1({name:"ORGANIZATION_SETTINGS_GET",description:"Get organization-level settings",annotations:{title:"Get Organization Settings",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({}),outputSchema:q.object({organizationId:q.string(),sidebar_items:q.array(FI).nullable().optional(),enabled_plugins:q.array(q.string()).nullable().optional(),createdAt:q.string().datetime().optional().describe("ISO 8601 timestamp"),updatedAt:q.string().datetime().optional().describe("ISO 8601 timestamp")}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=Q.organization?.id;if(!X)throw Error("Organization ID required (no active organization in context)");let J=await Q.storage.organizationSettings.get(X);if(!J)return{organizationId:X};return{...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt,updatedAt:J.updatedAt instanceof Date?J.updatedAt.toISOString():J.updatedAt}}})});var OV1;var rb0=S(()=>{v1();k0();zV1();OV1=k1({name:"ORGANIZATION_SETTINGS_UPDATE",description:"Update organization-level settings",annotations:{title:"Update Organization Settings",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({organizationId:q.string(),sidebar_items:q.array(FI).optional(),enabled_plugins:q.array(q.string()).optional()}),outputSchema:q.object({organizationId:q.string(),sidebar_items:q.array(FI).nullable().optional(),enabled_plugins:q.array(q.string()).nullable().optional(),createdAt:q.string().datetime().describe("ISO 8601 timestamp"),updatedAt:q.string().datetime().describe("ISO 8601 timestamp")}),handler:async(Y,Q)=>{if(o1(Q),await Q.access.check(),Q.organization&&Q.organization.id!==Y.organizationId)throw Error("Cannot update settings for a different organization");let X=await Q.storage.organizationSettings.upsert(Y.organizationId,{sidebar_items:Y.sidebar_items,enabled_plugins:Y.enabled_plugins});return{...X,createdAt:X.createdAt instanceof Date?X.createdAt.toISOString():X.createdAt,updatedAt:X.updatedAt instanceof Date?X.updatedAt.toISOString():X.updatedAt}}})});var LV1;var ob0=S(()=>{v1();k0();LV1=k1({name:"ORGANIZATION_MEMBER_ADD",description:"Add a member to an organization",annotations:{title:"Add Organization Member",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({organizationId:q.string().optional(),userId:q.string(),role:q.array(q.string())}),outputSchema:q.object({id:q.string(),organizationId:q.string(),userId:q.string(),role:q.union([q.string(),q.array(q.string())]),createdAt:q.string().datetime().describe("ISO 8601 timestamp")}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=Y.organizationId||Q.organization?.id;if(!X)throw Error("Organization ID required (no active organization in context)");if(X!==Q.organization?.id)throw Error("Organization ID does not match authenticated organization");let J=await Q.boundAuth.organization.addMember({organizationId:X,userId:Y.userId,role:Y.role});if(!J)throw Error("Failed to add member");return{...J,role:J.role,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt}}})});var NV1;var sb0=S(()=>{v1();k0();NV1=k1({name:"ORGANIZATION_MEMBER_REMOVE",description:"Remove a member from an organization",annotations:{title:"Remove Organization Member",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({organizationId:q.string().optional(),memberIdOrEmail:q.string()}),outputSchema:q.object({success:q.boolean(),memberIdOrEmail:q.string()}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=Y.organizationId||Q.organization?.id;if(!X)throw Error("Organization ID required (no active organization in context)");return await Q.boundAuth.organization.removeMember({organizationId:X,memberIdOrEmail:Y.memberIdOrEmail}),{success:!0,memberIdOrEmail:Y.memberIdOrEmail}}})});var MV1;var tb0=S(()=>{v1();k0();MV1=k1({name:"ORGANIZATION_MEMBER_LIST",description:"List all members in an organization",annotations:{title:"List Organization Members",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({limit:q.number().optional(),offset:q.number().optional()}),outputSchema:q.object({members:q.array(q.object({id:q.string(),organizationId:q.string(),userId:q.string(),role:q.string(),createdAt:q.string().datetime().describe("ISO 8601 timestamp"),user:q.object({id:q.string(),name:q.string(),email:q.string(),image:q.string().optional()}).optional()}))}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=Q.organization?.id;if(!X)throw Error("Organization ID required (no active organization in context)");let J=await Q.boundAuth.organization.listMembers({organizationId:X,limit:Y.limit,offset:Y.offset});return{members:(Array.isArray(J)?J:[]).map((K)=>({...K,createdAt:K.createdAt instanceof Date?K.createdAt.toISOString():K.createdAt}))}}})});var wV1;var eb0=S(()=>{v1();k0();wV1=k1({name:"ORGANIZATION_MEMBER_UPDATE_ROLE",description:"Update a member's role in an organization",annotations:{title:"Update Member Role",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({organizationId:q.string().optional(),memberId:q.string(),role:q.array(q.string())}),outputSchema:q.object({id:q.string(),organizationId:q.string(),userId:q.string(),role:q.union([q.literal("admin"),q.literal("member"),q.literal("owner")]),createdAt:q.string().datetime().describe("ISO 8601 timestamp"),user:q.object({email:q.string(),name:q.string(),image:q.string().optional()})}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=Y.organizationId||Q.organization?.id;if(!X)throw Error("Organization ID required (no active organization in context)");let J=await Q.boundAuth.organization.updateMemberRole({organizationId:X,memberId:Y.memberId,role:Y.role});if(!J)throw Error("Failed to update member role");return{...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt}}})});var Yh0=S(()=>{db0();pb0();cb0();nb0();ib0();ab0();rb0();ob0();sb0();tb0();eb0()});var sT4,Pp,tT4,ZU,Qh0,Ep;var KU=S(()=>{v1();sT4=q.object({banner:q.string().nullable(),bannerColor:q.string().nullable(),icon:q.string().nullable(),themeColor:q.string().nullable()}),Pp=q.object({banner:q.string().nullable().optional(),bannerColor:q.string().nullable().optional(),icon:q.string().nullable().optional(),themeColor:q.string().nullable().optional()}),tT4=q.object({id:q.string(),title:q.string(),icon:q.string().nullable()}),ZU=q.object({id:q.string(),organizationId:q.string(),slug:q.string(),name:q.string(),description:q.string().nullable(),enabledPlugins:q.array(q.string()).nullable(),ui:sT4.nullable(),createdAt:q.string().datetime().describe("ISO 8601 timestamp"),updatedAt:q.string().datetime().describe("ISO 8601 timestamp")}),Qh0=ZU.omit({organizationId:!0}).extend({boundConnections:q.array(tT4)}),Ep=q.object({id:q.string(),projectId:q.string(),pluginId:q.string(),connectionId:q.string().nullable(),settings:q.record(q.string(),q.unknown()).nullable(),createdAt:q.string().datetime().describe("ISO 8601 timestamp"),updatedAt:q.string().datetime().describe("ISO 8601 timestamp")})});var AV1;var Xh0=S(()=>{v1();k0();KU();AV1=k1({name:"PROJECT_LIST",description:"List all projects in an organization",annotations:{title:"List Projects",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({organizationId:q.string().describe("Organization ID to list projects for")}),outputSchema:q.object({projects:q.array(Qh0)}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=await Q.storage.projects.list(Y.organizationId),J=X.map((K)=>K.id),G=await Q.storage.projectPluginConfigs.getBoundConnectionsForProjects(J);return{projects:X.map((K)=>({id:K.id,slug:K.slug,name:K.name,description:K.description,enabledPlugins:K.enabledPlugins,ui:K.ui,boundConnections:G.get(K.id)??[],createdAt:K.createdAt instanceof Date?K.createdAt.toISOString():K.createdAt,updatedAt:K.updatedAt instanceof Date?K.updatedAt.toISOString():K.updatedAt}))}}})});var PV1;var Jh0=S(()=>{v1();k0();KU();PV1=k1({name:"PROJECT_GET",description:"Get a project by ID or slug",annotations:{title:"Get Project",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({organizationId:q.string().describe("Organization ID"),projectId:q.string().optional().describe("Project ID (either this or slug required)"),slug:q.string().optional().describe("Project slug (either this or projectId required)")}).refine((Y)=>Y.projectId||Y.slug,{message:"Either projectId or slug must be provided"}),outputSchema:q.object({project:ZU.nullable()}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=null;if(Y.projectId)X=await Q.storage.projects.get(Y.projectId);else if(Y.slug)X=await Q.storage.projects.getBySlug(Y.organizationId,Y.slug);if(!X)return{project:null};return{project:{id:X.id,organizationId:X.organizationId,slug:X.slug,name:X.name,description:X.description,enabledPlugins:X.enabledPlugins,ui:X.ui,createdAt:X.createdAt instanceof Date?X.createdAt.toISOString():X.createdAt,updatedAt:X.updatedAt instanceof Date?X.updatedAt.toISOString():X.updatedAt}}}})});var EV1;var Gh0=S(()=>{v1();zY();k0();KU();EV1=k1({name:"PROJECT_CREATE",description:"Create a new project in an organization",annotations:{title:"Create Project",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:q.object({organizationId:q.string().describe("Organization ID"),slug:q.string().min(1).max(100).regex(/^[a-z0-9-]+$/,"Slug must be lowercase alphanumeric with hyphens").describe("URL-friendly identifier"),name:q.string().min(1).max(200).describe("Display name"),description:q.string().max(1000).nullable().optional().describe("Project description"),enabledPlugins:q.array(q.string()).nullable().optional().describe("Plugin IDs to enable"),ui:Pp.nullable().optional().describe("UI customization")}),outputSchema:q.object({project:ZU}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let{organizationId:X,slug:J,name:G,description:K,enabledPlugins:W,ui:Z}=Y;if(J===n7)throw Error(`Slug "${n7}" is reserved`);if(await Q.storage.projects.getBySlug(X,J))throw Error(`Project with slug "${J}" already exists in this organization`);let F=Z?{banner:Z.banner??null,bannerColor:Z.bannerColor??null,icon:Z.icon??null,themeColor:Z.themeColor??null}:null,$=await Q.storage.projects.create({organizationId:X,slug:J,name:G,description:K??null,enabledPlugins:W??null,ui:F});return{project:{id:$.id,organizationId:$.organizationId,slug:$.slug,name:$.name,description:$.description,enabledPlugins:$.enabledPlugins,ui:$.ui,createdAt:$.createdAt instanceof Date?$.createdAt.toISOString():$.createdAt,updatedAt:$.updatedAt instanceof Date?$.updatedAt.toISOString():$.updatedAt}}}})});var TV1;var Wh0=S(()=>{v1();k0();KU();TV1=k1({name:"PROJECT_UPDATE",description:"Update a project's details",annotations:{title:"Update Project",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({projectId:q.string().describe("Project ID to update"),name:q.string().min(1).max(200).optional().describe("New display name"),description:q.string().max(1000).nullable().optional().describe("New description"),enabledPlugins:q.array(q.string()).nullable().optional().describe("Updated plugin IDs"),ui:Pp.nullable().optional().describe("Updated UI customization")}),outputSchema:q.object({project:ZU.nullable()}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let{projectId:X,name:J,description:G,enabledPlugins:K,ui:W}=Y,Z={};if(J!==void 0)Z.name=J;if(G!==void 0)Z.description=G;if(K!==void 0)Z.enabledPlugins=K;if(W!==void 0)Z.ui=W?{banner:W.banner??null,bannerColor:W.bannerColor??null,icon:W.icon??null,themeColor:W.themeColor??null}:null;let H=await Q.storage.projects.update(X,Z);if(!H)return{project:null};return{project:{id:H.id,organizationId:H.organizationId,slug:H.slug,name:H.name,description:H.description,enabledPlugins:H.enabledPlugins,ui:H.ui,createdAt:H.createdAt instanceof Date?H.createdAt.toISOString():H.createdAt,updatedAt:H.updatedAt instanceof Date?H.updatedAt.toISOString():H.updatedAt}}}})});var CV1;var Zh0=S(()=>{v1();zY();k0();CV1=k1({name:"PROJECT_DELETE",description:"Delete a project (cannot delete org-admin)",annotations:{title:"Delete Project",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({projectId:q.string().describe("Project ID to delete")}),outputSchema:q.object({success:q.boolean(),message:q.string().optional()}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let{projectId:X}=Y,J=await Q.storage.projects.get(X);if(!J)return{success:!1,message:"Project not found"};if(J.slug===n7)return{success:!1,message:"Cannot delete the org-admin project"};return{success:await Q.storage.projects.delete(X)}}})});var RV1;var Kh0=S(()=>{v1();k0();KU();RV1=k1({name:"PROJECT_PLUGIN_CONFIG_GET",description:"Get plugin configuration for a project",annotations:{title:"Get Project Plugin Config",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({projectId:q.string().describe("Project ID"),pluginId:q.string().describe("Plugin ID")}),outputSchema:q.object({config:Ep.nullable()}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let{projectId:X,pluginId:J}=Y,G=await Q.storage.projectPluginConfigs.get(X,J);if(!G)return{config:null};return{config:{id:G.id,projectId:G.projectId,pluginId:G.pluginId,connectionId:G.connectionId,settings:G.settings,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt,updatedAt:G.updatedAt instanceof Date?G.updatedAt.toISOString():G.updatedAt}}}})});var IV1;var Hh0=S(()=>{v1();k0();KU();Dp();IV1=k1({name:"PROJECT_PLUGIN_CONFIG_UPDATE",description:"Update or create plugin configuration for a project",annotations:{title:"Update Project Plugin Config",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({projectId:q.string().describe("Project ID"),pluginId:q.string().describe("Plugin ID"),connectionId:q.string().nullable().optional().describe("MCP connection to bind"),settings:q.record(q.string(),q.unknown()).nullable().optional().describe("Plugin-specific settings")}),outputSchema:q.object({config:Ep}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let{projectId:X,pluginId:J,connectionId:G,settings:K}=Y,W=D9(Q),Z=await Q.storage.projects.get(X);if(!Z)throw Error(`Project not found: ${X}`);let H=G?await Q.storage.connections.findById(G):null;if(G&&Z.organizationId&&!H&&gN()){if(zp(G,Z.organizationId)){if(!W)throw Error("User ID required to create dev-assets connection");let $=uN(Z.organizationId,AG());await Q.storage.connections.create({...$,organization_id:Z.organizationId,created_by:W})}}let F=await Q.storage.projectPluginConfigs.upsert(X,J,{connectionId:G,settings:K});return{config:{id:F.id,projectId:F.projectId,pluginId:F.pluginId,connectionId:F.connectionId,settings:F.settings,createdAt:F.createdAt instanceof Date?F.createdAt.toISOString():F.createdAt,updatedAt:F.updatedAt instanceof Date?F.updatedAt.toISOString():F.updatedAt}}}})});var Fh0=S(()=>{Xh0();Jh0();Gh0();Wh0();Zh0();Kh0();Hh0()});var jV1;var $h0=S(()=>{v1();k0();jV1=k1({name:"TAGS_LIST",description:"List all tags in an organization",annotations:{title:"List Tags",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({}),outputSchema:q.object({tags:q.array(q.object({id:q.string(),organizationId:q.string(),name:q.string(),createdAt:q.string().describe("ISO 8601 timestamp")}))}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=B0(Q);return{tags:(await Q.storage.tags.listOrgTags(X.id)).map((G)=>({...G,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():String(G.createdAt)}))}}})});var SV1;var Vh0=S(()=>{v1();k0();SV1=k1({name:"TAGS_CREATE",description:"Create a new tag in an organization",annotations:{title:"Create Tag",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:q.object({name:q.string().min(1).max(50).describe("Tag name")}),outputSchema:q.object({tag:q.object({id:q.string(),organizationId:q.string(),name:q.string(),createdAt:q.string().describe("ISO 8601 timestamp")})}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=B0(Q),J=await Q.storage.tags.createTag(X.id,Y.name);return{tag:{...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():String(J.createdAt)}}}})});var _V1;var qh0=S(()=>{v1();k0();_V1=k1({name:"TAGS_DELETE",description:"Delete a tag from an organization (removes from all members)",annotations:{title:"Delete Tag",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({tagId:q.string().describe("Tag ID to delete")}),outputSchema:q.object({success:q.boolean()}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=B0(Q),J=await Q.storage.tags.getTag(Y.tagId);if(!J)throw Error("Tag not found");if(J.organizationId!==X.id)throw Error("Tag does not belong to this organization");return await Q.storage.tags.deleteTag(Y.tagId),{success:!0}}})});var vV1;var Bh0=S(()=>{v1();k0();vV1=k1({name:"MEMBER_TAGS_GET",description:"Get tags assigned to a member",annotations:{title:"Get Member Tags",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({memberId:q.string().describe("Member ID")}),outputSchema:q.object({tags:q.array(q.object({id:q.string(),organizationId:q.string(),name:q.string(),createdAt:q.string().describe("ISO 8601 timestamp")}))}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=B0(Q);if(!await Q.storage.tags.verifyMemberOrg(Y.memberId,X.id))throw Error(`Member not found in this organization: ${Y.memberId}`);return{tags:(await Q.storage.tags.getMemberTags(Y.memberId)).map((K)=>({...K,createdAt:K.createdAt instanceof Date?K.createdAt.toISOString():String(K.createdAt)}))}}})});var kV1;var Uh0=S(()=>{v1();k0();kV1=k1({name:"MEMBER_TAGS_SET",description:"Set tags for a member (replaces all existing tags)",annotations:{title:"Set Member Tags",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:q.object({memberId:q.string().describe("Member ID"),tagIds:q.array(q.string()).describe("Array of tag IDs to assign")}),outputSchema:q.object({success:q.boolean(),tags:q.array(q.object({id:q.string(),organizationId:q.string(),name:q.string(),createdAt:q.string().describe("ISO 8601 timestamp")}))}),handler:async(Y,Q)=>{o1(Q),await Q.access.check();let X=B0(Q);if(!await Q.storage.tags.verifyMemberOrg(Y.memberId,X.id))throw Error(`Member not found in this organization: ${Y.memberId}`);for(let K of Y.tagIds){let W=await Q.storage.tags.getTag(K);if(!W)throw Error(`Tag not found: ${K}`);if(W.organizationId!==X.id)throw Error(`Tag does not belong to this organization: ${K}`)}return await Q.storage.tags.setMemberTags(Y.memberId,Y.tagIds),{success:!0,tags:(await Q.storage.tags.getMemberTags(Y.memberId)).map((K)=>({...K,createdAt:K.createdAt instanceof Date?K.createdAt.toISOString():String(K.createdAt)}))}}})});var zh0=S(()=>{$h0();Vh0();qh0();Bh0();Uh0()});var Dh0=S(()=>{zY()});var Oh0,cZ,Lh0,Nh0;var HU=S(()=>{v1();Dh0();Oh0=q.object({id:q.string().describe("Unique message ID"),thread_id:q.string().describe("ID of the parent thread"),metadata:q.unknown().optional().describe("Optional message metadata"),parts:q.array(q.record(q.string(),q.unknown())).describe("Message content parts (AI SDK UIMessagePart format)"),role:q.enum(["user","assistant","system"]).describe("Message role"),created_at:q.string().datetime().describe("Timestamp of creation"),updated_at:q.string().datetime().describe("Timestamp of last update")}),cZ=q.object({id:q.string().describe("Unique thread ID"),organization_id:q.string().describe("Organization this thread belongs to"),title:q.string().describe("Thread title"),description:q.string().nullable().describe("Thread description"),created_at:q.string().datetime().describe("Timestamp of creation"),updated_at:q.string().datetime().describe("Timestamp of last update"),hidden:q.boolean().optional().describe("Whether the thread is hidden"),status:q.enum([...Sz,"expired"]).describe("Thread execution status. 'expired' is virtual -- computed at read time for stale in_progress threads"),created_by:q.string().describe("User ID who created the thread"),updated_by:q.string().nullable().describe("User ID who last updated the thread")}),Lh0=q.object({id:q.string().optional().describe("Optional custom ID for the thread"),title:q.string().describe("Thread title"),description:q.string().nullish().describe("Thread description")}),Nh0=q.object({title:q.string().optional().describe("New thread title"),description:q.string().nullish().describe("New thread description"),hidden:q.boolean().optional().describe("Whether the thread is hidden")})});var QC4,XC4,yV1;var Mh0=S(()=>{v1();k0();HU();DC();QC4=q.object({data:Lh0.describe("Data for the new thread (id is auto-generated if not provided)")}),XC4=q.object({item:cZ.describe("The created thread entity")}),yV1=k1({name:"COLLECTION_THREADS_CREATE",description:"Create a new thread in the organization",annotations:{title:"Create Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:QC4,outputSchema:XC4,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=D9(Q);if(!J)throw Error("User ID required to create thread");let G=Y.data.id??Y$("thrd"),K=await Q.storage.threads.create({id:G,organization_id:X.id,title:Y.data.title,description:Y.data.description,created_by:J});return{item:{...K,hidden:K.hidden??!1}}}})});function T$(Y,Q=Date.now()){let X=Y.status;if(X==="in_progress"){let J=new Date(Y.updated_at).getTime();if(!Number.isFinite(J)||Q-J>1800000)X="expired"}return{...Y,status:X,hidden:Y.hidden??!1}}var JC4,GC4,fV1;var wh0=S(()=>{gX();k0();HU();v1();JC4=dG.extend({where:q.object({created_by:q.string().optional()}).optional()}),GC4=M3(cZ),fV1=k1({name:"COLLECTION_THREADS_LIST",description:"List all threads in the organization with filtering, sorting, and pagination",annotations:{title:"List Threads",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:JC4,outputSchema:GC4,handler:async(Y,Q)=>{await Q.access.check();let X=Q.auth.user?.id;if(!X)throw Error("User ID required to list threads");let J=B0(Q),G=Y.offset??0,K=Y.limit??100,{threads:W,total:Z}=await Q.storage.threads.list(J.id,X,{limit:K,offset:G}),H=G+K<Z,F=Date.now();return{items:W.map(($)=>T$($,F)),totalCount:Z,hasMore:H}}})});var WC4,bV1;var Ah0=S(()=>{gX();k0();HU();WC4=TC(cZ),bV1=k1({name:"COLLECTION_THREADS_GET",description:"Get thread details by ID",annotations:{title:"Get Thread",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:EC,outputSchema:WC4,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=await Q.storage.threads.get(Y.id);if(!J||J.organization_id!==X.id)return{item:null};return{item:T$(J)}}})});var ZC4,KC4,hV1;var Ph0=S(()=>{v1();k0();HU();ZC4=q.object({id:q.string().describe("ID of the thread to update"),data:Nh0.describe("Partial thread data to update")}),KC4=q.object({item:cZ.describe("The updated thread entity")}),hV1=k1({name:"COLLECTION_THREADS_UPDATE",description:"Update an existing thread in the organization",annotations:{title:"Update Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:ZC4,outputSchema:KC4,handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=D9(Q);if(!J)throw Error("User ID required to update thread");let{id:G,data:K}=Y,W=await Q.storage.threads.get(G);if(!W||W.organization_id!==X.id)throw Error("Thread not found in organization");let Z=await Q.storage.threads.update(G,{title:K.title,description:K.description,hidden:K.hidden,updated_by:J});return{item:T$(Z)}}})});var xV1;var Eh0=S(()=>{gX();k0();HU();xV1=k1({name:"COLLECTION_THREADS_DELETE",description:"Delete a thread",annotations:{title:"Delete Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:CC,outputSchema:RC(cZ),handler:async(Y,Q)=>{o1(Q);let X=B0(Q);await Q.access.check();let J=await Q.storage.threads.get(Y.id);if(!J)throw Error(`Thread not found: ${Y.id}`);if(J.organization_id!==X.id)throw Error(`Thread not found: ${Y.id}`);return await Q.storage.threads.delete(Y.id),{item:T$(J)}}})});function Th0(Y){if(!Y)return null;if("field"in Y&&Y.field[0]==="thread_id"&&Y.operator==="eq")return String(Y.value);if("conditions"in Y)for(let Q of Y.conditions){let X=Th0(Q);if(X)return X}return null}var HC4,gV1;var Ch0=S(()=>{gX();k0();HU();HC4=M3(Oh0),gV1=k1({name:"COLLECTION_THREAD_MESSAGES_LIST",description:"List all messages for a specific thread",annotations:{title:"List Thread Messages",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:dG,outputSchema:HC4,handler:async(Y,Q)=>{let X=B0(Q);await Q.access.check();let J=Th0(Y.where);if(!J)throw Error("thread_id filter is required in where clause");let G=await Q.storage.threads.get(J);if(!G||G.organization_id!==X.id)return{items:[],totalCount:0,hasMore:!1};let K=Y.offset??0,W=Y.limit??100,{messages:Z,total:H}=await Q.storage.threads.listMessages(J,{limit:W,offset:K}),F=K+W<H;return{items:Z,totalCount:H,hasMore:F}}})});var Rh0=S(()=>{Mh0();wh0();Ah0();Ph0();Eh0();Ch0()});var $C4,VC4,uV1;var Ih0=S(()=>{v1();k0();$C4=q.object({id:q.string().min(1)}),VC4=q.object({user:q.object({id:q.string(),name:q.string(),email:q.string(),image:q.string().nullable()}).nullable()}),uV1=k1({name:"USER_GET",description:"Get a user by id (restricted to shared organizations)",annotations:{title:"Get User",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:$C4,outputSchema:VC4,handler:async(Y,Q)=>{await Q.access.check(),o1(Q);let X=D9(Q);if(!X)throw Error("Authentication required");let J=await Q.storage.users.findById(Y.id,X);if(!J)return{user:null};return{user:{id:J.id,name:J.name,email:J.email,image:J.image??null}}}})});var jh0=S(()=>{Ih0()});var _h0={};t0(_h0,{managementMCP:()=>zC4,ALL_TOOLS:()=>Sh0});var BC4,UC4,Sh0,zC4=async(Y)=>{let Q=null;if(Y.organization){let G=await Y.storage.organizationSettings.get(Y.organization.id),K=await Y.storage.projects.list(Y.organization.id),W=new Set(G?.enabled_plugins??[]);for(let Z of K)if(Z.enabledPlugins)for(let H of Z.enabledPlugins)W.add(H);Q=W.size>0?[...W]:null}let X=Py0(Sh0,Q),J=new _z({name:"mcp-mesh-management",version:"1.0.0"},{capabilities:{tools:{}}});for(let G of X){let K=G.inputSchema&&typeof G.inputSchema==="object"&&"shape"in G.inputSchema?G.inputSchema:q.object({}),W=G.outputSchema&&typeof G.outputSchema==="object"&&"shape"in G.outputSchema?G.outputSchema:void 0,Z=K.shape,H=W?.shape;J.registerTool(G.name,{description:G.description??"",inputSchema:Z,outputSchema:H,annotations:G.annotations,_meta:G._meta},async(F)=>{Y.access.setToolName(G.name);try{let $=await G.execute(F,Y);return{content:[{type:"text",text:JSON.stringify($)}],structuredContent:$}}catch($){return{content:[{type:"text",text:`Error: ${$.message}`}],isError:!0}}})}return J};var vh0=S(()=>{eF1();Ck();v1();gy0();Zf0();Jb0();Kb0();Ob0();Eb0();Sb0();kb0();lb0();Yh0();Fh0();zh0();Rh0();jh0();BC4=[$V1,VV1,qV1,BV1,UV1,DV1,OV1,LV1,NV1,MV1,wV1,F$1,q$1,B$1,y$1,f$1,b$1,p$1,n$1,i$1,a$1,r$1,o$1,s$1,t$1,e$1,YV1,Zb0,QV1,XV1,JV1,GV1,WV1,ZV1,KV1,HV1,FV1,Q$1,J$1,G$1,X$1,h$1,x$1,g$1,u$1,m$1,l$1,d$1,uV1,Z$1,K$1,H$1,yV1,fV1,bV1,hV1,xV1,gV1,jV1,SV1,_V1,vV1,kV1,AV1,PV1,EV1,TV1,CV1,RV1,IV1],UC4=Ey0(),Sh0=[...BC4,...UC4]});function DC4(Y){return[{permissions:{self:["*"]},getTools:async()=>{let{ALL_TOOLS:Q}=await Promise.resolve().then(() => (vh0(),_h0));return Q.map((X)=>{return{name:X.name,inputSchema:q.toJSONSchema(X.inputSchema,{unrepresentable:"any"}),outputSchema:X.outputSchema?q.toJSONSchema(X.outputSchema,{unrepresentable:"any"}):void 0,description:X.description}})},data:Ut(AG(),Y)},{data:Bt()},{data:qt(Y)}]}async function kh0(Y,Q){try{let X=qC(),J=new LZ1(process.env.ENCRYPTION_KEY||""),G=new NZ1(X.db,J),K=new MZ1(X.db),W=DC4(Y);try{await K.create({organizationId:Y,slug:n7,name:LU,description:"Organization administration and settings",enabledPlugins:null,ui:null})}catch(Z){console.warn("Could not create org-admin project (may already exist):",Z)}await Promise.all(W.map(async(Z)=>{let H=null;if(Z.permissions)H=(await iN.api.createApiKey({body:{name:`${Z.data.app_name??crypto.randomUUID()}-mcp`,userId:Q,permissions:Z.permissions,rateLimitEnabled:!1,metadata:{organization:{id:Y},purpose:"default-org-connections"}}}))?.key;let F=await iL({id:"pending",title:Z.data.title,connection_type:Z.data.connection_type,connection_url:Z.data.connection_url,connection_token:Z.data.connection_token,connection_headers:Z.data.connection_headers}).catch(()=>null),$=await Z.getTools?.()??F?.tools??null,V=F?.scopes?.length?F.scopes:null,B=Z.data.id?Z.data.id.startsWith(`${Y}_`)?Z.data.id:`${Y}_${Z.data.id}`:void 0;await G.create({...Z.data,id:B,tools:$,configuration_scopes:V,organization_id:Y,created_by:Q,connection_token:Z.data.connection_token??H})}))}catch(X){console.error("Error creating default MCP connections:",X)}}var yh0=S(()=>{zY();xm();NM0();MM0();wM0();pm();v1();Np()});var fh0;var bh0=S(()=>{fh0=["owner","admin"]});var OC4=(Y)=>{return{defaultSSO:[{domain:Y.domain,providerId:Y.providerId,oidcConfig:{issuer:`https://login.microsoftonline.com/${Y.MS_TENANT_ID}/v2.0`,pkce:!0,clientId:Y.MS_CLIENT_ID,clientSecret:Y.MS_CLIENT_SECRET,discoveryEndpoint:`https://login.microsoftonline.com/${Y.MS_TENANT_ID}/v2.0/.well-known/openid-configuration`,authorizationEndpoint:`https://login.microsoftonline.com/${Y.MS_TENANT_ID}/oauth2/v2.0/authorize`,tokenEndpoint:`https://login.microsoftonline.com/${Y.MS_TENANT_ID}/oauth2/v2.0/token`,jwksEndpoint:`https://login.microsoftonline.com/${Y.MS_TENANT_ID}/discovery/v2.0/keys`,userInfoEndpoint:"https://graph.microsoft.com/oidc/userinfo",tokenEndpointAuthentication:"client_secret_post",scopes:Y.scopes,mapping:{id:"sub",email:"email",emailVerified:"email_verified",name:"name",image:"picture",extraFields:{emailVerified:"email_verified"}}}}]}},hh0=(Y)=>{if(Y.providerId==="microsoft")return OC4(Y);throw Error(`Unsupported provider: ${Y.providerId}`)};function LC4(Y){return Y.toLowerCase().trim().replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function NC4(){let Y=Math.floor(Math.random()*gh0.length),Q=Math.floor(Math.random()*xh0.length),X=gh0[Y]??"deco",J=xh0[Q]??"studio";return`${X}-${J}`}function jC4(){let Y=[$I],Q=new URL($I);if(Q.hostname==="localhost")Y.push($I.replace("localhost","127.0.0.1"));else if(Q.hostname==="127.0.0.1")Y.push($I.replace("127.0.0.1","localhost"));return Y}var xh0,gh0,MC4,wC4,Tp,AC4,PC4,EC4,uh0,t9,mh0=void 0,mV1=void 0,TC4=!1,CC4,RC4,IC4,$I,iN;var Np=S(()=>{D21();xk1();Ef1();c41();Db1();Ob1();gh();Pb1();xm();OZ1();UM0();yh0();bh0();xh0=["labs","agent","studio","workspace","systems","core","cloud","works"],gh0=["capybara","guarana","deco","samba","feijoada","capoeira","carnival"];MC4=Object.values(G11()).map((Y)=>Y.map((Q)=>Q.name)).flat(),wC4={...wh,self:["*",...MC4]},Tp=WZ(wC4),AC4=Tp.newRole({self:["*"],...u2.statements}),PC4=Tp.newRole({self:["*"],...u2.statements}),EC4=Tp.newRole({self:["*"],...u2.statements}),uh0=Object.values(G11()).map((Y)=>Y.map((Q)=>`self:${Q.name}`)).flat(),t9=hh.auth;if(t9.inviteEmailProviderId&&t9.emailProviders&&t9.emailProviders.length>0){let Y=UC(t9.emailProviders,t9.inviteEmailProviderId);if(Y){let Q=BC(Y);mh0=async(X)=>{let J=X.inviter.user?.name||X.inviter.user?.email,G=`${AG()}/auth/accept-invitation?invitationId=${X.invitation.id}&redirectTo=/`;await Q({to:X.email,subject:`Invitation to join ${X.organization.name}`,html:`
|
|
1480
1480
|
<h2>You've been invited!</h2>
|
|
1481
1481
|
<p>${J} has invited you to join <strong>${X.organization.name}</strong>.</p>
|
|
1482
1482
|
<p><a href="${G}">Click here to accept the invitation</a></p>
|
|
1483
|
-
`})}}}if(t9.resetPasswordEmailProviderId&&t9.emailProviders&&t9.emailProviders.length>0){let Y=UC(t9.emailProviders,t9.resetPasswordEmailProviderId);if(Y){let Q=BC(Y);TC4=!0,mV1=async({user:X,url:J})=>{Q({to:X.email,subject:"Reset your password",html:`
|
|
1483
|
+
`})}}}if(t9.resetPasswordEmailProviderId&&t9.emailProviders&&t9.emailProviders.length>0){let Y=UC(t9.emailProviders,t9.resetPasswordEmailProviderId);if(Y){let Q=BC(Y);TC4=!0,mV1=async({user:X,url:J})=>{await Q({to:X.email,subject:"Reset your password",html:`
|
|
1484
1484
|
<h2>Reset your password</h2>
|
|
1485
1485
|
<p>Click the link below to reset your password:</p>
|
|
1486
1486
|
<p><a href="${J}">Reset password</a></p>
|