decocms 4.34.0 → 4.34.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{AlertCircle-2s5kOZgj.js → AlertCircle-kxrpwTLS.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-B0lt2R6O.js → ArrowUpRight-DqGKLRb1.js} +1 -1
- package/dist/client/assets/{Check-B0N6s4EL.js → Check-CxELWhE9.js} +1 -1
- package/dist/client/assets/{CheckCircle-CIPdmx9R.js → CheckCircle-OTPKR4U6.js} +1 -1
- package/dist/client/assets/{ChevronDown-bR9-OAOH.js → ChevronDown-DIrrP5ZZ.js} +1 -1
- package/dist/client/assets/{ChevronRight-BSSGG1g5.js → ChevronRight-QbI1iSHC.js} +1 -1
- package/dist/client/assets/{ChevronUp-Fslp9Fpy.js → ChevronUp-Bp3hbZQj.js} +1 -1
- package/dist/client/assets/{Circle-BPZeoRCx.js → Circle-tiU2KNyE.js} +1 -1
- package/dist/client/assets/{Copy01-Cz1rKXRy.js → Copy01-C7hkmJy8.js} +1 -1
- package/dist/client/assets/{DotsVertical-15z7dV29.js → DotsVertical-CwNEDP38.js} +1 -1
- package/dist/client/assets/{Eye-DcJnhbvA.js → Eye-JXOnzqdG.js} +1 -1
- package/dist/client/assets/{FilterLines-cTy8iFZe.js → FilterLines-DcvlcHMT.js} +1 -1
- package/dist/client/assets/{Globe01-DIfUBpGL.js → Globe01-B2OLmPvB.js} +1 -1
- package/dist/client/assets/{Globe04-mbYkrh9z.js → Globe04-De7y0kJm.js} +1 -1
- package/dist/client/assets/{HardDrive-j5KCJ6XY.js → HardDrive-yC_cto9C.js} +1 -1
- package/dist/client/assets/{Key01-f-QyjpHL.js → Key01-DyfEcVID.js} +1 -1
- package/dist/client/assets/{LayoutLeft-DWh3M4u4.js → LayoutLeft-DiCYYYMz.js} +1 -1
- package/dist/client/assets/{LinkExternal01-BGZKsGqI.js → LinkExternal01-ClhorI2-.js} +1 -1
- package/dist/client/assets/{List-BWsSMZPj.js → List-CrKUBTjx.js} +1 -1
- package/dist/client/assets/{Loading02-DlI7_e_g.js → Loading02-imhU6smF.js} +1 -1
- package/dist/client/assets/{Monitor01-C0S2ni9X.js → Monitor01-DmYGQHt2.js} +1 -1
- package/dist/client/assets/{Palette-Dvhw-PUQ.js → Palette-Cxw7n41M.js} +1 -1
- package/dist/client/assets/{Play-DC8NP2kr.js → Play-BR0TAxxj.js} +1 -1
- package/dist/client/assets/{Plus-CtK3Oiw2.js → Plus-DXQSfP7_.js} +1 -1
- package/dist/client/assets/{SearchLg-Bnks7xJg.js → SearchLg-Cnral9O5.js} +1 -1
- package/dist/client/assets/{SearchMd-DyX5r8jM.js → SearchMd-BqkaGa6i.js} +1 -1
- package/dist/client/assets/{Settings02-H_IB225h.js → Settings02-DXbpezCG.js} +1 -1
- package/dist/client/assets/{Shield01-BC699jIY.js → Shield01-D7TGUxeo.js} +1 -1
- package/dist/client/assets/{Star01-BbsQJ_sS.js → Star01-B6lNA6gO.js} +1 -1
- package/dist/client/assets/{Stars01-CR3bUaN7.js → Stars01-EwTZuPiE.js} +1 -1
- package/dist/client/assets/{Stars02-BK7UYCtg.js → Stars02-B2-wfsdD.js} +1 -1
- package/dist/client/assets/{Sun-uxTaoEYF.js → Sun-CF0lQrep.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-CB2NLb2L.js → SwitchHorizontal01-W_jdWNM-.js} +1 -1
- package/dist/client/assets/{Tool01-C0uN9zWM.js → Tool01-B4J8642H.js} +1 -1
- package/dist/client/assets/{Trash01-Ua8N5kjP.js → Trash01-CYkKc8Vi.js} +1 -1
- package/dist/client/assets/{Upload01-hPJNmduj.js → Upload01-DwD_nTLR.js} +1 -1
- package/dist/client/assets/{User01-BxMdEKOJ.js → User01-X6-H5lcq.js} +1 -1
- package/dist/client/assets/{Users01-BAVKi7TL.js → Users01-C5i3VxPA.js} +1 -1
- package/dist/client/assets/{Users03-BFPLupFq.js → Users03-ZEsJKb6-.js} +1 -1
- package/dist/client/assets/{X-DEwIfp2g.js → X-DcnhSDZn.js} +1 -1
- package/dist/client/assets/{XCircle-CIONSbDG.js → XCircle-CMVCUqqQ.js} +1 -1
- package/dist/client/assets/{XClose-C6H98gBi.js → XClose-G8kLE__c.js} +1 -1
- package/dist/client/assets/{Zap-BIltjucc.js → Zap-DKfdnAh-.js} +1 -1
- package/dist/client/assets/{ZapSquare-C8hQ9jTF.js → ZapSquare-CNXgpduj.js} +1 -1
- package/dist/client/assets/{ZoomOut-PMoRB_Bg.js → ZoomOut-Dat2xkK-.js} +1 -1
- package/dist/client/assets/{access-gate-DOeBybsR.js → access-gate-HpPFQqNs.js} +1 -1
- package/dist/client/assets/{add-section-modal-CCUIjz6m.js → add-section-modal-BPdLr50T.js} +1 -1
- package/dist/client/assets/{agent-capabilities-kcySA6Rm.js → agent-capabilities-Cq-0yRKX.js} +1 -1
- package/dist/client/assets/{agent-icon-CbBVbeed.js → agent-icon-BAIrMbgy.js} +1 -1
- package/dist/client/assets/{agents-list-xvCGZ9XI.js → agents-list-C2IQKc51.js} +1 -1
- package/dist/client/assets/{ai-providers-Bo_gc-mT.js → ai-providers-29-hcYC2.js} +1 -1
- package/dist/client/assets/{alert-D3io7I88.js → alert-DOLGdn_l.js} +1 -1
- package/dist/client/assets/{alert-dialog-B0nYWSj5.js → alert-dialog-fc9R2mDv.js} +1 -1
- package/dist/client/assets/{app-editor-CkNgnA56.js → app-editor-Bekc1B7u.js} +1 -1
- package/dist/client/assets/{auth-D5wBpl7f.js → auth-DXGsxKO9.js} +1 -1
- package/dist/client/assets/{auth-catchall-DF5Q_pqe.js → auth-catchall-WdaLyd9m.js} +1 -1
- package/dist/client/assets/{auth-entry-CCaGhNGQ.js → auth-entry-BgFILG5y.js} +1 -1
- package/dist/client/assets/{auth-split-layout-w0JcTw7T.js → auth-split-layout-CKqtZndl.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-Chvo_Jes.js → authenticate-and-persist-oauth-D7jG9-6g.js} +1 -1
- package/dist/client/assets/{automation-list-row-Cbdiek4K.js → automation-list-row-DZXZJnNe.js} +1 -1
- package/dist/client/assets/{automation-runs-CGER5GBv.js → automation-runs-BSvCPuYf.js} +1 -1
- package/dist/client/assets/{automations-D0NTvKnQ.js → automations-CmxOZdc8.js} +1 -1
- package/dist/client/assets/{autosend-CmGYW3q_.js → autosend-wFLC83w6.js} +1 -1
- package/dist/client/assets/{avatar-CDXoUCLJ.js → avatar-DOseMR2D.js} +1 -1
- package/dist/client/assets/{badge-Ctcfruzq.js → badge-gsjlrpaP.js} +1 -1
- package/dist/client/assets/{block-document-sswZnu5y.js → block-document-B3iDc5dR.js} +1 -1
- package/dist/client/assets/{brand-context-DM1UEpwM.js → brand-context-Cx-40xe1.js} +1 -1
- package/dist/client/assets/{breadcrumb-DAdC6SnD.js → breadcrumb-BO7VW1wp.js} +1 -1
- package/dist/client/assets/{buckets-Ctfn_0G2.js → buckets-BcdFvKGi.js} +1 -1
- package/dist/client/assets/{bulk-category-panel-D8tuJJzY.js → bulk-category-panel-DXrdus8G.js} +1 -1
- package/dist/client/assets/{calendar-CeqPOUkw.js → calendar-D2kehIU7.js} +1 -1
- package/dist/client/assets/{capability-load-error-DtbGeAKW.js → capability-load-error-B5gH1BNi.js} +1 -1
- package/dist/client/assets/{card-DQi9rgCg.js → card-ClzID5gi.js} +1 -1
- package/dist/client/assets/{category-editor-hoS8HpqO.js → category-editor-DJ9Md0G6.js} +1 -1
- package/dist/client/assets/{chat-context-IHOJkkXf.js → chat-context-BzZ4SRQK.js} +1 -1
- package/dist/client/assets/{checkbox-BURTh-Sz.js → checkbox-BcmbryJe.js} +1 -1
- package/dist/client/assets/{cli-auth-success-_TBsui5t.js → cli-auth-success-aIvY6tXX.js} +1 -1
- package/dist/client/assets/{collection-detail-DaSVHCzi.js → collection-detail-Bv0A9TWu.js} +1 -1
- package/dist/client/assets/{collection-display-button-XYmA1Q40.js → collection-display-button-Hy5EB8Pe.js} +1 -1
- package/dist/client/assets/{collection-search-BNR-_kgt.js → collection-search-Dy7f6BTg.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-DmpUOM4F.js → collection-table-wrapper-B_KnxQzS.js} +1 -1
- package/dist/client/assets/{collection-tabs-DapcRZt3.js → collection-tabs-CvSEhP-s.js} +1 -1
- package/dist/client/assets/{command-C1J-e-lQ.js → command-A33R-TUE.js} +1 -1
- package/dist/client/assets/{commerce-onboarding-Tn_GYu6Z.js → commerce-onboarding-Dtw0tDCU.js} +1 -1
- package/dist/client/assets/{connect-desktop-dialog-CiAszx6Y.js → connect-desktop-dialog-Ca5vX5H5.js} +1 -1
- package/dist/client/assets/{connection-card-Cz90MoMh.js → connection-card-BNlMtMwA.js} +1 -1
- package/dist/client/assets/{connection-detail-C0v5B3ex.js → connection-detail-BAibSobw.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-0tgODnl3.js → connection-form-helpers-C2UvDLU6.js} +1 -1
- package/dist/client/assets/{connections-DdugII7h.js → connections-BlGJW_tV.js} +1 -1
- package/dist/client/assets/{decopilot-sse-pool-CQTNPxQf.js → decopilot-sse-pool-BnDTrYlb.js} +1 -1
- package/dist/client/assets/{dialog-BrzV8etc.js → dialog-C-ohPYXU.js} +1 -1
- package/dist/client/assets/{domain-settings-m2vjPoAZ.js → domain-settings-C8LVMN31.js} +1 -1
- package/dist/client/assets/{drawer-gV6ZWrch.js → drawer-ChLrGp8l.js} +1 -1
- package/dist/client/assets/{dropdown-menu-BddT-o91.js → dropdown-menu-Cw940P_w.js} +1 -1
- package/dist/client/assets/{empty-state-BWAXUEsn.js → empty-state-koT-zjrw.js} +1 -1
- package/dist/client/assets/{extract-connection-data-D7-1aZ_S.js → extract-connection-data-NUqeGLz5.js} +1 -1
- package/dist/client/assets/{file-explorer-SPwatRtZ.js → file-explorer-D1vsY9W0.js} +1 -1
- package/dist/client/assets/{file-type-icon-Bjl2ymkp.js → file-type-icon-Yy7-8ifV.js} +1 -1
- package/dist/client/assets/{files-WWFluIiz.js → files-_t8SG58D.js} +1 -1
- package/dist/client/assets/{form-BRUQyl6J.js → form-CW374vqb.js} +1 -1
- package/dist/client/assets/{general-CTJEme6U.js → general-BOapNvv8.js} +1 -1
- package/dist/client/assets/{github-repo-picker-Do5QoiKl.js → github-repo-picker-C8eZ6IyM.js} +1 -1
- package/dist/client/assets/{hooks-BZdqB8Qy.js → hooks-CcfGV-1D.js} +1 -1
- package/dist/client/assets/{index-CKS3i0IK.js → index-4rl6vGot.js} +1 -1
- package/dist/client/assets/{index-D2gueFhN.js → index-B3mJHEvD.js} +1 -1
- package/dist/client/assets/{index-kon1iupd.js → index-BMzwtrCX.js} +1 -1
- package/dist/client/assets/{index-BoSB3Za-.js → index-C4oojh78.js} +1 -1
- package/dist/client/assets/{index-BNLg4KKP.js → index-C4pnHmds.js} +1 -1
- package/dist/client/assets/{index-wSXh3klb.js → index-C5EVIP0q.js} +1 -1
- package/dist/client/assets/{index-CZEILacv.js → index-CPgyVfc4.js} +5 -5
- package/dist/client/assets/{index-CWK3z81c.js → index-Ci4djjOK.js} +1 -1
- package/dist/client/assets/{index-C7I160AA.js → index-Co-ejoP0.js} +3 -3
- package/dist/client/assets/{index-9TeU21xo.js → index-DqPoZzE9.js} +1 -1
- package/dist/client/assets/{index-DU7aSFO-.js → index-FpgCTOT7.js} +1 -1
- package/dist/client/assets/{index-BDZEdWj1.js → index-WY0spr0O.js} +1 -1
- package/dist/client/assets/{index-D2onA9qc.js → index-Ydu2P22W.js} +1 -1
- package/dist/client/assets/{index-Cn1sj9aZ.js → index-fbdcUhrP.js} +1 -1
- package/dist/client/assets/{index-redirect-C5XTPHMs.js → index-redirect-CTpAFKiX.js} +1 -1
- package/dist/client/assets/{input-DH_VnByH.js → input-DhYzj5Tk.js} +1 -1
- package/dist/client/assets/{integration-icon-D0K1bih8.js → integration-icon-Cw8prpyS.js} +1 -1
- package/dist/client/assets/{invite-member-dialog-ClFLROQn.js → invite-member-dialog-p1xnEtDT.js} +1 -1
- package/dist/client/assets/{label-e6rWM2hU.js → label-CVBkW1pc.js} +1 -1
- package/dist/client/assets/{login-DtuNg2zJ.js → login-BJc7IWJj.js} +1 -1
- package/dist/client/assets/{mcp-oauth-BCaCUxes.js → mcp-oauth-CnIXFzkW.js} +1 -1
- package/dist/client/assets/{members-Ba9Rlcr-.js → members-BSGhRjqM.js} +1 -1
- package/dist/client/assets/{monaco-editor-C_AEiYQZ.js → monaco-editor-nLpDQI46.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-CYKbRIBk.js → monitoring-stats-row-B0zZ0XIB.js} +1 -1
- package/dist/client/assets/{oauth-callback-B-Obhqp0.js → oauth-callback-K0X1q1EL.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-Ba_FEG1I.js → oauth-callback-ai-provider-BFUbFbRs.js} +1 -1
- package/dist/client/assets/{onboarding-CQkojCLg.js → onboarding-BQ0OS4Ub.js} +1 -1
- package/dist/client/assets/{org-install-CZscDtN4.js → org-install-TS5fl07-.js} +1 -1
- package/dist/client/assets/{org-layout-BA5rlSp0.js → org-layout-C-yWsk6U.js} +1 -1
- package/dist/client/assets/{organization-choice-Cz7kgb2K.js → organization-choice-B6KpC8G3.js} +1 -1
- package/dist/client/assets/{page-seo-form-pa11jA1G.js → page-seo-form-BqMV0LKV.js} +1 -1
- package/dist/client/assets/page-seo-sheet-DsaX8seO.js +1 -0
- package/dist/client/assets/{popover-B0KbxhEe.js → popover-BFnqyCom.js} +1 -1
- package/dist/client/assets/{post-editor-DK313FK0.js → post-editor-D1TEJpk5.js} +1 -1
- package/dist/client/assets/{primitives-Cc0JBmYV.js → primitives-t7iRQp2s.js} +1 -1
- package/dist/client/assets/{profile-BCIfg20R.js → profile-CPzi_VRG.js} +1 -1
- package/dist/client/assets/project-app-view-BxRLJIVw.js +1 -0
- package/dist/client/assets/record-editor-kCIFE_mw.js +1 -0
- package/dist/client/assets/{registry-layout-D_d52MHW.js → registry-layout-Bf34yBvx.js} +1 -1
- package/dist/client/assets/registry-vqPwK9O-.js +2 -0
- package/dist/client/assets/{require-capability-Bck21HDw.js → require-capability-DdMznErm.js} +1 -1
- package/dist/client/assets/{required-auth-layout-DF__PTv1.js → required-auth-layout-DyHVqYSS.js} +1 -1
- package/dist/client/assets/{reset-password-DZD1v0KD.js → reset-password-Be_dOizA.js} +1 -1
- package/dist/client/assets/{roles-BfLpKNWG.js → roles-BDizsGl0.js} +1 -1
- package/dist/client/assets/{search-input-D8sB5-Ny.js → search-input-CQHS7QG1.js} +1 -1
- package/dist/client/assets/{secrets-BCprY6aP.js → secrets-DKH8dgrT.js} +1 -1
- package/dist/client/assets/{sections-editor-D_hyAIGN.js → sections-editor-LBHrP7wG.js} +1 -1
- package/dist/client/assets/{select-DN-2P4pj.js → select-CzsD1N9q.js} +1 -1
- package/dist/client/assets/{select-model-B2UNE9H0.js → select-model-nC-LSBOZ.js} +1 -1
- package/dist/client/assets/{seo-editor-CfDwbt3_.js → seo-editor-BjvU3ReD.js} +1 -1
- package/dist/client/assets/{settings-layout-v5WgWzIt.js → settings-layout-UsR9Bx3I.js} +1 -1
- package/dist/client/assets/{settings-section-DkyvVCpj.js → settings-section-DNgbS1I2.js} +1 -1
- package/dist/client/assets/{shell-controls-CLwAtNRs.js → shell-controls-OjOW6Dwc.js} +1 -1
- package/dist/client/assets/{shell-layout-KPAYSy0b.js → shell-layout-Cbb_vRlJ.js} +1 -1
- package/dist/client/assets/{sidebar-CTn5usMP.js → sidebar-KJnK8nrk.js} +1 -1
- package/dist/client/assets/{skeleton-D4gGgavd.js → skeleton-Bmm6f0Gp.js} +1 -1
- package/dist/client/assets/{sso-DPp9OlNK.js → sso-BA59XRo0.js} +1 -1
- package/dist/client/assets/{store-Dw0CvhII.js → store-Bl07ncNY.js} +1 -1
- package/dist/client/assets/store-registry-Cgx93zF2.js +2 -0
- package/dist/client/assets/{studio-tools-PotpJQ3D.js → studio-tools-CJJD-DrC.js} +1 -1
- package/dist/client/assets/{switch-Cmmmt6PD.js → switch-DAU_d76C.js} +1 -1
- package/dist/client/assets/{table-DTgM4O4Z.js → table-Dc2JocMQ.js} +1 -1
- package/dist/client/assets/{tabs-t0q9T5Fa.js → tabs-BF3unf8u.js} +1 -1
- package/dist/client/assets/{textarea-BYIN4Jzx.js → textarea-BTCouUsD.js} +1 -1
- package/dist/client/assets/{toggle-group-DYrBrZmA.js → toggle-group-XlWi5lgA.js} +1 -1
- package/dist/client/assets/{toolbar-BdWX93yt.js → toolbar-BK1hJPTj.js} +1 -1
- package/dist/client/assets/{toolbar-icon-button-Cxc_k7ol.js → toolbar-icon-button-BUElt7I4.js} +1 -1
- package/dist/client/assets/{tools-list-BGKY_7Nz.js → tools-list-Davod7ZG.js} +1 -1
- package/dist/client/assets/{tooltip-Df6PcMNU.js → tooltip-B0Qh7lea.js} +1 -1
- package/dist/client/assets/{types-B8loWUG_.js → types-CuSzpyKw.js} +1 -1
- package/dist/client/assets/{use-ai-providers-DoUITmq_.js → use-ai-providers-DHK75S6p.js} +1 -1
- package/dist/client/assets/{use-automations-TLSZt6TY.js → use-automations-bFhoUtgZ.js} +1 -1
- package/dist/client/assets/{use-capability-1pbErDsM.js → use-capability-BpkjHW3z.js} +1 -1
- package/dist/client/assets/{use-clock-tick-BTJdRGzd.js → use-clock-tick-Clm5uRf6.js} +1 -1
- package/dist/client/assets/{use-collections-u9zczYmq.js → use-collections--cM3Qeq7.js} +1 -1
- package/dist/client/assets/{use-connection-D2zKUXMW.js → use-connection-CR4Vz7ce.js} +1 -1
- package/dist/client/assets/{use-copy-DyeDOflU.js → use-copy-CVOtBpvr.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-BWPnYTVH.js → use-create-virtual-mcp-C2lPltsO.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-DpZx2Woz.js → use-debounced-autosave-C2y4UcN-.js} +1 -1
- package/dist/client/assets/{use-debounced-value-Din3ks-5.js → use-debounced-value-CuWArjTl.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-c_F3xZZq.js → use-decopilot-events-BHQKq2jj.js} +1 -1
- package/dist/client/assets/{use-delete-connection-DMAQk9_a.js → use-delete-connection-LC1P04mn.js} +1 -1
- package/dist/client/assets/{use-file-configs-C5vV28ov.js → use-file-configs-B-ybZcqB.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-D4CUGMlc.js → use-infinite-scroll-CyQmbG2m.js} +1 -1
- package/dist/client/assets/{use-join-requests-DUokiFjq.js → use-join-requests-CN7ASnIr.js} +1 -1
- package/dist/client/assets/{use-mcp-client-Q0KtyZCi.js → use-mcp-client-H4ebtlFw.js} +1 -1
- package/dist/client/assets/{use-mcp-prompts-BmiZpXIz.js → use-mcp-prompts-DzVIzrsZ.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-CZX0T0Gj.js → use-mcp-tools-BwMX341Y.js} +1 -1
- package/dist/client/assets/{use-members-CKOvIbDB.js → use-members-IDCc-uMl.js} +1 -1
- package/dist/client/assets/{use-mobile-DMF4iRSr.js → use-mobile-D1mnAQA2.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-B6McR-Jr.js → use-navigate-to-agent-Bc4I3-P6.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-rtyqEqJT.js → use-org-auth-client-DCoGBkOy.js} +1 -1
- package/dist/client/assets/{use-org-sso-CyoKQ5KE.js → use-org-sso-BLdlBdTl.js} +1 -1
- package/dist/client/assets/{use-organization-roles-N3nyzKDF.js → use-organization-roles-DeyAQ81B.js} +1 -1
- package/dist/client/assets/{use-organization-settings-CKQ7HE6e.js → use-organization-settings-C7FYafQO.js} +1 -1
- package/dist/client/assets/{use-registry-connections-D9xYxJqe.js → use-registry-connections-C8cv2sCT.js} +1 -1
- package/dist/client/assets/{use-secrets-DQ0uwPps.js → use-secrets-B4B-pR71.js} +1 -1
- package/dist/client/assets/{use-status-sounds-o42lSNJw.js → use-status-sounds-BjNROxR8.js} +1 -1
- package/dist/client/assets/{use-view-mode-BExxXwj9.js → use-view-mode-DfXw_uAK.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-7ayI9UXm.js → use-virtual-mcp-DV2NkYPG.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-A0yeoHqe.js +1 -0
- package/dist/client/assets/useSuspenseInfiniteQuery-BK7rDDU6.js +1 -0
- package/dist/client/assets/{variant-calendar-H6YqPrcv.js → variant-calendar-YG_r1AaR.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-DFfA-LaB.js → view-mode-toggle-C8aq9uO2.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +3 -3
- package/dist/server/server.js +3 -3
- package/package.json +1 -1
- package/dist/client/assets/page-seo-sheet-BsxyjdmC.js +0 -1
- package/dist/client/assets/project-app-view-BoVLQZ3E.js +0 -1
- package/dist/client/assets/record-editor-BnxxykzH.js +0 -1
- package/dist/client/assets/registry-CxXpBXKD.js +0 -2
- package/dist/client/assets/store-registry-DNboZUWm.js +0 -2
- package/dist/client/assets/useInfiniteQuery-BsgsE7HF.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-DrOgYVoj.js +0 -1
package/dist/server/cli.js
CHANGED
|
@@ -84413,7 +84413,7 @@ ${d}`;h(N);return}if(E(null,y),t.strategy==="count"){if($--,$===0)h()}if(t.strat
|
|
|
84413
84413
|
SELECT * FROM link_sandboxes WHERE handle = $handle
|
|
84414
84414
|
`);function h(_){if(t===void 0)return!0;let v=UM(_),n=v&&UM(t)?jru(t):t,D=v?jru(_):Kru(_),O=hbt(n,D);return O===""||!O.startsWith("..")&&!$bt(O)}return{upsert(_){f.run({$handle:_.handle,$status:_.status,$sandboxPath:_.sandboxPath,$port:_.port??null,$previewUrl:_.previewUrl??null,$repoCloneUrl:_.repoCloneUrl??null,$branch:_.branch??null,$projectName:_.projectName??null,$error:_.error??null,$now:Date.now()})},list(){return l.all().map(i1i)},reconcile(){let _=Date.now();for(let v of l.all().map(i1i)){if(!h(v.sandboxPath)){c.run({$handle:v.handle,$now:_});continue}if(!UM(v.sandboxPath)){E.run({$handle:v.handle,$now:_});continue}if(v.status==="spawning"||v.status==="ready"||v.status==="failed"||v.status==="missing")d.run({$handle:v.handle,$now:_})}return l.all().map(i1i)},prune(_){let v=[],n=[],D=this.reconcile();for(let O of D){if(!h(O.sandboxPath)){n.push({handle:O.handle,sandboxPath:O.sandboxPath,reason:"outside_root",deletedFiles:!1});continue}if(_.missing&&O.status==="missing"){$.run({$handle:O.handle}),v.push({handle:O.handle,sandboxPath:O.sandboxPath,reason:"missing",deletedFiles:!1});continue}if(!_.merged||!UM(O.sandboxPath))continue;if(O.branch===null||O.branch.trim()===""){n.push({handle:O.handle,sandboxPath:O.sandboxPath,reason:"no_branch",deletedFiles:!1});continue}if(!w2(O.sandboxPath,["rev-parse","--is-inside-work-tree"]).ok){n.push({handle:O.handle,sandboxPath:O.sandboxPath,reason:"git_unavailable",deletedFiles:!1});continue}let N=w2(O.sandboxPath,["status","--porcelain"]);if(!N.ok){n.push({handle:O.handle,sandboxPath:O.sandboxPath,reason:"git_unavailable",deletedFiles:!1});continue}if(N.stdout.trim()!==""){n.push({handle:O.handle,sandboxPath:O.sandboxPath,reason:"dirty_worktree",deletedFiles:!1});continue}let y=Xru(O.sandboxPath,O.branch);if(y===null){n.push({handle:O.handle,sandboxPath:O.sandboxPath,reason:"git_unavailable",deletedFiles:!1});continue}if(!y){n.push({handle:O.handle,sandboxPath:O.sandboxPath,reason:"branch_not_merged",deletedFiles:!1});continue}Ebt(O.sandboxPath,{recursive:!0,force:!0}),$.run({$handle:O.handle}),v.push({handle:O.handle,sandboxPath:O.sandboxPath,reason:"merged",deletedFiles:!0})}return{removed:v,skipped:n}},delete(_){$.run({$handle:_})},inspect(_){let v=w.get({$handle:_});if(v===null)return null;let n=i1i(v),D=0,O=null;if(UM(n.sandboxPath)&&w2(n.sandboxPath,["rev-parse","--is-inside-work-tree"]).ok){let N=w2(n.sandboxPath,["status","--porcelain"]);if(N.ok){let y=N.stdout.trim();D=y===""?0:y.split(`
|
|
84415
84415
|
`).length}if(n.branch!==null&&n.branch.trim()!=="")O=Xru(n.sandboxPath,n.branch)}return{handle:n.handle,branch:n.branch,sandboxPath:n.sandboxPath,dirtyCount:D,merged:O}},close(){u.close()}}}var qHi=()=>{};function Dbt(i,u){return u?[["umount","-f",i]]:[["fusermount","-uz",i],["umount","-l",i]]}function Wru(i,u){if(process.platform==="win32")return;for(let t of Dbt(i,u))if(Bun.spawnSync(t,{stdout:"ignore",stderr:"ignore",timeout:5000}).exitCode===0)break}import{existsSync as gbt,readdirSync as Obt}from"fs";import{rm as Nbt}from"fs/promises";import{join as Yru}from"path";async function zru(i,u={}){let t=u.detach??ybt,f=u.exists??gbt,l=u.readdir??((d)=>Obt(d)),c=u.rm??((d)=>Nbt(d,{recursive:!0,force:!0})),E=Yru(i,"org");if(f(E))for(let d of l(E))t(Yru(E,d));await c(i)}var ybt=(i)=>Wru(i,process.platform==="darwin");var Qru=()=>{};import{join as Zbt}from"path";function Hru(i){let u=i.purge??zru;return{stopSandbox(t){return i.provider.deleteSandbox(t)},inspectSandbox(t){return i.registry.inspect(t)},async removeSandbox(t){try{return await Z1(async()=>{if(await i.provider.deleteSandbox(t),i.provider.hasHandle(t))throw Error("Can't delete \u2014 run in progress");let l=i.registry.inspect(t)?.sandboxPath??Zbt(i.dataDir,"sandboxes",t);await u(l)},{maxAttempts:2,minTimeout:250,jitter:0}),i.registry.delete(t),{ok:!0}}catch(f){let l=f instanceof Jc?f.cause:f;return{ok:!1,error:l instanceof Error?l.message:String(l)}}}}}var bru=g(()=>{B4();Qru()});import{randomBytes as Tbt}from"crypto";import{mkdir as Bbt}from"fs/promises";import{createServer as Fbt}from"net";import{join as Ubt}from"path";function Rru(i,u){return Error(`sandbox failed to start: ${i}`,{cause:u})}function Ibt(i){if(!(i instanceof Error))return!1;return i.name==="TimeoutError"||/timed out|timeout|operation was aborted|aborted/i.test(i.message)}function Cru(i){if(i instanceof Error){let u=i.cause;if(u instanceof Error&&u.message)return u.message;return i.message}return String(i)}function Pbt(i){if(!i)return null;let u=i.trim().replace(/\/+$/,"");if(!u)return null;let t=u.split(/[/:]/).filter(Boolean).at(-1);if(!t)return null;return t.replace(/\.git$/i,"")||null}function Abt(i){return{repoCloneUrl:i.repo?.cloneUrl??null,branch:i.repo?.branch??null,projectName:Pbt(i.repo?.cloneUrl)}}function Mru(i){let u=i.maxSandboxes??20,t=new Map,f=i.pickPort??xbt,l=i.fetchImpl??fetch,c=i.resolvePreviewUrl??((D,O)=>`http://127.0.0.1:${O}`),E=(D)=>Ubt(i.dataDir,"sandboxes",D),d=(D)=>{try{i.registry?.upsert(D)}catch(O){console.warn(`[user-desktop] failed to persist sandbox lifecycle handle=${D.handle} status=${D.status}:`,O)}},$=(D)=>{try{i.onEvent?.(D)}catch{}},w=async(D)=>{let O=new AbortController,N=setTimeout(()=>O.abort(),1500);try{let y=await l(`${D}/health`,{signal:O.signal});if(!y.ok)console.warn(`[user-desktop] probe ${D}/health \u2192 ${y.status} (treating as dead)`);return y.ok}catch(y){return console.warn(`[user-desktop] probe ${D}/health failed: ${y instanceof Error?y.message:String(y)} (treating as dead)`),!1}finally{clearTimeout(N)}},h=(D)=>{console.warn(`[user-desktop] evicting dead daemon handle=${D.handle} port=${D.port}`);try{D.process.kill("SIGTERM")}catch{}if(t.get(D.handle)===D)t.delete(D.handle),d({handle:D.handle,status:"stopped",sandboxPath:E(D.handle),port:null,previewUrl:null,...D.registryMetadata,error:null}),$({handle:D.handle,phase:"evicted"})},_=new Map;function v(){if(t.size<u)return;let D=[...t.values()].filter((N)=>N.activeDispatchCount===0).sort((N,y)=>N.lastUsedAt-y.lastUsedAt);if(D.length===0){console.warn(`[user-desktop] at cap ${t.size}/${u} but every sandbox is pinned (active dispatch) \u2014 exceeding cap temporarily`);return}let O=D[0];console.log(`[user-desktop] evicting LRU victim handle=${O.handle} port=${O.port} (cap ${u} reached, size=${t.size})`);try{O.process.kill("SIGTERM")}catch{}t.delete(O.handle),d({handle:O.handle,status:"stopped",sandboxPath:E(O.handle),port:null,previewUrl:null,...O.registryMetadata,error:null}),$({handle:O.handle,phase:"evicted"})}let n=async(D)=>{let O=Abt(D),N=E(D.handle);d({handle:D.handle,status:"spawning",sandboxPath:N,port:null,previewUrl:null,...O,error:null}),$({handle:D.handle,phase:"spawning",sandboxPath:N,projectName:O.projectName,branch:O.branch}),v();let y,Z=null,T;try{await Bbt(N,{recursive:!0}),console.log(`[user-desktop] ensure handle=${D.handle} repo=${D.repo?.cloneUrl??"(none)"} branch=${D.repo?.branch??"(none)"} runtime=${D.workload?.runtime??"(autodetect)"} pm=${D.workload?.packageManager??"(autodetect)"}`),T=Tbt(24).toString("hex");let[S,A]=await Promise.all([f(),f()]);y=S,console.log(`[user-desktop] spawn handle=${D.handle} port=${y} devPort=${A} workdir=${N}`),Z=await Promise.resolve(i.spawnDaemon({workdir:N,handle:D.handle,port:y,daemonToken:T,offloadAllowedHosts:D.offloadAllowedHosts??[],offloadAllowSameHostDev:D.offloadAllowSameHostDev??!1,orgFsConfigJson:D.orgFsConfigJson}));try{await i.waitForHealth(y)}catch(k){throw Rru("the sandbox didn't come online in time",k)}console.log(`[user-desktop] healthy handle=${D.handle} port=${y} \u2014 posting config`);try{await i.postConfig(y,A,{repo:D.repo,workload:D.workload,operator:D.operator},T)}catch(k){throw Rru(Ibt(k)?"configuration timed out":"the sandbox rejected its configuration",k)}}catch(S){if(console.error(`[user-desktop] sandbox bring-up failed handle=${D.handle} port=${y??"(none)"}${Z?" (killing daemon)":""}:`,S),Z)try{Z.kill("SIGKILL")}catch{}throw $({handle:D.handle,phase:"failed",error:Cru(S),sandboxPath:N,projectName:O.projectName,branch:O.branch}),d({handle:D.handle,status:"failed",sandboxPath:N,port:null,previewUrl:null,...O,error:Cru(S)}),S}if(!Z||y===void 0)throw Error("sandbox bring-up invariant violated");let B=`http://127.0.0.1:${y}`,F=c(D.handle,y);console.log(`[user-desktop] ready handle=${D.handle} port=${y} sandboxApiUrl=${B} previewUrl=${F}`);let P={handle:D.handle,port:y,process:Z,sandboxApiUrl:B,previewUrl:F,lastUsedAt:Date.now(),activeDispatchCount:0,daemonToken:T,registryMetadata:O};if(t.set(D.handle,P),d({handle:D.handle,status:"ready",sandboxPath:N,port:y,previewUrl:F,...O,error:null}),$({handle:D.handle,phase:"ready",port:y,previewUrl:F,sandboxPath:N,projectName:O.projectName,branch:O.branch}),Z.exited)Z.exited.then(()=>{if(t.get(D.handle)===P)console.warn(`[user-desktop] daemon process exited unexpectedly handle=${D.handle} port=${y} \u2014 removing from cache`),t.delete(D.handle),d({handle:D.handle,status:"stopped",sandboxPath:N,port:null,previewUrl:null,...O,error:null}),$({handle:D.handle,phase:"evicted"});else console.log(`[user-desktop] daemon process exited handle=${D.handle} port=${y} (already replaced/removed)`)});return{sandboxApiUrl:B,previewUrl:F,port:y}};return{async ensureSandbox(D){let O=t.get(D.handle);if(O){if(await w(O.sandboxApiUrl))return console.log(`[user-desktop] cache hit handle=${D.handle} port=${O.port} (alive)`),O.lastUsedAt=Date.now(),{sandboxApiUrl:O.sandboxApiUrl,previewUrl:O.previewUrl,port:O.port};console.warn(`[user-desktop] cache stale handle=${D.handle} port=${O.port} \u2014 respawning`),h(O)}let N=_.get(D.handle);if(N)return console.log(`[user-desktop] joining in-flight ensure handle=${D.handle}`),N;let y=n(D).finally(()=>{_.delete(D.handle)});return _.set(D.handle,y),y},proxyPort(D){let O=t.get(D);if(O)O.lastUsedAt=Date.now();return O?.port??null},getDaemonToken(D){return t.get(D)?.daemonToken??null},hasHandle(D){return t.has(D)||_.has(D)},recordHit(D){let O=t.get(D);if(O)O.lastUsedAt=Date.now()},acquireDispatch(D){let O=t.get(D);if(!O)return()=>{};O.activeDispatchCount+=1;let N=!1;return()=>{if(N)return;N=!0;let y=t.get(D);if(y)y.activeDispatchCount=Math.max(0,y.activeDispatchCount-1)}},listSandboxes(){return[...t.values()]},async deleteSandbox(D){let O=t.get(D);if(!O){console.log(`[user-desktop] delete handle=${D} (not found, no-op)`);return}if(O.activeDispatchCount>0){console.warn(`[user-desktop] delete handle=${D} port=${O.port} REFUSED \u2014 ${O.activeDispatchCount} active dispatch(es) in flight`);return}console.log(`[user-desktop] delete handle=${D} port=${O.port}`);try{O.process.kill("SIGTERM")}catch{}t.delete(D),d({handle:D,status:"stopped",sandboxPath:E(D),port:null,previewUrl:null,repoCloneUrl:null,branch:null,projectName:null,error:null}),$({handle:D,phase:"deleted"})},async shutdown(){console.log(`[user-desktop] shutdown \u2014 killing ${t.size} sandbox(es)`);for(let D of t.values())try{D.process.kill("SIGTERM")}catch{}t.clear()}}}function xbt(){return new Promise((i,u)=>{let t=Fbt();t.unref(),t.on("error",u),t.listen(0,"127.0.0.1",()=>{let f=t.address();if(f&&typeof f==="object"){let l=f.port;t.close(()=>i(l))}else t.close(()=>u(Error("could not allocate port")))})})}var qru=()=>{};import{randomUUID as kbt}from"crypto";import{hostname as Gbt}from"os";async function Vru(i){let u=Gbt()||void 0;i.monitor?.onMachine?.(u??"this machine");let t=xbu(i.dataDir,{outFd:i.logFd,perSandboxLog:i.perSandboxLogs,hotReload:i.hotReload}),f=t1i({path:u1i(i.dataDir),managedSandboxRoot:`${i.dataDir}/sandboxes`}),l=!1,c=()=>{if(l)return;l=!0;try{f.close()}catch{}};try{let E=0,d=Mru({dataDir:i.dataDir,registry:f,resolvePreviewUrl:(k,M)=>E>0?`http://${k}.localhost:${E}`:`http://127.0.0.1:${M}`,spawnDaemon:async(k)=>{let M={DAEMON_BOOT_ID:kbt(),APP_ROOT:k.workdir,PROXY_PORT:String(k.port),DAEMON_TOKEN:k.daemonToken,OFFLOAD_ALLOWED_HOSTS:k.offloadAllowedHosts.join(","),...k.offloadAllowSameHostDev?{OFFLOAD_ALLOW_SAME_HOST_DEV:"1"}:{}};if(k.orgFsConfigJson){let W=await jbu(i.dataDir);if(W)M.ORGFS_CONFIG=k.orgFsConfigJson,M.ORGFS_RCLONE_PATH=W}let J=await t({workdir:k.workdir,env:M,daemonPort:k.port});return{port:k.port,kill:(W)=>J.kill(W),exited:J.exited.then(()=>{return})}},postConfig:async(k,M,J,W)=>{let m={port:M};if(J.workload)m.runtime=J.workload.runtime,m.packageManager={name:J.workload.packageManager,...J.workload.packageManagerPath?{path:J.workload.packageManagerPath}:{}};let z={application:m},di=fh(J.operator??null);if(di)z.operator=di;if(J.repo)z.git={repository:{cloneUrl:J.repo.cloneUrl,branch:J.repo.branch},...J.repo.userName&&J.repo.userEmail?{identity:{userName:J.repo.userName,userEmail:J.repo.userEmail}}:{}};await s8(`http://127.0.0.1:${k}`,W,z)},waitForHealth:async(k)=>{await uli(`http://127.0.0.1:${k}`)},maxSandboxes:20,onEvent:i.monitor?.onEvent}),$=await Zru({port:i.port,lookupSandboxPort:(k)=>d.proxyPort(k)});E=$.port,console.log(`Local ingress listening on http://127.0.0.1:${$.port} (use http://<handle>.localhost:${$.port}/)`),i.monitor?.onIngress?.($.port);let w=Jbu({provider:d}),h=async()=>{let k=await o8({dataDir:i.dataDir,target:i.clusterBaseUrl});if(!k)throw Object.assign(Error(`Session for ${i.clusterBaseUrl} is no longer valid \u2014 run \`deco auth login --target ${i.clusterBaseUrl}\` and restart \`deco link\`.`),{fatal:!0});return k.accessToken},_=await Gru(i.dataDir),v=process.env.npm_package_version??"0.0.0",n=await MHi(),D=xru(n,{onChange:(k)=>{console.log(`[link-daemon] capabilities detected: +${k.join(",")} (now: ${n.join(",")})`)}}),O=Kzi({path:`${i.dataDir}/link/outbox.sqlite`});O.clear();let N=()=>{},y=new AbortController,Z={clusterBaseUrl:i.clusterBaseUrl,getAccessToken:h,provider:d,outbox:O,controlHandler:w,capabilities:n,machineId:_,cliVersion:v,previewPort:$.port,onConnected:()=>{i.monitor?.onCluster?.("linked"),console.log(`Linked to ${i.clusterBaseUrl}`)},onShutdown:()=>N(),runLifetimeSignal:y.signal};console.log(`[link-daemon] transport=tunnel cluster=${i.clusterBaseUrl}`);let T=await dru(Z);console.log("[link-daemon] active transport=tunnel");let B,F=new Promise((k)=>{B=k}),P=!1,S=async()=>{if(P)return;P=!0,y.abort(),console.log(`
|
|
84416
|
-
Shutting down\u2026`),D();try{await T.close()}catch{}try{await $.stop()}catch{}try{await d.shutdown()}catch{}try{O.close()}catch{}c(),B(0)};process.on("SIGINT",()=>void S()),process.on("SIGTERM",()=>void S()),N=()=>{console.log("Disconnect requested from the Studio web UI \u2014 shutting down. Run `bunx decocms@latest link` to reconnect."),S()},T.closed.then(()=>{if(i.monitor?.onCluster?.("closed"),!P)console.error("Cluster connection closed permanently; exiting."),S()});let A=Hru({provider:d,registry:f,dataDir:i.dataDir});return{stopped:F,stop:S,stopSandbox:A.stopSandbox,removeSandbox:A.removeSandbox,inspectSandbox:A.inspectSandbox}}catch(E){throw c(),E}}var rru=g(()=>{Pzi();VC();kbu();Kbu();Xbu();Jzi();$ru();Tru();kru();Sru();qC();qHi();bru();qru()});function VHi(i){return i.map((u)=>typeof u==="string"?u:String(u)).join(" ")}var jL;var f1i=g(()=>{jL={name:"decocms",version:"4.34.0",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/mesh"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:'bun run migrate && concurrently "bun run dev:client" "bun run dev:server"',"dev:servers":'concurrently "bun run dev:client" "bun run dev:server"',"dev:client":"vite dev","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts","build:client":"bun --bun vite build","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","db:migrate":"bun run ./dist/server/migrate.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts",test:"bun test","test:ct":"playwright test -c playwright-ct.config.ts","test:ct:ui":"playwright test -c playwright-ct.config.ts --ui","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts","smoke:link":"bun run scripts/smoke-link.ts",prepublishOnly:"bun run build:client && bun run build:server"},optionalDependencies:{"@anthropic-ai/claude-agent-sdk":"^0.3.181","@duckdb/node-api":"^1.5.0-r.1","@openai/codex":"0.144.3","@openai/codex-darwin-arm64":"npm:@openai/codex@0.144.3-darwin-arm64","@openai/codex-darwin-x64":"npm:@openai/codex@0.144.3-darwin-x64","@openai/codex-linux-arm64":"npm:@openai/codex@0.144.3-linux-arm64","@openai/codex-linux-x64":"npm:@openai/codex@0.144.3-linux-x64","@openai/codex-win32-arm64":"npm:@openai/codex@0.144.3-win32-arm64","@openai/codex-win32-x64":"npm:@openai/codex@0.144.3-win32-x64"},dependencies:{"@ai-sdk/anthropic":"^3.0.85","@ai-sdk/google":"^3.0.83","@ai-sdk/openai":"^3.0.73","@anthropic-ai/sdk":"^0.105.0","@aws-sdk/client-s3":"^3.1013.0","@aws-sdk/client-sts":"^3.1013.0","@aws-sdk/lib-storage":"^3.1013.0","@aws-sdk/s3-request-presigner":"^3.1013.0","@clickhouse/client":"^1.8.1","@dbos-inc/dbos-sdk":"^4.21.6","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@inkjs/ui":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.7.1","@nats-io/jetstream":"3.4.0","@nats-io/kv":"3.4.0","@nats-io/nats-core":"3.4.0","@nats-io/transport-node":"3.4.0","@openrouter/ai-sdk-provider":"^2.9.1","@opentelemetry/core":"^2.6.0","@tanstack/react-virtual":"3.13.24","@tiptap/extension-text-align":"3.20.2","@xterm/addon-fit":"^0.11.0","@xterm/xterm":"^6.0.0","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0",kysely:"^0.28.12","node-pty":"^1.0.0","posthog-js":"^1.371.1","posthog-node":"^5.0.0",react:"^19.2.6","react-dom":"^19.2.6","use-stick-to-bottom":"^1.1.6"},devDependencies:{"@ai-sdk/provider":"^3.0.10","@ai-sdk/react":"^3.0.210","@better-auth/sso":"1.4.1","@daveyplate/better-auth-ui":"^3.2.7","@deco/ui":"workspace:*","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/harness":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/mesh-sdk":"workspace:*","@decocms/runtime":"workspace:*","@decocms/sandbox":"workspace:*","@decocms/std":"workspace:*","@decocms/tunnel":"workspace:*","@floating-ui/react":"^0.27.16","@happy-dom/global-registrator":"^20.9.0","@hookform/resolvers":"^5.2.2","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.29.0","@monaco-editor/react":"^4.7.0","@nats-io/jwt":"0.0.10-5","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.207.0","@opentelemetry/sdk-trace-base":"^2.5.0","@playwright/experimental-ct-react":"1.59.1","@playwright/test":"^1.58.2","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-checkbox":"^1.3.3","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-label":"^2.1.7","@radix-ui/react-select":"^2.2.6","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tabs":"^1.1.13","@rjsf/shadcn":"^6.6.2","@rjsf/utils":"^6.6.2","@rjsf/validator-ajv8":"^6.6.2","@tailwindcss/vite":"^4.1.17","@tanstack/react-query":"5.100.10","@tanstack/react-router":"1.169.2","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@tiptap/core":"3.20.2","@tiptap/extension-placeholder":"3.20.2","@tiptap/pm":"3.20.2","@tiptap/react":"3.20.2","@tiptap/starter-kit":"3.20.2","@tiptap/suggestion":"3.20.2","@types/bun":"^1.3.1","@types/google.maps":"^3.65.2","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@untitledui/icons":"^0.0.19","@vercel/nft":"^1.1.1","@vitejs/plugin-react":"^5.1.0",ai:"^6.0.208","babel-plugin-react-compiler":"^1.0.0","better-auth":"1.4.22","class-variance-authority":"^0.7.1",clsx:"^2.1.1",concurrently:"^9.2.1",croner:"^9.1.0","date-fns":"^4.1.0",degit:"^2.8.4",hono:"^4.10.7","input-otp":"^1.4.2",jose:"^6.0.11","lucide-react":"^0.468.0",marked:"^15.0.6",nanoid:"^5.1.6",pg:"^8.16.3",prettier:"^3.4.2","react-hook-form":"^7.66.0","react-markdown":"^10.1.0","react-resizable-panels":"^2.1.7","react-syntax-highlighter":"^15.6.1",recharts:"^3.6.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.0","sass-embedded":"^1.97.2",sonner:"^2.0.7","tailwind-merge":"^3.3.1",tailwindcss:"^4.1.17",typescript:"^5.9.3",vite:"^7.2.1","vite-tsconfig-paths":"^5.1.4",zod:"^4.0.0"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","mesh","tools"],license:"MIT",publishConfig:{access:"public"}}});var IM={};Wi(IM,{printBanner:()=>Kbt,bannerLines:()=>mru,BANNER_LINES:()=>l1i,BANNER_GRADIENT:()=>c1i});function jbt(i){let u=Number.parseInt(i.slice(1),16);return[u>>16&255,u>>8&255,u&255]}function mru(i){let u=l1i.map((t,f)=>{let[l,c,E]=jbt(c1i[f]);return`\x1B[38;2;${l};${c};${E}m${t}\x1B[39m`});if(i!==void 0)u.push(`\x1B[2m v${i}\x1B[22m`);return u}function Kbt(i){console.log("");for(let u of mru(i))console.log(u);console.log("")}var l1i,c1i;var KL=g(()=>{l1i=[" \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 ","\u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 "," \u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2588 \u2591 \u2588\u2588\u2588 \u2591\u2591\u2591 \u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2591\u2591\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591 \u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588 "," \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2591 ","\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591 "],c1i=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"]});import{Box as Jbt,Text as eru}from"ink";import{jsx as Xbt,jsxs as aru}from"react/jsx-runtime";function E1i({version:i}){return aru(Jbt,{flexDirection:"column",marginTop:1,children:[l1i.map((u,t)=>Xbt(eru,{color:c1i[t],children:u},t)),aru(eru,{dimColor:!0,children:[" v",i]})]})}var rHi=g(()=>{KL()});function oru(i){let u=i.branch??i.handle,t=[];if(i.dirtyCount>0)t.push(`${i.dirtyCount} uncommitted file${i.dirtyCount===1?"":"s"}`);if(i.merged===!1)t.push("branch not merged");return t.length>0?`\u26A0 ${t.join(", ")} \u2014 delete ${u}? (y/n)`:`Delete ${u}? (y/n)`}function JL(i){return[...i.values()].map((u)=>u.handle).sort((u,t)=>u.localeCompare(t))}function sru(i,u,t){if(i.length===0)return null;let f=u===null?-1:i.indexOf(u);if(f===-1)return t>0?i[0]:i[i.length-1];let l=Math.max(0,Math.min(i.length-1,f+t));return i[l]}function pru(i,u,t){if(t!==u)return t;let f=i.indexOf(u);if(f===-1)return t;return i[f+1]??i[f-1]??null}var oHi={};Wi(oHi,{subscribeLinkState:()=>mHi,setSelectedHandle:()=>eHi,setRemoving:()=>w1i,setPersistedSandboxes:()=>Mbt,setPendingConfirm:()=>AM,setMachine:()=>Hbt,setLogPath:()=>Rbt,setLinkActions:()=>Cbt,setIngress:()=>Qbt,setDaemonError:()=>bbt,setClusterUrl:()=>zbt,setCluster:()=>Ybt,setActionError:()=>$1i,resetLinkStateForTests:()=>Vbt,removeSandboxRow:()=>aHi,pushSandboxEvent:()=>qbt,getLinkState:()=>PM,applySandboxEvent:()=>imu});function Wbt(i){return i==="spawning"||i==="ready"||i==="failed"}function imu(i,u){let t=new Map(i),f=t.get(u.handle);if(u.phase==="evicted"||u.phase==="deleted"){if(f)t.set(u.handle,{...f,port:null,previewUrl:null,status:"stopped",error:null});return t}return t.set(u.handle,{handle:u.handle,port:u.port??f?.port??null,previewUrl:u.previewUrl??f?.previewUrl??null,status:u.phase,error:u.phase==="failed"?u.error??"failed":null,projectName:u.projectName??f?.projectName??null,branch:u.branch??f?.branch??null,sandboxPath:u.sandboxPath??f?.sandboxPath??null}),t}function umu(){return{cluster:"connecting",clusterUrl:null,ingressUrl:null,ingressPort:null,machine:null,cap:Lbt,sandboxes:new Map,daemonError:null,logPath:null,selectedHandle:null,pendingConfirm:null,removingHandles:new Set,actionError:null,actions:null}}function Jd(){for(let i of d1i)i()}function PM(){return tf}function mHi(i){return d1i.add(i),()=>d1i.delete(i)}function Ybt(i){tf={...tf,cluster:i},Jd()}function zbt(i){tf={...tf,clusterUrl:i},Jd()}function Qbt(i,u){tf={...tf,ingressPort:i,ingressUrl:u},Jd()}function Hbt(i){tf={...tf,machine:i},Jd()}function bbt(i){tf={...tf,daemonError:i},Jd()}function Rbt(i){tf={...tf,logPath:i},Jd()}function eHi(i){tf={...tf,selectedHandle:i},Jd()}function AM(i){tf={...tf,pendingConfirm:i},Jd()}function $1i(i){tf={...tf,actionError:i},Jd()}function w1i(i,u){if(tf.removingHandles.has(i)===u)return;let t=new Set(tf.removingHandles);if(u)t.add(i);else t.delete(i);tf={...tf,removingHandles:t},Jd()}function Cbt(i){tf={...tf,actions:i},Jd()}function aHi(i){let u=JL(tf.sandboxes),t=pru(u,i,tf.selectedHandle),f=new Map(tf.sandboxes);f.delete(i);let l=new Set(tf.removingHandles);l.delete(i),tf={...tf,sandboxes:f,selectedHandle:t,pendingConfirm:null,removingHandles:l},Jd()}function Mbt(i){let u=new Map;for(let t of i)u.set(t.handle,{handle:t.handle,port:t.port,previewUrl:t.previewUrl,status:t.status,error:t.error,projectName:t.projectName,branch:t.branch,sandboxPath:t.sandboxPath});for(let[t,f]of tf.sandboxes)if(Wbt(f.status))u.set(t,f);tf={...tf,sandboxes:u},Jd()}function qbt(i){tf={...tf,sandboxes:imu(tf.sandboxes,i)},Jd()}function Vbt(){tf=umu(),d1i.clear()}var Lbt=20,tf,d1i;var xM=g(()=>{tf=umu(),d1i=new Set});import{spawn as rbt}from"child_process";function mbt(i){if(i==="darwin")return"open";if(i==="win32")return"start";return"xdg-open"}function tmu(i,u=process.platform){let t=mbt(u);try{rbt(t,[i],{stdio:"ignore",detached:!0}).unref()}catch{}}var fmu=()=>{};function lmu(i,u={}){let t=u.openUrl??tmu,f=PM(),l=JL(f.sandboxes),c=f.selectedHandle!==null&&l.includes(f.selectedHandle)?f.selectedHandle:l[0]??null,E=f.actions;switch(i.type){case"move":eHi(sru(l,f.selectedHandle,i.delta));return;case"open":{if(c===null)return;let d=f.sandboxes.get(c);if(d?.status==="ready"&&d.previewUrl)t(d.previewUrl);return}case"stop":if(c!==null&&E)E.stopSandbox(c);return;case"delete":{if(c===null||!E)return;let d=E.inspectSandbox(c),$=f.sandboxes.get(c);$1i(null),AM({handle:c,branch:d?.branch??$?.branch??null,dirtyCount:d?.dirtyCount??0,merged:d?.merged??null});return}case"confirmYes":{let d=f.pendingConfirm;if(AM(null),d===null||!E)return;w1i(d.handle,!0),E.removeSandbox(d.handle).then(($)=>{if($.ok)aHi(d.handle);else w1i(d.handle,!1),$1i($.error)});return}case"confirmNo":AM(null);return;case"quit":if(E)E.quit();return}}var cmu=g(()=>{xM();fmu()});function Emu(i,u,t){if(t)return i==="y"||i==="Y"?{type:"confirmYes"}:{type:"confirmNo"};if(u.upArrow||i==="k")return{type:"move",delta:-1};if(u.downArrow||i==="j")return{type:"move",delta:1};if(i==="s")return{type:"stop"};if(i==="d")return{type:"delete"};if(i==="o")return{type:"open"};if(i==="q"||u.ctrl===!0&&i==="c")return{type:"quit"};return null}var dmu={};Wi(dmu,{LinkApp:()=>sbt});import{Box as bl,Text as d1,useInput as ebt}from"ink";import{useSyncExternalStore as abt}from"react";import{jsx as Pf,jsxs as Dh}from"react/jsx-runtime";function obt(i,u){if(u)return{color:"yellow",text:"\u25CC Removing\u2026"};if(i.status==="ready")return{color:"green",text:"\u25CF Live"};if(i.status==="spawning")return{color:"yellow",text:"\u25CC Starting\u2026"};if(i.status==="stopped")return{color:"gray",text:"\u25A0 Stopped"};if(i.status==="missing")return{color:"yellow",text:"\u25A1 Missing"};if(i.status==="merged")return{color:"cyan",text:"\u2713 Merged"};if(i.status==="invalid")return{color:"red",text:"\u2717 Invalid"};if(i.status==="failed")return{color:"red",text:`\u2717 Failed: ${i.error??"failed"}`};return{color:"red",text:`\u2717 Error: ${i.error??""}`}}function sbt(){let i=abt(mHi,PM),u=[...i.sandboxes.values()].sort((l,c)=>l.handle.localeCompare(c.handle)),t=JL(i.sandboxes),f=i.selectedHandle!==null&&t.includes(i.selectedHandle)?i.selectedHandle:t[0]??null;return ebt((l,c)=>{let E=Emu(l,c,i.pendingConfirm!==null);if(E!==null)lmu(E)}),Dh(bl,{flexDirection:"column",children:[Pf(E1i,{version:jL.version}),Pf(bl,{marginBottom:1,children:Pf(d1,{dimColor:!0,children:"\u2500".repeat(80)})}),Pf(bl,{children:i.cluster==="linked"?Dh(d1,{color:"green",children:["\u2713 Connected to ",i.clusterUrl??"deco"]}):i.cluster==="connecting"?Dh(d1,{color:"yellow",children:["\u25CC Connecting to ",i.clusterUrl??"deco","\u2026"]}):Dh(d1,{color:"red",children:["\u2717 Disconnected from ",i.clusterUrl??"deco"]})}),Pf(bl,{children:i.ingressUrl?Dh(d1,{color:"green",children:["\u2713 Serving at ",i.ingressUrl]}):Pf(d1,{dimColor:!0,children:"\u25CC Starting local server\u2026"})}),Pf(bl,{marginBottom:1,children:Pf(d1,{dimColor:!0,children:`${"Computer".padEnd(16)}${i.machine??"this computer"} \xB7 ${u.length} of ${i.cap} previews`})}),u.length===0?Pf(d1,{dimColor:!0,children:"No previews running yet."}):Dh(bl,{flexDirection:"column",children:[Dh(bl,{children:[Pf(bl,{width:2,flexShrink:0}),Pf(bl,{width:XL.project,flexShrink:0,marginRight:1,children:Pf(d1,{dimColor:!0,wrap:"truncate-end",children:"PROJECT"})}),Pf(bl,{width:XL.branch,flexShrink:0,marginRight:1,children:Pf(d1,{dimColor:!0,wrap:"truncate-end",children:"BRANCH"})}),Pf(bl,{width:XL.status,flexShrink:0,marginRight:1,children:Pf(d1,{dimColor:!0,wrap:"truncate-end",children:"STATUS"})}),Pf(bl,{flexGrow:1,children:Pf(d1,{dimColor:!0,wrap:"truncate-end",children:"PREVIEW URL"})})]}),u.map((l)=>{let c=obt(l,i.removingHandles.has(l.handle)),E=l.handle===f;return Dh(bl,{children:[Pf(bl,{width:2,flexShrink:0,children:Pf(d1,{color:"cyan",children:E?"\u203A":" "})}),Pf(bl,{width:XL.project,flexShrink:0,marginRight:1,children:Pf(d1,{bold:E,wrap:"truncate-end",children:l.projectName??l.handle})}),Pf(bl,{width:XL.branch,flexShrink:0,marginRight:1,children:Pf(d1,{bold:E,wrap:"truncate-end",children:l.branch??"\u2014"})}),Pf(bl,{width:XL.status,flexShrink:0,marginRight:1,children:Pf(d1,{color:c.color,bold:E,wrap:"truncate-end",children:c.text})}),Pf(bl,{flexGrow:1,children:Pf(d1,{dimColor:!0,wrap:"truncate-end",children:l.previewUrl??"\u2014"})})]},l.handle)})]}),i.daemonError?Pf(bl,{marginTop:1,children:Dh(d1,{color:"red",children:["\u26A0 ",i.daemonError]})}):null,i.logPath?Pf(bl,{marginTop:1,children:Dh(d1,{dimColor:!0,children:["Logs: ",i.logPath]})}):null,i.pendingConfirm?Pf(bl,{marginTop:1,children:Pf(d1,{color:"yellow",children:oru(i.pendingConfirm)})}):null,i.actionError?Pf(bl,{marginTop:1,children:Dh(d1,{color:"red",children:["\u2717 ",i.actionError]})}):null,Pf(bl,{marginTop:1,children:Pf(d1,{dimColor:!0,children:"\u2191\u2193 move \xB7 s stop \xB7 d delete \xB7 o open \xB7 q quit"})})]})}var XL;var $mu=g(()=>{f1i();rHi();cmu();xM();XL={project:18,branch:22,status:14}});var wmu={};Wi(wmu,{runLinkCommand:()=>ERt});import{closeSync as pbt,mkdirSync as iRt,openSync as uRt,writeSync as tRt}from"fs";import{homedir as fRt}from"os";import{join as sHi}from"path";function lRt(i,u){let t={log:console.log,warn:console.warn,error:console.error},f=(l)=>{if(u===void 0)return;try{tRt(u,`${VHi(l)}
|
|
84416
|
+
Shutting down\u2026`),D();try{await T.close()}catch{}try{await $.stop()}catch{}try{await d.shutdown()}catch{}try{O.close()}catch{}c(),B(0)};process.on("SIGINT",()=>void S()),process.on("SIGTERM",()=>void S()),N=()=>{console.log("Disconnect requested from the Studio web UI \u2014 shutting down. Run `bunx decocms@latest link` to reconnect."),S()},T.closed.then(()=>{if(i.monitor?.onCluster?.("closed"),!P)console.error("Cluster connection closed permanently; exiting."),S()});let A=Hru({provider:d,registry:f,dataDir:i.dataDir});return{stopped:F,stop:S,stopSandbox:A.stopSandbox,removeSandbox:A.removeSandbox,inspectSandbox:A.inspectSandbox}}catch(E){throw c(),E}}var rru=g(()=>{Pzi();VC();kbu();Kbu();Xbu();Jzi();$ru();Tru();kru();Sru();qC();qHi();bru();qru()});function VHi(i){return i.map((u)=>typeof u==="string"?u:String(u)).join(" ")}var jL;var f1i=g(()=>{jL={name:"decocms",version:"4.34.1",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/mesh"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:'bun run migrate && concurrently "bun run dev:client" "bun run dev:server"',"dev:servers":'concurrently "bun run dev:client" "bun run dev:server"',"dev:client":"vite dev","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts","build:client":"bun --bun vite build","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","db:migrate":"bun run ./dist/server/migrate.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts",test:"bun test","test:ct":"playwright test -c playwright-ct.config.ts","test:ct:ui":"playwright test -c playwright-ct.config.ts --ui","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts","smoke:link":"bun run scripts/smoke-link.ts",prepublishOnly:"bun run build:client && bun run build:server"},optionalDependencies:{"@anthropic-ai/claude-agent-sdk":"^0.3.181","@duckdb/node-api":"^1.5.0-r.1","@openai/codex":"0.144.3","@openai/codex-darwin-arm64":"npm:@openai/codex@0.144.3-darwin-arm64","@openai/codex-darwin-x64":"npm:@openai/codex@0.144.3-darwin-x64","@openai/codex-linux-arm64":"npm:@openai/codex@0.144.3-linux-arm64","@openai/codex-linux-x64":"npm:@openai/codex@0.144.3-linux-x64","@openai/codex-win32-arm64":"npm:@openai/codex@0.144.3-win32-arm64","@openai/codex-win32-x64":"npm:@openai/codex@0.144.3-win32-x64"},dependencies:{"@ai-sdk/anthropic":"^3.0.85","@ai-sdk/google":"^3.0.83","@ai-sdk/openai":"^3.0.73","@anthropic-ai/sdk":"^0.105.0","@aws-sdk/client-s3":"^3.1013.0","@aws-sdk/client-sts":"^3.1013.0","@aws-sdk/lib-storage":"^3.1013.0","@aws-sdk/s3-request-presigner":"^3.1013.0","@clickhouse/client":"^1.8.1","@dbos-inc/dbos-sdk":"^4.21.6","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@inkjs/ui":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.7.1","@nats-io/jetstream":"3.4.0","@nats-io/kv":"3.4.0","@nats-io/nats-core":"3.4.0","@nats-io/transport-node":"3.4.0","@openrouter/ai-sdk-provider":"^2.9.1","@opentelemetry/core":"^2.6.0","@tanstack/react-virtual":"3.13.24","@tiptap/extension-text-align":"3.20.2","@xterm/addon-fit":"^0.11.0","@xterm/xterm":"^6.0.0","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0",kysely:"^0.28.12","node-pty":"^1.0.0","posthog-js":"^1.371.1","posthog-node":"^5.0.0",react:"^19.2.6","react-dom":"^19.2.6","use-stick-to-bottom":"^1.1.6"},devDependencies:{"@ai-sdk/provider":"^3.0.10","@ai-sdk/react":"^3.0.210","@better-auth/sso":"1.4.1","@daveyplate/better-auth-ui":"^3.2.7","@deco/ui":"workspace:*","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/harness":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/mesh-sdk":"workspace:*","@decocms/runtime":"workspace:*","@decocms/sandbox":"workspace:*","@decocms/std":"workspace:*","@decocms/tunnel":"workspace:*","@floating-ui/react":"^0.27.16","@happy-dom/global-registrator":"^20.9.0","@hookform/resolvers":"^5.2.2","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.29.0","@monaco-editor/react":"^4.7.0","@nats-io/jwt":"0.0.10-5","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.207.0","@opentelemetry/sdk-trace-base":"^2.5.0","@playwright/experimental-ct-react":"1.59.1","@playwright/test":"^1.58.2","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-checkbox":"^1.3.3","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-label":"^2.1.7","@radix-ui/react-select":"^2.2.6","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tabs":"^1.1.13","@rjsf/shadcn":"^6.6.2","@rjsf/utils":"^6.6.2","@rjsf/validator-ajv8":"^6.6.2","@tailwindcss/vite":"^4.1.17","@tanstack/react-query":"5.100.10","@tanstack/react-router":"1.169.2","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@tiptap/core":"3.20.2","@tiptap/extension-placeholder":"3.20.2","@tiptap/pm":"3.20.2","@tiptap/react":"3.20.2","@tiptap/starter-kit":"3.20.2","@tiptap/suggestion":"3.20.2","@types/bun":"^1.3.1","@types/google.maps":"^3.65.2","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@untitledui/icons":"^0.0.19","@vercel/nft":"^1.1.1","@vitejs/plugin-react":"^5.1.0",ai:"^6.0.208","babel-plugin-react-compiler":"^1.0.0","better-auth":"1.4.22","class-variance-authority":"^0.7.1",clsx:"^2.1.1",concurrently:"^9.2.1",croner:"^9.1.0","date-fns":"^4.1.0",degit:"^2.8.4",hono:"^4.10.7","input-otp":"^1.4.2",jose:"^6.0.11","lucide-react":"^0.468.0",marked:"^15.0.6",nanoid:"^5.1.6",pg:"^8.16.3",prettier:"^3.4.2","react-hook-form":"^7.66.0","react-markdown":"^10.1.0","react-resizable-panels":"^2.1.7","react-syntax-highlighter":"^15.6.1",recharts:"^3.6.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.0","sass-embedded":"^1.97.2",sonner:"^2.0.7","tailwind-merge":"^3.3.1",tailwindcss:"^4.1.17",typescript:"^5.9.3",vite:"^7.2.1","vite-tsconfig-paths":"^5.1.4",zod:"^4.0.0"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","mesh","tools"],license:"MIT",publishConfig:{access:"public"}}});var IM={};Wi(IM,{printBanner:()=>Kbt,bannerLines:()=>mru,BANNER_LINES:()=>l1i,BANNER_GRADIENT:()=>c1i});function jbt(i){let u=Number.parseInt(i.slice(1),16);return[u>>16&255,u>>8&255,u&255]}function mru(i){let u=l1i.map((t,f)=>{let[l,c,E]=jbt(c1i[f]);return`\x1B[38;2;${l};${c};${E}m${t}\x1B[39m`});if(i!==void 0)u.push(`\x1B[2m v${i}\x1B[22m`);return u}function Kbt(i){console.log("");for(let u of mru(i))console.log(u);console.log("")}var l1i,c1i;var KL=g(()=>{l1i=[" \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 ","\u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 "," \u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2588 \u2591 \u2588\u2588\u2588 \u2591\u2591\u2591 \u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2591\u2591\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591 \u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588 "," \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2591 ","\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591 "],c1i=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"]});import{Box as Jbt,Text as eru}from"ink";import{jsx as Xbt,jsxs as aru}from"react/jsx-runtime";function E1i({version:i}){return aru(Jbt,{flexDirection:"column",marginTop:1,children:[l1i.map((u,t)=>Xbt(eru,{color:c1i[t],children:u},t)),aru(eru,{dimColor:!0,children:[" v",i]})]})}var rHi=g(()=>{KL()});function oru(i){let u=i.branch??i.handle,t=[];if(i.dirtyCount>0)t.push(`${i.dirtyCount} uncommitted file${i.dirtyCount===1?"":"s"}`);if(i.merged===!1)t.push("branch not merged");return t.length>0?`\u26A0 ${t.join(", ")} \u2014 delete ${u}? (y/n)`:`Delete ${u}? (y/n)`}function JL(i){return[...i.values()].map((u)=>u.handle).sort((u,t)=>u.localeCompare(t))}function sru(i,u,t){if(i.length===0)return null;let f=u===null?-1:i.indexOf(u);if(f===-1)return t>0?i[0]:i[i.length-1];let l=Math.max(0,Math.min(i.length-1,f+t));return i[l]}function pru(i,u,t){if(t!==u)return t;let f=i.indexOf(u);if(f===-1)return t;return i[f+1]??i[f-1]??null}var oHi={};Wi(oHi,{subscribeLinkState:()=>mHi,setSelectedHandle:()=>eHi,setRemoving:()=>w1i,setPersistedSandboxes:()=>Mbt,setPendingConfirm:()=>AM,setMachine:()=>Hbt,setLogPath:()=>Rbt,setLinkActions:()=>Cbt,setIngress:()=>Qbt,setDaemonError:()=>bbt,setClusterUrl:()=>zbt,setCluster:()=>Ybt,setActionError:()=>$1i,resetLinkStateForTests:()=>Vbt,removeSandboxRow:()=>aHi,pushSandboxEvent:()=>qbt,getLinkState:()=>PM,applySandboxEvent:()=>imu});function Wbt(i){return i==="spawning"||i==="ready"||i==="failed"}function imu(i,u){let t=new Map(i),f=t.get(u.handle);if(u.phase==="evicted"||u.phase==="deleted"){if(f)t.set(u.handle,{...f,port:null,previewUrl:null,status:"stopped",error:null});return t}return t.set(u.handle,{handle:u.handle,port:u.port??f?.port??null,previewUrl:u.previewUrl??f?.previewUrl??null,status:u.phase,error:u.phase==="failed"?u.error??"failed":null,projectName:u.projectName??f?.projectName??null,branch:u.branch??f?.branch??null,sandboxPath:u.sandboxPath??f?.sandboxPath??null}),t}function umu(){return{cluster:"connecting",clusterUrl:null,ingressUrl:null,ingressPort:null,machine:null,cap:Lbt,sandboxes:new Map,daemonError:null,logPath:null,selectedHandle:null,pendingConfirm:null,removingHandles:new Set,actionError:null,actions:null}}function Jd(){for(let i of d1i)i()}function PM(){return tf}function mHi(i){return d1i.add(i),()=>d1i.delete(i)}function Ybt(i){tf={...tf,cluster:i},Jd()}function zbt(i){tf={...tf,clusterUrl:i},Jd()}function Qbt(i,u){tf={...tf,ingressPort:i,ingressUrl:u},Jd()}function Hbt(i){tf={...tf,machine:i},Jd()}function bbt(i){tf={...tf,daemonError:i},Jd()}function Rbt(i){tf={...tf,logPath:i},Jd()}function eHi(i){tf={...tf,selectedHandle:i},Jd()}function AM(i){tf={...tf,pendingConfirm:i},Jd()}function $1i(i){tf={...tf,actionError:i},Jd()}function w1i(i,u){if(tf.removingHandles.has(i)===u)return;let t=new Set(tf.removingHandles);if(u)t.add(i);else t.delete(i);tf={...tf,removingHandles:t},Jd()}function Cbt(i){tf={...tf,actions:i},Jd()}function aHi(i){let u=JL(tf.sandboxes),t=pru(u,i,tf.selectedHandle),f=new Map(tf.sandboxes);f.delete(i);let l=new Set(tf.removingHandles);l.delete(i),tf={...tf,sandboxes:f,selectedHandle:t,pendingConfirm:null,removingHandles:l},Jd()}function Mbt(i){let u=new Map;for(let t of i)u.set(t.handle,{handle:t.handle,port:t.port,previewUrl:t.previewUrl,status:t.status,error:t.error,projectName:t.projectName,branch:t.branch,sandboxPath:t.sandboxPath});for(let[t,f]of tf.sandboxes)if(Wbt(f.status))u.set(t,f);tf={...tf,sandboxes:u},Jd()}function qbt(i){tf={...tf,sandboxes:imu(tf.sandboxes,i)},Jd()}function Vbt(){tf=umu(),d1i.clear()}var Lbt=20,tf,d1i;var xM=g(()=>{tf=umu(),d1i=new Set});import{spawn as rbt}from"child_process";function mbt(i){if(i==="darwin")return"open";if(i==="win32")return"start";return"xdg-open"}function tmu(i,u=process.platform){let t=mbt(u);try{rbt(t,[i],{stdio:"ignore",detached:!0}).unref()}catch{}}var fmu=()=>{};function lmu(i,u={}){let t=u.openUrl??tmu,f=PM(),l=JL(f.sandboxes),c=f.selectedHandle!==null&&l.includes(f.selectedHandle)?f.selectedHandle:l[0]??null,E=f.actions;switch(i.type){case"move":eHi(sru(l,f.selectedHandle,i.delta));return;case"open":{if(c===null)return;let d=f.sandboxes.get(c);if(d?.status==="ready"&&d.previewUrl)t(d.previewUrl);return}case"stop":if(c!==null&&E)E.stopSandbox(c);return;case"delete":{if(c===null||!E)return;let d=E.inspectSandbox(c),$=f.sandboxes.get(c);$1i(null),AM({handle:c,branch:d?.branch??$?.branch??null,dirtyCount:d?.dirtyCount??0,merged:d?.merged??null});return}case"confirmYes":{let d=f.pendingConfirm;if(AM(null),d===null||!E)return;w1i(d.handle,!0),E.removeSandbox(d.handle).then(($)=>{if($.ok)aHi(d.handle);else w1i(d.handle,!1),$1i($.error)});return}case"confirmNo":AM(null);return;case"quit":if(E)E.quit();return}}var cmu=g(()=>{xM();fmu()});function Emu(i,u,t){if(t)return i==="y"||i==="Y"?{type:"confirmYes"}:{type:"confirmNo"};if(u.upArrow||i==="k")return{type:"move",delta:-1};if(u.downArrow||i==="j")return{type:"move",delta:1};if(i==="s")return{type:"stop"};if(i==="d")return{type:"delete"};if(i==="o")return{type:"open"};if(i==="q"||u.ctrl===!0&&i==="c")return{type:"quit"};return null}var dmu={};Wi(dmu,{LinkApp:()=>sbt});import{Box as bl,Text as d1,useInput as ebt}from"ink";import{useSyncExternalStore as abt}from"react";import{jsx as Pf,jsxs as Dh}from"react/jsx-runtime";function obt(i,u){if(u)return{color:"yellow",text:"\u25CC Removing\u2026"};if(i.status==="ready")return{color:"green",text:"\u25CF Live"};if(i.status==="spawning")return{color:"yellow",text:"\u25CC Starting\u2026"};if(i.status==="stopped")return{color:"gray",text:"\u25A0 Stopped"};if(i.status==="missing")return{color:"yellow",text:"\u25A1 Missing"};if(i.status==="merged")return{color:"cyan",text:"\u2713 Merged"};if(i.status==="invalid")return{color:"red",text:"\u2717 Invalid"};if(i.status==="failed")return{color:"red",text:`\u2717 Failed: ${i.error??"failed"}`};return{color:"red",text:`\u2717 Error: ${i.error??""}`}}function sbt(){let i=abt(mHi,PM),u=[...i.sandboxes.values()].sort((l,c)=>l.handle.localeCompare(c.handle)),t=JL(i.sandboxes),f=i.selectedHandle!==null&&t.includes(i.selectedHandle)?i.selectedHandle:t[0]??null;return ebt((l,c)=>{let E=Emu(l,c,i.pendingConfirm!==null);if(E!==null)lmu(E)}),Dh(bl,{flexDirection:"column",children:[Pf(E1i,{version:jL.version}),Pf(bl,{marginBottom:1,children:Pf(d1,{dimColor:!0,children:"\u2500".repeat(80)})}),Pf(bl,{children:i.cluster==="linked"?Dh(d1,{color:"green",children:["\u2713 Connected to ",i.clusterUrl??"deco"]}):i.cluster==="connecting"?Dh(d1,{color:"yellow",children:["\u25CC Connecting to ",i.clusterUrl??"deco","\u2026"]}):Dh(d1,{color:"red",children:["\u2717 Disconnected from ",i.clusterUrl??"deco"]})}),Pf(bl,{children:i.ingressUrl?Dh(d1,{color:"green",children:["\u2713 Serving at ",i.ingressUrl]}):Pf(d1,{dimColor:!0,children:"\u25CC Starting local server\u2026"})}),Pf(bl,{marginBottom:1,children:Pf(d1,{dimColor:!0,children:`${"Computer".padEnd(16)}${i.machine??"this computer"} \xB7 ${u.length} of ${i.cap} previews`})}),u.length===0?Pf(d1,{dimColor:!0,children:"No previews running yet."}):Dh(bl,{flexDirection:"column",children:[Dh(bl,{children:[Pf(bl,{width:2,flexShrink:0}),Pf(bl,{width:XL.project,flexShrink:0,marginRight:1,children:Pf(d1,{dimColor:!0,wrap:"truncate-end",children:"PROJECT"})}),Pf(bl,{width:XL.branch,flexShrink:0,marginRight:1,children:Pf(d1,{dimColor:!0,wrap:"truncate-end",children:"BRANCH"})}),Pf(bl,{width:XL.status,flexShrink:0,marginRight:1,children:Pf(d1,{dimColor:!0,wrap:"truncate-end",children:"STATUS"})}),Pf(bl,{flexGrow:1,children:Pf(d1,{dimColor:!0,wrap:"truncate-end",children:"PREVIEW URL"})})]}),u.map((l)=>{let c=obt(l,i.removingHandles.has(l.handle)),E=l.handle===f;return Dh(bl,{children:[Pf(bl,{width:2,flexShrink:0,children:Pf(d1,{color:"cyan",children:E?"\u203A":" "})}),Pf(bl,{width:XL.project,flexShrink:0,marginRight:1,children:Pf(d1,{bold:E,wrap:"truncate-end",children:l.projectName??l.handle})}),Pf(bl,{width:XL.branch,flexShrink:0,marginRight:1,children:Pf(d1,{bold:E,wrap:"truncate-end",children:l.branch??"\u2014"})}),Pf(bl,{width:XL.status,flexShrink:0,marginRight:1,children:Pf(d1,{color:c.color,bold:E,wrap:"truncate-end",children:c.text})}),Pf(bl,{flexGrow:1,children:Pf(d1,{dimColor:!0,wrap:"truncate-end",children:l.previewUrl??"\u2014"})})]},l.handle)})]}),i.daemonError?Pf(bl,{marginTop:1,children:Dh(d1,{color:"red",children:["\u26A0 ",i.daemonError]})}):null,i.logPath?Pf(bl,{marginTop:1,children:Dh(d1,{dimColor:!0,children:["Logs: ",i.logPath]})}):null,i.pendingConfirm?Pf(bl,{marginTop:1,children:Pf(d1,{color:"yellow",children:oru(i.pendingConfirm)})}):null,i.actionError?Pf(bl,{marginTop:1,children:Dh(d1,{color:"red",children:["\u2717 ",i.actionError]})}):null,Pf(bl,{marginTop:1,children:Pf(d1,{dimColor:!0,children:"\u2191\u2193 move \xB7 s stop \xB7 d delete \xB7 o open \xB7 q quit"})})]})}var XL;var $mu=g(()=>{f1i();rHi();cmu();xM();XL={project:18,branch:22,status:14}});var wmu={};Wi(wmu,{runLinkCommand:()=>ERt});import{closeSync as pbt,mkdirSync as iRt,openSync as uRt,writeSync as tRt}from"fs";import{homedir as fRt}from"os";import{join as sHi}from"path";function lRt(i,u){let t={log:console.log,warn:console.warn,error:console.error},f=(l)=>{if(u===void 0)return;try{tRt(u,`${VHi(l)}
|
|
84417
84417
|
`)}catch{}};return console.log=(...l)=>f(l),console.warn=(...l)=>f(l),console.error=(...l)=>{f(l),i(VHi(l))},()=>{console.log=t.log,console.warn=t.warn,console.error=t.error}}async function cRt(i,u){let t;try{t=await fetch(`${i}/api/links/me`,{headers:{authorization:`Bearer ${u}`},signal:AbortSignal.timeout(1e4)})}catch{return}if(t.status===401||t.status===403)throw Error(`Authentication rejected by ${i} \u2014 the session token was not accepted. `+`Run \`deco auth login --target ${i}\` and try again.`)}async function ERt(i={}){let u=i.port??5174,t=i.dataDir??process.env.DATA_DIR??process.env.DECOCMS_HOME??sHi(fRt(),"deco"),f=i.clusterBaseUrl??process.env.MESH_CLUSTER_URL??"https://studio.decocms.com",l,c,E,d=()=>{if(E===void 0)return;try{E.close()}catch{}finally{E=void 0}};try{let $=sHi(t,"sandboxes");E=t1i({path:u1i(t),managedSandboxRoot:$});let w=await o4i({dataDir:t,intent:"Link",target:f});if(process.env.DECOCMS_LINK_MANAGED!=="1")await cRt(f,w.accessToken);let h=E.reconcile();if(i.prune){let D=E.prune({missing:!0,merged:!0});if(!i.tui)console.log(`Pruned local sandboxes: removed ${D.removed.length}, skipped ${D.skipped.length}.`);h=E.reconcile()}let _;if(i.tui){let{render:D}=await import("ink"),{createElement:O}=await import("react"),{LinkApp:N}=await Promise.resolve().then(() => ($mu(),dmu)),{pushSandboxEvent:y,setCluster:Z,setClusterUrl:T,setDaemonError:B,setIngress:F,setLogPath:P,setMachine:S,setPersistedSandboxes:A}=await Promise.resolve().then(() => (xM(),oHi));iRt(t,{recursive:!0});let k=sHi(t,"link.log");c=uRt(k,"w"),P(k),A(h),T(f),Z("connecting"),_={onEvent:(M)=>y(M),onIngress:(M)=>F(M,`http://127.0.0.1:${M}`),onCluster:(M)=>Z(M),onMachine:(M)=>S(M)},l=lRt(B,c),D(O(N),{patchConsole:!1})}else if(i.banner!==!1){let{printBanner:D}=await Promise.resolve().then(() => (KL(),IM));D(i.version??"0.0.0")}d();let v=process.env.DECOCMS_LINK_MANAGED!=="1",n=await Vru({port:u,clusterBaseUrl:f,dataDir:t,session:w,monitor:_,logFd:c,perSandboxLogs:v,hotReload:i.hotReload});if(i.tui){let{setLinkActions:D}=await Promise.resolve().then(() => (xM(),oHi));D({stopSandbox:n.stopSandbox,removeSandbox:n.removeSandbox,inspectSandbox:n.inspectSandbox,quit:n.stop})}return await n.stopped}catch($){return l?.(),console.error($ instanceof Error?$.message:String($)),1}finally{if(l?.(),c!==void 0)try{pbt(c)}catch{}d()}}var hmu=g(()=>{Izi();rru();qHi()});var lbi={};Wi(lbi,{resolveDevLinkClusterUrl:()=>hRt,populateDevLinkToxiProxy:()=>Omu,isDevLinkToxiProxyEnabled:()=>wRt,ensureDevLinkToxiProxy:()=>gRt,buildDevLinkToxiProxyConfig:()=>Dmu,DEV_LINK_TOXIPROXY_SERVICE_NAME:()=>vmu,DEV_LINK_TOXIPROXY_PROXY_NAME:()=>nmu});function wRt(i=process.env){return i.DECO_DEV_LINK_TOXIPROXY==="1"}function pHi(i,u){if(!Number.isInteger(i)||i<1||i>65535)throw Error(`${u} must be an integer port in 1..65535`);return i}function Dmu(i){let u=new URL(i.serverUrl);if(u.protocol!=="http:")throw Error("DECO_DEV_LINK_TOXIPROXY only supports http local Studio URLs");let t=pHi(i.apiPort,"apiPort"),f=pHi(i.listenPort,"listenPort");if(u.port.length===0)throw Error("serverUrl must include an explicit valid port");let l=pHi(Number.parseInt(u.port,10),"upstreamPort"),c=`http://127.0.0.1:${l}`,E=`http://127.0.0.1:${f}`;return{serviceName:vmu,proxyName:nmu,apiUrl:`http://127.0.0.1:${t}`,listen:`0.0.0.0:${f}`,upstream:`host.docker.internal:${l}`,publicTargetUrl:c,clusterUrl:E,logLine:`[dev-link-toxiproxy] ready: ${E} -> ${c}`}}function hRt(i){return i.toxiproxy?.clusterUrl??i.serverUrl}async function ibi(i,u,t){if(i.ok)return;let f=await i.text();throw Error(`ToxiProxy ${u} failed for ${t}: status=${i.status} statusText=${i.statusText} body=${f}`)}function fbi(i){if(i instanceof Error)return i.name==="Error"?i.message:`${i.name}: ${i.message}`;return String(i)}function gmu(i){if(!(i instanceof Error))return!1;if(i.name==="TimeoutError")return!0;return gmu(i.cause)}async function ubi(i,u,t,f){try{return await i(t,f)}catch(l){throw Error(`ToxiProxy ${u} failed for ${t}: ${fbi(l)}`,{cause:l})}}async function Omu(i,u=fetch){let t=`${i.apiUrl}/reset`,f=await ubi(u,"reset",t,{method:"POST"});await ibi(f,"reset",t);let l=`${i.apiUrl}/populate`,c=await ubi(u,"populate",l,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify([{name:i.proxyName,listen:i.listen,upstream:i.upstream,enabled:!0}])});await ibi(c,"populate",l)}async function _Rt(i,u){let t=`${i.apiUrl}/version`;try{await Z1(async()=>{let f=await ubi(u,"readiness check",t,{method:"GET",signal:AbortSignal.timeout($Rt)});await ibi(f,"readiness check",t)},{maxAttempts:dRt,minTimeout:_mu,maxTimeout:_mu,multiplier:1,jitter:0,isRetriable:(f)=>!gmu(f)})}catch(f){let l=f instanceof Jc?f.cause:f;throw Error(`ToxiProxy API did not become ready at ${t}: ${fbi(l)}`,{cause:l})}}async function vRt(i){if(i===null)return"";return await new Response(i).text()}async function tbi(i,u={}){let t=["docker",...i].join(" "),f=(()=>{try{return Bun.spawn(["docker",...i],{stdout:"ignore",stderr:"pipe"})}catch(d){throw Error(`Docker command failed to start (${t}): ${fbi(d)}`,{cause:d})}})(),[l,c]=await Promise.all([f.exited,vRt(f.stderr)]);if(l===0||u.ignoreFailure===!0)return;let E=c.trim().length>0?`: ${c.trim()}`:"";throw Error(`Docker command failed (${t}) with exit ${l}${E}`)}async function nRt(i,u){let t=`deco-dev-link-toxiproxy-${i}`;await tbi(["rm","-f",t],{ignoreFailure:!0}),await tbi(["run","--rm","-d","--name",t,"-p",`127.0.0.1:${i}:8474`,"-p",`127.0.0.1:${u}:${u}`,"ghcr.io/shopify/toxiproxy:2.12.0","-host=0.0.0.0"])}async function DRt(i,u){let t=`deco-dev-link-toxiproxy-${i}`;await tbi(["rm","-f",t],{ignoreFailure:!0})}async function gRt(i){let u=Dmu(i),t=i.startDaemon??nRt,f=i.stopDaemon??(i.startDaemon===void 0?DRt:void 0);await t(i.apiPort,i.listenPort);let l=i.fetchImpl??fetch;try{await _Rt(u,l),await Omu(u,l)}catch(c){if(f!==void 0)try{await f(i.apiPort,i.listenPort)}catch{}throw c}return{config:u,stop:async()=>{if(f!==void 0)await f(i.apiPort,i.listenPort)}}}var vmu="ToxiProxy",nmu="dev_link_studio",dRt=20,_mu=100,$Rt=100;var cbi=g(()=>{B4()});var Nmu={};Wi(Nmu,{migrateBetterAuth:()=>Ebi});import{getMigrations as ORt}from"better-auth/db";import{sso as NRt}from"@better-auth/sso";import{organization as yRt}from"@decocms/better-auth/plugins";import{admin as ZRt,apiKey as TRt,jwt as BRt,magicLink as FRt,mcp as URt,openAPI as IRt}from"better-auth/plugins";import{emailOTP as PRt}from"better-auth/plugins/email-otp";async function Ebi(i){let t={database:QC(i||r8()),plugins:[yRt({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),ZRt(),TRt(),BRt(),IRt(),URt({loginPage:"/login"}),NRt(),FRt({sendMagicLink:async()=>{}}),PRt({sendVerificationOTP:async()=>{}})]},{toBeAdded:f,toBeCreated:l,runMigrations:c}=await ORt(t);if(!f.length&&!l.length)return"up to date";return await c(),`${l.length+f.length} table(s) migrated`}var dbi=g(()=>{QE()});var $bi={};Wi($bi,{up:()=>ARt,down:()=>xRt});import{sql as p_}from"kysely";async function ARt(i){await i.schema.createTable("connections").addColumn("id","text",(u)=>u.primaryKey()).addColumn("organizationId","text",(u)=>u.notNull().references("organization.id").onDelete("cascade")).addColumn("createdById","text",(u)=>u.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(u)=>u.notNull()).addColumn("description","text").addColumn("icon","text").addColumn("appName","text").addColumn("appId","text").addColumn("connectionType","text",(u)=>u.notNull()).addColumn("connectionUrl","text",(u)=>u.notNull()).addColumn("connectionToken","text").addColumn("connectionHeaders","text").addColumn("oauthConfig","text").addColumn("metadata","text").addColumn("tools","text").addColumn("bindings","text").addColumn("status","text",(u)=>u.notNull().defaultTo("active")).addColumn("createdAt","text",(u)=>u.notNull().defaultTo(p_`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(u)=>u.notNull().defaultTo(p_`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("api_keys").addColumn("id","text",(u)=>u.primaryKey()).addColumn("userId","text",(u)=>u.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(u)=>u.notNull()).addColumn("hashedKey","text",(u)=>u.notNull().unique()).addColumn("permissions","text",(u)=>u.notNull()).addColumn("expiresAt","text").addColumn("remaining","integer").addColumn("metadata","text").addColumn("createdAt","text",(u)=>u.notNull().defaultTo(p_`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(u)=>u.notNull().defaultTo(p_`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("audit_logs").addColumn("id","text",(u)=>u.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(u)=>u.references("user.id").onDelete("set null")).addColumn("connectionId","text",(u)=>u.references("connections.id").onDelete("set null")).addColumn("toolName","text",(u)=>u.notNull()).addColumn("allowed","integer",(u)=>u.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(u)=>u.notNull().defaultTo(p_`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await i.schema.createTable("oauth_clients").addColumn("id","text",(u)=>u.primaryKey()).addColumn("clientId","text",(u)=>u.notNull().unique()).addColumn("clientSecret","text").addColumn("clientName","text",(u)=>u.notNull()).addColumn("redirectUris","text",(u)=>u.notNull()).addColumn("grantTypes","text",(u)=>u.notNull()).addColumn("scope","text").addColumn("clientUri","text").addColumn("logoUri","text").addColumn("createdAt","text",(u)=>u.notNull().defaultTo(p_`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("oauth_authorization_codes").addColumn("code","text",(u)=>u.primaryKey()).addColumn("clientId","text",(u)=>u.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(u)=>u.notNull().references("user.id").onDelete("cascade")).addColumn("redirectUri","text",(u)=>u.notNull()).addColumn("scope","text").addColumn("codeChallenge","text").addColumn("codeChallengeMethod","text").addColumn("expiresAt","text",(u)=>u.notNull()).addColumn("createdAt","text",(u)=>u.notNull().defaultTo(p_`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("oauth_refresh_tokens").addColumn("token","text",(u)=>u.primaryKey()).addColumn("clientId","text",(u)=>u.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(u)=>u.notNull().references("user.id").onDelete("cascade")).addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(u)=>u.notNull().defaultTo(p_`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("downstream_tokens").addColumn("id","text",(u)=>u.primaryKey()).addColumn("connectionId","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("userId","text",(u)=>u.references("user.id").onDelete("cascade")).addColumn("accessToken","text",(u)=>u.notNull()).addColumn("refreshToken","text").addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(u)=>u.notNull().defaultTo(p_`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(u)=>u.notNull().defaultTo(p_`CURRENT_TIMESTAMP`)).execute(),await i.schema.createIndex("idx_connections_organizationId").on("connections").column("organizationId").execute(),await i.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await i.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await i.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}async function xRt(i){await i.schema.dropTable("downstream_tokens").execute(),await i.schema.dropTable("oauth_refresh_tokens").execute(),await i.schema.dropTable("oauth_authorization_codes").execute(),await i.schema.dropTable("oauth_clients").execute(),await i.schema.dropTable("audit_logs").execute(),await i.schema.dropTable("api_keys").execute(),await i.schema.dropTable("connections").execute()}var ymu=()=>{};var wbi={};Wi(wbi,{up:()=>kRt,down:()=>GRt});import{sql as Zmu}from"kysely";async function kRt(i){await i.schema.createTable("organization_settings").addColumn("organizationId","text",(u)=>u.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(u)=>u.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(u)=>u.notNull().defaultTo(Zmu`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(u)=>u.notNull().defaultTo(Zmu`CURRENT_TIMESTAMP`)).execute()}async function GRt(i){await i.schema.dropTable("organization_settings").execute()}var Tmu=()=>{};var hbi={};Wi(hbi,{up:()=>SRt,down:()=>jRt});async function SRt(i){await i.schema.alterTable("connections").renameColumn("name","title").execute(),await i.schema.alterTable("connections").renameColumn("createdById","created_by").execute(),await i.schema.alterTable("connections").renameColumn("createdAt","created_at").execute(),await i.schema.alterTable("connections").renameColumn("updatedAt","updated_at").execute(),await i.schema.alterTable("connections").renameColumn("organizationId","organization_id").execute(),await i.schema.alterTable("connections").renameColumn("connectionType","connection_type").execute(),await i.schema.alterTable("connections").renameColumn("connectionUrl","connection_url").execute(),await i.schema.alterTable("connections").renameColumn("connectionToken","connection_token").execute(),await i.schema.alterTable("connections").renameColumn("connectionHeaders","connection_headers").execute(),await i.schema.alterTable("connections").renameColumn("oauthConfig","oauth_config").execute(),await i.schema.alterTable("connections").renameColumn("appName","app_name").execute(),await i.schema.alterTable("connections").renameColumn("appId","app_id").execute()}async function jRt(i){await i.schema.alterTable("connections").renameColumn("title","name").execute(),await i.schema.alterTable("connections").renameColumn("created_by","createdById").execute(),await i.schema.alterTable("connections").renameColumn("created_at","createdAt").execute(),await i.schema.alterTable("connections").renameColumn("updated_at","updatedAt").execute(),await i.schema.alterTable("connections").renameColumn("organization_id","organizationId").execute(),await i.schema.alterTable("connections").renameColumn("connection_type","connectionType").execute(),await i.schema.alterTable("connections").renameColumn("connection_url","connectionUrl").execute(),await i.schema.alterTable("connections").renameColumn("connection_token","connectionToken").execute(),await i.schema.alterTable("connections").renameColumn("connection_headers","connectionHeaders").execute(),await i.schema.alterTable("connections").renameColumn("oauth_config","oauthConfig").execute(),await i.schema.alterTable("connections").renameColumn("app_name","appName").execute(),await i.schema.alterTable("connections").renameColumn("app_id","appId").execute()}var _bi={};Wi(_bi,{up:()=>KRt,down:()=>JRt});async function KRt(i){await i.schema.createTable("organization_settings_new").addColumn("organizationId","text",(u)=>u.primaryKey().references("organization.id").onDelete("cascade")).addColumn("createdAt","text",(u)=>u.notNull()).addColumn("updatedAt","text",(u)=>u.notNull()).execute(),await i.insertInto("organization_settings_new").columns(["organizationId","createdAt","updatedAt"]).expression((u)=>u.selectFrom("organization_settings").select(["organizationId","createdAt","updatedAt"])).execute(),await i.schema.dropTable("organization_settings").execute(),await i.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}async function JRt(i){await i.schema.createTable("organization_settings_new").addColumn("organizationId","text",(u)=>u.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(u)=>u.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(u)=>u.notNull()).addColumn("updatedAt","text",(u)=>u.notNull()).execute(),await i.insertInto("organization_settings_new").columns(["organizationId","modelsBindingConnectionId","createdAt","updatedAt"]).expression((u)=>u.selectFrom("organization_settings").select(["organizationId",u.val(null).as("modelsBindingConnectionId"),"createdAt","updatedAt"])).execute(),await i.schema.dropTable("organization_settings").execute(),await i.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}var vbi={};Wi(vbi,{up:()=>XRt,down:()=>LRt});async function XRt(i){await i.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await i.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function LRt(i){await i.schema.alterTable("connections").dropColumn("configuration_state").execute(),await i.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var nbi={};Wi(nbi,{up:()=>YRt,down:()=>zRt});import{sql as WRt}from"kysely";async function YRt(i){await i.schema.alterTable("organization_settings").addColumn("sidebar_items",WRt`text`).execute()}async function zRt(i){await i.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var Bmu=()=>{};var Dbi={};Wi(Dbi,{up:()=>QRt,down:()=>HRt});async function QRt(i){await i.schema.createTable("monitoring_logs").addColumn("id","text",(u)=>u.primaryKey()).addColumn("organization_id","text",(u)=>u.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("connection_title","text",(u)=>u.notNull()).addColumn("tool_name","text",(u)=>u.notNull()).addColumn("input","text",(u)=>u.notNull()).addColumn("output","text",(u)=>u.notNull()).addColumn("is_error","integer",(u)=>u.notNull()).addColumn("error_message","text").addColumn("duration_ms","integer",(u)=>u.notNull()).addColumn("timestamp","text",(u)=>u.notNull()).addColumn("user_id","text").addColumn("request_id","text",(u)=>u.notNull()).execute(),await i.schema.createIndex("monitoring_logs_org_timestamp").on("monitoring_logs").columns(["organization_id","timestamp"]).execute(),await i.schema.createIndex("monitoring_logs_connection_timestamp").on("monitoring_logs").columns(["connection_id","timestamp"]).execute(),await i.schema.createIndex("monitoring_logs_is_error").on("monitoring_logs").columns(["organization_id","is_error","timestamp"]).execute()}async function HRt(i){await i.schema.dropIndex("monitoring_logs_is_error").execute(),await i.schema.dropIndex("monitoring_logs_connection_timestamp").execute(),await i.schema.dropIndex("monitoring_logs_org_timestamp").execute(),await i.schema.dropTable("monitoring_logs").execute()}var gbi={};Wi(gbi,{up:()=>bRt,down:()=>RRt});import{sql as kM}from"kysely";async function bRt(i){await i.schema.createTable("events").addColumn("id","text",(u)=>u.primaryKey()).addColumn("organization_id","text",(u)=>u.notNull().references("organization.id").onDelete("cascade")).addColumn("type","text",(u)=>u.notNull()).addColumn("source","text",(u)=>u.notNull()).addColumn("specversion","text",(u)=>u.notNull().defaultTo("1.0")).addColumn("subject","text").addColumn("time","text",(u)=>u.notNull()).addColumn("datacontenttype","text",(u)=>u.notNull().defaultTo("application/json")).addColumn("dataschema","text").addColumn("data","text").addColumn("cron","varchar(255)").addColumn("status","text",(u)=>u.notNull().defaultTo("pending")).addColumn("attempts","integer",(u)=>u.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("next_retry_at","text").addColumn("created_at","text",(u)=>u.notNull().defaultTo(kM`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(u)=>u.notNull().defaultTo(kM`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("event_subscriptions").addColumn("id","text",(u)=>u.primaryKey()).addColumn("organization_id","text",(u)=>u.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("publisher","text").addColumn("event_type","text",(u)=>u.notNull()).addColumn("filter","text").addColumn("enabled","integer",(u)=>u.notNull().defaultTo(1)).addColumn("created_at","text",(u)=>u.notNull().defaultTo(kM`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(u)=>u.notNull().defaultTo(kM`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("event_deliveries").addColumn("id","text",(u)=>u.primaryKey()).addColumn("event_id","text",(u)=>u.notNull()).addColumn("subscription_id","text",(u)=>u.notNull().references("event_subscriptions.id").onDelete("cascade")).addColumn("status","text",(u)=>u.notNull().defaultTo("pending")).addColumn("attempts","integer",(u)=>u.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("delivered_at","text").addColumn("next_retry_at","text").addColumn("created_at","text",(u)=>u.notNull().defaultTo(kM`CURRENT_TIMESTAMP`)).execute(),await i.schema.createIndex("idx_events_org_status").on("events").columns(["organization_id","status"]).execute(),await i.schema.createIndex("idx_events_source").on("events").columns(["source"]).execute(),await i.schema.createIndex("idx_events_type").on("events").columns(["type"]).execute(),await i.schema.createIndex("idx_events_retry").on("events").columns(["status","next_retry_at"]).execute(),await i.schema.createIndex("idx_subscriptions_connection").on("event_subscriptions").columns(["connection_id"]).execute(),await i.schema.createIndex("idx_subscriptions_type").on("event_subscriptions").columns(["event_type"]).execute(),await i.schema.createIndex("idx_subscriptions_org_enabled").on("event_subscriptions").columns(["organization_id","enabled"]).execute(),await i.schema.createIndex("idx_subscriptions_unique").on("event_subscriptions").columns(["connection_id","event_type","publisher","filter"]).unique().execute(),await i.schema.createIndex("idx_deliveries_event").on("event_deliveries").columns(["event_id"]).execute(),await i.schema.createIndex("idx_deliveries_subscription_status").on("event_deliveries").columns(["subscription_id","status"]).execute(),await i.schema.createIndex("idx_deliveries_retry").on("event_deliveries").columns(["status","next_retry_at"]).execute()}async function RRt(i){await i.schema.dropIndex("idx_deliveries_retry").execute(),await i.schema.dropIndex("idx_deliveries_subscription_status").execute(),await i.schema.dropIndex("idx_deliveries_event").execute(),await i.schema.dropIndex("idx_subscriptions_unique").execute(),await i.schema.dropIndex("idx_subscriptions_org_enabled").execute(),await i.schema.dropIndex("idx_subscriptions_type").execute(),await i.schema.dropIndex("idx_subscriptions_connection").execute(),await i.schema.dropIndex("idx_events_retry").execute(),await i.schema.dropIndex("idx_events_type").execute(),await i.schema.dropIndex("idx_events_source").execute(),await i.schema.dropIndex("idx_events_org_status").execute(),await i.schema.dropTable("event_deliveries").execute(),await i.schema.dropTable("event_subscriptions").execute(),await i.schema.dropTable("events").execute()}var Fmu=()=>{};var Obi={};Wi(Obi,{up:()=>MRt,down:()=>qRt});import{sql as CRt}from"kysely";async function MRt(i){await i.schema.dropTable("audit_logs").ifExists().execute()}async function qRt(i){await i.schema.createTable("audit_logs").ifNotExists().addColumn("id","text",(u)=>u.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(u)=>u.references("user.id").onDelete("set null")).addColumn("connectionId","text",(u)=>u.references("connections.id").onDelete("set null")).addColumn("toolName","text",(u)=>u.notNull()).addColumn("allowed","integer",(u)=>u.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(u)=>u.notNull().defaultTo(CRt`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await i.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await i.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await i.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}var Umu=()=>{};var Nbi={};Wi(Nbi,{up:()=>VRt,down:()=>rRt});import{sql as h1i}from"kysely";async function VRt(i){await i.schema.createTable("gateways").addColumn("id","text",(u)=>u.primaryKey()).addColumn("organization_id","text",(u)=>u.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(u)=>u.notNull()).addColumn("description","text").addColumn("tool_selection_strategy","text").addColumn("status","text",(u)=>u.notNull().defaultTo("active")).addColumn("is_default","integer",(u)=>u.notNull().defaultTo(0)).addColumn("created_at","text",(u)=>u.notNull().defaultTo(h1i`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(u)=>u.notNull().defaultTo(h1i`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(u)=>u.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await i.schema.createTable("gateway_connections").addColumn("id","text",(u)=>u.primaryKey()).addColumn("gateway_id","text",(u)=>u.notNull().references("gateways.id").onDelete("cascade")).addColumn("connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("created_at","text",(u)=>u.notNull().defaultTo(h1i`CURRENT_TIMESTAMP`)).execute(),await i.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await i.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await h1i`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(i),await i.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await i.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await i.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute()}async function rRt(i){await i.schema.dropIndex("idx_gateway_connections_unique").execute(),await i.schema.dropIndex("idx_gateway_connections_connection").execute(),await i.schema.dropIndex("idx_gateway_connections_gateway").execute(),await i.schema.dropIndex("idx_gateways_default_per_org").execute(),await i.schema.dropIndex("idx_gateways_org_status").execute(),await i.schema.dropIndex("idx_gateways_org").execute(),await i.schema.dropTable("gateway_connections").execute(),await i.schema.dropTable("gateways").execute()}var Imu=()=>{};var ybi={};Wi(ybi,{up:()=>mRt,down:()=>eRt});async function mRt(i){await i.schema.alterTable("gateways").addColumn("icon","text").execute()}async function eRt(i){await i.schema.alterTable("gateways").dropColumn("icon").execute()}var Zbi={};Wi(Zbi,{up:()=>aRt,down:()=>oRt});import{sql as _1i}from"kysely";async function aRt(i){await i.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(u)=>u.notNull().defaultTo("inclusion")).execute(),await _1i`
|
|
84418
84418
|
UPDATE gateways
|
|
84419
84419
|
SET tool_selection_mode = CASE
|
|
@@ -86370,7 +86370,7 @@ ${E}
|
|
|
86370
86370
|
|
|
86371
86371
|
`;break}case"tool":throw new Zf({functionality:"tool messages"});default:throw Error(`Unsupported role: ${l}`)}return f+=`${t}:
|
|
86372
86372
|
`,{prompt:f,stopSequences:[`
|
|
86373
|
-
${u}:`]}}function T20({id:i,model:u,created:t}){return{id:i!=null?i:void 0,modelId:u!=null?u:void 0,timestamp:t!=null?new Date(t*1000):void 0}}function B20(i){switch(i){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"other"}}function aZf(i){return eZf.some((u)=>i.startsWith(u))}function I20(i,u,t){if(i==null)return{};let f={};if(i.image_tokens!=null){let l=Math.floor(i.image_tokens/t),c=i.image_tokens-l*(t-1);f.imageTokens=u===t-1?c:l}if(i.text_tokens!=null){let l=Math.floor(i.text_tokens/t),c=i.text_tokens-l*(t-1);f.textTokens=u===t-1?c:l}return f}async function iTf(i){if(!i)return;if(i.type==="url")return jsi(i.url);let u=i.data instanceof Uint8Array?i.data:k1(i.data);return new Blob([u],{type:i.mediaType})}function P20(i){var u,t,f,l;if(i==null)return{inputTokens:{total:void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:void 0,text:void 0,reasoning:void 0},raw:void 0};let{input_tokens:c,output_tokens:E}=i,d=(t=(u=i.input_tokens_details)==null?void 0:u.cached_tokens)!=null?t:0,$=(l=(f=i.output_tokens_details)==null?void 0:f.reasoning_tokens)!=null?l:0;return{inputTokens:{total:c,noCache:c-d,cacheRead:d,cacheWrite:void 0},outputTokens:{total:E,text:E-$,reasoning:$},raw:i}}function RTf(i){return JSON.stringify(i===void 0?{}:i)}function A20(i,u){if(!u)return!1;return u.some((t)=>i.startsWith(t))}async function CTf({prompt:i,toolNameMapping:u,systemMessageMode:t,providerOptionsName:f,fileIdPrefixes:l,passThroughUnsupportedFiles:c=!1,store:E,hasConversation:d=!1,hasPreviousResponseId:$=!1,hasLocalShellTool:w=!1,hasShellTool:h=!1,hasApplyPatchTool:_=!1,customProviderToolNames:v}){var n,D,O,N,y,Z,T,B,F,P,S,A,k,M,J,W,m,z,di,wi,li,ii,s;let Di=[],hi=[],xi=new Set;for(let{role:qi,content:Yi}of i)switch(qi){case"system":{switch(t){case"system":{Di.push({role:"system",content:Yi});break}case"developer":{Di.push({role:"developer",content:Yi});break}case"remove":{hi.push({type:"other",message:"system messages are removed for this model"});break}default:throw Error(`Unsupported system message mode: ${t}`)}break}case"user":{Di.push({role:"user",content:Yi.map((mi,Oi)=>{var Xi,Pi,ni;switch(mi.type){case"text":return{type:"input_text",text:mi.text};case"file":{let $i=mi.mediaType==="image/*"?"image/jpeg":mi.mediaType;if($i.startsWith("image/"))return{type:"input_image",...mi.data instanceof URL?{image_url:mi.data.toString()}:typeof mi.data==="string"&&A20(mi.data,l)?{file_id:mi.data}:{image_url:`data:${$i};base64,${Dc(mi.data)}`},detail:(Pi=(Xi=mi.providerOptions)==null?void 0:Xi[f])==null?void 0:Pi.imageDetail};if(mi.data instanceof URL)return{type:"input_file",file_url:mi.data.toString()};if($i!=="application/pdf"&&!c)throw new Zf({functionality:`file part media type ${$i}`});return{type:"input_file",...typeof mi.data==="string"&&A20(mi.data,l)?{file_id:mi.data}:{filename:(ni=mi.filename)!=null?ni:$i==="application/pdf"?`part-${Oi}.pdf`:`part-${Oi}`,file_data:`data:${$i};base64,${Dc(mi.data)}`}}}}})});break}case"assistant":{let mi={};for(let Oi of Yi)switch(Oi.type){case"text":{let Xi=(n=Oi.providerOptions)==null?void 0:n[f],Pi=Xi==null?void 0:Xi.itemId,ni=Xi==null?void 0:Xi.phase;if(d&&Pi!=null)break;if(E&&Pi!=null){Di.push({type:"item_reference",id:Pi});break}Di.push({role:"assistant",content:[{type:"output_text",text:Oi.text}],id:Pi,...ni!=null&&{phase:ni}});break}case"tool-call":{let Xi=(Z=(O=(D=Oi.providerOptions)==null?void 0:D[f])==null?void 0:O.itemId)!=null?Z:(y=(N=Oi.providerMetadata)==null?void 0:N[f])==null?void 0:y.itemId,Pi=(S=(B=(T=Oi.providerOptions)==null?void 0:T[f])==null?void 0:B.namespace)!=null?S:(P=(F=Oi.providerMetadata)==null?void 0:F[f])==null?void 0:P.namespace;if(d&&Xi!=null)break;let ni=u.toProviderToolName(Oi.toolName);if(ni==="tool_search"){if(E&&Xi!=null){Di.push({type:"item_reference",id:Xi});break}let ci=typeof Oi.input==="string"?await Xsi({text:Oi.input,schema:luu}):await M0({value:Oi.input,schema:luu}),ji=ci.call_id!=null?"client":"server";Di.push({type:"tool_search_call",id:Xi!=null?Xi:Oi.toolCallId,execution:ji,call_id:(A=ci.call_id)!=null?A:null,status:"completed",arguments:ci.arguments});break}if(Oi.providerExecuted){if(E&&Xi!=null)Di.push({type:"item_reference",id:Xi});break}if($&&E&&Xi!=null)break;let $i=w&&ni==="local_shell"||h&&ni==="shell"||_&&ni==="apply_patch"||((k=v==null?void 0:v.has(ni))!=null?k:!1);if(E&&Xi!=null&&$i){Di.push({type:"item_reference",id:Xi});break}if(w&&ni==="local_shell"){let ci=await M0({value:Oi.input,schema:Y20});Di.push({type:"local_shell_call",call_id:Oi.toolCallId,id:Xi,action:{type:"exec",command:ci.action.command,timeout_ms:ci.action.timeoutMs,user:ci.action.user,working_directory:ci.action.workingDirectory,env:ci.action.env}});break}if(h&&ni==="shell"){let ci=await M0({value:Oi.input,schema:Q20});Di.push({type:"shell_call",call_id:Oi.toolCallId,id:Xi,status:"completed",action:{commands:ci.action.commands,timeout_ms:ci.action.timeoutMs,max_output_length:ci.action.maxOutputLength}});break}if(_&&ni==="apply_patch"){let ci=await M0({value:Oi.input,schema:J20});Di.push({type:"apply_patch_call",call_id:ci.callId,id:Xi,status:"completed",operation:ci.operation});break}if(v==null?void 0:v.has(ni)){Di.push({type:"custom_tool_call",call_id:Oi.toolCallId,name:ni,input:typeof Oi.input==="string"?Oi.input:JSON.stringify(Oi.input),id:Xi});break}Di.push({type:"function_call",call_id:Oi.toolCallId,name:ni,arguments:RTf(Oi.input),...Pi!=null&&{namespace:Pi}});break}case"tool-result":{if(Oi.output.type==="execution-denied"||Oi.output.type==="json"&&typeof Oi.output.value==="object"&&Oi.output.value!=null&&"type"in Oi.output.value&&Oi.output.value.type==="execution-denied")break;if(d)break;let Xi=u.toProviderToolName(Oi.toolName);if(Xi==="tool_search"){let Pi=(W=(J=(M=Oi.providerOptions)==null?void 0:M[f])==null?void 0:J.itemId)!=null?W:Oi.toolCallId;if(E)Di.push({type:"item_reference",id:Pi});else if(Oi.output.type==="json"){let ni=await M0({value:Oi.output.value,schema:cuu});Di.push({type:"tool_search_output",id:Pi,execution:"server",call_id:null,status:"completed",tools:ni.tools})}break}if(h&&Xi==="shell"){if(Oi.output.type==="json"){let Pi=await M0({value:Oi.output.value,schema:fuu});Di.push({type:"shell_call_output",call_id:Oi.toolCallId,output:Pi.output.map((ni)=>({stdout:ni.stdout,stderr:ni.stderr,outcome:ni.outcome.type==="timeout"?{type:"timeout"}:{type:"exit",exit_code:ni.outcome.exitCode}}))})}break}if(E){let Pi=(di=(z=(m=Oi.providerOptions)==null?void 0:m[f])==null?void 0:z.itemId)!=null?di:Oi.toolCallId;Di.push({type:"item_reference",id:Pi})}else hi.push({type:"other",message:`Results for OpenAI tool ${Oi.toolName} are not sent to the API when store is false`});break}case"reasoning":{let Xi=await kt({provider:f,providerOptions:Oi.providerOptions,schema:MTf}),Pi=Xi==null?void 0:Xi.itemId;if((d||$)&&Pi!=null)break;if(Pi!=null){let ni=mi[Pi];if(E){if(ni===void 0)Di.push({type:"item_reference",id:Pi}),mi[Pi]={type:"reasoning",id:Pi,summary:[]}}else{let $i=[];if(Oi.text.length>0)$i.push({type:"summary_text",text:Oi.text});else if(ni!==void 0)hi.push({type:"other",message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(Oi)}.`});if(ni===void 0)mi[Pi]={type:"reasoning",id:Pi,encrypted_content:Xi==null?void 0:Xi.reasoningEncryptedContent,summary:$i},Di.push(mi[Pi]);else if(ni.summary.push(...$i),(Xi==null?void 0:Xi.reasoningEncryptedContent)!=null)ni.encrypted_content=Xi.reasoningEncryptedContent}}else{let ni=Xi==null?void 0:Xi.reasoningEncryptedContent;if(ni!=null){let $i=[];if(Oi.text.length>0)$i.push({type:"summary_text",text:Oi.text});Di.push({type:"reasoning",encrypted_content:ni,summary:$i})}else hi.push({type:"other",message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(Oi)}.`})}break}}break}case"tool":{for(let mi of Yi){if(mi.type==="tool-approval-response"){let ni=mi;if(xi.has(ni.approvalId))continue;if(xi.add(ni.approvalId),E)Di.push({type:"item_reference",id:ni.approvalId});Di.push({type:"mcp_approval_response",approval_request_id:ni.approvalId,approve:ni.approved});continue}let Oi=mi.output;if(Oi.type==="execution-denied"){if((li=(wi=Oi.providerOptions)==null?void 0:wi.openai)==null?void 0:li.approvalId)continue}let Xi=u.toProviderToolName(mi.toolName);if(Xi==="tool_search"&&Oi.type==="json"){let ni=await M0({value:Oi.value,schema:cuu});Di.push({type:"tool_search_output",execution:"client",call_id:mi.toolCallId,status:"completed",tools:ni.tools});continue}if(w&&Xi==="local_shell"&&Oi.type==="json"){let ni=await M0({value:Oi.value,schema:z20});Di.push({type:"local_shell_call_output",call_id:mi.toolCallId,output:ni.output});continue}if(h&&Xi==="shell"&&Oi.type==="json"){let ni=await M0({value:Oi.value,schema:fuu});Di.push({type:"shell_call_output",call_id:mi.toolCallId,output:ni.output.map(($i)=>({stdout:$i.stdout,stderr:$i.stderr,outcome:$i.outcome.type==="timeout"?{type:"timeout"}:{type:"exit",exit_code:$i.outcome.exitCode}}))});continue}if(_&&mi.toolName==="apply_patch"&&Oi.type==="json"){let ni=await M0({value:Oi.value,schema:X20});Di.push({type:"apply_patch_call_output",call_id:mi.toolCallId,status:ni.status,output:ni.output});continue}if(v==null?void 0:v.has(Xi)){let ni;switch(Oi.type){case"text":case"error-text":ni=Oi.value;break;case"execution-denied":ni=(ii=Oi.reason)!=null?ii:"Tool execution denied.";break;case"json":case"error-json":ni=JSON.stringify(Oi.value);break;case"content":ni=Oi.value.map(($i)=>{var ci,ji,e,ti,ai;switch($i.type){case"text":return{type:"input_text",text:$i.text};case"image-data":return{type:"input_image",image_url:`data:${$i.mediaType};base64,${$i.data}`,detail:(ji=(ci=$i.providerOptions)==null?void 0:ci[f])==null?void 0:ji.imageDetail};case"image-url":return{type:"input_image",image_url:$i.url,detail:(ti=(e=$i.providerOptions)==null?void 0:e[f])==null?void 0:ti.imageDetail};case"file-data":return{type:"input_file",filename:(ai=$i.filename)!=null?ai:"data",file_data:`data:${$i.mediaType};base64,${$i.data}`};case"file-url":return{type:"input_file",file_url:$i.url};default:hi.push({type:"other",message:`unsupported custom tool content part type: ${$i.type}`});return}}).filter(rN);break;default:ni=""}Di.push({type:"custom_tool_call_output",call_id:mi.toolCallId,output:ni});continue}let Pi;switch(Oi.type){case"text":case"error-text":Pi=Oi.value;break;case"execution-denied":Pi=(s=Oi.reason)!=null?s:"Tool execution denied.";break;case"json":case"error-json":Pi=JSON.stringify(Oi.value);break;case"content":Pi=Oi.value.map((ni)=>{var $i,ci,ji,e,ti;switch(ni.type){case"text":return{type:"input_text",text:ni.text};case"image-data":return{type:"input_image",image_url:`data:${ni.mediaType};base64,${ni.data}`,detail:(ci=($i=ni.providerOptions)==null?void 0:$i[f])==null?void 0:ci.imageDetail};case"image-url":return{type:"input_image",image_url:ni.url,detail:(e=(ji=ni.providerOptions)==null?void 0:ji[f])==null?void 0:e.imageDetail};case"file-data":return{type:"input_file",filename:(ti=ni.filename)!=null?ti:"data",file_data:`data:${ni.mediaType};base64,${ni.data}`};case"file-url":return{type:"input_file",file_url:ni.url};default:{hi.push({type:"other",message:`unsupported tool content part type: ${ni.type}`});return}}}).filter(rN);break}Di.push({type:"function_call_output",call_id:mi.toolCallId,output:Pi})}break}default:throw Error(`Unsupported role: ${qi}`)}if(!E&&Di.some((qi)=>("type"in qi)&&qi.type==="reasoning"&&qi.encrypted_content==null))hi.push({type:"other",message:"Reasoning parts without encrypted content are not supported when store is false. Skipping reasoning parts."}),Di=Di.filter((qi)=>!("type"in qi)||qi.type!=="reasoning"||qi.encrypted_content!=null);return{input:Di,warnings:hi}}function uuu({finishReason:i,hasFunctionCall:u}){switch(i){case void 0:case null:return u?"tool-calls":"stop";case"max_output_tokens":return"length";case"content_filter":return"content-filter";default:return u?"tool-calls":"other"}}async function mTf({tools:i,toolChoice:u,allowedTools:t,toolNameMapping:f,customProviderToolNames:l}){var c,E,d;i=(i==null?void 0:i.length)?i:void 0;let $=[];if(i==null)return{tools:void 0,toolChoice:void 0,toolWarnings:$};let w=[],h=new Map,_=l!=null?l:new Set;for(let n of i)switch(n.type){case"function":{let D=(c=n.providerOptions)==null?void 0:c.openai,O=eTf({tool:n,options:D}),N=D==null?void 0:D.namespace;if(N==null)w.push(O);else{let y=h.get(N.name);if(y==null)y={type:"namespace",name:N.name,description:N.description,tools:[]},h.set(N.name,y),w.push(y);else if(y.description!==N.description)throw new Zf({functionality:`conflicting descriptions for OpenAI tool namespace "${N.name}"`});y.tools.push(O)}break}case"provider":{switch(n.id){case"openai.file_search":{let D=await M0({value:n.args,schema:vTf});w.push({type:"file_search",vector_store_ids:D.vectorStoreIds,max_num_results:D.maxNumResults,ranking_options:D.ranking?{ranker:D.ranking.ranker,score_threshold:D.ranking.scoreThreshold}:void 0,filters:D.filters});break}case"openai.local_shell":{w.push({type:"local_shell"});break}case"openai.shell":{let D=await M0({value:n.args,schema:FTf});w.push({type:"shell",...D.environment&&{environment:aTf(D.environment)}});break}case"openai.apply_patch":{w.push({type:"apply_patch"});break}case"openai.web_search_preview":{let D=await M0({value:n.args,schema:KTf});w.push({type:"web_search_preview",search_context_size:D.searchContextSize,user_location:D.userLocation});break}case"openai.web_search":{let D=await M0({value:n.args,schema:xTf});w.push({type:"web_search",filters:D.filters!=null?{allowed_domains:D.filters.allowedDomains}:void 0,external_web_access:D.externalWebAccess,search_context_size:D.searchContextSize,user_location:D.userLocation});break}case"openai.code_interpreter":{let D=await M0({value:n.args,schema:cTf});w.push({type:"code_interpreter",container:D.container==null?{type:"auto",file_ids:void 0}:typeof D.container==="string"?D.container:{type:"auto",file_ids:D.container.fileIds}});break}case"openai.image_generation":{let D=await M0({value:n.args,schema:gTf});w.push({type:"image_generation",background:D.background,input_fidelity:D.inputFidelity,input_image_mask:D.inputImageMask?{file_id:D.inputImageMask.fileId,image_url:D.inputImageMask.imageUrl}:void 0,model:D.model,moderation:D.moderation,partial_images:D.partialImages,quality:D.quality,output_compression:D.outputCompression,output_format:D.outputFormat,size:D.size});break}case"openai.mcp":{let D=await M0({value:n.args,schema:WTf}),O=(Z)=>({tool_names:Z.toolNames}),N=D.requireApproval,y=N==null?void 0:typeof N==="string"?N:N.never!=null?{never:O(N.never)}:void 0;w.push({type:"mcp",server_label:D.serverLabel,allowed_tools:Array.isArray(D.allowedTools)?D.allowedTools:D.allowedTools?{read_only:D.allowedTools.readOnly,tool_names:D.allowedTools.toolNames}:void 0,authorization:D.authorization,connector_id:D.connectorId,headers:D.headers,require_approval:y!=null?y:"never",server_description:D.serverDescription,server_url:D.serverUrl});break}case"openai.custom":{let D=await M0({value:n.args,schema:$Tf});w.push({type:"custom",name:D.name,description:D.description,format:D.format}),_.add(D.name);break}case"openai.tool_search":{let D=await M0({value:n.args,schema:ITf});w.push({type:"tool_search",...D.execution!=null?{execution:D.execution}:{},...D.description!=null?{description:D.description}:{},...D.parameters!=null?{parameters:D.parameters}:{}});break}}break}default:$.push({type:"unsupported",feature:`function tool ${n}`});break}if(t!=null)return{tools:w,toolChoice:{type:"allowed_tools",mode:(E=t.mode)!=null?E:"auto",tools:t.toolNames.map((n)=>{var D;return{type:"function",name:(D=f==null?void 0:f.toProviderToolName(n))!=null?D:n}})},toolWarnings:$};if(u==null)return{tools:w,toolChoice:void 0,toolWarnings:$};let v=u.type;switch(v){case"auto":case"none":case"required":return{tools:w,toolChoice:v,toolWarnings:$};case"tool":{let n=(d=f==null?void 0:f.toProviderToolName(u.toolName))!=null?d:u.toolName;return{tools:w,toolChoice:n==="code_interpreter"||n==="file_search"||n==="image_generation"||n==="web_search_preview"||n==="web_search"||n==="mcp"||n==="apply_patch"?{type:n}:_.has(n)?{type:"custom",name:n}:{type:"function",name:n},toolWarnings:$}}default:throw new Zf({functionality:`tool choice type: ${v}`})}}function eTf({tool:i,options:u}){let t=u==null?void 0:u.deferLoading;return{type:"function",name:i.name,description:i.description,parameters:i.inputSchema,...i.strict!=null?{strict:i.strict}:{},...t!=null?{defer_loading:t}:{}}}function aTf(i){if(i.type==="containerReference")return{type:"container_reference",container_id:i.containerId};if(i.type==="containerAuto"){let t=i;return{type:"container_auto",file_ids:t.fileIds,memory_limit:t.memoryLimit,network_policy:t.networkPolicy==null?void 0:t.networkPolicy.type==="disabled"?{type:"disabled"}:{type:"allowlist",allowed_domains:t.networkPolicy.allowedDomains,domain_secrets:t.networkPolicy.domainSecrets},skills:oTf(t.skills)}}return{type:"local",skills:i.skills}}function oTf(i){return i==null?void 0:i.map((u)=>u.type==="skillReference"?{type:"skill_reference",skill_id:u.skillId,version:u.version}:{type:"inline",name:u.name,description:u.description,source:{type:"base64",media_type:u.source.mediaType,data:u.source.data}})}function k20(i){var u,t;let f={};for(let l of i){if(l.role!=="assistant")continue;for(let c of l.content){if(c.type!=="tool-call")continue;let E=(t=(u=c.providerOptions)==null?void 0:u.openai)==null?void 0:t.approvalRequestId;if(E!=null)f[E]=c.toolCallId}}return f}function pTf(i){return i.type==="response.output_text.delta"}function iBf(i){return i.type==="response.output_item.done"}function uBf(i){return i.type==="response.completed"||i.type==="response.incomplete"}function tBf(i){return i.type==="response.failed"}function fBf(i){return i.type==="response.created"}function lBf(i){return i.type==="response.function_call_arguments.delta"}function cBf(i){return i.type==="response.custom_tool_call_input.delta"}function EBf(i){return i.type==="response.image_generation_call.partial_image"}function dBf(i){return i.type==="response.code_interpreter_call_code.delta"}function $Bf(i){return i.type==="response.code_interpreter_call_code.done"}function wBf(i){return i.type==="response.apply_patch_call_operation_diff.delta"}function hBf(i){return i.type==="response.apply_patch_call_operation_diff.done"}function G20(i){return i.type==="response.output_item.added"}function _Bf(i){return i.type==="response.output_text.annotation.added"}function vBf(i){return i.type==="error"}function S20(i){var u;if(i==null)return{};switch(i.type){case"search":return{action:{type:"search",query:(u=i.query)!=null?u:void 0,...i.queries!=null&&{queries:i.queries}},...i.sources!=null&&{sources:i.sources}};case"open_page":return{action:{type:"openPage",url:i.url}};case"find_in_page":return{action:{type:"findInPage",url:i.url,pattern:i.pattern}}}}function yy(i){return JSON.stringify(i).slice(1,-1)}function Zy(i={}){var u,t;let f=(u=Kg(Kv({settingValue:i.baseURL,environmentVariableName:"OPENAI_BASE_URL"})))!=null?u:"https://api.openai.com/v1",l=(t=i.name)!=null?t:"openai",c=()=>f4({Authorization:`Bearer ${hz({apiKey:i.apiKey,environmentVariableName:"OPENAI_API_KEY",description:"OpenAI"})}`,"OpenAI-Organization":i.organization,"OpenAI-Project":i.project,...i.headers},`ai-sdk/openai/${yBf}`),E=(O)=>new HZf(O,{provider:`${l}.chat`,url:({path:N})=>`${f}${N}`,headers:c,fetch:i.fetch}),d=(O)=>new MZf(O,{provider:`${l}.completion`,url:({path:N})=>`${f}${N}`,headers:c,fetch:i.fetch}),$=(O)=>new rZf(O,{provider:`${l}.embedding`,url:({path:N})=>`${f}${N}`,headers:c,fetch:i.fetch}),w=(O)=>new pZf(O,{provider:`${l}.image`,url:({path:N})=>`${f}${N}`,headers:c,fetch:i.fetch}),h=(O)=>new NBf(O,{provider:`${l}.transcription`,url:({path:N})=>`${f}${N}`,headers:c,fetch:i.fetch}),_=(O)=>new DBf(O,{provider:`${l}.speech`,url:({path:N})=>`${f}${N}`,headers:c,fetch:i.fetch}),v=(O)=>{if(new.target)throw Error("The OpenAI model function cannot be called with the new keyword.");return n(O)},n=(O)=>{return new sTf(O,{provider:`${l}.responses`,url:({path:N})=>`${f}${N}`,headers:c,fetch:i.fetch,fileIdPrefixes:["file-"]})},D=function(O){return v(O)};return D.specificationVersion="v3",D.languageModel=v,D.chat=E,D.completion=d,D.responses=n,D.embedding=$,D.embeddingModel=$,D.textEmbedding=$,D.textEmbeddingModel=$,D.image=w,D.imageModel=w,D.transcription=h,D.transcriptionModel=h,D.speech=_,D.speechModel=_,D.tools=bTf,D}var duu,f_,WZf,YZf,zZf,HZf=class{constructor(i,u){this.specificationVersion="v3",this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=i,this.config=u}get provider(){return this.config.provider}async getArgs({prompt:i,maxOutputTokens:u,temperature:t,topP:f,topK:l,frequencyPenalty:c,presencePenalty:E,stopSequences:d,responseFormat:$,seed:w,tools:h,toolChoice:_,providerOptions:v}){var n,D,O,N,y;let Z=[],T=(n=await kt({provider:"openai",providerOptions:v,schema:zZf}))!=null?n:{},B=K20(this.modelId),F=(D=T.forceReasoning)!=null?D:B.isReasoningModel;if(l!=null)Z.push({type:"unsupported",feature:"topK"});let{messages:P,warnings:S}=LZf({prompt:i,systemMessageMode:(O=T.systemMessageMode)!=null?O:F?"developer":B.systemMessageMode});Z.push(...S);let A=(N=T.strictJsonSchema)!=null?N:!0,k={model:this.modelId,logit_bias:T.logitBias,logprobs:T.logprobs===!0||typeof T.logprobs==="number"?!0:void 0,top_logprobs:typeof T.logprobs==="number"?T.logprobs:typeof T.logprobs==="boolean"?T.logprobs?0:void 0:void 0,user:T.user,parallel_tool_calls:T.parallelToolCalls,max_tokens:u,temperature:t,top_p:f,frequency_penalty:c,presence_penalty:E,response_format:($==null?void 0:$.type)==="json"?$.schema!=null?{type:"json_schema",json_schema:{schema:$.schema,strict:A,name:(y=$.name)!=null?y:"response",description:$.description}}:{type:"json_object"}:void 0,stop:d,seed:w,verbosity:T.textVerbosity,max_completion_tokens:T.maxCompletionTokens,store:T.store,metadata:T.metadata,prediction:T.prediction,reasoning_effort:T.reasoningEffort,service_tier:T.serviceTier,prompt_cache_key:T.promptCacheKey,prompt_cache_retention:T.promptCacheRetention,safety_identifier:T.safetyIdentifier,messages:P};if(F){if(T.reasoningEffort!=="none"||!B.supportsNonReasoningParameters){if(k.temperature!=null)k.temperature=void 0,Z.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"});if(k.top_p!=null)k.top_p=void 0,Z.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"});if(k.logprobs!=null)k.logprobs=void 0,Z.push({type:"other",message:"logprobs is not supported for reasoning models"})}if(k.frequency_penalty!=null)k.frequency_penalty=void 0,Z.push({type:"unsupported",feature:"frequencyPenalty",details:"frequencyPenalty is not supported for reasoning models"});if(k.presence_penalty!=null)k.presence_penalty=void 0,Z.push({type:"unsupported",feature:"presencePenalty",details:"presencePenalty is not supported for reasoning models"});if(k.logit_bias!=null)k.logit_bias=void 0,Z.push({type:"other",message:"logitBias is not supported for reasoning models"});if(k.top_logprobs!=null)k.top_logprobs=void 0,Z.push({type:"other",message:"topLogprobs is not supported for reasoning models"});if(k.max_tokens!=null){if(k.max_completion_tokens==null)k.max_completion_tokens=k.max_tokens;k.max_tokens=void 0}}else if(this.modelId.startsWith("gpt-4o-search-preview")||this.modelId.startsWith("gpt-4o-mini-search-preview")){if(k.temperature!=null)k.temperature=void 0,Z.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for the search preview models and has been removed."})}if(T.serviceTier==="flex"&&!B.supportsFlexProcessing)Z.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),k.service_tier=void 0;if(T.serviceTier==="priority"&&!B.supportsPriorityProcessing)Z.push({type:"unsupported",feature:"serviceTier",details:"priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported"}),k.service_tier=void 0;let{tools:M,toolChoice:J,toolWarnings:W}=QZf({tools:h,toolChoice:_});return{args:{...k,tools:M,tool_choice:J},warnings:[...Z,...W]}}async doGenerate(i){var u,t,f,l,c,E,d;let{args:$,warnings:w}=await this.getArgs(i),{responseHeaders:h,value:_,rawValue:v}=await Nt({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:s0(this.config.headers(),i.headers),body:$,failedResponseHandler:f_,successfulResponseHandler:dt(WZf),abortSignal:i.abortSignal,fetch:this.config.fetch}),n=_.choices[0],D=[],O=n.message.content;if(O!=null&&O.length>0)D.push({type:"text",text:O});for(let T of(u=n.message.tool_calls)!=null?u:[])D.push({type:"tool-call",toolCallId:(t=T.id)!=null?t:Vu(),toolName:T.function.name,input:T.function.arguments});for(let T of(f=n.message.annotations)!=null?f:[])D.push({type:"source",sourceType:"url",id:Vu(),url:T.url_citation.url,title:T.url_citation.title});let N=(l=_.usage)==null?void 0:l.completion_tokens_details,y=(c=_.usage)==null?void 0:c.prompt_tokens_details,Z={openai:{}};if((N==null?void 0:N.accepted_prediction_tokens)!=null)Z.openai.acceptedPredictionTokens=N==null?void 0:N.accepted_prediction_tokens;if((N==null?void 0:N.rejected_prediction_tokens)!=null)Z.openai.rejectedPredictionTokens=N==null?void 0:N.rejected_prediction_tokens;if(((E=n.logprobs)==null?void 0:E.content)!=null)Z.openai.logprobs=n.logprobs.content;return{content:D,finishReason:{unified:y20(n.finish_reason),raw:(d=n.finish_reason)!=null?d:void 0},usage:N20(_.usage),request:{body:$},response:{...siu(_),headers:h,body:v},warnings:w,providerMetadata:Z}}async doStream(i){let{args:u,warnings:t}=await this.getArgs(i),f={...u,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:l,value:c}=await Nt({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:s0(this.config.headers(),i.headers),body:f,failedResponseHandler:f_,successfulResponseHandler:wE(YZf),abortSignal:i.abortSignal,fetch:this.config.fetch}),E=[],d={unified:"other",raw:void 0},$=void 0,w=!1,h=!1,_={openai:{}};return{stream:c.pipeThrough(new TransformStream({start(v){v.enqueue({type:"stream-start",warnings:t})},transform(v,n){var D,O,N,y,Z,T,B,F,P,S,A,k,M,J,W,m,z;if(i.includeRawChunks)n.enqueue({type:"raw",rawValue:v.rawValue});if(!v.success){d={unified:"error",raw:void 0},n.enqueue({type:"error",error:v.error});return}let di=v.value;if("error"in di){d={unified:"error",raw:void 0},n.enqueue({type:"error",error:di.error});return}if(!w){let ii=siu(di);if(Object.values(ii).some(Boolean))w=!0,n.enqueue({type:"response-metadata",...siu(di)})}if(di.usage!=null){if($=di.usage,((D=di.usage.completion_tokens_details)==null?void 0:D.accepted_prediction_tokens)!=null)_.openai.acceptedPredictionTokens=(O=di.usage.completion_tokens_details)==null?void 0:O.accepted_prediction_tokens;if(((N=di.usage.completion_tokens_details)==null?void 0:N.rejected_prediction_tokens)!=null)_.openai.rejectedPredictionTokens=(y=di.usage.completion_tokens_details)==null?void 0:y.rejected_prediction_tokens}let wi=di.choices[0];if((wi==null?void 0:wi.finish_reason)!=null)d={unified:y20(wi.finish_reason),raw:wi.finish_reason};if(((Z=wi==null?void 0:wi.logprobs)==null?void 0:Z.content)!=null)_.openai.logprobs=wi.logprobs.content;if((wi==null?void 0:wi.delta)==null)return;let li=wi.delta;if(li.content!=null){if(!h)n.enqueue({type:"text-start",id:"0"}),h=!0;n.enqueue({type:"text-delta",id:"0",delta:li.content})}if(li.tool_calls!=null)for(let ii of li.tool_calls){let s=ii.index;if(E[s]==null){if(ii.type!=null&&ii.type!=="function")throw new Ez({data:ii,message:"Expected 'function' type."});if(ii.id==null)throw new Ez({data:ii,message:"Expected 'id' to be a string."});if(((T=ii.function)==null?void 0:T.name)==null)throw new Ez({data:ii,message:"Expected 'function.name' to be a string."});n.enqueue({type:"tool-input-start",id:ii.id,toolName:ii.function.name}),E[s]={id:ii.id,type:"function",function:{name:ii.function.name,arguments:(B=ii.function.arguments)!=null?B:""},hasFinished:!1};let hi=E[s];if(((F=hi.function)==null?void 0:F.name)!=null&&((P=hi.function)==null?void 0:P.arguments)!=null){if(hi.function.arguments.length>0)n.enqueue({type:"tool-input-delta",id:hi.id,delta:hi.function.arguments});if(Lsi(hi.function.arguments))n.enqueue({type:"tool-input-end",id:hi.id}),n.enqueue({type:"tool-call",toolCallId:(S=hi.id)!=null?S:Vu(),toolName:hi.function.name,input:hi.function.arguments}),hi.hasFinished=!0}continue}let Di=E[s];if(Di.hasFinished)continue;if(((A=ii.function)==null?void 0:A.arguments)!=null)Di.function.arguments+=(M=(k=ii.function)==null?void 0:k.arguments)!=null?M:"";if(n.enqueue({type:"tool-input-delta",id:Di.id,delta:(J=ii.function.arguments)!=null?J:""}),((W=Di.function)==null?void 0:W.name)!=null&&((m=Di.function)==null?void 0:m.arguments)!=null&&Lsi(Di.function.arguments))n.enqueue({type:"tool-input-end",id:Di.id}),n.enqueue({type:"tool-call",toolCallId:(z=Di.id)!=null?z:Vu(),toolName:Di.function.name,input:Di.function.arguments}),Di.hasFinished=!0}if(li.annotations!=null)for(let ii of li.annotations)n.enqueue({type:"source",sourceType:"url",id:Vu(),url:ii.url_citation.url,title:ii.url_citation.title})},flush(v){if(h)v.enqueue({type:"text-end",id:"0"});v.enqueue({type:"finish",finishReason:d,usage:N20($),..._!=null?{providerMetadata:_}:{}})}})),request:{body:f},response:{headers:l}}}},RZf,CZf,F20,MZf=class{constructor(i,u){this.specificationVersion="v3",this.supportedUrls={},this.modelId=i,this.config=u}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}get provider(){return this.config.provider}async getArgs({prompt:i,maxOutputTokens:u,temperature:t,topP:f,topK:l,frequencyPenalty:c,presencePenalty:E,stopSequences:d,responseFormat:$,tools:w,toolChoice:h,seed:_,providerOptions:v}){let n=[],D={...await kt({provider:"openai",providerOptions:v,schema:F20}),...await kt({provider:this.providerOptionsName,providerOptions:v,schema:F20})};if(l!=null)n.push({type:"unsupported",feature:"topK"});if(w==null?void 0:w.length)n.push({type:"unsupported",feature:"tools"});if(h!=null)n.push({type:"unsupported",feature:"toolChoice"});if($!=null&&$.type!=="text")n.push({type:"unsupported",feature:"responseFormat",details:"JSON response format is not supported."});let{prompt:O,stopSequences:N}=bZf({prompt:i}),y=[...N!=null?N:[],...d!=null?d:[]];return{args:{model:this.modelId,echo:D.echo,logit_bias:D.logitBias,logprobs:(D==null?void 0:D.logprobs)===!0?0:(D==null?void 0:D.logprobs)===!1?void 0:D==null?void 0:D.logprobs,suffix:D.suffix,user:D.user,max_tokens:u,temperature:t,top_p:f,frequency_penalty:c,presence_penalty:E,seed:_,prompt:O,stop:y.length>0?y:void 0},warnings:n}}async doGenerate(i){var u;let{args:t,warnings:f}=await this.getArgs(i),{responseHeaders:l,value:c,rawValue:E}=await Nt({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:s0(this.config.headers(),i.headers),body:t,failedResponseHandler:f_,successfulResponseHandler:dt(RZf),abortSignal:i.abortSignal,fetch:this.config.fetch}),d=c.choices[0],$={openai:{}};if(d.logprobs!=null)$.openai.logprobs=d.logprobs;return{content:[{type:"text",text:d.text}],usage:Z20(c.usage),finishReason:{unified:B20(d.finish_reason),raw:(u=d.finish_reason)!=null?u:void 0},request:{body:t},response:{...T20(c),headers:l,body:E},providerMetadata:$,warnings:f}}async doStream(i){let{args:u,warnings:t}=await this.getArgs(i),f={...u,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:l,value:c}=await Nt({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:s0(this.config.headers(),i.headers),body:f,failedResponseHandler:f_,successfulResponseHandler:wE(CZf),abortSignal:i.abortSignal,fetch:this.config.fetch}),E={unified:"other",raw:void 0},d={openai:{}},$=void 0,w=!0;return{stream:c.pipeThrough(new TransformStream({start(h){h.enqueue({type:"stream-start",warnings:t})},transform(h,_){if(i.includeRawChunks)_.enqueue({type:"raw",rawValue:h.rawValue});if(!h.success){E={unified:"error",raw:void 0},_.enqueue({type:"error",error:h.error});return}let v=h.value;if("error"in v){E={unified:"error",raw:void 0},_.enqueue({type:"error",error:v.error});return}if(w)w=!1,_.enqueue({type:"response-metadata",...T20(v)}),_.enqueue({type:"text-start",id:"0"});if(v.usage!=null)$=v.usage;let n=v.choices[0];if((n==null?void 0:n.finish_reason)!=null)E={unified:B20(n.finish_reason),raw:n.finish_reason};if((n==null?void 0:n.logprobs)!=null)d.openai.logprobs=n.logprobs;if((n==null?void 0:n.text)!=null&&n.text.length>0)_.enqueue({type:"text-delta",id:"0",delta:n.text})},flush(h){if(!w)h.enqueue({type:"text-end",id:"0"});h.enqueue({type:"finish",finishReason:E,providerMetadata:d,usage:Z20($)})}})),request:{body:f},response:{headers:l}}}},qZf,VZf,rZf=class{constructor(i,u){this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=i,this.config=u}get provider(){return this.config.provider}async doEmbed({values:i,headers:u,abortSignal:t,providerOptions:f}){var l;if(i.length>this.maxEmbeddingsPerCall)throw new dz({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:i});let c=(l=await kt({provider:"openai",providerOptions:f,schema:qZf}))!=null?l:{},{responseHeaders:E,value:d,rawValue:$}=await Nt({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:s0(this.config.headers(),u),body:{model:this.modelId,input:i,encoding_format:"float",dimensions:c.dimensions,user:c.user},failedResponseHandler:f_,successfulResponseHandler:dt(VZf),abortSignal:t,fetch:this.config.fetch});return{warnings:[],embeddings:d.data.map((w)=>w.embedding),usage:d.usage?{tokens:d.usage.prompt_tokens}:void 0,response:{headers:E,body:$}}}},U20,mZf,eZf,$uu,mWl,oZf,sZf,pZf=class{constructor(i,u){this.modelId=i,this.config=u,this.specificationVersion="v3"}get maxImagesPerCall(){var i;return(i=mZf[this.modelId])!=null?i:1}get provider(){return this.config.provider}async doGenerate({prompt:i,files:u,mask:t,n:f,size:l,aspectRatio:c,seed:E,providerOptions:d,headers:$,abortSignal:w}){var h,_,v,n,D,O,N,y,Z,T,B;let F=[];if(c!=null)F.push({type:"unsupported",feature:"aspectRatio",details:"This model does not support aspect ratio. Use `size` instead."});if(E!=null)F.push({type:"unsupported",feature:"seed"});let P=(v=(_=(h=this.config._internal)==null?void 0:h.currentDate)==null?void 0:_.call(h))!=null?v:new Date;if(u!=null){let M=(n=await kt({provider:"openai",providerOptions:d,schema:sZf}))!=null?n:{},{value:J,responseHeaders:W}=await N$i({url:this.config.url({path:"/images/edits",modelId:this.modelId}),headers:s0(this.config.headers(),$),formData:g50({model:this.modelId,prompt:i,image:await Promise.all(u.map((m)=>m.type==="file"?new Blob([m.data instanceof Uint8Array?new Blob([m.data],{type:m.mediaType}):new Blob([k1(m.data)],{type:m.mediaType})],{type:m.mediaType}):jsi(m.url))),mask:t!=null?await iTf(t):void 0,n:f,size:l,quality:M.quality,background:M.background,output_format:M.outputFormat,output_compression:M.outputCompression,input_fidelity:M.inputFidelity,user:M.user}),failedResponseHandler:f_,successfulResponseHandler:dt(U20),abortSignal:w,fetch:this.config.fetch});return{images:J.data.map((m)=>m.b64_json),warnings:F,usage:J.usage!=null?{inputTokens:(D=J.usage.input_tokens)!=null?D:void 0,outputTokens:(O=J.usage.output_tokens)!=null?O:void 0,totalTokens:(N=J.usage.total_tokens)!=null?N:void 0}:void 0,response:{timestamp:P,modelId:this.modelId,headers:W},providerMetadata:{openai:{images:J.data.map((m,z)=>{var di,wi,li,ii,s,Di;return{...m.revised_prompt?{revisedPrompt:m.revised_prompt}:{},created:(di=J.created)!=null?di:void 0,size:(wi=J.size)!=null?wi:void 0,quality:(li=J.quality)!=null?li:void 0,background:(ii=J.background)!=null?ii:void 0,outputFormat:(s=J.output_format)!=null?s:void 0,...I20((Di=J.usage)==null?void 0:Di.input_tokens_details,z,J.data.length)}})}}}}let S=(y=await kt({provider:"openai",providerOptions:d,schema:oZf}))!=null?y:{},{value:A,responseHeaders:k}=await Nt({url:this.config.url({path:"/images/generations",modelId:this.modelId}),headers:s0(this.config.headers(),$),body:{model:this.modelId,prompt:i,n:f,size:l,quality:S.quality,style:S.style,background:S.background,moderation:S.moderation,output_format:S.outputFormat,output_compression:S.outputCompression,user:S.user,...!aZf(this.modelId)?{response_format:"b64_json"}:{}},failedResponseHandler:f_,successfulResponseHandler:dt(U20),abortSignal:w,fetch:this.config.fetch});return{images:A.data.map((M)=>M.b64_json),warnings:F,usage:A.usage!=null?{inputTokens:(Z=A.usage.input_tokens)!=null?Z:void 0,outputTokens:(T=A.usage.output_tokens)!=null?T:void 0,totalTokens:(B=A.usage.total_tokens)!=null?B:void 0}:void 0,response:{timestamp:P,modelId:this.modelId,headers:k},providerMetadata:{openai:{images:A.data.map((M,J)=>{var W,m,z,di,wi,li;return{...M.revised_prompt?{revisedPrompt:M.revised_prompt}:{},created:(W=A.created)!=null?W:void 0,size:(m=A.size)!=null?m:void 0,quality:(z=A.quality)!=null?z:void 0,background:(di=A.background)!=null?di:void 0,outputFormat:(wi=A.output_format)!=null?wi:void 0,...I20((li=A.usage)==null?void 0:li.input_tokens_details,J,A.data.length)}})}}}}},J20,X20,oWl,uTf,tTf,fTf,lTf,cTf,ETf,dTf=(i={})=>{return ETf(i)},$Tf,wTf,hTf,_Tf=(i)=>hTf(i),L20,W20,vTf,nTf,DTf,gTf,OTf,NTf,yTf,ZTf=(i={})=>{return yTf(i)},Y20,z20,TTf,Q20,fuu,BTf,FTf,UTf,ITf,luu,cuu,PTf,ATf=(i={})=>PTf(i),xTf,kTf,GTf,STf,jTf=(i={})=>STf(i),KTf,JTf,XTf,LTf,Euu,WTf,YTf,zTf,QTf,HTf=(i)=>QTf(i),bTf,MTf,Je,qTf,VTf,H20=20,rTf,xYl,x20,sTf=class{constructor(i,u){this.specificationVersion="v3",this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},this.modelId=i,this.config=u}get provider(){return this.config.provider}async getArgs({maxOutputTokens:i,temperature:u,stopSequences:t,topP:f,topK:l,presencePenalty:c,frequencyPenalty:E,seed:d,prompt:$,providerOptions:w,tools:h,toolChoice:_,responseFormat:v}){var n,D,O,N,y,Z,T,B,F,P,S;let A=[],k=K20(this.modelId);if(l!=null)A.push({type:"unsupported",feature:"topK"});if(d!=null)A.push({type:"unsupported",feature:"seed"});if(c!=null)A.push({type:"unsupported",feature:"presencePenalty"});if(E!=null)A.push({type:"unsupported",feature:"frequencyPenalty"});if(t!=null)A.push({type:"unsupported",feature:"stopSequences"});let M=this.config.provider.includes("azure")?"azure":"openai",J=await kt({provider:M,providerOptions:w,schema:x20});if(J==null&&M!=="openai")J=await kt({provider:"openai",providerOptions:w,schema:x20});let W=(n=J==null?void 0:J.forceReasoning)!=null?n:k.isReasoningModel;if((J==null?void 0:J.conversation)&&(J==null?void 0:J.previousResponseId))A.push({type:"unsupported",feature:"conversation",details:"conversation and previousResponseId cannot be used together"});let m=D$i({tools:h,providerToolNames:{"openai.code_interpreter":"code_interpreter","openai.file_search":"file_search","openai.image_generation":"image_generation","openai.local_shell":"local_shell","openai.shell":"shell","openai.web_search":"web_search","openai.web_search_preview":"web_search_preview","openai.mcp":"mcp","openai.apply_patch":"apply_patch","openai.tool_search":"tool_search"},resolveProviderToolName:($i)=>$i.id==="openai.custom"?$i.args.name:void 0}),z=new Set,{tools:di,toolChoice:wi,toolWarnings:li}=await mTf({tools:h,toolChoice:_,allowedTools:(D=J==null?void 0:J.allowedTools)!=null?D:void 0,toolNameMapping:m,customProviderToolNames:z}),{input:ii,warnings:s}=await CTf({prompt:$,toolNameMapping:m,systemMessageMode:(O=J==null?void 0:J.systemMessageMode)!=null?O:W?"developer":k.systemMessageMode,providerOptionsName:M,fileIdPrefixes:this.config.fileIdPrefixes,passThroughUnsupportedFiles:(N=J==null?void 0:J.passThroughUnsupportedFiles)!=null?N:!1,store:(y=J==null?void 0:J.store)!=null?y:!0,hasConversation:(J==null?void 0:J.conversation)!=null,hasPreviousResponseId:(J==null?void 0:J.previousResponseId)!=null,hasLocalShellTool:qi("openai.local_shell"),hasShellTool:qi("openai.shell"),hasApplyPatchTool:qi("openai.apply_patch"),customProviderToolNames:z.size>0?z:void 0});A.push(...s);let Di=(Z=J==null?void 0:J.strictJsonSchema)!=null?Z:!0,hi=J==null?void 0:J.include;function xi($i){if(hi==null)hi=[$i];else if(!hi.includes($i))hi=[...hi,$i]}function qi($i){return(h==null?void 0:h.find((ci)=>ci.type==="provider"&&ci.id===$i))!=null}let Yi=typeof(J==null?void 0:J.logprobs)==="number"?J==null?void 0:J.logprobs:(J==null?void 0:J.logprobs)===!0?H20:void 0;if(Yi)xi("message.output_text.logprobs");let mi=(T=h==null?void 0:h.find(($i)=>$i.type==="provider"&&($i.id==="openai.web_search"||$i.id==="openai.web_search_preview")))==null?void 0:T.name;if(mi)xi("web_search_call.action.sources");if(qi("openai.code_interpreter"))xi("code_interpreter_call.outputs");let Oi=J==null?void 0:J.store;if(Oi===!1&&W)xi("reasoning.encrypted_content");let Xi={model:this.modelId,input:ii,temperature:u,top_p:f,max_output_tokens:i,...((v==null?void 0:v.type)==="json"||(J==null?void 0:J.textVerbosity))&&{text:{...(v==null?void 0:v.type)==="json"&&{format:v.schema!=null?{type:"json_schema",strict:Di,name:(B=v.name)!=null?B:"response",description:v.description,schema:v.schema}:{type:"json_object"}},...(J==null?void 0:J.textVerbosity)&&{verbosity:J.textVerbosity}}},conversation:J==null?void 0:J.conversation,max_tool_calls:J==null?void 0:J.maxToolCalls,metadata:J==null?void 0:J.metadata,parallel_tool_calls:J==null?void 0:J.parallelToolCalls,previous_response_id:J==null?void 0:J.previousResponseId,store:Oi,user:J==null?void 0:J.user,instructions:J==null?void 0:J.instructions,service_tier:J==null?void 0:J.serviceTier,include:hi,prompt_cache_key:J==null?void 0:J.promptCacheKey,prompt_cache_retention:J==null?void 0:J.promptCacheRetention,safety_identifier:J==null?void 0:J.safetyIdentifier,top_logprobs:Yi,truncation:J==null?void 0:J.truncation,...W&&((J==null?void 0:J.reasoningEffort)!=null||(J==null?void 0:J.reasoningSummary)!=null)&&{reasoning:{...(J==null?void 0:J.reasoningEffort)!=null&&{effort:J.reasoningEffort},...(J==null?void 0:J.reasoningSummary)!=null&&{summary:J.reasoningSummary}}}};if(W){if(!((J==null?void 0:J.reasoningEffort)==="none"&&k.supportsNonReasoningParameters)){if(Xi.temperature!=null)Xi.temperature=void 0,A.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"});if(Xi.top_p!=null)Xi.top_p=void 0,A.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"})}}else{if((J==null?void 0:J.reasoningEffort)!=null)A.push({type:"unsupported",feature:"reasoningEffort",details:"reasoningEffort is not supported for non-reasoning models"});if((J==null?void 0:J.reasoningSummary)!=null)A.push({type:"unsupported",feature:"reasoningSummary",details:"reasoningSummary is not supported for non-reasoning models"})}if((J==null?void 0:J.serviceTier)==="flex"&&!k.supportsFlexProcessing)A.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),delete Xi.service_tier;if((J==null?void 0:J.serviceTier)==="priority"&&!k.supportsPriorityProcessing)A.push({type:"unsupported",feature:"serviceTier",details:"priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported"}),delete Xi.service_tier;let Pi=(S=(P=(F=h==null?void 0:h.find(($i)=>$i.type==="provider"&&$i.id==="openai.shell"))==null?void 0:F.args)==null?void 0:P.environment)==null?void 0:S.type,ni=Pi==="containerAuto"||Pi==="containerReference";return{webSearchToolName:mi,args:{...Xi,tools:di,tool_choice:wi},warnings:[...A,...li],store:Oi,toolNameMapping:m,providerOptionsName:M,isShellProviderExecuted:ni}}async doGenerate(i){var u,t,f,l,c,E,d,$,w,h,_,v,n,D,O,N,y,Z,T,B,F,P,S,A,k,M,J,W;let{args:m,warnings:z,webSearchToolName:di,toolNameMapping:wi,providerOptionsName:li,isShellProviderExecuted:ii}=await this.getArgs(i),s=this.config.url({path:"/responses",modelId:this.modelId}),Di=k20(i.prompt),{responseHeaders:hi,value:xi,rawValue:qi}=await Nt({url:s,headers:s0(this.config.headers(),i.headers),body:m,failedResponseHandler:f_,successfulResponseHandler:dt(VTf),abortSignal:i.abortSignal,fetch:this.config.fetch});if(xi.error)throw new _t({message:xi.error.message,url:s,requestBodyValues:m,statusCode:400,responseHeaders:hi,responseBody:qi,isRetryable:!1});let Yi=[],mi=[],Oi=!1,Xi=[];for(let $i of xi.output)switch($i.type){case"reasoning":{if($i.summary.length===0)$i.summary.push({type:"summary_text",text:""});for(let ci of $i.summary)Yi.push({type:"reasoning",text:ci.text,providerMetadata:{[li]:{itemId:$i.id,reasoningEncryptedContent:(u=$i.encrypted_content)!=null?u:null}}});break}case"image_generation_call":{Yi.push({type:"tool-call",toolCallId:$i.id,toolName:wi.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0}),Yi.push({type:"tool-result",toolCallId:$i.id,toolName:wi.toCustomToolName("image_generation"),result:{result:$i.result}});break}case"tool_search_call":{let ci=(t=$i.call_id)!=null?t:$i.id,ji=$i.execution==="server";if(ji)Xi.push(ci);Yi.push({type:"tool-call",toolCallId:ci,toolName:wi.toCustomToolName("tool_search"),input:JSON.stringify({arguments:$i.arguments,call_id:$i.call_id}),...ji?{providerExecuted:!0}:{},providerMetadata:{[li]:{itemId:$i.id}}});break}case"tool_search_output":{let ci=(l=(f=$i.call_id)!=null?f:Xi.shift())!=null?l:$i.id;Yi.push({type:"tool-result",toolCallId:ci,toolName:wi.toCustomToolName("tool_search"),result:{tools:$i.tools},providerMetadata:{[li]:{itemId:$i.id}}});break}case"local_shell_call":{Yi.push({type:"tool-call",toolCallId:$i.call_id,toolName:wi.toCustomToolName("local_shell"),input:JSON.stringify({action:$i.action}),providerMetadata:{[li]:{itemId:$i.id}}});break}case"shell_call":{Yi.push({type:"tool-call",toolCallId:$i.call_id,toolName:wi.toCustomToolName("shell"),input:JSON.stringify({action:{commands:$i.action.commands}}),...ii&&{providerExecuted:!0},providerMetadata:{[li]:{itemId:$i.id}}});break}case"shell_call_output":{Yi.push({type:"tool-result",toolCallId:$i.call_id,toolName:wi.toCustomToolName("shell"),result:{output:$i.output.map((ci)=>({stdout:ci.stdout,stderr:ci.stderr,outcome:ci.outcome.type==="exit"?{type:"exit",exitCode:ci.outcome.exit_code}:{type:"timeout"}}))}});break}case"message":{for(let ci of $i.content){if(((E=(c=i.providerOptions)==null?void 0:c[li])==null?void 0:E.logprobs)&&ci.logprobs)mi.push(ci.logprobs);let ji={itemId:$i.id,...$i.phase!=null&&{phase:$i.phase},...ci.annotations.length>0&&{annotations:ci.annotations}};Yi.push({type:"text",text:ci.text,providerMetadata:{[li]:ji}});for(let e of ci.annotations)if(e.type==="url_citation")Yi.push({type:"source",sourceType:"url",id:(w=($=(d=this.config).generateId)==null?void 0:$.call(d))!=null?w:Vu(),url:e.url,title:e.title});else if(e.type==="file_citation")Yi.push({type:"source",sourceType:"document",id:(v=(_=(h=this.config).generateId)==null?void 0:_.call(h))!=null?v:Vu(),mediaType:"text/plain",title:e.filename,filename:e.filename,providerMetadata:{[li]:{type:e.type,fileId:e.file_id,index:e.index}}});else if(e.type==="container_file_citation")Yi.push({type:"source",sourceType:"document",id:(O=(D=(n=this.config).generateId)==null?void 0:D.call(n))!=null?O:Vu(),mediaType:"text/plain",title:e.filename,filename:e.filename,providerMetadata:{[li]:{type:e.type,fileId:e.file_id,containerId:e.container_id}}});else if(e.type==="file_path")Yi.push({type:"source",sourceType:"document",id:(Z=(y=(N=this.config).generateId)==null?void 0:y.call(N))!=null?Z:Vu(),mediaType:"application/octet-stream",title:e.file_id,filename:e.file_id,providerMetadata:{[li]:{type:e.type,fileId:e.file_id,index:e.index}}})}break}case"function_call":{Oi=!0,Yi.push({type:"tool-call",toolCallId:$i.call_id,toolName:$i.name,input:$i.arguments,providerMetadata:{[li]:{itemId:$i.id,...$i.namespace!=null&&{namespace:$i.namespace}}}});break}case"custom_tool_call":{Oi=!0;let ci=wi.toCustomToolName($i.name);Yi.push({type:"tool-call",toolCallId:$i.call_id,toolName:ci,input:JSON.stringify($i.input),providerMetadata:{[li]:{itemId:$i.id}}});break}case"web_search_call":{Yi.push({type:"tool-call",toolCallId:$i.id,toolName:wi.toCustomToolName(di!=null?di:"web_search"),input:JSON.stringify({}),providerExecuted:!0}),Yi.push({type:"tool-result",toolCallId:$i.id,toolName:wi.toCustomToolName(di!=null?di:"web_search"),result:S20($i.action)});break}case"mcp_call":{let ci=$i.approval_request_id!=null?(T=Di[$i.approval_request_id])!=null?T:$i.id:$i.id,ji=`mcp.${$i.name}`;Yi.push({type:"tool-call",toolCallId:ci,toolName:ji,input:$i.arguments,providerExecuted:!0,dynamic:!0}),Yi.push({type:"tool-result",toolCallId:ci,toolName:ji,result:{type:"call",serverLabel:$i.server_label,name:$i.name,arguments:$i.arguments,...$i.output!=null?{output:$i.output}:{},...$i.error!=null?{error:$i.error}:{}},providerMetadata:{[li]:{itemId:$i.id}}});break}case"mcp_list_tools":break;case"mcp_approval_request":{let ci=(B=$i.approval_request_id)!=null?B:$i.id,ji=(S=(P=(F=this.config).generateId)==null?void 0:P.call(F))!=null?S:Vu(),e=`mcp.${$i.name}`;Yi.push({type:"tool-call",toolCallId:ji,toolName:e,input:$i.arguments,providerExecuted:!0,dynamic:!0}),Yi.push({type:"tool-approval-request",approvalId:ci,toolCallId:ji});break}case"computer_call":{Yi.push({type:"tool-call",toolCallId:$i.id,toolName:wi.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),Yi.push({type:"tool-result",toolCallId:$i.id,toolName:wi.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:$i.status||"completed"}});break}case"file_search_call":{Yi.push({type:"tool-call",toolCallId:$i.id,toolName:wi.toCustomToolName("file_search"),input:"{}",providerExecuted:!0}),Yi.push({type:"tool-result",toolCallId:$i.id,toolName:wi.toCustomToolName("file_search"),result:{queries:$i.queries,results:(k=(A=$i.results)==null?void 0:A.map((ci)=>({attributes:ci.attributes,fileId:ci.file_id,filename:ci.filename,score:ci.score,text:ci.text})))!=null?k:null}});break}case"code_interpreter_call":{Yi.push({type:"tool-call",toolCallId:$i.id,toolName:wi.toCustomToolName("code_interpreter"),input:JSON.stringify({code:$i.code,containerId:$i.container_id}),providerExecuted:!0}),Yi.push({type:"tool-result",toolCallId:$i.id,toolName:wi.toCustomToolName("code_interpreter"),result:{outputs:$i.outputs}});break}case"apply_patch_call":{Yi.push({type:"tool-call",toolCallId:$i.call_id,toolName:wi.toCustomToolName("apply_patch"),input:JSON.stringify({callId:$i.call_id,operation:$i.operation}),providerMetadata:{[li]:{itemId:$i.id}}});break}}let Pi={[li]:{responseId:xi.id,...mi.length>0?{logprobs:mi}:{},...typeof xi.service_tier==="string"?{serviceTier:xi.service_tier}:{}}},ni=xi.usage;return{content:Yi,finishReason:{unified:uuu({finishReason:(M=xi.incomplete_details)==null?void 0:M.reason,hasFunctionCall:Oi}),raw:(W=(J=xi.incomplete_details)==null?void 0:J.reason)!=null?W:void 0},usage:P20(ni),request:{body:m},response:{id:xi.id,timestamp:new Date(xi.created_at*1000),modelId:xi.model,headers:hi,body:qi},providerMetadata:Pi,warnings:z}}async doStream(i){let{args:u,warnings:t,webSearchToolName:f,toolNameMapping:l,store:c,providerOptionsName:E,isShellProviderExecuted:d}=await this.getArgs(i),{responseHeaders:$,value:w}=await Nt({url:this.config.url({path:"/responses",modelId:this.modelId}),headers:s0(this.config.headers(),i.headers),body:{...u,stream:!0},failedResponseHandler:f_,successfulResponseHandler:wE(qTf),abortSignal:i.abortSignal,fetch:this.config.fetch}),h=this,_=k20(i.prompt),v=new Map,n={unified:"other",raw:void 0},D=void 0,O=[],N=null,y={},Z=[],T,B=!1,F={},P,S=[];return{stream:w.pipeThrough(new TransformStream({start(A){A.enqueue({type:"stream-start",warnings:t})},transform(A,k){var M,J,W,m,z,di,wi,li,ii,s,Di,hi,xi,qi,Yi,mi,Oi,Xi,Pi,ni,$i,ci,ji,e,ti,ai,Ai,q,r,Ki,zi,gu,ri,Bu,S0,Bf,J4,u1;if(i.includeRawChunks)k.enqueue({type:"raw",rawValue:A.rawValue});if(!A.success){n={unified:"error",raw:void 0},k.enqueue({type:"error",error:A.error});return}let ui=A.value;if(G20(ui)){if(ui.item.type==="function_call")y[ui.output_index]={toolName:ui.item.name,toolCallId:ui.item.call_id},k.enqueue({type:"tool-input-start",id:ui.item.call_id,toolName:ui.item.name});else if(ui.item.type==="custom_tool_call"){let $u=l.toCustomToolName(ui.item.name);y[ui.output_index]={toolName:$u,toolCallId:ui.item.call_id},k.enqueue({type:"tool-input-start",id:ui.item.call_id,toolName:$u})}else if(ui.item.type==="web_search_call")y[ui.output_index]={toolName:l.toCustomToolName(f!=null?f:"web_search"),toolCallId:ui.item.id},k.enqueue({type:"tool-input-start",id:ui.item.id,toolName:l.toCustomToolName(f!=null?f:"web_search"),providerExecuted:!0}),k.enqueue({type:"tool-input-end",id:ui.item.id}),k.enqueue({type:"tool-call",toolCallId:ui.item.id,toolName:l.toCustomToolName(f!=null?f:"web_search"),input:JSON.stringify({}),providerExecuted:!0});else if(ui.item.type==="computer_call")y[ui.output_index]={toolName:l.toCustomToolName("computer_use"),toolCallId:ui.item.id},k.enqueue({type:"tool-input-start",id:ui.item.id,toolName:l.toCustomToolName("computer_use"),providerExecuted:!0});else if(ui.item.type==="code_interpreter_call")y[ui.output_index]={toolName:l.toCustomToolName("code_interpreter"),toolCallId:ui.item.id,codeInterpreter:{containerId:ui.item.container_id}},k.enqueue({type:"tool-input-start",id:ui.item.id,toolName:l.toCustomToolName("code_interpreter"),providerExecuted:!0}),k.enqueue({type:"tool-input-delta",id:ui.item.id,delta:`{"containerId":"${ui.item.container_id}","code":"`});else if(ui.item.type==="file_search_call")k.enqueue({type:"tool-call",toolCallId:ui.item.id,toolName:l.toCustomToolName("file_search"),input:"{}",providerExecuted:!0});else if(ui.item.type==="image_generation_call")k.enqueue({type:"tool-call",toolCallId:ui.item.id,toolName:l.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0});else if(ui.item.type==="tool_search_call"){let $u=ui.item.id,it=l.toCustomToolName("tool_search"),ut=ui.item.execution==="server";if(y[ui.output_index]={toolName:it,toolCallId:$u,toolSearchExecution:(M=ui.item.execution)!=null?M:"server"},ut)k.enqueue({type:"tool-input-start",id:$u,toolName:it,providerExecuted:!0})}else if(ui.item.type==="tool_search_output");else if(ui.item.type==="mcp_call"||ui.item.type==="mcp_list_tools"||ui.item.type==="mcp_approval_request");else if(ui.item.type==="apply_patch_call"){let{call_id:$u,operation:it}=ui.item;if(y[ui.output_index]={toolName:l.toCustomToolName("apply_patch"),toolCallId:$u,applyPatch:{hasDiff:it.type==="delete_file",endEmitted:it.type==="delete_file"}},k.enqueue({type:"tool-input-start",id:$u,toolName:l.toCustomToolName("apply_patch")}),it.type==="delete_file"){let ut=JSON.stringify({callId:$u,operation:it});k.enqueue({type:"tool-input-delta",id:$u,delta:ut}),k.enqueue({type:"tool-input-end",id:$u})}else k.enqueue({type:"tool-input-delta",id:$u,delta:`{"callId":"${yy($u)}","operation":{"type":"${yy(it.type)}","path":"${yy(it.path)}","diff":"`})}else if(ui.item.type==="shell_call")y[ui.output_index]={toolName:l.toCustomToolName("shell"),toolCallId:ui.item.call_id};else if(ui.item.type==="shell_call_output");else if(ui.item.type==="message")Z.splice(0,Z.length),T=(J=ui.item.phase)!=null?J:void 0,k.enqueue({type:"text-start",id:ui.item.id,providerMetadata:{[E]:{itemId:ui.item.id,...ui.item.phase!=null&&{phase:ui.item.phase}}}});else if(G20(ui)&&ui.item.type==="reasoning")F[ui.item.id]={encryptedContent:ui.item.encrypted_content,summaryParts:{0:"active"}},k.enqueue({type:"reasoning-start",id:`${ui.item.id}:0`,providerMetadata:{[E]:{itemId:ui.item.id,reasoningEncryptedContent:(W=ui.item.encrypted_content)!=null?W:null}}})}else if(iBf(ui)){if(ui.item.type==="message"){let $u=(m=ui.item.phase)!=null?m:T;T=void 0,k.enqueue({type:"text-end",id:ui.item.id,providerMetadata:{[E]:{itemId:ui.item.id,...$u!=null&&{phase:$u},...Z.length>0&&{annotations:Z}}}})}else if(ui.item.type==="function_call")y[ui.output_index]=void 0,B=!0,k.enqueue({type:"tool-input-end",id:ui.item.call_id,...ui.item.namespace!=null&&{providerMetadata:{[E]:{namespace:ui.item.namespace}}}}),k.enqueue({type:"tool-call",toolCallId:ui.item.call_id,toolName:ui.item.name,input:ui.item.arguments,providerMetadata:{[E]:{itemId:ui.item.id,...ui.item.namespace!=null&&{namespace:ui.item.namespace}}}});else if(ui.item.type==="custom_tool_call"){y[ui.output_index]=void 0,B=!0;let $u=l.toCustomToolName(ui.item.name);k.enqueue({type:"tool-input-end",id:ui.item.call_id}),k.enqueue({type:"tool-call",toolCallId:ui.item.call_id,toolName:$u,input:JSON.stringify(ui.item.input),providerMetadata:{[E]:{itemId:ui.item.id}}})}else if(ui.item.type==="web_search_call")y[ui.output_index]=void 0,k.enqueue({type:"tool-result",toolCallId:ui.item.id,toolName:l.toCustomToolName(f!=null?f:"web_search"),result:S20(ui.item.action)});else if(ui.item.type==="computer_call")y[ui.output_index]=void 0,k.enqueue({type:"tool-input-end",id:ui.item.id}),k.enqueue({type:"tool-call",toolCallId:ui.item.id,toolName:l.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),k.enqueue({type:"tool-result",toolCallId:ui.item.id,toolName:l.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:ui.item.status||"completed"}});else if(ui.item.type==="file_search_call")y[ui.output_index]=void 0,k.enqueue({type:"tool-result",toolCallId:ui.item.id,toolName:l.toCustomToolName("file_search"),result:{queries:ui.item.queries,results:(di=(z=ui.item.results)==null?void 0:z.map(($u)=>({attributes:$u.attributes,fileId:$u.file_id,filename:$u.filename,score:$u.score,text:$u.text})))!=null?di:null}});else if(ui.item.type==="code_interpreter_call")y[ui.output_index]=void 0,k.enqueue({type:"tool-result",toolCallId:ui.item.id,toolName:l.toCustomToolName("code_interpreter"),result:{outputs:ui.item.outputs}});else if(ui.item.type==="image_generation_call")k.enqueue({type:"tool-result",toolCallId:ui.item.id,toolName:l.toCustomToolName("image_generation"),result:{result:ui.item.result}});else if(ui.item.type==="tool_search_call"){let $u=y[ui.output_index],it=ui.item.execution==="server";if($u!=null){let ut=it?$u.toolCallId:(wi=ui.item.call_id)!=null?wi:ui.item.id;if(it)S.push(ut);else k.enqueue({type:"tool-input-start",id:ut,toolName:$u.toolName});k.enqueue({type:"tool-input-end",id:ut}),k.enqueue({type:"tool-call",toolCallId:ut,toolName:$u.toolName,input:JSON.stringify({arguments:ui.item.arguments,call_id:it?null:ut}),...it?{providerExecuted:!0}:{},providerMetadata:{[E]:{itemId:ui.item.id}}})}y[ui.output_index]=void 0}else if(ui.item.type==="tool_search_output"){let $u=(ii=(li=ui.item.call_id)!=null?li:S.shift())!=null?ii:ui.item.id;k.enqueue({type:"tool-result",toolCallId:$u,toolName:l.toCustomToolName("tool_search"),result:{tools:ui.item.tools},providerMetadata:{[E]:{itemId:ui.item.id}}})}else if(ui.item.type==="mcp_call"){y[ui.output_index]=void 0;let $u=(s=ui.item.approval_request_id)!=null?s:void 0,it=$u!=null?(hi=(Di=v.get($u))!=null?Di:_[$u])!=null?hi:ui.item.id:ui.item.id,ut=`mcp.${ui.item.name}`;k.enqueue({type:"tool-call",toolCallId:it,toolName:ut,input:ui.item.arguments,providerExecuted:!0,dynamic:!0}),k.enqueue({type:"tool-result",toolCallId:it,toolName:ut,result:{type:"call",serverLabel:ui.item.server_label,name:ui.item.name,arguments:ui.item.arguments,...ui.item.output!=null?{output:ui.item.output}:{},...ui.item.error!=null?{error:ui.item.error}:{}},providerMetadata:{[E]:{itemId:ui.item.id}}})}else if(ui.item.type==="mcp_list_tools")y[ui.output_index]=void 0;else if(ui.item.type==="apply_patch_call"){let $u=y[ui.output_index];if(($u==null?void 0:$u.applyPatch)&&!$u.applyPatch.endEmitted&&ui.item.operation.type!=="delete_file"){if(!$u.applyPatch.hasDiff)k.enqueue({type:"tool-input-delta",id:$u.toolCallId,delta:yy(ui.item.operation.diff)});k.enqueue({type:"tool-input-delta",id:$u.toolCallId,delta:'"}}'}),k.enqueue({type:"tool-input-end",id:$u.toolCallId}),$u.applyPatch.endEmitted=!0}if($u&&ui.item.status==="completed")k.enqueue({type:"tool-call",toolCallId:$u.toolCallId,toolName:l.toCustomToolName("apply_patch"),input:JSON.stringify({callId:ui.item.call_id,operation:ui.item.operation}),providerMetadata:{[E]:{itemId:ui.item.id}}});y[ui.output_index]=void 0}else if(ui.item.type==="mcp_approval_request"){y[ui.output_index]=void 0;let $u=(Yi=(qi=(xi=h.config).generateId)==null?void 0:qi.call(xi))!=null?Yi:Vu(),it=(mi=ui.item.approval_request_id)!=null?mi:ui.item.id;v.set(it,$u);let ut=`mcp.${ui.item.name}`;k.enqueue({type:"tool-call",toolCallId:$u,toolName:ut,input:ui.item.arguments,providerExecuted:!0,dynamic:!0}),k.enqueue({type:"tool-approval-request",approvalId:it,toolCallId:$u})}else if(ui.item.type==="local_shell_call")y[ui.output_index]=void 0,k.enqueue({type:"tool-call",toolCallId:ui.item.call_id,toolName:l.toCustomToolName("local_shell"),input:JSON.stringify({action:{type:"exec",command:ui.item.action.command,timeoutMs:ui.item.action.timeout_ms,user:ui.item.action.user,workingDirectory:ui.item.action.working_directory,env:ui.item.action.env}}),providerMetadata:{[E]:{itemId:ui.item.id}}});else if(ui.item.type==="shell_call")y[ui.output_index]=void 0,k.enqueue({type:"tool-call",toolCallId:ui.item.call_id,toolName:l.toCustomToolName("shell"),input:JSON.stringify({action:{commands:ui.item.action.commands}}),...d&&{providerExecuted:!0},providerMetadata:{[E]:{itemId:ui.item.id}}});else if(ui.item.type==="shell_call_output")k.enqueue({type:"tool-result",toolCallId:ui.item.call_id,toolName:l.toCustomToolName("shell"),result:{output:ui.item.output.map(($u)=>({stdout:$u.stdout,stderr:$u.stderr,outcome:$u.outcome.type==="exit"?{type:"exit",exitCode:$u.outcome.exit_code}:{type:"timeout"}}))}});else if(ui.item.type==="reasoning"){let $u=F[ui.item.id],it=Object.entries($u.summaryParts).filter(([ut,Y1])=>Y1==="active"||Y1==="can-conclude").map(([ut])=>ut);for(let ut of it)k.enqueue({type:"reasoning-end",id:`${ui.item.id}:${ut}`,providerMetadata:{[E]:{itemId:ui.item.id,reasoningEncryptedContent:(Oi=ui.item.encrypted_content)!=null?Oi:null}}});delete F[ui.item.id]}}else if(lBf(ui)){let $u=y[ui.output_index];if($u!=null)k.enqueue({type:"tool-input-delta",id:$u.toolCallId,delta:ui.delta})}else if(cBf(ui)){let $u=y[ui.output_index];if($u!=null)k.enqueue({type:"tool-input-delta",id:$u.toolCallId,delta:ui.delta})}else if(wBf(ui)){let $u=y[ui.output_index];if($u==null?void 0:$u.applyPatch)k.enqueue({type:"tool-input-delta",id:$u.toolCallId,delta:yy(ui.delta)}),$u.applyPatch.hasDiff=!0}else if(hBf(ui)){let $u=y[ui.output_index];if(($u==null?void 0:$u.applyPatch)&&!$u.applyPatch.endEmitted){if(!$u.applyPatch.hasDiff)k.enqueue({type:"tool-input-delta",id:$u.toolCallId,delta:yy(ui.diff)}),$u.applyPatch.hasDiff=!0;k.enqueue({type:"tool-input-delta",id:$u.toolCallId,delta:'"}}'}),k.enqueue({type:"tool-input-end",id:$u.toolCallId}),$u.applyPatch.endEmitted=!0}}else if(EBf(ui))k.enqueue({type:"tool-result",toolCallId:ui.item_id,toolName:l.toCustomToolName("image_generation"),result:{result:ui.partial_image_b64},preliminary:!0});else if(dBf(ui)){let $u=y[ui.output_index];if($u!=null)k.enqueue({type:"tool-input-delta",id:$u.toolCallId,delta:yy(ui.delta)})}else if($Bf(ui)){let $u=y[ui.output_index];if($u!=null)k.enqueue({type:"tool-input-delta",id:$u.toolCallId,delta:'"}'}),k.enqueue({type:"tool-input-end",id:$u.toolCallId}),k.enqueue({type:"tool-call",toolCallId:$u.toolCallId,toolName:l.toCustomToolName("code_interpreter"),input:JSON.stringify({code:ui.code,containerId:$u.codeInterpreter.containerId}),providerExecuted:!0})}else if(fBf(ui))N=ui.response.id,k.enqueue({type:"response-metadata",id:ui.response.id,timestamp:new Date(ui.response.created_at*1000),modelId:ui.response.model});else if(pTf(ui)){if(k.enqueue({type:"text-delta",id:ui.item_id,delta:ui.delta}),((Pi=(Xi=i.providerOptions)==null?void 0:Xi[E])==null?void 0:Pi.logprobs)&&ui.logprobs)O.push(ui.logprobs)}else if(ui.type==="response.reasoning_summary_part.added"){if(ui.summary_index>0){let $u=F[ui.item_id];$u.summaryParts[ui.summary_index]="active";for(let it of Object.keys($u.summaryParts))if($u.summaryParts[it]==="can-conclude")k.enqueue({type:"reasoning-end",id:`${ui.item_id}:${it}`,providerMetadata:{[E]:{itemId:ui.item_id}}}),$u.summaryParts[it]="concluded";k.enqueue({type:"reasoning-start",id:`${ui.item_id}:${ui.summary_index}`,providerMetadata:{[E]:{itemId:ui.item_id,reasoningEncryptedContent:($i=(ni=F[ui.item_id])==null?void 0:ni.encryptedContent)!=null?$i:null}}})}}else if(ui.type==="response.reasoning_summary_text.delta")k.enqueue({type:"reasoning-delta",id:`${ui.item_id}:${ui.summary_index}`,delta:ui.delta,providerMetadata:{[E]:{itemId:ui.item_id}}});else if(ui.type==="response.reasoning_summary_part.done")if(c)k.enqueue({type:"reasoning-end",id:`${ui.item_id}:${ui.summary_index}`,providerMetadata:{[E]:{itemId:ui.item_id}}}),F[ui.item_id].summaryParts[ui.summary_index]="concluded";else F[ui.item_id].summaryParts[ui.summary_index]="can-conclude";else if(uBf(ui)){if(n={unified:uuu({finishReason:(ci=ui.response.incomplete_details)==null?void 0:ci.reason,hasFunctionCall:B}),raw:(e=(ji=ui.response.incomplete_details)==null?void 0:ji.reason)!=null?e:void 0},D=ui.response.usage,typeof ui.response.service_tier==="string")P=ui.response.service_tier}else if(tBf(ui)){let $u=(ti=ui.response.incomplete_details)==null?void 0:ti.reason;n={unified:$u?uuu({finishReason:$u,hasFunctionCall:B}):"error",raw:$u!=null?$u:"error"},D=(ai=ui.response.usage)!=null?ai:void 0}else if(_Bf(ui)){if(Z.push(ui.annotation),ui.annotation.type==="url_citation")k.enqueue({type:"source",sourceType:"url",id:(r=(q=(Ai=h.config).generateId)==null?void 0:q.call(Ai))!=null?r:Vu(),url:ui.annotation.url,title:ui.annotation.title});else if(ui.annotation.type==="file_citation")k.enqueue({type:"source",sourceType:"document",id:(gu=(zi=(Ki=h.config).generateId)==null?void 0:zi.call(Ki))!=null?gu:Vu(),mediaType:"text/plain",title:ui.annotation.filename,filename:ui.annotation.filename,providerMetadata:{[E]:{type:ui.annotation.type,fileId:ui.annotation.file_id,index:ui.annotation.index}}});else if(ui.annotation.type==="container_file_citation")k.enqueue({type:"source",sourceType:"document",id:(S0=(Bu=(ri=h.config).generateId)==null?void 0:Bu.call(ri))!=null?S0:Vu(),mediaType:"text/plain",title:ui.annotation.filename,filename:ui.annotation.filename,providerMetadata:{[E]:{type:ui.annotation.type,fileId:ui.annotation.file_id,containerId:ui.annotation.container_id}}});else if(ui.annotation.type==="file_path")k.enqueue({type:"source",sourceType:"document",id:(u1=(J4=(Bf=h.config).generateId)==null?void 0:J4.call(Bf))!=null?u1:Vu(),mediaType:"application/octet-stream",title:ui.annotation.file_id,filename:ui.annotation.file_id,providerMetadata:{[E]:{type:ui.annotation.type,fileId:ui.annotation.file_id,index:ui.annotation.index}}})}else if(vBf(ui))k.enqueue({type:"error",error:ui})},flush(A){let k={[E]:{responseId:N,...O.length>0?{logprobs:O}:{},...P!==void 0?{serviceTier:P}:{}}};A.enqueue({type:"finish",finishReason:n,usage:P20(D),providerMetadata:k})}})),request:{body:u},response:{headers:$}}}},nBf,DBf=class{constructor(i,u){this.modelId=i,this.config=u,this.specificationVersion="v3"}get provider(){return this.config.provider}async getArgs({text:i,voice:u="alloy",outputFormat:t="mp3",speed:f,instructions:l,language:c,providerOptions:E}){let d=[],$=await kt({provider:"openai",providerOptions:E,schema:nBf}),w={model:this.modelId,input:i,voice:u,response_format:"mp3",speed:f,instructions:l};if(t)if(["mp3","opus","aac","flac","wav","pcm"].includes(t))w.response_format=t;else d.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${t}. Using mp3 instead.`});if($){let h={};for(let _ in h){let v=h[_];if(v!==void 0)w[_]=v}}if(c)d.push({type:"unsupported",feature:"language",details:`OpenAI speech models do not support language selection. Language parameter "${c}" was ignored.`});return{requestBody:w,warnings:d}}async doGenerate(i){var u,t,f;let l=(f=(t=(u=this.config._internal)==null?void 0:u.currentDate)==null?void 0:t.call(u))!=null?f:new Date,{requestBody:c,warnings:E}=await this.getArgs(i),{value:d,responseHeaders:$,rawValue:w}=await Nt({url:this.config.url({path:"/audio/speech",modelId:this.modelId}),headers:s0(this.config.headers(),i.headers),body:c,failedResponseHandler:f_,successfulResponseHandler:j50(),abortSignal:i.abortSignal,fetch:this.config.fetch});return{audio:d,warnings:E,request:{body:JSON.stringify(c)},response:{timestamp:l,modelId:this.modelId,headers:$,body:w}}}},gBf,OBf,j20,NBf=class{constructor(i,u){this.modelId=i,this.config=u,this.specificationVersion="v3"}get provider(){return this.config.provider}async getArgs({audio:i,mediaType:u,providerOptions:t}){let f=[],l=await kt({provider:"openai",providerOptions:t,schema:OBf}),c=new FormData,E=i instanceof Uint8Array?new Blob([i]):new Blob([k1(i)]);c.append("model",this.modelId);let d=I50(u);if(c.append("file",new File([E],"audio",{type:u}),`audio.${d}`),l){let $={include:l.include,language:l.language,prompt:l.prompt,response_format:["gpt-4o-transcribe","gpt-4o-mini-transcribe"].includes(this.modelId)?"json":"verbose_json",temperature:l.temperature,timestamp_granularities:l.timestampGranularities};for(let[w,h]of Object.entries($))if(h!=null)if(Array.isArray(h))for(let _ of h)c.append(`${w}[]`,String(_));else c.append(w,String(h))}return{formData:c,warnings:f}}async doGenerate(i){var u,t,f,l,c,E,d,$;let w=(f=(t=(u=this.config._internal)==null?void 0:u.currentDate)==null?void 0:t.call(u))!=null?f:new Date,{formData:h,warnings:_}=await this.getArgs(i),{value:v,responseHeaders:n,rawValue:D}=await N$i({url:this.config.url({path:"/audio/transcriptions",modelId:this.modelId}),headers:s0(this.config.headers(),i.headers),formData:h,failedResponseHandler:f_,successfulResponseHandler:dt(gBf),abortSignal:i.abortSignal,fetch:this.config.fetch}),O=v.language!=null&&v.language in j20?j20[v.language]:void 0;return{text:v.text,segments:(d=(E=(l=v.segments)==null?void 0:l.map((N)=>({text:N.text,startSecond:N.start,endSecond:N.end})))!=null?E:(c=v.words)==null?void 0:c.map((N)=>({text:N.word,startSecond:N.start,endSecond:N.end})))!=null?d:[],language:O,durationInSeconds:($=v.duration)!=null?$:void 0,warnings:_,response:{timestamp:w,modelId:this.modelId,headers:n,body:D}}}},yBf="3.0.73",zYl;var Fwi=g(()=>{uu();ru();uu();uu();ru();uu();uu();uu();ru();uu();ru();uu();uu();ru();uu();uu();uu();uu();uu();uu();uu();uu();uu();uu();uu();uu();uu();uu();uu();uu();uu();ru();uu();ru();uu();uu();uu();ru();uu();uu();uu();uu();uu();uu();duu=qg.object({error:qg.object({message:qg.string(),type:qg.string().nullish(),param:qg.any().nullish(),code:qg.union([qg.string(),qg.number()]).nullish()})}),f_=Jl({errorSchema:duu,errorToMessage:(i)=>i.error.message});WZf=Ji(()=>gi(xu.object({id:xu.string().nullish(),created:xu.number().nullish(),model:xu.string().nullish(),choices:xu.array(xu.object({message:xu.object({role:xu.literal("assistant").nullish(),content:xu.string().nullish(),tool_calls:xu.array(xu.object({id:xu.string().nullish(),type:xu.literal("function"),function:xu.object({name:xu.string(),arguments:xu.string()})})).nullish(),annotations:xu.array(xu.object({type:xu.literal("url_citation"),url_citation:xu.object({start_index:xu.number(),end_index:xu.number(),url:xu.string(),title:xu.string()})})).nullish()}),index:xu.number(),logprobs:xu.object({content:xu.array(xu.object({token:xu.string(),logprob:xu.number(),top_logprobs:xu.array(xu.object({token:xu.string(),logprob:xu.number()}))})).nullish()}).nullish(),finish_reason:xu.string().nullish()})),usage:xu.object({prompt_tokens:xu.number().nullish(),completion_tokens:xu.number().nullish(),total_tokens:xu.number().nullish(),prompt_tokens_details:xu.object({cached_tokens:xu.number().nullish()}).nullish(),completion_tokens_details:xu.object({reasoning_tokens:xu.number().nullish(),accepted_prediction_tokens:xu.number().nullish(),rejected_prediction_tokens:xu.number().nullish()}).nullish()}).nullish()}))),YZf=Ji(()=>gi(xu.union([xu.object({id:xu.string().nullish(),created:xu.number().nullish(),model:xu.string().nullish(),choices:xu.array(xu.object({delta:xu.object({role:xu.enum(["assistant"]).nullish(),content:xu.string().nullish(),tool_calls:xu.array(xu.object({index:xu.number(),id:xu.string().nullish(),type:xu.literal("function").nullish(),function:xu.object({name:xu.string().nullish(),arguments:xu.string().nullish()})})).nullish(),annotations:xu.array(xu.object({type:xu.literal("url_citation"),url_citation:xu.object({start_index:xu.number(),end_index:xu.number(),url:xu.string(),title:xu.string()})})).nullish()}).nullish(),logprobs:xu.object({content:xu.array(xu.object({token:xu.string(),logprob:xu.number(),top_logprobs:xu.array(xu.object({token:xu.string(),logprob:xu.number()}))})).nullish()}).nullish(),finish_reason:xu.string().nullish(),index:xu.number()})),usage:xu.object({prompt_tokens:xu.number().nullish(),completion_tokens:xu.number().nullish(),total_tokens:xu.number().nullish(),prompt_tokens_details:xu.object({cached_tokens:xu.number().nullish()}).nullish(),completion_tokens_details:xu.object({reasoning_tokens:xu.number().nullish(),accepted_prediction_tokens:xu.number().nullish(),rejected_prediction_tokens:xu.number().nullish()}).nullish()}).nullish()}),duu]))),zZf=Ji(()=>gi(hl.object({logitBias:hl.record(hl.coerce.number(),hl.number()).optional(),logprobs:hl.union([hl.boolean(),hl.number()]).optional(),parallelToolCalls:hl.boolean().optional(),user:hl.string().optional(),reasoningEffort:hl.enum(["none","minimal","low","medium","high","xhigh"]).optional(),maxCompletionTokens:hl.number().optional(),store:hl.boolean().optional(),metadata:hl.record(hl.string().max(64),hl.string().max(512)).optional(),prediction:hl.record(hl.string(),hl.any()).optional(),serviceTier:hl.enum(["auto","flex","priority","default"]).optional(),strictJsonSchema:hl.boolean().optional(),textVerbosity:hl.enum(["low","medium","high"]).optional(),promptCacheKey:hl.string().optional(),promptCacheRetention:hl.enum(["in_memory","24h"]).optional(),safetyIdentifier:hl.string().optional(),systemMessageMode:hl.enum(["system","developer","remove"]).optional(),forceReasoning:hl.boolean().optional()})));RZf=Ji(()=>gi(nt.object({id:nt.string().nullish(),created:nt.number().nullish(),model:nt.string().nullish(),choices:nt.array(nt.object({text:nt.string(),finish_reason:nt.string(),logprobs:nt.object({tokens:nt.array(nt.string()),token_logprobs:nt.array(nt.number()),top_logprobs:nt.array(nt.record(nt.string(),nt.number())).nullish()}).nullish()})),usage:nt.object({prompt_tokens:nt.number(),completion_tokens:nt.number(),total_tokens:nt.number()}).nullish()}))),CZf=Ji(()=>gi(nt.union([nt.object({id:nt.string().nullish(),created:nt.number().nullish(),model:nt.string().nullish(),choices:nt.array(nt.object({text:nt.string(),finish_reason:nt.string().nullish(),index:nt.number(),logprobs:nt.object({tokens:nt.array(nt.string()),token_logprobs:nt.array(nt.number()),top_logprobs:nt.array(nt.record(nt.string(),nt.number())).nullish()}).nullish()})),usage:nt.object({prompt_tokens:nt.number(),completion_tokens:nt.number(),total_tokens:nt.number()}).nullish()}),duu]))),F20=Ji(()=>gi(Cv.object({echo:Cv.boolean().optional(),logitBias:Cv.record(Cv.string(),Cv.number()).optional(),suffix:Cv.string().optional(),user:Cv.string().optional(),logprobs:Cv.union([Cv.boolean(),Cv.number()]).optional()}))),qZf=Ji(()=>gi(piu.object({dimensions:piu.number().optional(),user:piu.string().optional()}))),VZf=Ji(()=>gi(Ny.object({data:Ny.array(Ny.object({embedding:Ny.array(Ny.number())})),usage:Ny.object({prompt_tokens:Ny.number()}).nullish()}))),U20=Ji(()=>gi(x6.object({created:x6.number().nullish(),data:x6.array(x6.object({b64_json:x6.string(),revised_prompt:x6.string().nullish()})),background:x6.string().nullish(),output_format:x6.string().nullish(),size:x6.string().nullish(),quality:x6.string().nullish(),usage:x6.object({input_tokens:x6.number().nullish(),output_tokens:x6.number().nullish(),total_tokens:x6.number().nullish(),input_tokens_details:x6.object({image_tokens:x6.number().nullish(),text_tokens:x6.number().nullish()}).nullish()}).nullish()}))),mZf={"dall-e-3":1,"dall-e-2":10,"gpt-image-1":10,"gpt-image-1-mini":10,"gpt-image-1.5":10,"gpt-image-2":10,"chatgpt-image-latest":10},eZf=["chatgpt-image-","gpt-image-1-mini","gpt-image-1.5","gpt-image-1","gpt-image-2"];$uu=ED.object({quality:ED.enum(["standard","hd","low","medium","high","auto"]).optional(),background:ED.enum(["transparent","opaque","auto"]).optional(),outputFormat:ED.enum(["png","jpeg","webp"]).optional(),outputCompression:ED.number().int().min(0).max(100).optional(),user:ED.string().optional()}),mWl=Ji(()=>gi($uu)),oZf=Ji(()=>gi($uu.extend({style:ED.enum(["vivid","natural"]).optional(),moderation:ED.enum(["auto","low"]).optional()}))),sZf=Ji(()=>gi($uu.extend({inputFidelity:ED.enum(["high","low"]).optional()})));J20=Ji(()=>gi(Vc.object({callId:Vc.string(),operation:Vc.discriminatedUnion("type",[Vc.object({type:Vc.literal("create_file"),path:Vc.string(),diff:Vc.string()}),Vc.object({type:Vc.literal("delete_file"),path:Vc.string()}),Vc.object({type:Vc.literal("update_file"),path:Vc.string(),diff:Vc.string()})])}))),X20=Ji(()=>gi(Vc.object({status:Vc.enum(["completed","failed"]),output:Vc.string().optional()}))),oWl=Ji(()=>gi(Vc.object({}))),uTf=p0({id:"openai.apply_patch",inputSchema:J20,outputSchema:X20}),tTf=uTf,fTf=Ji(()=>gi(rc.object({code:rc.string().nullish(),containerId:rc.string()}))),lTf=Ji(()=>gi(rc.object({outputs:rc.array(rc.discriminatedUnion("type",[rc.object({type:rc.literal("logs"),logs:rc.string()}),rc.object({type:rc.literal("image"),url:rc.string()})])).nullish()}))),cTf=Ji(()=>gi(rc.object({container:rc.union([rc.string(),rc.object({fileIds:rc.array(rc.string()).optional()})]).optional()}))),ETf=p0({id:"openai.code_interpreter",inputSchema:fTf,outputSchema:lTf}),$Tf=Ji(()=>gi(t_.object({name:t_.string(),description:t_.string().optional(),format:t_.union([t_.object({type:t_.literal("grammar"),syntax:t_.enum(["regex","lark"]),definition:t_.string()}),t_.object({type:t_.literal("text")})]).optional()}))),wTf=Ji(()=>gi(t_.string())),hTf=Hf({id:"openai.custom",inputSchema:wTf}),L20=Jf.object({key:Jf.string(),type:Jf.enum(["eq","ne","gt","gte","lt","lte","in","nin"]),value:Jf.union([Jf.string(),Jf.number(),Jf.boolean(),Jf.array(Jf.string())])}),W20=Jf.object({type:Jf.enum(["and","or"]),filters:Jf.array(Jf.union([L20,Jf.lazy(()=>W20)]))}),vTf=Ji(()=>gi(Jf.object({vectorStoreIds:Jf.array(Jf.string()),maxNumResults:Jf.number().optional(),ranking:Jf.object({ranker:Jf.string().optional(),scoreThreshold:Jf.number().optional()}).optional(),filters:Jf.union([L20,W20]).optional()}))),nTf=Ji(()=>gi(Jf.object({queries:Jf.array(Jf.string()),results:Jf.array(Jf.object({attributes:Jf.record(Jf.string(),Jf.unknown()),fileId:Jf.string(),filename:Jf.string(),score:Jf.number(),text:Jf.string()})).nullable()}))),DTf=p0({id:"openai.file_search",inputSchema:Jf.object({}),outputSchema:nTf}),gTf=Ji(()=>gi(OE.object({background:OE.enum(["auto","opaque","transparent"]).optional(),inputFidelity:OE.enum(["low","high"]).optional(),inputImageMask:OE.object({fileId:OE.string().optional(),imageUrl:OE.string().optional()}).optional(),model:OE.string().optional(),moderation:OE.enum(["auto"]).optional(),outputCompression:OE.number().int().min(0).max(100).optional(),outputFormat:OE.enum(["png","jpeg","webp"]).optional(),partialImages:OE.number().int().min(0).max(3).optional(),quality:OE.enum(["auto","low","medium","high"]).optional(),size:OE.enum(["1024x1024","1024x1536","1536x1024","auto"]).optional()}).strict())),OTf=Ji(()=>gi(OE.object({}))),NTf=Ji(()=>gi(OE.object({result:OE.string()}))),yTf=p0({id:"openai.image_generation",inputSchema:OTf,outputSchema:NTf}),Y20=Ji(()=>gi(dw.object({action:dw.object({type:dw.literal("exec"),command:dw.array(dw.string()),timeoutMs:dw.number().optional(),user:dw.string().optional(),workingDirectory:dw.string().optional(),env:dw.record(dw.string(),dw.string()).optional()})}))),z20=Ji(()=>gi(dw.object({output:dw.string()}))),TTf=p0({id:"openai.local_shell",inputSchema:Y20,outputSchema:z20}),Q20=Ji(()=>gi(g0.object({action:g0.object({commands:g0.array(g0.string()),timeoutMs:g0.number().optional(),maxOutputLength:g0.number().optional()})}))),fuu=Ji(()=>gi(g0.object({output:g0.array(g0.object({stdout:g0.string(),stderr:g0.string(),outcome:g0.discriminatedUnion("type",[g0.object({type:g0.literal("timeout")}),g0.object({type:g0.literal("exit"),exitCode:g0.number()})])}))}))),BTf=g0.array(g0.discriminatedUnion("type",[g0.object({type:g0.literal("skillReference"),skillId:g0.string(),version:g0.string().optional()}),g0.object({type:g0.literal("inline"),name:g0.string(),description:g0.string(),source:g0.object({type:g0.literal("base64"),mediaType:g0.literal("application/zip"),data:g0.string()})})])).optional(),FTf=Ji(()=>gi(g0.object({environment:g0.union([g0.object({type:g0.literal("containerAuto"),fileIds:g0.array(g0.string()).optional(),memoryLimit:g0.enum(["1g","4g","16g","64g"]).optional(),networkPolicy:g0.discriminatedUnion("type",[g0.object({type:g0.literal("disabled")}),g0.object({type:g0.literal("allowlist"),allowedDomains:g0.array(g0.string()),domainSecrets:g0.array(g0.object({domain:g0.string(),name:g0.string(),value:g0.string()})).optional()})]).optional(),skills:BTf}),g0.object({type:g0.literal("containerReference"),containerId:g0.string()}),g0.object({type:g0.literal("local").optional(),skills:g0.array(g0.object({name:g0.string(),description:g0.string(),path:g0.string()})).optional()})]).optional()}))),UTf=p0({id:"openai.shell",inputSchema:Q20,outputSchema:fuu}),ITf=Ji(()=>gi(u$.object({execution:u$.enum(["server","client"]).optional(),description:u$.string().optional(),parameters:u$.record(u$.string(),u$.unknown()).optional()}))),luu=Ji(()=>gi(u$.object({arguments:u$.unknown().optional(),call_id:u$.string().nullish()}))),cuu=Ji(()=>gi(u$.object({tools:u$.array(u$.record(u$.string(),u$.unknown()))}))),PTf=p0({id:"openai.tool_search",inputSchema:luu,outputSchema:cuu}),xTf=Ji(()=>gi(Kf.object({externalWebAccess:Kf.boolean().optional(),filters:Kf.object({allowedDomains:Kf.array(Kf.string()).optional()}).optional(),searchContextSize:Kf.enum(["low","medium","high"]).optional(),userLocation:Kf.object({type:Kf.literal("approximate"),country:Kf.string().optional(),city:Kf.string().optional(),region:Kf.string().optional(),timezone:Kf.string().optional()}).optional()}))),kTf=Ji(()=>gi(Kf.object({}))),GTf=Ji(()=>gi(Kf.object({action:Kf.discriminatedUnion("type",[Kf.object({type:Kf.literal("search"),query:Kf.string().optional(),queries:Kf.array(Kf.string()).optional()}),Kf.object({type:Kf.literal("openPage"),url:Kf.string().nullish()}),Kf.object({type:Kf.literal("findInPage"),url:Kf.string().nullish(),pattern:Kf.string().nullish()})]).optional(),sources:Kf.array(Kf.discriminatedUnion("type",[Kf.object({type:Kf.literal("url"),url:Kf.string()}),Kf.object({type:Kf.literal("api"),name:Kf.string()})])).optional()}))),STf=p0({id:"openai.web_search",inputSchema:kTf,outputSchema:GTf}),KTf=Ji(()=>gi(j1.object({searchContextSize:j1.enum(["low","medium","high"]).optional(),userLocation:j1.object({type:j1.literal("approximate"),country:j1.string().optional(),city:j1.string().optional(),region:j1.string().optional(),timezone:j1.string().optional()}).optional()}))),JTf=Ji(()=>gi(j1.object({}))),XTf=Ji(()=>gi(j1.object({action:j1.discriminatedUnion("type",[j1.object({type:j1.literal("search"),query:j1.string().optional()}),j1.object({type:j1.literal("openPage"),url:j1.string().nullish()}),j1.object({type:j1.literal("findInPage"),url:j1.string().nullish(),pattern:j1.string().nullish()})]).optional()}))),LTf=p0({id:"openai.web_search_preview",inputSchema:JTf,outputSchema:XTf}),Euu=Ct.lazy(()=>Ct.union([Ct.string(),Ct.number(),Ct.boolean(),Ct.null(),Ct.array(Euu),Ct.record(Ct.string(),Euu)])),WTf=Ji(()=>gi(Ct.object({serverLabel:Ct.string(),allowedTools:Ct.union([Ct.array(Ct.string()),Ct.object({readOnly:Ct.boolean().optional(),toolNames:Ct.array(Ct.string()).optional()})]).optional(),authorization:Ct.string().optional(),connectorId:Ct.string().optional(),headers:Ct.record(Ct.string(),Ct.string()).optional(),requireApproval:Ct.union([Ct.enum(["always","never"]),Ct.object({never:Ct.object({toolNames:Ct.array(Ct.string()).optional()}).optional()})]).optional(),serverDescription:Ct.string().optional(),serverUrl:Ct.string().optional()}).refine((i)=>i.serverUrl!=null||i.connectorId!=null,"One of serverUrl or connectorId must be provided."))),YTf=Ji(()=>gi(Ct.object({}))),zTf=Ji(()=>gi(Ct.object({type:Ct.literal("call"),serverLabel:Ct.string(),name:Ct.string(),arguments:Ct.string(),output:Ct.string().nullish(),error:Ct.union([Ct.string(),Euu]).optional()}))),QTf=p0({id:"openai.mcp",inputSchema:YTf,outputSchema:zTf}),bTf={applyPatch:tTf,customTool:_Tf,codeInterpreter:dTf,fileSearch:DTf,imageGeneration:ZTf,localShell:TTf,shell:UTf,webSearchPreview:LTf,webSearch:jTf,mcp:HTf,toolSearch:ATf};MTf=iuu.object({itemId:iuu.string().nullish(),reasoningEncryptedContent:iuu.string().nullish()});Je=U.lazy(()=>U.union([U.string(),U.number(),U.boolean(),U.null(),U.array(Je),U.record(U.string(),Je.optional())])),qTf=Ji(()=>gi(U.union([U.object({type:U.literal("response.output_text.delta"),item_id:U.string(),delta:U.string(),logprobs:U.array(U.object({token:U.string(),logprob:U.number(),top_logprobs:U.array(U.object({token:U.string(),logprob:U.number()}))})).nullish()}),U.object({type:U.enum(["response.completed","response.incomplete"]),response:U.object({incomplete_details:U.object({reason:U.string()}).nullish(),usage:U.object({input_tokens:U.number(),input_tokens_details:U.object({cached_tokens:U.number().nullish()}).nullish(),output_tokens:U.number(),output_tokens_details:U.object({reasoning_tokens:U.number().nullish()}).nullish()}),service_tier:U.string().nullish()})}),U.object({type:U.literal("response.failed"),response:U.object({error:U.object({code:U.string().nullish(),message:U.string()}).nullish(),incomplete_details:U.object({reason:U.string()}).nullish(),usage:U.object({input_tokens:U.number(),input_tokens_details:U.object({cached_tokens:U.number().nullish()}).nullish(),output_tokens:U.number(),output_tokens_details:U.object({reasoning_tokens:U.number().nullish()}).nullish()}).nullish(),service_tier:U.string().nullish()})}),U.object({type:U.literal("response.created"),response:U.object({id:U.string(),created_at:U.number(),model:U.string(),service_tier:U.string().nullish()})}),U.object({type:U.literal("response.output_item.added"),output_index:U.number(),item:U.discriminatedUnion("type",[U.object({type:U.literal("message"),id:U.string(),phase:U.enum(["commentary","final_answer"]).nullish()}),U.object({type:U.literal("reasoning"),id:U.string(),encrypted_content:U.string().nullish()}),U.object({type:U.literal("function_call"),id:U.string(),call_id:U.string(),name:U.string(),arguments:U.string(),namespace:U.string().nullish()}),U.object({type:U.literal("web_search_call"),id:U.string(),status:U.string()}),U.object({type:U.literal("computer_call"),id:U.string(),status:U.string()}),U.object({type:U.literal("file_search_call"),id:U.string()}),U.object({type:U.literal("image_generation_call"),id:U.string()}),U.object({type:U.literal("code_interpreter_call"),id:U.string(),container_id:U.string(),code:U.string().nullable(),outputs:U.array(U.discriminatedUnion("type",[U.object({type:U.literal("logs"),logs:U.string()}),U.object({type:U.literal("image"),url:U.string()})])).nullable(),status:U.string()}),U.object({type:U.literal("mcp_call"),id:U.string(),status:U.string(),approval_request_id:U.string().nullish()}),U.object({type:U.literal("mcp_list_tools"),id:U.string()}),U.object({type:U.literal("mcp_approval_request"),id:U.string()}),U.object({type:U.literal("apply_patch_call"),id:U.string(),call_id:U.string(),status:U.enum(["in_progress","completed"]),operation:U.discriminatedUnion("type",[U.object({type:U.literal("create_file"),path:U.string(),diff:U.string()}),U.object({type:U.literal("delete_file"),path:U.string()}),U.object({type:U.literal("update_file"),path:U.string(),diff:U.string()})])}),U.object({type:U.literal("custom_tool_call"),id:U.string(),call_id:U.string(),name:U.string(),input:U.string()}),U.object({type:U.literal("shell_call"),id:U.string(),call_id:U.string(),status:U.enum(["in_progress","completed","incomplete"]),action:U.object({commands:U.array(U.string())})}),U.object({type:U.literal("shell_call_output"),id:U.string(),call_id:U.string(),status:U.enum(["in_progress","completed","incomplete"]),output:U.array(U.object({stdout:U.string(),stderr:U.string(),outcome:U.discriminatedUnion("type",[U.object({type:U.literal("timeout")}),U.object({type:U.literal("exit"),exit_code:U.number()})])}))}),U.object({type:U.literal("tool_search_call"),id:U.string(),execution:U.enum(["server","client"]),call_id:U.string().nullable(),status:U.enum(["in_progress","completed","incomplete"]),arguments:U.unknown()}),U.object({type:U.literal("tool_search_output"),id:U.string(),execution:U.enum(["server","client"]),call_id:U.string().nullable(),status:U.enum(["in_progress","completed","incomplete"]),tools:U.array(U.record(U.string(),Je.optional()))})])}),U.object({type:U.literal("response.output_item.done"),output_index:U.number(),item:U.discriminatedUnion("type",[U.object({type:U.literal("message"),id:U.string(),phase:U.enum(["commentary","final_answer"]).nullish()}),U.object({type:U.literal("reasoning"),id:U.string(),encrypted_content:U.string().nullish()}),U.object({type:U.literal("function_call"),id:U.string(),call_id:U.string(),name:U.string(),arguments:U.string(),status:U.literal("completed"),namespace:U.string().nullish()}),U.object({type:U.literal("custom_tool_call"),id:U.string(),call_id:U.string(),name:U.string(),input:U.string(),status:U.literal("completed")}),U.object({type:U.literal("code_interpreter_call"),id:U.string(),code:U.string().nullable(),container_id:U.string(),outputs:U.array(U.discriminatedUnion("type",[U.object({type:U.literal("logs"),logs:U.string()}),U.object({type:U.literal("image"),url:U.string()})])).nullable()}),U.object({type:U.literal("image_generation_call"),id:U.string(),result:U.string()}),U.object({type:U.literal("web_search_call"),id:U.string(),status:U.string(),action:U.discriminatedUnion("type",[U.object({type:U.literal("search"),query:U.string().nullish(),queries:U.array(U.string()).nullish(),sources:U.array(U.discriminatedUnion("type",[U.object({type:U.literal("url"),url:U.string()}),U.object({type:U.literal("api"),name:U.string()})])).nullish()}),U.object({type:U.literal("open_page"),url:U.string().nullish()}),U.object({type:U.literal("find_in_page"),url:U.string().nullish(),pattern:U.string().nullish()})]).nullish()}),U.object({type:U.literal("file_search_call"),id:U.string(),queries:U.array(U.string()),results:U.array(U.object({attributes:U.record(U.string(),U.union([U.string(),U.number(),U.boolean()])),file_id:U.string(),filename:U.string(),score:U.number(),text:U.string()})).nullish()}),U.object({type:U.literal("local_shell_call"),id:U.string(),call_id:U.string(),action:U.object({type:U.literal("exec"),command:U.array(U.string()),timeout_ms:U.number().optional(),user:U.string().optional(),working_directory:U.string().optional(),env:U.record(U.string(),U.string()).optional()})}),U.object({type:U.literal("computer_call"),id:U.string(),status:U.literal("completed")}),U.object({type:U.literal("mcp_call"),id:U.string(),status:U.string(),arguments:U.string(),name:U.string(),server_label:U.string(),output:U.string().nullish(),error:U.union([U.string(),U.object({type:U.string().optional(),code:U.union([U.number(),U.string()]).optional(),message:U.string().optional()}).loose()]).nullish(),approval_request_id:U.string().nullish()}),U.object({type:U.literal("mcp_list_tools"),id:U.string(),server_label:U.string(),tools:U.array(U.object({name:U.string(),description:U.string().optional(),input_schema:U.any(),annotations:U.record(U.string(),U.unknown()).optional()})),error:U.union([U.string(),U.object({type:U.string().optional(),code:U.union([U.number(),U.string()]).optional(),message:U.string().optional()}).loose()]).optional()}),U.object({type:U.literal("mcp_approval_request"),id:U.string(),server_label:U.string(),name:U.string(),arguments:U.string(),approval_request_id:U.string().optional()}),U.object({type:U.literal("apply_patch_call"),id:U.string(),call_id:U.string(),status:U.enum(["in_progress","completed"]),operation:U.discriminatedUnion("type",[U.object({type:U.literal("create_file"),path:U.string(),diff:U.string()}),U.object({type:U.literal("delete_file"),path:U.string()}),U.object({type:U.literal("update_file"),path:U.string(),diff:U.string()})])}),U.object({type:U.literal("shell_call"),id:U.string(),call_id:U.string(),status:U.enum(["in_progress","completed","incomplete"]),action:U.object({commands:U.array(U.string())})}),U.object({type:U.literal("shell_call_output"),id:U.string(),call_id:U.string(),status:U.enum(["in_progress","completed","incomplete"]),output:U.array(U.object({stdout:U.string(),stderr:U.string(),outcome:U.discriminatedUnion("type",[U.object({type:U.literal("timeout")}),U.object({type:U.literal("exit"),exit_code:U.number()})])}))}),U.object({type:U.literal("tool_search_call"),id:U.string(),execution:U.enum(["server","client"]),call_id:U.string().nullable(),status:U.enum(["in_progress","completed","incomplete"]),arguments:U.unknown()}),U.object({type:U.literal("tool_search_output"),id:U.string(),execution:U.enum(["server","client"]),call_id:U.string().nullable(),status:U.enum(["in_progress","completed","incomplete"]),tools:U.array(U.record(U.string(),Je.optional()))})])}),U.object({type:U.literal("response.function_call_arguments.delta"),item_id:U.string(),output_index:U.number(),delta:U.string()}),U.object({type:U.literal("response.custom_tool_call_input.delta"),item_id:U.string(),output_index:U.number(),delta:U.string()}),U.object({type:U.literal("response.image_generation_call.partial_image"),item_id:U.string(),output_index:U.number(),partial_image_b64:U.string()}),U.object({type:U.literal("response.code_interpreter_call_code.delta"),item_id:U.string(),output_index:U.number(),delta:U.string()}),U.object({type:U.literal("response.code_interpreter_call_code.done"),item_id:U.string(),output_index:U.number(),code:U.string()}),U.object({type:U.literal("response.output_text.annotation.added"),annotation:U.discriminatedUnion("type",[U.object({type:U.literal("url_citation"),start_index:U.number(),end_index:U.number(),url:U.string(),title:U.string()}),U.object({type:U.literal("file_citation"),file_id:U.string(),filename:U.string(),index:U.number()}),U.object({type:U.literal("container_file_citation"),container_id:U.string(),file_id:U.string(),filename:U.string(),start_index:U.number(),end_index:U.number()}),U.object({type:U.literal("file_path"),file_id:U.string(),index:U.number()})])}),U.object({type:U.literal("response.reasoning_summary_part.added"),item_id:U.string(),summary_index:U.number()}),U.object({type:U.literal("response.reasoning_summary_text.delta"),item_id:U.string(),summary_index:U.number(),delta:U.string()}),U.object({type:U.literal("response.reasoning_summary_part.done"),item_id:U.string(),summary_index:U.number()}),U.object({type:U.literal("response.apply_patch_call_operation_diff.delta"),item_id:U.string(),output_index:U.number(),delta:U.string(),obfuscation:U.string().nullish()}),U.object({type:U.literal("response.apply_patch_call_operation_diff.done"),item_id:U.string(),output_index:U.number(),diff:U.string()}),U.object({type:U.literal("error"),sequence_number:U.number(),error:U.object({type:U.string(),code:U.string(),message:U.string(),param:U.string().nullish()})}),U.object({type:U.string()}).loose().transform((i)=>({type:"unknown_chunk",message:i.type}))]))),VTf=Ji(()=>gi(U.object({id:U.string().optional(),created_at:U.number().optional(),error:U.object({message:U.string(),type:U.string(),param:U.string().nullish(),code:U.string()}).nullish(),model:U.string().optional(),output:U.array(U.discriminatedUnion("type",[U.object({type:U.literal("message"),role:U.literal("assistant"),id:U.string(),phase:U.enum(["commentary","final_answer"]).nullish(),content:U.array(U.object({type:U.literal("output_text"),text:U.string(),logprobs:U.array(U.object({token:U.string(),logprob:U.number(),top_logprobs:U.array(U.object({token:U.string(),logprob:U.number()}))})).nullish(),annotations:U.array(U.discriminatedUnion("type",[U.object({type:U.literal("url_citation"),start_index:U.number(),end_index:U.number(),url:U.string(),title:U.string()}),U.object({type:U.literal("file_citation"),file_id:U.string(),filename:U.string(),index:U.number()}),U.object({type:U.literal("container_file_citation"),container_id:U.string(),file_id:U.string(),filename:U.string(),start_index:U.number(),end_index:U.number()}),U.object({type:U.literal("file_path"),file_id:U.string(),index:U.number()})]))}))}),U.object({type:U.literal("web_search_call"),id:U.string(),status:U.string(),action:U.discriminatedUnion("type",[U.object({type:U.literal("search"),query:U.string().nullish(),queries:U.array(U.string()).nullish(),sources:U.array(U.discriminatedUnion("type",[U.object({type:U.literal("url"),url:U.string()}),U.object({type:U.literal("api"),name:U.string()})])).nullish()}),U.object({type:U.literal("open_page"),url:U.string().nullish()}),U.object({type:U.literal("find_in_page"),url:U.string().nullish(),pattern:U.string().nullish()})]).nullish()}),U.object({type:U.literal("file_search_call"),id:U.string(),queries:U.array(U.string()),results:U.array(U.object({attributes:U.record(U.string(),U.union([U.string(),U.number(),U.boolean()])),file_id:U.string(),filename:U.string(),score:U.number(),text:U.string()})).nullish()}),U.object({type:U.literal("code_interpreter_call"),id:U.string(),code:U.string().nullable(),container_id:U.string(),outputs:U.array(U.discriminatedUnion("type",[U.object({type:U.literal("logs"),logs:U.string()}),U.object({type:U.literal("image"),url:U.string()})])).nullable()}),U.object({type:U.literal("image_generation_call"),id:U.string(),result:U.string()}),U.object({type:U.literal("local_shell_call"),id:U.string(),call_id:U.string(),action:U.object({type:U.literal("exec"),command:U.array(U.string()),timeout_ms:U.number().optional(),user:U.string().optional(),working_directory:U.string().optional(),env:U.record(U.string(),U.string()).optional()})}),U.object({type:U.literal("function_call"),call_id:U.string(),name:U.string(),arguments:U.string(),id:U.string(),namespace:U.string().nullish()}),U.object({type:U.literal("custom_tool_call"),call_id:U.string(),name:U.string(),input:U.string(),id:U.string()}),U.object({type:U.literal("computer_call"),id:U.string(),status:U.string().optional()}),U.object({type:U.literal("reasoning"),id:U.string(),encrypted_content:U.string().nullish(),summary:U.array(U.object({type:U.literal("summary_text"),text:U.string()}))}),U.object({type:U.literal("mcp_call"),id:U.string(),status:U.string(),arguments:U.string(),name:U.string(),server_label:U.string(),output:U.string().nullish(),error:U.union([U.string(),U.object({type:U.string().optional(),code:U.union([U.number(),U.string()]).optional(),message:U.string().optional()}).loose()]).nullish(),approval_request_id:U.string().nullish()}),U.object({type:U.literal("mcp_list_tools"),id:U.string(),server_label:U.string(),tools:U.array(U.object({name:U.string(),description:U.string().optional(),input_schema:U.any(),annotations:U.record(U.string(),U.unknown()).optional()})),error:U.union([U.string(),U.object({type:U.string().optional(),code:U.union([U.number(),U.string()]).optional(),message:U.string().optional()}).loose()]).optional()}),U.object({type:U.literal("mcp_approval_request"),id:U.string(),server_label:U.string(),name:U.string(),arguments:U.string(),approval_request_id:U.string().optional()}),U.object({type:U.literal("apply_patch_call"),id:U.string(),call_id:U.string(),status:U.enum(["in_progress","completed"]),operation:U.discriminatedUnion("type",[U.object({type:U.literal("create_file"),path:U.string(),diff:U.string()}),U.object({type:U.literal("delete_file"),path:U.string()}),U.object({type:U.literal("update_file"),path:U.string(),diff:U.string()})])}),U.object({type:U.literal("shell_call"),id:U.string(),call_id:U.string(),status:U.enum(["in_progress","completed","incomplete"]),action:U.object({commands:U.array(U.string())})}),U.object({type:U.literal("shell_call_output"),id:U.string(),call_id:U.string(),status:U.enum(["in_progress","completed","incomplete"]),output:U.array(U.object({stdout:U.string(),stderr:U.string(),outcome:U.discriminatedUnion("type",[U.object({type:U.literal("timeout")}),U.object({type:U.literal("exit"),exit_code:U.number()})])}))}),U.object({type:U.literal("tool_search_call"),id:U.string(),execution:U.enum(["server","client"]),call_id:U.string().nullable(),status:U.enum(["in_progress","completed","incomplete"]),arguments:U.unknown()}),U.object({type:U.literal("tool_search_output"),id:U.string(),execution:U.enum(["server","client"]),call_id:U.string().nullable(),status:U.enum(["in_progress","completed","incomplete"]),tools:U.array(U.record(U.string(),Je.optional()))})])).optional(),service_tier:U.string().nullish(),incomplete_details:U.object({reason:U.string()}).nullish(),usage:U.object({input_tokens:U.number(),input_tokens_details:U.object({cached_tokens:U.number().nullish()}).nullish(),output_tokens:U.number(),output_tokens_details:U.object({reasoning_tokens:U.number().nullish()}).nullish()}).optional()}))),rTf=["o1","o1-2024-12-17","o3","o3-2025-04-16","o3-mini","o3-mini-2025-01-31","o4-mini","o4-mini-2025-04-16","gpt-5","gpt-5-2025-08-07","gpt-5-codex","gpt-5-mini","gpt-5-mini-2025-08-07","gpt-5-nano","gpt-5-nano-2025-08-07","gpt-5-pro","gpt-5-pro-2025-10-06","gpt-5.1","gpt-5.1-chat-latest","gpt-5.1-codex-mini","gpt-5.1-codex","gpt-5.1-codex-max","gpt-5.2","gpt-5.2-chat-latest","gpt-5.2-pro","gpt-5.2-codex","gpt-5.3-chat-latest","gpt-5.3-codex","gpt-5.4","gpt-5.4-2026-03-05","gpt-5.4-mini","gpt-5.4-mini-2026-03-17","gpt-5.4-nano","gpt-5.4-nano-2026-03-17","gpt-5.4-pro","gpt-5.4-pro-2026-03-05","gpt-5.5","gpt-5.5-2026-04-23"],xYl=["gpt-4.1","gpt-4.1-2025-04-14","gpt-4.1-mini","gpt-4.1-mini-2025-04-14","gpt-4.1-nano","gpt-4.1-nano-2025-04-14","gpt-4o","gpt-4o-2024-05-13","gpt-4o-2024-08-06","gpt-4o-2024-11-20","gpt-4o-audio-preview","gpt-4o-audio-preview-2024-12-17","gpt-4o-search-preview","gpt-4o-search-preview-2025-03-11","gpt-4o-mini-search-preview","gpt-4o-mini-search-preview-2025-03-11","gpt-4o-mini","gpt-4o-mini-2024-07-18","gpt-3.5-turbo-0125","gpt-3.5-turbo","gpt-3.5-turbo-1106","gpt-5-chat-latest",...rTf],x20=Ji(()=>gi(y4.object({conversation:y4.string().nullish(),include:y4.array(y4.enum(["reasoning.encrypted_content","file_search_call.results","message.output_text.logprobs"])).nullish(),instructions:y4.string().nullish(),logprobs:y4.union([y4.boolean(),y4.number().min(1).max(H20)]).optional(),maxToolCalls:y4.number().nullish(),metadata:y4.any().nullish(),parallelToolCalls:y4.boolean().nullish(),previousResponseId:y4.string().nullish(),promptCacheKey:y4.string().nullish(),promptCacheRetention:y4.enum(["in_memory","24h"]).nullish(),reasoningEffort:y4.string().nullish(),reasoningSummary:y4.string().nullish(),safetyIdentifier:y4.string().nullish(),serviceTier:y4.enum(["auto","flex","priority","default"]).nullish(),store:y4.boolean().nullish(),passThroughUnsupportedFiles:y4.boolean().optional(),strictJsonSchema:y4.boolean().nullish(),textVerbosity:y4.enum(["low","medium","high"]).nullish(),truncation:y4.enum(["auto","disabled"]).nullish(),user:y4.string().nullish(),systemMessageMode:y4.enum(["system","developer","remove"]).optional(),forceReasoning:y4.boolean().optional(),allowedTools:y4.object({toolNames:y4.array(y4.string()).min(1),mode:y4.enum(["auto","required"]).optional()}).optional()})));nBf=Ji(()=>gi(tuu.object({instructions:tuu.string().nullish(),speed:tuu.number().min(0.25).max(4).default(1).nullish()}))),gBf=Ji(()=>gi(n1.object({text:n1.string(),language:n1.string().nullish(),duration:n1.number().nullish(),words:n1.array(n1.object({word:n1.string(),start:n1.number(),end:n1.number()})).nullish(),segments:n1.array(n1.object({id:n1.number(),seek:n1.number(),start:n1.number(),end:n1.number(),text:n1.string(),tokens:n1.array(n1.number()),temperature:n1.number(),avg_logprob:n1.number(),compression_ratio:n1.number(),no_speech_prob:n1.number()})).nullish()}))),OBf=Ji(()=>gi(Vg.object({include:Vg.array(Vg.string()).optional(),language:Vg.string().optional(),prompt:Vg.string().optional(),temperature:Vg.number().min(0).max(1).default(0).optional(),timestampGranularities:Vg.array(Vg.enum(["word","segment"])).default(["segment"]).optional()}))),j20={afrikaans:"af",arabic:"ar",armenian:"hy",azerbaijani:"az",belarusian:"be",bosnian:"bs",bulgarian:"bg",catalan:"ca",chinese:"zh",croatian:"hr",czech:"cs",danish:"da",dutch:"nl",english:"en",estonian:"et",finnish:"fi",french:"fr",galician:"gl",german:"de",greek:"el",hebrew:"he",hindi:"hi",hungarian:"hu",icelandic:"is",indonesian:"id",italian:"it",japanese:"ja",kannada:"kn",kazakh:"kk",korean:"ko",latvian:"lv",lithuanian:"lt",macedonian:"mk",malay:"ms",marathi:"mr",maori:"mi",nepali:"ne",norwegian:"no",persian:"fa",polish:"pl",portuguese:"pt",romanian:"ro",russian:"ru",serbian:"sr",slovak:"sk",slovenian:"sl",spanish:"es",swahili:"sw",swedish:"sv",tagalog:"tl",tamil:"ta",thai:"th",turkish:"tr",ukrainian:"uk",urdu:"ur",vietnamese:"vi",welsh:"cy"};zYl=Zy()});var b20="https://api.llmapi.ai/v1",ZBf="https://llmapi.ai/wp-content/uploads/2026/01/Frame-2085662993.png",R20;var C20=g(()=>{Fwi();R20={info:{id:"llmapi",name:"LLMAPI",description:"One API key, 400+ models across every provider",logo:ZBf},supportedMethods:["api-key"],create(i){let u=Zy({apiKey:i||"not-needed",baseURL:b20,name:"llmapi"}),t=Object.assign((...f)=>u.chat(...f),u,{languageModel:u.chat});return{info:this.info,aiSdk:t,async listModels(){let f=await fetch(`${b20}/models`,{headers:i?{Authorization:`Bearer ${i}`}:{},signal:AbortSignal.timeout(15000)});if(!f.ok)throw Error(`LLMAPI listModels failed: ${f.status}`);let{data:l}=await f.json();return l.map((c)=>{let E=c.architecture??{},d=!!c.reasoning_levels?.length||!!c.providers?.some(($)=>$.reasoning);return{providerId:"llmapi",modelId:c.id,title:c.name||c.id,description:c.description??null,logo:null,capabilities:[...new Set([...(E.input_modalities??[]).map(($)=>$==="image"?"vision":$),...E.output_modalities??[],...c.supported_parameters?.includes("tools")?["tools"]:[],...d?["reasoning"]:[]])],limits:{contextWindow:c.context_length??0,maxOutputTokens:null},costs:{input:Number(c.pricing?.prompt)||0,output:Number(c.pricing?.completion)||0}}})}}}}});function TBf(i){let u=JSON.parse(i);if(!u.baseUrl||typeof u.baseUrl!=="string")throw Error("Invalid OpenAI-compatible credential: missing baseUrl field");let t=u.baseUrl.replace(/\/+$/,"");if(!t.endsWith("/v1"))t+="/v1";return{baseUrl:t,apiKey:u.apiKey??""}}var BBf="https://assets.decocache.com/decocms/d138aa7e-5b8c-4821-9e64-6aff40df2cdc/ChatGPT_logo.svg",M20;var q20=g(()=>{Fwi();M20={info:{id:"openai-compatible",name:"OpenAI Compatible",description:"Custom OpenAI-compatible endpoint",logo:BBf},supportedMethods:["api-key"],create(i){let{baseUrl:u,apiKey:t}=TBf(i),f=Zy({baseURL:u,apiKey:t||"not-needed",name:"openai-compatible"}),l=Object.assign((...c)=>f.chat(...c),f,{languageModel:f.chat});return{info:this.info,aiSdk:l,async listModels(){let c={};if(t)c.Authorization=`Bearer ${t}`;let E=await fetch(`${u}/models`,{headers:c,signal:AbortSignal.timeout(15000)});if(!E.ok)throw Error(`OpenAI-compatible listModels failed: ${E.status}`);return(await E.json()).data.map(($)=>({providerId:"openai-compatible",modelId:$.id,title:$.id,description:$.owned_by?`Owned by ${$.owned_by}`:null,logo:null,capabilities:[],limits:null,costs:null}))}}}}});function k6(){return{...Zu().aiGatewayEnabled&&{deco:yV},anthropic:x80,google:g20,openrouter:OEi,llmapi:R20,"openai-compatible":M20}}var dD=g(()=>{k80();O20();C20();q20();Mmi();Vmi();Zt()});function FBf(i){return i.includes("/")?i.split("/").slice(1).join("/"):i}function UBf(i){let u=i.supported_parameters.includes("tools"),t=i.supported_parameters.includes("reasoning");return{providerId:"openrouter",modelId:FBf(i.id),title:i.name,description:i.description||null,logo:null,capabilities:[...new Set([...i.architecture.input_modalities.map((f)=>f==="image"?"vision":f),...i.architecture.output_modalities,...u?["tools"]:[],...t?["reasoning"]:[]])],limits:{contextWindow:i.context_length,maxOutputTokens:i.top_provider.max_completion_tokens||null},costs:{input:i.pricing.prompt,output:i.pricing.completion}}}function r20(i){let u=new Map;for(let t of i){let f={description:t.description,capabilities:t.capabilities,limits:t.limits,costs:t.costs};u.set(t.modelId,f);let l=t.modelId.replace(/\./g,"-");if(l!==t.modelId)u.set(l,f)}return u}async function IBf(i){if(i){let u=await i.get(V20,"openrouter");if(u)return r20(u)}try{let u=await fetch("https://openrouter.ai/api/v1/models",{signal:AbortSignal.timeout(1e4)});if(!u.ok)return new Map;let{data:t}=await u.json(),f=t.map(UBf);if(i)await i.set(V20,"openrouter",f);return r20(f)}catch{return new Map}}function PBf(i){let u=i.replace(/\./g,"-"),t=i.replace(/-\d{8}$/,""),f=t.replace(/\./g,"-");return[...new Set([i,u,t,f])]}function ABf(i){return i.providerId==="anthropic"||i.modelId.startsWith("anthropic/")}function e20(i,u){if(ABf(u)&&i.includes("vision")&&!i.includes("file"))return[...i,"file"];return i}function xBf(i,u){return i.map((t)=>{let l=PBf(t.modelId).map((d)=>u.get(d)).find(Boolean),c=t.capabilities.length?t.capabilities:l?.capabilities??[],E=e20(c,t);if(!l)return E===c?t:{...t,capabilities:E};return{...t,description:t.description??l.description??null,capabilities:E,limits:t.limits??l.limits??null,costs:t.costs??l.costs??null}})}class wuu{storage;cache;constructor(i,u){this.storage=i;this.cache=u}async activate(i,u){let{keyInfo:t,apiKey:f}=await this.storage.resolve(i,u),l=k6()[t.providerId];if(!l)throw Error(`Unknown provider: ${t.providerId}`);return l.create(f)}async listModels(i,u){let{keyInfo:t,apiKey:f}=await this.storage.resolve(i,u),l=t.providerId,c=k6()[l];if(!c)throw Error(`Unknown provider: ${l}`);if(this.cache){let _=await this.cache.get(u,l);if(_)return m20(_,c,f)}let d=await c.create(f).listModels(),$=new Set,w=d.filter((_)=>{if(_.deprecated)return!1;if($.has(_.modelId))return!1;return $.add(_.modelId),!0});if(l!=="openrouter"){let _=await IBf(this.cache);w=xBf(w,_)}else w=w.map((_)=>({..._,capabilities:e20(_.capabilities,_)}));let h=w.map((_)=>({..._,providerId:l}));if(this.cache)await this.cache.set(u,l,h);return m20(h,c,f)}}function m20(i,u,t){let l=u.create(t).asyncResearch;if(!l)return i;return i.map((c)=>l.canHandle(c.modelId)?{...c,asyncResearch:!0}:c)}var V20="_global";var a20=g(()=>{dD()});import{SpanStatusCode as o20}from"@opentelemetry/api";function kBf(i){if(!i)return;try{let u=JSON.parse(i);if(typeof u!=="object"||u===null||Array.isArray(u))return;let t={};for(let[f,l]of Object.entries(u))if(typeof l==="string")t[f]=l;return Object.keys(t).length>0?t:void 0}catch{return}}function _uu(i){let{auth:u,headers:t,role:f,permissions:l,userId:c,apiKeyId:E}=i,d=!!E,$=u.api.hasPermission;return{isApiKeyPrincipal:d,hasPermission:async(w,h)=>{if(d)return usi(l??{},w);if(f&&h3.includes(f))return!0;if(l)return usi(l,w);let _=M_0(h?.role,w,q_0());if(_!=="fallback")return _==="grant";if(!$)return console.error("[Auth] hasPermission API not available"),!1;let v=h?.organizationId?{organizationId:h.organizationId}:{};try{if((await $({headers:t,body:{permission:w,...v}}))?.success===!0)return!0;let D=K_0(w);return(await $({headers:t,body:{permission:D,...v}}))?.success===!0}catch(n){let D=n?.statusCode;if(D!==401&&D!==403)console.error("[Auth] Permission check failed:",n instanceof Error?n.message:String(n));return!1}},organization:{create:async(w)=>{return u.api.createOrganization({headers:t,body:w})},update:async(w)=>{return u.api.updateOrganization({headers:t,body:w})},delete:async(w)=>{await u.api.deleteOrganization({headers:t,body:{organizationId:w}})},get:async(w)=>{return u.api.getFullOrganization({headers:t,query:w?{organizationId:w}:void 0})},list:async(w)=>{return(await u.api.listOrganizations({headers:t,query:w?{userId:w}:void 0})).filter((_)=>!fd(_))},addMember:async(w)=>{return u.api.addMember({headers:t,body:w})},removeMember:async(w)=>{await u.api.removeMember({headers:t,body:w})},listMembers:async(w)=>{return u.api.listMembers({headers:t,query:w?{organizationId:w.organizationId,limit:w.limit,offset:w.offset}:void 0})},updateMemberRole:async(w)=>{return u.api.updateMemberRole({headers:t,body:w})}},apiKey:{create:async(w)=>{return u.api.createApiKey({body:{...w,userId:c}})},list:async()=>{return u.api.listApiKeys({headers:t})},update:async(w)=>{return u.api.updateApiKey({body:{...w,userId:c}})},delete:async(w)=>{await u.api.deleteApiKey({headers:t,body:{keyId:w}})}}}}async function vuu(i,u,t){if(u$i.includes(t))return;let f=await i.selectFrom("organizationRole").select(["permission"]).where("organizationId","=",u).where("role","=",t).executeTakeFirst();if(!f?.permission)return;try{return JSON.parse(f.permission)}catch{console.error(`[Auth] Failed to parse permissions for role: ${t}`);return}}async function p20(i,u,t,f){let l=s20.get(t);if(l&&Date.now()-l.at<GBf)return l.archived;let c=await u.measure(f,()=>i.selectFrom("organization").select(["metadata"]).where("id","=",t).executeTakeFirst()),E=fd(c);return s20.set(t,{archived:E,at:Date.now()}),E}async function huu(i,u,t,f,l){let c=l?.get(t,f);if(c)return c;let d=(await u.measure("auth_query_membership",()=>i.selectFrom("member").select(["member.role"]).where("member.userId","=",t).where("member.organizationId","=",f).executeTakeFirst()))?.role;if(d)l?.set(t,f,d);return d}async function SBf(i,u,t,f,l){let c=i.headers.get("x-mesh-token");if(!c)return;let E=await t.measure("auth_verify_onbehalf_mesh_jwt",()=>Pei(c));if(!E?.sub)return;let d=E.metadata?.organizationId;if(f&&d&&d!==f)return;let $=f?await huu(u,t,E.sub,f,l):E.user?.role??void 0;return{id:E.sub,email:E.user?.email,name:E.user?.name,role:$}}async function jBf(i,u,t,f=ug0,l){let c=i.headers.get("Authorization");try{let E=new Headers(i.headers);E.set("X-MCP-Session-Auth","true");let d=await f.measure("auth_get_mcp_session",()=>u.api.getMcpSession({headers:E}));if(d){let $=d.userId,w=i.headers.get("x-org-id"),h=i.headers.get("x-org-slug"),_=await f.measure("auth_query_membership",()=>{let O=t.selectFrom("member").innerJoin("organization","organization.id","member.organizationId").select(["member.role","member.organizationId","organization.id as orgId","organization.slug as orgSlug","organization.name as orgName","organization.metadata as orgMetadata"]).where("member.userId","=",$);if(w)return O.where("organization.id","=",w).executeTakeFirst();if(h)return O.where("organization.slug","=",h).executeTakeFirst();return O.orderBy("member.createdAt","asc").limit(2).execute().then((N)=>N.length===1?N[0]:void 0)});if(fd({metadata:_?.orgMetadata}))throw Error("Organization is archived");let v=_?.role,n=_?{id:_.orgId,slug:_.orgSlug,name:_.orgName}:void 0;if(_&&v)l?.set($,_.organizationId,v);let D;if(_&&v)D=await f.measure("auth_fetch_role_permissions",()=>vuu(t,_.organizationId,v));return{user:{id:$,role:v},role:v,permissions:D,organization:n}}}catch(E){console.error("[Auth] OAuth session check failed:",E)}if(c?.startsWith("Bearer ")){let E=c.replace("Bearer ","").trim();try{let d=await f.measure("auth_verify_mesh_jwt",()=>Pei(E));if(d){let $,w=d.metadata?.organizationId;if(d.sub&&w)$=await huu(t,f,d.sub,w,l);let h,_=d.metadata?.organizationId;if(_){let v=d.metadata?.organizationName,n=d.metadata?.organizationSlug;if(v||n){if(await p20(t,f,_,"auth_query_org_archived_for_mesh_jwt"))return{user:void 0};h={id:_,name:v,slug:n}}else{let D=await f.measure("auth_query_org_for_mesh_jwt",()=>t.selectFrom("organization").select(["id","slug","name","metadata"]).where("id","=",_).executeTakeFirst());if(fd(D))return{user:void 0};h=D?{id:D.id,slug:D.slug,name:D.name}:{id:_}}}return{user:{id:d.sub,connectionId:d.metadata?.connectionId,role:$},role:$,permissions:d.permissions,organization:h}}}catch{}try{let d=await f.measure("auth_verify_api_key",()=>u.api.verifyApiKey({body:{key:E}}));if(d?.valid&&d.key){let $=d.key.metadata?.organization;if($?.id&&await p20(t,f,$.id,"auth_query_org_for_api_key"))return{user:void 0};let w=d.key.permissions,h,_=d.key.userId;if(_&&$?.id)h=await huu(t,f,_,$.id,l);let v=await SBf(i,t,f,$?.id,l);return{apiKeyId:d.key.id,user:v??{id:d.key.userId,role:h},role:v?v.role:h,permissions:w,organization:$?{id:$.id,slug:$.slug,name:$.name}:void 0}}}catch(d){let $=d;if($.body?.code==="INVALID_API_KEY"||$.message?.includes("Invalid API key"))console.warn("[Auth] invalid API key (Bearer)",{path:new URL(i.url).pathname,method:i.method,ua:i.headers.get("user-agent")??void 0,ip:i.headers.get("x-forwarded-for")??i.headers.get("x-real-ip")??void 0,tokenPrefix:E.slice(0,8)});else console.error("[Auth] API key check failed:",$)}}try{let E=new Headers(i.headers);E.delete("Authorization");let d=await f.measure("auth_get_session",()=>u.api.getSession({headers:E}));if(d){let $,w,h=i.headers.get("x-org-id"),_=i.headers.get("x-org-slug");if(!h&&!_&&i.method.toUpperCase()==="GET")try{let v=new URL(i.url).searchParams;h=v.get("x-org-id"),_=v.get("x-org-slug")}catch{}if(h||_){let v=await f.measure("auth_query_membership_from_header",()=>{let n=t.selectFrom("member").innerJoin("organization","organization.id","member.organizationId").select(["member.role","organization.id as orgId","organization.slug as orgSlug","organization.name as orgName","organization.metadata as orgMetadata"]).where("member.userId","=",d.user.id);if(h)n=n.where("organization.id","=",h);else if(_)n=n.where("organization.slug","=",_);return n.executeTakeFirst()});if(fd({metadata:v?.orgMetadata}))throw Error("Organization is archived");if(v)$={id:v.orgId,slug:v.orgSlug,name:v.orgName},w=v.role}else if(d.session.activeOrganizationId){let v=await f.measure("auth_get_full_organization",()=>u.api.getFullOrganization({headers:E}).catch(()=>null));if(v){if(fd(v))throw Error("Organization is archived");$={id:v.id,slug:v.slug,name:v.name},w=v.members?.find((D)=>D.userId===d.user.id)?.role}else $={id:d.session.activeOrganizationId,slug:"",name:""}}return{user:{id:d.user.id,email:d.user.email,emailVerified:!!d.user.emailVerified,name:d.user.name,image:d.user.image??void 0,role:w},role:w,organization:$}}}catch(E){let d=E;console.error("[Auth] Session check failed:",JSON.stringify({message:d.message,body:d.body,stack:d.stack},null,2))}return{user:void 0}}async function tg0(i){let u=new bn(i.encryption.key),t=Zu(),f=t.clickhouseUrl,l=!!f,c=!l&&!!t.monitoringS3Bucket,E=l?"clickhouse":"duckdb",{resolve:d}=await import("path"),$=d(th()),w=d(nn()),h=(F)=>`read_ndjson('${$}/${F}/**/*.ndjson', auto_detect=true)`,_=(F)=>`read_ndjson('${w}/${F}/**/*.ndjson', auto_detect=true)`,v,n,D,O,N=!1;if(i.monitoringEngines)v=i.monitoringEngines.monitoringEngine,n=i.monitoringEngines.metricEngine,D=h,O=_;else if(l){let F=t.clickhouseMaxMemoryUsage?{maxMemoryUsage:String(t.clickhouseMaxMemoryUsage)}:void 0;v=new sr(f,F),n=new sr(f,F),D=(P)=>"studio_monitoring_logs",O=(P)=>"studio_monitoring_logs"}else if(c){let F=t.monitoringS3AccessKeyId??t.s3AccessKeyId,P=t.monitoringS3SecretAccessKey??t.s3SecretAccessKey,S=t.duckdbExtensionDirectory;if(!F||!P||!S)throw Error("MONITORING_S3_BUCKET is set but the GCS monitoring path is misconfigured: MONITORING_S3_ACCESS_KEY_ID/S3_ACCESS_KEY_ID, MONITORING_S3_SECRET_ACCESS_KEY/S3_SECRET_ACCESS_KEY, and DUCKDB_EXTENSION_DIRECTORY are all required.");let A={endpoint:t.monitoringS3Endpoint??t.s3Endpoint??"storage.googleapis.com",region:t.monitoringS3Region??t.s3Region,accessKeyId:F,secretAccessKey:P,extensionDirectory:S},k=new or(A,{memoryLimit:t.duckdbMemoryLimit,threads:t.duckdbThreads});v=k,n=k;let M=t.monitoringS3Bucket,J=t.monitoringS3Prefix??"",W=(m,z)=>n_0({bucket:M,prefix:J,range:z});D=W,O=W,N=!0}else{let{engine:F}=await Soi({basePath:th()}),{engine:P}=await Soi({basePath:nn()});v=F,n=P,D=h,O=_}let y=new fz(i.db),Z=new $m(i.db),T=new tm(i.db),B={connections:new FV(i.db,u),connectionCredentialVault:new rei(i.db),organizationSettings:new joi(i.db),monitoring:new pei(v,D,n,O,E,N),virtualMcps:new eW(i.db),users:new Voi(i.db),tags:new qoi(i.db),virtualMcpPluginConfigs:new Koi(i.db),aiProviderKeys:new BV(i.db,u,i.providerKeyCache),secrets:new Osi(i.db,u),orgFileConfigs:new Nsi(i.db,u),orgSites:new Bsi(i.db),taskBoard:new Fsi(i.db),orgFsEntries:new VM(i.db),oauthPkceStates:new Usi(i.db),automations:Wdi(i.db),triggerCallbackTokens:new im(i.db),orgSsoConfig:new Qoi(i.db,u),orgSsoSessions:new Hoi(i.db),registry:{items:new eY(i.db),publishRequests:new aY(i.db),publishApiKeys:new oY(i.db),monitorRuns:new qdi(i.db),monitorResults:new Vdi(i.db),monitorConnections:new rdi(i.db)},brandContext:new um(i.db),organizationDomains:new o$(i.db),organizationJoinRequests:new mY(i.db),kv:T,interests:new zoi(T)};return async(F,P)=>{let S=P?.timings??ug0,A=c$i(),k=F?await i.observability.tracer.startActiveSpan("studio.auth",async(xi)=>{try{let qi=await jBf(F,i.auth,i.db,S,i.memberRoleCache);return xi.setStatus({code:o20.OK}),qi}catch(qi){throw xi.setStatus({code:o20.ERROR,message:qi.message}),xi.recordException(qi),qi}finally{xi.end()}}):{user:void 0},M=F?.headers.get("x-caller-id")??k.user?.connectionId??void 0,J=_uu({auth:i.auth,headers:F?.headers??new Headers,role:k.role,permissions:k.permissions,userId:k.user?.id,apiKeyId:k.apiKeyId}),W={user:k.user};if(k.apiKeyId)W.apiKey={id:k.apiKeyId,name:"",userId:""};let m=k.organization,z=F?Zu().baseUrl??`${new URL(F.url).origin}`:H1(),di=new CN(W.user?.id,void 0,J,k.role,"self",void 0,m?.id),wi={...B,virtualMcps:hE0(B.virtualMcps),threads:new $si(y,m?.id),asyncResearchJobs:new nsi(Z,m?.id)},li=new wuu(wi.aiProviderKeys,i.modelListCache),ii=HE(),s=!m?null:ii?W$(ii,m.id):new cv(m.id,z),Di=m&&s?new dv(s,wi.orgFsEntries,m.id):null;Zzi(wi,{objectStorage:s,baseUrl:z,orgSlug:m?.slug});let hi={timings:S,auth:W,connectionId:M,organization:m,storage:wi,vault:u,authInstance:i.auth,boundAuth:J,access:di,db:i.db,tracer:i.observability.tracer,meter:i.observability.meter,baseUrl:z,objectStorage:s,orgFs:Di,metadata:{requestId:crypto.randomUUID(),timestamp:new Date,wellKnownForwardableHeaders:Object.fromEntries(KBf.map((xi)=>[xi,F?.headers.get(xi)??null]).filter(([xi,qi])=>qi!==null)),userAgent:F?.headers.get("x-mesh-client")||F?.headers.get("User-Agent")||void 0,ipAddress:(F?.headers.get("CF-Connecting-IP")||F?.headers.get("X-Forwarded-For"))??void 0,properties:kBf(F?.headers.get("x-mesh-properties"))},linkStatusProbe:i.linkStatusProbe,publishLinkControlFrame:i.publishLinkControlFrame,aiProviders:li,createMCPProxy:async(xi)=>{return await R_0(xi,hi)},invalidateMemberRole:i.memberRoleCache?(xi,qi)=>i.memberRoleCache.invalidate(xi,qi):void 0,getOrCreateClient:A,pendingRevalidations:[],firecrawlApiKey:Zu().firecrawlApiKey};return hi}}function Uwi(i,u){i.storage.threads.setOrganizationId(u.id),i.storage.asyncResearchJobs.setOrganizationId(u.id);let t=HE();i.objectStorage=t?W$(t,u.id):new cv(u.id,i.baseUrl),i.orgFs=new dv(i.objectStorage,i.storage.orgFsEntries,u.id),Zzi(i.storage,{objectStorage:i.objectStorage,baseUrl:i.baseUrl,orgSlug:u.slug??void 0})}var GBf=60000,s20,ig0,rg,ug0,KBf;var Xe=g(()=>{NN();TV();Zt();bE();pmi();QEi();Uei();Ld0();D_0();L$();g_0();Joi();Xoi();Woi();S_0();j_0();MN();isi();Gv();lsi();wsi();Dsi();gsi();mmi();d$i();tv0();lv0();cv0();$Mi();CL();a20();a8();bM();q4i();s20=new Map;rg={set:(i)=>{ig0=i},create:async(i,u)=>{return await ig0(i,u)}},ug0={measure:async(i,u)=>{return await u()}},KBf=["x-hub-signature-256"]});function Duu(i){return i?`/api/${i}`:""}function fg0(i){let t=new URL(i).pathname;if(t.endsWith("/"))t=t.slice(0,-1);let f=(l)=>{let c=new URL(i);return c.pathname=l,c.toString()};return[f(`${t}/.well-known/oauth-protected-resource`),f(`/.well-known/oauth-protected-resource${t}`),f("/.well-known/oauth-protected-resource")]}function lg0(i){let t=new URL(i).pathname;if(t.endsWith("/"))t=t.slice(0,-1);let f=t!==""&&t!=="/",l=(c)=>{let E=new URL(i);return E.pathname=c,E.toString()};if(f)return[l(`/.well-known/oauth-authorization-server${t}`),l(`/.well-known/openid-configuration${t}`),l(`${t}/.well-known/openid-configuration`)];return[l("/.well-known/oauth-authorization-server"),l("/.well-known/openid-configuration")]}function cg0(i){return"issuer"in i&&!("resource"in i)&&(("authorization_endpoint"in i)||("token_endpoint"in i))}function Eg0(i){let u=i.toLowerCase();return u.includes("resource_metadata=")||u.includes("invalid_token")||u.includes("oauth")}function dg0(i){let u=i.message?.toLowerCase()??"";return i.status===401||i.code===401||(i.message?.includes("401")??!1)||u.includes("unauthorized")||u.includes("invalid_token")||u.includes("api key required")||u.includes("api-key required")}function $g0(i,{proxyResourceUrl:u,proxyAuthServer:t}){return{...i,resource:u,authorization_servers:[t]}}function guu({proxyResourceUrl:i,proxyAuthServer:u,scopesSupported:t=["*"]}){return{resource:i,authorization_servers:[u],bearer_methods_supported:["header"],scopes_supported:t}}function wg0(i){return"scopes_supported"in i&&Array.isArray(i.scopes_supported)&&i.scopes_supported.length>0?i.scopes_supported:["*"]}function hg0(i,u){return{...i,authorization_endpoint:i.authorization_endpoint?`${u}/authorize`:void 0,token_endpoint:i.token_endpoint?`${u}/token`:void 0,registration_endpoint:i.registration_endpoint?`${u}/register`:void 0}}function _g0({origin:i,prefix:u,connectionId:t}){return`Bearer realm="mcp",resource_metadata="${i}${u}/mcp/${t}/.well-known/oauth-protected-resource"`}var nuu;var vg0=g(()=>{nuu=[404,401,406]});async function JBf(i,u,t){return(await u.storage.connections.findById(i,t))?.connection_url??null}async function ng0(i,u={}){try{let t=await yuu(i,{method:"POST",headers:{...u,"Content-Type":"application/json",Accept:"application/json, text/event-stream"},body:JSON.stringify({jsonrpc:"2.0",id:0,method:"initialize",params:{protocolVersion:"2025-06-18",capabilities:{},clientInfo:{name:"mcp-cms-proxy",version:"1.0.0"}}})});if(t.status===401){let f=t.headers.get("WWW-Authenticate");if(f){if(Eg0(f))return f}if(await XBf(i))return'Bearer realm="mcp"'}return null}catch{return null}}async function XBf(i){try{let u=new URL(i),t=new URL("/.well-known/oauth-authorization-server",u.origin),f=await yuu(t.toString(),{method:"GET",headers:{Accept:"application/json"}});if(f.ok){let l=await f.json();if(l.authorization_endpoint||l.token_endpoint||l.issuer)return!0}return!1}catch{return!1}}async function Hz(i){let u=fg0(i),t;for(let f=0;f<u.length;f++){if(t=await Zg0(u[f],{method:"GET",headers:{Accept:"application/json"}}),t.ok)return t;if(f<u.length-1&&!nuu.includes(t.status))return t}return t}async function LBf(i){let u;try{u=new URL(i).origin}catch{return null}try{let t=await Hz(i);if(t.ok){let f=await t.json();if(f.authorization_servers?.[0])return f.authorization_servers[0]}}catch{}return u}async function Dg0(i){let u=i.get("meshContext");if(!u)u=await rg.create(i.req.raw),i.set("meshContext",u);return u}async function Nuu({error:i,reqUrl:u,connectionId:t,connectionUrl:f,headers:l,orgSlug:c}){if(!dg0(i))return null;if(Boolean(await ng0(f,l)))return new Response(null,{status:401,headers:{"WWW-Authenticate":_g0({origin:u.origin,prefix:Duu(c),connectionId:t})}});return new Response(JSON.stringify({error:"unauthorized",message:"Authentication required but server does not support OAuth"}),{status:401,headers:{"Content-Type":"application/json"}})}function yuu(i,u,t=yg0){return fetch(i,{...u,signal:AbortSignal.timeout(t)})}class Ouu{response;constructor(i){this.response=i}}async function Zg0(i,u,{attempts:t=3,timeoutMs:f=yg0}={}){try{return await Z1(async()=>{let l=await yuu(i,u,f);if(l.status>=500)throw new Ouu(l);return l},{maxAttempts:t,minTimeout:150,multiplier:2,jitter:0})}catch(l){if(l instanceof Jc){if(l.cause instanceof Ouu)return l.cause.response;throw l.cause}throw l}}async function We(i){let u=lg0(i),t=null;for(let f of u){if(t=await Zg0(f,{method:"GET",headers:{Accept:"application/json"}}),t.ok)return t;if(t.status!==404&&t.status!==401)return t}return t}var gg0=(i)=>{if(!(i.hostname==="localhost"||i.hostname.endsWith(".localhost")||i.hostname==="127.0.0.1"))i.protocol="https:";return i},Le=async(i)=>{let u=i.req.param("connectionId"),t=await Dg0(i),f=gg0(new URL(i.req.url)),l=i.req.param("org")??t.organization?.slug,c;if(l)if(t.organization?.id&&t.organization.slug===l)c=t.organization.id;else{let h=await t.db.selectFrom("organization").select("id").where("slug","=",l).executeTakeFirst();if(!h)return i.json({error:"Connection not found"},404);c=h.id}let E=await JBf(u,t,c);if(!E)return i.json({error:"Connection not found"},404);let d=Duu(l),$=`${f.origin}${d}/mcp/${u}`,w=`${f.origin}/oauth-proxy/${u}`;try{let h=await Hz(E);if(!h.ok&&nuu.includes(h.status)){if(await ng0(E)){let D=guu({proxyResourceUrl:$,proxyAuthServer:w});return new Response(JSON.stringify(D),{status:200,headers:{"Content-Type":"application/json"}})}return new Response(h.body,{status:h.status,statusText:h.statusText,headers:{"Content-Type":"application/json"}})}if(!h.ok)return new Response(h.body,{status:h.status,statusText:h.statusText,headers:{"Content-Type":"application/json"}});let _=await h.json();if(cg0(_)){let n=guu({proxyResourceUrl:$,proxyAuthServer:w,scopesSupported:wg0(_)});return new Response(JSON.stringify(n),{status:200,headers:{"Content-Type":"application/json"}})}let v=$g0(_,{proxyResourceUrl:$,proxyAuthServer:w});return new Response(JSON.stringify(v),{status:h.status,statusText:h.statusText,headers:{"Content-Type":"application/json"}})}catch(h){let _=h;return console.error("[oauth-proxy] Failed to proxy OAuth protected resource metadata:",_),i.json({error:"Failed to proxy OAuth metadata",message:_.message},502)}},Og0=()=>{let i=new bu;return i.get("/.well-known/oauth-protected-resource/mcp/:connectionId",(u)=>Le(u)),i.get("/mcp/:connectionId/.well-known/oauth-protected-resource",(u)=>Le(u)),i},Ng0=()=>{let i=new bu;return i.get("/mcp/:connectionId/.well-known/oauth-protected-resource",(u)=>Le(u)),i},yg0=4000,WBf=async(i)=>{let u=i.req.param("connectionId"),t=await Dg0(i),f=await t.storage.connections.findById(u);if(!f?.connection_url)return i.json({error:"Connection not found or no auth server"},404);let l=await LBf(f.connection_url);if(!l)return i.json({error:"Connection not found or no auth server"},404);let c=await t.db.selectFrom("organization").select("slug").where("id","=",f.organization_id).executeTakeFirst();try{let E=await We(l);if(!E.ok)return new Response(E.body,{status:E.status,statusText:E.statusText,headers:{"Content-Type":"application/json"}});let d=await E.json(),$=gg0(new URL(i.req.url)),w=c?.slug?`${$.origin}/api/${c.slug}/oauth-proxy/${u}`:`${$.origin}/oauth-proxy/${u}`,h=hg0(d,w);return new Response(JSON.stringify(h),{status:200,headers:{"Content-Type":"application/json"}})}catch(E){let d=E;return console.error("[oauth-proxy] Failed to proxy auth server metadata:",d),i.json({error:"Failed to proxy auth server metadata",message:d.message},502)}},Tg0=()=>{let i=new bu;return i.get("/.well-known/oauth-authorization-server/oauth-proxy/:connectionId",WBf),i};var Ye=g(()=>{pf();Xe();B4();vg0()});async function bz(i){try{let u;try{let f=await Hz(i);if(f.ok)u=(await f.json()).authorization_servers?.[0]}catch{}if(!u)u=new URL(i).origin;let t=await We(u);if(t.ok)return(await t.json()).token_endpoint??null;return null}catch{return null}}var Iwi=g(()=>{Ye()});function Awi(i){return!!i.refreshToken&&!!i.tokenEndpoint&&!!i.clientId}function YBf(i,u){if(i.includes("/oauth-proxy/"))return!0;try{return new URL(i).host!==new URL(u).host}catch{return!1}}async function HBf(i,u){let t=await Fd0(i);if(!t.success||!t.accessToken){if(t.permanent===!0)await u.delete(i.connectionId);return null}return await u.upsert({connectionId:i.connectionId,accessToken:t.accessToken,refreshToken:t.refreshToken??i.refreshToken,scope:t.scope??i.scope,expiresAt:t.expiresIn?new Date(Date.now()+t.expiresIn*1000):null,clientId:i.clientId,clientSecret:i.clientSecret,tokenEndpoint:i.tokenEndpoint}),t.accessToken}function xwi(i,u){let t=Zuu.get(i.connectionId);if(t)return t;let f=Pwi.get(i.connectionId);if(f&&Date.now()<f.nextAttemptAt)return Promise.resolve(null);let l=HBf(i,u).then((c)=>{if(c)Pwi.delete(i.connectionId);else{let E=Pwi.get(i.connectionId)?.attempt??0,d=t6(QBf,zBf,E,2,0.5);Pwi.set(i.connectionId,{attempt:E+1,nextAttemptAt:Date.now()+d})}return c}).finally(()=>{Zuu.delete(i.connectionId)});return Zuu.set(i.connectionId,l),l}async function mg(i){let{connectionId:u,connectionUrl:t,tokenStorage:f}=i,l=await f.get(u);if(!l)return{state:"missing",accessToken:null};let c=Awi(l),E=c?i.bufferMs??ze:0;if(!f.isExpired(l,E))return{state:"valid",accessToken:l.accessToken};if(!c)return await f.delete(u),{state:"expired_without_refresh",accessToken:null};let d=l.tokenEndpoint;if(t&&d&&YBf(d,t)){let w=await bz(t);if(w)d=w}let $=await xwi({...l,tokenEndpoint:d},f);if(!$)return{state:"refresh_failed",accessToken:null};return{state:"refreshed",accessToken:$}}var ze=300000,Bg0=3300000,NE="GitHub token refresh failed \u2014 reconnect the mcp-github integration.",Zuu,zBf=30000,QBf=300000,Pwi;var eg=g(()=>{B4();Ud0();Iwi();Zuu=new Map,Pwi=new Map});class Vl{db;vault;constructor(i,u){this.db=i;this.vault=u}async get(i){let u=await this.db.selectFrom("downstream_tokens").selectAll().where("connectionId","=",i).executeTakeFirst();if(!u)return null;return this.decryptToken(u)}async upsert(i){let u=new Date().toISOString(),t=await this.vault.encrypt(i.accessToken),f=i.refreshToken?await this.vault.encrypt(i.refreshToken):null,l=i.clientSecret?await this.vault.encrypt(i.clientSecret):null;return await this.db.transaction().execute(async(c)=>{let E=await c.selectFrom("downstream_tokens").select(["id","createdAt"]).where("connectionId","=",i.connectionId).executeTakeFirst();if(E)return await c.updateTable("downstream_tokens").set({accessToken:t,refreshToken:f,scope:i.scope,expiresAt:i.expiresAt?.toISOString()??null,clientId:i.clientId,clientSecret:l,tokenEndpoint:i.tokenEndpoint,updatedAt:u}).where("id","=",E.id).execute(),{id:E.id,connectionId:i.connectionId,accessToken:i.accessToken,refreshToken:i.refreshToken,scope:i.scope,expiresAt:i.expiresAt,createdAt:E.createdAt,updatedAt:u,clientId:i.clientId,clientSecret:i.clientSecret,tokenEndpoint:i.tokenEndpoint};let d=Gf("dtok");return await c.insertInto("downstream_tokens").values({id:d,connectionId:i.connectionId,accessToken:t,refreshToken:f,scope:i.scope,expiresAt:i.expiresAt?.toISOString()??null,clientId:i.clientId,clientSecret:l,tokenEndpoint:i.tokenEndpoint,createdAt:u,updatedAt:u}).execute(),{id:d,connectionId:i.connectionId,accessToken:i.accessToken,refreshToken:i.refreshToken,scope:i.scope,expiresAt:i.expiresAt,createdAt:u,updatedAt:u,clientId:i.clientId,clientSecret:i.clientSecret,tokenEndpoint:i.tokenEndpoint}})}async delete(i){await this.db.deleteFrom("downstream_tokens").where("connectionId","=",i).execute()}isExpired(i,u=0){if(!i.expiresAt)return!1;let f=(i.expiresAt instanceof Date?i.expiresAt:new Date(i.expiresAt)).getTime();if(Number.isNaN(f))return!0;return f-u<Date.now()}async decryptToken(i){let u=await this.vault.decrypt(i.accessToken),t=i.refreshToken?await this.vault.decrypt(i.refreshToken):null,f=i.clientSecret?await this.vault.decrypt(i.clientSecret):null;return{id:i.id,connectionId:i.connectionId,accessToken:u,refreshToken:t,scope:i.scope,expiresAt:i.expiresAt,createdAt:i.createdAt,updatedAt:i.updatedAt,clientId:i.clientId,clientSecret:f,tokenEndpoint:i.tokenEndpoint}}}var l_=g(()=>{id()});function bBf(i){if(!i||typeof i!=="object"||Array.isArray(i))return Fg0;let u=i;if(Object.values(u).some((t)=>typeof t!=="string"))return Fg0;return u}function RBf(i){if(typeof i!=="number"||!Number.isFinite(i)||!Number.isInteger(i)||i<=0)return;return i}function Mv(i){let u=i.metadata?.repoScope;if(!u||typeof u.installationId!=="number"||!Number.isFinite(u.installationId)||!Number.isInteger(u.installationId)||u.installationId<=0||typeof u.owner!=="string"||typeof u.repo!=="string"||u.owner.length===0||u.repo.length===0)return null;let t=RBf(u.repositoryId);return{sourceConnectionId:typeof u.sourceConnectionId==="string"?u.sourceConnectionId:void 0,installationId:u.installationId,repositoryId:t,owner:u.owner,repo:u.repo,permissions:bBf(u.permissions),grantProvider:u.grantProvider==="github-mcp"?"github-mcp":void 0}}function Ug0(i){return i.metadata?.orgShared===!0}var Fg0;var Ty=g(()=>{Fg0={contents:"write",metadata:"read",pull_requests:"write",issues:"write"}});async function CBf(i,u){let t=i.organization?.id;if(!t)throw Error(NE);if(!u.sourceConnectionId)throw Error(NE);let f=await i.storage.connections.findById(u.sourceConnectionId,t);if(!f)throw Error(NE);let{clientFromConnection:l}=await Promise.resolve().then(() => (Em(),Ig0)),c=await l(f,i,!0);try{let E=await c.callTool({name:"MINT_REPO_TOKEN",arguments:{installationId:u.installationId,owner:u.owner,repo:u.repo,permissions:u.permissions}}),d=E.structuredContent?.token;if(E.isError||!d)throw Error(NE);let $=E.structuredContent?.expiresAt;return{accessToken:d,expiresAt:$?new Date($):null}}finally{await c.close().catch(()=>{})}}function MBf(i,u){return(i?.getTime()??0)>u?i:new Date(u+Bg0)}async function qBf(i,u,t,f){let l=Date.now(),c=await CBf(i,t),E=MBf(c.expiresAt,l);return await f.upsert({connectionId:u,accessToken:c.accessToken,refreshToken:null,scope:null,expiresAt:E,clientId:null,clientSecret:null,tokenEndpoint:null}),c.accessToken}async function kwi(i,u,t){let f=Mv(u);if(!f)throw Error("Connection is not repo-scoped");if(!f.sourceConnectionId)throw Error(NE);let l=new Vl(i.db,i.vault),c=await l.get(u.id);if(!t?.forceRefresh&&c&&!l.isExpired(c,ze))return c.accessToken;let E=Tuu.get(u.id);if(E)return E;let d=qBf(i,u.id,f,l).finally(()=>{Tuu.delete(u.id)});return Tuu.set(u.id,d),d}var Tuu;var Buu=g(()=>{eg();Ty();l_();Tuu=new Map});import{SpanStatusCode as Pg0}from"@opentelemetry/api";function VBf(i){if(!i)return;let u={};for(let[t,f]of Object.entries(i))if(f&&typeof f==="object"&&!Array.isArray(f)&&"__binding"in f){let{__binding:l,...c}=f;u[t]=c}else u[t]=f;return u}async function Fuu(i,u,t){return u.tracer.startActiveSpan("studio.connection.build_headers",{attributes:{"connection.id":i.id}},async(f)=>{try{let l=await rBf(i,u,t);return f.setStatus({code:Pg0.OK}),l}catch(l){throw f.setStatus({code:Pg0.ERROR,message:l.message}),f.recordException(l),l}finally{f.end()}})}async function rBf(i,u,t){let f=i.id,l=Cei(i.configuration_state,i.configuration_scopes),c=u.auth.user,E=c?.id??u.auth.apiKey?.userId??(t?i.created_by:void 0),[d,$]=E?await jE0({sub:E,user:{id:E,email:c?.email,name:c?.name,role:c?.role},metadata:{state:VBf(i.configuration_state),meshUrl:u.baseUrl,connectionId:f,organizationId:u.organization?.id,organizationName:u.organization?.name,organizationSlug:u.organization?.slug},permissions:l}).then((D)=>[D,null]).catch((D)=>[null,D]):[null,Error("User ID required to issue configuration token")];if($)console.error("Failed to issue configuration token:",d);let w=u.auth.user?.connectionId,h={...w?{"x-caller-id":w}:{},...u.metadata.wellKnownForwardableHeaders??{},"x-request-id":u.metadata.requestId};if(u.metadata.runMetadata&&Object.keys(u.metadata.runMetadata).length>0)h["x-mesh-run-metadata"]=JSON.stringify(u.metadata.runMetadata);let _=null;if(!!Mv(i)?.sourceConnectionId)try{_=await kwi(u,i)}catch(D){console.error("[Proxy] repo-scoped legacy token mint failed",{connectionId:f,error:D.message})}else{let D=new Vl(u.db,u.vault),O=await mg({connectionId:f,connectionUrl:i.connection_url,tokenStorage:D});if(O.accessToken)_=O.accessToken;else if(O.state==="expired_without_refresh")console.warn(`[Proxy] Token expired for ${f} with no refresh capability`)}if(!_&&i.connection_token)_=i.connection_token;if(_)h.Authorization=`Bearer ${_}`;if(d)h["x-mesh-token"]=d;return h}var Ag0=g(()=>{Mei();NN();eg();l_();Buu();Ty()});function xg0(i){let u=new kV({command:i.command,args:i.args,env:i.env,cwd:i.cwd,stderr:"pipe"}),t=i.name||i.id,f="\x1B[2m",l="\x1B[0m";return u.stderr?.on("data",(c)=>{let E=c.toString().trimEnd();if(E)console.error(`${E} \x1B[2m[${t}]\x1B[0m`)}),u}var kg0=g(()=>{Bei()});var mBf="mcp.mesh",Rz;var Gg0=g(()=>{e$();MN();eE();Rz=class Rz extends TW{options;constructor(i,u){super(i);this.options=u}toolsListPromise=null;fetchToolsFromServer(){if(!this.toolsListPromise)this.toolsListPromise=new Promise((i)=>{let u=`auth-tools-${Date.now()}`,t=this.innerTransport.onmessage;this.innerTransport.onmessage=(f)=>{if("id"in f&&f.id===u)if(this.innerTransport.onmessage=t,this.toolsListPromise=null,"result"in f){let l=f.result?.tools??null;i(l)}else i(null);else t?.(f)},this.innerTransport.send({jsonrpc:"2.0",id:u,method:"tools/list",params:{}}).catch(()=>{this.innerTransport.onmessage=t,this.toolsListPromise=null,i(null)})});return this.toolsListPromise}async ensureToolsMap(){let i=this.options.cache??A1(),u=await s2("tools",this.options.connection.id,async()=>{let t=await this.fetchToolsFromServer();if(t===null)throw Error("Failed to fetch tools list");return t},i,(t)=>this.options.ctx.pendingRevalidations.push(t),o2);if(!u)return new Map;return new Map(u.map((t)=>[t.name,t]))}async handleOutgoingMessage(i){if(!this.isRequest(i))return this.innerTransport.send(i);let u=i;if(u.method==="tools/call")await this.authorizeToolCall(u),this.stripMetaFromArguments(u);return this.innerTransport.send(i)}async authorizeToolCall(i){if(this.options.superUser)return;let t=i.params.name,{ctx:f,connection:l}=this.options;if(await this.isPublicTool(t))return;if(!f.auth.user?.id&&!f.auth.apiKey?.id)throw Error("Authentication required. Please provide a valid OAuth token or API key.");let c=async()=>{return(await this.ensureToolsMap()).get(t)?._meta};await new CN(f.auth.user?.id??f.auth.apiKey?.userId,t,f.boundAuth,f.organization?.role??f.auth.user?.role,l.id,c,f.organization?.id).check(t)}async isPublicTool(i){if(i.startsWith("MESH_PUBLIC_"))return!0;let t=(await this.ensureToolsMap()).get(i);if(!t?._meta)return!1;return t._meta[mBf]?.public_tool===!0}stripMetaFromArguments(i){let u=i.params;if(u.arguments&&"_meta"in u.arguments){let{_meta:t,...f}=u.arguments;u.arguments=f}}}});class Uuu{redact(i){if(i===null||i===void 0)return i;if(typeof i==="string")return this.redactString(i);if(Array.isArray(i))return i.map((u)=>this.redact(u));if(typeof i==="object"){let u={};for(let[t,f]of Object.entries(i)){let l=this.redactString(t);u[l]=this.redact(f)}return u}return i}redactString(i){return i.replace(aBf,(u,...t)=>{let f=t[t.length-1];if(f){for(let l of eBf)if(f[l]!=null)return`[REDACTED:${l}]`}return u})}}var eBf,aBf;var Sg0=g(()=>{eBf=["jwt","api_key","email","credit_card","ssn"],aBf=new RegExp(["(?<jwt>eyJ[A-Za-z0-9-_]+\\.eyJ[A-Za-z0-9-_]+\\.[A-Za-z0-9-_.+/=]*)",`(?<api_key>(?:api[_-]?key|token|secret|password|bearer)\\s*[:=]\\s*['"]?[\\w-]{16,}['"]?)`,"(?<email>[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,})","(?<credit_card>\\b\\d{4}[- ]?\\d{4}[- ]?\\d{4}[- ]?\\d{4}\\b)","(?<ssn>\\b\\d{3}-\\d{2}-\\d{4}\\b)"].join("|"),"gi")});import{SeverityNumber as jg0}from"@opentelemetry/api-logs";function Qe(i,u){try{if(!i.organizationId)return;let t=Iuu.redactString(wL(JSON.stringify(i.toolArguments??{}))),f=Iuu.redactString(wL(JSON.stringify(i.result??{}))),l=i.errorMessage?Iuu.redactString(wL(i.errorMessage)):"";fHu().emit({severityNumber:i.isError?jg0.ERROR:jg0.INFO,severityText:i.isError?"ERROR":"INFO",body:i.toolName,attributes:{[Uf.TYPE]:i.type??SC,[Uf.ORGANIZATION_ID]:i.organizationId,[Uf.CONNECTION_ID]:i.connectionId,[Uf.CONNECTION_TITLE]:"",[Uf.TOOL_NAME]:i.toolName,[Uf.INPUT]:t,[Uf.OUTPUT]:f,[Uf.IS_ERROR]:i.isError,[Uf.ERROR_MESSAGE]:l,[Uf.DURATION_MS]:i.duration,[Uf.USER_ID]:i.userId||"",[Uf.REQUEST_ID]:i.requestId,[Uf.USER_AGENT]:i.userAgent||"",[Uf.VIRTUAL_MCP_ID]:i.virtualMcpId||"",[Uf.PROPERTIES]:i.properties?JSON.stringify(i.properties):""},context:u})}catch{}}var Iuu;var Gwi=g(()=>{uzi();Sg0();L$();izi();Iuu=new Uuu});function Puu(i){let{ctx:u,organizationId:t,connectionId:f,toolName:l,durationMs:c,isError:E}=i;if(!t||!f||!l)return;let d={"tool.name":l,"organization.id":t,"connection.id":f,status:E?"error":"success","error.type":E?i.errorType||"Error":""};u.meter.createHistogram("tool.execution.duration",{description:"Duration of tool executions in milliseconds",unit:"ms"}).record(c,d),u.meter.createCounter("tool.execution.count",{description:"Number of tool executions"}).add(1,d)}import{trace as qQl,context as VQl}from"@opentelemetry/api";function Kg0(i){if(!i.isError)return;let u=i.content;if(!Array.isArray(u))return;for(let t of u)if(t&&typeof t==="object"&&"type"in t&&t.type==="text"&&"text"in t&&typeof t.text==="string")return t.text;return}function Jg0(i){if(!i)return;let u=i._meta;if(!u||typeof u!=="object"||Array.isArray(u))return;let t=u.properties;if(!t||typeof t!=="object"||Array.isArray(t))return;let f={};for(let[l,c]of Object.entries(t))if(typeof c==="string")f[l]=c;return Object.keys(f).length>0?f:void 0}function Xg0(i,u){if(!i&&!u)return;if(!i)return u;if(!u)return i;return{...u,...i}}var Lg0=g(()=>{ff();Gwi();L$()});import{trace as oBf,context as Wg0}from"@opentelemetry/api";var Cz;var Yg0=g(()=>{eE();Gwi();Lg0();Cz=class Cz extends TW{options;inflightRequests=new Map;requestContext;constructor(i,u){super(i);this.options=u;this.requestContext=Wg0.active()}async handleOutgoingMessage(i){if(this.isRequest(i)){let u=i;this.onRequestStart(u)}return this.innerTransport.send(i)}handleIncomingMessage(i){if(this.isResponse(i)){let u=i;this.onResponseEnd(u)}this.onmessage?.(i)}onRequestStart(i){let{ctx:u,connectionId:t}=this.options,f,l;if(i.method==="tools/call"&&i.params){let E=i.params;f=E.name,l=E.arguments}let c;if(i.method==="tools/call"&&f)c=u.tracer.startSpan("mcp.proxy.callTool",{attributes:{"connection.id":t,"tool.name":f,"request.id":u.metadata.requestId,"jsonrpc.id":i.id,"jsonrpc.method":i.method}},this.requestContext);if(i.id!==null&&i.id!==void 0)this.inflightRequests.set(i.id,{startTime:Date.now(),method:i.method,toolName:f,toolArguments:l,span:c})}onResponseEnd(i){if(i.id===null||i.id===void 0)return;let u=this.inflightRequests.get(i.id);if(!u)return;let{ctx:t,connectionId:f}=this.options,{startTime:l,method:c,toolName:E,toolArguments:d,span:$}=u,w=Date.now()-l;if(this.inflightRequests.delete(i.id),c!=="tools/call"||!E)return;let h=t.organization?.id??"",_="error"in i,v=_?i.error:i.result,n=_?{content:[{type:"text",text:i.error?.message||"Unknown error"}],isError:!0}:v,D=_||n?.isError===!0,O=_?i.error?.message:void 0,N=Kg0(n)||null;if(t.meter.createHistogram("connection.proxy.duration").record(w,{"connection.id":f,"organization.id":h,"tool.name":E,status:D?"error":"success"}),D)t.meter.createCounter("connection.proxy.errors").add(1,{"connection.id":f,"organization.id":h,"tool.name":E,error:O??N??void 0});else t.meter.createCounter("connection.proxy.requests").add(1,{"connection.id":f,"organization.id":h,"tool.name":E,status:"success"});if(h)Puu({ctx:t,organizationId:h,connectionId:f,toolName:E,durationMs:w,isError:D,errorType:_?"RemoteError":D?"ToolError":""});if($){if(D)$.recordException(Error(O??N??"Tool error"));let y=Jg0(d),Z=Xg0(t.metadata.properties,y),T=oBf.setSpan(Wg0.active(),$);Qe({organizationId:t.organization?.id??"",connectionId:f,toolName:E,toolArguments:d,result:n,duration:w,isError:D,errorMessage:N,userId:t.auth.user?.id||t.auth.apiKey?.userId||null,requestId:t.metadata.requestId,userAgent:t.metadata.userAgent||null,virtualMcpId:this.options.virtualMcpId||null,properties:Z||null},T),$.end()}}async close(){for(let i of this.inflightRequests.values())if(i.span)i.span.setAttributes({"transport.closed":!0}),i.span.end();return this.inflightRequests.clear(),super.close()}}});var zg0=g(()=>{eE();Gg0();Yg0()});async function Qg0(i,u,t=!1){let f=i.id,l=u.connectionId&&u.connectionId!==f?u.connectionId:void 0;switch(i.connection_type){case"STDIO":{if(!Zu().localMode)throw Error("STDIO connections are only available in local mode (--local-mode).");let c=i.connection_headers;if(!Ov(c))throw Error("STDIO connection missing parameters");let E=xg0({id:f,name:i.title,command:c.command,args:c.args,env:c.envVars,cwd:c.cwd});return E=BW(E,(d)=>new Rz(d,{ctx:u,connection:i,superUser:t}),(d)=>new Cz(d,{ctx:u,connectionId:f,virtualMcpId:l})),sBf(E,f)}case"HTTP":case"Websocket":{if(!i.connection_url)throw Error(`${i.connection_type} connection missing URL`);let c=await Fuu(i,u,t),E=i.connection_headers;if(E&&"headers"in E)Object.assign(c,E.headers);let d=new Kh(new URL(i.connection_url),{requestInit:{headers:c}});return d=BW(d,($)=>new Rz($,{ctx:u,connection:i,superUser:t}),($)=>new Cz($,{ctx:u,connectionId:f,virtualMcpId:l})),u.getOrCreateClient(d,f)}case"SSE":{if(!i.connection_url)throw Error("SSE connection missing URL");let c=await Fuu(i,u,t),E=i.connection_headers;if(E&&"headers"in E)Object.assign(c,E.headers);let d=new Mn(new URL(i.connection_url),{requestInit:{headers:c}});return d=BW(d,($)=>new Rz($,{ctx:u,connection:i,superUser:t}),($)=>new Cz($,{ctx:u,connectionId:f,virtualMcpId:l})),u.getOrCreateClient(d,f)}default:throw Error(`Unknown connection type: ${i.connection_type}`)}}var sBf;var Hg0=g(()=>{Zt();Tv();xV();pO();Ag0();gsi();kg0();zg0();sBf=c$i()});function B3(i){return i.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}function He(i){if(i&&typeof i==="object"&&"gatewayClientId"in i&&typeof i.gatewayClientId==="string")return i.gatewayClientId;return}function be(i,u){if(!u)return i;let t=`${B3(u)}_`;return i.startsWith(t)?i.slice(t.length):i}function pBf(i){return i.split(/[-_]/).map((u)=>u?u.charAt(0).toUpperCase()+u.slice(1):u).join(" ")}var Swi;var bg0=g(()=>{jh();Swi=class Swi extends I1{clients;slugToKey=new Map;resolvedClients=new Map;toolsCache=null;resourcesCache=null;resourceTemplatesCache=null;promptsCache=null;resourceRouteMap=new Map;constructor(i,u){super(u?.clientInfo??{name:"gateway-client",version:"1.0.0"},{capabilities:u?.capabilities});this.clients=i;for(let t of Object.keys(i)){let f=B3(t);if(this.slugToKey.has(f))throw Error(`GatewayClient: duplicate slug "${f}" from keys "${this.slugToKey.get(f)}" and "${t}"`);this.slugToKey.set(f,t)}}namespace(i,u){return`${B3(i)}_${u}`}async resolveToolTarget(i){let u=i.indexOf("_");if(u!==-1){let f=i.slice(0,u),l=this.slugToKey.get(f);if(l)return[l,i.slice(u+1)]}let{tools:t}=await this.listTools();for(let f of t){let l=He(f._meta);if(!l)continue;if(be(f.name,l)===i)return[l,i]}if(u===-1)throw Error(`GatewayClient: could not resolve tool "${i}" \u2014 no namespace prefix and not found in any client`);throw Error(`GatewayClient: unknown namespace "${i.slice(0,u)}" in "${i}" and not found by original name in any client`)}async resolvePromptTarget(i){let u=i.indexOf("_");if(u!==-1){let f=i.slice(0,u),l=this.slugToKey.get(f);if(l)return[l,i.slice(u+1)]}let{prompts:t}=await this.listPrompts();for(let f of t){let l=He(f._meta);if(!l)continue;if(be(f.name,l)===i)return[l,i]}if(u===-1)throw Error(`GatewayClient: could not resolve prompt "${i}" \u2014 no namespace prefix and not found in any client`);throw Error(`GatewayClient: unknown namespace "${i.slice(0,u)}" in "${i}" and not found by original name in any client`)}resolveClient(i){let u=this.resolvedClients.get(i);if(u)return u;let t=this.clients[i];if(!t)return Promise.reject(Error(`GatewayClient: unknown client key "${i}"`));let f=t.client,c=(typeof f==="function"?Promise.resolve(f()):Promise.resolve(f)).catch((E)=>{throw this.resolvedClients.delete(i),E});return this.resolvedClients.set(i,c),c}getResolvedClient(i){return this.resolveClient(i)}async fetchAllTools(i){let u=[],t;do{let f=await i.listTools(t?{cursor:t}:void 0);u.push(...f.tools),t=f.nextCursor}while(t);return u}async fetchAllResources(i){let u=[],t;do{let f=await i.listResources(t?{cursor:t}:void 0);u.push(...f.resources),t=f.nextCursor}while(t);return u}async fetchAllResourceTemplates(i){let u=[],t;do{let f=await i.listResourceTemplates(t?{cursor:t}:void 0);u.push(...f.resourceTemplates),t=f.nextCursor}while(t);return u}async fetchAllPrompts(i){let u=[],t;do{let f=await i.listPrompts(t?{cursor:t}:void 0);u.push(...f.prompts),t=f.nextCursor}while(t);return u}listTools(i,u){if(!this.toolsCache)this.toolsCache=this.aggregateTools();return this.toolsCache}async aggregateTools(){let i=[];for(let[u,t]of Object.entries(this.clients)){let f=await this.resolveClient(u),l=await this.fetchAllTools(f),c=t.tools,E=c?new Set(c):null;for(let d of l){if(E&&!E.has(d.name))continue;i.push({...d,name:this.namespace(u,d.name),_meta:{...d._meta??{},gatewayClientId:u}})}}return{tools:i}}listResources(i,u){if(!this.resourcesCache)this.resourcesCache=this.aggregateResources();return this.resourcesCache}async aggregateResources(){let i=new Set,u=[],t=new Map;for(let[f,l]of Object.entries(this.clients)){let c=await this.resolveClient(f),E=await this.fetchAllResources(c),d=l.resources,$=d?new Set(d):null;for(let w of E){if($&&!$.has(w.uri)&&!(w.name&&$.has(w.name)))continue;if(i.has(w.uri)){console.warn(`GatewayClient: duplicate resource "${w.uri}" from client "${f}" \u2014 skipping`);continue}i.add(w.uri),t.set(w.uri,f),u.push({...w,_meta:{...w._meta??{},gatewayClientId:f}})}}return this.resourceRouteMap=t,{resources:u}}listResourceTemplates(i,u){if(!this.resourceTemplatesCache)this.resourceTemplatesCache=this.aggregateResourceTemplates();return this.resourceTemplatesCache}async aggregateResourceTemplates(){let i=new Set,u=[];for(let[t,f]of Object.entries(this.clients)){let l=await this.resolveClient(t),c=await this.fetchAllResourceTemplates(l);for(let E of c){if(i.has(E.uriTemplate)){console.warn(`GatewayClient: duplicate resource template "${E.uriTemplate}" from client "${t}" \u2014 skipping`);continue}i.add(E.uriTemplate),u.push({...E,_meta:{...E._meta??{},gatewayClientId:t}})}}return{resourceTemplates:u}}listPrompts(i,u){if(!this.promptsCache)this.promptsCache=this.aggregatePrompts();return this.promptsCache}async aggregatePrompts(){let i=[];for(let[u,t]of Object.entries(this.clients)){let f=await this.resolveClient(u),l=await this.fetchAllPrompts(f),c=t.prompts,E=c?new Set(c):null;for(let d of l){if(E&&!E.has(d.name))continue;i.push({...d,name:this.namespace(u,d.name),title:d.title??pBf(d.name),_meta:{...d._meta??{},gatewayClientId:u}})}}return{prompts:i}}async callTool(i,u,t){let[f,l]=await this.resolveToolTarget(i.name);return(await this.resolveClient(f)).callTool({...i,name:l},u,t)}async readResource(i,u){let t=await this.resolveResourceRoute(i.uri);return(await this.resolveClient(t)).readResource(i)}async getPrompt(i,u){let[t,f]=await this.resolvePromptTarget(i.name);return(await this.resolveClient(t)).getPrompt({...i,name:f})}async resolveResourceRoute(i){let u=this.resourceRouteMap.get(i);if(u)return u;if(this.resourcesCache=null,await this.listResources(),u=this.resourceRouteMap.get(i),u)return u;throw Error(`GatewayClient: resource "${i}" not found in any upstream client`)}getServerCapabilities(){return{tools:{},resources:{},prompts:{}}}getInstructions(){return}refresh(){this.toolsCache=null,this.resourcesCache=null,this.resourceTemplatesCache=null,this.promptsCache=null}async close(){let i=[...this.resolvedClients.values()].map((u)=>u.then((t)=>t.close()).catch(()=>{}));await Promise.allSettled(i),await super.close()}}});var jwi=g(()=>{bg0()});function Auu(i){return B3(i)}function iFf(i,u){let t=B3(u)||"prompt";return`${i}-${t}`}async function xuu(i,u,t){try{await i.delete(Kwi,Auu(u),{actor:t})}catch(f){console.error("[agent-prompts] failed to delete prompts",{agentId:u,err:f})}}async function Jwi(i,u,t,f){let l=Auu(u);await xuu(i,u,t),await Promise.all(f.slice(0,Rg0).map(async(c,E)=>{let d=iFf(E,c.title),$={name:d,title:c.title,description:c.description,text:c.text};try{await i.write(Kwi,`${l}/${d}.json`,JSON.stringify($),{actor:t,contentType:"application/json"})}catch(w){console.error("[agent-prompts] failed to seed prompt",{agentId:u,name:d,err:w})}}))}async function Cg0(i,u){let t=Auu(u),f;try{f=await i.listDir(Kwi,t)}catch{return[]}let l=f.filter((E)=>E.kind==="file"&&E.path.endsWith(".json")).slice(0,Rg0),c=[];for(let E of l)try{let d=await i.read(Kwi,E.path),$=JSON.parse(new TextDecoder().decode(d));if($&&typeof $.name==="string"&&typeof $.title==="string"&&typeof $.text==="string")c.push($)}catch{}return c}var Kwi="agent-prompts",Rg0=20;var Re=g(()=>{jwi()});var By="home";var Xwi=()=>{};function Fy(i,u){let t;if(i==="home")t=`org/${By}`;else if(i==="outputs")t=`org/${Mg0}`;else if(i==="uploads")t=`org/${qg0}`;else if(QO(i))t=`org/public/${i.slice(7)}`;else t=`org/${i}`;return u?`${t}/${u}`:t}function tFf(i){return{baseUrl:i.baseUrl.replace(/\/+$/,""),orgSlug:i.orgSlug,token:i.token,mounts:[{volume:"home",path:By},...uFf.map((u)=>({...u})),...(i.publicSets??[]).map((u)=>({volume:g2(u),path:`public/${u}`,readonly:!0}))]}}async function Lwi(i,u){try{let t=await i.boundAuth.apiKey.create({name:`orgfs-${u.orgSlug}`,permissions:{self:["*"]},expiresIn:fFf,metadata:{organization:{id:u.orgId,slug:u.orgSlug}}});return JSON.stringify(tFf({baseUrl:u.baseUrl,orgSlug:u.orgSlug,token:t.key,publicSets:aw().map((f)=>f.set)}))}catch(t){console.warn("[org-fs] token mint failed; mounts disabled for this sandbox",t);return}}var Mg0=".outputs",qg0=".uploads",uFf,fFf=604800;var Mz=g(()=>{Xwi();ML();uFf=[{volume:"outputs",path:Mg0},{volume:"uploads",path:qg0}]});function lFf(i){let u=[i.contentType??"file"];if(i.size!=null)u.push(`${i.size} bytes`);return u.join(", ")}function cFf(i){let u=(i??[]).filter((f)=>f.kind!=="skill");if(u.length===0)return null;return["<knowledge>","The following files are attached to you as reference knowledge. They are mounted in your sandbox at the paths below; read them with your file tools when relevant to the task, and treat them as authoritative reference material.","","Attached files:",u.map((f)=>`- ${f.name} (${lFf(f)}), read it at \`${Fy(f.volume,f.path)}\``).join(`
|
|
86373
|
+
${u}:`]}}function T20({id:i,model:u,created:t}){return{id:i!=null?i:void 0,modelId:u!=null?u:void 0,timestamp:t!=null?new Date(t*1000):void 0}}function B20(i){switch(i){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"other"}}function aZf(i){return eZf.some((u)=>i.startsWith(u))}function I20(i,u,t){if(i==null)return{};let f={};if(i.image_tokens!=null){let l=Math.floor(i.image_tokens/t),c=i.image_tokens-l*(t-1);f.imageTokens=u===t-1?c:l}if(i.text_tokens!=null){let l=Math.floor(i.text_tokens/t),c=i.text_tokens-l*(t-1);f.textTokens=u===t-1?c:l}return f}async function iTf(i){if(!i)return;if(i.type==="url")return jsi(i.url);let u=i.data instanceof Uint8Array?i.data:k1(i.data);return new Blob([u],{type:i.mediaType})}function P20(i){var u,t,f,l;if(i==null)return{inputTokens:{total:void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:void 0,text:void 0,reasoning:void 0},raw:void 0};let{input_tokens:c,output_tokens:E}=i,d=(t=(u=i.input_tokens_details)==null?void 0:u.cached_tokens)!=null?t:0,$=(l=(f=i.output_tokens_details)==null?void 0:f.reasoning_tokens)!=null?l:0;return{inputTokens:{total:c,noCache:c-d,cacheRead:d,cacheWrite:void 0},outputTokens:{total:E,text:E-$,reasoning:$},raw:i}}function RTf(i){return JSON.stringify(i===void 0?{}:i)}function A20(i,u){if(!u)return!1;return u.some((t)=>i.startsWith(t))}async function CTf({prompt:i,toolNameMapping:u,systemMessageMode:t,providerOptionsName:f,fileIdPrefixes:l,passThroughUnsupportedFiles:c=!1,store:E,hasConversation:d=!1,hasPreviousResponseId:$=!1,hasLocalShellTool:w=!1,hasShellTool:h=!1,hasApplyPatchTool:_=!1,customProviderToolNames:v}){var n,D,O,N,y,Z,T,B,F,P,S,A,k,M,J,W,m,z,di,wi,li,ii,s;let Di=[],hi=[],xi=new Set;for(let{role:qi,content:Yi}of i)switch(qi){case"system":{switch(t){case"system":{Di.push({role:"system",content:Yi});break}case"developer":{Di.push({role:"developer",content:Yi});break}case"remove":{hi.push({type:"other",message:"system messages are removed for this model"});break}default:throw Error(`Unsupported system message mode: ${t}`)}break}case"user":{Di.push({role:"user",content:Yi.map((mi,Oi)=>{var Xi,Pi,ni;switch(mi.type){case"text":return{type:"input_text",text:mi.text};case"file":{let $i=mi.mediaType==="image/*"?"image/jpeg":mi.mediaType;if($i.startsWith("image/"))return{type:"input_image",...mi.data instanceof URL?{image_url:mi.data.toString()}:typeof mi.data==="string"&&A20(mi.data,l)?{file_id:mi.data}:{image_url:`data:${$i};base64,${Dc(mi.data)}`},detail:(Pi=(Xi=mi.providerOptions)==null?void 0:Xi[f])==null?void 0:Pi.imageDetail};if(mi.data instanceof URL)return{type:"input_file",file_url:mi.data.toString()};if($i!=="application/pdf"&&!c)throw new Zf({functionality:`file part media type ${$i}`});return{type:"input_file",...typeof mi.data==="string"&&A20(mi.data,l)?{file_id:mi.data}:{filename:(ni=mi.filename)!=null?ni:$i==="application/pdf"?`part-${Oi}.pdf`:`part-${Oi}`,file_data:`data:${$i};base64,${Dc(mi.data)}`}}}}})});break}case"assistant":{let mi={};for(let Oi of Yi)switch(Oi.type){case"text":{let Xi=(n=Oi.providerOptions)==null?void 0:n[f],Pi=Xi==null?void 0:Xi.itemId,ni=Xi==null?void 0:Xi.phase;if(d&&Pi!=null)break;if(E&&Pi!=null){Di.push({type:"item_reference",id:Pi});break}Di.push({role:"assistant",content:[{type:"output_text",text:Oi.text}],id:Pi,...ni!=null&&{phase:ni}});break}case"tool-call":{let Xi=(Z=(O=(D=Oi.providerOptions)==null?void 0:D[f])==null?void 0:O.itemId)!=null?Z:(y=(N=Oi.providerMetadata)==null?void 0:N[f])==null?void 0:y.itemId,Pi=(S=(B=(T=Oi.providerOptions)==null?void 0:T[f])==null?void 0:B.namespace)!=null?S:(P=(F=Oi.providerMetadata)==null?void 0:F[f])==null?void 0:P.namespace;if(d&&Xi!=null)break;let ni=u.toProviderToolName(Oi.toolName);if(ni==="tool_search"){if(E&&Xi!=null){Di.push({type:"item_reference",id:Xi});break}let ci=typeof Oi.input==="string"?await Xsi({text:Oi.input,schema:luu}):await M0({value:Oi.input,schema:luu}),ji=ci.call_id!=null?"client":"server";Di.push({type:"tool_search_call",id:Xi!=null?Xi:Oi.toolCallId,execution:ji,call_id:(A=ci.call_id)!=null?A:null,status:"completed",arguments:ci.arguments});break}if(Oi.providerExecuted){if(E&&Xi!=null)Di.push({type:"item_reference",id:Xi});break}if($&&E&&Xi!=null)break;let $i=w&&ni==="local_shell"||h&&ni==="shell"||_&&ni==="apply_patch"||((k=v==null?void 0:v.has(ni))!=null?k:!1);if(E&&Xi!=null&&$i){Di.push({type:"item_reference",id:Xi});break}if(w&&ni==="local_shell"){let ci=await M0({value:Oi.input,schema:Y20});Di.push({type:"local_shell_call",call_id:Oi.toolCallId,id:Xi,action:{type:"exec",command:ci.action.command,timeout_ms:ci.action.timeoutMs,user:ci.action.user,working_directory:ci.action.workingDirectory,env:ci.action.env}});break}if(h&&ni==="shell"){let ci=await M0({value:Oi.input,schema:Q20});Di.push({type:"shell_call",call_id:Oi.toolCallId,id:Xi,status:"completed",action:{commands:ci.action.commands,timeout_ms:ci.action.timeoutMs,max_output_length:ci.action.maxOutputLength}});break}if(_&&ni==="apply_patch"){let ci=await M0({value:Oi.input,schema:J20});Di.push({type:"apply_patch_call",call_id:ci.callId,id:Xi,status:"completed",operation:ci.operation});break}if(v==null?void 0:v.has(ni)){Di.push({type:"custom_tool_call",call_id:Oi.toolCallId,name:ni,input:typeof Oi.input==="string"?Oi.input:JSON.stringify(Oi.input),id:Xi});break}Di.push({type:"function_call",call_id:Oi.toolCallId,name:ni,arguments:RTf(Oi.input),...Pi!=null&&{namespace:Pi}});break}case"tool-result":{if(Oi.output.type==="execution-denied"||Oi.output.type==="json"&&typeof Oi.output.value==="object"&&Oi.output.value!=null&&"type"in Oi.output.value&&Oi.output.value.type==="execution-denied")break;if(d)break;let Xi=u.toProviderToolName(Oi.toolName);if(Xi==="tool_search"){let Pi=(W=(J=(M=Oi.providerOptions)==null?void 0:M[f])==null?void 0:J.itemId)!=null?W:Oi.toolCallId;if(E)Di.push({type:"item_reference",id:Pi});else if(Oi.output.type==="json"){let ni=await M0({value:Oi.output.value,schema:cuu});Di.push({type:"tool_search_output",id:Pi,execution:"server",call_id:null,status:"completed",tools:ni.tools})}break}if(h&&Xi==="shell"){if(Oi.output.type==="json"){let Pi=await M0({value:Oi.output.value,schema:fuu});Di.push({type:"shell_call_output",call_id:Oi.toolCallId,output:Pi.output.map((ni)=>({stdout:ni.stdout,stderr:ni.stderr,outcome:ni.outcome.type==="timeout"?{type:"timeout"}:{type:"exit",exit_code:ni.outcome.exitCode}}))})}break}if(E){let Pi=(di=(z=(m=Oi.providerOptions)==null?void 0:m[f])==null?void 0:z.itemId)!=null?di:Oi.toolCallId;Di.push({type:"item_reference",id:Pi})}else hi.push({type:"other",message:`Results for OpenAI tool ${Oi.toolName} are not sent to the API when store is false`});break}case"reasoning":{let Xi=await kt({provider:f,providerOptions:Oi.providerOptions,schema:MTf}),Pi=Xi==null?void 0:Xi.itemId;if((d||$)&&Pi!=null)break;if(Pi!=null){let ni=mi[Pi];if(E){if(ni===void 0)Di.push({type:"item_reference",id:Pi}),mi[Pi]={type:"reasoning",id:Pi,summary:[]}}else{let $i=[];if(Oi.text.length>0)$i.push({type:"summary_text",text:Oi.text});else if(ni!==void 0)hi.push({type:"other",message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(Oi)}.`});if(ni===void 0)mi[Pi]={type:"reasoning",id:Pi,encrypted_content:Xi==null?void 0:Xi.reasoningEncryptedContent,summary:$i},Di.push(mi[Pi]);else if(ni.summary.push(...$i),(Xi==null?void 0:Xi.reasoningEncryptedContent)!=null)ni.encrypted_content=Xi.reasoningEncryptedContent}}else{let ni=Xi==null?void 0:Xi.reasoningEncryptedContent;if(ni!=null){let $i=[];if(Oi.text.length>0)$i.push({type:"summary_text",text:Oi.text});Di.push({type:"reasoning",encrypted_content:ni,summary:$i})}else hi.push({type:"other",message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(Oi)}.`})}break}}break}case"tool":{for(let mi of Yi){if(mi.type==="tool-approval-response"){let ni=mi;if(xi.has(ni.approvalId))continue;if(xi.add(ni.approvalId),E)Di.push({type:"item_reference",id:ni.approvalId});Di.push({type:"mcp_approval_response",approval_request_id:ni.approvalId,approve:ni.approved});continue}let Oi=mi.output;if(Oi.type==="execution-denied"){if((li=(wi=Oi.providerOptions)==null?void 0:wi.openai)==null?void 0:li.approvalId)continue}let Xi=u.toProviderToolName(mi.toolName);if(Xi==="tool_search"&&Oi.type==="json"){let ni=await M0({value:Oi.value,schema:cuu});Di.push({type:"tool_search_output",execution:"client",call_id:mi.toolCallId,status:"completed",tools:ni.tools});continue}if(w&&Xi==="local_shell"&&Oi.type==="json"){let ni=await M0({value:Oi.value,schema:z20});Di.push({type:"local_shell_call_output",call_id:mi.toolCallId,output:ni.output});continue}if(h&&Xi==="shell"&&Oi.type==="json"){let ni=await M0({value:Oi.value,schema:fuu});Di.push({type:"shell_call_output",call_id:mi.toolCallId,output:ni.output.map(($i)=>({stdout:$i.stdout,stderr:$i.stderr,outcome:$i.outcome.type==="timeout"?{type:"timeout"}:{type:"exit",exit_code:$i.outcome.exitCode}}))});continue}if(_&&mi.toolName==="apply_patch"&&Oi.type==="json"){let ni=await M0({value:Oi.value,schema:X20});Di.push({type:"apply_patch_call_output",call_id:mi.toolCallId,status:ni.status,output:ni.output});continue}if(v==null?void 0:v.has(Xi)){let ni;switch(Oi.type){case"text":case"error-text":ni=Oi.value;break;case"execution-denied":ni=(ii=Oi.reason)!=null?ii:"Tool execution denied.";break;case"json":case"error-json":ni=JSON.stringify(Oi.value);break;case"content":ni=Oi.value.map(($i)=>{var ci,ji,e,ti,ai;switch($i.type){case"text":return{type:"input_text",text:$i.text};case"image-data":return{type:"input_image",image_url:`data:${$i.mediaType};base64,${$i.data}`,detail:(ji=(ci=$i.providerOptions)==null?void 0:ci[f])==null?void 0:ji.imageDetail};case"image-url":return{type:"input_image",image_url:$i.url,detail:(ti=(e=$i.providerOptions)==null?void 0:e[f])==null?void 0:ti.imageDetail};case"file-data":return{type:"input_file",filename:(ai=$i.filename)!=null?ai:"data",file_data:`data:${$i.mediaType};base64,${$i.data}`};case"file-url":return{type:"input_file",file_url:$i.url};default:hi.push({type:"other",message:`unsupported custom tool content part type: ${$i.type}`});return}}).filter(rN);break;default:ni=""}Di.push({type:"custom_tool_call_output",call_id:mi.toolCallId,output:ni});continue}let Pi;switch(Oi.type){case"text":case"error-text":Pi=Oi.value;break;case"execution-denied":Pi=(s=Oi.reason)!=null?s:"Tool execution denied.";break;case"json":case"error-json":Pi=JSON.stringify(Oi.value);break;case"content":Pi=Oi.value.map((ni)=>{var $i,ci,ji,e,ti;switch(ni.type){case"text":return{type:"input_text",text:ni.text};case"image-data":return{type:"input_image",image_url:`data:${ni.mediaType};base64,${ni.data}`,detail:(ci=($i=ni.providerOptions)==null?void 0:$i[f])==null?void 0:ci.imageDetail};case"image-url":return{type:"input_image",image_url:ni.url,detail:(e=(ji=ni.providerOptions)==null?void 0:ji[f])==null?void 0:e.imageDetail};case"file-data":return{type:"input_file",filename:(ti=ni.filename)!=null?ti:"data",file_data:`data:${ni.mediaType};base64,${ni.data}`};case"file-url":return{type:"input_file",file_url:ni.url};default:{hi.push({type:"other",message:`unsupported tool content part type: ${ni.type}`});return}}}).filter(rN);break}Di.push({type:"function_call_output",call_id:mi.toolCallId,output:Pi})}break}default:throw Error(`Unsupported role: ${qi}`)}if(!E&&Di.some((qi)=>("type"in qi)&&qi.type==="reasoning"&&qi.encrypted_content==null))hi.push({type:"other",message:"Reasoning parts without encrypted content are not supported when store is false. Skipping reasoning parts."}),Di=Di.filter((qi)=>!("type"in qi)||qi.type!=="reasoning"||qi.encrypted_content!=null);return{input:Di,warnings:hi}}function uuu({finishReason:i,hasFunctionCall:u}){switch(i){case void 0:case null:return u?"tool-calls":"stop";case"max_output_tokens":return"length";case"content_filter":return"content-filter";default:return u?"tool-calls":"other"}}async function mTf({tools:i,toolChoice:u,allowedTools:t,toolNameMapping:f,customProviderToolNames:l}){var c,E,d;i=(i==null?void 0:i.length)?i:void 0;let $=[];if(i==null)return{tools:void 0,toolChoice:void 0,toolWarnings:$};let w=[],h=new Map,_=l!=null?l:new Set;for(let n of i)switch(n.type){case"function":{let D=(c=n.providerOptions)==null?void 0:c.openai,O=eTf({tool:n,options:D}),N=D==null?void 0:D.namespace;if(N==null)w.push(O);else{let y=h.get(N.name);if(y==null)y={type:"namespace",name:N.name,description:N.description,tools:[]},h.set(N.name,y),w.push(y);else if(y.description!==N.description)throw new Zf({functionality:`conflicting descriptions for OpenAI tool namespace "${N.name}"`});y.tools.push(O)}break}case"provider":{switch(n.id){case"openai.file_search":{let D=await M0({value:n.args,schema:vTf});w.push({type:"file_search",vector_store_ids:D.vectorStoreIds,max_num_results:D.maxNumResults,ranking_options:D.ranking?{ranker:D.ranking.ranker,score_threshold:D.ranking.scoreThreshold}:void 0,filters:D.filters});break}case"openai.local_shell":{w.push({type:"local_shell"});break}case"openai.shell":{let D=await M0({value:n.args,schema:FTf});w.push({type:"shell",...D.environment&&{environment:aTf(D.environment)}});break}case"openai.apply_patch":{w.push({type:"apply_patch"});break}case"openai.web_search_preview":{let D=await M0({value:n.args,schema:KTf});w.push({type:"web_search_preview",search_context_size:D.searchContextSize,user_location:D.userLocation});break}case"openai.web_search":{let D=await M0({value:n.args,schema:xTf});w.push({type:"web_search",filters:D.filters!=null?{allowed_domains:D.filters.allowedDomains}:void 0,external_web_access:D.externalWebAccess,search_context_size:D.searchContextSize,user_location:D.userLocation});break}case"openai.code_interpreter":{let D=await M0({value:n.args,schema:cTf});w.push({type:"code_interpreter",container:D.container==null?{type:"auto",file_ids:void 0}:typeof D.container==="string"?D.container:{type:"auto",file_ids:D.container.fileIds}});break}case"openai.image_generation":{let D=await M0({value:n.args,schema:gTf});w.push({type:"image_generation",background:D.background,input_fidelity:D.inputFidelity,input_image_mask:D.inputImageMask?{file_id:D.inputImageMask.fileId,image_url:D.inputImageMask.imageUrl}:void 0,model:D.model,moderation:D.moderation,partial_images:D.partialImages,quality:D.quality,output_compression:D.outputCompression,output_format:D.outputFormat,size:D.size});break}case"openai.mcp":{let D=await M0({value:n.args,schema:WTf}),O=(Z)=>({tool_names:Z.toolNames}),N=D.requireApproval,y=N==null?void 0:typeof N==="string"?N:N.never!=null?{never:O(N.never)}:void 0;w.push({type:"mcp",server_label:D.serverLabel,allowed_tools:Array.isArray(D.allowedTools)?D.allowedTools:D.allowedTools?{read_only:D.allowedTools.readOnly,tool_names:D.allowedTools.toolNames}:void 0,authorization:D.authorization,connector_id:D.connectorId,headers:D.headers,require_approval:y!=null?y:"never",server_description:D.serverDescription,server_url:D.serverUrl});break}case"openai.custom":{let D=await M0({value:n.args,schema:$Tf});w.push({type:"custom",name:D.name,description:D.description,format:D.format}),_.add(D.name);break}case"openai.tool_search":{let D=await M0({value:n.args,schema:ITf});w.push({type:"tool_search",...D.execution!=null?{execution:D.execution}:{},...D.description!=null?{description:D.description}:{},...D.parameters!=null?{parameters:D.parameters}:{}});break}}break}default:$.push({type:"unsupported",feature:`function tool ${n}`});break}if(t!=null)return{tools:w,toolChoice:{type:"allowed_tools",mode:(E=t.mode)!=null?E:"auto",tools:t.toolNames.map((n)=>{var D;return{type:"function",name:(D=f==null?void 0:f.toProviderToolName(n))!=null?D:n}})},toolWarnings:$};if(u==null)return{tools:w,toolChoice:void 0,toolWarnings:$};let v=u.type;switch(v){case"auto":case"none":case"required":return{tools:w,toolChoice:v,toolWarnings:$};case"tool":{let n=(d=f==null?void 0:f.toProviderToolName(u.toolName))!=null?d:u.toolName;return{tools:w,toolChoice:n==="code_interpreter"||n==="file_search"||n==="image_generation"||n==="web_search_preview"||n==="web_search"||n==="mcp"||n==="apply_patch"?{type:n}:_.has(n)?{type:"custom",name:n}:{type:"function",name:n},toolWarnings:$}}default:throw new Zf({functionality:`tool choice type: ${v}`})}}function eTf({tool:i,options:u}){let t=u==null?void 0:u.deferLoading;return{type:"function",name:i.name,description:i.description,parameters:i.inputSchema,...i.strict!=null?{strict:i.strict}:{},...t!=null?{defer_loading:t}:{}}}function aTf(i){if(i.type==="containerReference")return{type:"container_reference",container_id:i.containerId};if(i.type==="containerAuto"){let t=i;return{type:"container_auto",file_ids:t.fileIds,memory_limit:t.memoryLimit,network_policy:t.networkPolicy==null?void 0:t.networkPolicy.type==="disabled"?{type:"disabled"}:{type:"allowlist",allowed_domains:t.networkPolicy.allowedDomains,domain_secrets:t.networkPolicy.domainSecrets},skills:oTf(t.skills)}}return{type:"local",skills:i.skills}}function oTf(i){return i==null?void 0:i.map((u)=>u.type==="skillReference"?{type:"skill_reference",skill_id:u.skillId,version:u.version}:{type:"inline",name:u.name,description:u.description,source:{type:"base64",media_type:u.source.mediaType,data:u.source.data}})}function k20(i){var u,t;let f={};for(let l of i){if(l.role!=="assistant")continue;for(let c of l.content){if(c.type!=="tool-call")continue;let E=(t=(u=c.providerOptions)==null?void 0:u.openai)==null?void 0:t.approvalRequestId;if(E!=null)f[E]=c.toolCallId}}return f}function pTf(i){return i.type==="response.output_text.delta"}function iBf(i){return i.type==="response.output_item.done"}function uBf(i){return i.type==="response.completed"||i.type==="response.incomplete"}function tBf(i){return i.type==="response.failed"}function fBf(i){return i.type==="response.created"}function lBf(i){return i.type==="response.function_call_arguments.delta"}function cBf(i){return i.type==="response.custom_tool_call_input.delta"}function EBf(i){return i.type==="response.image_generation_call.partial_image"}function dBf(i){return i.type==="response.code_interpreter_call_code.delta"}function $Bf(i){return i.type==="response.code_interpreter_call_code.done"}function wBf(i){return i.type==="response.apply_patch_call_operation_diff.delta"}function hBf(i){return i.type==="response.apply_patch_call_operation_diff.done"}function G20(i){return i.type==="response.output_item.added"}function _Bf(i){return i.type==="response.output_text.annotation.added"}function vBf(i){return i.type==="error"}function S20(i){var u;if(i==null)return{};switch(i.type){case"search":return{action:{type:"search",query:(u=i.query)!=null?u:void 0,...i.queries!=null&&{queries:i.queries}},...i.sources!=null&&{sources:i.sources}};case"open_page":return{action:{type:"openPage",url:i.url}};case"find_in_page":return{action:{type:"findInPage",url:i.url,pattern:i.pattern}}}}function yy(i){return JSON.stringify(i).slice(1,-1)}function Zy(i={}){var u,t;let f=(u=Kg(Kv({settingValue:i.baseURL,environmentVariableName:"OPENAI_BASE_URL"})))!=null?u:"https://api.openai.com/v1",l=(t=i.name)!=null?t:"openai",c=()=>f4({Authorization:`Bearer ${hz({apiKey:i.apiKey,environmentVariableName:"OPENAI_API_KEY",description:"OpenAI"})}`,"OpenAI-Organization":i.organization,"OpenAI-Project":i.project,...i.headers},`ai-sdk/openai/${yBf}`),E=(O)=>new HZf(O,{provider:`${l}.chat`,url:({path:N})=>`${f}${N}`,headers:c,fetch:i.fetch}),d=(O)=>new MZf(O,{provider:`${l}.completion`,url:({path:N})=>`${f}${N}`,headers:c,fetch:i.fetch}),$=(O)=>new rZf(O,{provider:`${l}.embedding`,url:({path:N})=>`${f}${N}`,headers:c,fetch:i.fetch}),w=(O)=>new pZf(O,{provider:`${l}.image`,url:({path:N})=>`${f}${N}`,headers:c,fetch:i.fetch}),h=(O)=>new NBf(O,{provider:`${l}.transcription`,url:({path:N})=>`${f}${N}`,headers:c,fetch:i.fetch}),_=(O)=>new DBf(O,{provider:`${l}.speech`,url:({path:N})=>`${f}${N}`,headers:c,fetch:i.fetch}),v=(O)=>{if(new.target)throw Error("The OpenAI model function cannot be called with the new keyword.");return n(O)},n=(O)=>{return new sTf(O,{provider:`${l}.responses`,url:({path:N})=>`${f}${N}`,headers:c,fetch:i.fetch,fileIdPrefixes:["file-"]})},D=function(O){return v(O)};return D.specificationVersion="v3",D.languageModel=v,D.chat=E,D.completion=d,D.responses=n,D.embedding=$,D.embeddingModel=$,D.textEmbedding=$,D.textEmbeddingModel=$,D.image=w,D.imageModel=w,D.transcription=h,D.transcriptionModel=h,D.speech=_,D.speechModel=_,D.tools=bTf,D}var duu,f_,WZf,YZf,zZf,HZf=class{constructor(i,u){this.specificationVersion="v3",this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=i,this.config=u}get provider(){return this.config.provider}async getArgs({prompt:i,maxOutputTokens:u,temperature:t,topP:f,topK:l,frequencyPenalty:c,presencePenalty:E,stopSequences:d,responseFormat:$,seed:w,tools:h,toolChoice:_,providerOptions:v}){var n,D,O,N,y;let Z=[],T=(n=await kt({provider:"openai",providerOptions:v,schema:zZf}))!=null?n:{},B=K20(this.modelId),F=(D=T.forceReasoning)!=null?D:B.isReasoningModel;if(l!=null)Z.push({type:"unsupported",feature:"topK"});let{messages:P,warnings:S}=LZf({prompt:i,systemMessageMode:(O=T.systemMessageMode)!=null?O:F?"developer":B.systemMessageMode});Z.push(...S);let A=(N=T.strictJsonSchema)!=null?N:!0,k={model:this.modelId,logit_bias:T.logitBias,logprobs:T.logprobs===!0||typeof T.logprobs==="number"?!0:void 0,top_logprobs:typeof T.logprobs==="number"?T.logprobs:typeof T.logprobs==="boolean"?T.logprobs?0:void 0:void 0,user:T.user,parallel_tool_calls:T.parallelToolCalls,max_tokens:u,temperature:t,top_p:f,frequency_penalty:c,presence_penalty:E,response_format:($==null?void 0:$.type)==="json"?$.schema!=null?{type:"json_schema",json_schema:{schema:$.schema,strict:A,name:(y=$.name)!=null?y:"response",description:$.description}}:{type:"json_object"}:void 0,stop:d,seed:w,verbosity:T.textVerbosity,max_completion_tokens:T.maxCompletionTokens,store:T.store,metadata:T.metadata,prediction:T.prediction,reasoning_effort:T.reasoningEffort,service_tier:T.serviceTier,prompt_cache_key:T.promptCacheKey,prompt_cache_retention:T.promptCacheRetention,safety_identifier:T.safetyIdentifier,messages:P};if(F){if(T.reasoningEffort!=="none"||!B.supportsNonReasoningParameters){if(k.temperature!=null)k.temperature=void 0,Z.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"});if(k.top_p!=null)k.top_p=void 0,Z.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"});if(k.logprobs!=null)k.logprobs=void 0,Z.push({type:"other",message:"logprobs is not supported for reasoning models"})}if(k.frequency_penalty!=null)k.frequency_penalty=void 0,Z.push({type:"unsupported",feature:"frequencyPenalty",details:"frequencyPenalty is not supported for reasoning models"});if(k.presence_penalty!=null)k.presence_penalty=void 0,Z.push({type:"unsupported",feature:"presencePenalty",details:"presencePenalty is not supported for reasoning models"});if(k.logit_bias!=null)k.logit_bias=void 0,Z.push({type:"other",message:"logitBias is not supported for reasoning models"});if(k.top_logprobs!=null)k.top_logprobs=void 0,Z.push({type:"other",message:"topLogprobs is not supported for reasoning models"});if(k.max_tokens!=null){if(k.max_completion_tokens==null)k.max_completion_tokens=k.max_tokens;k.max_tokens=void 0}}else if(this.modelId.startsWith("gpt-4o-search-preview")||this.modelId.startsWith("gpt-4o-mini-search-preview")){if(k.temperature!=null)k.temperature=void 0,Z.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for the search preview models and has been removed."})}if(T.serviceTier==="flex"&&!B.supportsFlexProcessing)Z.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),k.service_tier=void 0;if(T.serviceTier==="priority"&&!B.supportsPriorityProcessing)Z.push({type:"unsupported",feature:"serviceTier",details:"priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported"}),k.service_tier=void 0;let{tools:M,toolChoice:J,toolWarnings:W}=QZf({tools:h,toolChoice:_});return{args:{...k,tools:M,tool_choice:J},warnings:[...Z,...W]}}async doGenerate(i){var u,t,f,l,c,E,d;let{args:$,warnings:w}=await this.getArgs(i),{responseHeaders:h,value:_,rawValue:v}=await Nt({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:s0(this.config.headers(),i.headers),body:$,failedResponseHandler:f_,successfulResponseHandler:dt(WZf),abortSignal:i.abortSignal,fetch:this.config.fetch}),n=_.choices[0],D=[],O=n.message.content;if(O!=null&&O.length>0)D.push({type:"text",text:O});for(let T of(u=n.message.tool_calls)!=null?u:[])D.push({type:"tool-call",toolCallId:(t=T.id)!=null?t:Vu(),toolName:T.function.name,input:T.function.arguments});for(let T of(f=n.message.annotations)!=null?f:[])D.push({type:"source",sourceType:"url",id:Vu(),url:T.url_citation.url,title:T.url_citation.title});let N=(l=_.usage)==null?void 0:l.completion_tokens_details,y=(c=_.usage)==null?void 0:c.prompt_tokens_details,Z={openai:{}};if((N==null?void 0:N.accepted_prediction_tokens)!=null)Z.openai.acceptedPredictionTokens=N==null?void 0:N.accepted_prediction_tokens;if((N==null?void 0:N.rejected_prediction_tokens)!=null)Z.openai.rejectedPredictionTokens=N==null?void 0:N.rejected_prediction_tokens;if(((E=n.logprobs)==null?void 0:E.content)!=null)Z.openai.logprobs=n.logprobs.content;return{content:D,finishReason:{unified:y20(n.finish_reason),raw:(d=n.finish_reason)!=null?d:void 0},usage:N20(_.usage),request:{body:$},response:{...siu(_),headers:h,body:v},warnings:w,providerMetadata:Z}}async doStream(i){let{args:u,warnings:t}=await this.getArgs(i),f={...u,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:l,value:c}=await Nt({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:s0(this.config.headers(),i.headers),body:f,failedResponseHandler:f_,successfulResponseHandler:wE(YZf),abortSignal:i.abortSignal,fetch:this.config.fetch}),E=[],d={unified:"other",raw:void 0},$=void 0,w=!1,h=!1,_={openai:{}};return{stream:c.pipeThrough(new TransformStream({start(v){v.enqueue({type:"stream-start",warnings:t})},transform(v,n){var D,O,N,y,Z,T,B,F,P,S,A,k,M,J,W,m,z;if(i.includeRawChunks)n.enqueue({type:"raw",rawValue:v.rawValue});if(!v.success){d={unified:"error",raw:void 0},n.enqueue({type:"error",error:v.error});return}let di=v.value;if("error"in di){d={unified:"error",raw:void 0},n.enqueue({type:"error",error:di.error});return}if(!w){let ii=siu(di);if(Object.values(ii).some(Boolean))w=!0,n.enqueue({type:"response-metadata",...siu(di)})}if(di.usage!=null){if($=di.usage,((D=di.usage.completion_tokens_details)==null?void 0:D.accepted_prediction_tokens)!=null)_.openai.acceptedPredictionTokens=(O=di.usage.completion_tokens_details)==null?void 0:O.accepted_prediction_tokens;if(((N=di.usage.completion_tokens_details)==null?void 0:N.rejected_prediction_tokens)!=null)_.openai.rejectedPredictionTokens=(y=di.usage.completion_tokens_details)==null?void 0:y.rejected_prediction_tokens}let wi=di.choices[0];if((wi==null?void 0:wi.finish_reason)!=null)d={unified:y20(wi.finish_reason),raw:wi.finish_reason};if(((Z=wi==null?void 0:wi.logprobs)==null?void 0:Z.content)!=null)_.openai.logprobs=wi.logprobs.content;if((wi==null?void 0:wi.delta)==null)return;let li=wi.delta;if(li.content!=null){if(!h)n.enqueue({type:"text-start",id:"0"}),h=!0;n.enqueue({type:"text-delta",id:"0",delta:li.content})}if(li.tool_calls!=null)for(let ii of li.tool_calls){let s=ii.index;if(E[s]==null){if(ii.type!=null&&ii.type!=="function")throw new Ez({data:ii,message:"Expected 'function' type."});if(ii.id==null)throw new Ez({data:ii,message:"Expected 'id' to be a string."});if(((T=ii.function)==null?void 0:T.name)==null)throw new Ez({data:ii,message:"Expected 'function.name' to be a string."});n.enqueue({type:"tool-input-start",id:ii.id,toolName:ii.function.name}),E[s]={id:ii.id,type:"function",function:{name:ii.function.name,arguments:(B=ii.function.arguments)!=null?B:""},hasFinished:!1};let hi=E[s];if(((F=hi.function)==null?void 0:F.name)!=null&&((P=hi.function)==null?void 0:P.arguments)!=null){if(hi.function.arguments.length>0)n.enqueue({type:"tool-input-delta",id:hi.id,delta:hi.function.arguments});if(Lsi(hi.function.arguments))n.enqueue({type:"tool-input-end",id:hi.id}),n.enqueue({type:"tool-call",toolCallId:(S=hi.id)!=null?S:Vu(),toolName:hi.function.name,input:hi.function.arguments}),hi.hasFinished=!0}continue}let Di=E[s];if(Di.hasFinished)continue;if(((A=ii.function)==null?void 0:A.arguments)!=null)Di.function.arguments+=(M=(k=ii.function)==null?void 0:k.arguments)!=null?M:"";if(n.enqueue({type:"tool-input-delta",id:Di.id,delta:(J=ii.function.arguments)!=null?J:""}),((W=Di.function)==null?void 0:W.name)!=null&&((m=Di.function)==null?void 0:m.arguments)!=null&&Lsi(Di.function.arguments))n.enqueue({type:"tool-input-end",id:Di.id}),n.enqueue({type:"tool-call",toolCallId:(z=Di.id)!=null?z:Vu(),toolName:Di.function.name,input:Di.function.arguments}),Di.hasFinished=!0}if(li.annotations!=null)for(let ii of li.annotations)n.enqueue({type:"source",sourceType:"url",id:Vu(),url:ii.url_citation.url,title:ii.url_citation.title})},flush(v){if(h)v.enqueue({type:"text-end",id:"0"});v.enqueue({type:"finish",finishReason:d,usage:N20($),..._!=null?{providerMetadata:_}:{}})}})),request:{body:f},response:{headers:l}}}},RZf,CZf,F20,MZf=class{constructor(i,u){this.specificationVersion="v3",this.supportedUrls={},this.modelId=i,this.config=u}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}get provider(){return this.config.provider}async getArgs({prompt:i,maxOutputTokens:u,temperature:t,topP:f,topK:l,frequencyPenalty:c,presencePenalty:E,stopSequences:d,responseFormat:$,tools:w,toolChoice:h,seed:_,providerOptions:v}){let n=[],D={...await kt({provider:"openai",providerOptions:v,schema:F20}),...await kt({provider:this.providerOptionsName,providerOptions:v,schema:F20})};if(l!=null)n.push({type:"unsupported",feature:"topK"});if(w==null?void 0:w.length)n.push({type:"unsupported",feature:"tools"});if(h!=null)n.push({type:"unsupported",feature:"toolChoice"});if($!=null&&$.type!=="text")n.push({type:"unsupported",feature:"responseFormat",details:"JSON response format is not supported."});let{prompt:O,stopSequences:N}=bZf({prompt:i}),y=[...N!=null?N:[],...d!=null?d:[]];return{args:{model:this.modelId,echo:D.echo,logit_bias:D.logitBias,logprobs:(D==null?void 0:D.logprobs)===!0?0:(D==null?void 0:D.logprobs)===!1?void 0:D==null?void 0:D.logprobs,suffix:D.suffix,user:D.user,max_tokens:u,temperature:t,top_p:f,frequency_penalty:c,presence_penalty:E,seed:_,prompt:O,stop:y.length>0?y:void 0},warnings:n}}async doGenerate(i){var u;let{args:t,warnings:f}=await this.getArgs(i),{responseHeaders:l,value:c,rawValue:E}=await Nt({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:s0(this.config.headers(),i.headers),body:t,failedResponseHandler:f_,successfulResponseHandler:dt(RZf),abortSignal:i.abortSignal,fetch:this.config.fetch}),d=c.choices[0],$={openai:{}};if(d.logprobs!=null)$.openai.logprobs=d.logprobs;return{content:[{type:"text",text:d.text}],usage:Z20(c.usage),finishReason:{unified:B20(d.finish_reason),raw:(u=d.finish_reason)!=null?u:void 0},request:{body:t},response:{...T20(c),headers:l,body:E},providerMetadata:$,warnings:f}}async doStream(i){let{args:u,warnings:t}=await this.getArgs(i),f={...u,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:l,value:c}=await Nt({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:s0(this.config.headers(),i.headers),body:f,failedResponseHandler:f_,successfulResponseHandler:wE(CZf),abortSignal:i.abortSignal,fetch:this.config.fetch}),E={unified:"other",raw:void 0},d={openai:{}},$=void 0,w=!0;return{stream:c.pipeThrough(new TransformStream({start(h){h.enqueue({type:"stream-start",warnings:t})},transform(h,_){if(i.includeRawChunks)_.enqueue({type:"raw",rawValue:h.rawValue});if(!h.success){E={unified:"error",raw:void 0},_.enqueue({type:"error",error:h.error});return}let v=h.value;if("error"in v){E={unified:"error",raw:void 0},_.enqueue({type:"error",error:v.error});return}if(w)w=!1,_.enqueue({type:"response-metadata",...T20(v)}),_.enqueue({type:"text-start",id:"0"});if(v.usage!=null)$=v.usage;let n=v.choices[0];if((n==null?void 0:n.finish_reason)!=null)E={unified:B20(n.finish_reason),raw:n.finish_reason};if((n==null?void 0:n.logprobs)!=null)d.openai.logprobs=n.logprobs;if((n==null?void 0:n.text)!=null&&n.text.length>0)_.enqueue({type:"text-delta",id:"0",delta:n.text})},flush(h){if(!w)h.enqueue({type:"text-end",id:"0"});h.enqueue({type:"finish",finishReason:E,providerMetadata:d,usage:Z20($)})}})),request:{body:f},response:{headers:l}}}},qZf,VZf,rZf=class{constructor(i,u){this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=i,this.config=u}get provider(){return this.config.provider}async doEmbed({values:i,headers:u,abortSignal:t,providerOptions:f}){var l;if(i.length>this.maxEmbeddingsPerCall)throw new dz({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:i});let c=(l=await kt({provider:"openai",providerOptions:f,schema:qZf}))!=null?l:{},{responseHeaders:E,value:d,rawValue:$}=await Nt({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:s0(this.config.headers(),u),body:{model:this.modelId,input:i,encoding_format:"float",dimensions:c.dimensions,user:c.user},failedResponseHandler:f_,successfulResponseHandler:dt(VZf),abortSignal:t,fetch:this.config.fetch});return{warnings:[],embeddings:d.data.map((w)=>w.embedding),usage:d.usage?{tokens:d.usage.prompt_tokens}:void 0,response:{headers:E,body:$}}}},U20,mZf,eZf,$uu,mWl,oZf,sZf,pZf=class{constructor(i,u){this.modelId=i,this.config=u,this.specificationVersion="v3"}get maxImagesPerCall(){var i;return(i=mZf[this.modelId])!=null?i:1}get provider(){return this.config.provider}async doGenerate({prompt:i,files:u,mask:t,n:f,size:l,aspectRatio:c,seed:E,providerOptions:d,headers:$,abortSignal:w}){var h,_,v,n,D,O,N,y,Z,T,B;let F=[];if(c!=null)F.push({type:"unsupported",feature:"aspectRatio",details:"This model does not support aspect ratio. Use `size` instead."});if(E!=null)F.push({type:"unsupported",feature:"seed"});let P=(v=(_=(h=this.config._internal)==null?void 0:h.currentDate)==null?void 0:_.call(h))!=null?v:new Date;if(u!=null){let M=(n=await kt({provider:"openai",providerOptions:d,schema:sZf}))!=null?n:{},{value:J,responseHeaders:W}=await N$i({url:this.config.url({path:"/images/edits",modelId:this.modelId}),headers:s0(this.config.headers(),$),formData:g50({model:this.modelId,prompt:i,image:await Promise.all(u.map((m)=>m.type==="file"?new Blob([m.data instanceof Uint8Array?new Blob([m.data],{type:m.mediaType}):new Blob([k1(m.data)],{type:m.mediaType})],{type:m.mediaType}):jsi(m.url))),mask:t!=null?await iTf(t):void 0,n:f,size:l,quality:M.quality,background:M.background,output_format:M.outputFormat,output_compression:M.outputCompression,input_fidelity:M.inputFidelity,user:M.user}),failedResponseHandler:f_,successfulResponseHandler:dt(U20),abortSignal:w,fetch:this.config.fetch});return{images:J.data.map((m)=>m.b64_json),warnings:F,usage:J.usage!=null?{inputTokens:(D=J.usage.input_tokens)!=null?D:void 0,outputTokens:(O=J.usage.output_tokens)!=null?O:void 0,totalTokens:(N=J.usage.total_tokens)!=null?N:void 0}:void 0,response:{timestamp:P,modelId:this.modelId,headers:W},providerMetadata:{openai:{images:J.data.map((m,z)=>{var di,wi,li,ii,s,Di;return{...m.revised_prompt?{revisedPrompt:m.revised_prompt}:{},created:(di=J.created)!=null?di:void 0,size:(wi=J.size)!=null?wi:void 0,quality:(li=J.quality)!=null?li:void 0,background:(ii=J.background)!=null?ii:void 0,outputFormat:(s=J.output_format)!=null?s:void 0,...I20((Di=J.usage)==null?void 0:Di.input_tokens_details,z,J.data.length)}})}}}}let S=(y=await kt({provider:"openai",providerOptions:d,schema:oZf}))!=null?y:{},{value:A,responseHeaders:k}=await Nt({url:this.config.url({path:"/images/generations",modelId:this.modelId}),headers:s0(this.config.headers(),$),body:{model:this.modelId,prompt:i,n:f,size:l,quality:S.quality,style:S.style,background:S.background,moderation:S.moderation,output_format:S.outputFormat,output_compression:S.outputCompression,user:S.user,...!aZf(this.modelId)?{response_format:"b64_json"}:{}},failedResponseHandler:f_,successfulResponseHandler:dt(U20),abortSignal:w,fetch:this.config.fetch});return{images:A.data.map((M)=>M.b64_json),warnings:F,usage:A.usage!=null?{inputTokens:(Z=A.usage.input_tokens)!=null?Z:void 0,outputTokens:(T=A.usage.output_tokens)!=null?T:void 0,totalTokens:(B=A.usage.total_tokens)!=null?B:void 0}:void 0,response:{timestamp:P,modelId:this.modelId,headers:k},providerMetadata:{openai:{images:A.data.map((M,J)=>{var W,m,z,di,wi,li;return{...M.revised_prompt?{revisedPrompt:M.revised_prompt}:{},created:(W=A.created)!=null?W:void 0,size:(m=A.size)!=null?m:void 0,quality:(z=A.quality)!=null?z:void 0,background:(di=A.background)!=null?di:void 0,outputFormat:(wi=A.output_format)!=null?wi:void 0,...I20((li=A.usage)==null?void 0:li.input_tokens_details,J,A.data.length)}})}}}}},J20,X20,oWl,uTf,tTf,fTf,lTf,cTf,ETf,dTf=(i={})=>{return ETf(i)},$Tf,wTf,hTf,_Tf=(i)=>hTf(i),L20,W20,vTf,nTf,DTf,gTf,OTf,NTf,yTf,ZTf=(i={})=>{return yTf(i)},Y20,z20,TTf,Q20,fuu,BTf,FTf,UTf,ITf,luu,cuu,PTf,ATf=(i={})=>PTf(i),xTf,kTf,GTf,STf,jTf=(i={})=>STf(i),KTf,JTf,XTf,LTf,Euu,WTf,YTf,zTf,QTf,HTf=(i)=>QTf(i),bTf,MTf,Je,qTf,VTf,H20=20,rTf,xYl,x20,sTf=class{constructor(i,u){this.specificationVersion="v3",this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},this.modelId=i,this.config=u}get provider(){return this.config.provider}async getArgs({maxOutputTokens:i,temperature:u,stopSequences:t,topP:f,topK:l,presencePenalty:c,frequencyPenalty:E,seed:d,prompt:$,providerOptions:w,tools:h,toolChoice:_,responseFormat:v}){var n,D,O,N,y,Z,T,B,F,P,S;let A=[],k=K20(this.modelId);if(l!=null)A.push({type:"unsupported",feature:"topK"});if(d!=null)A.push({type:"unsupported",feature:"seed"});if(c!=null)A.push({type:"unsupported",feature:"presencePenalty"});if(E!=null)A.push({type:"unsupported",feature:"frequencyPenalty"});if(t!=null)A.push({type:"unsupported",feature:"stopSequences"});let M=this.config.provider.includes("azure")?"azure":"openai",J=await kt({provider:M,providerOptions:w,schema:x20});if(J==null&&M!=="openai")J=await kt({provider:"openai",providerOptions:w,schema:x20});let W=(n=J==null?void 0:J.forceReasoning)!=null?n:k.isReasoningModel;if((J==null?void 0:J.conversation)&&(J==null?void 0:J.previousResponseId))A.push({type:"unsupported",feature:"conversation",details:"conversation and previousResponseId cannot be used together"});let m=D$i({tools:h,providerToolNames:{"openai.code_interpreter":"code_interpreter","openai.file_search":"file_search","openai.image_generation":"image_generation","openai.local_shell":"local_shell","openai.shell":"shell","openai.web_search":"web_search","openai.web_search_preview":"web_search_preview","openai.mcp":"mcp","openai.apply_patch":"apply_patch","openai.tool_search":"tool_search"},resolveProviderToolName:($i)=>$i.id==="openai.custom"?$i.args.name:void 0}),z=new Set,{tools:di,toolChoice:wi,toolWarnings:li}=await mTf({tools:h,toolChoice:_,allowedTools:(D=J==null?void 0:J.allowedTools)!=null?D:void 0,toolNameMapping:m,customProviderToolNames:z}),{input:ii,warnings:s}=await CTf({prompt:$,toolNameMapping:m,systemMessageMode:(O=J==null?void 0:J.systemMessageMode)!=null?O:W?"developer":k.systemMessageMode,providerOptionsName:M,fileIdPrefixes:this.config.fileIdPrefixes,passThroughUnsupportedFiles:(N=J==null?void 0:J.passThroughUnsupportedFiles)!=null?N:!1,store:(y=J==null?void 0:J.store)!=null?y:!0,hasConversation:(J==null?void 0:J.conversation)!=null,hasPreviousResponseId:(J==null?void 0:J.previousResponseId)!=null,hasLocalShellTool:qi("openai.local_shell"),hasShellTool:qi("openai.shell"),hasApplyPatchTool:qi("openai.apply_patch"),customProviderToolNames:z.size>0?z:void 0});A.push(...s);let Di=(Z=J==null?void 0:J.strictJsonSchema)!=null?Z:!0,hi=J==null?void 0:J.include;function xi($i){if(hi==null)hi=[$i];else if(!hi.includes($i))hi=[...hi,$i]}function qi($i){return(h==null?void 0:h.find((ci)=>ci.type==="provider"&&ci.id===$i))!=null}let Yi=typeof(J==null?void 0:J.logprobs)==="number"?J==null?void 0:J.logprobs:(J==null?void 0:J.logprobs)===!0?H20:void 0;if(Yi)xi("message.output_text.logprobs");let mi=(T=h==null?void 0:h.find(($i)=>$i.type==="provider"&&($i.id==="openai.web_search"||$i.id==="openai.web_search_preview")))==null?void 0:T.name;if(mi)xi("web_search_call.action.sources");if(qi("openai.code_interpreter"))xi("code_interpreter_call.outputs");let Oi=J==null?void 0:J.store;if(Oi===!1&&W)xi("reasoning.encrypted_content");let Xi={model:this.modelId,input:ii,temperature:u,top_p:f,max_output_tokens:i,...((v==null?void 0:v.type)==="json"||(J==null?void 0:J.textVerbosity))&&{text:{...(v==null?void 0:v.type)==="json"&&{format:v.schema!=null?{type:"json_schema",strict:Di,name:(B=v.name)!=null?B:"response",description:v.description,schema:v.schema}:{type:"json_object"}},...(J==null?void 0:J.textVerbosity)&&{verbosity:J.textVerbosity}}},conversation:J==null?void 0:J.conversation,max_tool_calls:J==null?void 0:J.maxToolCalls,metadata:J==null?void 0:J.metadata,parallel_tool_calls:J==null?void 0:J.parallelToolCalls,previous_response_id:J==null?void 0:J.previousResponseId,store:Oi,user:J==null?void 0:J.user,instructions:J==null?void 0:J.instructions,service_tier:J==null?void 0:J.serviceTier,include:hi,prompt_cache_key:J==null?void 0:J.promptCacheKey,prompt_cache_retention:J==null?void 0:J.promptCacheRetention,safety_identifier:J==null?void 0:J.safetyIdentifier,top_logprobs:Yi,truncation:J==null?void 0:J.truncation,...W&&((J==null?void 0:J.reasoningEffort)!=null||(J==null?void 0:J.reasoningSummary)!=null)&&{reasoning:{...(J==null?void 0:J.reasoningEffort)!=null&&{effort:J.reasoningEffort},...(J==null?void 0:J.reasoningSummary)!=null&&{summary:J.reasoningSummary}}}};if(W){if(!((J==null?void 0:J.reasoningEffort)==="none"&&k.supportsNonReasoningParameters)){if(Xi.temperature!=null)Xi.temperature=void 0,A.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"});if(Xi.top_p!=null)Xi.top_p=void 0,A.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"})}}else{if((J==null?void 0:J.reasoningEffort)!=null)A.push({type:"unsupported",feature:"reasoningEffort",details:"reasoningEffort is not supported for non-reasoning models"});if((J==null?void 0:J.reasoningSummary)!=null)A.push({type:"unsupported",feature:"reasoningSummary",details:"reasoningSummary is not supported for non-reasoning models"})}if((J==null?void 0:J.serviceTier)==="flex"&&!k.supportsFlexProcessing)A.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),delete Xi.service_tier;if((J==null?void 0:J.serviceTier)==="priority"&&!k.supportsPriorityProcessing)A.push({type:"unsupported",feature:"serviceTier",details:"priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported"}),delete Xi.service_tier;let Pi=(S=(P=(F=h==null?void 0:h.find(($i)=>$i.type==="provider"&&$i.id==="openai.shell"))==null?void 0:F.args)==null?void 0:P.environment)==null?void 0:S.type,ni=Pi==="containerAuto"||Pi==="containerReference";return{webSearchToolName:mi,args:{...Xi,tools:di,tool_choice:wi},warnings:[...A,...li],store:Oi,toolNameMapping:m,providerOptionsName:M,isShellProviderExecuted:ni}}async doGenerate(i){var u,t,f,l,c,E,d,$,w,h,_,v,n,D,O,N,y,Z,T,B,F,P,S,A,k,M,J,W;let{args:m,warnings:z,webSearchToolName:di,toolNameMapping:wi,providerOptionsName:li,isShellProviderExecuted:ii}=await this.getArgs(i),s=this.config.url({path:"/responses",modelId:this.modelId}),Di=k20(i.prompt),{responseHeaders:hi,value:xi,rawValue:qi}=await Nt({url:s,headers:s0(this.config.headers(),i.headers),body:m,failedResponseHandler:f_,successfulResponseHandler:dt(VTf),abortSignal:i.abortSignal,fetch:this.config.fetch});if(xi.error)throw new _t({message:xi.error.message,url:s,requestBodyValues:m,statusCode:400,responseHeaders:hi,responseBody:qi,isRetryable:!1});let Yi=[],mi=[],Oi=!1,Xi=[];for(let $i of xi.output)switch($i.type){case"reasoning":{if($i.summary.length===0)$i.summary.push({type:"summary_text",text:""});for(let ci of $i.summary)Yi.push({type:"reasoning",text:ci.text,providerMetadata:{[li]:{itemId:$i.id,reasoningEncryptedContent:(u=$i.encrypted_content)!=null?u:null}}});break}case"image_generation_call":{Yi.push({type:"tool-call",toolCallId:$i.id,toolName:wi.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0}),Yi.push({type:"tool-result",toolCallId:$i.id,toolName:wi.toCustomToolName("image_generation"),result:{result:$i.result}});break}case"tool_search_call":{let ci=(t=$i.call_id)!=null?t:$i.id,ji=$i.execution==="server";if(ji)Xi.push(ci);Yi.push({type:"tool-call",toolCallId:ci,toolName:wi.toCustomToolName("tool_search"),input:JSON.stringify({arguments:$i.arguments,call_id:$i.call_id}),...ji?{providerExecuted:!0}:{},providerMetadata:{[li]:{itemId:$i.id}}});break}case"tool_search_output":{let ci=(l=(f=$i.call_id)!=null?f:Xi.shift())!=null?l:$i.id;Yi.push({type:"tool-result",toolCallId:ci,toolName:wi.toCustomToolName("tool_search"),result:{tools:$i.tools},providerMetadata:{[li]:{itemId:$i.id}}});break}case"local_shell_call":{Yi.push({type:"tool-call",toolCallId:$i.call_id,toolName:wi.toCustomToolName("local_shell"),input:JSON.stringify({action:$i.action}),providerMetadata:{[li]:{itemId:$i.id}}});break}case"shell_call":{Yi.push({type:"tool-call",toolCallId:$i.call_id,toolName:wi.toCustomToolName("shell"),input:JSON.stringify({action:{commands:$i.action.commands}}),...ii&&{providerExecuted:!0},providerMetadata:{[li]:{itemId:$i.id}}});break}case"shell_call_output":{Yi.push({type:"tool-result",toolCallId:$i.call_id,toolName:wi.toCustomToolName("shell"),result:{output:$i.output.map((ci)=>({stdout:ci.stdout,stderr:ci.stderr,outcome:ci.outcome.type==="exit"?{type:"exit",exitCode:ci.outcome.exit_code}:{type:"timeout"}}))}});break}case"message":{for(let ci of $i.content){if(((E=(c=i.providerOptions)==null?void 0:c[li])==null?void 0:E.logprobs)&&ci.logprobs)mi.push(ci.logprobs);let ji={itemId:$i.id,...$i.phase!=null&&{phase:$i.phase},...ci.annotations.length>0&&{annotations:ci.annotations}};Yi.push({type:"text",text:ci.text,providerMetadata:{[li]:ji}});for(let e of ci.annotations)if(e.type==="url_citation")Yi.push({type:"source",sourceType:"url",id:(w=($=(d=this.config).generateId)==null?void 0:$.call(d))!=null?w:Vu(),url:e.url,title:e.title});else if(e.type==="file_citation")Yi.push({type:"source",sourceType:"document",id:(v=(_=(h=this.config).generateId)==null?void 0:_.call(h))!=null?v:Vu(),mediaType:"text/plain",title:e.filename,filename:e.filename,providerMetadata:{[li]:{type:e.type,fileId:e.file_id,index:e.index}}});else if(e.type==="container_file_citation")Yi.push({type:"source",sourceType:"document",id:(O=(D=(n=this.config).generateId)==null?void 0:D.call(n))!=null?O:Vu(),mediaType:"text/plain",title:e.filename,filename:e.filename,providerMetadata:{[li]:{type:e.type,fileId:e.file_id,containerId:e.container_id}}});else if(e.type==="file_path")Yi.push({type:"source",sourceType:"document",id:(Z=(y=(N=this.config).generateId)==null?void 0:y.call(N))!=null?Z:Vu(),mediaType:"application/octet-stream",title:e.file_id,filename:e.file_id,providerMetadata:{[li]:{type:e.type,fileId:e.file_id,index:e.index}}})}break}case"function_call":{Oi=!0,Yi.push({type:"tool-call",toolCallId:$i.call_id,toolName:$i.name,input:$i.arguments,providerMetadata:{[li]:{itemId:$i.id,...$i.namespace!=null&&{namespace:$i.namespace}}}});break}case"custom_tool_call":{Oi=!0;let ci=wi.toCustomToolName($i.name);Yi.push({type:"tool-call",toolCallId:$i.call_id,toolName:ci,input:JSON.stringify($i.input),providerMetadata:{[li]:{itemId:$i.id}}});break}case"web_search_call":{Yi.push({type:"tool-call",toolCallId:$i.id,toolName:wi.toCustomToolName(di!=null?di:"web_search"),input:JSON.stringify({}),providerExecuted:!0}),Yi.push({type:"tool-result",toolCallId:$i.id,toolName:wi.toCustomToolName(di!=null?di:"web_search"),result:S20($i.action)});break}case"mcp_call":{let ci=$i.approval_request_id!=null?(T=Di[$i.approval_request_id])!=null?T:$i.id:$i.id,ji=`mcp.${$i.name}`;Yi.push({type:"tool-call",toolCallId:ci,toolName:ji,input:$i.arguments,providerExecuted:!0,dynamic:!0}),Yi.push({type:"tool-result",toolCallId:ci,toolName:ji,result:{type:"call",serverLabel:$i.server_label,name:$i.name,arguments:$i.arguments,...$i.output!=null?{output:$i.output}:{},...$i.error!=null?{error:$i.error}:{}},providerMetadata:{[li]:{itemId:$i.id}}});break}case"mcp_list_tools":break;case"mcp_approval_request":{let ci=(B=$i.approval_request_id)!=null?B:$i.id,ji=(S=(P=(F=this.config).generateId)==null?void 0:P.call(F))!=null?S:Vu(),e=`mcp.${$i.name}`;Yi.push({type:"tool-call",toolCallId:ji,toolName:e,input:$i.arguments,providerExecuted:!0,dynamic:!0}),Yi.push({type:"tool-approval-request",approvalId:ci,toolCallId:ji});break}case"computer_call":{Yi.push({type:"tool-call",toolCallId:$i.id,toolName:wi.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),Yi.push({type:"tool-result",toolCallId:$i.id,toolName:wi.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:$i.status||"completed"}});break}case"file_search_call":{Yi.push({type:"tool-call",toolCallId:$i.id,toolName:wi.toCustomToolName("file_search"),input:"{}",providerExecuted:!0}),Yi.push({type:"tool-result",toolCallId:$i.id,toolName:wi.toCustomToolName("file_search"),result:{queries:$i.queries,results:(k=(A=$i.results)==null?void 0:A.map((ci)=>({attributes:ci.attributes,fileId:ci.file_id,filename:ci.filename,score:ci.score,text:ci.text})))!=null?k:null}});break}case"code_interpreter_call":{Yi.push({type:"tool-call",toolCallId:$i.id,toolName:wi.toCustomToolName("code_interpreter"),input:JSON.stringify({code:$i.code,containerId:$i.container_id}),providerExecuted:!0}),Yi.push({type:"tool-result",toolCallId:$i.id,toolName:wi.toCustomToolName("code_interpreter"),result:{outputs:$i.outputs}});break}case"apply_patch_call":{Yi.push({type:"tool-call",toolCallId:$i.call_id,toolName:wi.toCustomToolName("apply_patch"),input:JSON.stringify({callId:$i.call_id,operation:$i.operation}),providerMetadata:{[li]:{itemId:$i.id}}});break}}let Pi={[li]:{responseId:xi.id,...mi.length>0?{logprobs:mi}:{},...typeof xi.service_tier==="string"?{serviceTier:xi.service_tier}:{}}},ni=xi.usage;return{content:Yi,finishReason:{unified:uuu({finishReason:(M=xi.incomplete_details)==null?void 0:M.reason,hasFunctionCall:Oi}),raw:(W=(J=xi.incomplete_details)==null?void 0:J.reason)!=null?W:void 0},usage:P20(ni),request:{body:m},response:{id:xi.id,timestamp:new Date(xi.created_at*1000),modelId:xi.model,headers:hi,body:qi},providerMetadata:Pi,warnings:z}}async doStream(i){let{args:u,warnings:t,webSearchToolName:f,toolNameMapping:l,store:c,providerOptionsName:E,isShellProviderExecuted:d}=await this.getArgs(i),{responseHeaders:$,value:w}=await Nt({url:this.config.url({path:"/responses",modelId:this.modelId}),headers:s0(this.config.headers(),i.headers),body:{...u,stream:!0},failedResponseHandler:f_,successfulResponseHandler:wE(qTf),abortSignal:i.abortSignal,fetch:this.config.fetch}),h=this,_=k20(i.prompt),v=new Map,n={unified:"other",raw:void 0},D=void 0,O=[],N=null,y={},Z=[],T,B=!1,F={},P,S=[];return{stream:w.pipeThrough(new TransformStream({start(A){A.enqueue({type:"stream-start",warnings:t})},transform(A,k){var M,J,W,m,z,di,wi,li,ii,s,Di,hi,xi,qi,Yi,mi,Oi,Xi,Pi,ni,$i,ci,ji,e,ti,ai,Ai,q,r,Ki,zi,gu,ri,Bu,S0,Bf,J4,u1;if(i.includeRawChunks)k.enqueue({type:"raw",rawValue:A.rawValue});if(!A.success){n={unified:"error",raw:void 0},k.enqueue({type:"error",error:A.error});return}let ui=A.value;if(G20(ui)){if(ui.item.type==="function_call")y[ui.output_index]={toolName:ui.item.name,toolCallId:ui.item.call_id},k.enqueue({type:"tool-input-start",id:ui.item.call_id,toolName:ui.item.name});else if(ui.item.type==="custom_tool_call"){let $u=l.toCustomToolName(ui.item.name);y[ui.output_index]={toolName:$u,toolCallId:ui.item.call_id},k.enqueue({type:"tool-input-start",id:ui.item.call_id,toolName:$u})}else if(ui.item.type==="web_search_call")y[ui.output_index]={toolName:l.toCustomToolName(f!=null?f:"web_search"),toolCallId:ui.item.id},k.enqueue({type:"tool-input-start",id:ui.item.id,toolName:l.toCustomToolName(f!=null?f:"web_search"),providerExecuted:!0}),k.enqueue({type:"tool-input-end",id:ui.item.id}),k.enqueue({type:"tool-call",toolCallId:ui.item.id,toolName:l.toCustomToolName(f!=null?f:"web_search"),input:JSON.stringify({}),providerExecuted:!0});else if(ui.item.type==="computer_call")y[ui.output_index]={toolName:l.toCustomToolName("computer_use"),toolCallId:ui.item.id},k.enqueue({type:"tool-input-start",id:ui.item.id,toolName:l.toCustomToolName("computer_use"),providerExecuted:!0});else if(ui.item.type==="code_interpreter_call")y[ui.output_index]={toolName:l.toCustomToolName("code_interpreter"),toolCallId:ui.item.id,codeInterpreter:{containerId:ui.item.container_id}},k.enqueue({type:"tool-input-start",id:ui.item.id,toolName:l.toCustomToolName("code_interpreter"),providerExecuted:!0}),k.enqueue({type:"tool-input-delta",id:ui.item.id,delta:`{"containerId":"${ui.item.container_id}","code":"`});else if(ui.item.type==="file_search_call")k.enqueue({type:"tool-call",toolCallId:ui.item.id,toolName:l.toCustomToolName("file_search"),input:"{}",providerExecuted:!0});else if(ui.item.type==="image_generation_call")k.enqueue({type:"tool-call",toolCallId:ui.item.id,toolName:l.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0});else if(ui.item.type==="tool_search_call"){let $u=ui.item.id,it=l.toCustomToolName("tool_search"),ut=ui.item.execution==="server";if(y[ui.output_index]={toolName:it,toolCallId:$u,toolSearchExecution:(M=ui.item.execution)!=null?M:"server"},ut)k.enqueue({type:"tool-input-start",id:$u,toolName:it,providerExecuted:!0})}else if(ui.item.type==="tool_search_output");else if(ui.item.type==="mcp_call"||ui.item.type==="mcp_list_tools"||ui.item.type==="mcp_approval_request");else if(ui.item.type==="apply_patch_call"){let{call_id:$u,operation:it}=ui.item;if(y[ui.output_index]={toolName:l.toCustomToolName("apply_patch"),toolCallId:$u,applyPatch:{hasDiff:it.type==="delete_file",endEmitted:it.type==="delete_file"}},k.enqueue({type:"tool-input-start",id:$u,toolName:l.toCustomToolName("apply_patch")}),it.type==="delete_file"){let ut=JSON.stringify({callId:$u,operation:it});k.enqueue({type:"tool-input-delta",id:$u,delta:ut}),k.enqueue({type:"tool-input-end",id:$u})}else k.enqueue({type:"tool-input-delta",id:$u,delta:`{"callId":"${yy($u)}","operation":{"type":"${yy(it.type)}","path":"${yy(it.path)}","diff":"`})}else if(ui.item.type==="shell_call")y[ui.output_index]={toolName:l.toCustomToolName("shell"),toolCallId:ui.item.call_id};else if(ui.item.type==="shell_call_output");else if(ui.item.type==="message")Z.splice(0,Z.length),T=(J=ui.item.phase)!=null?J:void 0,k.enqueue({type:"text-start",id:ui.item.id,providerMetadata:{[E]:{itemId:ui.item.id,...ui.item.phase!=null&&{phase:ui.item.phase}}}});else if(G20(ui)&&ui.item.type==="reasoning")F[ui.item.id]={encryptedContent:ui.item.encrypted_content,summaryParts:{0:"active"}},k.enqueue({type:"reasoning-start",id:`${ui.item.id}:0`,providerMetadata:{[E]:{itemId:ui.item.id,reasoningEncryptedContent:(W=ui.item.encrypted_content)!=null?W:null}}})}else if(iBf(ui)){if(ui.item.type==="message"){let $u=(m=ui.item.phase)!=null?m:T;T=void 0,k.enqueue({type:"text-end",id:ui.item.id,providerMetadata:{[E]:{itemId:ui.item.id,...$u!=null&&{phase:$u},...Z.length>0&&{annotations:Z}}}})}else if(ui.item.type==="function_call")y[ui.output_index]=void 0,B=!0,k.enqueue({type:"tool-input-end",id:ui.item.call_id,...ui.item.namespace!=null&&{providerMetadata:{[E]:{namespace:ui.item.namespace}}}}),k.enqueue({type:"tool-call",toolCallId:ui.item.call_id,toolName:ui.item.name,input:ui.item.arguments,providerMetadata:{[E]:{itemId:ui.item.id,...ui.item.namespace!=null&&{namespace:ui.item.namespace}}}});else if(ui.item.type==="custom_tool_call"){y[ui.output_index]=void 0,B=!0;let $u=l.toCustomToolName(ui.item.name);k.enqueue({type:"tool-input-end",id:ui.item.call_id}),k.enqueue({type:"tool-call",toolCallId:ui.item.call_id,toolName:$u,input:JSON.stringify(ui.item.input),providerMetadata:{[E]:{itemId:ui.item.id}}})}else if(ui.item.type==="web_search_call")y[ui.output_index]=void 0,k.enqueue({type:"tool-result",toolCallId:ui.item.id,toolName:l.toCustomToolName(f!=null?f:"web_search"),result:S20(ui.item.action)});else if(ui.item.type==="computer_call")y[ui.output_index]=void 0,k.enqueue({type:"tool-input-end",id:ui.item.id}),k.enqueue({type:"tool-call",toolCallId:ui.item.id,toolName:l.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),k.enqueue({type:"tool-result",toolCallId:ui.item.id,toolName:l.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:ui.item.status||"completed"}});else if(ui.item.type==="file_search_call")y[ui.output_index]=void 0,k.enqueue({type:"tool-result",toolCallId:ui.item.id,toolName:l.toCustomToolName("file_search"),result:{queries:ui.item.queries,results:(di=(z=ui.item.results)==null?void 0:z.map(($u)=>({attributes:$u.attributes,fileId:$u.file_id,filename:$u.filename,score:$u.score,text:$u.text})))!=null?di:null}});else if(ui.item.type==="code_interpreter_call")y[ui.output_index]=void 0,k.enqueue({type:"tool-result",toolCallId:ui.item.id,toolName:l.toCustomToolName("code_interpreter"),result:{outputs:ui.item.outputs}});else if(ui.item.type==="image_generation_call")k.enqueue({type:"tool-result",toolCallId:ui.item.id,toolName:l.toCustomToolName("image_generation"),result:{result:ui.item.result}});else if(ui.item.type==="tool_search_call"){let $u=y[ui.output_index],it=ui.item.execution==="server";if($u!=null){let ut=it?$u.toolCallId:(wi=ui.item.call_id)!=null?wi:ui.item.id;if(it)S.push(ut);else k.enqueue({type:"tool-input-start",id:ut,toolName:$u.toolName});k.enqueue({type:"tool-input-end",id:ut}),k.enqueue({type:"tool-call",toolCallId:ut,toolName:$u.toolName,input:JSON.stringify({arguments:ui.item.arguments,call_id:it?null:ut}),...it?{providerExecuted:!0}:{},providerMetadata:{[E]:{itemId:ui.item.id}}})}y[ui.output_index]=void 0}else if(ui.item.type==="tool_search_output"){let $u=(ii=(li=ui.item.call_id)!=null?li:S.shift())!=null?ii:ui.item.id;k.enqueue({type:"tool-result",toolCallId:$u,toolName:l.toCustomToolName("tool_search"),result:{tools:ui.item.tools},providerMetadata:{[E]:{itemId:ui.item.id}}})}else if(ui.item.type==="mcp_call"){y[ui.output_index]=void 0;let $u=(s=ui.item.approval_request_id)!=null?s:void 0,it=$u!=null?(hi=(Di=v.get($u))!=null?Di:_[$u])!=null?hi:ui.item.id:ui.item.id,ut=`mcp.${ui.item.name}`;k.enqueue({type:"tool-call",toolCallId:it,toolName:ut,input:ui.item.arguments,providerExecuted:!0,dynamic:!0}),k.enqueue({type:"tool-result",toolCallId:it,toolName:ut,result:{type:"call",serverLabel:ui.item.server_label,name:ui.item.name,arguments:ui.item.arguments,...ui.item.output!=null?{output:ui.item.output}:{},...ui.item.error!=null?{error:ui.item.error}:{}},providerMetadata:{[E]:{itemId:ui.item.id}}})}else if(ui.item.type==="mcp_list_tools")y[ui.output_index]=void 0;else if(ui.item.type==="apply_patch_call"){let $u=y[ui.output_index];if(($u==null?void 0:$u.applyPatch)&&!$u.applyPatch.endEmitted&&ui.item.operation.type!=="delete_file"){if(!$u.applyPatch.hasDiff)k.enqueue({type:"tool-input-delta",id:$u.toolCallId,delta:yy(ui.item.operation.diff)});k.enqueue({type:"tool-input-delta",id:$u.toolCallId,delta:'"}}'}),k.enqueue({type:"tool-input-end",id:$u.toolCallId}),$u.applyPatch.endEmitted=!0}if($u&&ui.item.status==="completed")k.enqueue({type:"tool-call",toolCallId:$u.toolCallId,toolName:l.toCustomToolName("apply_patch"),input:JSON.stringify({callId:ui.item.call_id,operation:ui.item.operation}),providerMetadata:{[E]:{itemId:ui.item.id}}});y[ui.output_index]=void 0}else if(ui.item.type==="mcp_approval_request"){y[ui.output_index]=void 0;let $u=(Yi=(qi=(xi=h.config).generateId)==null?void 0:qi.call(xi))!=null?Yi:Vu(),it=(mi=ui.item.approval_request_id)!=null?mi:ui.item.id;v.set(it,$u);let ut=`mcp.${ui.item.name}`;k.enqueue({type:"tool-call",toolCallId:$u,toolName:ut,input:ui.item.arguments,providerExecuted:!0,dynamic:!0}),k.enqueue({type:"tool-approval-request",approvalId:it,toolCallId:$u})}else if(ui.item.type==="local_shell_call")y[ui.output_index]=void 0,k.enqueue({type:"tool-call",toolCallId:ui.item.call_id,toolName:l.toCustomToolName("local_shell"),input:JSON.stringify({action:{type:"exec",command:ui.item.action.command,timeoutMs:ui.item.action.timeout_ms,user:ui.item.action.user,workingDirectory:ui.item.action.working_directory,env:ui.item.action.env}}),providerMetadata:{[E]:{itemId:ui.item.id}}});else if(ui.item.type==="shell_call")y[ui.output_index]=void 0,k.enqueue({type:"tool-call",toolCallId:ui.item.call_id,toolName:l.toCustomToolName("shell"),input:JSON.stringify({action:{commands:ui.item.action.commands}}),...d&&{providerExecuted:!0},providerMetadata:{[E]:{itemId:ui.item.id}}});else if(ui.item.type==="shell_call_output")k.enqueue({type:"tool-result",toolCallId:ui.item.call_id,toolName:l.toCustomToolName("shell"),result:{output:ui.item.output.map(($u)=>({stdout:$u.stdout,stderr:$u.stderr,outcome:$u.outcome.type==="exit"?{type:"exit",exitCode:$u.outcome.exit_code}:{type:"timeout"}}))}});else if(ui.item.type==="reasoning"){let $u=F[ui.item.id],it=Object.entries($u.summaryParts).filter(([ut,Y1])=>Y1==="active"||Y1==="can-conclude").map(([ut])=>ut);for(let ut of it)k.enqueue({type:"reasoning-end",id:`${ui.item.id}:${ut}`,providerMetadata:{[E]:{itemId:ui.item.id,reasoningEncryptedContent:(Oi=ui.item.encrypted_content)!=null?Oi:null}}});delete F[ui.item.id]}}else if(lBf(ui)){let $u=y[ui.output_index];if($u!=null)k.enqueue({type:"tool-input-delta",id:$u.toolCallId,delta:ui.delta})}else if(cBf(ui)){let $u=y[ui.output_index];if($u!=null)k.enqueue({type:"tool-input-delta",id:$u.toolCallId,delta:ui.delta})}else if(wBf(ui)){let $u=y[ui.output_index];if($u==null?void 0:$u.applyPatch)k.enqueue({type:"tool-input-delta",id:$u.toolCallId,delta:yy(ui.delta)}),$u.applyPatch.hasDiff=!0}else if(hBf(ui)){let $u=y[ui.output_index];if(($u==null?void 0:$u.applyPatch)&&!$u.applyPatch.endEmitted){if(!$u.applyPatch.hasDiff)k.enqueue({type:"tool-input-delta",id:$u.toolCallId,delta:yy(ui.diff)}),$u.applyPatch.hasDiff=!0;k.enqueue({type:"tool-input-delta",id:$u.toolCallId,delta:'"}}'}),k.enqueue({type:"tool-input-end",id:$u.toolCallId}),$u.applyPatch.endEmitted=!0}}else if(EBf(ui))k.enqueue({type:"tool-result",toolCallId:ui.item_id,toolName:l.toCustomToolName("image_generation"),result:{result:ui.partial_image_b64},preliminary:!0});else if(dBf(ui)){let $u=y[ui.output_index];if($u!=null)k.enqueue({type:"tool-input-delta",id:$u.toolCallId,delta:yy(ui.delta)})}else if($Bf(ui)){let $u=y[ui.output_index];if($u!=null)k.enqueue({type:"tool-input-delta",id:$u.toolCallId,delta:'"}'}),k.enqueue({type:"tool-input-end",id:$u.toolCallId}),k.enqueue({type:"tool-call",toolCallId:$u.toolCallId,toolName:l.toCustomToolName("code_interpreter"),input:JSON.stringify({code:ui.code,containerId:$u.codeInterpreter.containerId}),providerExecuted:!0})}else if(fBf(ui))N=ui.response.id,k.enqueue({type:"response-metadata",id:ui.response.id,timestamp:new Date(ui.response.created_at*1000),modelId:ui.response.model});else if(pTf(ui)){if(k.enqueue({type:"text-delta",id:ui.item_id,delta:ui.delta}),((Pi=(Xi=i.providerOptions)==null?void 0:Xi[E])==null?void 0:Pi.logprobs)&&ui.logprobs)O.push(ui.logprobs)}else if(ui.type==="response.reasoning_summary_part.added"){if(ui.summary_index>0){let $u=F[ui.item_id];$u.summaryParts[ui.summary_index]="active";for(let it of Object.keys($u.summaryParts))if($u.summaryParts[it]==="can-conclude")k.enqueue({type:"reasoning-end",id:`${ui.item_id}:${it}`,providerMetadata:{[E]:{itemId:ui.item_id}}}),$u.summaryParts[it]="concluded";k.enqueue({type:"reasoning-start",id:`${ui.item_id}:${ui.summary_index}`,providerMetadata:{[E]:{itemId:ui.item_id,reasoningEncryptedContent:($i=(ni=F[ui.item_id])==null?void 0:ni.encryptedContent)!=null?$i:null}}})}}else if(ui.type==="response.reasoning_summary_text.delta")k.enqueue({type:"reasoning-delta",id:`${ui.item_id}:${ui.summary_index}`,delta:ui.delta,providerMetadata:{[E]:{itemId:ui.item_id}}});else if(ui.type==="response.reasoning_summary_part.done")if(c)k.enqueue({type:"reasoning-end",id:`${ui.item_id}:${ui.summary_index}`,providerMetadata:{[E]:{itemId:ui.item_id}}}),F[ui.item_id].summaryParts[ui.summary_index]="concluded";else F[ui.item_id].summaryParts[ui.summary_index]="can-conclude";else if(uBf(ui)){if(n={unified:uuu({finishReason:(ci=ui.response.incomplete_details)==null?void 0:ci.reason,hasFunctionCall:B}),raw:(e=(ji=ui.response.incomplete_details)==null?void 0:ji.reason)!=null?e:void 0},D=ui.response.usage,typeof ui.response.service_tier==="string")P=ui.response.service_tier}else if(tBf(ui)){let $u=(ti=ui.response.incomplete_details)==null?void 0:ti.reason;n={unified:$u?uuu({finishReason:$u,hasFunctionCall:B}):"error",raw:$u!=null?$u:"error"},D=(ai=ui.response.usage)!=null?ai:void 0}else if(_Bf(ui)){if(Z.push(ui.annotation),ui.annotation.type==="url_citation")k.enqueue({type:"source",sourceType:"url",id:(r=(q=(Ai=h.config).generateId)==null?void 0:q.call(Ai))!=null?r:Vu(),url:ui.annotation.url,title:ui.annotation.title});else if(ui.annotation.type==="file_citation")k.enqueue({type:"source",sourceType:"document",id:(gu=(zi=(Ki=h.config).generateId)==null?void 0:zi.call(Ki))!=null?gu:Vu(),mediaType:"text/plain",title:ui.annotation.filename,filename:ui.annotation.filename,providerMetadata:{[E]:{type:ui.annotation.type,fileId:ui.annotation.file_id,index:ui.annotation.index}}});else if(ui.annotation.type==="container_file_citation")k.enqueue({type:"source",sourceType:"document",id:(S0=(Bu=(ri=h.config).generateId)==null?void 0:Bu.call(ri))!=null?S0:Vu(),mediaType:"text/plain",title:ui.annotation.filename,filename:ui.annotation.filename,providerMetadata:{[E]:{type:ui.annotation.type,fileId:ui.annotation.file_id,containerId:ui.annotation.container_id}}});else if(ui.annotation.type==="file_path")k.enqueue({type:"source",sourceType:"document",id:(u1=(J4=(Bf=h.config).generateId)==null?void 0:J4.call(Bf))!=null?u1:Vu(),mediaType:"application/octet-stream",title:ui.annotation.file_id,filename:ui.annotation.file_id,providerMetadata:{[E]:{type:ui.annotation.type,fileId:ui.annotation.file_id,index:ui.annotation.index}}})}else if(vBf(ui))k.enqueue({type:"error",error:ui})},flush(A){let k={[E]:{responseId:N,...O.length>0?{logprobs:O}:{},...P!==void 0?{serviceTier:P}:{}}};A.enqueue({type:"finish",finishReason:n,usage:P20(D),providerMetadata:k})}})),request:{body:u},response:{headers:$}}}},nBf,DBf=class{constructor(i,u){this.modelId=i,this.config=u,this.specificationVersion="v3"}get provider(){return this.config.provider}async getArgs({text:i,voice:u="alloy",outputFormat:t="mp3",speed:f,instructions:l,language:c,providerOptions:E}){let d=[],$=await kt({provider:"openai",providerOptions:E,schema:nBf}),w={model:this.modelId,input:i,voice:u,response_format:"mp3",speed:f,instructions:l};if(t)if(["mp3","opus","aac","flac","wav","pcm"].includes(t))w.response_format=t;else d.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${t}. Using mp3 instead.`});if($){let h={};for(let _ in h){let v=h[_];if(v!==void 0)w[_]=v}}if(c)d.push({type:"unsupported",feature:"language",details:`OpenAI speech models do not support language selection. Language parameter "${c}" was ignored.`});return{requestBody:w,warnings:d}}async doGenerate(i){var u,t,f;let l=(f=(t=(u=this.config._internal)==null?void 0:u.currentDate)==null?void 0:t.call(u))!=null?f:new Date,{requestBody:c,warnings:E}=await this.getArgs(i),{value:d,responseHeaders:$,rawValue:w}=await Nt({url:this.config.url({path:"/audio/speech",modelId:this.modelId}),headers:s0(this.config.headers(),i.headers),body:c,failedResponseHandler:f_,successfulResponseHandler:j50(),abortSignal:i.abortSignal,fetch:this.config.fetch});return{audio:d,warnings:E,request:{body:JSON.stringify(c)},response:{timestamp:l,modelId:this.modelId,headers:$,body:w}}}},gBf,OBf,j20,NBf=class{constructor(i,u){this.modelId=i,this.config=u,this.specificationVersion="v3"}get provider(){return this.config.provider}async getArgs({audio:i,mediaType:u,providerOptions:t}){let f=[],l=await kt({provider:"openai",providerOptions:t,schema:OBf}),c=new FormData,E=i instanceof Uint8Array?new Blob([i]):new Blob([k1(i)]);c.append("model",this.modelId);let d=I50(u);if(c.append("file",new File([E],"audio",{type:u}),`audio.${d}`),l){let $={include:l.include,language:l.language,prompt:l.prompt,response_format:["gpt-4o-transcribe","gpt-4o-mini-transcribe"].includes(this.modelId)?"json":"verbose_json",temperature:l.temperature,timestamp_granularities:l.timestampGranularities};for(let[w,h]of Object.entries($))if(h!=null)if(Array.isArray(h))for(let _ of h)c.append(`${w}[]`,String(_));else c.append(w,String(h))}return{formData:c,warnings:f}}async doGenerate(i){var u,t,f,l,c,E,d,$;let w=(f=(t=(u=this.config._internal)==null?void 0:u.currentDate)==null?void 0:t.call(u))!=null?f:new Date,{formData:h,warnings:_}=await this.getArgs(i),{value:v,responseHeaders:n,rawValue:D}=await N$i({url:this.config.url({path:"/audio/transcriptions",modelId:this.modelId}),headers:s0(this.config.headers(),i.headers),formData:h,failedResponseHandler:f_,successfulResponseHandler:dt(gBf),abortSignal:i.abortSignal,fetch:this.config.fetch}),O=v.language!=null&&v.language in j20?j20[v.language]:void 0;return{text:v.text,segments:(d=(E=(l=v.segments)==null?void 0:l.map((N)=>({text:N.text,startSecond:N.start,endSecond:N.end})))!=null?E:(c=v.words)==null?void 0:c.map((N)=>({text:N.word,startSecond:N.start,endSecond:N.end})))!=null?d:[],language:O,durationInSeconds:($=v.duration)!=null?$:void 0,warnings:_,response:{timestamp:w,modelId:this.modelId,headers:n,body:D}}}},yBf="3.0.73",zYl;var Fwi=g(()=>{uu();ru();uu();uu();ru();uu();uu();uu();ru();uu();ru();uu();uu();ru();uu();uu();uu();uu();uu();uu();uu();uu();uu();uu();uu();uu();uu();uu();uu();uu();uu();ru();uu();ru();uu();uu();uu();ru();uu();uu();uu();uu();uu();uu();duu=qg.object({error:qg.object({message:qg.string(),type:qg.string().nullish(),param:qg.any().nullish(),code:qg.union([qg.string(),qg.number()]).nullish()})}),f_=Jl({errorSchema:duu,errorToMessage:(i)=>i.error.message});WZf=Ji(()=>gi(xu.object({id:xu.string().nullish(),created:xu.number().nullish(),model:xu.string().nullish(),choices:xu.array(xu.object({message:xu.object({role:xu.literal("assistant").nullish(),content:xu.string().nullish(),tool_calls:xu.array(xu.object({id:xu.string().nullish(),type:xu.literal("function"),function:xu.object({name:xu.string(),arguments:xu.string()})})).nullish(),annotations:xu.array(xu.object({type:xu.literal("url_citation"),url_citation:xu.object({start_index:xu.number(),end_index:xu.number(),url:xu.string(),title:xu.string()})})).nullish()}),index:xu.number(),logprobs:xu.object({content:xu.array(xu.object({token:xu.string(),logprob:xu.number(),top_logprobs:xu.array(xu.object({token:xu.string(),logprob:xu.number()}))})).nullish()}).nullish(),finish_reason:xu.string().nullish()})),usage:xu.object({prompt_tokens:xu.number().nullish(),completion_tokens:xu.number().nullish(),total_tokens:xu.number().nullish(),prompt_tokens_details:xu.object({cached_tokens:xu.number().nullish()}).nullish(),completion_tokens_details:xu.object({reasoning_tokens:xu.number().nullish(),accepted_prediction_tokens:xu.number().nullish(),rejected_prediction_tokens:xu.number().nullish()}).nullish()}).nullish()}))),YZf=Ji(()=>gi(xu.union([xu.object({id:xu.string().nullish(),created:xu.number().nullish(),model:xu.string().nullish(),choices:xu.array(xu.object({delta:xu.object({role:xu.enum(["assistant"]).nullish(),content:xu.string().nullish(),tool_calls:xu.array(xu.object({index:xu.number(),id:xu.string().nullish(),type:xu.literal("function").nullish(),function:xu.object({name:xu.string().nullish(),arguments:xu.string().nullish()})})).nullish(),annotations:xu.array(xu.object({type:xu.literal("url_citation"),url_citation:xu.object({start_index:xu.number(),end_index:xu.number(),url:xu.string(),title:xu.string()})})).nullish()}).nullish(),logprobs:xu.object({content:xu.array(xu.object({token:xu.string(),logprob:xu.number(),top_logprobs:xu.array(xu.object({token:xu.string(),logprob:xu.number()}))})).nullish()}).nullish(),finish_reason:xu.string().nullish(),index:xu.number()})),usage:xu.object({prompt_tokens:xu.number().nullish(),completion_tokens:xu.number().nullish(),total_tokens:xu.number().nullish(),prompt_tokens_details:xu.object({cached_tokens:xu.number().nullish()}).nullish(),completion_tokens_details:xu.object({reasoning_tokens:xu.number().nullish(),accepted_prediction_tokens:xu.number().nullish(),rejected_prediction_tokens:xu.number().nullish()}).nullish()}).nullish()}),duu]))),zZf=Ji(()=>gi(hl.object({logitBias:hl.record(hl.coerce.number(),hl.number()).optional(),logprobs:hl.union([hl.boolean(),hl.number()]).optional(),parallelToolCalls:hl.boolean().optional(),user:hl.string().optional(),reasoningEffort:hl.enum(["none","minimal","low","medium","high","xhigh"]).optional(),maxCompletionTokens:hl.number().optional(),store:hl.boolean().optional(),metadata:hl.record(hl.string().max(64),hl.string().max(512)).optional(),prediction:hl.record(hl.string(),hl.any()).optional(),serviceTier:hl.enum(["auto","flex","priority","default"]).optional(),strictJsonSchema:hl.boolean().optional(),textVerbosity:hl.enum(["low","medium","high"]).optional(),promptCacheKey:hl.string().optional(),promptCacheRetention:hl.enum(["in_memory","24h"]).optional(),safetyIdentifier:hl.string().optional(),systemMessageMode:hl.enum(["system","developer","remove"]).optional(),forceReasoning:hl.boolean().optional()})));RZf=Ji(()=>gi(nt.object({id:nt.string().nullish(),created:nt.number().nullish(),model:nt.string().nullish(),choices:nt.array(nt.object({text:nt.string(),finish_reason:nt.string(),logprobs:nt.object({tokens:nt.array(nt.string()),token_logprobs:nt.array(nt.number()),top_logprobs:nt.array(nt.record(nt.string(),nt.number())).nullish()}).nullish()})),usage:nt.object({prompt_tokens:nt.number(),completion_tokens:nt.number(),total_tokens:nt.number()}).nullish()}))),CZf=Ji(()=>gi(nt.union([nt.object({id:nt.string().nullish(),created:nt.number().nullish(),model:nt.string().nullish(),choices:nt.array(nt.object({text:nt.string(),finish_reason:nt.string().nullish(),index:nt.number(),logprobs:nt.object({tokens:nt.array(nt.string()),token_logprobs:nt.array(nt.number()),top_logprobs:nt.array(nt.record(nt.string(),nt.number())).nullish()}).nullish()})),usage:nt.object({prompt_tokens:nt.number(),completion_tokens:nt.number(),total_tokens:nt.number()}).nullish()}),duu]))),F20=Ji(()=>gi(Cv.object({echo:Cv.boolean().optional(),logitBias:Cv.record(Cv.string(),Cv.number()).optional(),suffix:Cv.string().optional(),user:Cv.string().optional(),logprobs:Cv.union([Cv.boolean(),Cv.number()]).optional()}))),qZf=Ji(()=>gi(piu.object({dimensions:piu.number().optional(),user:piu.string().optional()}))),VZf=Ji(()=>gi(Ny.object({data:Ny.array(Ny.object({embedding:Ny.array(Ny.number())})),usage:Ny.object({prompt_tokens:Ny.number()}).nullish()}))),U20=Ji(()=>gi(x6.object({created:x6.number().nullish(),data:x6.array(x6.object({b64_json:x6.string(),revised_prompt:x6.string().nullish()})),background:x6.string().nullish(),output_format:x6.string().nullish(),size:x6.string().nullish(),quality:x6.string().nullish(),usage:x6.object({input_tokens:x6.number().nullish(),output_tokens:x6.number().nullish(),total_tokens:x6.number().nullish(),input_tokens_details:x6.object({image_tokens:x6.number().nullish(),text_tokens:x6.number().nullish()}).nullish()}).nullish()}))),mZf={"dall-e-3":1,"dall-e-2":10,"gpt-image-1":10,"gpt-image-1-mini":10,"gpt-image-1.5":10,"gpt-image-2":10,"chatgpt-image-latest":10},eZf=["chatgpt-image-","gpt-image-1-mini","gpt-image-1.5","gpt-image-1","gpt-image-2"];$uu=ED.object({quality:ED.enum(["standard","hd","low","medium","high","auto"]).optional(),background:ED.enum(["transparent","opaque","auto"]).optional(),outputFormat:ED.enum(["png","jpeg","webp"]).optional(),outputCompression:ED.number().int().min(0).max(100).optional(),user:ED.string().optional()}),mWl=Ji(()=>gi($uu)),oZf=Ji(()=>gi($uu.extend({style:ED.enum(["vivid","natural"]).optional(),moderation:ED.enum(["auto","low"]).optional()}))),sZf=Ji(()=>gi($uu.extend({inputFidelity:ED.enum(["high","low"]).optional()})));J20=Ji(()=>gi(Vc.object({callId:Vc.string(),operation:Vc.discriminatedUnion("type",[Vc.object({type:Vc.literal("create_file"),path:Vc.string(),diff:Vc.string()}),Vc.object({type:Vc.literal("delete_file"),path:Vc.string()}),Vc.object({type:Vc.literal("update_file"),path:Vc.string(),diff:Vc.string()})])}))),X20=Ji(()=>gi(Vc.object({status:Vc.enum(["completed","failed"]),output:Vc.string().optional()}))),oWl=Ji(()=>gi(Vc.object({}))),uTf=p0({id:"openai.apply_patch",inputSchema:J20,outputSchema:X20}),tTf=uTf,fTf=Ji(()=>gi(rc.object({code:rc.string().nullish(),containerId:rc.string()}))),lTf=Ji(()=>gi(rc.object({outputs:rc.array(rc.discriminatedUnion("type",[rc.object({type:rc.literal("logs"),logs:rc.string()}),rc.object({type:rc.literal("image"),url:rc.string()})])).nullish()}))),cTf=Ji(()=>gi(rc.object({container:rc.union([rc.string(),rc.object({fileIds:rc.array(rc.string()).optional()})]).optional()}))),ETf=p0({id:"openai.code_interpreter",inputSchema:fTf,outputSchema:lTf}),$Tf=Ji(()=>gi(t_.object({name:t_.string(),description:t_.string().optional(),format:t_.union([t_.object({type:t_.literal("grammar"),syntax:t_.enum(["regex","lark"]),definition:t_.string()}),t_.object({type:t_.literal("text")})]).optional()}))),wTf=Ji(()=>gi(t_.string())),hTf=Hf({id:"openai.custom",inputSchema:wTf}),L20=Jf.object({key:Jf.string(),type:Jf.enum(["eq","ne","gt","gte","lt","lte","in","nin"]),value:Jf.union([Jf.string(),Jf.number(),Jf.boolean(),Jf.array(Jf.string())])}),W20=Jf.object({type:Jf.enum(["and","or"]),filters:Jf.array(Jf.union([L20,Jf.lazy(()=>W20)]))}),vTf=Ji(()=>gi(Jf.object({vectorStoreIds:Jf.array(Jf.string()),maxNumResults:Jf.number().optional(),ranking:Jf.object({ranker:Jf.string().optional(),scoreThreshold:Jf.number().optional()}).optional(),filters:Jf.union([L20,W20]).optional()}))),nTf=Ji(()=>gi(Jf.object({queries:Jf.array(Jf.string()),results:Jf.array(Jf.object({attributes:Jf.record(Jf.string(),Jf.unknown()),fileId:Jf.string(),filename:Jf.string(),score:Jf.number(),text:Jf.string()})).nullable()}))),DTf=p0({id:"openai.file_search",inputSchema:Jf.object({}),outputSchema:nTf}),gTf=Ji(()=>gi(OE.object({background:OE.enum(["auto","opaque","transparent"]).optional(),inputFidelity:OE.enum(["low","high"]).optional(),inputImageMask:OE.object({fileId:OE.string().optional(),imageUrl:OE.string().optional()}).optional(),model:OE.string().optional(),moderation:OE.enum(["auto"]).optional(),outputCompression:OE.number().int().min(0).max(100).optional(),outputFormat:OE.enum(["png","jpeg","webp"]).optional(),partialImages:OE.number().int().min(0).max(3).optional(),quality:OE.enum(["auto","low","medium","high"]).optional(),size:OE.enum(["1024x1024","1024x1536","1536x1024","auto"]).optional()}).strict())),OTf=Ji(()=>gi(OE.object({}))),NTf=Ji(()=>gi(OE.object({result:OE.string()}))),yTf=p0({id:"openai.image_generation",inputSchema:OTf,outputSchema:NTf}),Y20=Ji(()=>gi(dw.object({action:dw.object({type:dw.literal("exec"),command:dw.array(dw.string()),timeoutMs:dw.number().optional(),user:dw.string().optional(),workingDirectory:dw.string().optional(),env:dw.record(dw.string(),dw.string()).optional()})}))),z20=Ji(()=>gi(dw.object({output:dw.string()}))),TTf=p0({id:"openai.local_shell",inputSchema:Y20,outputSchema:z20}),Q20=Ji(()=>gi(g0.object({action:g0.object({commands:g0.array(g0.string()),timeoutMs:g0.number().optional(),maxOutputLength:g0.number().optional()})}))),fuu=Ji(()=>gi(g0.object({output:g0.array(g0.object({stdout:g0.string(),stderr:g0.string(),outcome:g0.discriminatedUnion("type",[g0.object({type:g0.literal("timeout")}),g0.object({type:g0.literal("exit"),exitCode:g0.number()})])}))}))),BTf=g0.array(g0.discriminatedUnion("type",[g0.object({type:g0.literal("skillReference"),skillId:g0.string(),version:g0.string().optional()}),g0.object({type:g0.literal("inline"),name:g0.string(),description:g0.string(),source:g0.object({type:g0.literal("base64"),mediaType:g0.literal("application/zip"),data:g0.string()})})])).optional(),FTf=Ji(()=>gi(g0.object({environment:g0.union([g0.object({type:g0.literal("containerAuto"),fileIds:g0.array(g0.string()).optional(),memoryLimit:g0.enum(["1g","4g","16g","64g"]).optional(),networkPolicy:g0.discriminatedUnion("type",[g0.object({type:g0.literal("disabled")}),g0.object({type:g0.literal("allowlist"),allowedDomains:g0.array(g0.string()),domainSecrets:g0.array(g0.object({domain:g0.string(),name:g0.string(),value:g0.string()})).optional()})]).optional(),skills:BTf}),g0.object({type:g0.literal("containerReference"),containerId:g0.string()}),g0.object({type:g0.literal("local").optional(),skills:g0.array(g0.object({name:g0.string(),description:g0.string(),path:g0.string()})).optional()})]).optional()}))),UTf=p0({id:"openai.shell",inputSchema:Q20,outputSchema:fuu}),ITf=Ji(()=>gi(u$.object({execution:u$.enum(["server","client"]).optional(),description:u$.string().optional(),parameters:u$.record(u$.string(),u$.unknown()).optional()}))),luu=Ji(()=>gi(u$.object({arguments:u$.unknown().optional(),call_id:u$.string().nullish()}))),cuu=Ji(()=>gi(u$.object({tools:u$.array(u$.record(u$.string(),u$.unknown()))}))),PTf=p0({id:"openai.tool_search",inputSchema:luu,outputSchema:cuu}),xTf=Ji(()=>gi(Kf.object({externalWebAccess:Kf.boolean().optional(),filters:Kf.object({allowedDomains:Kf.array(Kf.string()).optional()}).optional(),searchContextSize:Kf.enum(["low","medium","high"]).optional(),userLocation:Kf.object({type:Kf.literal("approximate"),country:Kf.string().optional(),city:Kf.string().optional(),region:Kf.string().optional(),timezone:Kf.string().optional()}).optional()}))),kTf=Ji(()=>gi(Kf.object({}))),GTf=Ji(()=>gi(Kf.object({action:Kf.discriminatedUnion("type",[Kf.object({type:Kf.literal("search"),query:Kf.string().optional(),queries:Kf.array(Kf.string()).optional()}),Kf.object({type:Kf.literal("openPage"),url:Kf.string().nullish()}),Kf.object({type:Kf.literal("findInPage"),url:Kf.string().nullish(),pattern:Kf.string().nullish()})]).optional(),sources:Kf.array(Kf.discriminatedUnion("type",[Kf.object({type:Kf.literal("url"),url:Kf.string()}),Kf.object({type:Kf.literal("api"),name:Kf.string()})])).optional()}))),STf=p0({id:"openai.web_search",inputSchema:kTf,outputSchema:GTf}),KTf=Ji(()=>gi(j1.object({searchContextSize:j1.enum(["low","medium","high"]).optional(),userLocation:j1.object({type:j1.literal("approximate"),country:j1.string().optional(),city:j1.string().optional(),region:j1.string().optional(),timezone:j1.string().optional()}).optional()}))),JTf=Ji(()=>gi(j1.object({}))),XTf=Ji(()=>gi(j1.object({action:j1.discriminatedUnion("type",[j1.object({type:j1.literal("search"),query:j1.string().optional()}),j1.object({type:j1.literal("openPage"),url:j1.string().nullish()}),j1.object({type:j1.literal("findInPage"),url:j1.string().nullish(),pattern:j1.string().nullish()})]).optional()}))),LTf=p0({id:"openai.web_search_preview",inputSchema:JTf,outputSchema:XTf}),Euu=Ct.lazy(()=>Ct.union([Ct.string(),Ct.number(),Ct.boolean(),Ct.null(),Ct.array(Euu),Ct.record(Ct.string(),Euu)])),WTf=Ji(()=>gi(Ct.object({serverLabel:Ct.string(),allowedTools:Ct.union([Ct.array(Ct.string()),Ct.object({readOnly:Ct.boolean().optional(),toolNames:Ct.array(Ct.string()).optional()})]).optional(),authorization:Ct.string().optional(),connectorId:Ct.string().optional(),headers:Ct.record(Ct.string(),Ct.string()).optional(),requireApproval:Ct.union([Ct.enum(["always","never"]),Ct.object({never:Ct.object({toolNames:Ct.array(Ct.string()).optional()}).optional()})]).optional(),serverDescription:Ct.string().optional(),serverUrl:Ct.string().optional()}).refine((i)=>i.serverUrl!=null||i.connectorId!=null,"One of serverUrl or connectorId must be provided."))),YTf=Ji(()=>gi(Ct.object({}))),zTf=Ji(()=>gi(Ct.object({type:Ct.literal("call"),serverLabel:Ct.string(),name:Ct.string(),arguments:Ct.string(),output:Ct.string().nullish(),error:Ct.union([Ct.string(),Euu]).optional()}))),QTf=p0({id:"openai.mcp",inputSchema:YTf,outputSchema:zTf}),bTf={applyPatch:tTf,customTool:_Tf,codeInterpreter:dTf,fileSearch:DTf,imageGeneration:ZTf,localShell:TTf,shell:UTf,webSearchPreview:LTf,webSearch:jTf,mcp:HTf,toolSearch:ATf};MTf=iuu.object({itemId:iuu.string().nullish(),reasoningEncryptedContent:iuu.string().nullish()});Je=U.lazy(()=>U.union([U.string(),U.number(),U.boolean(),U.null(),U.array(Je),U.record(U.string(),Je.optional())])),qTf=Ji(()=>gi(U.union([U.object({type:U.literal("response.output_text.delta"),item_id:U.string(),delta:U.string(),logprobs:U.array(U.object({token:U.string(),logprob:U.number(),top_logprobs:U.array(U.object({token:U.string(),logprob:U.number()}))})).nullish()}),U.object({type:U.enum(["response.completed","response.incomplete"]),response:U.object({incomplete_details:U.object({reason:U.string()}).nullish(),usage:U.object({input_tokens:U.number(),input_tokens_details:U.object({cached_tokens:U.number().nullish()}).nullish(),output_tokens:U.number(),output_tokens_details:U.object({reasoning_tokens:U.number().nullish()}).nullish()}),service_tier:U.string().nullish()})}),U.object({type:U.literal("response.failed"),response:U.object({error:U.object({code:U.string().nullish(),message:U.string()}).nullish(),incomplete_details:U.object({reason:U.string()}).nullish(),usage:U.object({input_tokens:U.number(),input_tokens_details:U.object({cached_tokens:U.number().nullish()}).nullish(),output_tokens:U.number(),output_tokens_details:U.object({reasoning_tokens:U.number().nullish()}).nullish()}).nullish(),service_tier:U.string().nullish()})}),U.object({type:U.literal("response.created"),response:U.object({id:U.string(),created_at:U.number(),model:U.string(),service_tier:U.string().nullish()})}),U.object({type:U.literal("response.output_item.added"),output_index:U.number(),item:U.discriminatedUnion("type",[U.object({type:U.literal("message"),id:U.string(),phase:U.enum(["commentary","final_answer"]).nullish()}),U.object({type:U.literal("reasoning"),id:U.string(),encrypted_content:U.string().nullish()}),U.object({type:U.literal("function_call"),id:U.string(),call_id:U.string(),name:U.string(),arguments:U.string(),namespace:U.string().nullish()}),U.object({type:U.literal("web_search_call"),id:U.string(),status:U.string()}),U.object({type:U.literal("computer_call"),id:U.string(),status:U.string()}),U.object({type:U.literal("file_search_call"),id:U.string()}),U.object({type:U.literal("image_generation_call"),id:U.string()}),U.object({type:U.literal("code_interpreter_call"),id:U.string(),container_id:U.string(),code:U.string().nullable(),outputs:U.array(U.discriminatedUnion("type",[U.object({type:U.literal("logs"),logs:U.string()}),U.object({type:U.literal("image"),url:U.string()})])).nullable(),status:U.string()}),U.object({type:U.literal("mcp_call"),id:U.string(),status:U.string(),approval_request_id:U.string().nullish()}),U.object({type:U.literal("mcp_list_tools"),id:U.string()}),U.object({type:U.literal("mcp_approval_request"),id:U.string()}),U.object({type:U.literal("apply_patch_call"),id:U.string(),call_id:U.string(),status:U.enum(["in_progress","completed"]),operation:U.discriminatedUnion("type",[U.object({type:U.literal("create_file"),path:U.string(),diff:U.string()}),U.object({type:U.literal("delete_file"),path:U.string()}),U.object({type:U.literal("update_file"),path:U.string(),diff:U.string()})])}),U.object({type:U.literal("custom_tool_call"),id:U.string(),call_id:U.string(),name:U.string(),input:U.string()}),U.object({type:U.literal("shell_call"),id:U.string(),call_id:U.string(),status:U.enum(["in_progress","completed","incomplete"]),action:U.object({commands:U.array(U.string())})}),U.object({type:U.literal("shell_call_output"),id:U.string(),call_id:U.string(),status:U.enum(["in_progress","completed","incomplete"]),output:U.array(U.object({stdout:U.string(),stderr:U.string(),outcome:U.discriminatedUnion("type",[U.object({type:U.literal("timeout")}),U.object({type:U.literal("exit"),exit_code:U.number()})])}))}),U.object({type:U.literal("tool_search_call"),id:U.string(),execution:U.enum(["server","client"]),call_id:U.string().nullable(),status:U.enum(["in_progress","completed","incomplete"]),arguments:U.unknown()}),U.object({type:U.literal("tool_search_output"),id:U.string(),execution:U.enum(["server","client"]),call_id:U.string().nullable(),status:U.enum(["in_progress","completed","incomplete"]),tools:U.array(U.record(U.string(),Je.optional()))})])}),U.object({type:U.literal("response.output_item.done"),output_index:U.number(),item:U.discriminatedUnion("type",[U.object({type:U.literal("message"),id:U.string(),phase:U.enum(["commentary","final_answer"]).nullish()}),U.object({type:U.literal("reasoning"),id:U.string(),encrypted_content:U.string().nullish()}),U.object({type:U.literal("function_call"),id:U.string(),call_id:U.string(),name:U.string(),arguments:U.string(),status:U.literal("completed"),namespace:U.string().nullish()}),U.object({type:U.literal("custom_tool_call"),id:U.string(),call_id:U.string(),name:U.string(),input:U.string(),status:U.literal("completed")}),U.object({type:U.literal("code_interpreter_call"),id:U.string(),code:U.string().nullable(),container_id:U.string(),outputs:U.array(U.discriminatedUnion("type",[U.object({type:U.literal("logs"),logs:U.string()}),U.object({type:U.literal("image"),url:U.string()})])).nullable()}),U.object({type:U.literal("image_generation_call"),id:U.string(),result:U.string()}),U.object({type:U.literal("web_search_call"),id:U.string(),status:U.string(),action:U.discriminatedUnion("type",[U.object({type:U.literal("search"),query:U.string().nullish(),queries:U.array(U.string()).nullish(),sources:U.array(U.discriminatedUnion("type",[U.object({type:U.literal("url"),url:U.string()}),U.object({type:U.literal("api"),name:U.string()})])).nullish()}),U.object({type:U.literal("open_page"),url:U.string().nullish()}),U.object({type:U.literal("find_in_page"),url:U.string().nullish(),pattern:U.string().nullish()})]).nullish()}),U.object({type:U.literal("file_search_call"),id:U.string(),queries:U.array(U.string()),results:U.array(U.object({attributes:U.record(U.string(),U.union([U.string(),U.number(),U.boolean()])),file_id:U.string(),filename:U.string(),score:U.number(),text:U.string()})).nullish()}),U.object({type:U.literal("local_shell_call"),id:U.string(),call_id:U.string(),action:U.object({type:U.literal("exec"),command:U.array(U.string()),timeout_ms:U.number().optional(),user:U.string().optional(),working_directory:U.string().optional(),env:U.record(U.string(),U.string()).optional()})}),U.object({type:U.literal("computer_call"),id:U.string(),status:U.literal("completed")}),U.object({type:U.literal("mcp_call"),id:U.string(),status:U.string(),arguments:U.string(),name:U.string(),server_label:U.string(),output:U.string().nullish(),error:U.union([U.string(),U.object({type:U.string().optional(),code:U.union([U.number(),U.string()]).optional(),message:U.string().optional()}).loose()]).nullish(),approval_request_id:U.string().nullish()}),U.object({type:U.literal("mcp_list_tools"),id:U.string(),server_label:U.string(),tools:U.array(U.object({name:U.string(),description:U.string().optional(),input_schema:U.any(),annotations:U.record(U.string(),U.unknown()).optional()})),error:U.union([U.string(),U.object({type:U.string().optional(),code:U.union([U.number(),U.string()]).optional(),message:U.string().optional()}).loose()]).optional()}),U.object({type:U.literal("mcp_approval_request"),id:U.string(),server_label:U.string(),name:U.string(),arguments:U.string(),approval_request_id:U.string().optional()}),U.object({type:U.literal("apply_patch_call"),id:U.string(),call_id:U.string(),status:U.enum(["in_progress","completed"]),operation:U.discriminatedUnion("type",[U.object({type:U.literal("create_file"),path:U.string(),diff:U.string()}),U.object({type:U.literal("delete_file"),path:U.string()}),U.object({type:U.literal("update_file"),path:U.string(),diff:U.string()})])}),U.object({type:U.literal("shell_call"),id:U.string(),call_id:U.string(),status:U.enum(["in_progress","completed","incomplete"]),action:U.object({commands:U.array(U.string())})}),U.object({type:U.literal("shell_call_output"),id:U.string(),call_id:U.string(),status:U.enum(["in_progress","completed","incomplete"]),output:U.array(U.object({stdout:U.string(),stderr:U.string(),outcome:U.discriminatedUnion("type",[U.object({type:U.literal("timeout")}),U.object({type:U.literal("exit"),exit_code:U.number()})])}))}),U.object({type:U.literal("tool_search_call"),id:U.string(),execution:U.enum(["server","client"]),call_id:U.string().nullable(),status:U.enum(["in_progress","completed","incomplete"]),arguments:U.unknown()}),U.object({type:U.literal("tool_search_output"),id:U.string(),execution:U.enum(["server","client"]),call_id:U.string().nullable(),status:U.enum(["in_progress","completed","incomplete"]),tools:U.array(U.record(U.string(),Je.optional()))})])}),U.object({type:U.literal("response.function_call_arguments.delta"),item_id:U.string(),output_index:U.number(),delta:U.string()}),U.object({type:U.literal("response.custom_tool_call_input.delta"),item_id:U.string(),output_index:U.number(),delta:U.string()}),U.object({type:U.literal("response.image_generation_call.partial_image"),item_id:U.string(),output_index:U.number(),partial_image_b64:U.string()}),U.object({type:U.literal("response.code_interpreter_call_code.delta"),item_id:U.string(),output_index:U.number(),delta:U.string()}),U.object({type:U.literal("response.code_interpreter_call_code.done"),item_id:U.string(),output_index:U.number(),code:U.string()}),U.object({type:U.literal("response.output_text.annotation.added"),annotation:U.discriminatedUnion("type",[U.object({type:U.literal("url_citation"),start_index:U.number(),end_index:U.number(),url:U.string(),title:U.string()}),U.object({type:U.literal("file_citation"),file_id:U.string(),filename:U.string(),index:U.number()}),U.object({type:U.literal("container_file_citation"),container_id:U.string(),file_id:U.string(),filename:U.string(),start_index:U.number(),end_index:U.number()}),U.object({type:U.literal("file_path"),file_id:U.string(),index:U.number()})])}),U.object({type:U.literal("response.reasoning_summary_part.added"),item_id:U.string(),summary_index:U.number()}),U.object({type:U.literal("response.reasoning_summary_text.delta"),item_id:U.string(),summary_index:U.number(),delta:U.string()}),U.object({type:U.literal("response.reasoning_summary_part.done"),item_id:U.string(),summary_index:U.number()}),U.object({type:U.literal("response.apply_patch_call_operation_diff.delta"),item_id:U.string(),output_index:U.number(),delta:U.string(),obfuscation:U.string().nullish()}),U.object({type:U.literal("response.apply_patch_call_operation_diff.done"),item_id:U.string(),output_index:U.number(),diff:U.string()}),U.object({type:U.literal("error"),sequence_number:U.number(),error:U.object({type:U.string(),code:U.string(),message:U.string(),param:U.string().nullish()})}),U.object({type:U.string()}).loose().transform((i)=>({type:"unknown_chunk",message:i.type}))]))),VTf=Ji(()=>gi(U.object({id:U.string().optional(),created_at:U.number().optional(),error:U.object({message:U.string(),type:U.string(),param:U.string().nullish(),code:U.string()}).nullish(),model:U.string().optional(),output:U.array(U.discriminatedUnion("type",[U.object({type:U.literal("message"),role:U.literal("assistant"),id:U.string(),phase:U.enum(["commentary","final_answer"]).nullish(),content:U.array(U.object({type:U.literal("output_text"),text:U.string(),logprobs:U.array(U.object({token:U.string(),logprob:U.number(),top_logprobs:U.array(U.object({token:U.string(),logprob:U.number()}))})).nullish(),annotations:U.array(U.discriminatedUnion("type",[U.object({type:U.literal("url_citation"),start_index:U.number(),end_index:U.number(),url:U.string(),title:U.string()}),U.object({type:U.literal("file_citation"),file_id:U.string(),filename:U.string(),index:U.number()}),U.object({type:U.literal("container_file_citation"),container_id:U.string(),file_id:U.string(),filename:U.string(),start_index:U.number(),end_index:U.number()}),U.object({type:U.literal("file_path"),file_id:U.string(),index:U.number()})]))}))}),U.object({type:U.literal("web_search_call"),id:U.string(),status:U.string(),action:U.discriminatedUnion("type",[U.object({type:U.literal("search"),query:U.string().nullish(),queries:U.array(U.string()).nullish(),sources:U.array(U.discriminatedUnion("type",[U.object({type:U.literal("url"),url:U.string()}),U.object({type:U.literal("api"),name:U.string()})])).nullish()}),U.object({type:U.literal("open_page"),url:U.string().nullish()}),U.object({type:U.literal("find_in_page"),url:U.string().nullish(),pattern:U.string().nullish()})]).nullish()}),U.object({type:U.literal("file_search_call"),id:U.string(),queries:U.array(U.string()),results:U.array(U.object({attributes:U.record(U.string(),U.union([U.string(),U.number(),U.boolean()])),file_id:U.string(),filename:U.string(),score:U.number(),text:U.string()})).nullish()}),U.object({type:U.literal("code_interpreter_call"),id:U.string(),code:U.string().nullable(),container_id:U.string(),outputs:U.array(U.discriminatedUnion("type",[U.object({type:U.literal("logs"),logs:U.string()}),U.object({type:U.literal("image"),url:U.string()})])).nullable()}),U.object({type:U.literal("image_generation_call"),id:U.string(),result:U.string()}),U.object({type:U.literal("local_shell_call"),id:U.string(),call_id:U.string(),action:U.object({type:U.literal("exec"),command:U.array(U.string()),timeout_ms:U.number().optional(),user:U.string().optional(),working_directory:U.string().optional(),env:U.record(U.string(),U.string()).optional()})}),U.object({type:U.literal("function_call"),call_id:U.string(),name:U.string(),arguments:U.string(),id:U.string(),namespace:U.string().nullish()}),U.object({type:U.literal("custom_tool_call"),call_id:U.string(),name:U.string(),input:U.string(),id:U.string()}),U.object({type:U.literal("computer_call"),id:U.string(),status:U.string().optional()}),U.object({type:U.literal("reasoning"),id:U.string(),encrypted_content:U.string().nullish(),summary:U.array(U.object({type:U.literal("summary_text"),text:U.string()}))}),U.object({type:U.literal("mcp_call"),id:U.string(),status:U.string(),arguments:U.string(),name:U.string(),server_label:U.string(),output:U.string().nullish(),error:U.union([U.string(),U.object({type:U.string().optional(),code:U.union([U.number(),U.string()]).optional(),message:U.string().optional()}).loose()]).nullish(),approval_request_id:U.string().nullish()}),U.object({type:U.literal("mcp_list_tools"),id:U.string(),server_label:U.string(),tools:U.array(U.object({name:U.string(),description:U.string().optional(),input_schema:U.any(),annotations:U.record(U.string(),U.unknown()).optional()})),error:U.union([U.string(),U.object({type:U.string().optional(),code:U.union([U.number(),U.string()]).optional(),message:U.string().optional()}).loose()]).optional()}),U.object({type:U.literal("mcp_approval_request"),id:U.string(),server_label:U.string(),name:U.string(),arguments:U.string(),approval_request_id:U.string().optional()}),U.object({type:U.literal("apply_patch_call"),id:U.string(),call_id:U.string(),status:U.enum(["in_progress","completed"]),operation:U.discriminatedUnion("type",[U.object({type:U.literal("create_file"),path:U.string(),diff:U.string()}),U.object({type:U.literal("delete_file"),path:U.string()}),U.object({type:U.literal("update_file"),path:U.string(),diff:U.string()})])}),U.object({type:U.literal("shell_call"),id:U.string(),call_id:U.string(),status:U.enum(["in_progress","completed","incomplete"]),action:U.object({commands:U.array(U.string())})}),U.object({type:U.literal("shell_call_output"),id:U.string(),call_id:U.string(),status:U.enum(["in_progress","completed","incomplete"]),output:U.array(U.object({stdout:U.string(),stderr:U.string(),outcome:U.discriminatedUnion("type",[U.object({type:U.literal("timeout")}),U.object({type:U.literal("exit"),exit_code:U.number()})])}))}),U.object({type:U.literal("tool_search_call"),id:U.string(),execution:U.enum(["server","client"]),call_id:U.string().nullable(),status:U.enum(["in_progress","completed","incomplete"]),arguments:U.unknown()}),U.object({type:U.literal("tool_search_output"),id:U.string(),execution:U.enum(["server","client"]),call_id:U.string().nullable(),status:U.enum(["in_progress","completed","incomplete"]),tools:U.array(U.record(U.string(),Je.optional()))})])).optional(),service_tier:U.string().nullish(),incomplete_details:U.object({reason:U.string()}).nullish(),usage:U.object({input_tokens:U.number(),input_tokens_details:U.object({cached_tokens:U.number().nullish()}).nullish(),output_tokens:U.number(),output_tokens_details:U.object({reasoning_tokens:U.number().nullish()}).nullish()}).optional()}))),rTf=["o1","o1-2024-12-17","o3","o3-2025-04-16","o3-mini","o3-mini-2025-01-31","o4-mini","o4-mini-2025-04-16","gpt-5","gpt-5-2025-08-07","gpt-5-codex","gpt-5-mini","gpt-5-mini-2025-08-07","gpt-5-nano","gpt-5-nano-2025-08-07","gpt-5-pro","gpt-5-pro-2025-10-06","gpt-5.1","gpt-5.1-chat-latest","gpt-5.1-codex-mini","gpt-5.1-codex","gpt-5.1-codex-max","gpt-5.2","gpt-5.2-chat-latest","gpt-5.2-pro","gpt-5.2-codex","gpt-5.3-chat-latest","gpt-5.3-codex","gpt-5.4","gpt-5.4-2026-03-05","gpt-5.4-mini","gpt-5.4-mini-2026-03-17","gpt-5.4-nano","gpt-5.4-nano-2026-03-17","gpt-5.4-pro","gpt-5.4-pro-2026-03-05","gpt-5.5","gpt-5.5-2026-04-23"],xYl=["gpt-4.1","gpt-4.1-2025-04-14","gpt-4.1-mini","gpt-4.1-mini-2025-04-14","gpt-4.1-nano","gpt-4.1-nano-2025-04-14","gpt-4o","gpt-4o-2024-05-13","gpt-4o-2024-08-06","gpt-4o-2024-11-20","gpt-4o-audio-preview","gpt-4o-audio-preview-2024-12-17","gpt-4o-search-preview","gpt-4o-search-preview-2025-03-11","gpt-4o-mini-search-preview","gpt-4o-mini-search-preview-2025-03-11","gpt-4o-mini","gpt-4o-mini-2024-07-18","gpt-3.5-turbo-0125","gpt-3.5-turbo","gpt-3.5-turbo-1106","gpt-5-chat-latest",...rTf],x20=Ji(()=>gi(y4.object({conversation:y4.string().nullish(),include:y4.array(y4.enum(["reasoning.encrypted_content","file_search_call.results","message.output_text.logprobs"])).nullish(),instructions:y4.string().nullish(),logprobs:y4.union([y4.boolean(),y4.number().min(1).max(H20)]).optional(),maxToolCalls:y4.number().nullish(),metadata:y4.any().nullish(),parallelToolCalls:y4.boolean().nullish(),previousResponseId:y4.string().nullish(),promptCacheKey:y4.string().nullish(),promptCacheRetention:y4.enum(["in_memory","24h"]).nullish(),reasoningEffort:y4.string().nullish(),reasoningSummary:y4.string().nullish(),safetyIdentifier:y4.string().nullish(),serviceTier:y4.enum(["auto","flex","priority","default"]).nullish(),store:y4.boolean().nullish(),passThroughUnsupportedFiles:y4.boolean().optional(),strictJsonSchema:y4.boolean().nullish(),textVerbosity:y4.enum(["low","medium","high"]).nullish(),truncation:y4.enum(["auto","disabled"]).nullish(),user:y4.string().nullish(),systemMessageMode:y4.enum(["system","developer","remove"]).optional(),forceReasoning:y4.boolean().optional(),allowedTools:y4.object({toolNames:y4.array(y4.string()).min(1),mode:y4.enum(["auto","required"]).optional()}).optional()})));nBf=Ji(()=>gi(tuu.object({instructions:tuu.string().nullish(),speed:tuu.number().min(0.25).max(4).default(1).nullish()}))),gBf=Ji(()=>gi(n1.object({text:n1.string(),language:n1.string().nullish(),duration:n1.number().nullish(),words:n1.array(n1.object({word:n1.string(),start:n1.number(),end:n1.number()})).nullish(),segments:n1.array(n1.object({id:n1.number(),seek:n1.number(),start:n1.number(),end:n1.number(),text:n1.string(),tokens:n1.array(n1.number()),temperature:n1.number(),avg_logprob:n1.number(),compression_ratio:n1.number(),no_speech_prob:n1.number()})).nullish()}))),OBf=Ji(()=>gi(Vg.object({include:Vg.array(Vg.string()).optional(),language:Vg.string().optional(),prompt:Vg.string().optional(),temperature:Vg.number().min(0).max(1).default(0).optional(),timestampGranularities:Vg.array(Vg.enum(["word","segment"])).default(["segment"]).optional()}))),j20={afrikaans:"af",arabic:"ar",armenian:"hy",azerbaijani:"az",belarusian:"be",bosnian:"bs",bulgarian:"bg",catalan:"ca",chinese:"zh",croatian:"hr",czech:"cs",danish:"da",dutch:"nl",english:"en",estonian:"et",finnish:"fi",french:"fr",galician:"gl",german:"de",greek:"el",hebrew:"he",hindi:"hi",hungarian:"hu",icelandic:"is",indonesian:"id",italian:"it",japanese:"ja",kannada:"kn",kazakh:"kk",korean:"ko",latvian:"lv",lithuanian:"lt",macedonian:"mk",malay:"ms",marathi:"mr",maori:"mi",nepali:"ne",norwegian:"no",persian:"fa",polish:"pl",portuguese:"pt",romanian:"ro",russian:"ru",serbian:"sr",slovak:"sk",slovenian:"sl",spanish:"es",swahili:"sw",swedish:"sv",tagalog:"tl",tamil:"ta",thai:"th",turkish:"tr",ukrainian:"uk",urdu:"ur",vietnamese:"vi",welsh:"cy"};zYl=Zy()});var b20="https://api.llmapi.ai/v1",ZBf="https://llmapi.ai/wp-content/uploads/2026/01/Frame-2085662993.png",R20;var C20=g(()=>{Fwi();R20={info:{id:"llmapi",name:"LLMAPI",description:"One API key, 400+ models across every provider",logo:ZBf},supportedMethods:["api-key"],create(i){let u=Zy({apiKey:i||"not-needed",baseURL:b20,name:"llmapi"}),t=Object.assign((...f)=>u.chat(...f),u,{languageModel:u.chat});return{info:this.info,aiSdk:t,async listModels(){let f=await fetch(`${b20}/models`,{headers:i?{Authorization:`Bearer ${i}`}:{},signal:AbortSignal.timeout(15000)});if(!f.ok)throw Error(`LLMAPI listModels failed: ${f.status}`);let{data:l}=await f.json();return l.map((c)=>{let E=c.architecture??{},d=!!c.reasoning_levels?.length||!!c.providers?.some(($)=>$.reasoning);return{providerId:"llmapi",modelId:c.id,title:c.name||c.id,description:c.description??null,logo:null,capabilities:[...new Set([...(E.input_modalities??[]).map(($)=>$==="image"?"vision":$),...E.output_modalities??[],...c.supported_parameters?.includes("tools")?["tools"]:[],...d?["reasoning"]:[]])],limits:{contextWindow:c.context_length??0,maxOutputTokens:null},costs:{input:Number(c.pricing?.prompt)||0,output:Number(c.pricing?.completion)||0}}})}}}}});function TBf(i){let u=JSON.parse(i);if(!u.baseUrl||typeof u.baseUrl!=="string")throw Error("Invalid OpenAI-compatible credential: missing baseUrl field");let t=u.baseUrl.replace(/\/+$/,"");if(!t.endsWith("/v1"))t+="/v1";return{baseUrl:t,apiKey:u.apiKey??""}}var BBf="https://assets.decocache.com/decocms/d138aa7e-5b8c-4821-9e64-6aff40df2cdc/ChatGPT_logo.svg",M20;var q20=g(()=>{Fwi();M20={info:{id:"openai-compatible",name:"OpenAI Compatible",description:"Custom OpenAI-compatible endpoint",logo:BBf},supportedMethods:["api-key"],create(i){let{baseUrl:u,apiKey:t}=TBf(i),f=Zy({baseURL:u,apiKey:t||"not-needed",name:"openai-compatible"}),l=Object.assign((...c)=>f.chat(...c),f,{languageModel:f.chat});return{info:this.info,aiSdk:l,async listModels(){let c={};if(t)c.Authorization=`Bearer ${t}`;let E=await fetch(`${u}/models`,{headers:c,signal:AbortSignal.timeout(15000)});if(!E.ok)throw Error(`OpenAI-compatible listModels failed: ${E.status}`);return(await E.json()).data.map(($)=>({providerId:"openai-compatible",modelId:$.id,title:$.id,description:$.owned_by?`Owned by ${$.owned_by}`:null,logo:null,capabilities:[],limits:null,costs:null}))}}}}});function k6(){return{...Zu().aiGatewayEnabled&&{deco:yV},anthropic:x80,google:g20,openrouter:OEi,llmapi:R20,"openai-compatible":M20}}var dD=g(()=>{k80();O20();C20();q20();Mmi();Vmi();Zt()});function FBf(i){return i.includes("/")?i.split("/").slice(1).join("/"):i}function UBf(i){let u=i.supported_parameters.includes("tools"),t=i.supported_parameters.includes("reasoning");return{providerId:"openrouter",modelId:FBf(i.id),title:i.name,description:i.description||null,logo:null,capabilities:[...new Set([...i.architecture.input_modalities.map((f)=>f==="image"?"vision":f),...i.architecture.output_modalities,...u?["tools"]:[],...t?["reasoning"]:[]])],limits:{contextWindow:i.context_length,maxOutputTokens:i.top_provider.max_completion_tokens||null},costs:{input:i.pricing.prompt,output:i.pricing.completion}}}function r20(i){let u=new Map;for(let t of i){let f={description:t.description,capabilities:t.capabilities,limits:t.limits,costs:t.costs};u.set(t.modelId,f);let l=t.modelId.replace(/\./g,"-");if(l!==t.modelId)u.set(l,f)}return u}async function IBf(i){if(i){let u=await i.get(V20,"openrouter");if(u)return r20(u)}try{let u=await fetch("https://openrouter.ai/api/v1/models",{signal:AbortSignal.timeout(1e4)});if(!u.ok)return new Map;let{data:t}=await u.json(),f=t.map(UBf);if(i)await i.set(V20,"openrouter",f);return r20(f)}catch{return new Map}}function PBf(i){let u=i.replace(/\./g,"-"),t=i.replace(/-\d{8}$/,""),f=t.replace(/\./g,"-");return[...new Set([i,u,t,f])]}function ABf(i){return i.providerId==="anthropic"||i.modelId.startsWith("anthropic/")}function e20(i,u){if(ABf(u)&&i.includes("vision")&&!i.includes("file"))return[...i,"file"];return i}function xBf(i,u){return i.map((t)=>{let l=PBf(t.modelId).map((d)=>u.get(d)).find(Boolean),c=t.capabilities.length?t.capabilities:l?.capabilities??[],E=e20(c,t);if(!l)return E===c?t:{...t,capabilities:E};return{...t,description:t.description??l.description??null,capabilities:E,limits:t.limits??l.limits??null,costs:t.costs??l.costs??null}})}class wuu{storage;cache;constructor(i,u){this.storage=i;this.cache=u}async activate(i,u){let{keyInfo:t,apiKey:f}=await this.storage.resolve(i,u),l=k6()[t.providerId];if(!l)throw Error(`Unknown provider: ${t.providerId}`);return l.create(f)}async listModels(i,u){let{keyInfo:t,apiKey:f}=await this.storage.resolve(i,u),l=t.providerId,c=k6()[l];if(!c)throw Error(`Unknown provider: ${l}`);if(this.cache){let _=await this.cache.get(u,l);if(_)return m20(_,c,f)}let d=await c.create(f).listModels(),$=new Set,w=d.filter((_)=>{if(_.deprecated)return!1;if($.has(_.modelId))return!1;return $.add(_.modelId),!0});if(l!=="openrouter"){let _=await IBf(this.cache);w=xBf(w,_)}else w=w.map((_)=>({..._,capabilities:e20(_.capabilities,_)}));let h=w.map((_)=>({..._,providerId:l}));if(this.cache)await this.cache.set(u,l,h);return m20(h,c,f)}}function m20(i,u,t){let l=u.create(t).asyncResearch;if(!l)return i;return i.map((c)=>l.canHandle(c.modelId)?{...c,asyncResearch:!0}:c)}var V20="_global";var a20=g(()=>{dD()});import{SpanStatusCode as o20}from"@opentelemetry/api";function kBf(i){if(!i)return;try{let u=JSON.parse(i);if(typeof u!=="object"||u===null||Array.isArray(u))return;let t={};for(let[f,l]of Object.entries(u))if(typeof l==="string")t[f]=l;return Object.keys(t).length>0?t:void 0}catch{return}}function _uu(i){let{auth:u,headers:t,role:f,permissions:l,userId:c,apiKeyId:E}=i,d=!!E,$=u.api.hasPermission;return{isApiKeyPrincipal:d,hasPermission:async(w,h)=>{if(d)return usi(l??{},w);if(f&&h3.includes(f))return!0;if(l)return usi(l,w);let _=M_0(h?.role,w,q_0());if(_!=="fallback")return _==="grant";if(!$)return console.error("[Auth] hasPermission API not available"),!1;let v=h?.organizationId?{organizationId:h.organizationId}:{};try{if((await $({headers:t,body:{permission:w,...v}}))?.success===!0)return!0;let D=K_0(w);return(await $({headers:t,body:{permission:D,...v}}))?.success===!0}catch(n){let D=n?.statusCode;if(D!==401&&D!==403)console.error("[Auth] Permission check failed:",n instanceof Error?n.message:String(n));return!1}},organization:{create:async(w)=>{return u.api.createOrganization({headers:t,body:w})},update:async(w)=>{return u.api.updateOrganization({headers:t,body:w})},delete:async(w)=>{await u.api.deleteOrganization({headers:t,body:{organizationId:w}})},get:async(w)=>{return u.api.getFullOrganization({headers:t,query:w?{organizationId:w}:void 0})},list:async(w)=>{return(await u.api.listOrganizations({headers:t,query:w?{userId:w}:void 0})).filter((_)=>!fd(_))},addMember:async(w)=>{return u.api.addMember({headers:t,body:w})},removeMember:async(w)=>{await u.api.removeMember({headers:t,body:w})},listMembers:async(w)=>{return u.api.listMembers({headers:t,query:w?{organizationId:w.organizationId,limit:w.limit,offset:w.offset,filterField:w.filterField,filterValue:w.filterValue}:void 0})},updateMemberRole:async(w)=>{return u.api.updateMemberRole({headers:t,body:w})}},apiKey:{create:async(w)=>{return u.api.createApiKey({body:{...w,userId:c}})},list:async()=>{return u.api.listApiKeys({headers:t})},update:async(w)=>{return u.api.updateApiKey({body:{...w,userId:c}})},delete:async(w)=>{await u.api.deleteApiKey({headers:t,body:{keyId:w}})}}}}async function vuu(i,u,t){if(u$i.includes(t))return;let f=await i.selectFrom("organizationRole").select(["permission"]).where("organizationId","=",u).where("role","=",t).executeTakeFirst();if(!f?.permission)return;try{return JSON.parse(f.permission)}catch{console.error(`[Auth] Failed to parse permissions for role: ${t}`);return}}async function p20(i,u,t,f){let l=s20.get(t);if(l&&Date.now()-l.at<GBf)return l.archived;let c=await u.measure(f,()=>i.selectFrom("organization").select(["metadata"]).where("id","=",t).executeTakeFirst()),E=fd(c);return s20.set(t,{archived:E,at:Date.now()}),E}async function huu(i,u,t,f,l){let c=l?.get(t,f);if(c)return c;let d=(await u.measure("auth_query_membership",()=>i.selectFrom("member").select(["member.role"]).where("member.userId","=",t).where("member.organizationId","=",f).executeTakeFirst()))?.role;if(d)l?.set(t,f,d);return d}async function SBf(i,u,t,f,l){let c=i.headers.get("x-mesh-token");if(!c)return;let E=await t.measure("auth_verify_onbehalf_mesh_jwt",()=>Pei(c));if(!E?.sub)return;let d=E.metadata?.organizationId;if(f&&d&&d!==f)return;let $=f?await huu(u,t,E.sub,f,l):E.user?.role??void 0;return{id:E.sub,email:E.user?.email,name:E.user?.name,role:$}}async function jBf(i,u,t,f=ug0,l){let c=i.headers.get("Authorization");try{let E=new Headers(i.headers);E.set("X-MCP-Session-Auth","true");let d=await f.measure("auth_get_mcp_session",()=>u.api.getMcpSession({headers:E}));if(d){let $=d.userId,w=i.headers.get("x-org-id"),h=i.headers.get("x-org-slug"),_=await f.measure("auth_query_membership",()=>{let O=t.selectFrom("member").innerJoin("organization","organization.id","member.organizationId").select(["member.role","member.organizationId","organization.id as orgId","organization.slug as orgSlug","organization.name as orgName","organization.metadata as orgMetadata"]).where("member.userId","=",$);if(w)return O.where("organization.id","=",w).executeTakeFirst();if(h)return O.where("organization.slug","=",h).executeTakeFirst();return O.orderBy("member.createdAt","asc").limit(2).execute().then((N)=>N.length===1?N[0]:void 0)});if(fd({metadata:_?.orgMetadata}))throw Error("Organization is archived");let v=_?.role,n=_?{id:_.orgId,slug:_.orgSlug,name:_.orgName}:void 0;if(_&&v)l?.set($,_.organizationId,v);let D;if(_&&v)D=await f.measure("auth_fetch_role_permissions",()=>vuu(t,_.organizationId,v));return{user:{id:$,role:v},role:v,permissions:D,organization:n}}}catch(E){console.error("[Auth] OAuth session check failed:",E)}if(c?.startsWith("Bearer ")){let E=c.replace("Bearer ","").trim();try{let d=await f.measure("auth_verify_mesh_jwt",()=>Pei(E));if(d){let $,w=d.metadata?.organizationId;if(d.sub&&w)$=await huu(t,f,d.sub,w,l);let h,_=d.metadata?.organizationId;if(_){let v=d.metadata?.organizationName,n=d.metadata?.organizationSlug;if(v||n){if(await p20(t,f,_,"auth_query_org_archived_for_mesh_jwt"))return{user:void 0};h={id:_,name:v,slug:n}}else{let D=await f.measure("auth_query_org_for_mesh_jwt",()=>t.selectFrom("organization").select(["id","slug","name","metadata"]).where("id","=",_).executeTakeFirst());if(fd(D))return{user:void 0};h=D?{id:D.id,slug:D.slug,name:D.name}:{id:_}}}return{user:{id:d.sub,connectionId:d.metadata?.connectionId,role:$},role:$,permissions:d.permissions,organization:h}}}catch{}try{let d=await f.measure("auth_verify_api_key",()=>u.api.verifyApiKey({body:{key:E}}));if(d?.valid&&d.key){let $=d.key.metadata?.organization;if($?.id&&await p20(t,f,$.id,"auth_query_org_for_api_key"))return{user:void 0};let w=d.key.permissions,h,_=d.key.userId;if(_&&$?.id)h=await huu(t,f,_,$.id,l);let v=await SBf(i,t,f,$?.id,l);return{apiKeyId:d.key.id,user:v??{id:d.key.userId,role:h},role:v?v.role:h,permissions:w,organization:$?{id:$.id,slug:$.slug,name:$.name}:void 0}}}catch(d){let $=d;if($.body?.code==="INVALID_API_KEY"||$.message?.includes("Invalid API key"))console.warn("[Auth] invalid API key (Bearer)",{path:new URL(i.url).pathname,method:i.method,ua:i.headers.get("user-agent")??void 0,ip:i.headers.get("x-forwarded-for")??i.headers.get("x-real-ip")??void 0,tokenPrefix:E.slice(0,8)});else console.error("[Auth] API key check failed:",$)}}try{let E=new Headers(i.headers);E.delete("Authorization");let d=await f.measure("auth_get_session",()=>u.api.getSession({headers:E}));if(d){let $,w,h=i.headers.get("x-org-id"),_=i.headers.get("x-org-slug");if(!h&&!_&&i.method.toUpperCase()==="GET")try{let v=new URL(i.url).searchParams;h=v.get("x-org-id"),_=v.get("x-org-slug")}catch{}if(h||_){let v=await f.measure("auth_query_membership_from_header",()=>{let n=t.selectFrom("member").innerJoin("organization","organization.id","member.organizationId").select(["member.role","organization.id as orgId","organization.slug as orgSlug","organization.name as orgName","organization.metadata as orgMetadata"]).where("member.userId","=",d.user.id);if(h)n=n.where("organization.id","=",h);else if(_)n=n.where("organization.slug","=",_);return n.executeTakeFirst()});if(fd({metadata:v?.orgMetadata}))throw Error("Organization is archived");if(v)$={id:v.orgId,slug:v.orgSlug,name:v.orgName},w=v.role}else if(d.session.activeOrganizationId){let v=await f.measure("auth_get_full_organization",()=>u.api.getFullOrganization({headers:E}).catch(()=>null));if(v){if(fd(v))throw Error("Organization is archived");$={id:v.id,slug:v.slug,name:v.name},w=v.members?.find((D)=>D.userId===d.user.id)?.role}else $={id:d.session.activeOrganizationId,slug:"",name:""}}return{user:{id:d.user.id,email:d.user.email,emailVerified:!!d.user.emailVerified,name:d.user.name,image:d.user.image??void 0,role:w},role:w,organization:$}}}catch(E){let d=E;console.error("[Auth] Session check failed:",JSON.stringify({message:d.message,body:d.body,stack:d.stack},null,2))}return{user:void 0}}async function tg0(i){let u=new bn(i.encryption.key),t=Zu(),f=t.clickhouseUrl,l=!!f,c=!l&&!!t.monitoringS3Bucket,E=l?"clickhouse":"duckdb",{resolve:d}=await import("path"),$=d(th()),w=d(nn()),h=(F)=>`read_ndjson('${$}/${F}/**/*.ndjson', auto_detect=true)`,_=(F)=>`read_ndjson('${w}/${F}/**/*.ndjson', auto_detect=true)`,v,n,D,O,N=!1;if(i.monitoringEngines)v=i.monitoringEngines.monitoringEngine,n=i.monitoringEngines.metricEngine,D=h,O=_;else if(l){let F=t.clickhouseMaxMemoryUsage?{maxMemoryUsage:String(t.clickhouseMaxMemoryUsage)}:void 0;v=new sr(f,F),n=new sr(f,F),D=(P)=>"studio_monitoring_logs",O=(P)=>"studio_monitoring_logs"}else if(c){let F=t.monitoringS3AccessKeyId??t.s3AccessKeyId,P=t.monitoringS3SecretAccessKey??t.s3SecretAccessKey,S=t.duckdbExtensionDirectory;if(!F||!P||!S)throw Error("MONITORING_S3_BUCKET is set but the GCS monitoring path is misconfigured: MONITORING_S3_ACCESS_KEY_ID/S3_ACCESS_KEY_ID, MONITORING_S3_SECRET_ACCESS_KEY/S3_SECRET_ACCESS_KEY, and DUCKDB_EXTENSION_DIRECTORY are all required.");let A={endpoint:t.monitoringS3Endpoint??t.s3Endpoint??"storage.googleapis.com",region:t.monitoringS3Region??t.s3Region,accessKeyId:F,secretAccessKey:P,extensionDirectory:S},k=new or(A,{memoryLimit:t.duckdbMemoryLimit,threads:t.duckdbThreads});v=k,n=k;let M=t.monitoringS3Bucket,J=t.monitoringS3Prefix??"",W=(m,z)=>n_0({bucket:M,prefix:J,range:z});D=W,O=W,N=!0}else{let{engine:F}=await Soi({basePath:th()}),{engine:P}=await Soi({basePath:nn()});v=F,n=P,D=h,O=_}let y=new fz(i.db),Z=new $m(i.db),T=new tm(i.db),B={connections:new FV(i.db,u),connectionCredentialVault:new rei(i.db),organizationSettings:new joi(i.db),monitoring:new pei(v,D,n,O,E,N),virtualMcps:new eW(i.db),users:new Voi(i.db),tags:new qoi(i.db),virtualMcpPluginConfigs:new Koi(i.db),aiProviderKeys:new BV(i.db,u,i.providerKeyCache),secrets:new Osi(i.db,u),orgFileConfigs:new Nsi(i.db,u),orgSites:new Bsi(i.db),taskBoard:new Fsi(i.db),orgFsEntries:new VM(i.db),oauthPkceStates:new Usi(i.db),automations:Wdi(i.db),triggerCallbackTokens:new im(i.db),orgSsoConfig:new Qoi(i.db,u),orgSsoSessions:new Hoi(i.db),registry:{items:new eY(i.db),publishRequests:new aY(i.db),publishApiKeys:new oY(i.db),monitorRuns:new qdi(i.db),monitorResults:new Vdi(i.db),monitorConnections:new rdi(i.db)},brandContext:new um(i.db),organizationDomains:new o$(i.db),organizationJoinRequests:new mY(i.db),kv:T,interests:new zoi(T)};return async(F,P)=>{let S=P?.timings??ug0,A=c$i(),k=F?await i.observability.tracer.startActiveSpan("studio.auth",async(xi)=>{try{let qi=await jBf(F,i.auth,i.db,S,i.memberRoleCache);return xi.setStatus({code:o20.OK}),qi}catch(qi){throw xi.setStatus({code:o20.ERROR,message:qi.message}),xi.recordException(qi),qi}finally{xi.end()}}):{user:void 0},M=F?.headers.get("x-caller-id")??k.user?.connectionId??void 0,J=_uu({auth:i.auth,headers:F?.headers??new Headers,role:k.role,permissions:k.permissions,userId:k.user?.id,apiKeyId:k.apiKeyId}),W={user:k.user};if(k.apiKeyId)W.apiKey={id:k.apiKeyId,name:"",userId:""};let m=k.organization,z=F?Zu().baseUrl??`${new URL(F.url).origin}`:H1(),di=new CN(W.user?.id,void 0,J,k.role,"self",void 0,m?.id),wi={...B,virtualMcps:hE0(B.virtualMcps),threads:new $si(y,m?.id),asyncResearchJobs:new nsi(Z,m?.id)},li=new wuu(wi.aiProviderKeys,i.modelListCache),ii=HE(),s=!m?null:ii?W$(ii,m.id):new cv(m.id,z),Di=m&&s?new dv(s,wi.orgFsEntries,m.id):null;Zzi(wi,{objectStorage:s,baseUrl:z,orgSlug:m?.slug});let hi={timings:S,auth:W,connectionId:M,organization:m,storage:wi,vault:u,authInstance:i.auth,boundAuth:J,access:di,db:i.db,tracer:i.observability.tracer,meter:i.observability.meter,baseUrl:z,objectStorage:s,orgFs:Di,metadata:{requestId:crypto.randomUUID(),timestamp:new Date,wellKnownForwardableHeaders:Object.fromEntries(KBf.map((xi)=>[xi,F?.headers.get(xi)??null]).filter(([xi,qi])=>qi!==null)),userAgent:F?.headers.get("x-mesh-client")||F?.headers.get("User-Agent")||void 0,ipAddress:(F?.headers.get("CF-Connecting-IP")||F?.headers.get("X-Forwarded-For"))??void 0,properties:kBf(F?.headers.get("x-mesh-properties"))},linkStatusProbe:i.linkStatusProbe,publishLinkControlFrame:i.publishLinkControlFrame,aiProviders:li,createMCPProxy:async(xi)=>{return await R_0(xi,hi)},invalidateMemberRole:i.memberRoleCache?(xi,qi)=>i.memberRoleCache.invalidate(xi,qi):void 0,getOrCreateClient:A,pendingRevalidations:[],firecrawlApiKey:Zu().firecrawlApiKey};return hi}}function Uwi(i,u){i.storage.threads.setOrganizationId(u.id),i.storage.asyncResearchJobs.setOrganizationId(u.id);let t=HE();i.objectStorage=t?W$(t,u.id):new cv(u.id,i.baseUrl),i.orgFs=new dv(i.objectStorage,i.storage.orgFsEntries,u.id),Zzi(i.storage,{objectStorage:i.objectStorage,baseUrl:i.baseUrl,orgSlug:u.slug??void 0})}var GBf=60000,s20,ig0,rg,ug0,KBf;var Xe=g(()=>{NN();TV();Zt();bE();pmi();QEi();Uei();Ld0();D_0();L$();g_0();Joi();Xoi();Woi();S_0();j_0();MN();isi();Gv();lsi();wsi();Dsi();gsi();mmi();d$i();tv0();lv0();cv0();$Mi();CL();a20();a8();bM();q4i();s20=new Map;rg={set:(i)=>{ig0=i},create:async(i,u)=>{return await ig0(i,u)}},ug0={measure:async(i,u)=>{return await u()}},KBf=["x-hub-signature-256"]});function Duu(i){return i?`/api/${i}`:""}function fg0(i){let t=new URL(i).pathname;if(t.endsWith("/"))t=t.slice(0,-1);let f=(l)=>{let c=new URL(i);return c.pathname=l,c.toString()};return[f(`${t}/.well-known/oauth-protected-resource`),f(`/.well-known/oauth-protected-resource${t}`),f("/.well-known/oauth-protected-resource")]}function lg0(i){let t=new URL(i).pathname;if(t.endsWith("/"))t=t.slice(0,-1);let f=t!==""&&t!=="/",l=(c)=>{let E=new URL(i);return E.pathname=c,E.toString()};if(f)return[l(`/.well-known/oauth-authorization-server${t}`),l(`/.well-known/openid-configuration${t}`),l(`${t}/.well-known/openid-configuration`)];return[l("/.well-known/oauth-authorization-server"),l("/.well-known/openid-configuration")]}function cg0(i){return"issuer"in i&&!("resource"in i)&&(("authorization_endpoint"in i)||("token_endpoint"in i))}function Eg0(i){let u=i.toLowerCase();return u.includes("resource_metadata=")||u.includes("invalid_token")||u.includes("oauth")}function dg0(i){let u=i.message?.toLowerCase()??"";return i.status===401||i.code===401||(i.message?.includes("401")??!1)||u.includes("unauthorized")||u.includes("invalid_token")||u.includes("api key required")||u.includes("api-key required")}function $g0(i,{proxyResourceUrl:u,proxyAuthServer:t}){return{...i,resource:u,authorization_servers:[t]}}function guu({proxyResourceUrl:i,proxyAuthServer:u,scopesSupported:t=["*"]}){return{resource:i,authorization_servers:[u],bearer_methods_supported:["header"],scopes_supported:t}}function wg0(i){return"scopes_supported"in i&&Array.isArray(i.scopes_supported)&&i.scopes_supported.length>0?i.scopes_supported:["*"]}function hg0(i,u){return{...i,authorization_endpoint:i.authorization_endpoint?`${u}/authorize`:void 0,token_endpoint:i.token_endpoint?`${u}/token`:void 0,registration_endpoint:i.registration_endpoint?`${u}/register`:void 0}}function _g0({origin:i,prefix:u,connectionId:t}){return`Bearer realm="mcp",resource_metadata="${i}${u}/mcp/${t}/.well-known/oauth-protected-resource"`}var nuu;var vg0=g(()=>{nuu=[404,401,406]});async function JBf(i,u,t){return(await u.storage.connections.findById(i,t))?.connection_url??null}async function ng0(i,u={}){try{let t=await yuu(i,{method:"POST",headers:{...u,"Content-Type":"application/json",Accept:"application/json, text/event-stream"},body:JSON.stringify({jsonrpc:"2.0",id:0,method:"initialize",params:{protocolVersion:"2025-06-18",capabilities:{},clientInfo:{name:"mcp-cms-proxy",version:"1.0.0"}}})});if(t.status===401){let f=t.headers.get("WWW-Authenticate");if(f){if(Eg0(f))return f}if(await XBf(i))return'Bearer realm="mcp"'}return null}catch{return null}}async function XBf(i){try{let u=new URL(i),t=new URL("/.well-known/oauth-authorization-server",u.origin),f=await yuu(t.toString(),{method:"GET",headers:{Accept:"application/json"}});if(f.ok){let l=await f.json();if(l.authorization_endpoint||l.token_endpoint||l.issuer)return!0}return!1}catch{return!1}}async function Hz(i){let u=fg0(i),t;for(let f=0;f<u.length;f++){if(t=await Zg0(u[f],{method:"GET",headers:{Accept:"application/json"}}),t.ok)return t;if(f<u.length-1&&!nuu.includes(t.status))return t}return t}async function LBf(i){let u;try{u=new URL(i).origin}catch{return null}try{let t=await Hz(i);if(t.ok){let f=await t.json();if(f.authorization_servers?.[0])return f.authorization_servers[0]}}catch{}return u}async function Dg0(i){let u=i.get("meshContext");if(!u)u=await rg.create(i.req.raw),i.set("meshContext",u);return u}async function Nuu({error:i,reqUrl:u,connectionId:t,connectionUrl:f,headers:l,orgSlug:c}){if(!dg0(i))return null;if(Boolean(await ng0(f,l)))return new Response(null,{status:401,headers:{"WWW-Authenticate":_g0({origin:u.origin,prefix:Duu(c),connectionId:t})}});return new Response(JSON.stringify({error:"unauthorized",message:"Authentication required but server does not support OAuth"}),{status:401,headers:{"Content-Type":"application/json"}})}function yuu(i,u,t=yg0){return fetch(i,{...u,signal:AbortSignal.timeout(t)})}class Ouu{response;constructor(i){this.response=i}}async function Zg0(i,u,{attempts:t=3,timeoutMs:f=yg0}={}){try{return await Z1(async()=>{let l=await yuu(i,u,f);if(l.status>=500)throw new Ouu(l);return l},{maxAttempts:t,minTimeout:150,multiplier:2,jitter:0})}catch(l){if(l instanceof Jc){if(l.cause instanceof Ouu)return l.cause.response;throw l.cause}throw l}}async function We(i){let u=lg0(i),t=null;for(let f of u){if(t=await Zg0(f,{method:"GET",headers:{Accept:"application/json"}}),t.ok)return t;if(t.status!==404&&t.status!==401)return t}return t}var gg0=(i)=>{if(!(i.hostname==="localhost"||i.hostname.endsWith(".localhost")||i.hostname==="127.0.0.1"))i.protocol="https:";return i},Le=async(i)=>{let u=i.req.param("connectionId"),t=await Dg0(i),f=gg0(new URL(i.req.url)),l=i.req.param("org")??t.organization?.slug,c;if(l)if(t.organization?.id&&t.organization.slug===l)c=t.organization.id;else{let h=await t.db.selectFrom("organization").select("id").where("slug","=",l).executeTakeFirst();if(!h)return i.json({error:"Connection not found"},404);c=h.id}let E=await JBf(u,t,c);if(!E)return i.json({error:"Connection not found"},404);let d=Duu(l),$=`${f.origin}${d}/mcp/${u}`,w=`${f.origin}/oauth-proxy/${u}`;try{let h=await Hz(E);if(!h.ok&&nuu.includes(h.status)){if(await ng0(E)){let D=guu({proxyResourceUrl:$,proxyAuthServer:w});return new Response(JSON.stringify(D),{status:200,headers:{"Content-Type":"application/json"}})}return new Response(h.body,{status:h.status,statusText:h.statusText,headers:{"Content-Type":"application/json"}})}if(!h.ok)return new Response(h.body,{status:h.status,statusText:h.statusText,headers:{"Content-Type":"application/json"}});let _=await h.json();if(cg0(_)){let n=guu({proxyResourceUrl:$,proxyAuthServer:w,scopesSupported:wg0(_)});return new Response(JSON.stringify(n),{status:200,headers:{"Content-Type":"application/json"}})}let v=$g0(_,{proxyResourceUrl:$,proxyAuthServer:w});return new Response(JSON.stringify(v),{status:h.status,statusText:h.statusText,headers:{"Content-Type":"application/json"}})}catch(h){let _=h;return console.error("[oauth-proxy] Failed to proxy OAuth protected resource metadata:",_),i.json({error:"Failed to proxy OAuth metadata",message:_.message},502)}},Og0=()=>{let i=new bu;return i.get("/.well-known/oauth-protected-resource/mcp/:connectionId",(u)=>Le(u)),i.get("/mcp/:connectionId/.well-known/oauth-protected-resource",(u)=>Le(u)),i},Ng0=()=>{let i=new bu;return i.get("/mcp/:connectionId/.well-known/oauth-protected-resource",(u)=>Le(u)),i},yg0=4000,WBf=async(i)=>{let u=i.req.param("connectionId"),t=await Dg0(i),f=await t.storage.connections.findById(u);if(!f?.connection_url)return i.json({error:"Connection not found or no auth server"},404);let l=await LBf(f.connection_url);if(!l)return i.json({error:"Connection not found or no auth server"},404);let c=await t.db.selectFrom("organization").select("slug").where("id","=",f.organization_id).executeTakeFirst();try{let E=await We(l);if(!E.ok)return new Response(E.body,{status:E.status,statusText:E.statusText,headers:{"Content-Type":"application/json"}});let d=await E.json(),$=gg0(new URL(i.req.url)),w=c?.slug?`${$.origin}/api/${c.slug}/oauth-proxy/${u}`:`${$.origin}/oauth-proxy/${u}`,h=hg0(d,w);return new Response(JSON.stringify(h),{status:200,headers:{"Content-Type":"application/json"}})}catch(E){let d=E;return console.error("[oauth-proxy] Failed to proxy auth server metadata:",d),i.json({error:"Failed to proxy auth server metadata",message:d.message},502)}},Tg0=()=>{let i=new bu;return i.get("/.well-known/oauth-authorization-server/oauth-proxy/:connectionId",WBf),i};var Ye=g(()=>{pf();Xe();B4();vg0()});async function bz(i){try{let u;try{let f=await Hz(i);if(f.ok)u=(await f.json()).authorization_servers?.[0]}catch{}if(!u)u=new URL(i).origin;let t=await We(u);if(t.ok)return(await t.json()).token_endpoint??null;return null}catch{return null}}var Iwi=g(()=>{Ye()});function Awi(i){return!!i.refreshToken&&!!i.tokenEndpoint&&!!i.clientId}function YBf(i,u){if(i.includes("/oauth-proxy/"))return!0;try{return new URL(i).host!==new URL(u).host}catch{return!1}}async function HBf(i,u){let t=await Fd0(i);if(!t.success||!t.accessToken){if(t.permanent===!0)await u.delete(i.connectionId);return null}return await u.upsert({connectionId:i.connectionId,accessToken:t.accessToken,refreshToken:t.refreshToken??i.refreshToken,scope:t.scope??i.scope,expiresAt:t.expiresIn?new Date(Date.now()+t.expiresIn*1000):null,clientId:i.clientId,clientSecret:i.clientSecret,tokenEndpoint:i.tokenEndpoint}),t.accessToken}function xwi(i,u){let t=Zuu.get(i.connectionId);if(t)return t;let f=Pwi.get(i.connectionId);if(f&&Date.now()<f.nextAttemptAt)return Promise.resolve(null);let l=HBf(i,u).then((c)=>{if(c)Pwi.delete(i.connectionId);else{let E=Pwi.get(i.connectionId)?.attempt??0,d=t6(QBf,zBf,E,2,0.5);Pwi.set(i.connectionId,{attempt:E+1,nextAttemptAt:Date.now()+d})}return c}).finally(()=>{Zuu.delete(i.connectionId)});return Zuu.set(i.connectionId,l),l}async function mg(i){let{connectionId:u,connectionUrl:t,tokenStorage:f}=i,l=await f.get(u);if(!l)return{state:"missing",accessToken:null};let c=Awi(l),E=c?i.bufferMs??ze:0;if(!f.isExpired(l,E))return{state:"valid",accessToken:l.accessToken};if(!c)return await f.delete(u),{state:"expired_without_refresh",accessToken:null};let d=l.tokenEndpoint;if(t&&d&&YBf(d,t)){let w=await bz(t);if(w)d=w}let $=await xwi({...l,tokenEndpoint:d},f);if(!$)return{state:"refresh_failed",accessToken:null};return{state:"refreshed",accessToken:$}}var ze=300000,Bg0=3300000,NE="GitHub token refresh failed \u2014 reconnect the mcp-github integration.",Zuu,zBf=30000,QBf=300000,Pwi;var eg=g(()=>{B4();Ud0();Iwi();Zuu=new Map,Pwi=new Map});class Vl{db;vault;constructor(i,u){this.db=i;this.vault=u}async get(i){let u=await this.db.selectFrom("downstream_tokens").selectAll().where("connectionId","=",i).executeTakeFirst();if(!u)return null;return this.decryptToken(u)}async upsert(i){let u=new Date().toISOString(),t=await this.vault.encrypt(i.accessToken),f=i.refreshToken?await this.vault.encrypt(i.refreshToken):null,l=i.clientSecret?await this.vault.encrypt(i.clientSecret):null;return await this.db.transaction().execute(async(c)=>{let E=await c.selectFrom("downstream_tokens").select(["id","createdAt"]).where("connectionId","=",i.connectionId).executeTakeFirst();if(E)return await c.updateTable("downstream_tokens").set({accessToken:t,refreshToken:f,scope:i.scope,expiresAt:i.expiresAt?.toISOString()??null,clientId:i.clientId,clientSecret:l,tokenEndpoint:i.tokenEndpoint,updatedAt:u}).where("id","=",E.id).execute(),{id:E.id,connectionId:i.connectionId,accessToken:i.accessToken,refreshToken:i.refreshToken,scope:i.scope,expiresAt:i.expiresAt,createdAt:E.createdAt,updatedAt:u,clientId:i.clientId,clientSecret:i.clientSecret,tokenEndpoint:i.tokenEndpoint};let d=Gf("dtok");return await c.insertInto("downstream_tokens").values({id:d,connectionId:i.connectionId,accessToken:t,refreshToken:f,scope:i.scope,expiresAt:i.expiresAt?.toISOString()??null,clientId:i.clientId,clientSecret:l,tokenEndpoint:i.tokenEndpoint,createdAt:u,updatedAt:u}).execute(),{id:d,connectionId:i.connectionId,accessToken:i.accessToken,refreshToken:i.refreshToken,scope:i.scope,expiresAt:i.expiresAt,createdAt:u,updatedAt:u,clientId:i.clientId,clientSecret:i.clientSecret,tokenEndpoint:i.tokenEndpoint}})}async delete(i){await this.db.deleteFrom("downstream_tokens").where("connectionId","=",i).execute()}isExpired(i,u=0){if(!i.expiresAt)return!1;let f=(i.expiresAt instanceof Date?i.expiresAt:new Date(i.expiresAt)).getTime();if(Number.isNaN(f))return!0;return f-u<Date.now()}async decryptToken(i){let u=await this.vault.decrypt(i.accessToken),t=i.refreshToken?await this.vault.decrypt(i.refreshToken):null,f=i.clientSecret?await this.vault.decrypt(i.clientSecret):null;return{id:i.id,connectionId:i.connectionId,accessToken:u,refreshToken:t,scope:i.scope,expiresAt:i.expiresAt,createdAt:i.createdAt,updatedAt:i.updatedAt,clientId:i.clientId,clientSecret:f,tokenEndpoint:i.tokenEndpoint}}}var l_=g(()=>{id()});function bBf(i){if(!i||typeof i!=="object"||Array.isArray(i))return Fg0;let u=i;if(Object.values(u).some((t)=>typeof t!=="string"))return Fg0;return u}function RBf(i){if(typeof i!=="number"||!Number.isFinite(i)||!Number.isInteger(i)||i<=0)return;return i}function Mv(i){let u=i.metadata?.repoScope;if(!u||typeof u.installationId!=="number"||!Number.isFinite(u.installationId)||!Number.isInteger(u.installationId)||u.installationId<=0||typeof u.owner!=="string"||typeof u.repo!=="string"||u.owner.length===0||u.repo.length===0)return null;let t=RBf(u.repositoryId);return{sourceConnectionId:typeof u.sourceConnectionId==="string"?u.sourceConnectionId:void 0,installationId:u.installationId,repositoryId:t,owner:u.owner,repo:u.repo,permissions:bBf(u.permissions),grantProvider:u.grantProvider==="github-mcp"?"github-mcp":void 0}}function Ug0(i){return i.metadata?.orgShared===!0}var Fg0;var Ty=g(()=>{Fg0={contents:"write",metadata:"read",pull_requests:"write",issues:"write"}});async function CBf(i,u){let t=i.organization?.id;if(!t)throw Error(NE);if(!u.sourceConnectionId)throw Error(NE);let f=await i.storage.connections.findById(u.sourceConnectionId,t);if(!f)throw Error(NE);let{clientFromConnection:l}=await Promise.resolve().then(() => (Em(),Ig0)),c=await l(f,i,!0);try{let E=await c.callTool({name:"MINT_REPO_TOKEN",arguments:{installationId:u.installationId,owner:u.owner,repo:u.repo,permissions:u.permissions}}),d=E.structuredContent?.token;if(E.isError||!d)throw Error(NE);let $=E.structuredContent?.expiresAt;return{accessToken:d,expiresAt:$?new Date($):null}}finally{await c.close().catch(()=>{})}}function MBf(i,u){return(i?.getTime()??0)>u?i:new Date(u+Bg0)}async function qBf(i,u,t,f){let l=Date.now(),c=await CBf(i,t),E=MBf(c.expiresAt,l);return await f.upsert({connectionId:u,accessToken:c.accessToken,refreshToken:null,scope:null,expiresAt:E,clientId:null,clientSecret:null,tokenEndpoint:null}),c.accessToken}async function kwi(i,u,t){let f=Mv(u);if(!f)throw Error("Connection is not repo-scoped");if(!f.sourceConnectionId)throw Error(NE);let l=new Vl(i.db,i.vault),c=await l.get(u.id);if(!t?.forceRefresh&&c&&!l.isExpired(c,ze))return c.accessToken;let E=Tuu.get(u.id);if(E)return E;let d=qBf(i,u.id,f,l).finally(()=>{Tuu.delete(u.id)});return Tuu.set(u.id,d),d}var Tuu;var Buu=g(()=>{eg();Ty();l_();Tuu=new Map});import{SpanStatusCode as Pg0}from"@opentelemetry/api";function VBf(i){if(!i)return;let u={};for(let[t,f]of Object.entries(i))if(f&&typeof f==="object"&&!Array.isArray(f)&&"__binding"in f){let{__binding:l,...c}=f;u[t]=c}else u[t]=f;return u}async function Fuu(i,u,t){return u.tracer.startActiveSpan("studio.connection.build_headers",{attributes:{"connection.id":i.id}},async(f)=>{try{let l=await rBf(i,u,t);return f.setStatus({code:Pg0.OK}),l}catch(l){throw f.setStatus({code:Pg0.ERROR,message:l.message}),f.recordException(l),l}finally{f.end()}})}async function rBf(i,u,t){let f=i.id,l=Cei(i.configuration_state,i.configuration_scopes),c=u.auth.user,E=c?.id??u.auth.apiKey?.userId??(t?i.created_by:void 0),[d,$]=E?await jE0({sub:E,user:{id:E,email:c?.email,name:c?.name,role:c?.role},metadata:{state:VBf(i.configuration_state),meshUrl:u.baseUrl,connectionId:f,organizationId:u.organization?.id,organizationName:u.organization?.name,organizationSlug:u.organization?.slug},permissions:l}).then((D)=>[D,null]).catch((D)=>[null,D]):[null,Error("User ID required to issue configuration token")];if($)console.error("Failed to issue configuration token:",d);let w=u.auth.user?.connectionId,h={...w?{"x-caller-id":w}:{},...u.metadata.wellKnownForwardableHeaders??{},"x-request-id":u.metadata.requestId};if(u.metadata.runMetadata&&Object.keys(u.metadata.runMetadata).length>0)h["x-mesh-run-metadata"]=JSON.stringify(u.metadata.runMetadata);let _=null;if(!!Mv(i)?.sourceConnectionId)try{_=await kwi(u,i)}catch(D){console.error("[Proxy] repo-scoped legacy token mint failed",{connectionId:f,error:D.message})}else{let D=new Vl(u.db,u.vault),O=await mg({connectionId:f,connectionUrl:i.connection_url,tokenStorage:D});if(O.accessToken)_=O.accessToken;else if(O.state==="expired_without_refresh")console.warn(`[Proxy] Token expired for ${f} with no refresh capability`)}if(!_&&i.connection_token)_=i.connection_token;if(_)h.Authorization=`Bearer ${_}`;if(d)h["x-mesh-token"]=d;return h}var Ag0=g(()=>{Mei();NN();eg();l_();Buu();Ty()});function xg0(i){let u=new kV({command:i.command,args:i.args,env:i.env,cwd:i.cwd,stderr:"pipe"}),t=i.name||i.id,f="\x1B[2m",l="\x1B[0m";return u.stderr?.on("data",(c)=>{let E=c.toString().trimEnd();if(E)console.error(`${E} \x1B[2m[${t}]\x1B[0m`)}),u}var kg0=g(()=>{Bei()});var mBf="mcp.mesh",Rz;var Gg0=g(()=>{e$();MN();eE();Rz=class Rz extends TW{options;constructor(i,u){super(i);this.options=u}toolsListPromise=null;fetchToolsFromServer(){if(!this.toolsListPromise)this.toolsListPromise=new Promise((i)=>{let u=`auth-tools-${Date.now()}`,t=this.innerTransport.onmessage;this.innerTransport.onmessage=(f)=>{if("id"in f&&f.id===u)if(this.innerTransport.onmessage=t,this.toolsListPromise=null,"result"in f){let l=f.result?.tools??null;i(l)}else i(null);else t?.(f)},this.innerTransport.send({jsonrpc:"2.0",id:u,method:"tools/list",params:{}}).catch(()=>{this.innerTransport.onmessage=t,this.toolsListPromise=null,i(null)})});return this.toolsListPromise}async ensureToolsMap(){let i=this.options.cache??A1(),u=await s2("tools",this.options.connection.id,async()=>{let t=await this.fetchToolsFromServer();if(t===null)throw Error("Failed to fetch tools list");return t},i,(t)=>this.options.ctx.pendingRevalidations.push(t),o2);if(!u)return new Map;return new Map(u.map((t)=>[t.name,t]))}async handleOutgoingMessage(i){if(!this.isRequest(i))return this.innerTransport.send(i);let u=i;if(u.method==="tools/call")await this.authorizeToolCall(u),this.stripMetaFromArguments(u);return this.innerTransport.send(i)}async authorizeToolCall(i){if(this.options.superUser)return;let t=i.params.name,{ctx:f,connection:l}=this.options;if(await this.isPublicTool(t))return;if(!f.auth.user?.id&&!f.auth.apiKey?.id)throw Error("Authentication required. Please provide a valid OAuth token or API key.");let c=async()=>{return(await this.ensureToolsMap()).get(t)?._meta};await new CN(f.auth.user?.id??f.auth.apiKey?.userId,t,f.boundAuth,f.organization?.role??f.auth.user?.role,l.id,c,f.organization?.id).check(t)}async isPublicTool(i){if(i.startsWith("MESH_PUBLIC_"))return!0;let t=(await this.ensureToolsMap()).get(i);if(!t?._meta)return!1;return t._meta[mBf]?.public_tool===!0}stripMetaFromArguments(i){let u=i.params;if(u.arguments&&"_meta"in u.arguments){let{_meta:t,...f}=u.arguments;u.arguments=f}}}});class Uuu{redact(i){if(i===null||i===void 0)return i;if(typeof i==="string")return this.redactString(i);if(Array.isArray(i))return i.map((u)=>this.redact(u));if(typeof i==="object"){let u={};for(let[t,f]of Object.entries(i)){let l=this.redactString(t);u[l]=this.redact(f)}return u}return i}redactString(i){return i.replace(aBf,(u,...t)=>{let f=t[t.length-1];if(f){for(let l of eBf)if(f[l]!=null)return`[REDACTED:${l}]`}return u})}}var eBf,aBf;var Sg0=g(()=>{eBf=["jwt","api_key","email","credit_card","ssn"],aBf=new RegExp(["(?<jwt>eyJ[A-Za-z0-9-_]+\\.eyJ[A-Za-z0-9-_]+\\.[A-Za-z0-9-_.+/=]*)",`(?<api_key>(?:api[_-]?key|token|secret|password|bearer)\\s*[:=]\\s*['"]?[\\w-]{16,}['"]?)`,"(?<email>[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,})","(?<credit_card>\\b\\d{4}[- ]?\\d{4}[- ]?\\d{4}[- ]?\\d{4}\\b)","(?<ssn>\\b\\d{3}-\\d{2}-\\d{4}\\b)"].join("|"),"gi")});import{SeverityNumber as jg0}from"@opentelemetry/api-logs";function Qe(i,u){try{if(!i.organizationId)return;let t=Iuu.redactString(wL(JSON.stringify(i.toolArguments??{}))),f=Iuu.redactString(wL(JSON.stringify(i.result??{}))),l=i.errorMessage?Iuu.redactString(wL(i.errorMessage)):"";fHu().emit({severityNumber:i.isError?jg0.ERROR:jg0.INFO,severityText:i.isError?"ERROR":"INFO",body:i.toolName,attributes:{[Uf.TYPE]:i.type??SC,[Uf.ORGANIZATION_ID]:i.organizationId,[Uf.CONNECTION_ID]:i.connectionId,[Uf.CONNECTION_TITLE]:"",[Uf.TOOL_NAME]:i.toolName,[Uf.INPUT]:t,[Uf.OUTPUT]:f,[Uf.IS_ERROR]:i.isError,[Uf.ERROR_MESSAGE]:l,[Uf.DURATION_MS]:i.duration,[Uf.USER_ID]:i.userId||"",[Uf.REQUEST_ID]:i.requestId,[Uf.USER_AGENT]:i.userAgent||"",[Uf.VIRTUAL_MCP_ID]:i.virtualMcpId||"",[Uf.PROPERTIES]:i.properties?JSON.stringify(i.properties):""},context:u})}catch{}}var Iuu;var Gwi=g(()=>{uzi();Sg0();L$();izi();Iuu=new Uuu});function Puu(i){let{ctx:u,organizationId:t,connectionId:f,toolName:l,durationMs:c,isError:E}=i;if(!t||!f||!l)return;let d={"tool.name":l,"organization.id":t,"connection.id":f,status:E?"error":"success","error.type":E?i.errorType||"Error":""};u.meter.createHistogram("tool.execution.duration",{description:"Duration of tool executions in milliseconds",unit:"ms"}).record(c,d),u.meter.createCounter("tool.execution.count",{description:"Number of tool executions"}).add(1,d)}import{trace as qQl,context as VQl}from"@opentelemetry/api";function Kg0(i){if(!i.isError)return;let u=i.content;if(!Array.isArray(u))return;for(let t of u)if(t&&typeof t==="object"&&"type"in t&&t.type==="text"&&"text"in t&&typeof t.text==="string")return t.text;return}function Jg0(i){if(!i)return;let u=i._meta;if(!u||typeof u!=="object"||Array.isArray(u))return;let t=u.properties;if(!t||typeof t!=="object"||Array.isArray(t))return;let f={};for(let[l,c]of Object.entries(t))if(typeof c==="string")f[l]=c;return Object.keys(f).length>0?f:void 0}function Xg0(i,u){if(!i&&!u)return;if(!i)return u;if(!u)return i;return{...u,...i}}var Lg0=g(()=>{ff();Gwi();L$()});import{trace as oBf,context as Wg0}from"@opentelemetry/api";var Cz;var Yg0=g(()=>{eE();Gwi();Lg0();Cz=class Cz extends TW{options;inflightRequests=new Map;requestContext;constructor(i,u){super(i);this.options=u;this.requestContext=Wg0.active()}async handleOutgoingMessage(i){if(this.isRequest(i)){let u=i;this.onRequestStart(u)}return this.innerTransport.send(i)}handleIncomingMessage(i){if(this.isResponse(i)){let u=i;this.onResponseEnd(u)}this.onmessage?.(i)}onRequestStart(i){let{ctx:u,connectionId:t}=this.options,f,l;if(i.method==="tools/call"&&i.params){let E=i.params;f=E.name,l=E.arguments}let c;if(i.method==="tools/call"&&f)c=u.tracer.startSpan("mcp.proxy.callTool",{attributes:{"connection.id":t,"tool.name":f,"request.id":u.metadata.requestId,"jsonrpc.id":i.id,"jsonrpc.method":i.method}},this.requestContext);if(i.id!==null&&i.id!==void 0)this.inflightRequests.set(i.id,{startTime:Date.now(),method:i.method,toolName:f,toolArguments:l,span:c})}onResponseEnd(i){if(i.id===null||i.id===void 0)return;let u=this.inflightRequests.get(i.id);if(!u)return;let{ctx:t,connectionId:f}=this.options,{startTime:l,method:c,toolName:E,toolArguments:d,span:$}=u,w=Date.now()-l;if(this.inflightRequests.delete(i.id),c!=="tools/call"||!E)return;let h=t.organization?.id??"",_="error"in i,v=_?i.error:i.result,n=_?{content:[{type:"text",text:i.error?.message||"Unknown error"}],isError:!0}:v,D=_||n?.isError===!0,O=_?i.error?.message:void 0,N=Kg0(n)||null;if(t.meter.createHistogram("connection.proxy.duration").record(w,{"connection.id":f,"organization.id":h,"tool.name":E,status:D?"error":"success"}),D)t.meter.createCounter("connection.proxy.errors").add(1,{"connection.id":f,"organization.id":h,"tool.name":E,error:O??N??void 0});else t.meter.createCounter("connection.proxy.requests").add(1,{"connection.id":f,"organization.id":h,"tool.name":E,status:"success"});if(h)Puu({ctx:t,organizationId:h,connectionId:f,toolName:E,durationMs:w,isError:D,errorType:_?"RemoteError":D?"ToolError":""});if($){if(D)$.recordException(Error(O??N??"Tool error"));let y=Jg0(d),Z=Xg0(t.metadata.properties,y),T=oBf.setSpan(Wg0.active(),$);Qe({organizationId:t.organization?.id??"",connectionId:f,toolName:E,toolArguments:d,result:n,duration:w,isError:D,errorMessage:N,userId:t.auth.user?.id||t.auth.apiKey?.userId||null,requestId:t.metadata.requestId,userAgent:t.metadata.userAgent||null,virtualMcpId:this.options.virtualMcpId||null,properties:Z||null},T),$.end()}}async close(){for(let i of this.inflightRequests.values())if(i.span)i.span.setAttributes({"transport.closed":!0}),i.span.end();return this.inflightRequests.clear(),super.close()}}});var zg0=g(()=>{eE();Gg0();Yg0()});async function Qg0(i,u,t=!1){let f=i.id,l=u.connectionId&&u.connectionId!==f?u.connectionId:void 0;switch(i.connection_type){case"STDIO":{if(!Zu().localMode)throw Error("STDIO connections are only available in local mode (--local-mode).");let c=i.connection_headers;if(!Ov(c))throw Error("STDIO connection missing parameters");let E=xg0({id:f,name:i.title,command:c.command,args:c.args,env:c.envVars,cwd:c.cwd});return E=BW(E,(d)=>new Rz(d,{ctx:u,connection:i,superUser:t}),(d)=>new Cz(d,{ctx:u,connectionId:f,virtualMcpId:l})),sBf(E,f)}case"HTTP":case"Websocket":{if(!i.connection_url)throw Error(`${i.connection_type} connection missing URL`);let c=await Fuu(i,u,t),E=i.connection_headers;if(E&&"headers"in E)Object.assign(c,E.headers);let d=new Kh(new URL(i.connection_url),{requestInit:{headers:c}});return d=BW(d,($)=>new Rz($,{ctx:u,connection:i,superUser:t}),($)=>new Cz($,{ctx:u,connectionId:f,virtualMcpId:l})),u.getOrCreateClient(d,f)}case"SSE":{if(!i.connection_url)throw Error("SSE connection missing URL");let c=await Fuu(i,u,t),E=i.connection_headers;if(E&&"headers"in E)Object.assign(c,E.headers);let d=new Mn(new URL(i.connection_url),{requestInit:{headers:c}});return d=BW(d,($)=>new Rz($,{ctx:u,connection:i,superUser:t}),($)=>new Cz($,{ctx:u,connectionId:f,virtualMcpId:l})),u.getOrCreateClient(d,f)}default:throw Error(`Unknown connection type: ${i.connection_type}`)}}var sBf;var Hg0=g(()=>{Zt();Tv();xV();pO();Ag0();gsi();kg0();zg0();sBf=c$i()});function B3(i){return i.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}function He(i){if(i&&typeof i==="object"&&"gatewayClientId"in i&&typeof i.gatewayClientId==="string")return i.gatewayClientId;return}function be(i,u){if(!u)return i;let t=`${B3(u)}_`;return i.startsWith(t)?i.slice(t.length):i}function pBf(i){return i.split(/[-_]/).map((u)=>u?u.charAt(0).toUpperCase()+u.slice(1):u).join(" ")}var Swi;var bg0=g(()=>{jh();Swi=class Swi extends I1{clients;slugToKey=new Map;resolvedClients=new Map;toolsCache=null;resourcesCache=null;resourceTemplatesCache=null;promptsCache=null;resourceRouteMap=new Map;constructor(i,u){super(u?.clientInfo??{name:"gateway-client",version:"1.0.0"},{capabilities:u?.capabilities});this.clients=i;for(let t of Object.keys(i)){let f=B3(t);if(this.slugToKey.has(f))throw Error(`GatewayClient: duplicate slug "${f}" from keys "${this.slugToKey.get(f)}" and "${t}"`);this.slugToKey.set(f,t)}}namespace(i,u){return`${B3(i)}_${u}`}async resolveToolTarget(i){let u=i.indexOf("_");if(u!==-1){let f=i.slice(0,u),l=this.slugToKey.get(f);if(l)return[l,i.slice(u+1)]}let{tools:t}=await this.listTools();for(let f of t){let l=He(f._meta);if(!l)continue;if(be(f.name,l)===i)return[l,i]}if(u===-1)throw Error(`GatewayClient: could not resolve tool "${i}" \u2014 no namespace prefix and not found in any client`);throw Error(`GatewayClient: unknown namespace "${i.slice(0,u)}" in "${i}" and not found by original name in any client`)}async resolvePromptTarget(i){let u=i.indexOf("_");if(u!==-1){let f=i.slice(0,u),l=this.slugToKey.get(f);if(l)return[l,i.slice(u+1)]}let{prompts:t}=await this.listPrompts();for(let f of t){let l=He(f._meta);if(!l)continue;if(be(f.name,l)===i)return[l,i]}if(u===-1)throw Error(`GatewayClient: could not resolve prompt "${i}" \u2014 no namespace prefix and not found in any client`);throw Error(`GatewayClient: unknown namespace "${i.slice(0,u)}" in "${i}" and not found by original name in any client`)}resolveClient(i){let u=this.resolvedClients.get(i);if(u)return u;let t=this.clients[i];if(!t)return Promise.reject(Error(`GatewayClient: unknown client key "${i}"`));let f=t.client,c=(typeof f==="function"?Promise.resolve(f()):Promise.resolve(f)).catch((E)=>{throw this.resolvedClients.delete(i),E});return this.resolvedClients.set(i,c),c}getResolvedClient(i){return this.resolveClient(i)}async fetchAllTools(i){let u=[],t;do{let f=await i.listTools(t?{cursor:t}:void 0);u.push(...f.tools),t=f.nextCursor}while(t);return u}async fetchAllResources(i){let u=[],t;do{let f=await i.listResources(t?{cursor:t}:void 0);u.push(...f.resources),t=f.nextCursor}while(t);return u}async fetchAllResourceTemplates(i){let u=[],t;do{let f=await i.listResourceTemplates(t?{cursor:t}:void 0);u.push(...f.resourceTemplates),t=f.nextCursor}while(t);return u}async fetchAllPrompts(i){let u=[],t;do{let f=await i.listPrompts(t?{cursor:t}:void 0);u.push(...f.prompts),t=f.nextCursor}while(t);return u}listTools(i,u){if(!this.toolsCache)this.toolsCache=this.aggregateTools();return this.toolsCache}async aggregateTools(){let i=[];for(let[u,t]of Object.entries(this.clients)){let f=await this.resolveClient(u),l=await this.fetchAllTools(f),c=t.tools,E=c?new Set(c):null;for(let d of l){if(E&&!E.has(d.name))continue;i.push({...d,name:this.namespace(u,d.name),_meta:{...d._meta??{},gatewayClientId:u}})}}return{tools:i}}listResources(i,u){if(!this.resourcesCache)this.resourcesCache=this.aggregateResources();return this.resourcesCache}async aggregateResources(){let i=new Set,u=[],t=new Map;for(let[f,l]of Object.entries(this.clients)){let c=await this.resolveClient(f),E=await this.fetchAllResources(c),d=l.resources,$=d?new Set(d):null;for(let w of E){if($&&!$.has(w.uri)&&!(w.name&&$.has(w.name)))continue;if(i.has(w.uri)){console.warn(`GatewayClient: duplicate resource "${w.uri}" from client "${f}" \u2014 skipping`);continue}i.add(w.uri),t.set(w.uri,f),u.push({...w,_meta:{...w._meta??{},gatewayClientId:f}})}}return this.resourceRouteMap=t,{resources:u}}listResourceTemplates(i,u){if(!this.resourceTemplatesCache)this.resourceTemplatesCache=this.aggregateResourceTemplates();return this.resourceTemplatesCache}async aggregateResourceTemplates(){let i=new Set,u=[];for(let[t,f]of Object.entries(this.clients)){let l=await this.resolveClient(t),c=await this.fetchAllResourceTemplates(l);for(let E of c){if(i.has(E.uriTemplate)){console.warn(`GatewayClient: duplicate resource template "${E.uriTemplate}" from client "${t}" \u2014 skipping`);continue}i.add(E.uriTemplate),u.push({...E,_meta:{...E._meta??{},gatewayClientId:t}})}}return{resourceTemplates:u}}listPrompts(i,u){if(!this.promptsCache)this.promptsCache=this.aggregatePrompts();return this.promptsCache}async aggregatePrompts(){let i=[];for(let[u,t]of Object.entries(this.clients)){let f=await this.resolveClient(u),l=await this.fetchAllPrompts(f),c=t.prompts,E=c?new Set(c):null;for(let d of l){if(E&&!E.has(d.name))continue;i.push({...d,name:this.namespace(u,d.name),title:d.title??pBf(d.name),_meta:{...d._meta??{},gatewayClientId:u}})}}return{prompts:i}}async callTool(i,u,t){let[f,l]=await this.resolveToolTarget(i.name);return(await this.resolveClient(f)).callTool({...i,name:l},u,t)}async readResource(i,u){let t=await this.resolveResourceRoute(i.uri);return(await this.resolveClient(t)).readResource(i)}async getPrompt(i,u){let[t,f]=await this.resolvePromptTarget(i.name);return(await this.resolveClient(t)).getPrompt({...i,name:f})}async resolveResourceRoute(i){let u=this.resourceRouteMap.get(i);if(u)return u;if(this.resourcesCache=null,await this.listResources(),u=this.resourceRouteMap.get(i),u)return u;throw Error(`GatewayClient: resource "${i}" not found in any upstream client`)}getServerCapabilities(){return{tools:{},resources:{},prompts:{}}}getInstructions(){return}refresh(){this.toolsCache=null,this.resourcesCache=null,this.resourceTemplatesCache=null,this.promptsCache=null}async close(){let i=[...this.resolvedClients.values()].map((u)=>u.then((t)=>t.close()).catch(()=>{}));await Promise.allSettled(i),await super.close()}}});var jwi=g(()=>{bg0()});function Auu(i){return B3(i)}function iFf(i,u){let t=B3(u)||"prompt";return`${i}-${t}`}async function xuu(i,u,t){try{await i.delete(Kwi,Auu(u),{actor:t})}catch(f){console.error("[agent-prompts] failed to delete prompts",{agentId:u,err:f})}}async function Jwi(i,u,t,f){let l=Auu(u);await xuu(i,u,t),await Promise.all(f.slice(0,Rg0).map(async(c,E)=>{let d=iFf(E,c.title),$={name:d,title:c.title,description:c.description,text:c.text};try{await i.write(Kwi,`${l}/${d}.json`,JSON.stringify($),{actor:t,contentType:"application/json"})}catch(w){console.error("[agent-prompts] failed to seed prompt",{agentId:u,name:d,err:w})}}))}async function Cg0(i,u){let t=Auu(u),f;try{f=await i.listDir(Kwi,t)}catch{return[]}let l=f.filter((E)=>E.kind==="file"&&E.path.endsWith(".json")).slice(0,Rg0),c=[];for(let E of l)try{let d=await i.read(Kwi,E.path),$=JSON.parse(new TextDecoder().decode(d));if($&&typeof $.name==="string"&&typeof $.title==="string"&&typeof $.text==="string")c.push($)}catch{}return c}var Kwi="agent-prompts",Rg0=20;var Re=g(()=>{jwi()});var By="home";var Xwi=()=>{};function Fy(i,u){let t;if(i==="home")t=`org/${By}`;else if(i==="outputs")t=`org/${Mg0}`;else if(i==="uploads")t=`org/${qg0}`;else if(QO(i))t=`org/public/${i.slice(7)}`;else t=`org/${i}`;return u?`${t}/${u}`:t}function tFf(i){return{baseUrl:i.baseUrl.replace(/\/+$/,""),orgSlug:i.orgSlug,token:i.token,mounts:[{volume:"home",path:By},...uFf.map((u)=>({...u})),...(i.publicSets??[]).map((u)=>({volume:g2(u),path:`public/${u}`,readonly:!0}))]}}async function Lwi(i,u){try{let t=await i.boundAuth.apiKey.create({name:`orgfs-${u.orgSlug}`,permissions:{self:["*"]},expiresIn:fFf,metadata:{organization:{id:u.orgId,slug:u.orgSlug}}});return JSON.stringify(tFf({baseUrl:u.baseUrl,orgSlug:u.orgSlug,token:t.key,publicSets:aw().map((f)=>f.set)}))}catch(t){console.warn("[org-fs] token mint failed; mounts disabled for this sandbox",t);return}}var Mg0=".outputs",qg0=".uploads",uFf,fFf=604800;var Mz=g(()=>{Xwi();ML();uFf=[{volume:"outputs",path:Mg0},{volume:"uploads",path:qg0}]});function lFf(i){let u=[i.contentType??"file"];if(i.size!=null)u.push(`${i.size} bytes`);return u.join(", ")}function cFf(i){let u=(i??[]).filter((f)=>f.kind!=="skill");if(u.length===0)return null;return["<knowledge>","The following files are attached to you as reference knowledge. They are mounted in your sandbox at the paths below; read them with your file tools when relevant to the task, and treat them as authoritative reference material.","","Attached files:",u.map((f)=>`- ${f.name} (${lFf(f)}), read it at \`${Fy(f.volume,f.path)}\``).join(`
|
|
86374
86374
|
`),"</knowledge>"].join(`
|
|
86375
86375
|
`)}function Vg0(i,u){let t=cFf(u);if(!t)return i;return i?`${i}
|
|
86376
86376
|
|
|
@@ -86397,7 +86397,7 @@ conversation.
|
|
|
86397
86397
|
</skills-usage>`;var og0=()=>{};function $Ff(i){let u={};for(let t of i.split(`
|
|
86398
86398
|
`)){let f=t.match(/^([A-Za-z][\w-]*):\s*(.*)$/);if(f?.[1]&&f[2]!==void 0)u[f[1].toLowerCase()]=f[2].trim()}return u}function sg0(i){for(let u of i.split(/\n\s*\n/)){let t=u.trim();if(!t||t.startsWith("#"))continue;return t.replace(/\n/g," ")}return null}function pg0(i){let u=i.match(/^---\n([\s\S]*?)\n---\n?/);if(!u||u[1]===void 0)return{name:null,description:sg0(i),body:i};let t=$Ff(u[1]),f=i.slice(u[0].length);return{name:t.name||null,description:t.description||sg0(f),body:f}}function _Ff(i){let u=i.lastIndexOf("/");return u===-1?i:i.slice(u+1)}async function Guu(i,u,t,f){try{let l=(await i.listDir(u,t)).filter((d)=>d.kind==="dir");if(l.length===0)return[];let c=await i.filesExist(u,l.map((d)=>`${d.path}/SKILL.md`)),E=[];for(let d of l){if(f.remaining<=0)break;if(!c.has(`${d.path}/SKILL.md`))continue;f.remaining-=1;try{let $=await i.read(u,`${d.path}/SKILL.md`),w=pg0(new TextDecoder().decode($));E.push({dirPath:d.path,name:w.name??_Ff(d.path),description:w.description})}catch{}}return E}catch(l){return console.warn(`[skill-catalog] scan failed (${u}:${t||"/"})`,l),[]}}async function vFf(i,u){if(Ywi&&Ywi.expires>Date.now())return Ywi.entries;let t=qM(i),f=[];for(let{set:l}of aw()){let c=g2(l),E=await Guu(t,c,"",u);for(let d of E)f.push({id:`${l}/${d.dirPath}`,name:d.name,description:d.description,source:`public:${l}`,sandboxPath:Fy(c,d.dirPath),volume:c,path:d.dirPath})}if(f.length>0)Ywi={entries:f,expires:Date.now()+hFf};return f}function nFf(i,u){let t=HE(),f=t?W$(t,u):new cv(u,i.baseUrl);return new dv(f,i.storage.orgFsEntries,u)}async function DFf(i,u,t){let f=nFf(i,u),[l,c]=await Promise.all([Guu(f,Wwi,"",t),Guu(f,Wwi,"skills",t)]);return[...l,...c].map((E)=>({id:`home/${E.dirPath}`,name:E.name,description:E.description,source:"home",sandboxPath:Fy(Wwi,E.dirPath),volume:Wwi,path:E.dirPath}))}async function zwi(i,u){let t={remaining:wFf},[f,l]=await Promise.all([vFf(i,t),DFf(i,u,t)]);return[...f,...l].sort((c,E)=>c.source.localeCompare(E.source)||c.id.localeCompare(E.id))}var wFf=200,hFf=300000,Wwi="home",Ywi=null;var Suu=g(()=>{bM();a8();CL();Mz();ML()});async function i70(i,u){let t=i.organization?.id;if(!t)return null;try{let f=await zwi(i,t);if(f.length===0)return null;let l=new Set((u.metadata?.knowledge??[]).filter((E)=>E.kind==="skill").map((E)=>Fy(E.volume,E.path))),c=f.filter((E)=>l.has(E.sandboxPath)).map((E)=>E.id);return ag0(f.map((E)=>({id:E.id,description:E.description,source:E.source})),c)}catch(f){return console.warn("[skill-catalog] failed to render skills block",f),null}}var u70=g(()=>{og0();Suu();Mz()});import{SpanStatusCode as t70}from"@opentelemetry/api";function gFf(i,u){if(i.connection_type!=="VIRTUAL")return!1;if(!u||Dv(u))return!1;return i.id===u}async function f70(i,u,t=!1){let f=i.id,l=await u.storage.virtualMcps.findById(f);if(!l)throw Error(`Virtual MCP not found: ${f}`);return $D(l,u,"passthrough",t)}async function $D(i,u,t,f=!1,l){let c=i.connections.map((h)=>h.connection_id),d=(await u.tracer.startActiveSpan("studio.virtual_mcp.load_connections",{attributes:{"virtual_mcp.id":i.id??"decopilot","virtual_mcp.connection_count":c.length}},async(h)=>{try{let _=await Promise.all(c.map((v)=>u.storage.connections.findById(v)));return h.setStatus({code:t70.OK}),_}catch(_){throw h.setStatus({code:t70.ERROR,message:_.message}),h.recordException(_),_}finally{h.end()}})).filter((h)=>h!==null&&h.status==="active"&&!gFf(h,i.id));if(l?.additionalConnections?.length)d.unshift(...l.additionalConnections);if(i.organization_id){let h=new Set(d.map((v)=>v.id)),{items:_}=await u.storage.connections.list(i.organization_id,{slug:"mcp-github"});for(let v of _)if(v.status==="active"&&!h.has(v.id)&&Ug0(v))d.push(v)}let $=l?.includeSkillsCatalog?await i70(u,i)??void 0:void 0,w={connections:d,virtualMcp:i,superUser:f,mcpListCache:A1()??void 0,listTimeoutMs:l?.listTimeoutMs,skillsBlock:$};return new kuu(w,u)}var qz=g(()=>{ff();e$();Ty();mg0();u70()});var Ig0={};Wi(Ig0,{clientFromConnection:()=>U6});async function U6(i,u,t=!1){if(i.connection_type==="VIRTUAL")return f70(i,u,t);return Qg0(i,u,t)}var Em=g(()=>{Hg0();qz()});async function juu(i,u,t){let f=new AbortController,l,c=new Promise((d,$)=>{l=setTimeout(()=>{f.abort(),$(new l70(i.id,t))},t)}),E=(async()=>{let d=await U6(i,u,!0);try{return(await d.listTools(void 0,{timeout:t,signal:f.signal})).tools}finally{await d.close().catch(()=>{})}})();E.catch(()=>{});try{return await Promise.race([E,c])}finally{if(l)clearTimeout(l)}}var l70;var c70=g(()=>{Em();l70=class l70 extends Error{constructor(i,u){super(`listTools timed out after ${u}ms for connection ${i}`);this.name="ListToolsTimeoutError"}}});function Qwi(i){return(u)=>{if(u instanceof ju&&u.code===Yu.MethodNotFound)return i;throw u}}var E70=g(()=>{kl()});function Hwi(i,u,t){let f=Ag(i,u,t,A1()??void 0),l=Ln(f,{name:"mcp-mesh-enhanced",version:"1.0.0"},{capabilities:OFf,toolCallTimeoutMs:QW});l.server.setRequestHandler(T2,async()=>{return await f.listResources().catch(Qwi({resources:[]}))}),l.server.setRequestHandler(B2,async()=>{return await f.listResourceTemplates().catch(Qwi({resourceTemplates:[]}))}),l.server.setRequestHandler(F2,async()=>{return await f.listPrompts().catch(Qwi({prompts:[]}))});let c=l.close.bind(l);return l.close=async()=>{await c(),await f.close().catch(()=>{})},l}var OFf;var d70=g(()=>{ff();kl();cm();e$();E70();OFf={tools:{},resources:{},prompts:{}}});var Uy=g(()=>{Em();c70();d70()});function Ce(i,u,t){if(u.some((f)=>f!=="*"&&f.startsWith("SELF::"))&&i.SELF===void 0)i.SELF={value:`${t}_self`}}function Me(i,u){let t=new Map;for(let f of u){if(f==="*")continue;let[l,c]=WEi(f);if(!NFf.has(c))continue;let E=QV(l,i);if(typeof E!=="object"||E===null||!("value"in E))continue;let d=E.value;if(typeof d!=="string")continue;t.set(`${d}:${c}`,{targetConnectionId:d,scope:c})}return[...t.values()]}async function qe(i,u,t,f){for(let c of u){if(c==="*")continue;let[E]=WEi(c),d=QV(E,i);if(d===void 0||d===null)throw Error(`Scope references key "${E}" but it's not present in state`)}let l=Bd0(i,u);for(let c of l){if(c.endsWith("_self"))continue;let E=await f.storage.connections.findById(c);if(!E||E.organization_id!==t)throw Error(`Referenced connection not found: ${c}`);try{await f.access.check(c)}catch(d){throw Error(`Access denied to referenced connection: ${c}. ${d.message}`)}}}var NFf;var Kuu=g(()=>{Mei();QEi();NFf=new Set([YEi,zEi])});import{z as $70}from"zod";var yFf,ZFf,Juu;var w70=g(()=>{o4();cu();Zt();e$();Uy();Kuu();GV();Tv();yFf=$70.object({data:Lq.describe("Data for the new connection (id is auto-generated if not provided)")}),ZFf=$70.object({item:y6.describe("The created connection entity")}),Juu=fi({name:"COLLECTION_CONNECTIONS_CREATE",description:"Create a new MCP connection. Auto-fetches and caches the server's tool list.",annotations:{title:"Create Connection",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:yFf,outputSchema:ZFf,handler:async(i,u)=>{Gi(u);let t=yi(u);await u.access.check();let f=Hu(u);if(!f)throw Error("User ID required to create connection");let l={...i.data,organization_id:t.id,created_by:f};if(l.id){if((await u.storage.connections.findById(l.id))?.organization_id===t.id)throw Error("Connection already exists in organization")}if(l.connection_type==="VIRTUAL"){let _=iN(l.connection_url);if(!_)throw Error("VIRTUAL connection requires connection_url in format: virtual://$virtual_mcp_id");let v=await u.storage.virtualMcps.findById(_);if(!v)throw Error(`Virtual MCP not found: ${_}`);if(v.organization_id!==t.id)throw Error("Virtual MCP does not belong to the current organization");l.connection_url=uN(_)}if(l.connection_type==="STDIO"&&!Zu().localMode)throw Error("STDIO connections are only available in local mode (--local-mode).");let c=await V2({id:`pending-${Date.now()}`,title:l.title,connection_type:l.connection_type,connection_url:l.connection_url,connection_token:l.connection_token,connection_headers:l.connection_headers}).catch(()=>null),E=c?.tools?.length?c.tools:null,d=c?.scopes?.length?c.scopes:l.configuration_scopes??null,$=l.configuration_state??null;if($&&d?.length)Ce($,d,t.id),await qe($,d,t.id,u);let w=await u.storage.connections.createNew({...l,tools:null,configuration_state:$,configuration_scopes:d}),h=$&&d?.length?Me($,d):[];if(h.length>0){let _;try{await u.storage.connectionCredentialVault.replaceGrantsForSubject({organizationId:t.id,subjectConnectionId:w.id,createdBy:f,grants:h});let{plaintextToken:v,record:n}=await u.storage.connectionCredentialVault.createOrRotateWorkloadToken({organizationId:t.id,subjectConnectionId:w.id});_=n.id,await(await U6(w,u,!1)).callTool({name:"ON_MCP_CONFIGURATION",arguments:{state:$,scopes:d,firstRun:!0,vault:{baseUrl:u.baseUrl,org:t.slug??t.id,subjectConnectionId:w.id,token:v}}})}catch(v){if(_)await u.storage.connectionCredentialVault.revokeWorkloadToken({organizationId:t.id,subjectConnectionId:w.id,tokenId:_});throw await u.storage.connections.delete(w.id),v}}if(E)A1()?.set("tools",w.id,E).catch(()=>{});return su.capture({distinctId:f,event:"connection_created",groups:{organization:t.id},properties:{connection_id:w.id,connection_type:w.connection_type,app_name:w.app_name??null,organization_id:t.id,tools_count:E?.length??0}}),{item:w}}})});import{z as F3}from"zod/v4";import{z as h70}from"zod/v4";import{z as bwi}from"zod/v4";import{z as qv}from"zod/v4";import{z as UFf}from"zod/v4";import{z as Iy}from"zod/v4";import{z as Vv}from"zod/v4";import{z as mc}from"zod/v4";import{z as _70}from"zod/v4";import{z as Mwi}from"zod/v4";import{z as VFf}from"zod/v4";import{z as v70}from"zod/v4";import{z as Rwi}from"zod/v4";import{z as uUf}from"zod/v4";function Ve(i,u){if(i===u)return!0;if(i==null||u==null)return i===u;if(typeof i!==typeof u)return!1;if(Array.isArray(i)&&Array.isArray(u)){if(i.length!==u.length)return!1;return i.every((t,f)=>Ve(t,u[f]))}if(typeof i==="object"&&typeof u==="object"){let t=Object.keys(i),f=Object.keys(u);if(t.length!==f.length)return!1;return t.every((l)=>f.includes(l)&&Ve(i[l],u[l]))}return!1}function CFf(){return(i)=>{if(!Array.isArray(i))return!0;let u=[];return i.every((t)=>{if(u.some((l)=>Ve(t,l)))return!1;return u.push(t),!0})}}function Cwi(i,u){return i.safeParse(u).success}function G6(i){if(typeof i==="boolean")return i?F3.any():F3.never();let u={};for(let l of cUf)l.apply(u,i);let t=[];if(u.string!==!1)t.push(u.string||F3.string());if(u.number!==!1)t.push(u.number||F3.number());if(u.boolean!==!1)t.push(u.boolean||F3.boolean());if(u.null!==!1)t.push(u.null||F3.null());if(u.array!==!1)t.push(u.array||F3.array(F3.any()));if(u.tuple!==!1&&u.tuple!==void 0)t.push(u.tuple);if(u.object!==!1)if(u.object)t.push(u.object);else{let l=F3.custom((c)=>{return typeof c==="object"&&c!==null&&!Array.isArray(c)},"Must be an object, not an array");t.push(l)}if(u.file!==!1&&u.file!==void 0)t.push(u.file);let f;if(t.length===0)f=F3.never();else if(t.length===1)f=t[0];else if(!Object.keys(i).some((c)=>c!=="$schema"&&c!=="title"&&c!=="description"))f=F3.any();else f=F3.union(t);for(let l of EUf)f=l.apply(f,i);return f}var TFf=class{apply(i,u){if(!u.type)return;let t=Array.isArray(u.type)?u.type:[u.type],f=new Set(t);if(!f.has("string"))i.string=!1;if(!f.has("number")&&!f.has("integer"))i.number=!1;if(!f.has("boolean"))i.boolean=!1;if(!f.has("null"))i.null=!1;if(!f.has("array"))i.array=!1;if(!f.has("object"))i.object=!1;if(f.has("integer")&&i.number!==!1){let l=i.number||h70.number();if(l instanceof h70.ZodNumber)i.number=l.int()}}},BFf=class{apply(i,u){if(u.const===void 0)return;let t=u.const;if(i.string=!1,i.number=!1,i.boolean=!1,i.null=!1,i.array=!1,i.object=!1,typeof t==="string")i.string=bwi.literal(t);else if(typeof t==="number")i.number=bwi.literal(t);else if(typeof t==="boolean")i.boolean=bwi.literal(t);else if(t===null)i.null=bwi.null();else if(Array.isArray(t))i.array=void 0;else if(typeof t==="object")i.object=void 0}},FFf=class{apply(i,u){if(!u.enum)return;if(u.enum.length===0){if(!u.type)i.string=!1,i.number=!1,i.boolean=!1,i.null=!1,i.array=!1,i.object=!1;return}let t={string:u.enum.filter((f)=>typeof f==="string"),number:u.enum.filter((f)=>typeof f==="number"),boolean:u.enum.filter((f)=>typeof f==="boolean"),null:u.enum.filter((f)=>f===null),array:u.enum.filter((f)=>Array.isArray(f)),object:u.enum.filter((f)=>typeof f==="object"&&f!==null&&!Array.isArray(f))};i.string=this.createTypeSchema(t.string,"string"),i.number=this.createTypeSchema(t.number,"number"),i.boolean=this.createTypeSchema(t.boolean,"boolean"),i.null=t.null.length>0?qv.null():!1,i.array=t.array.length>0?void 0:!1,i.object=t.object.length>0?void 0:!1}createTypeSchema(i,u){if(i.length===0)return!1;if(i.length===1)return qv.literal(i[0]);if(u==="string")return qv.enum(i);if(u==="number"){let[t,f,...l]=i;return qv.union([qv.literal(t),qv.literal(f),...l.map((c)=>qv.literal(c))])}if(u==="boolean")return qv.union([qv.literal(!0),qv.literal(!1)]);return!1}},IFf=class{apply(i,u){let t=u;if(t.type==="string"&&t.format==="binary"&&t.contentEncoding==="binary"){let f=UFf.file();if(t.minLength!==void 0)f=f.min(t.minLength);if(t.maxLength!==void 0)f=f.max(t.maxLength);if(t.contentMediaType!==void 0)f=f.mime(t.contentMediaType);i.file=f,i.string=!1}}},PFf=class{apply(i,u){let t=u;if(u.type===void 0&&(t.minLength!==void 0||t.maxLength!==void 0||t.pattern!==void 0)){if(i.string===void 0)i.string=Iy.string()}}},AFf=class{apply(i,u){let t=u;if(t.minLength===void 0)return;if(i.string!==!1){let f=i.string||Iy.string();if(f instanceof Iy.ZodString)i.string=f.refine((l)=>{return Array.from(l).length>=t.minLength},{message:`String must be at least ${t.minLength} characters long`})}}},xFf=class{apply(i,u){let t=u;if(t.maxLength===void 0)return;if(i.string!==!1){let f=i.string||Iy.string();if(f instanceof Iy.ZodString)i.string=f.refine((l)=>{return Array.from(l).length<=t.maxLength},{message:`String must be at most ${t.maxLength} characters long`})}}},kFf=class{apply(i,u){let t=u;if(!t.pattern)return;if(i.string!==!1){let f=i.string||Iy.string();if(f instanceof Iy.ZodString){let l=new RegExp(t.pattern);i.string=f.regex(l)}}}},GFf=class{apply(i,u){let t=u;if(t.minimum===void 0)return;if(i.number!==!1){let f=i.number||Vv.number();if(f instanceof Vv.ZodNumber)i.number=f.min(t.minimum)}}},SFf=class{apply(i,u){let t=u;if(t.maximum===void 0)return;if(i.number!==!1){let f=i.number||Vv.number();if(f instanceof Vv.ZodNumber)i.number=f.max(t.maximum)}}},jFf=class{apply(i,u){let t=u;if(t.exclusiveMinimum===void 0)return;if(i.number!==!1){let f=i.number||Vv.number();if(f instanceof Vv.ZodNumber)if(typeof t.exclusiveMinimum==="number")i.number=f.gt(t.exclusiveMinimum);else i.number=!1}}},KFf=class{apply(i,u){let t=u;if(t.exclusiveMaximum===void 0)return;if(i.number!==!1){let f=i.number||Vv.number();if(f instanceof Vv.ZodNumber)if(typeof t.exclusiveMaximum==="number")i.number=f.lt(t.exclusiveMaximum);else i.number=!1}}},JFf=class{apply(i,u){let t=u;if(t.multipleOf===void 0)return;if(i.number!==!1){let f=i.number||Vv.number();if(f instanceof Vv.ZodNumber)i.number=f.refine((l)=>{if(t.multipleOf===0)return!1;let c=l/t.multipleOf,E=Math.round(c),d=Math.min(Math.abs(l)*Number.EPSILON*10,Math.abs(t.multipleOf)*Number.EPSILON*10);return Math.abs(c-E)<=d/Math.abs(t.multipleOf)},{message:`Must be a multiple of ${t.multipleOf}`})}}},XFf=class{apply(i,u){let t=u;if(u.type===void 0&&(t.minItems!==void 0||t.maxItems!==void 0||t.items!==void 0||t.prefixItems!==void 0)){if(i.array===void 0)i.array=mc.array(mc.any())}}},LFf=class{apply(i,u){let t=u;if(t.minItems===void 0)return;if(i.array!==!1)i.array=(i.array||mc.array(mc.any())).min(t.minItems)}},WFf=class{apply(i,u){let t=u;if(t.maxItems===void 0)return;if(i.array!==!1)i.array=(i.array||mc.array(mc.any())).max(t.maxItems)}},YFf=class{apply(i,u){let t=u;if(i.array===!1)return;if(Array.isArray(t.items))i.array=i.array||mc.array(mc.any());else if(t.items&&typeof t.items!=="boolean"&&!t.prefixItems){let f=G6(t.items),l=mc.array(f);if(i.array&&i.array instanceof mc.ZodArray){let c=i.array._def;if(c.checks)c.checks.forEach((E)=>{if(E._zod&&E._zod.def){let d=E._zod.def;if(d.check==="min_length"&&d.minimum!==void 0)l=l.min(d.minimum);else if(d.check==="max_length"&&d.maximum!==void 0)l=l.max(d.maximum)}})}i.array=l}else if(typeof t.items==="boolean"&&t.items===!1)if(!t.prefixItems)i.array=mc.array(mc.any()).max(0);else i.array=i.array||mc.array(mc.any());else if(typeof t.items==="boolean"&&t.items===!0)i.array=i.array||mc.array(mc.any());else if(t.prefixItems)i.array=i.array||mc.array(mc.any())}},zFf=class{apply(i,u){if(u.type!=="array")return;let t=u;if(!Array.isArray(t.items))return;if(i.array===!1)return;let f=t.items.map((c)=>G6(c)),l;if(f.length===0)l=_70.tuple([]);else l=_70.tuple(f);if(t.minItems!==void 0&&t.minItems>f.length)l=!1;if(t.maxItems!==void 0&&t.maxItems<f.length)l=!1;i.tuple=l,i.array=!1}},QFf=class{apply(i,u){let t=u;if(i.object===!1)return;if(t.properties||t.required||t.additionalProperties!==void 0)i.object=i.object||Mwi.object({}).passthrough()}},HFf=class{apply(i,u){let t=u;if(u.type===void 0&&(t.maxProperties!==void 0||t.minProperties!==void 0)){if(i.object===void 0)i.object=Mwi.object({}).passthrough()}}},bFf=class{apply(i,u){let t=u;if(t.maxProperties===void 0)return;if(i.object!==!1){let f=i.object||Mwi.object({}).passthrough();i.object=f.refine((l)=>Object.keys(l).length<=t.maxProperties,{message:`Object must have at most ${t.maxProperties} properties`})}}},RFf=class{apply(i,u){let t=u;if(t.minProperties===void 0)return;if(i.object!==!1){let f=i.object||Mwi.object({}).passthrough();i.object=f.refine((l)=>Object.keys(l).length>=t.minProperties,{message:`Object must have at least ${t.minProperties} properties`})}}},MFf=class{apply(i,u){if(!u.not)return i;let t=G6(u.not);return i.refine((f)=>!Cwi(t,f),{message:"Value must not match the 'not' schema"})}},qFf=class{apply(i,u){if(u.uniqueItems!==!0)return i;return i.refine(CFf(),{message:"Array items must be unique"})}},rFf=class{apply(i,u){if(!u.allOf||u.allOf.length===0)return i;return u.allOf.map((f)=>G6(f)).reduce((f,l)=>VFf.intersection(f,l),i)}},mFf=class{apply(i,u){if(!u.anyOf||u.anyOf.length===0)return i;let t=u.anyOf.length===1?G6(u.anyOf[0]):v70.union([G6(u.anyOf[0]),G6(u.anyOf[1]),...u.anyOf.slice(2).map((f)=>G6(f))]);return v70.intersection(i,t)}},eFf=class{apply(i,u){if(!u.oneOf||u.oneOf.length===0)return i;let t=u.oneOf.map((f)=>G6(f));return i.refine((f)=>{let l=0;for(let c of t)if(c.safeParse(f).success){if(l++,l>1)return!1}return l===1},{message:"Value must match exactly one of the oneOf schemas"})}},aFf=class{apply(i,u){let t=u;if(t.prefixItems&&Array.isArray(t.prefixItems)){let l=t.prefixItems.map((c)=>G6(c));return i.refine((c)=>{if(!Array.isArray(c))return!0;for(let E=0;E<Math.min(c.length,l.length);E++)if(!Cwi(l[E],c[E]))return!1;if(c.length>l.length){if(typeof t.items==="boolean"&&t.items===!1)return!1;else if(t.items&&typeof t.items==="object"&&!Array.isArray(t.items)){let E=G6(t.items);for(let d=l.length;d<c.length;d++)if(!Cwi(E,c[d]))return!1}}return!0},{message:"Array does not match prefixItems schema"})}return i}},oFf=class{apply(i,u){let t=u;if(!t.properties&&!t.required&&t.additionalProperties!==!1)return i;if(i instanceof Rwi.ZodObject||i instanceof Rwi.ZodRecord){let f={};if(t.properties){for(let[l,c]of Object.entries(t.properties))if(c!==void 0)f[l]=G6(c)}if(t.required&&Array.isArray(t.required)){let l=new Set(t.required);for(let c of Object.keys(f))if(!l.has(c))f[c]=f[c].optional()}else for(let l of Object.keys(f))f[l]=f[l].optional();if(t.additionalProperties===!1)return Rwi.object(f);else return Rwi.object(f).passthrough()}return i.refine((f)=>{if(typeof f!=="object"||f===null||Array.isArray(f))return!0;if(t.properties){for(let[l,c]of Object.entries(t.properties))if(c!==void 0){if(Object.getOwnPropertyDescriptor(f,l)!==void 0){if(!G6(c).safeParse(f[l]).success)return!1}}}if(t.required&&Array.isArray(t.required)){for(let l of t.required)if(Object.getOwnPropertyDescriptor(f,l)===void 0)return!1}if(t.additionalProperties===!1&&t.properties){let l=new Set(Object.keys(t.properties));for(let c in f)if(!l.has(c))return!1}return!0},{message:"Object constraints validation failed"})}},sFf=class{apply(i,u){if(!u.enum||u.enum.length===0)return i;let t=u.enum.filter((f)=>Array.isArray(f)||typeof f==="object"&&f!==null);if(t.length===0)return i;return i.refine((f)=>{if(typeof f!=="object"||f===null)return!0;return t.some((l)=>Ve(f,l))},{message:"Value must match one of the enum values"})}},pFf=class{apply(i,u){if(u.const===void 0)return i;let t=u.const;if(typeof t!=="object"||t===null)return i;return i.refine((f)=>Ve(f,t),{message:"Value must equal the const value"})}},iUf=class{apply(i,u){if(u.description)i=i.describe(u.description);return i}},tUf=class{apply(i,u){var t;let f=u;if(!((t=f.required)==null?void 0:t.includes("__proto__"))||u.type!==void 0)return i;return uUf.any().refine((l)=>this.validateRequired(l,f.required),{message:"Missing required properties"})}validateRequired(i,u){if(typeof i!=="object"||i===null||Array.isArray(i))return!0;return u.every((t)=>Object.prototype.hasOwnProperty.call(i,t))}},fUf=class{apply(i,u){var t;let f=u;if(f.contains===void 0)return i;let l=G6(f.contains),c=(t=f.minContains)!=null?t:1,E=f.maxContains;return i.refine((d)=>{if(!Array.isArray(d))return!0;let $=0;for(let w of d)if(Cwi(l,w))$++;if($<c)return!1;if(E!==void 0&&$>E)return!1;return!0},{message:"Array must contain required items matching the schema"})}},lUf=class{apply(i,u){let{default:t}=u;if(t===void 0)return i;if(!i.safeParse(t).success)return i;return i.default(t)}},cUf,EUf;var n70=g(()=>{cUf=[new BFf,new FFf,new TFf,new IFf,new PFf,new XFf,new HFf,new AFf,new xFf,new kFf,new GFf,new SFf,new jFf,new KFf,new JFf,new zFf,new LFf,new WFf,new YFf,new bFf,new RFf,new QFf],EUf=[new tUf,new sFf,new pFf,new rFf,new mFf,new eFf,new aFf,new oFf,new fUf,new MFf,new qFf,new lUf,new iUf]});class Xuu{constructor(i){this._url=i}start(){if(this._socket)throw Error("WebSocketClientTransport already started! If using Client class, note that connect() calls start() automatically.");return new Promise((i,u)=>{this._socket=new WebSocket(this._url,dUf),this._socket.onerror=(t)=>{let f="error"in t?t.error:Error(`WebSocket error: ${JSON.stringify(t)}`);u(f),this.onerror?.(f)},this._socket.onopen=()=>{i()},this._socket.onclose=()=>{this.onclose?.()},this._socket.onmessage=(t)=>{let f;try{f=M$.parse(JSON.parse(t.data))}catch(l){this.onerror?.(l);return}this.onmessage?.(f)}})}async close(){this._socket?.close()}send(i){return new Promise((u,t)=>{if(!this._socket){t(Error("Not connected"));return}this._socket?.send(JSON.stringify(i)),u()})}}var dUf="mcp";var D70=g(()=>{kl()});function $Uf(i){let u=i;if(!u||typeof u!=="object"||!("method"in u))return null;switch(u.method){case"initialize":{let t=u?.params?.protocolVersion;if(!t)return null;return{type:"emit",message:{result:{protocolVersion:t,capabilities:{tools:{}},serverInfo:{name:"deco-chat-server",version:"1.0.0"}},jsonrpc:u.jsonrpc??"2.0",id:u.id}}}case"notifications/roots/list_changed":case"notifications/initialized":case"notifications/cancelled":case"notifications/progress":return{type:"suppress"};default:return null}}var qwi;var Luu=g(()=>{pO();qwi=class qwi extends Kh{constructor(i,u){super(i,u)}send(i,u){let t=$Uf(i);if(t?.type==="emit")return this.onmessage?.(t.message),Promise.resolve();if(t?.type==="suppress")return Promise.resolve();return super.send(i,u)}}});var g70,O70=async(i,u,t)=>{let f=wUf(i.connection,u,t);if(!f)throw Error("Unknown MCP connection type");let l=new g70({name:i?.name??"MCP Client",version:"1.0.0"});return await l.connect(f),{client:l}},wUf=(i,u,t)=>{if(i.type==="Websocket")return new Xuu(new URL(i.url));if(i.type!=="SSE"&&i.type!=="HTTP")return null;let l={...i.token?{authorization:`Bearer ${i.token}`}:{},...t??{},..."headers"in i?i.headers||{}:{}};if(i.type==="SSE"){let c={requestInit:{headers:l,signal:u}};if(i.token)c.eventSourceInit={fetch:(E,d)=>{return fetch(E,{...d,headers:{...l,Accept:"text/event-stream"},signal:u})}};return new Mn(new URL(i.url),c)}return new qwi(new URL(i.url),{requestInit:{headers:l,signal:u,credentials:"include"}})};var N70=g(()=>{jh();xV();D70();kl();eE();Luu();g70=class g70 extends I1{constructor(i,u){super(i,{jsonSchemaValidator:Sl,...u})}async listTools(i,u){return await this.request({method:"tools/list",params:i},tq,u)}}});function T70(i){let u=(t)=>{if("connection"in i)return O70({connection:i.connection},void 0,t);return i.client};return new Proxy({},{get(t,f){if(f==="toJSON")return null;if(typeof f!=="string")throw Error("Name must be a string");if(f==="listTools")return d;async function l($,w=f){let h=i?.debugId?.(),_=h?{"x-trace-debug-id":h}:void 0,{client:v}=await u(_),{structuredContent:n,isError:D,content:O}=await v.callTool({name:String(w),arguments:$});if(D){let y=O?.[0]?.text,Z=typeof y==="string"?y70(y):null,T=Z?.code&&typeof i?.getErrorByStatusCode==="function"?i.getErrorByStatusCode(Z.code,Z.message,Z.traceId):null;if(T)throw T;throw Error(`Tool ${String(w)} returned an error: ${JSON.stringify(n??O)}`)}if(n!==void 0)return n;let N=O?.[0]?.text;return typeof N==="string"?y70(N):void 0}async function c(){let{client:$}=await u(),{tools:w}=await $.listTools();return w}async function E(){if(!("connection"in i))return c();let $=i.connection,w=JSON.stringify($);try{if(!Vwi.has(w))Vwi.set(w,c());return await Vwi.get(w)}catch(h){console.error("Failed to list tools",h),Vwi.delete(w);return}}async function d(){return(await E()??[]).map((w)=>Z70(w,l))}return l.asTool=async()=>{let w=(await E()??[]).find((h)=>h.name===f);if(!w)throw Error(`Tool ${f} not found`);return Z70(w,l)},l}})}var y70=(i)=>{try{return JSON.parse(i)}catch{return i}},Vwi,Z70=(i,u)=>{return{...i,id:i.name,inputSchema:i.inputSchema?G6(i.inputSchema):void 0,outputSchema:i.outputSchema?G6(i.outputSchema):void 0,execute:(t)=>{return u(t.context,i.name)}}};var B70=g(()=>{n70();N70();Vwi=new Map});function Py(i){return T70(i)}var Vz;var Wuu=g(()=>{B70();Vz=new Proxy({},{get(i,u){if(u==="toJSON")return null;if(u==="forConnection")return(t)=>Py({connection:t});return global[u]}})});function rwi(i){return{isImplementedBy:(u)=>{for(let t of i){let f=typeof t.name==="string"?new RegExp(`^${t.name}$`):t.name,l=u.find((c)=>f.test(c.name));if(!l&&t.opt)continue;if(!l)return!1}return!0}}}var rv=(i)=>{return{...rwi(i),forClient:(u)=>{return Py({client:u})},forConnection:(u)=>{return Py({connection:u})}}};var Ay=g(()=>{Wuu()});import{z as Ut}from"zod";function wD(i){return Ut.object({items:Ut.array(i).describe("Array of collection items"),totalCount:Ut.number().int().min(0).optional().describe("Total number of matching items (if available)"),hasMore:Ut.boolean().optional().describe("Whether there are more items available")})}function me(i){return Ut.object({item:i.nullable().describe("The retrieved item, or null if not found")})}function vUf(i){return Ut.object({data:i.partial().describe("Data for the new entity (id may be auto-generated)")})}function nUf(i){return Ut.object({item:i.describe("The created entity with generated id")})}function DUf(i){return Ut.object({id:Ut.string().describe("ID of the entity to update"),data:i.partial().describe("Partial entity data to update")})}function gUf(i){return Ut.object({item:i.describe("The updated entity")})}function ae(i){return Ut.object({item:i.describe("The deleted entity")})}function mz(i,u,t){let f=i.toUpperCase(),l=t?.readOnly??!1,c=[{name:`COLLECTION_${f}_LIST`,inputSchema:c_,outputSchema:wD(u)},{name:`COLLECTION_${f}_GET`,inputSchema:re,outputSchema:me(u)}];if(!l)c.push({name:`COLLECTION_${f}_CREATE`,inputSchema:vUf(u),outputSchema:nUf(u),opt:!0},{name:`COLLECTION_${f}_UPDATE`,inputSchema:DUf(u),outputSchema:gUf(u),opt:!0},{name:`COLLECTION_${f}_DELETE`,inputSchema:ee,outputSchema:ae(u),opt:!0});return c}var rz,hUf,F70,_Uf,c_,re,ee;var $w=g(()=>{rz=Ut.object({id:Ut.string().describe("Unique identifier for the entity"),title:Ut.string().describe("Human-readable title for the entity"),description:Ut.string().nullish().describe("Description of the entity"),created_at:Ut.string().datetime(),updated_at:Ut.string().datetime(),created_by:Ut.string().optional(),updated_by:Ut.string().optional()}),hUf=Ut.object({field:Ut.array(Ut.string()),operator:Ut.enum(["eq","gt","gte","lt","lte","in","like","contains"]),value:Ut.unknown()}),F70=Ut.lazy(()=>Ut.union([hUf,Ut.object({operator:Ut.enum(["and","or","not"]),conditions:Ut.array(F70)})])),_Uf=Ut.object({field:Ut.array(Ut.string()),direction:Ut.enum(["asc","desc"]),nulls:Ut.enum(["first","last"]).optional()}),c_=Ut.object({where:F70.optional().describe("Filter expression"),orderBy:Ut.array(_Uf).optional().describe("Sort expressions"),limit:Ut.number().int().min(1).max(1000).optional().describe("Maximum number of items to return"),offset:Ut.number().int().min(0).optional().describe("Number of items to skip")});re=Ut.object({id:Ut.string().describe("ID of the entity to retrieve")});ee=Ut.object({id:Ut.string().describe("ID of the entity to delete")})});import{z as W0}from"zod";var OUf,U70,ECl;var I70=g(()=>{$w();OUf=W0.object({id:W0.string(),name:W0.string(),description:W0.string().optional(),inputSchema:W0.record(W0.string(),W0.unknown()),outputSchema:W0.record(W0.string(),W0.unknown()).optional()}),U70=rz.extend({_meta:W0.object({"io.decocms":W0.object({id:W0.string(),verified:W0.boolean(),scopeName:W0.string(),appName:W0.string(),friendlyName:W0.string().nullable().optional(),metadata:W0.record(W0.string(),W0.unknown()).nullable().optional(),publishedAt:W0.string().datetime().optional(),updatedAt:W0.string().datetime().optional(),tools:W0.array(OUf).nullable().optional().describe("Available tools exposed by this app")}).optional()}).optional(),server:W0.object({$schema:W0.string().optional(),_meta:W0.record(W0.string(),W0.unknown()).optional(),name:W0.string().describe("The server name (scope/app)"),title:W0.string().optional().describe("User-friendly title"),description:W0.string().optional().describe("Server description"),icons:W0.array(W0.object({src:W0.string(),mimeType:W0.string().optional(),sizes:W0.array(W0.string()).optional(),theme:W0.enum(["light","dark"]).optional()})).optional(),remotes:W0.array(W0.object({type:W0.enum(["http","stdio","sse"]),url:W0.string().optional(),headers:W0.array(W0.unknown()).optional()})).optional(),packages:W0.array(W0.unknown()).optional(),repository:W0.object({url:W0.string(),source:W0.string().optional(),subfolder:W0.string().optional()}).optional(),version:W0.string().optional(),websiteUrl:W0.string().optional()})}),ECl=mz("registry_app",U70,{readOnly:!0})});import{z as rl}from"zod";var P70,mwi,A70,ewi,x70,NUf;var k70=g(()=>{Ay();P70=rl.object({specversion:rl.literal("1.0").describe("CloudEvents specification version"),id:rl.string().describe("Unique identifier for this event (UUID recommended)"),source:rl.string().describe("Connection ID of the event publisher"),type:rl.string().describe("Event type (e.g., 'order.created', 'user.signup')"),time:rl.string().datetime().optional().describe("Timestamp of when the event occurred (ISO 8601)"),subject:rl.string().optional().describe("Subject/resource identifier (e.g., order ID, user ID)"),datacontenttype:rl.string().optional().default("application/json").describe("Content type of the data attribute"),dataschema:rl.string().url().optional().describe("URI to the schema for the data attribute"),data:rl.unknown().optional().describe("Event payload (any JSON value)")}),mwi=rl.object({events:rl.array(P70).min(1).describe("Batch of CloudEvents to process")}),A70=rl.object({success:rl.boolean().optional().describe("Whether this event was processed successfully"),error:rl.string().optional().describe("Error message for this event"),retryAfter:rl.number().int().positive().optional().describe("Re-deliver this event after this many ms")}),ewi=rl.object({success:rl.boolean().optional().describe("Batch success - applies to events not in results"),error:rl.string().optional().describe("Batch error message - applies to events not in results"),processedCount:rl.number().int().min(0).optional().describe("Number of events successfully processed"),retryAfter:rl.number().int().positive().optional().describe("Batch retryAfter - applies to events not in results"),results:rl.record(rl.string(),A70).optional().describe("Per-event results keyed by event ID")}),x70=[{name:"ON_EVENTS",inputSchema:mwi,outputSchema:ewi}],NUf=rv(x70)});import{z as ml}from"zod";var G70,S70,j70,K70,J70,X70,awi,Yuu;var zuu=g(()=>{Ay();G70=ml.object({type:ml.literal("string"),enum:ml.array(ml.string()).optional(),description:ml.string().optional()}),S70=ml.object({type:ml.string(),description:ml.string(),paramsSchema:ml.record(ml.string(),G70)}),j70=ml.object({}),K70=ml.object({triggers:ml.array(S70)}),J70=ml.object({type:ml.string(),params:ml.record(ml.string(),ml.string()),enabled:ml.boolean(),callbackUrl:ml.url().optional(),callbackToken:ml.string().min(1).optional()}),X70=ml.object({success:ml.boolean()}),awi=[{name:"TRIGGER_LIST",inputSchema:j70,outputSchema:K70},{name:"TRIGGER_CONFIGURE",inputSchema:J70,outputSchema:X70}],Yuu=rv(awi)});import{z as S4}from"zod";var L70,W70,Y70,oe,owi,swi,pwi,i3i,yUf;var Quu=g(()=>{Ay();L70=S4.object({primary:S4.string().optional().describe("Primary brand color (hex)"),secondary:S4.string().optional().describe("Secondary brand color (hex)"),accent:S4.string().optional().describe("Accent / highlight color (hex)"),background:S4.string().optional().describe("Background color (hex)"),foreground:S4.string().optional().describe("Foreground / text color (hex)")}),W70=S4.object({heading:S4.string().optional().describe("Font family for headings"),body:S4.string().optional().describe("Font family for body text"),code:S4.string().optional().describe("Font family for code / monospace")}),Y70=S4.object({logo:S4.string().optional().describe("Logo URL"),favicon:S4.string().optional().describe("Favicon URL"),ogImage:S4.string().optional().describe("Open Graph image URL")}),oe=S4.object({id:S4.string(),name:S4.string().describe("Brand / company name"),domain:S4.string().optional().describe("Company domain (e.g. example.com)"),colors:L70.optional().describe("Semantic color palette"),fonts:W70.optional().describe("Font families by role"),assets:Y70.optional().describe("Visual identity assets"),overview:S4.string().optional().describe("Company overview / description"),tagline:S4.string().optional().describe("Brand tagline"),tone:S4.string().optional().describe("Tone of voice description"),metadata:S4.record(S4.string(),S4.unknown()).optional().describe("Extra design tokens and metadata")}),owi=S4.object({id:S4.string().optional().describe("Brand ID. Omit to get the default brand.")}),swi=S4.object({}),pwi=S4.object({items:S4.array(oe)}),i3i=[{name:"BRAND_GET",inputSchema:owi,outputSchema:oe},{name:"BRAND_LIST",inputSchema:swi,outputSchema:pwi,opt:!0}],yUf=rv(i3i)});var Huu=g(()=>{Ay();I70();k70();zuu();mM();Quu()});import{z as ez}from"zod";var ZUf,TUf,z70;var Q70=g(()=>{$w();ZUf=rz.extend({avatar:ez.string().describe("URL or data URI to the assistant's avatar image"),system_prompt:ez.string().describe("System prompt that defines the assistant's behavior"),virtual_mcp_id:ez.string().describe("Virtual MCP ID to use for this assistant"),model:ez.object({id:ez.string().describe("Model ID"),connectionId:ez.string().describe("Connection ID that provides the model")}).describe("Selected model reference for this assistant")}),TUf=mz("assistant",ZUf),z70=[...TUf]});import{z as Ii}from"zod";var se,hD,b70,BUf,FUf,R70,UUf,IUf,PUf,AUf,xUf,kUf,C70,GUf,SUf,jUf,KUf,JUf,XUf,LUf,WUf,YUf,zUf,KCl,QUf,JCl,H70,HUf,bUf,u3i,XCl;var M70=g(()=>{Ay();$w();se=Ii.lazy(()=>Ii.union([Ii.null(),Ii.string(),Ii.number(),Ii.boolean(),Ii.record(Ii.string(),se),Ii.array(se)])),hD=Ii.record(Ii.string(),Ii.record(Ii.string(),se)).optional().describe("Additional provider-specific options. Outer record keyed by provider name, inner by option key"),b70=Ii.object({type:Ii.literal("text"),text:Ii.string().describe("The text content"),providerOptions:hD}),BUf=Ii.object({type:Ii.literal("text"),text:Ii.string().describe("The text content"),providerMetadata:Ii.any().optional().describe("Additional provider-specific metadata")}),FUf=Ii.string().describe("File data as URL string"),R70=Ii.object({type:Ii.literal("file"),filename:Ii.string().optional().describe("Optional filename of the file"),data:FUf,mediaType:Ii.string().describe("IANA media type of the file (e.g., image/png, audio/mp3)"),providerOptions:hD}),UUf=Ii.object({type:Ii.literal("file"),mediaType:Ii.string().describe("IANA media type of the file (e.g., image/png, audio/mp3)"),data:Ii.string().describe("Generated file data as base64 encoded string")}),IUf=Ii.object({type:Ii.literal("reasoning"),text:Ii.string().describe("The reasoning text"),providerOptions:hD}),PUf=Ii.object({type:Ii.literal("reasoning"),text:Ii.string().describe("The reasoning text"),providerMetadata:Ii.any().optional().describe("Additional provider-specific metadata")}),AUf=Ii.object({type:Ii.literal("tool-call"),toolCallId:Ii.string().describe("ID of the tool call, used to match with tool result"),toolName:Ii.string().describe("Name of the tool being called"),input:Ii.string().describe("Arguments of the tool call (JSON-serializable object matching tool input schema)"),providerExecuted:Ii.boolean().optional().describe("Whether the tool call will be executed by the provider"),providerOptions:hD}),xUf=Ii.object({type:Ii.literal("tool-call"),toolCallId:Ii.string().describe("ID of the tool call"),toolName:Ii.string().describe("Name of the tool being called"),input:Ii.string().describe("Stringified JSON object with the tool call arguments"),providerExecuted:Ii.boolean().optional().describe("Whether the tool call will be executed by the provider"),providerMetadata:Ii.any().optional().describe("Additional provider-specific metadata")}),kUf=Ii.union([Ii.object({type:Ii.literal("text"),value:Ii.string()}),Ii.object({type:Ii.literal("json"),value:se}),Ii.object({type:Ii.literal("error-text"),value:Ii.string()}),Ii.object({type:Ii.literal("error-json"),value:se}),Ii.object({type:Ii.literal("content"),value:Ii.array(Ii.union([Ii.object({type:Ii.literal("text"),text:Ii.string().describe("Text content")}),Ii.object({type:Ii.literal("media"),data:Ii.string().describe("Base-64 encoded media data"),mediaType:Ii.string().describe("IANA media type")})]))}),Ii.object({type:Ii.literal("execution-denied"),reason:Ii.string().optional()}),Ii.string().describe("Raw or JSON-serialized output (e.g. from AI SDK mapToolResultOutput)")]),C70=Ii.object({type:Ii.literal("tool-result"),toolCallId:Ii.string().describe("ID of the tool call that this result is associated with"),toolName:Ii.string().describe("Name of the tool that generated this result"),output:kUf.describe("Result of the tool call"),result:Ii.unknown().describe("Unknown result of the tool call"),providerOptions:hD}),GUf=Ii.object({type:Ii.literal("tool-result"),toolCallId:Ii.string().describe("ID of the tool call that this result is associated with"),toolName:Ii.string().describe("Name of the tool that generated this result"),result:Ii.any().describe("Result of the tool call (JSON-serializable)"),isError:Ii.boolean().optional().describe("Whether the result is an error or error message"),providerExecuted:Ii.boolean().optional().describe("Whether the tool result was generated by the provider"),providerMetadata:Ii.any().optional().describe("Additional provider-specific metadata")}),SUf=Ii.union([Ii.object({type:Ii.literal("source"),sourceType:Ii.literal("url"),id:Ii.string().describe("The ID of the source"),url:Ii.string().describe("The URL of the source"),title:Ii.string().optional().describe("The title of the source"),providerMetadata:Ii.any().optional().describe("Additional provider-specific metadata")}),Ii.object({type:Ii.literal("source"),sourceType:Ii.literal("document"),id:Ii.string().describe("The ID of the source"),mediaType:Ii.string().describe("IANA media type of the document (e.g., application/pdf)"),title:Ii.string().describe("The title of the document"),filename:Ii.string().optional().describe("Optional filename of the document"),providerMetadata:Ii.any().optional().describe("Additional provider-specific metadata")})]),jUf=Ii.object({role:Ii.literal("system"),content:Ii.string().describe("System message content"),providerOptions:hD}),KUf=Ii.object({role:Ii.literal("user"),content:Ii.array(Ii.union([b70,R70])).describe("User message content parts (text or file)"),providerOptions:hD}),JUf=Ii.object({role:Ii.literal("assistant"),content:Ii.array(Ii.union([b70,R70,IUf,AUf,C70])).describe("Assistant message content parts (text, file, reasoning, tool-call, or tool-result)"),providerOptions:hD}),XUf=Ii.object({role:Ii.literal("tool"),content:Ii.array(C70).describe("Tool message content (tool results)"),providerOptions:hD}),LUf=Ii.union([jUf,KUf,JUf,XUf]),WUf=Ii.array(LUf).describe("A list of messages forming the prompt"),YUf=Ii.object({prompt:WUf.describe("A language model prompt is a standardized prompt type (array of messages with roles: system, user, assistant, tool)"),maxOutputTokens:Ii.number().optional().describe("Maximum number of tokens to generate"),temperature:Ii.number().optional().describe("Temperature setting. The range depends on the provider and model"),topP:Ii.number().optional().describe("Nucleus sampling parameter"),topK:Ii.number().optional().describe("Only sample from the top K options for each subsequent token. Used to remove long tail low probability responses"),presencePenalty:Ii.number().optional().describe("Presence penalty setting. It affects the likelihood of the model to repeat information that is already in the prompt"),frequencyPenalty:Ii.number().optional().describe("Frequency penalty setting. It affects the likelihood of the model to repeatedly use the same words or phrases"),seed:Ii.number().optional().describe("The seed (integer) to use for random sampling. If set and supported by the model, calls will generate deterministic results"),stopSequences:Ii.array(Ii.string()).optional().describe("Stop sequences. If set, the model will stop generating text when one of the stop sequences is generated"),responseFormat:Ii.union([Ii.object({type:Ii.literal("text")}),Ii.object({type:Ii.literal("json"),schema:Ii.any().optional().describe("JSON schema that the generated output should conform to"),name:Ii.string().optional().describe("Name of output that should be generated"),description:Ii.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:Ii.array(Ii.any()).optional().describe("The tools that are available for the model"),toolChoice:Ii.any().optional().describe("Specifies how the tool should be selected. Defaults to 'auto'"),includeRawChunks:Ii.boolean().optional().describe("Include raw chunks in the stream. Only applicable for streaming calls"),abortSignal:Ii.any().optional().describe("Abort signal for cancelling the operation"),providerOptions:Ii.any().optional().describe("Additional provider-specific options")}),zUf=Ii.object({content:Ii.array(Ii.union([BUf,UUf,PUf,xUf,GUf,SUf])).describe("Ordered content that the model has generated (text, tool-calls, reasoning, files, sources)"),finishReason:Ii.enum(["stop","length","content-filter","tool-calls","error","other","unknown"]).describe("Reason why generation stopped"),usage:Ii.looseObject({inputTokens:Ii.number().optional(),outputTokens:Ii.number().optional(),totalTokens:Ii.number().optional(),reasoningTokens:Ii.number().optional()}).describe("Usage information for the language model call"),providerMetadata:Ii.any().optional().describe("Additional provider-specific metadata"),request:Ii.object({body:Ii.any().optional().describe("Request HTTP body sent to the provider API")}).optional().describe("Optional request information for telemetry and debugging"),response:Ii.object({id:Ii.string().optional().describe("ID for the generated response"),timestamp:Ii.iso.datetime().optional().describe("Timestamp for the start of the generated response"),modelId:Ii.string().optional().describe("The ID of the response model that was used"),headers:Ii.record(Ii.string(),Ii.string()).optional().describe("Response headers"),body:Ii.any().optional().describe("Response HTTP body")}).optional().describe("Optional response information for telemetry and debugging"),warnings:Ii.array(Ii.any()).describe("Warnings for the call, e.g. unsupported settings")}),KCl=Ii.object({stream:Ii.any().describe("ReadableStream of LanguageModelV2StreamPart"),request:Ii.object({body:Ii.any().optional().describe("Request HTTP body sent to the provider API")}).optional().describe("Optional request information for telemetry and debugging"),response:Ii.object({headers:Ii.record(Ii.string(),Ii.string()).optional().describe("Response headers")}).optional().describe("Optional response data")}),QUf=Ii.object({supportedUrls:Ii.record(Ii.string(),Ii.array(Ii.string())).describe("Supported URL patterns by media type for the provider")}),JCl=Ii.object({modelId:Ii.string().describe("The ID of the model"),logo:Ii.string().nullable(),description:Ii.string().nullable(),capabilities:Ii.array(Ii.string()),limits:Ii.object({contextWindow:Ii.number(),maxOutputTokens:Ii.number()}).nullable(),costs:Ii.object({input:Ii.number(),output:Ii.number()}).nullable(),provider:Ii.enum(["openai","anthropic","google","x-ai","deepseek","openai-compatible","openrouter"]).nullable()}),H70=Ii.object({modelId:Ii.string().describe("The ID of the model"),callOptions:YUf}),HUf=rz.extend({logo:Ii.string().nullable(),description:Ii.string().nullable(),capabilities:Ii.array(Ii.string()),limits:Ii.object({contextWindow:Ii.number(),maxOutputTokens:Ii.number()}).nullable(),costs:Ii.object({input:Ii.number(),output:Ii.number()}).nullable(),provider:Ii.enum(["openai","anthropic","google","xai","deepseek","openai-compatible","openrouter"]).nullable()}),bUf=mz("llm",HUf,{readOnly:!0}),u3i=[{name:"LLM_METADATA",inputSchema:Ii.object({modelId:Ii.string().describe("The ID of the model")}),outputSchema:QUf},{name:"LLM_DO_STREAM",inputSchema:H70},{name:"LLM_DO_GENERATE",inputSchema:H70,outputSchema:zUf},...bUf],XCl=rv(u3i)});import{z as xy}from"zod";var RUf,q70;var V70=g(()=>{RUf=xy.object({scopes:xy.array(xy.string()).describe("List of scopes available"),stateSchema:xy.record(xy.string(),xy.unknown()).describe("JSON Schema (draft-07) defining the state structure")}),q70=[{name:"MCP_CONFIGURATION",inputSchema:xy.object({}),outputSchema:RUf}]});import{z as el}from"zod";var CUf,MUf,r70;var m70=g(()=>{CUf=el.object({}).strict(),MUf=el.object({billing:el.object({mode:el.enum(["prepaid","postpaid"]),limitPeriod:el.enum(["daily","weekly","monthly"]).nullable()}),limit:el.object({total:el.number().nullable(),remaining:el.number().nullable(),reset:el.string().nullable()}),usage:el.object({total:el.number(),daily:el.number(),weekly:el.number(),monthly:el.number()}),alert:el.object({enabled:el.boolean(),threshold_usd:el.number(),email:el.string().nullable()}),connectionId:el.string()}),r70=[{name:"GATEWAY_USAGE",inputSchema:CUf,outputSchema:MUf},{name:"GATEWAY_SET_LIMIT",inputSchema:el.object({}),outputSchema:el.object({}),opt:!0},{name:"GATEWAY_SET_ALERT",inputSchema:el.object({}),outputSchema:el.object({}),opt:!0}]});function qUf(i,u){if(u.length===0)return;let[t,...f]=u,l=t==="slug"?M2(i):i[t];for(let c of f){if(l===null||typeof l!=="object")return;l=l[c]}return l}function VUf(i){let t=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/%/g,".*").replace(/_/g,".");return new RegExp(`^${t}$`,"i")}function rUf(i,u,t){if(i===void 0)return!0;switch(u){case"eq":return t===null?i===null:i===t;case"gt":return i>t;case"gte":return i>=t;case"lt":return i<t;case"lte":return i<=t;case"in":return Array.isArray(t)&&t.includes(i);case"like":return typeof i==="string"&&VUf(String(t)).test(i);case"contains":return String(i).toLowerCase().includes(String(t).toLowerCase());default:return!0}}function pe(i,u){if(!u)return!0;if("conditions"in u){let{operator:f,conditions:l}=u;if(l.length===0)return!0;switch(f){case"and":return l.every((c)=>pe(i,c));case"or":return l.some((c)=>pe(i,c));case"not":return!l.every((c)=>pe(i,c));default:return!0}}let t=qUf(i,u.field);return rUf(t,u.operator,u.value)}var e70=g(()=>{yEi()});async function a70(i,u,t){if(i.length===0)return;let f=0;async function l(){while(f<i.length){let c=f++;await t(i[c])}}await Promise.all(Array.from({length:Math.min(u,i.length)},()=>l()))}import{z as og}from"zod";var mUf=8,eUf,aUf,oUf,sUf,buu;var o70=g(()=>{Huu();Q70();$w();M70();V70();mM();m70();ff();cu();bE();e$();Uy();AW();Tv();yEi();e70();eUf=[{name:/^(COLLECTION_REGISTRY_APP_LIST|REGISTRY_ITEM_LIST)$/,inputSchema:og.object({})}],aUf={LLM:u3i,LLMS:u3i,ASSISTANTS:z70,MCP:q70,OBJECT_STORAGE:bO,AI_GATEWAY_BILLING:r70,TRIGGER:awi,REGISTRY:eUf,BRAND:i3i},oUf=c_.extend({binding:og.union([og.array(og.object({}).passthrough()),og.object({}).passthrough(),og.string()]).optional(),include_virtual:og.boolean().optional().describe("Whether to include VIRTUAL connections in the results. Defaults to false."),slug:og.string().optional().describe("Filter by connection slug. Matches against app_name, or a slug derived from connection_url or title.")}),sUf=wD(y6),buu=fi({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:oUf,outputSchema:sUf,handler:async(i,u)=>{await u.access.check();let t=yi(u),f=i.binding?typeof i.binding==="string"?(()=>{let _=aUf[i.binding.toUpperCase()];if(!_)throw Error(`Unknown binding: ${i.binding}`);return _})():i.binding:void 0,l=f?rwi(f):void 0,c=!!l,E=i.limit??100,d=i.offset??0,{items:$,totalCount:w}=await u.storage.connections.list(t.id,{includeVirtual:i.include_virtual??!1,slug:i.slug,where:i.where,orderBy:i.orderBy,limit:c?void 0:E,offset:c?void 0:d});if(l){let _=A1(),v=$4.SELF(t.id);await a70($,mUf,async(n)=>{if(n.tools!==null)return;let D=n.id===v?async()=>{let{listManagementTools:N}=await Promise.resolve().then(() => (ky(),t3i));return N(u)}:()=>juu(n,u,t60),O=await s2("tools",n.id,D,_,(N)=>u.pendingRevalidations.push(N),o2);if(O!==null)n.tools=O})}if(Xh()){let _=H1(),v=$4.DEV_ASSETS(t.id);if(!$.some((n)=>n.id===v)){let n=PW(t.id,_),D=!i.slug||M2(n)===i.slug,O=pe(n,i.where);if(D&&O)$.unshift(n)}}if(c){let _=(await Promise.all($.map(async(O)=>{if(!O.tools||O.tools.length===0)return null;return l.isImplementedBy(O.tools.map((y)=>({name:y.name,inputSchema:y.inputSchema,outputSchema:y.outputSchema})))?O:null}))).filter((O)=>O!==null),v=_.length,n=_.slice(d,d+E),D=d+E<v;return{items:n,totalCount:v,hasMore:D}}let h=d+E<w;return{items:$,totalCount:w,hasMore:h}}})});var pUf,Ruu;var s70=g(()=>{$w();ff();cu();bE();e$();Uy();AW();Tv();pUf=me(y6),Ruu=fi({name:"COLLECTION_CONNECTIONS_GET",description:"Get a connection's configuration, tools list, and status by ID.",annotations:{title:"Get Connection",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},_meta:{ui:{visibility:["app"]}},inputSchema:re,outputSchema:pUf,handler:async(i,u)=>{let t=yi(u);if(await u.access.check(),Xh()&&T6i(i.id,t.id))return{item:PW(t.id,H1())};let f=await u.storage.connections.findById(i.id);if(!f||f.organization_id!==t.id)return{item:null};if(f.tools===null){let l=$4.SELF(t.id),c=f.id===l?async()=>{let{listManagementTools:d}=await Promise.resolve().then(() => (ky(),t3i));return d(u)}:async()=>{let d=await U6(f,u,!0);try{return(await d.listTools()).tools}finally{await d.close().catch(()=>{})}},E=await s2("tools",f.id,c,A1(),(d)=>u.pendingRevalidations.push(d),o2);if(E!==null)f.tools=E}return{item:f}}})});import{z as Cuu}from"zod";function tIf(i,u){return i.length===u.length&&i.every((t,f)=>t===u[f])}var iIf,uIf,Muu;var p70=g(()=>{Uy();l_();cu();Zt();e$();lm();Kuu();GV();Tv();iIf=Cuu.object({id:Cuu.string().describe("ID of the connection to update"),data:Wq.describe("Partial connection data to update")}),uIf=Cuu.object({item:y6.describe("The updated connection entity")});Muu=fi({name:"COLLECTION_CONNECTIONS_UPDATE",description:"Update a connection's configuration. Re-fetches tools from the server on URL change.",annotations:{title:"Update Connection",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:iIf,outputSchema:uIf,handler:async(i,u)=>{Gi(u);let t=yi(u);await u.access.check();let f=Hu(u);if(!f)throw Error("User ID required to update connection");let{id:l,data:c}=i,E=c.configuration_state!==void 0||c.configuration_scopes!==void 0,d=await u.storage.connections.findById(l);if(!d||d.organization_id!==t.id)throw Error("Connection not found in organization");let $=c.connection_type??d.connection_type,w=c.connection_url??d.connection_url;if($==="VIRTUAL"){let J=iN(w);if(!J)throw Error("VIRTUAL connection requires connection_url in format: virtual://$virtual_mcp_id");let W=await u.storage.virtualMcps.findById(J);if(!W)throw Error(`Virtual MCP not found: ${J}`);if(W.organization_id!==t.id)throw Error("Virtual MCP does not belong to the current organization");w=uN(J)}let h=c.configuration_state??d.configuration_state??{},_=c.configuration_scopes??d.configuration_scopes??[];if(E){if(c.configuration_state!==void 0)h=c.configuration_state??{};else if(h===null||h===void 0)h={};if(c.configuration_scopes!==void 0)_=c.configuration_scopes??[];if(_.length>0){let J=h;Ce(J,_,t.id),await qe(J,_,t.id,u)}}if($==="STDIO"&&!Zu().localMode)throw Error("STDIO connections are only available in local mode (--local-mode).");let v=c.connection_token??d.connection_token;if(!v)try{let W=await new Vl(u.db,u.vault).get(l);if(W?.accessToken)v=W.accessToken}catch{}let n=await V2({id:d.id,title:c.title??d.title,connection_type:$,connection_url:w,connection_token:v,connection_headers:c.connection_headers??d.connection_headers}).catch(()=>null),D=n?.tools?.length?n.tools:null,O=!1;if(c.configuration_scopes===void 0&&n?.scopes?.length)O=!tIf(_,n.scopes),_=n.scopes;if(Ce(h,_,t.id),O&&_.length>0)await qe(h,_,t.id,u);let N=E||O,y=N?Me(h,_):[],Z=N?Me(d.configuration_state??{},d.configuration_scopes??[]):[],T=d.configuration_state,B=T==null||Object.keys(T).length===0,F,P,S=async()=>{try{await u.storage.connectionCredentialVault.replaceGrantsForSubject({organizationId:t.id,subjectConnectionId:l,createdBy:f,grants:Z})}catch(J){console.error("Failed to restore credential grants after credential vault mutation failed",J)}},A={...c,connection_url:w,tools:null,configuration_state:h,configuration_scopes:_,updated_by:f},k={...d,...A};if(N)try{if(await u.storage.connectionCredentialVault.replaceGrantsForSubject({organizationId:t.id,subjectConnectionId:l,createdBy:f,grants:y}),y.length>0){if(!await u.storage.connectionCredentialVault.findActiveWorkloadToken({organizationId:t.id,subjectConnectionId:l})){let{plaintextToken:W,record:m}=await u.storage.connectionCredentialVault.createOrRotateWorkloadToken({organizationId:t.id,subjectConnectionId:l});P=m.id,F={baseUrl:u.baseUrl,org:t.slug??t.id,subjectConnectionId:l,token:W}}}}catch(J){if(P)await u.storage.connectionCredentialVault.revokeWorkloadToken({organizationId:t.id,subjectConnectionId:l,tokenId:P});throw await S(),J}if(N&&h&&_)try{await(await U6(k,u,!1)).callTool({name:"ON_MCP_CONFIGURATION",arguments:{state:h,scopes:_,firstRun:B,...F?{vault:F}:{}}})}catch(J){if(console.error("Failed to invoke ON_MCP_CONFIGURATION callback",J),P)throw await u.storage.connectionCredentialVault.revokeWorkloadToken({organizationId:t.id,subjectConnectionId:l,tokenId:P}),await S(),J}let M;try{M=await u.storage.connections.update(l,A)}catch(J){if(N){if(P)await u.storage.connectionCredentialVault.revokeWorkloadToken({organizationId:t.id,subjectConnectionId:l,tokenId:P});await S()}throw J}if(D)A1()?.set("tools",l,D).catch(()=>{});return uz(l),{item:M}}})});import{z as fIf}from"zod";var lIf,quu;var i90=g(()=>{$w();o4();cu();e$();lm();Tv();lIf=ee.extend({force:fIf.boolean().optional().describe("If true, removes this connection from all agents that reference it before deleting")}),quu=fi({name:"COLLECTION_CONNECTIONS_DELETE",description:"Permanently delete a connection. Set force=true to auto-remove from referencing Virtual MCPs.",annotations:{title:"Delete Connection",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:lIf,outputSchema:ae(y6),handler:async(i,u)=>{Gi(u);let t=yi(u);await u.access.check();let f=await u.storage.connections.findById(i.id);if(!f)throw Error(`Connection not found: ${i.id}`);if(f.organization_id!==t.id)throw Error("Connection not found in organization");if(f.metadata?.isFixed===!0)throw Error("This connection is a fixed system connection and cannot be deleted");let c=await u.storage.virtualMcps.listByConnectionId(t.id,i.id);if(c.length>0)if(i.force)await u.storage.virtualMcps.removeConnectionReferences(i.id);else throw Error(JSON.stringify({code:"CONNECTION_IN_USE",agentNames:c.map(($)=>$.title)}));await u.storage.connections.delete(i.id);let E=await u.storage.organizationSettings.get(t.id);if(E?.registry_config){let{registries:$,blockedMcps:w}=E.registry_config;if(i.id in $){let{[i.id]:h,..._}=$;await u.storage.organizationSettings.upsert(t.id,{registry_config:{registries:_,blockedMcps:w}})}}A1()?.invalidate(i.id).catch(()=>{}),uz(i.id);let d=Hu(u);if(d)su.capture({distinctId:d,event:"connection_deleted",groups:{organization:t.id},properties:{connection_id:f.id,connection_type:f.connection_type,app_name:f.app_name??null,organization_id:t.id,forced:i.force??!1}});return{item:f}}})});import{z as az}from"zod";var Vuu;var u90=g(()=>{cu();Vuu=fi({name:"CONNECTION_TEST",description:"Test connection health and latency",annotations:{title:"Test Connection",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!0},inputSchema:az.object({id:az.string()}),outputSchema:az.object({id:az.string(),healthy:az.boolean(),latencyMs:az.number()}),handler:async(i,u)=>{let t=yi(u);await u.access.check();let f=await u.storage.connections.findById(i.id);if(!f||f.organization_id!==t.id)throw Error("Connection not found");let l=await u.storage.connections.testConnection(i.id);return{id:i.id,...l}}})});var t90=g(()=>{w70();o70();s70();p70();i90();u90()});import{sql as Cf}from"kysely";import{z as mv}from"zod";function f90(i){if(i===null||i===void 0)return"NULL";if(typeof i==="number")return String(i);if(typeof i==="boolean")return i?"TRUE":"FALSE";if(typeof i==="string")return`'${i.replace(/'/g,"''")}'`;if(i instanceof Date)return`'${i.toISOString()}'`;return`'${JSON.stringify(i).replace(/'/g,"''")}'`}function dIf(i,u){let t=i;for(let l=u.length;l>=1;l--){let c=`$${l}`;if(t.includes(c))t=t.replaceAll(c,f90(u[l-1]))}let f=[];for(let l=0;l<t.length;l++)if(t[l]==="?")f.push(l);for(let l=Math.min(f.length,u.length)-1;l>=0;l--){let c=f[l],E=f90(u[l]);t=t.slice(0,c)+E+t.slice(c+1)}return t}function l90(i){return i.replace(/-/g,"_")}function wIf(i){return`app_${l90(i)}`}function hIf(i){return`app_role_${l90(i)}`}function _If(i){if(i instanceof Error){let u=i.message.toLowerCase(),t=i.code;return t==="3F000"||t==="42704"||t==="22023"||u.includes("schema")&&u.includes("does not exist")||u.includes("role")&&u.includes("does not exist")}return!1}async function vIf(i,u,t){if(await Cf`CREATE SCHEMA IF NOT EXISTS ${Cf.id(u)}`.execute(i),!(await Cf`
|
|
86399
86399
|
SELECT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = ${t}) as exists
|
|
86400
|
-
`.execute(i)).rows[0]?.exists)await Cf`CREATE ROLE ${Cf.id(t)} NOLOGIN`.execute(i);await Cf`GRANT ${Cf.id(t)} TO CURRENT_USER`.execute(i),await Cf`GRANT USAGE, CREATE ON SCHEMA ${Cf.id(u)} TO ${Cf.id(t)}`.execute(i),await Cf`GRANT ALL ON ALL TABLES IN SCHEMA ${Cf.id(u)} TO ${Cf.id(t)}`.execute(i),await Cf`GRANT ALL ON ALL SEQUENCES IN SCHEMA ${Cf.id(u)} TO ${Cf.id(t)}`.execute(i),await Cf`ALTER DEFAULT PRIVILEGES IN SCHEMA ${Cf.id(u)} GRANT ALL ON TABLES TO ${Cf.id(t)}`.execute(i),await Cf`ALTER DEFAULT PRIVILEGES IN SCHEMA ${Cf.id(u)} GRANT ALL ON SEQUENCES TO ${Cf.id(t)}`.execute(i),await Cf`REVOKE ALL ON SCHEMA public FROM ${Cf.id(t)}`.execute(i)}async function nIf(i,u,t,f){try{return await i.transaction().execute(async(l)=>{return await Cf`SET LOCAL ROLE ${Cf.id(t)}`.execute(l),await Cf`SET LOCAL search_path TO ${Cf.id(u)}`.execute(l),await Cf.raw(f).execute(l)})}catch(l){if(_If(l))return await vIf(i,u,t),await i.transaction().execute(async(c)=>{return await Cf`SET LOCAL ROLE ${Cf.id(t)}`.execute(c),await Cf`SET LOCAL search_path TO ${Cf.id(u)}`.execute(c),await Cf.raw(f).execute(c)});throw l}}var EIf,$If,c90;var E90=g(()=>{cu();EIf=mv.object({results:mv.array(mv.unknown()).optional(),success:mv.boolean().optional()});$If=mv.object({sql:mv.string().describe("The SQL query to run"),params:mv.array(mv.any()).describe("The parameters to pass to the SQL query").optional()});c90=fi({name:"DATABASES_RUN_SQL",description:"Run a SQL query in a connection-scoped isolated schema. Supports SELECT, DDL, and DML.",annotations:{title:"Run SQL Query",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:$If,outputSchema:mv.object({result:mv.array(EIf)}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=dIf(i.sql,i.params||[]);if(!u.connectionId)throw Error("Connection context required for database access");console.warn("DATABASES_RUN_SQL invoked",{"tool.deprecation_probe":"DATABASES_RUN_SQL","connection.id":u.connectionId,"organization.id":u.organization?.id??null,"user.id":u.auth.user?.id??null});let f=wIf(u.connectionId),l=hIf(u.connectionId);return{result:[{results:(await nIf(u.db,f,l,t)).rows,success:!0}]}}})});function f3i(i){let u=i.access.getRole();if(!u||!h3.includes(u))throw new en("Only organization owners and admins can change org-wide pin status")}var ruu=g(()=>{Gv();MN()});import{z as w90}from"zod";function gIf(){let i=d90[Math.floor(Math.random()*d90.length)];return`icon://${$90[Math.floor(Math.random()*$90.length)]}?color=${i}`}var d90,$90,OIf,NIf,muu;var h90=g(()=>{cu();e2();ruu();Re();d90=["red","orange","amber","yellow","lime","green","emerald","cyan","sky","blue","indigo","violet","purple","fuchsia","pink","rose"],$90=["Star01","Zap","Heart","Globe01","Compass03","Lightbulb02","Rocket01","Flag01","BookOpen01","Shield01","Key01","Diamond01","Cube01","Target04","Award01","Briefcase01","Coffee","Feather","Hexagon01","Layers3_01","Map01","Palette","Package","Terminal"];OIf=w90.object({data:Hq.describe("Data for the new virtual MCP")}),NIf=w90.object({item:Z6.describe("The created virtual MCP entity")}),muu=fi({name:"COLLECTION_VIRTUAL_MCP_CREATE",description:"Create a Virtual MCP (agent) that aggregates tools from multiple connections into one endpoint. Pass `prompts` to seed the agent with kickstart prompts (conversation starters shown as icebreakers). Author them from the agent's role/instructions and the descriptions of the tools it will have, so the starters are coherent and immediately useful.",annotations:{title:"Create Virtual MCP",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:OIf,outputSchema:NIf,handler:async(i,u)=>{Gi(u);let t=yi(u);await u.access.check();let f=Hu(u);if(!f)throw Error("User ID required to create virtual MCP");if(i.data.pinned===!0)f3i(u);let{prompts:l,...c}=i.data,E={...c,icon:c.icon??gIf()},d=await u.storage.virtualMcps.create(t.id,f,E);if(l?.length&&u.orgFs&&d.id)await Jwi(u.orgFs,d.id,f,l);return{item:d}}})});function yIf(i){let u=[],t=0;while(t<i.length){let f=i[t];if(f==="%")u.push(".*");else if(f==="_")u.push(".");else if(/[.*+?^${}()|[\]\\]/.test(f))u.push("\\"+f);else u.push(f);t++}return u.join("")}function sg(i){return typeof i==="string"||typeof i==="number"}function euu(i,u){let t=u.split("."),f=i;for(let l of t){if(f==null||typeof f!=="object")return;f=f[l]}return f}function ZIf(i,u){return i.connections.some((t)=>t.connection_id===u)}function l3i(i,u){if("conditions"in u){let{operator:d,conditions:$}=u;switch(d){case"and":return $.every((w)=>l3i(i,w));case"or":return $.some((w)=>l3i(i,w));case"not":return!$.every((w)=>l3i(i,w));default:return!0}}let{field:t,operator:f,value:l}=u,c=t.join(".");if(c==="connection_id"){if(f!=="eq"||typeof l!=="string")return!1;return ZIf(i,l)}let E=euu(i,c);switch(f){case"eq":return E===l;case"gt":return sg(E)&&sg(l)&&E>l;case"gte":return sg(E)&&sg(l)&&E>=l;case"lt":return sg(E)&&sg(l)&&E<l;case"lte":return sg(E)&&sg(l)&&E<=l;case"in":return Array.isArray(l)&&l.includes(E);case"like":if(typeof E!=="string"||typeof l!=="string")return!1;if(l.length>100)return!1;let d=yIf(l);return new RegExp(`^${d}$`,"i").test(E);case"contains":if(typeof E!=="string"||typeof l!=="string")return!1;return E.toLowerCase().includes(l.toLowerCase());default:return!0}}function TIf(i,u){return[...i].sort((t,f)=>{for(let l of u){let c=l.field.join("."),E=euu(t,c),d=euu(f,c),$=0;if(E==null&&d==null)continue;if(E==null)$=l.nulls==="first"?-1:1;else if(d==null)$=l.nulls==="first"?1:-1;else if(typeof E==="string"&&typeof d==="string")$=E.localeCompare(d);else if(typeof E==="number"&&typeof d==="number")$=E-d;else $=String(E).localeCompare(String(d));if($!==0)return l.direction==="desc"?-$:$}return 0})}var BIf,FIf,auu;var _90=g(()=>{$w();cu();e2();BIf=c_,FIf=wD(Z6),auu=fi({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:BIf,outputSchema:FIf,handler:async(i,u)=>{await u.access.check();let t=yi(u),f=i.where&&!("conditions"in i.where)&&i.where.field.join(".")==="connection_id"&&i.where.operator==="eq"&&typeof i.where.value==="string"?i.where.value:void 0,l=i.where&&!("conditions"in i.where)&&i.where.field.join(".")==="pinned"&&i.where.operator==="eq"&&typeof i.where.value==="boolean"?i.where.value:void 0,E=f?await u.storage.virtualMcps.listByConnectionId(t.id,f):await u.storage.virtualMcps.list(t.id,l!==void 0?{pinnedOnly:l}:void 0);if(i.where)E=E.filter((v)=>l3i(v,i.where));if(i.orderBy&&i.orderBy.length>0)E=TIf(E,i.orderBy);let d=E.length,$=i.offset??0,w=i.limit??100,h=E.slice($,$+w),_=$+w<d;return{items:h,totalCount:d,hasMore:_}}})});import{z as ouu}from"zod";var UIf,IIf,suu;var v90=g(()=>{cu();e2();UIf=ouu.object({id:ouu.string().describe("ID of the virtual MCP to retrieve")}),IIf=ouu.object({item:Z6.nullable().describe("The retrieved virtual MCP, or null if not found")}),suu=fi({name:"COLLECTION_VIRTUAL_MCP_GET",description:"Get a Virtual MCP's configuration, connections, and virtual tools by ID.",annotations:{title:"Get Virtual MCP",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:UIf,outputSchema:IIf,handler:async(i,u)=>{Gi(u);let t=yi(u);await u.access.check();let f=await u.storage.virtualMcps.findById(i.id);if(f&&f.organization_id!==t.id)return{item:null};if(!f)return{item:null};return{item:f}}})});import{z as puu}from"zod";var PIf,AIf,i0u;var n90=g(()=>{cu();Re();e2();ruu();PIf=puu.object({id:puu.string().describe("ID of the virtual MCP to update"),data:bq.describe("Partial virtual MCP data to update")}),AIf=puu.object({item:Z6.describe("The updated virtual MCP entity")}),i0u=fi({name:"COLLECTION_VIRTUAL_MCP_UPDATE",description:"Update a Virtual MCP's name, slug, connection list, or kickstart prompts. Pass `prompts` to replace the agent's conversation starters (full set; empty array clears them).",annotations:{title:"Update Virtual MCP",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:PIf,outputSchema:AIf,handler:async(i,u)=>{Gi(u);let t=yi(u);await u.access.check();let f=Hu(u);if(!f)throw Error("User ID required to update virtual MCP");let l=await u.storage.virtualMcps.findById(i.id);if(!l)throw Error(`Virtual MCP not found: ${i.id}`);if(l.organization_id!==t.id)throw Error(`Virtual MCP not found: ${i.id}`);let{prompts:c,...E}=i.data;if(E.metadata&&l.metadata)E.metadata={...l.metadata,...E.metadata};if(E.pinned!==void 0&&E.pinned!==l.pinned)f3i(u);let d=await u.storage.virtualMcps.update(i.id,f,E);if(c!==void 0&&u.orgFs)await Jwi(u.orgFs,i.id,f,c);return{item:d}}})});import{z as u0u}from"zod";var xIf,kIf,t0u;var D90=g(()=>{Ty();l_();cu();Re();e2();xIf=u0u.object({id:u0u.string().describe("ID of the virtual MCP to delete")}),kIf=u0u.object({item:Z6.describe("The deleted virtual MCP entity")}),t0u=fi({name:"COLLECTION_VIRTUAL_MCP_DELETE",description:"Permanently delete a Virtual MCP and its virtual tools.",annotations:{title:"Delete Virtual MCP",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:xIf,outputSchema:kIf,handler:async(i,u)=>{Gi(u);let t=yi(u);await u.access.check();let f=await u.storage.virtualMcps.findById(i.id);if(!f)throw Error(`Virtual MCP not found: ${i.id}`);if(f.organization_id!==t.id)throw Error(`Virtual MCP not found: ${i.id}`);if(await u.storage.virtualMcps.delete(i.id),u.orgFs)await xuu(u.orgFs,i.id,Hu(u)??"system");let l=f.metadata?.githubRepo?.connectionId;if(l)try{let c=await u.storage.connections.findById(l,t.id);if(c&&Mv(c)){let d=await new Vl(u.db,u.vault).get(l);if(d?.accessToken)try{await fetch("https://api.github.com/installation/token",{method:"DELETE",headers:{Authorization:`Bearer ${d.accessToken}`,Accept:"application/vnd.github+json","X-GitHub-Api-Version":"2022-11-28"},signal:AbortSignal.timeout(5000)})}catch{}await u.storage.connections.delete(l)}}catch(c){console.error("[VIRTUAL_MCP_DELETE] failed to tear down repo-scoped connection",{childConnectionId:l,error:c.message})}return{item:f}}})});import{z as t$}from"zod";var GIf,f0u;var g90=g(()=>{cu();GIf=t$.object({id:t$.string(),virtualMcpId:t$.string(),pluginId:t$.string(),connectionId:t$.string().nullable(),settings:t$.record(t$.string(),t$.unknown()).nullable(),createdAt:t$.string(),updatedAt:t$.string()}),f0u=fi({name:"VIRTUAL_MCP_PLUGIN_CONFIG_GET",description:"Get a plugin's current configuration for a specific virtual MCP.",annotations:{title:"Get Virtual MCP Plugin Config",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:t$.object({virtualMcpId:t$.string().describe("Virtual MCP ID"),pluginId:t$.string().describe("Plugin ID")}),outputSchema:t$.object({config:GIf.nullable()}),handler:async(i,u)=>{Gi(u),await u.access.check();let{virtualMcpId:t,pluginId:f}=i,l=await u.storage.virtualMcpPluginConfigs.get(t,f);if(!l)return{config:null};return{config:{id:l.id,virtualMcpId:l.virtualMcpId,pluginId:l.pluginId,connectionId:l.connectionId,settings:l.settings,createdAt:l.createdAt instanceof Date?l.createdAt.toISOString():l.createdAt,updatedAt:l.updatedAt instanceof Date?l.updatedAt.toISOString():l.updatedAt}}}})});import{z as ec}from"zod";var SIf,l0u;var O90=g(()=>{cu();AW();bE();SIf=ec.object({id:ec.string(),virtualMcpId:ec.string(),pluginId:ec.string(),connectionId:ec.string().nullable(),settings:ec.record(ec.string(),ec.unknown()).nullable(),createdAt:ec.string(),updatedAt:ec.string()}),l0u=fi({name:"VIRTUAL_MCP_PLUGIN_CONFIG_UPDATE",description:"Set or update a plugin's configuration for a specific virtual MCP.",annotations:{title:"Update Virtual MCP Plugin Config",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:ec.object({virtualMcpId:ec.string().describe("Virtual MCP ID"),pluginId:ec.string().describe("Plugin ID"),connectionId:ec.string().nullable().optional().describe("MCP connection to bind"),settings:ec.record(ec.string(),ec.unknown()).nullable().optional().describe("Plugin-specific settings")}),outputSchema:ec.object({config:SIf}),handler:async(i,u)=>{Gi(u),await u.access.check();let{virtualMcpId:t,pluginId:f,connectionId:l,settings:c}=i,E=Hu(u),d=await u.storage.connections.findById(t);if(!d)throw Error(`Connection not found: ${t}`);let $=l?await u.storage.connections.findById(l):null;if(l&&d.organization_id&&!$&&Xh()){if(T6i(l,d.organization_id)){if(!E)throw Error("User ID required to create dev-assets connection");let h=PW(d.organization_id,H1());await u.storage.connections.create({...h,organization_id:d.organization_id,created_by:E})}}let w=await u.storage.virtualMcpPluginConfigs.upsert(t,f,{connectionId:l,settings:c});return{config:{id:w.id,virtualMcpId:w.virtualMcpId,pluginId:w.pluginId,connectionId:w.connectionId,settings:w.settings,createdAt:w.createdAt instanceof Date?w.createdAt.toISOString():w.createdAt,updatedAt:w.updatedAt instanceof Date?w.updatedAt.toISOString():w.updatedAt}}}})});import{z as Ed}from"zod";var jIf,c0u;var N90=g(()=>{cu();e2();jIf=Ed.object({connectionId:Ed.string(),toolName:Ed.string(),label:Ed.string(),icon:Ed.string().nullable().optional()}),c0u=fi({name:"VIRTUAL_MCP_PINNED_VIEWS_UPDATE",description:"Update the pinned sidebar views for a virtual MCP. Replaces all current pins.",annotations:{title:"Update Pinned Views",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:Ed.object({virtualMcpId:Ed.string().describe("Virtual MCP ID"),pinnedViews:Ed.array(jIf).describe("Pinned views to set for the virtual MCP sidebar"),layout:Ed.object({defaultMainView:Ed.object({type:Ed.string(),id:Ed.string().optional(),toolName:Ed.string().optional()}).nullable().optional(),chatDefaultOpen:Ed.boolean().nullable().optional()}).optional()}),outputSchema:Ed.object({item:Z6.nullable()}),handler:async(i,u)=>{Gi(u);let t=yi(u);await u.access.check();let{virtualMcpId:f,pinnedViews:l,layout:c}=i,E=Hu(u),d=await u.storage.virtualMcps.findById(f);if(!d)throw Error(`Virtual MCP not found: ${f}`);if(d.organization_id!==t.id)throw Error(`Virtual MCP not found: ${f}`);let $=d.metadata?.ui??{},w={...$,pinnedViews:l.length>0?l:null,layout:c??$.layout??null};return{item:await u.storage.virtualMcps.update(f,E??"system",{metadata:{...d.metadata,ui:w}})}}})});import{z as _D}from"zod";var KIf,JIf,E0u;var y90=g(()=>{cu();KIf=_D.object({ids:_D.array(_D.string()).describe("Virtual MCP ids to look up")}),JIf=_D.object({items:_D.array(_D.object({id:_D.string(),last_used_at:_D.string().optional(),last_used_by:_D.string().optional()}))}),E0u=fi({name:"VIRTUAL_MCP_LAST_USED_LIST",description:"Get last-used info (timestamp + user) for one or more virtual MCPs, derived from the most recent thread per agent.",annotations:{title:"List Virtual MCP Last Used",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:KIf,outputSchema:JIf,handler:async(i,u)=>{Gi(u),yi(u),await u.access.check();let t=await u.storage.threads.findLastUsedByVirtualMcpIds(i.ids);return{items:i.ids.map((f)=>({id:f,last_used_at:t.get(f)?.last_used_at,last_used_by:t.get(f)?.last_used_by}))}}})});var Z90=g(()=>{h90();_90();v90();n90();D90();g90();O90();N90();y90()});import{z as Fl}from"zod";var d0u;var T90=g(()=>{Hl();cu();d0u=fi({name:"MONITORING_LOG_GET",description:"Get a single monitoring log by ID with full input and output data.",annotations:{title:"Get Monitoring Log",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:Fl.object({id:Fl.string().describe("Log ID to fetch")}),outputSchema:Fl.object({log:Fl.object({id:Fl.string().optional(),organizationId:Fl.string(),connectionId:Fl.string(),toolName:Fl.string(),input:Fl.record(Fl.string(),Fl.unknown()),output:Fl.record(Fl.string(),Fl.unknown()),isError:Fl.boolean(),errorMessage:Fl.string().nullish(),durationMs:Fl.number(),timestamp:Fl.string(),userId:Fl.string().nullish(),requestId:Fl.string(),userAgent:Fl.string().nullish(),virtualMcpId:Fl.string().nullish(),properties:Fl.record(Fl.string(),Fl.string()).nullish()}).nullable().describe("The monitoring log, or null if not found")}),handler:async(i,u)=>{await u.access.check(),await qw();let t=yi(u),f=await u.storage.monitoring.getById(t.id,i.id);if(!f)return{log:null};return{log:{...f,timestamp:f.timestamp instanceof Date?f.timestamp.toISOString():f.timestamp}}}})});import{z as yt}from"zod";var LIf,$0u;var B90=g(()=>{Hl();cu();LIf=yt.object({id:yt.string().optional().describe("Unique log identifier"),organizationId:yt.string().describe("Organization ID"),connectionId:yt.string().describe("Connection ID"),toolName:yt.string().describe("Name of the tool that was called"),isError:yt.boolean().describe("Whether the call resulted in an error"),errorMessage:yt.string().nullish().describe("Error message if applicable"),durationMs:yt.number().describe("Call duration in milliseconds"),timestamp:yt.string().describe("ISO 8601 timestamp of the call"),userId:yt.string().nullish().describe("User who triggered the call"),requestId:yt.string().describe("Unique request identifier"),userAgent:yt.string().nullish().describe("Client identifier (x-mesh-client header)"),virtualMcpId:yt.string().nullish().describe("Virtual MCP (Agent) ID if routed through an agent"),properties:yt.record(yt.string(),yt.string()).nullish().describe("Custom key-value metadata attached to the log")}),$0u=fi({name:"MONITORING_LOGS_LIST",description:"List monitoring logs for tool calls with filtering and pagination.",annotations:{title:"List Monitoring Logs",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:yt.object({connectionId:yt.string().optional().describe("Filter by connection ID"),excludeConnectionIds:yt.array(yt.string()).optional().describe("Exclude logs from these connection IDs (e.g. system connections)"),virtualMcpId:yt.string().optional().describe("Filter by Virtual MCP (Agent) ID"),toolName:yt.string().optional().describe("Filter by tool name"),isError:yt.boolean().optional().describe("Filter by error status"),startDate:yt.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:yt.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)"),limit:yt.number().default(20).describe("Maximum number of results"),offset:yt.number().default(0).describe("Offset for pagination"),properties:yt.record(yt.string(),yt.string()).optional().describe("Filter by exact property key=value matches"),propertyKeys:yt.array(yt.string()).optional().describe("Filter by logs that have these property keys"),propertyPatterns:yt.record(yt.string(),yt.string()).optional().describe("Filter by property value patterns (SQL LIKE, use % as wildcard)"),propertyInValues:yt.record(yt.string(),yt.string()).optional().describe("Filter by exact match within comma-separated values (e.g., user_tags in 'Engineering')")}),outputSchema:yt.object({logs:yt.array(LIf).describe("Array of monitoring logs"),total:yt.number().describe("Total number of logs matching filters"),offset:yt.number().describe("Current offset for pagination"),limit:yt.number().describe("Current limit for pagination")}),handler:async(i,u)=>{await qw();let t=yi(u),l=i.properties||i.propertyKeys||i.propertyPatterns||i.propertyInValues?{properties:i.properties,propertyKeys:i.propertyKeys,propertyPatterns:i.propertyPatterns,propertyInValues:i.propertyInValues}:void 0,c={organizationId:t.id,connectionId:i.connectionId,excludeConnectionIds:i.excludeConnectionIds,virtualMcpId:i.virtualMcpId,toolName:i.toolName,isError:i.isError,startDate:i.startDate?new Date(i.startDate):void 0,endDate:i.endDate?new Date(i.endDate):void 0,limit:i.limit,offset:i.offset,propertyFilters:l},E=await u.storage.monitoring.query(c);return{logs:E.logs.map(({input:d,output:$,...w})=>({...w,timestamp:w.timestamp instanceof Date?w.timestamp.toISOString():w.timestamp})),total:E.total,offset:i.offset,limit:i.limit}}})});import{z as _0}from"zod";var w0u;var F90=g(()=>{Hl();cu();w0u=fi({name:"MONITORING_STATS",description:"Get aggregated statistics (counts, latency, error rates) for tool call monitoring.",annotations:{title:"Get Monitoring Stats",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:_0.object({startDate:_0.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:_0.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)"),interval:_0.string().regex(/^\d+[mhd]$/).optional().describe("Bucket interval for timeseries data (e.g. 1m, 5m, 2h, 1d). When provided, returns timeseries array."),connectionIds:_0.array(_0.string()).max(100).optional().describe("Filter by specific connection IDs (max 100)"),excludeConnectionIds:_0.array(_0.string()).max(100).optional().describe("Exclude specific connection IDs (max 100)"),toolNames:_0.array(_0.string()).max(100).optional().describe("Filter by specific tool names (max 100)"),status:_0.enum(["success","error"]).optional().describe("Filter metrics by execution status"),topN:_0.number().int().min(1).max(20).optional().describe("When provided with interval, also return top tools and their timeseries"),userIds:_0.array(_0.string()).max(100).optional().describe("Filter LLM usage by user IDs (only applied when llmUsage is true)"),llmUsage:_0.boolean().optional().describe("Aggregate LLM-call usage (tokens + USD cost) from raw log rows for the given connection. Returns token/cost totals and timeseries. Requires interval.")}),outputSchema:_0.object({totalCalls:_0.number().describe("Total number of tool calls"),errorRate:_0.number().optional().describe("Error rate as a decimal (0 to 1)"),avgDurationMs:_0.number().describe("Average call duration in milliseconds"),errorRatePercent:_0.string().optional().describe("Error rate as a percentage string"),totalErrors:_0.number().optional().describe("Total number of errors"),p50DurationMs:_0.number().optional().describe("50th percentile duration in milliseconds"),p95DurationMs:_0.number().optional().describe("95th percentile duration in milliseconds"),connectionBreakdown:_0.array(_0.object({connectionId:_0.string(),calls:_0.number(),errors:_0.number(),errorRate:_0.number(),avgDurationMs:_0.number()})).optional().describe("Per-connection metric breakdown"),totalInputTokens:_0.number().optional().describe("Total input tokens (LLM usage mode)"),totalOutputTokens:_0.number().optional().describe("Total output tokens (LLM usage mode)"),totalTokens:_0.number().optional().describe("Total tokens (LLM usage mode)"),totalCostUsd:_0.number().optional().describe("Total USD cost (LLM usage mode; only non-zero for providers that report cost)"),topTools:_0.array(_0.object({toolName:_0.string(),connectionId:_0.string().nullable(),calls:_0.number(),inputTokens:_0.number().optional(),outputTokens:_0.number().optional(),costUsd:_0.number().optional()})).optional().describe("Top tools ranked by calls"),topToolsTimeseries:_0.array(_0.object({timestamp:_0.string(),toolName:_0.string(),calls:_0.number(),errors:_0.number(),avg:_0.number(),p95:_0.number()})).optional().describe("Per-tool metric timeseries for the top tools"),timeseries:_0.array(_0.object({timestamp:_0.string(),calls:_0.number(),errors:_0.number(),errorRate:_0.number(),avg:_0.number(),p50:_0.number(),p95:_0.number(),inputTokens:_0.number().optional(),outputTokens:_0.number().optional(),totalTokens:_0.number().optional(),costUsd:_0.number().optional()})).optional().describe("Timeseries data points bucketed by interval")}),handler:async(i,u)=>{let t=yi(u);if(await u.access.check(),await qw(),i.interval&&i.llmUsage)return u.storage.monitoring.queryLlmUsageStats({organizationId:t.id,interval:i.interval,connectionId:i.connectionIds?.[0]??"decopilot",startDate:i.startDate?new Date(i.startDate):void 0,endDate:i.endDate?new Date(i.endDate):void 0,userIds:i.userIds,topN:i.topN});if(i.interval){let l=await u.storage.monitoring.queryMetricTimeseries({organizationId:t.id,interval:i.interval,startDate:i.startDate?new Date(i.startDate):void 0,endDate:i.endDate?new Date(i.endDate):void 0,filters:{connectionIds:i.connectionIds,excludeConnectionIds:i.excludeConnectionIds,toolNames:i.toolNames,status:i.status}});if(!i.topN)return l;let c=await u.storage.monitoring.queryMetricTopToolsTimeseries({organizationId:t.id,interval:i.interval,startDate:i.startDate?new Date(i.startDate):void 0,endDate:i.endDate?new Date(i.endDate):void 0,topN:i.topN,filters:{connectionIds:i.connectionIds,excludeConnectionIds:i.excludeConnectionIds,toolNames:i.toolNames,status:i.status}});return{...l,topTools:c.topTools,topToolsTimeseries:c.timeseries}}let f=await u.storage.monitoring.getStats({organizationId:t.id,startDate:i.startDate?new Date(i.startDate):void 0,endDate:i.endDate?new Date(i.endDate):void 0});return{...f,errorRatePercent:(f.errorRate*100).toFixed(2)}}})});import{z as dd}from"zod";var h0u;var U90=g(()=>{Hl();cu();h0u=fi({name:"MONITORING_THREAD_USAGE",description:"Aggregate LLM token usage and USD cost per thread for the given thread IDs.",annotations:{title:"Get Thread Usage",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:dd.object({threadIds:dd.array(dd.string()).min(1).max(500).describe("Thread IDs to aggregate usage for (max 500)"),connectionId:dd.string().optional().describe("LLM connection ID (defaults to 'decopilot')"),startDate:dd.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:dd.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)")}),outputSchema:dd.object({items:dd.array(dd.object({threadId:dd.string(),calls:dd.number(),inputTokens:dd.number(),outputTokens:dd.number(),totalTokens:dd.number(),costUsd:dd.number()}))}),handler:async(i,u)=>{let t=yi(u);return await u.access.check(),await qw(),{items:await u.storage.monitoring.queryThreadUsage({organizationId:t.id,connectionId:i.connectionId??"decopilot",threadIds:i.threadIds,startDate:i.startDate?new Date(i.startDate):void 0,endDate:i.endDate?new Date(i.endDate):void 0})}}})});var I90=g(()=>{T90();B90();F90();U90()});import{z as ww}from"zod";var _0u;var P90=g(()=>{cu();_0u=fi({name:"ORGANIZATION_CREATE",description:"Create a new organization. The caller becomes the owner automatically.",annotations:{title:"Create Organization",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:ww.object({slug:ww.string().min(1).max(50).regex(/^[a-z0-9-]+$/,"Slug must be lowercase alphanumeric with hyphens"),name:ww.string().min(1).max(255),description:ww.string().optional()}),outputSchema:ww.object({id:ww.string(),name:ww.string(),slug:ww.string(),logo:ww.string().nullable().optional(),metadata:ww.any().optional(),createdAt:ww.string().datetime().describe("ISO 8601 timestamp"),members:ww.array(ww.any()).optional()}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=Hu(u);if(!t)throw Error("User ID required to create organization");let f=await u.boundAuth.organization.create({name:i.name,slug:i.slug,metadata:i.description?{description:i.description}:void 0,userId:t});if(!f)throw Error("Failed to create organization");return{...f,createdAt:f.createdAt instanceof Date?f.createdAt.toISOString():f.createdAt}}})});import{z as E_}from"zod";var v0u;var A90=g(()=>{cu();v0u=fi({name:"ORGANIZATION_LIST",description:"List organizations the current user belongs to.",annotations:{title:"List Organizations",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},_meta:{ui:{visibility:"app"}},inputSchema:E_.object({userId:E_.string().optional()}),outputSchema:E_.object({organizations:E_.array(E_.object({id:E_.string(),name:E_.string(),slug:E_.string(),logo:E_.string().nullable().optional(),metadata:E_.any().optional(),createdAt:E_.string().datetime().describe("ISO 8601 timestamp")}))}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=Hu(u),f=i.userId||t;if(!f)throw Error("User ID required to list organizations");return{organizations:(await u.boundAuth.organization.list(f)).map((c)=>({...c,createdAt:c.createdAt instanceof Date?c.createdAt.toISOString():c.createdAt}))}}})});import{z as U3}from"zod";var n0u;var x90=g(()=>{cu();n0u=fi({name:"ORGANIZATION_GET",description:"Get an organization's details, members, and settings by slug or ID.",annotations:{title:"Get Organization",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:U3.object({}),outputSchema:U3.object({id:U3.string(),name:U3.string(),slug:U3.string(),logo:U3.string().nullable().optional(),metadata:U3.any().optional(),createdAt:U3.string().datetime().describe("ISO 8601 timestamp"),members:U3.array(U3.any()).optional(),invitations:U3.array(U3.any()).optional()}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");let f=await u.boundAuth.organization.get(t);if(!f)throw Error("No active organization found");let l=new Date,c=f.invitations?.filter((E)=>new Date(E.expiresAt)>l);return{...f,invitations:c,createdAt:f.createdAt instanceof Date?f.createdAt.toISOString():f.createdAt}}})});import{z as d_}from"zod";var D0u;var k90=g(()=>{cu();D0u=fi({name:"ORGANIZATION_UPDATE",description:"Update an organization's name or description.",annotations:{title:"Update Organization",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:d_.object({id:d_.string(),name:d_.string().min(1).max(255).optional(),description:d_.string().optional()}),outputSchema:d_.object({id:d_.string(),name:d_.string(),slug:d_.string(),logo:d_.string().nullable().optional(),metadata:d_.any().optional(),createdAt:d_.string().datetime().describe("ISO 8601 timestamp")}),handler:async(i,u)=>{Gi(u),await u.access.check();let t={};if(i.name)t.name=i.name;if(i.description)t.metadata={description:i.description};let f=await u.boundAuth.organization.update({organizationId:i.id,data:t});if(!f)throw Error("Failed to update organization");return{...f,createdAt:f.createdAt instanceof Date?f.createdAt.toISOString():f.createdAt}}})});import{z as ia}from"zod";var g0u;var G90=g(()=>{cu();g0u=fi({name:"ORGANIZATION_DELETE",description:"Archive an organization (soft delete).",annotations:{title:"Delete Organization",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:ia.object({id:ia.string()}),outputSchema:ia.object({success:ia.boolean(),id:ia.string()}),handler:async(i,u)=>{return Gi(u),await u.access.check(),await u.boundAuth.organization.update({organizationId:i.id,data:{metadata:{archived:!0,archivedAt:new Date().toISOString()}}}),{success:!0,id:i.id}}})});import{z as R0}from"zod";var ua,ta,oz,S90,c3i,fa,la,pg;var vD=g(()=>{ua=R0.object({title:R0.string(),url:R0.string(),icon:R0.string()}),ta=R0.object({registries:R0.record(R0.string(),R0.object({enabled:R0.boolean()})).describe("Per-registry enabled/disabled state. Key is connection ID. Absent registries are treated as enabled."),blockedMcps:R0.array(R0.string()).describe("List of MCP app_name or app_id values to hide from the store.")}),oz=R0.object({keyId:R0.string(),modelId:R0.string(),title:R0.string().optional()}).nullable(),S90=R0.enum(["fast","smart","thinking","image","web_search","deep_research"]),c3i=R0.enum(["fast","smart","thinking"]),fa=R0.object({tiers:R0.object({fast:oz,smart:oz,thinking:oz,image:oz,web_search:oz,deep_research:oz})}),la=R0.object({ids:R0.array(R0.string()).describe("Ordered list of custom virtual MCP agent ids to show on the home view.")}),pg=R0.object({id:R0.string().describe("Brand context ID"),name:R0.string().describe("Company name"),domain:R0.string().describe("Company domain (e.g. example.com)"),overview:R0.string().describe("Company overview / description"),logo:R0.string().nullable().optional().describe("Logo URL"),favicon:R0.string().nullable().optional().describe("Favicon URL"),ogImage:R0.string().nullable().optional().describe("OG image URL"),fonts:R0.object({heading:R0.string().optional().describe("Font family for headings"),body:R0.string().optional().describe("Font family for body text"),code:R0.string().optional().describe("Font family for code / monospace")}).nullable().optional().describe("Font families by semantic role"),colors:R0.object({primary:R0.string().optional().describe("Primary brand color (hex)"),secondary:R0.string().optional().describe("Secondary brand color (hex)"),accent:R0.string().optional().describe("Accent / highlight color (hex)"),background:R0.string().optional().describe("Background color (hex)"),foreground:R0.string().optional().describe("Foreground / text color (hex)")}).nullable().optional().describe("Semantic color palette"),images:R0.array(R0.record(R0.string(),R0.unknown())).nullable().optional().describe("Brand images"),metadata:R0.record(R0.string(),R0.unknown()).nullable().optional().describe("Extra design tokens (typography, components, spacing, layout, tone, etc.)"),archivedAt:R0.string().nullable().optional().describe("Archive timestamp (null to unarchive)"),isDefault:R0.boolean().optional().describe("Whether this is the default brand for the organization")})});import{z as nD}from"zod";var O0u;var j90=g(()=>{cu();vD();O0u=fi({name:"ORGANIZATION_SETTINGS_GET",description:"Get organization-level settings including sidebar configuration, store registry settings, simple model mode, and default home agents.",annotations:{title:"Get Organization Settings",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:nD.object({}),outputSchema:nD.object({organizationId:nD.string(),sidebar_items:nD.array(ua).nullable().optional(),enabled_plugins:nD.array(nD.string()).nullable().optional(),registry_config:ta.nullable().optional(),simple_mode:fa.nullable().optional(),default_home_agents:la.nullable().optional(),task_board_enabled:nD.boolean().optional(),createdAt:nD.string().datetime().optional().describe("ISO 8601 timestamp"),updatedAt:nD.string().datetime().optional().describe("ISO 8601 timestamp")}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");let f=await u.storage.organizationSettings.get(t);if(!f)return{organizationId:t};return{...f,createdAt:f.createdAt instanceof Date?f.createdAt.toISOString():f.createdAt,updatedAt:f.updatedAt instanceof Date?f.updatedAt.toISOString():f.updatedAt}}})});import{z as f$}from"zod";var N0u;var K90=g(()=>{cu();vD();N0u=fi({name:"ORGANIZATION_SETTINGS_UPDATE",description:"Update organization-level settings such as sidebar configuration, store registry settings, simple model mode, and default home agents.",annotations:{title:"Update Organization Settings",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:f$.object({organizationId:f$.string(),sidebar_items:f$.array(ua).optional(),enabled_plugins:f$.array(f$.string()).optional(),registry_config:ta.optional(),simple_mode:fa.optional(),default_home_agents:la.optional(),task_board_enabled:f$.boolean().optional()}),outputSchema:f$.object({organizationId:f$.string(),sidebar_items:f$.array(ua).nullable().optional(),enabled_plugins:f$.array(f$.string()).nullable().optional(),registry_config:ta.nullable().optional(),simple_mode:fa.nullable().optional(),default_home_agents:la.nullable().optional(),task_board_enabled:f$.boolean().optional(),createdAt:f$.string().datetime().describe("ISO 8601 timestamp"),updatedAt:f$.string().datetime().describe("ISO 8601 timestamp")}),handler:async(i,u)=>{if(Gi(u),await u.access.check(),u.organization&&u.organization.id!==i.organizationId)throw Error("Cannot update settings for a different organization");let t=await u.storage.organizationSettings.upsert(i.organizationId,{sidebar_items:i.sidebar_items,enabled_plugins:i.enabled_plugins,registry_config:i.registry_config,simple_mode:i.simple_mode,default_home_agents:i.default_home_agents,task_board_enabled:i.task_board_enabled});return{...t,createdAt:t.createdAt instanceof Date?t.createdAt.toISOString():t.createdAt,updatedAt:t.updatedAt instanceof Date?t.updatedAt.toISOString():t.updatedAt}}})});import{z as $_}from"zod";var J90,y0u,Z0u;var X90=g(()=>{cu();vD();J90=pg.extend({organizationId:$_.string(),archivedAt:$_.string().nullable().optional().describe("ISO 8601 timestamp"),createdAt:$_.string().describe("ISO 8601 timestamp"),updatedAt:$_.string().describe("ISO 8601 timestamp")}),y0u=fi({name:"BRAND_CONTEXT_LIST",description:"List all brand contexts (company profiles) for the current organization.",annotations:{title:"List Brand Contexts",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:$_.object({includeArchived:$_.boolean().optional().describe("Include archived brands in the list")}),outputSchema:$_.object({items:$_.array(J90)}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");return{items:(await u.storage.brandContext.list(t,{includeArchived:i.includeArchived})).map((l)=>({...l,archivedAt:l.archivedAt instanceof Date?l.archivedAt.toISOString():l.archivedAt,createdAt:l.createdAt instanceof Date?l.createdAt.toISOString():l.createdAt,updatedAt:l.updatedAt instanceof Date?l.updatedAt.toISOString():l.updatedAt}))}}}),Z0u=fi({name:"BRAND_CONTEXT_GET",description:"Get a specific brand context by ID.",annotations:{title:"Get Brand Context",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:$_.object({id:$_.string().describe("Brand context ID")}),outputSchema:J90.extend({organizationId:$_.string()}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");let f=await u.storage.brandContext.get(i.id,t);if(!f)throw Error("Brand context not found");return{...f,archivedAt:f.archivedAt instanceof Date?f.archivedAt.toISOString():f.archivedAt,createdAt:f.createdAt instanceof Date?f.createdAt.toISOString():f.createdAt,updatedAt:f.updatedAt instanceof Date?f.updatedAt.toISOString():f.updatedAt}}})});import{z as Gy}from"zod";var L90,T0u,B0u,F0u;var W90=g(()=>{cu();vD();L90=pg.extend({organizationId:Gy.string(),createdAt:Gy.string().describe("ISO 8601 timestamp"),updatedAt:Gy.string().describe("ISO 8601 timestamp")}),T0u=fi({name:"BRAND_CONTEXT_CREATE",description:"Create a new brand context (company profile) for the current organization.",annotations:{title:"Create Brand Context",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!1},inputSchema:pg.omit({id:!0}),outputSchema:L90,handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");let f=await u.storage.brandContext.create(t,{name:i.name,domain:i.domain,overview:i.overview,logo:i.logo??null,favicon:i.favicon??null,ogImage:i.ogImage??null,fonts:i.fonts??null,colors:i.colors??null,images:i.images??null,metadata:i.metadata??null});return{...f,archivedAt:f.archivedAt instanceof Date?f.archivedAt.toISOString():f.archivedAt,createdAt:f.createdAt instanceof Date?f.createdAt.toISOString():f.createdAt,updatedAt:f.updatedAt instanceof Date?f.updatedAt.toISOString():f.updatedAt}}}),B0u=fi({name:"BRAND_CONTEXT_UPDATE",description:"Update an existing brand context by ID.",annotations:{title:"Update Brand Context",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:pg.partial().required({id:!0}),outputSchema:L90,handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");if(!await u.storage.brandContext.get(i.id,t))throw Error("Brand context not found");let{id:l,...c}=i;if(c.isDefault===!0)await u.storage.brandContext.setDefault(l,t);let E=await u.storage.brandContext.update(l,t,{name:c.name,domain:c.domain,overview:c.overview,logo:c.logo!==void 0?c.logo??null:void 0,favicon:c.favicon!==void 0?c.favicon??null:void 0,ogImage:c.ogImage!==void 0?c.ogImage??null:void 0,fonts:c.fonts!==void 0?c.fonts??null:void 0,colors:c.colors!==void 0?c.colors??null:void 0,images:c.images!==void 0?c.images??null:void 0,metadata:c.metadata!==void 0?c.metadata??null:void 0,archivedAt:c.archivedAt!==void 0?c.archivedAt??null:void 0,isDefault:c.isDefault===!1?!1:void 0});return{...E,archivedAt:E.archivedAt instanceof Date?E.archivedAt.toISOString():E.archivedAt,createdAt:E.createdAt instanceof Date?E.createdAt.toISOString():E.createdAt,updatedAt:E.updatedAt instanceof Date?E.updatedAt.toISOString():E.updatedAt}}}),F0u=fi({name:"BRAND_CONTEXT_DELETE",description:"Archive a brand context by ID (soft delete).",annotations:{title:"Archive Brand Context",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:Gy.object({id:Gy.string().describe("Brand context ID")}),outputSchema:Gy.object({success:Gy.boolean()}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");if(!await u.storage.brandContext.get(i.id,t))throw Error("Brand context not found");return await u.storage.brandContext.update(i.id,t,{archivedAt:new Date().toISOString(),isDefault:!1}),{success:!0}}})});async function E3i(i,u,t){let f=i.trim();if(!f.startsWith("http"))f=`https://${f}`;let l=await fetch("https://api.firecrawl.dev/v1/scrape",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${u}`},body:JSON.stringify({url:f,formats:["branding"]})});if(!l.ok){let v=await l.text().catch(()=>"");throw Error(`Firecrawl API error: ${l.status} ${v.slice(0,200)}`)}let c=await l.json();if(!c.success||!c.data?.branding)return null;let E=c.data.branding,d=c.data.metadata??{},$=QIf(E,d);return{name:d.title?.split(/[|\u2013\u2014]|\s+-\s+/).map((v)=>v.trim()).filter(Boolean)?.slice().sort((v,n)=>v.length-n.length)[0]??d.ogSiteName??t??i,domain:i,overview:d.description??"",logo:$.logo,favicon:$.favicon,ogImage:$.ogImage,fonts:$.fonts,colors:$.colors,images:null,metadata:Object.keys($.metadata).length>0?$.metadata:null}}function QIf(i,u){let t=i.images??{},f=i.colors??{},l={};for(let[h,_]of Object.entries(f))if(typeof _==="string"&&_&&YIf.has(h))l[h]=_;let c={},d=(i.typography??{}).fontFamilies??{};for(let[h,_]of Object.entries(d))if(typeof _==="string"&&_){let v=zIf[h.toLowerCase()];if(v&&!c[v])c[v]=_}let $=i.fonts;if(Array.isArray($))for(let h of $){let _=h.family;if(typeof _==="string"&&_&&!c.body)c.body=_}let w={};for(let h of["typography","components","spacing","layout","animations","icons","tone","personality","colorScheme"])if(i[h]!==void 0)w[h]=i[h];return{logo:t.logo??null,favicon:t.favicon??null,ogImage:t.ogImage??u.ogImage??null,fonts:Object.keys(c).length>0?c:null,colors:Object.keys(l).length>0?l:null,metadata:w}}var YIf,zIf;var U0u=g(()=>{YIf=new Set(["primary","secondary","accent","background","foreground"]),zIf={heading:"heading",headings:"heading",head:"heading",title:"heading",body:"body",primary:"body",text:"body",code:"code",monospace:"code",mono:"code"}});import{z as d3i}from"zod";var HIf,I0u;var Y90=g(()=>{cu();U0u();vD();HIf=pg.pick({id:!0,name:!0,domain:!0,overview:!0,logo:!0,favicon:!0,ogImage:!0,fonts:!0,colors:!0}).extend({success:d3i.boolean()}),I0u=fi({name:"BRAND_CONTEXT_EXTRACT",description:"Extract brand context (colors, fonts, logos) from a website URL using Firecrawl.",annotations:{title:"Extract Brand Context",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!0},inputSchema:d3i.object({domain:d3i.string().describe("Website domain to extract brand from"),brandId:d3i.string().optional().describe("Existing brand context ID to update (creates new if omitted)")}),outputSchema:HIf,modelSummary:(i)=>i.success?`Brand saved (id=${i.id}, name=${i.name}, domain=${i.domain}). The UI rendered the logo, colors, fonts, and overview.`:"Brand extraction failed.",handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");let f=u.firecrawlApiKey;if(!f)throw Error("FIRECRAWL_API_KEY is not configured. Set the environment variable to enable brand extraction.");let l=await E3i(i.domain,f,i.domain);if(!l)throw Error("Firecrawl did not return branding data for this URL");let c={name:l.name,domain:l.domain,overview:l.overview,logo:l.logo,favicon:l.favicon,ogImage:l.ogImage,fonts:l.fonts,colors:l.colors,images:l.images,metadata:l.metadata},E=i.brandId?await(async()=>{if(!await u.storage.brandContext.get(i.brandId,t))throw Error("Brand context not found");return u.storage.brandContext.update(i.brandId,t,c)})():await u.storage.brandContext.create(t,c);return{id:E.id,name:E.name,domain:E.domain,overview:E.overview,logo:E.logo,favicon:E.favicon,ogImage:E.ogImage,fonts:E.fonts,colors:E.colors,success:!0}}})});function z90(i){let u=i.metadata??{};return{id:i.id,name:i.name,domain:i.domain||void 0,colors:i.colors??void 0,fonts:i.fonts??void 0,assets:i.logo||i.favicon||i.ogImage?{logo:i.logo??void 0,favicon:i.favicon??void 0,ogImage:i.ogImage??void 0}:void 0,overview:i.overview||void 0,tagline:typeof u.tagline==="string"?u.tagline:void 0,tone:typeof u.tone==="string"?u.tone:void 0,metadata:(()=>{let t=Object.fromEntries(Object.entries(u).filter(([f])=>f!=="tagline"&&f!=="tone"));return Object.keys(t).length>0?t:void 0})()}}var P0u,A0u;var Q90=g(()=>{Quu();cu();P0u=fi({name:"BRAND_GET",description:"Get a brand context by ID. Omit the ID to get the default brand for the organization.",annotations:{title:"Get Brand",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:owi,outputSchema:oe,handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");let f=i.id?await u.storage.brandContext.get(i.id,t):await u.storage.brandContext.getDefault(t);if(!f)throw Error(i.id?"Brand not found":"No default brand configured");return z90(f)}}),A0u=fi({name:"BRAND_LIST",description:"List all active brands for the current organization.",annotations:{title:"List Brands",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:swi,outputSchema:pwi,handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");return{items:(await u.storage.brandContext.list(t)).map(z90)}}})});import{resolveTxt as bIf}from"dns/promises";function x0u(i){return`${RIf}.${i.toLowerCase()}`}function H90(){return`deco-verify-${crypto.randomUUID().replace(/-/g,"")}`}async function b90(i,u,t=bIf){if(!u)return!1;try{return(await t(x0u(i))).some((l)=>l.join("").trim()===u)}catch{return!1}}var RIf="_deco-verify";var R90=()=>{};import{z as Xl}from"zod";function i7(i){let u=i.verificationStatus==="pending"&&Boolean(i.verificationToken);return{id:i.id,domain:i.domain,joinMode:i.joinMode,verificationStatus:i.verificationStatus,verificationMethod:i.verificationMethod,verifiedAt:i.verifiedAt?new Date(i.verifiedAt).toISOString():null,recordName:u?x0u(i.domain):null,recordValue:u?i.verificationToken:null}}function MIf(i){let u=i.toLowerCase().trim();if(!CIf.test(u))throw Error(`Invalid domain format: "${u}". Must be a valid domain like "acme.com"`);if(w_.has(u))throw Error(`Cannot claim generic email domain "${u}". Only corporate domains are allowed.`);return u}var CIf,k0u,$3i,G0u,S0u,j0u,K0u,J0u;var C90=g(()=>{DD();R90();cu();CIf=/^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+$/,k0u=Xl.enum(["off","auto","request"]),$3i=Xl.object({id:Xl.string(),domain:Xl.string(),joinMode:k0u,verificationStatus:Xl.enum(["pending","verified"]),verificationMethod:Xl.enum(["email","dns"]).nullable(),verifiedAt:Xl.string().nullable(),recordName:Xl.string().nullable(),recordValue:Xl.string().nullable()});G0u=fi({name:"ORGANIZATION_DOMAIN_LIST",description:"List the email domains claimed by an organization.",annotations:{title:"List Organization Domains",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:Xl.object({}),outputSchema:Xl.object({domains:Xl.array($3i)}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=yi(u);return{domains:(await u.storage.organizationDomains.listByOrganizationId(t.id)).map(i7)}}}),S0u=fi({name:"ORGANIZATION_DOMAIN_ADD",description:"Claim an email domain for an organization. If the caller's verified email matches the domain it is trusted immediately; otherwise it requires DNS verification.",annotations:{title:"Add Organization Domain",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:Xl.object({domain:Xl.string().min(1).max(255).describe("Domain to claim, e.g. acme.com"),joinMode:k0u.optional().describe("Initial join mode (only applied when the domain is trusted immediately via email match).")}),outputSchema:$3i,handler:async(i,u)=>{Gi(u),await u.access.check();let t=yi(u),f=MIf(i.domain),c=u.auth.user?.email?.split("@")[1]?.toLowerCase(),E=Boolean(u.auth.user?.emailVerified)&&c===f,d=await u.storage.organizationDomains.getByOrgAndDomain(t.id,f);if(d){if(d.verificationStatus!=="verified"&&E){let w=await u.storage.organizationDomains.markVerified(d.id,"email");return i7(w)}return i7(d)}let $=E?await u.storage.organizationDomains.add(t.id,f,{joinMode:i.joinMode??"off",verificationStatus:"verified",verificationMethod:"email"}):await u.storage.organizationDomains.add(t.id,f,{joinMode:"off",verificationStatus:"pending",verificationToken:H90()});return i7($)}}),j0u=fi({name:"ORGANIZATION_DOMAIN_UPDATE",description:"Set the join mode for a claimed domain. Discoverable modes (auto/request) require the domain to be verified.",annotations:{title:"Update Organization Domain",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:Xl.object({id:Xl.string(),joinMode:k0u}),outputSchema:$3i,handler:async(i,u)=>{Gi(u),await u.access.check();let t=yi(u),f=await u.storage.organizationDomains.getById(i.id);if(!f||f.organizationId!==t.id)throw Error("Domain not found");if(i.joinMode!=="off"&&f.verificationStatus!=="verified")throw Error("Verify the domain before enabling auto-join or requests.");let l=await u.storage.organizationDomains.updateJoinMode(i.id,i.joinMode);return i7(l)}}),K0u=fi({name:"ORGANIZATION_DOMAIN_VERIFY",description:"Check the DNS TXT record for a pending domain and mark it verified if present.",annotations:{title:"Verify Organization Domain",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!0},inputSchema:Xl.object({id:Xl.string()}),outputSchema:Xl.object({verified:Xl.boolean(),domain:$3i}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=yi(u),f=await u.storage.organizationDomains.getById(i.id);if(!f||f.organizationId!==t.id)throw Error("Domain not found");if(f.verificationStatus==="verified")return{verified:!0,domain:i7(f)};if(!f.verificationToken)throw Error("Domain has no pending DNS verification.");if(!await b90(f.domain,f.verificationToken))return{verified:!1,domain:i7(f)};let c=await u.storage.organizationDomains.markVerified(i.id,"dns");return{verified:!0,domain:i7(c)}}}),J0u=fi({name:"ORGANIZATION_DOMAIN_REMOVE",description:"Remove a claimed domain from an organization.",annotations:{title:"Remove Organization Domain",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:Xl.object({id:Xl.string()}),outputSchema:Xl.object({success:Xl.boolean()}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=yi(u),f=await u.storage.organizationDomains.getById(i.id);if(!f||f.organizationId!==t.id)throw Error("Domain not found");return await u.storage.organizationDomains.removeById(i.id),{success:!0}}})});import{z as K1}from"zod";var qIf,X0u,L0u,W0u;var M90=g(()=>{cu();o4();qIf=K1.object({id:K1.string(),userId:K1.string(),status:K1.enum(["pending","approved","denied"]),createdAt:K1.string(),user:K1.object({id:K1.string(),name:K1.string(),email:K1.string(),image:K1.string().nullable()}).nullable()}),X0u=fi({name:"ORGANIZATION_JOIN_REQUEST_LIST",description:"List pending requests to join the organization.",annotations:{title:"List Join Requests",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:K1.object({}),outputSchema:K1.object({requests:K1.array(qIf)}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=yi(u);return{requests:(await u.storage.organizationJoinRequests.listPendingWithUser(t.id)).map((l)=>({id:l.id,userId:l.userId,status:l.status,createdAt:new Date(l.createdAt).toISOString(),user:l.user}))}}}),L0u=fi({name:"ORGANIZATION_JOIN_REQUEST_APPROVE",description:"Approve a pending join request, adding the user as a member.",annotations:{title:"Approve Join Request",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:K1.object({requestId:K1.string()}),outputSchema:K1.object({success:K1.boolean()}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=yi(u),f=await u.storage.organizationJoinRequests.getById(i.requestId);if(!f||f.organizationId!==t.id)throw Error("Join request not found");if(f.status!=="pending")throw Error("Join request has already been decided");let l=Hu(u);if(!await u.storage.organizationJoinRequests.decide(f.id,"approved",l??f.userId))return{success:!0};try{await u.boundAuth.organization.addMember({organizationId:t.id,userId:f.userId,role:["user"]})}catch(E){if(!(E instanceof Error?E.message.toLowerCase():"").includes("already a member"))throw E}if(l)su.capture({distinctId:l,event:"organization_join_request_approved",groups:{organization:t.id},properties:{organization_id:t.id,user_id:f.userId}});return{success:!0}}}),W0u=fi({name:"ORGANIZATION_JOIN_REQUEST_DENY",description:"Deny a pending join request.",annotations:{title:"Deny Join Request",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:K1.object({requestId:K1.string()}),outputSchema:K1.object({success:K1.boolean()}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=yi(u),f=await u.storage.organizationJoinRequests.getById(i.requestId);if(!f||f.organizationId!==t.id)throw Error("Join request not found");if(f.status!=="pending")throw Error("Join request has already been decided");let l=Hu(u);if(await u.storage.organizationJoinRequests.decide(f.id,"denied",l??f.userId)&&l)su.capture({distinctId:l,event:"organization_join_request_denied",groups:{organization:t.id},properties:{organization_id:t.id,user_id:f.userId}});return{success:!0}}})});import{z as l$}from"zod";var Y0u;var q90=g(()=>{o4();cu();Gv();Y0u=fi({name:"ORGANIZATION_MEMBER_ADD",description:"Invite a member to the organization by email with an assigned role.",annotations:{title:"Add Organization Member",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:l$.object({organizationId:l$.string().optional(),userId:l$.string(),role:l$.array(l$.string())}),outputSchema:l$.object({id:l$.string(),organizationId:l$.string(),userId:l$.string(),role:l$.union([l$.string(),l$.array(l$.string())]),createdAt:l$.string().datetime().describe("ISO 8601 timestamp")}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=i.organizationId||u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");if(t!==u.organization?.id)throw Error("Organization ID does not match authenticated organization");let f=Array.isArray(i.role)?i.role[0]:i.role;if(f&&!t$i(u.auth.user?.role,f))throw Error(`Insufficient privileges to assign role "${f}"`);let l=await u.boundAuth.organization.addMember({organizationId:t,userId:i.userId,role:i.role});if(!l)throw Error("Failed to add member");let c=Hu(u);if(c)su.capture({distinctId:c,event:"organization_member_added",groups:{organization:t},properties:{organization_id:t,added_user_id:i.userId,role:i.role}});return{...l,role:l.role,createdAt:l.createdAt instanceof Date?l.createdAt.toISOString():l.createdAt}}})});import{z as sz}from"zod";var z0u;var V90=g(()=>{o4();cu();z0u=fi({name:"ORGANIZATION_MEMBER_REMOVE",description:"Remove a member from the organization. Revokes all their access immediately.",annotations:{title:"Remove Organization Member",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:sz.object({organizationId:sz.string().optional(),memberIdOrEmail:sz.string()}),outputSchema:sz.object({success:sz.boolean(),memberIdOrEmail:sz.string()}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=i.organizationId||u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");await u.boundAuth.organization.removeMember({organizationId:t,memberIdOrEmail:i.memberIdOrEmail});let f=Hu(u);if(f)su.capture({distinctId:f,event:"organization_member_removed",groups:{organization:t},properties:{organization_id:t,member_id_or_email:i.memberIdOrEmail}});return{success:!0,memberIdOrEmail:i.memberIdOrEmail}}})});import{z as yE}from"zod";var Q0u;var r90=g(()=>{cu();Q0u=fi({name:"ORGANIZATION_MEMBER_LIST",description:"List all members in the organization with their roles.",annotations:{title:"List Organization Members",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:yE.object({limit:yE.number().optional(),offset:yE.number().optional()}),outputSchema:yE.object({members:yE.array(yE.object({id:yE.string(),organizationId:yE.string(),userId:yE.string(),role:yE.string(),createdAt:yE.string().datetime().describe("ISO 8601 timestamp"),user:yE.object({id:yE.string(),name:yE.string(),email:yE.string(),image:yE.string().optional()}).optional()}))}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");let f=await u.boundAuth.organization.listMembers({organizationId:t,limit:i.limit,offset:i.offset});return{members:(Array.isArray(f)?f:[]).map((c)=>({...c,createdAt:c.createdAt instanceof Date?c.createdAt.toISOString():c.createdAt}))}}})});import{z as ac}from"zod";var H0u;var m90=g(()=>{o4();cu();Gv();H0u=fi({name:"ORGANIZATION_MEMBER_UPDATE_ROLE",description:"Change a member's role (e.g., admin, member) within the organization.",annotations:{title:"Update Member Role",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:ac.object({organizationId:ac.string().optional(),memberId:ac.string(),role:ac.array(ac.string())}),outputSchema:ac.object({id:ac.string(),organizationId:ac.string(),userId:ac.string(),role:ac.union([ac.literal("admin"),ac.literal("member"),ac.literal("owner")]),createdAt:ac.string().datetime().describe("ISO 8601 timestamp"),user:ac.object({email:ac.string(),name:ac.string(),image:ac.string().optional()})}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=i.organizationId||u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");let f=Array.isArray(i.role)?i.role[0]:i.role;if(f&&!t$i(u.auth.user?.role,f))throw Error(`Insufficient privileges to assign role "${f}"`);let l=await u.boundAuth.organization.updateMemberRole({organizationId:t,memberId:i.memberId,role:i.role});if(!l)throw Error("Failed to update member role");u.invalidateMemberRole?.(l.userId,t);let c=Hu(u);if(c)su.capture({distinctId:c,event:"organization_member_role_updated",groups:{organization:t},properties:{organization_id:t,member_id:i.memberId,target_user_id:l.userId,new_role:Array.isArray(i.role)?i.role.join(","):i.role}});return{...l,createdAt:l.createdAt instanceof Date?l.createdAt.toISOString():l.createdAt}}})});var e90=g(()=>{P90();A90();x90();k90();G90();j90();K90();X90();W90();Y90();Q90();C90();M90();q90();V90();r90();m90()});import{z as hw}from"zod";var ca,Ea,pz;var w3i=g(()=>{ca=hw.enum(["triage","todo","in_progress","in_review","done"]),Ea=hw.enum(["low","medium","high","urgent"]),pz=hw.object({id:hw.string(),organizationId:hw.string(),title:hw.string(),description:hw.string().nullable(),status:ca,priority:Ea,assigneeId:hw.string().nullable(),dueDate:hw.string().datetime().nullable(),createdBy:hw.string(),createdAt:hw.string().datetime(),updatedBy:hw.string(),updatedAt:hw.string().datetime()})});async function h3i(i,u,t){let{members:f}=await i.boundAuth.organization.listMembers({organizationId:u});if(!f.some((l)=>l.userId===t))throw Error("assigneeId is not a member of the organization")}async function u7(i,u){if(!(await i.storage.organizationSettings.get(u))?.task_board_enabled)throw Error("Task board is not enabled for this organization")}import{z as iQ}from"zod";var b0u;var a90=g(()=>{cu();w3i();b0u=fi({name:"TASK_BOARD_ITEM_CREATE",description:"Create a new task board item for the organization.",annotations:{title:"Create Task Board Item",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!1},inputSchema:iQ.object({title:iQ.string().min(1),description:iQ.string().nullable().optional(),status:ca.optional(),priority:Ea.optional(),assigneeId:iQ.string().nullable().optional(),dueDate:iQ.string().datetime().nullable().optional()}),outputSchema:iQ.object({item:pz}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");if(await u7(u,t),i.assigneeId)await h3i(u,t,i.assigneeId);return{item:await u.storage.taskBoard.create({organizationId:t,title:i.title,description:i.description??null,status:i.status,priority:i.priority,assigneeId:i.assigneeId??null,dueDate:i.dueDate??null,by:Hu(u)})}}})});import{z as R0u}from"zod";var C0u;var o90=g(()=>{cu();w3i();C0u=fi({name:"TASK_BOARD_ITEM_LIST",description:"List all task board items for the organization.",annotations:{title:"List Task Board Items",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:R0u.object({}),outputSchema:R0u.object({items:R0u.array(pz)}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");return await u7(u,t),{items:await u.storage.taskBoard.list(t)}}})});import{z as Sy}from"zod";var M0u;var s90=g(()=>{cu();w3i();M0u=fi({name:"TASK_BOARD_ITEM_UPDATE",description:"Update a task board item's fields (title, description, status, priority, assignee).",annotations:{title:"Update Task Board Item",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:Sy.object({id:Sy.string(),title:Sy.string().min(1).optional(),description:Sy.string().nullable().optional(),status:ca.optional(),priority:Ea.optional(),assigneeId:Sy.string().nullable().optional(),dueDate:Sy.string().datetime().nullable().optional()}),outputSchema:Sy.object({item:pz}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");if(await u7(u,t),i.assigneeId)await h3i(u,t,i.assigneeId);return{item:await u.storage.taskBoard.update(i.id,t,{title:i.title,description:i.description,status:i.status,priority:i.priority,assigneeId:i.assigneeId,dueDate:i.dueDate},Hu(u))}}})});import{z as _3i}from"zod";var q0u;var p90=g(()=>{cu();q0u=fi({name:"TASK_BOARD_ITEM_DELETE",description:"Delete a task board item.",annotations:{title:"Delete Task Board Item",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:_3i.object({id:_3i.string()}),outputSchema:_3i.object({success:_3i.boolean()}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");return await u7(u,t),await u.storage.taskBoard.delete(i.id,t),{success:!0}}})});var iO0=g(()=>{a90();o90();s90();p90()});import{z as t7}from"zod";var V0u;var uO0=g(()=>{cu();V0u=fi({name:"TAGS_LIST",description:"List all tags available in the organization.",annotations:{title:"List Tags",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:t7.object({}),outputSchema:t7.object({tags:t7.array(t7.object({id:t7.string(),organizationId:t7.string(),name:t7.string(),createdAt:t7.string().describe("ISO 8601 timestamp")}))}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=yi(u);return{tags:(await u.storage.tags.listOrgTags(t.id)).map((l)=>({...l,createdAt:l.createdAt instanceof Date?l.createdAt.toISOString():String(l.createdAt)}))}}})});import{z as f7}from"zod";var r0u;var tO0=g(()=>{cu();r0u=fi({name:"TAGS_CREATE",description:"Create a new tag that can be assigned to organization members.",annotations:{title:"Create Tag",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:f7.object({name:f7.string().min(1).max(50).describe("Tag name")}),outputSchema:f7.object({tag:f7.object({id:f7.string(),organizationId:f7.string(),name:f7.string(),createdAt:f7.string().describe("ISO 8601 timestamp")})}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=yi(u),f=await u.storage.tags.createTag(t.id,i.name);return{tag:{...f,createdAt:f.createdAt instanceof Date?f.createdAt.toISOString():String(f.createdAt)}}}})});import{z as v3i}from"zod";var m0u;var fO0=g(()=>{cu();m0u=fi({name:"TAGS_DELETE",description:"Delete a tag and automatically remove it from all assigned members.",annotations:{title:"Delete Tag",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:v3i.object({tagId:v3i.string().describe("Tag ID to delete")}),outputSchema:v3i.object({success:v3i.boolean()}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=yi(u),f=await u.storage.tags.getTag(i.tagId);if(!f)throw Error("Tag not found");if(f.organizationId!==t.id)throw Error("Tag does not belong to this organization");return await u.storage.tags.deleteTag(i.tagId),{success:!0}}})});import{z as gD}from"zod";var e0u;var lO0=g(()=>{cu();e0u=fi({name:"MEMBER_TAGS_GET",description:"Get all tags currently assigned to a specific member.",annotations:{title:"Get Member Tags",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:gD.object({memberId:gD.string().describe("Member ID")}),outputSchema:gD.object({tags:gD.array(gD.object({id:gD.string(),organizationId:gD.string(),name:gD.string(),createdAt:gD.string().describe("ISO 8601 timestamp")}))}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=yi(u);if(!await u.storage.tags.verifyMemberOrg(i.memberId,t.id))throw Error(`Member not found in this organization: ${i.memberId}`);return{tags:(await u.storage.tags.getMemberTags(i.memberId)).map((c)=>({...c,createdAt:c.createdAt instanceof Date?c.createdAt.toISOString():String(c.createdAt)}))}}})});import{z as I3}from"zod";var a0u;var cO0=g(()=>{cu();a0u=fi({name:"MEMBER_TAGS_SET",description:"Replace all tags on a member with the given set. Pass empty array to clear.",annotations:{title:"Set Member Tags",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:I3.object({memberId:I3.string().describe("Member ID"),tagIds:I3.array(I3.string()).describe("Array of tag IDs to assign")}),outputSchema:I3.object({success:I3.boolean(),tags:I3.array(I3.object({id:I3.string(),organizationId:I3.string(),name:I3.string(),createdAt:I3.string().describe("ISO 8601 timestamp")}))}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=yi(u);if(!await u.storage.tags.verifyMemberOrg(i.memberId,t.id))throw Error(`Member not found in this organization: ${i.memberId}`);for(let c of i.tagIds){let E=await u.storage.tags.getTag(c);if(!E)throw Error(`Tag not found: ${c}`);if(E.organizationId!==t.id)throw Error(`Tag does not belong to this organization: ${c}`)}return await u.storage.tags.setMemberTags(i.memberId,i.tagIds),{success:!0,tags:(await u.storage.tags.getMemberTags(i.memberId)).map((c)=>({...c,createdAt:c.createdAt instanceof Date?c.createdAt.toISOString():String(c.createdAt)}))}}})});var EO0=g(()=>{uO0();tO0();fO0();lO0();cO0()});function ev(i,u=Date.now()){let t=i.status;if(t==="in_progress"){let f=new Date(i.updated_at).getTime();if(!Number.isFinite(f)||u-f>1800000)t="expired"}return{id:i.id,organization_id:i.organization_id,title:i.title,description:i.description,created_at:i.created_at,updated_at:i.updated_at,created_by:i.created_by,updated_by:i.updated_by,hidden:i.hidden??!1,status:t,virtual_mcp_id:i.virtual_mcp_id||void 0,trigger_id:i.trigger_id,branch:i.branch,sandbox_provider_kind:i.sandbox_provider_kind,harness_id:i.harness_id,metadata:i.metadata&&Object.keys(i.metadata).length>0?i.metadata:void 0,run_config:i.run_config}}var dO0=g(()=>{ff()});import{z as j0}from"zod";var $O0,eIf,wO0,av,hO0,_O0;var jy=g(()=>{dO0();$O0=j0.object({id:j0.string().describe("Unique message ID"),thread_id:j0.string().describe("ID of the parent thread"),metadata:j0.unknown().optional().describe("Optional message metadata"),parts:j0.array(j0.record(j0.string(),j0.unknown())).describe("Message content parts (AI SDK UIMessagePart format)"),role:j0.enum(["user","assistant","system"]).describe("Message role"),created_at:j0.string().datetime().describe("Timestamp of creation"),updated_at:j0.string().datetime().describe("Timestamp of last update")}),eIf=j0.object({toolName:j0.string().describe("Fully qualified tool name"),appId:j0.string().describe("App ID that owns the tool"),args:j0.record(j0.string(),j0.unknown()).describe("Arguments used when expanding the tool"),expandedAt:j0.string().datetime().describe("When the tool was expanded")}),wO0=j0.object({expanded_tools:j0.array(eIf).optional()}).catchall(j0.unknown()),av=j0.object({id:j0.string().describe("Unique thread ID"),organization_id:j0.string().describe("Organization this thread belongs to"),title:j0.string().describe("Thread title"),description:j0.string().nullable().describe("Thread description"),created_at:j0.string().datetime().describe("Timestamp of creation"),updated_at:j0.string().datetime().describe("Timestamp of last update"),hidden:j0.boolean().optional().describe("Whether the thread is hidden"),status:j0.enum([...yW,"expired"]).describe("Thread execution status. 'expired' is virtual -- computed at read time for stale in_progress threads"),created_by:j0.string().describe("User ID who created the thread"),updated_by:j0.string().optional().describe("User ID who last updated the thread"),virtual_mcp_id:j0.string().optional().describe("Virtual MCP (agent) this thread was initiated with"),trigger_id:j0.string().nullable().optional().describe("Automation trigger that created this thread; null/absent for human-initiated threads."),branch:j0.string().nullable().optional().describe("Git branch this thread is pinned to (GitHub-linked vms only)"),sandbox_provider_kind:j0.string().nullable().optional().describe("Pinned on first message; identifies which sandbox provider to dispatch to (e.g. 'agent-sandbox', 'user-desktop')."),harness_id:j0.string().nullable().optional().describe("Pinned on first message; selects which harness runs the thread (e.g. 'claude-code', 'codex', 'decopilot')."),metadata:wO0.optional().describe("Free-form per-thread UI state (e.g. expanded_tools)"),run_config:j0.record(j0.string(),j0.unknown()).nullable().optional().describe("Persisted run configuration (contains agent and model info)")}),hO0=j0.object({id:j0.string().optional().describe("Optional custom ID for the thread"),title:j0.string().optional().describe("Thread title"),description:j0.string().nullish().describe("Thread description"),virtual_mcp_id:j0.string().describe("Virtual MCP (agent) this thread is bound to"),branch:j0.string().min(1).optional().describe("Preferred branch. Used only when the vMCP has a githubRepo; ignored otherwise. When omitted, the server picks the most-recently-touched branch from the user's sandboxMap, falling back to a freshly generated name.")}),_O0=j0.object({title:j0.string().optional().describe("New thread title"),description:j0.string().nullish().describe("New thread description"),hidden:j0.boolean().optional().describe("Whether the thread is hidden"),status:j0.enum(["requires_action","failed","in_progress","completed"]).optional().describe("New thread status (user-set override). 'expired' is a computed virtual status and cannot be set directly."),metadata:wO0.optional().describe("Full replacement of the thread's metadata object"),branch:j0.string().nullish().describe("New git branch for this thread"),virtual_mcp_id:j0.string().optional().describe("Re-point the thread at a different agent. Only meaningful for an unsent thread (changing the recipient of a new chat); the UI restricts it accordingly.")})});function aIf(i){return(i??"").normalize("NFKD").replace(/[\u0300-\u036F]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"user"}function n3i(i){let u=aIf(i),t=Date.now().toString(36).split("").reverse().join("");return`${u}-${t}`}import{z as vO0}from"zod";function pIf(i,u){let t=i?.[u];if(!t)return;return Object.entries(t).sort(([,l],[,c])=>{let E=Math.max(0,...Object.values(l).map(($)=>$.createdAt??0));return Math.max(0,...Object.values(c).map(($)=>$.createdAt??0))-E})[0]?.[0]}var oIf,sIf,o0u;var nO0=g(()=>{o4();cu();jy();id();oIf=vO0.object({data:hO0.describe("Data for the new thread (id is auto-generated if not provided)")}),sIf=vO0.object({item:av.describe("The created thread entity")});o0u=fi({name:"COLLECTION_THREADS_CREATE",description:"Create a new thread for organizing messages and conversations.",annotations:{title:"Create Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:oIf,outputSchema:sIf,handler:async(i,u)=>{Gi(u);let t=yi(u);await u.access.check();let f=Hu(u);if(!f)throw Error("User ID required to create thread");let{data:l}=i,c=l.id??Gf("thrd"),E=await u.storage.virtualMcps.findById(l.virtual_mcp_id,t.id);if(!E)throw Error(`Virtual MCP not found: ${l.virtual_mcp_id}`);let d=E.metadata,$=d?.githubRepo,w=null;if($)w=l.branch??pIf(d?.sandboxMap,f)??n3i(u.auth.user?.name??u.auth.user?.email?.split("@")[0]);let h=await u.storage.threads.create({id:c,organization_id:t.id,title:l.title,description:l.description,virtual_mcp_id:l.virtual_mcp_id,branch:w,created_by:f});return su.capture({distinctId:f,event:"chat_started",groups:{organization:t.id},properties:{organization_id:t.id,thread_id:c,has_title:!!i.data.title,created_via:"tool"}}),{item:ev(h)}}})});import{z as _w}from"zod";var iPf,uPf,s0u;var DO0=g(()=>{$w();cu();jy();iPf=c_.extend({where:_w.object({created_by:_w.string().optional(),trigger_ids:_w.array(_w.string()).optional(),virtual_mcp_id:_w.string().optional(),hidden:_w.boolean().optional(),has_trigger:_w.boolean().optional()}).optional(),startDate:_w.string().datetime().optional().describe("Filter threads updated at or after this ISO timestamp"),endDate:_w.string().datetime().optional().describe("Filter threads updated at or before this ISO timestamp"),search:_w.string().optional().describe("Full-text search on thread title (case-insensitive)"),status:_w.string().optional().describe("Filter by thread status (e.g. completed, failed, in_progress)"),userId:_w.string().optional().describe("Filter by the user who created the thread"),agentId:_w.string().optional().describe("Filter by agent (connection or virtual MCP) ID")}),uPf=wD(av),s0u=fi({name:"COLLECTION_THREADS_LIST",description:"List threads with filtering, sorting, and pagination.",annotations:{title:"List Threads",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:iPf,outputSchema:uPf,handler:async(i,u)=>{await u.access.check();let t=u.auth.user?.id;if(!t)throw Error("User ID required to list threads");yi(u);let f=i.offset??0,l=i.limit??100,c=i.where?.trigger_ids,E=i.where?.virtual_mcp_id,d=i.userId??(i.where?.created_by==="me"?t:i.where?.created_by),{threads:$,total:w}=c?.length?await u.storage.threads.listByTriggerIds(c,{limit:l,offset:f}):await u.storage.threads.list(d,{limit:l,offset:f,virtualMcpId:E,startDate:i.startDate,endDate:i.endDate,search:i.search,status:i.status,agentId:i.agentId,includeArchived:i.where?.hidden,hasTrigger:i.where?.has_trigger}),h=f+l<w,_=Date.now();return{items:$.map((v)=>ev(v,_)),totalCount:w,hasMore:h}}})});var tPf,p0u;var gO0=g(()=>{$w();cu();jy();tPf=me(av),p0u=fi({name:"COLLECTION_THREADS_GET",description:"Get a thread's details and metadata by ID.",annotations:{title:"Get Thread",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:re,outputSchema:tPf,handler:async(i,u)=>{Gi(u),yi(u),await u.access.check();let t=await u.storage.threads.get(i.id);if(!t)return{item:null};return{item:ev(t)}}})});import{z as itu}from"zod";var fPf,lPf,utu;var OO0=g(()=>{o4();cu();jy();fPf=itu.object({id:itu.string().describe("ID of the thread to update"),data:_O0.describe("Partial thread data to update")}),lPf=itu.object({item:av.describe("The updated thread entity")}),utu=fi({name:"COLLECTION_THREADS_UPDATE",description:"Update a thread's title, description, or visibility.",annotations:{title:"Update Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:fPf,outputSchema:lPf,handler:async(i,u)=>{Gi(u);let t=yi(u);await u.access.check();let f=Hu(u);if(!f)throw Error("User ID required to update thread");let{id:l,data:c}=i,E=await u.storage.threads.get(l);if(!E)throw Error("Thread not found in organization");if(c.branch===null&&E.virtual_mcp_id){if((await u.storage.virtualMcps.findById(E.virtual_mcp_id,yi(u).id))?.metadata?.githubRepo)throw Error("Cannot set branch=null on a github-linked thread (vMCP has githubRepo)")}let d={title:c.title,description:c.description,hidden:c.hidden,updated_by:f};if(c.status)d.status=c.status;if(c.metadata!==void 0)d.metadata=c.metadata;if(c.branch!==void 0)d.branch=c.branch;if(c.virtual_mcp_id!==void 0)d.virtual_mcp_id=c.virtual_mcp_id;let $=await u.storage.threads.update(l,d);if(c.hidden!==void 0&&c.hidden!==E.hidden)su.capture({distinctId:f,event:c.hidden?"chat_archived":"chat_unarchived",groups:{organization:t.id},properties:{organization_id:t.id,thread_id:l}});return{item:ev($)}}})});var ttu;var NO0=g(()=>{$w();o4();cu();jy();ttu=fi({name:"COLLECTION_THREADS_DELETE",description:"Permanently delete a thread and all its messages.",annotations:{title:"Delete Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:ee,outputSchema:ae(av),handler:async(i,u)=>{Gi(u);let t=yi(u);await u.access.check();let f=await u.storage.threads.get(i.id);if(!f)throw Error(`Thread not found: ${i.id}`);await u.storage.threads.delete(i.id);let l=Hu(u);if(l)su.capture({distinctId:l,event:"chat_deleted",groups:{organization:t.id},properties:{organization_id:t.id,thread_id:i.id}});return{item:ev(f)}}})});import{z as cPf}from"zod";function yO0(i){if(!i)return null;if("field"in i&&i.field[0]==="thread_id"&&i.operator==="eq")return String(i.value);if("conditions"in i&&(i.operator==="and"||i.operator==="or"))for(let u of i.conditions){let t=yO0(u);if(t)return t}return null}var EPf,dPf,ftu;var ZO0=g(()=>{$w();cu();jy();EPf=c_.extend({thread_id:cPf.string().optional().describe("ID of the thread to list messages for (required)")}),dPf=wD($O0),ftu=fi({name:"COLLECTION_THREAD_MESSAGES_LIST",description:"List messages in a thread with pagination. Requires thread_id. Returns messages in chronological order.",annotations:{title:"List Thread Messages",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:EPf,outputSchema:dPf,handler:async(i,u)=>{yi(u),await u.access.check();let t=i.thread_id??yO0(i.where);if(!t)throw Error("thread_id is required (provide as top-level param or in where clause)");let f=i.offset??0,l=i.limit??100,c=i.orderBy?.[0]?.direction??"asc",E=await u.storage.threads.get(t);if(!E)return{items:[],totalCount:0,hasMore:!1};if(E.message_storage_version===2){let{messages:h,total:_}=await u.storage.threads.messageParts().loadWindow(t,{limit:l,offset:f});return{items:h.map((v)=>({id:v.id,thread_id:t,role:v.role,parts:v.parts,metadata:v.metadata??null,created_at:v.created_at,updated_at:v.created_at})),totalCount:_,hasMore:f+l<_}}let{messages:d,total:$}=await u.storage.threads.listMessages(t,{limit:l,offset:f,sort:c}),w=f+l<$;return{items:d,totalCount:$,hasMore:w}}})});function TO0(i){return i!==null}function D3i(i,u){if(i===null)return!0;return i===u}function g3i(i){return i.sandboxProviderKind==="agent-sandbox"&&i.harnessId==="decopilot"}function BO0(i){return i.harnessId==="decopilot"&&(i.sandboxProviderKind==null||i.sandboxProviderKind==="agent-sandbox")}function wPf(i){return{type:"data-run-status",id:"run-status",data:{stage:i}}}function FO0(i){if(!i||typeof i!=="object")return!1;return i.type==="data-run-status"}async function OD(i,u,t){if(!i)return;try{await i.publishRawChunk(u,wPf(t))}catch{}}var $Pf,da,jal;var $a=g(()=>{$Pf=["waiting-runner","starting-run","gathering-context","preparing-tools","starting-assistant","analyzing-scope"],da=["gathering-context","preparing-tools","starting-assistant","analyzing-scope"],jal=new Set($Pf)});function O3i(){return crypto.randomUUID()}var ctu=K((Xal,PO0)=>{var{defineProperty:ltu,getOwnPropertyDescriptor:hPf,getOwnPropertyNames:_Pf}=Object,vPf=Object.prototype.hasOwnProperty,nPf=(i,u)=>{for(var t in u)ltu(i,t,{get:u[t],enumerable:!0})},DPf=(i,u,t,f)=>{if(u&&typeof u==="object"||typeof u==="function"){for(let l of _Pf(u))if(!vPf.call(i,l)&&l!==t)ltu(i,l,{get:()=>u[l],enumerable:!(f=hPf(u,l))||f.enumerable})}return i},gPf=(i)=>DPf(ltu({},"__esModule",{value:!0}),i),UO0={};nPf(UO0,{SYMBOL_FOR_REQ_CONTEXT:()=>IO0,getContext:()=>OPf});PO0.exports=gPf(UO0);var IO0=Symbol.for("@vercel/request-context");function OPf(){return globalThis[IO0]?.get?.()??{}}});var wa=K((Lal,kO0)=>{var{defineProperty:Etu,getOwnPropertyDescriptor:NPf,getOwnPropertyNames:yPf}=Object,ZPf=Object.prototype.hasOwnProperty,TPf=(i,u)=>{for(var t in u)Etu(i,t,{get:u[t],enumerable:!0})},BPf=(i,u,t,f)=>{if(u&&typeof u==="object"||typeof u==="function"){for(let l of yPf(u))if(!ZPf.call(i,l)&&l!==t)Etu(i,l,{get:()=>u[l],enumerable:!(f=NPf(u,l))||f.enumerable})}return i},FPf=(i)=>BPf(Etu({},"__esModule",{value:!0}),i),AO0={};TPf(AO0,{VercelOidcTokenError:()=>xO0});kO0.exports=FPf(AO0);class xO0 extends Error{constructor(i,u){super(i);this.name="VercelOidcTokenError",this.cause=u}toString(){if(this.cause)return`${this.name}: ${this.message}: ${this.cause}`;return`${this.name}: ${this.message}`}}});var KO0=K((Wal,jO0)=>{var{create:UPf,defineProperty:N3i,getOwnPropertyDescriptor:IPf,getOwnPropertyNames:PPf,getPrototypeOf:APf}=Object,xPf=Object.prototype.hasOwnProperty,kPf=(i,u)=>{for(var t in u)N3i(i,t,{get:u[t],enumerable:!0})},GO0=(i,u,t,f)=>{if(u&&typeof u==="object"||typeof u==="function"){for(let l of PPf(u))if(!xPf.call(i,l)&&l!==t)N3i(i,l,{get:()=>u[l],enumerable:!(f=IPf(u,l))||f.enumerable})}return i},$tu=(i,u,t)=>(t=i!=null?UPf(APf(i)):{},GO0(u||!i||!i.__esModule?N3i(t,"default",{value:i,enumerable:!0}):t,i)),GPf=(i)=>GO0(N3i({},"__esModule",{value:!0}),i),SO0={};kPf(SO0,{findRootDir:()=>KPf,getUserDataDir:()=>JPf});jO0.exports=GPf(SO0);var ha=$tu(Ni("path")),SPf=$tu(Ni("fs")),dtu=$tu(Ni("os")),jPf=wa();function KPf(){try{let i=process.cwd();while(i!==ha.default.dirname(i)){let u=ha.default.join(i,".vercel");if(SPf.default.existsSync(u))return i;i=ha.default.dirname(i)}}catch(i){throw new jPf.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}function JPf(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(dtu.default.platform()){case"darwin":return ha.default.join(dtu.default.homedir(),"Library/Application Support");case"linux":return ha.default.join(dtu.default.homedir(),".local/share");case"win32":if(process.env.LOCALAPPDATA)return process.env.LOCALAPPDATA;return null;default:return null}}});var QO0=K((Yal,zO0)=>{var{create:XPf,defineProperty:y3i,getOwnPropertyDescriptor:LPf,getOwnPropertyNames:WPf,getPrototypeOf:YPf}=Object,zPf=Object.prototype.hasOwnProperty,QPf=(i,u)=>{for(var t in u)y3i(i,t,{get:u[t],enumerable:!0})},JO0=(i,u,t,f)=>{if(u&&typeof u==="object"||typeof u==="function"){for(let l of WPf(u))if(!zPf.call(i,l)&&l!==t)y3i(i,l,{get:()=>u[l],enumerable:!(f=LPf(u,l))||f.enumerable})}return i},XO0=(i,u,t)=>(t=i!=null?XPf(YPf(i)):{},JO0(u||!i||!i.__esModule?y3i(t,"default",{value:i,enumerable:!0}):t,i)),HPf=(i)=>JO0(y3i({},"__esModule",{value:!0}),i),LO0={};QPf(LO0,{isValidAccessToken:()=>MPf,readAuthConfig:()=>RPf,writeAuthConfig:()=>CPf});zO0.exports=HPf(LO0);var _a=XO0(Ni("fs")),WO0=XO0(Ni("path")),bPf=va();function YO0(){let i=(0,bPf.getVercelDataDir)();if(!i)throw Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return WO0.join(i,"auth.json")}function RPf(){try{let i=YO0();if(!_a.existsSync(i))return null;let u=_a.readFileSync(i,"utf8");if(!u)return null;return JSON.parse(u)}catch(i){return null}}function CPf(i){let u=YO0(),t=WO0.dirname(u);if(!_a.existsSync(t))_a.mkdirSync(t,{mode:504,recursive:!0});_a.writeFileSync(u,JSON.stringify(i,null,2),{mode:384})}function MPf(i,u=0){if(!i.token)return!1;if(typeof i.expiresAt!=="number")return!0;let t=Math.floor(Date.now()/1000),f=u/1000;return i.expiresAt>=t+f}});var CO0=K((zal,RO0)=>{var{defineProperty:_tu,getOwnPropertyDescriptor:qPf,getOwnPropertyNames:VPf}=Object,rPf=Object.prototype.hasOwnProperty,mPf=(i,u)=>{for(var t in u)_tu(i,t,{get:u[t],enumerable:!0})},ePf=(i,u,t,f)=>{if(u&&typeof u==="object"||typeof u==="function"){for(let l of VPf(u))if(!rPf.call(i,l)&&l!==t)_tu(i,l,{get:()=>u[l],enumerable:!(f=qPf(u,l))||f.enumerable})}return i},aPf=(i)=>ePf(_tu({},"__esModule",{value:!0}),i),HO0={};mPf(HO0,{processTokenResponse:()=>uAf,refreshTokenRequest:()=>iAf});RO0.exports=aPf(HO0);var wtu=Ni("os"),oPf="https://vercel.com",sPf="cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",bO0=`@vercel/oidc node-${process.version} ${(0,wtu.platform)()} (${(0,wtu.arch)()}) ${(0,wtu.hostname)()}`,htu=null;async function pPf(){if(htu)return htu;let i=`${oPf}/.well-known/openid-configuration`,u=await fetch(i,{headers:{"user-agent":bO0}});if(!u.ok)throw Error("Failed to discover OAuth endpoints");let t=await u.json();if(!t||typeof t.token_endpoint!=="string")throw Error("Invalid OAuth discovery response");let f=t.token_endpoint;return htu=f,f}async function iAf(i){let u=await pPf();return await fetch(u,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":bO0},body:new URLSearchParams({client_id:sPf,grant_type:"refresh_token",...i})})}async function uAf(i){let u=await i.json();if(!i.ok){let t=typeof u==="object"&&u&&"error"in u?String(u.error):"Token refresh failed";return[Error(t)]}if(typeof u!=="object"||u===null)return[Error("Invalid token response")];if(typeof u.access_token!=="string")return[Error("Missing access_token in response")];if(u.token_type!=="Bearer")return[Error("Invalid token_type in response")];if(typeof u.expires_in!=="number")return[Error("Missing expires_in in response")];return[null,u]}});var ntu=K((Qal,rO0)=>{var{defineProperty:vtu,getOwnPropertyDescriptor:tAf,getOwnPropertyNames:fAf}=Object,lAf=Object.prototype.hasOwnProperty,cAf=(i,u)=>{for(var t in u)vtu(i,t,{get:u[t],enumerable:!0})},EAf=(i,u,t,f)=>{if(u&&typeof u==="object"||typeof u==="function"){for(let l of fAf(u))if(!lAf.call(i,l)&&l!==t)vtu(i,l,{get:()=>u[l],enumerable:!(f=tAf(u,l))||f.enumerable})}return i},dAf=(i)=>EAf(vtu({},"__esModule",{value:!0}),i),MO0={};cAf(MO0,{AccessTokenMissingError:()=>qO0,RefreshAccessTokenFailedError:()=>VO0});rO0.exports=dAf(MO0);class qO0 extends Error{constructor(){super("No authentication found. Please log in with the Vercel CLI (vercel login).");this.name="AccessTokenMissingError"}}class VO0 extends Error{constructor(i){super("Failed to refresh authentication token.",{cause:i});this.name="RefreshAccessTokenFailedError"}}});var va=K((Hal,sO0)=>{var{create:$Af,defineProperty:Z3i,getOwnPropertyDescriptor:wAf,getOwnPropertyNames:hAf,getPrototypeOf:_Af}=Object,vAf=Object.prototype.hasOwnProperty,nAf=(i,u)=>{for(var t in u)Z3i(i,t,{get:u[t],enumerable:!0})},eO0=(i,u,t,f)=>{if(u&&typeof u==="object"||typeof u==="function"){for(let l of hAf(u))if(!vAf.call(i,l)&&l!==t)Z3i(i,l,{get:()=>u[l],enumerable:!(f=wAf(u,l))||f.enumerable})}return i},aO0=(i,u,t)=>(t=i!=null?$Af(_Af(i)):{},eO0(u||!i||!i.__esModule?Z3i(t,"default",{value:i,enumerable:!0}):t,i)),DAf=(i)=>eO0(Z3i({},"__esModule",{value:!0}),i),oO0={};nAf(oO0,{assertVercelOidcTokenResponse:()=>Dtu,findProjectInfo:()=>yAf,getTokenPayload:()=>BAf,getVercelDataDir:()=>gAf,getVercelOidcToken:()=>NAf,getVercelToken:()=>OAf,isExpired:()=>FAf,loadToken:()=>TAf,saveToken:()=>ZAf});sO0.exports=DAf(oO0);var na=aO0(Ni("path")),Ky=aO0(Ni("fs")),fQ=wa(),T3i=KO0(),uQ=QO0(),mO0=CO0(),tQ=ntu();function gAf(){let u=(0,T3i.getUserDataDir)();if(!u)return null;return na.join(u,"com.vercel.cli")}async function OAf(i){let u=(0,uQ.readAuthConfig)();if(!u?.token)throw new tQ.AccessTokenMissingError;if((0,uQ.isValidAccessToken)(u,i?.expirationBufferMs))return u.token;if(!u.refreshToken)throw(0,uQ.writeAuthConfig)({}),new tQ.RefreshAccessTokenFailedError("No refresh token available");try{let t=await(0,mO0.refreshTokenRequest)({refresh_token:u.refreshToken}),[f,l]=await(0,mO0.processTokenResponse)(t);if(f||!l)throw(0,uQ.writeAuthConfig)({}),new tQ.RefreshAccessTokenFailedError(f);let c={token:l.access_token,expiresAt:Math.floor(Date.now()/1000)+l.expires_in};if(l.refresh_token)c.refreshToken=l.refresh_token;return(0,uQ.writeAuthConfig)(c),c.token}catch(t){if((0,uQ.writeAuthConfig)({}),t instanceof tQ.AccessTokenMissingError||t instanceof tQ.RefreshAccessTokenFailedError)throw t;throw new tQ.RefreshAccessTokenFailedError(t)}}async function NAf(i,u,t){let f=`https://api.vercel.com/v1/projects/${u}/token?source=vercel-oidc-refresh${t?`&teamId=${t}`:""}`,l=await fetch(f,{method:"POST",headers:{Authorization:`Bearer ${i}`}});if(!l.ok)throw new fQ.VercelOidcTokenError(`Failed to refresh OIDC token: ${l.statusText}`);let c=await l.json();return Dtu(c),c}function Dtu(i){if(!i||typeof i!=="object")throw TypeError("Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again");if(!("token"in i)||typeof i.token!=="string")throw TypeError("Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again")}function yAf(){let i=(0,T3i.findRootDir)();if(!i)throw new fQ.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let u=na.join(i,".vercel","project.json");if(!Ky.existsSync(u))throw new fQ.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let t=JSON.parse(Ky.readFileSync(u,"utf8"));if(typeof t.projectId!=="string"&&typeof t.orgId!=="string")throw TypeError("Expected a string-valued projectId property. Try running `vc link` to re-link your project.");return{projectId:t.projectId,teamId:t.orgId}}function ZAf(i,u){let t=(0,T3i.getUserDataDir)();if(!t)throw new fQ.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let f=na.join(t,"com.vercel.token",`${u}.json`),l=JSON.stringify(i);Ky.mkdirSync(na.dirname(f),{mode:504,recursive:!0}),Ky.writeFileSync(f,l),Ky.chmodSync(f,432);return}function TAf(i){let u=(0,T3i.getUserDataDir)();if(!u)throw new fQ.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let t=na.join(u,"com.vercel.token",`${i}.json`);if(!Ky.existsSync(t))return null;let f=JSON.parse(Ky.readFileSync(t,"utf8"));return Dtu(f),f}function BAf(i){let u=i.split(".");if(u.length!==3)throw new fQ.VercelOidcTokenError("Invalid token. Please run `vc env pull` and try again");let t=u[1].replace(/-/g,"+").replace(/_/g,"/"),f=t.padEnd(t.length+(4-t.length%4)%4,"=");return JSON.parse(Buffer.from(f,"base64").toString("utf8"))}function FAf(i,u=0){return i.exp*1000<Date.now()+u}});var tN0=K((bal,uN0)=>{var{defineProperty:gtu,getOwnPropertyDescriptor:UAf,getOwnPropertyNames:IAf}=Object,PAf=Object.prototype.hasOwnProperty,AAf=(i,u)=>{for(var t in u)gtu(i,t,{get:u[t],enumerable:!0})},xAf=(i,u,t,f)=>{if(u&&typeof u==="object"||typeof u==="function"){for(let l of IAf(u))if(!PAf.call(i,l)&&l!==t)gtu(i,l,{get:()=>u[l],enumerable:!(f=UAf(u,l))||f.enumerable})}return i},kAf=(i)=>xAf(gtu({},"__esModule",{value:!0}),i),iN0={};AAf(iN0,{refreshToken:()=>GAf});uN0.exports=kAf(iN0);var pO0=wa(),l7=va();async function GAf(i){let u=i?.project,t=i?.team;if(!u&&!t){let l=(0,l7.findProjectInfo)();u=l.projectId,t=l.teamId}else if(!u||!t){let l=(0,l7.findProjectInfo)();u=u??l.projectId,t=t??l.teamId}if(!u)throw new pO0.VercelOidcTokenError("Failed to refresh OIDC token: No project specified. Try re-linking your project with `vc link`");let f=(0,l7.loadToken)(u);if(!f||(0,l7.isExpired)((0,l7.getTokenPayload)(f.token),i?.expirationBufferMs)){let l=await(0,l7.getVercelToken)({expirationBufferMs:i?.expirationBufferMs});if(f=await(0,l7.getVercelOidcToken)(l,u,t),!f)throw new pO0.VercelOidcTokenError("Failed to refresh OIDC token");(0,l7.saveToken)(f,u)}process.env.VERCEL_OIDC_TOKEN=f.token;return}});var cN0=K((Ral,lN0)=>{var{defineProperty:Ntu,getOwnPropertyDescriptor:SAf,getOwnPropertyNames:jAf}=Object,KAf=Object.prototype.hasOwnProperty,JAf=(i,u)=>{for(var t in u)Ntu(i,t,{get:u[t],enumerable:!0})},XAf=(i,u,t,f)=>{if(u&&typeof u==="object"||typeof u==="function"){for(let l of jAf(u))if(!KAf.call(i,l)&&l!==t)Ntu(i,l,{get:()=>u[l],enumerable:!(f=SAf(u,l))||f.enumerable})}return i},LAf=(i)=>XAf(Ntu({},"__esModule",{value:!0}),i),fN0={};JAf(fN0,{getVercelOidcToken:()=>zAf,getVercelOidcTokenSync:()=>Otu});lN0.exports=LAf(fN0);var WAf=ctu(),YAf=wa();async function zAf(i){let u="",t;try{u=Otu()}catch(f){t=f}try{let[{getTokenPayload:f,isExpired:l},{refreshToken:c}]=await Promise.all([await Promise.resolve().then(() => G(va())),await Promise.resolve().then(() => G(tN0()))]);if(!u||l(f(u),i?.expirationBufferMs))await c(i),u=Otu()}catch(f){let l=t instanceof Error?t.message:"";if(f instanceof Error)l=`${l}
|
|
86400
|
+
`.execute(i)).rows[0]?.exists)await Cf`CREATE ROLE ${Cf.id(t)} NOLOGIN`.execute(i);await Cf`GRANT ${Cf.id(t)} TO CURRENT_USER`.execute(i),await Cf`GRANT USAGE, CREATE ON SCHEMA ${Cf.id(u)} TO ${Cf.id(t)}`.execute(i),await Cf`GRANT ALL ON ALL TABLES IN SCHEMA ${Cf.id(u)} TO ${Cf.id(t)}`.execute(i),await Cf`GRANT ALL ON ALL SEQUENCES IN SCHEMA ${Cf.id(u)} TO ${Cf.id(t)}`.execute(i),await Cf`ALTER DEFAULT PRIVILEGES IN SCHEMA ${Cf.id(u)} GRANT ALL ON TABLES TO ${Cf.id(t)}`.execute(i),await Cf`ALTER DEFAULT PRIVILEGES IN SCHEMA ${Cf.id(u)} GRANT ALL ON SEQUENCES TO ${Cf.id(t)}`.execute(i),await Cf`REVOKE ALL ON SCHEMA public FROM ${Cf.id(t)}`.execute(i)}async function nIf(i,u,t,f){try{return await i.transaction().execute(async(l)=>{return await Cf`SET LOCAL ROLE ${Cf.id(t)}`.execute(l),await Cf`SET LOCAL search_path TO ${Cf.id(u)}`.execute(l),await Cf.raw(f).execute(l)})}catch(l){if(_If(l))return await vIf(i,u,t),await i.transaction().execute(async(c)=>{return await Cf`SET LOCAL ROLE ${Cf.id(t)}`.execute(c),await Cf`SET LOCAL search_path TO ${Cf.id(u)}`.execute(c),await Cf.raw(f).execute(c)});throw l}}var EIf,$If,c90;var E90=g(()=>{cu();EIf=mv.object({results:mv.array(mv.unknown()).optional(),success:mv.boolean().optional()});$If=mv.object({sql:mv.string().describe("The SQL query to run"),params:mv.array(mv.any()).describe("The parameters to pass to the SQL query").optional()});c90=fi({name:"DATABASES_RUN_SQL",description:"Run a SQL query in a connection-scoped isolated schema. Supports SELECT, DDL, and DML.",annotations:{title:"Run SQL Query",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:$If,outputSchema:mv.object({result:mv.array(EIf)}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=dIf(i.sql,i.params||[]);if(!u.connectionId)throw Error("Connection context required for database access");console.warn("DATABASES_RUN_SQL invoked",{"tool.deprecation_probe":"DATABASES_RUN_SQL","connection.id":u.connectionId,"organization.id":u.organization?.id??null,"user.id":u.auth.user?.id??null});let f=wIf(u.connectionId),l=hIf(u.connectionId);return{result:[{results:(await nIf(u.db,f,l,t)).rows,success:!0}]}}})});function f3i(i){let u=i.access.getRole();if(!u||!h3.includes(u))throw new en("Only organization owners and admins can change org-wide pin status")}var ruu=g(()=>{Gv();MN()});import{z as w90}from"zod";function gIf(){let i=d90[Math.floor(Math.random()*d90.length)];return`icon://${$90[Math.floor(Math.random()*$90.length)]}?color=${i}`}var d90,$90,OIf,NIf,muu;var h90=g(()=>{cu();e2();ruu();Re();d90=["red","orange","amber","yellow","lime","green","emerald","cyan","sky","blue","indigo","violet","purple","fuchsia","pink","rose"],$90=["Star01","Zap","Heart","Globe01","Compass03","Lightbulb02","Rocket01","Flag01","BookOpen01","Shield01","Key01","Diamond01","Cube01","Target04","Award01","Briefcase01","Coffee","Feather","Hexagon01","Layers3_01","Map01","Palette","Package","Terminal"];OIf=w90.object({data:Hq.describe("Data for the new virtual MCP")}),NIf=w90.object({item:Z6.describe("The created virtual MCP entity")}),muu=fi({name:"COLLECTION_VIRTUAL_MCP_CREATE",description:"Create a Virtual MCP (agent) that aggregates tools from multiple connections into one endpoint. Pass `prompts` to seed the agent with kickstart prompts (conversation starters shown as icebreakers). Author them from the agent's role/instructions and the descriptions of the tools it will have, so the starters are coherent and immediately useful.",annotations:{title:"Create Virtual MCP",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:OIf,outputSchema:NIf,handler:async(i,u)=>{Gi(u);let t=yi(u);await u.access.check();let f=Hu(u);if(!f)throw Error("User ID required to create virtual MCP");if(i.data.pinned===!0)f3i(u);let{prompts:l,...c}=i.data,E={...c,icon:c.icon??gIf()},d=await u.storage.virtualMcps.create(t.id,f,E);if(l?.length&&u.orgFs&&d.id)await Jwi(u.orgFs,d.id,f,l);return{item:d}}})});function yIf(i){let u=[],t=0;while(t<i.length){let f=i[t];if(f==="%")u.push(".*");else if(f==="_")u.push(".");else if(/[.*+?^${}()|[\]\\]/.test(f))u.push("\\"+f);else u.push(f);t++}return u.join("")}function sg(i){return typeof i==="string"||typeof i==="number"}function euu(i,u){let t=u.split("."),f=i;for(let l of t){if(f==null||typeof f!=="object")return;f=f[l]}return f}function ZIf(i,u){return i.connections.some((t)=>t.connection_id===u)}function l3i(i,u){if("conditions"in u){let{operator:d,conditions:$}=u;switch(d){case"and":return $.every((w)=>l3i(i,w));case"or":return $.some((w)=>l3i(i,w));case"not":return!$.every((w)=>l3i(i,w));default:return!0}}let{field:t,operator:f,value:l}=u,c=t.join(".");if(c==="connection_id"){if(f!=="eq"||typeof l!=="string")return!1;return ZIf(i,l)}let E=euu(i,c);switch(f){case"eq":return E===l;case"gt":return sg(E)&&sg(l)&&E>l;case"gte":return sg(E)&&sg(l)&&E>=l;case"lt":return sg(E)&&sg(l)&&E<l;case"lte":return sg(E)&&sg(l)&&E<=l;case"in":return Array.isArray(l)&&l.includes(E);case"like":if(typeof E!=="string"||typeof l!=="string")return!1;if(l.length>100)return!1;let d=yIf(l);return new RegExp(`^${d}$`,"i").test(E);case"contains":if(typeof E!=="string"||typeof l!=="string")return!1;return E.toLowerCase().includes(l.toLowerCase());default:return!0}}function TIf(i,u){return[...i].sort((t,f)=>{for(let l of u){let c=l.field.join("."),E=euu(t,c),d=euu(f,c),$=0;if(E==null&&d==null)continue;if(E==null)$=l.nulls==="first"?-1:1;else if(d==null)$=l.nulls==="first"?1:-1;else if(typeof E==="string"&&typeof d==="string")$=E.localeCompare(d);else if(typeof E==="number"&&typeof d==="number")$=E-d;else $=String(E).localeCompare(String(d));if($!==0)return l.direction==="desc"?-$:$}return 0})}var BIf,FIf,auu;var _90=g(()=>{$w();cu();e2();BIf=c_,FIf=wD(Z6),auu=fi({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:BIf,outputSchema:FIf,handler:async(i,u)=>{await u.access.check();let t=yi(u),f=i.where&&!("conditions"in i.where)&&i.where.field.join(".")==="connection_id"&&i.where.operator==="eq"&&typeof i.where.value==="string"?i.where.value:void 0,l=i.where&&!("conditions"in i.where)&&i.where.field.join(".")==="pinned"&&i.where.operator==="eq"&&typeof i.where.value==="boolean"?i.where.value:void 0,E=f?await u.storage.virtualMcps.listByConnectionId(t.id,f):await u.storage.virtualMcps.list(t.id,l!==void 0?{pinnedOnly:l}:void 0);if(i.where)E=E.filter((v)=>l3i(v,i.where));if(i.orderBy&&i.orderBy.length>0)E=TIf(E,i.orderBy);let d=E.length,$=i.offset??0,w=i.limit??100,h=E.slice($,$+w),_=$+w<d;return{items:h,totalCount:d,hasMore:_}}})});import{z as ouu}from"zod";var UIf,IIf,suu;var v90=g(()=>{cu();e2();UIf=ouu.object({id:ouu.string().describe("ID of the virtual MCP to retrieve")}),IIf=ouu.object({item:Z6.nullable().describe("The retrieved virtual MCP, or null if not found")}),suu=fi({name:"COLLECTION_VIRTUAL_MCP_GET",description:"Get a Virtual MCP's configuration, connections, and virtual tools by ID.",annotations:{title:"Get Virtual MCP",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:UIf,outputSchema:IIf,handler:async(i,u)=>{Gi(u);let t=yi(u);await u.access.check();let f=await u.storage.virtualMcps.findById(i.id);if(f&&f.organization_id!==t.id)return{item:null};if(!f)return{item:null};return{item:f}}})});import{z as puu}from"zod";var PIf,AIf,i0u;var n90=g(()=>{cu();Re();e2();ruu();PIf=puu.object({id:puu.string().describe("ID of the virtual MCP to update"),data:bq.describe("Partial virtual MCP data to update")}),AIf=puu.object({item:Z6.describe("The updated virtual MCP entity")}),i0u=fi({name:"COLLECTION_VIRTUAL_MCP_UPDATE",description:"Update a Virtual MCP's name, slug, connection list, or kickstart prompts. Pass `prompts` to replace the agent's conversation starters (full set; empty array clears them).",annotations:{title:"Update Virtual MCP",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:PIf,outputSchema:AIf,handler:async(i,u)=>{Gi(u);let t=yi(u);await u.access.check();let f=Hu(u);if(!f)throw Error("User ID required to update virtual MCP");let l=await u.storage.virtualMcps.findById(i.id);if(!l)throw Error(`Virtual MCP not found: ${i.id}`);if(l.organization_id!==t.id)throw Error(`Virtual MCP not found: ${i.id}`);let{prompts:c,...E}=i.data;if(E.metadata&&l.metadata)E.metadata={...l.metadata,...E.metadata};if(E.pinned!==void 0&&E.pinned!==l.pinned)f3i(u);let d=await u.storage.virtualMcps.update(i.id,f,E);if(c!==void 0&&u.orgFs)await Jwi(u.orgFs,i.id,f,c);return{item:d}}})});import{z as u0u}from"zod";var xIf,kIf,t0u;var D90=g(()=>{Ty();l_();cu();Re();e2();xIf=u0u.object({id:u0u.string().describe("ID of the virtual MCP to delete")}),kIf=u0u.object({item:Z6.describe("The deleted virtual MCP entity")}),t0u=fi({name:"COLLECTION_VIRTUAL_MCP_DELETE",description:"Permanently delete a Virtual MCP and its virtual tools.",annotations:{title:"Delete Virtual MCP",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:xIf,outputSchema:kIf,handler:async(i,u)=>{Gi(u);let t=yi(u);await u.access.check();let f=await u.storage.virtualMcps.findById(i.id);if(!f)throw Error(`Virtual MCP not found: ${i.id}`);if(f.organization_id!==t.id)throw Error(`Virtual MCP not found: ${i.id}`);if(await u.storage.virtualMcps.delete(i.id),u.orgFs)await xuu(u.orgFs,i.id,Hu(u)??"system");let l=f.metadata?.githubRepo?.connectionId;if(l)try{let c=await u.storage.connections.findById(l,t.id);if(c&&Mv(c)){let d=await new Vl(u.db,u.vault).get(l);if(d?.accessToken)try{await fetch("https://api.github.com/installation/token",{method:"DELETE",headers:{Authorization:`Bearer ${d.accessToken}`,Accept:"application/vnd.github+json","X-GitHub-Api-Version":"2022-11-28"},signal:AbortSignal.timeout(5000)})}catch{}await u.storage.connections.delete(l)}}catch(c){console.error("[VIRTUAL_MCP_DELETE] failed to tear down repo-scoped connection",{childConnectionId:l,error:c.message})}return{item:f}}})});import{z as t$}from"zod";var GIf,f0u;var g90=g(()=>{cu();GIf=t$.object({id:t$.string(),virtualMcpId:t$.string(),pluginId:t$.string(),connectionId:t$.string().nullable(),settings:t$.record(t$.string(),t$.unknown()).nullable(),createdAt:t$.string(),updatedAt:t$.string()}),f0u=fi({name:"VIRTUAL_MCP_PLUGIN_CONFIG_GET",description:"Get a plugin's current configuration for a specific virtual MCP.",annotations:{title:"Get Virtual MCP Plugin Config",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:t$.object({virtualMcpId:t$.string().describe("Virtual MCP ID"),pluginId:t$.string().describe("Plugin ID")}),outputSchema:t$.object({config:GIf.nullable()}),handler:async(i,u)=>{Gi(u),await u.access.check();let{virtualMcpId:t,pluginId:f}=i,l=await u.storage.virtualMcpPluginConfigs.get(t,f);if(!l)return{config:null};return{config:{id:l.id,virtualMcpId:l.virtualMcpId,pluginId:l.pluginId,connectionId:l.connectionId,settings:l.settings,createdAt:l.createdAt instanceof Date?l.createdAt.toISOString():l.createdAt,updatedAt:l.updatedAt instanceof Date?l.updatedAt.toISOString():l.updatedAt}}}})});import{z as ec}from"zod";var SIf,l0u;var O90=g(()=>{cu();AW();bE();SIf=ec.object({id:ec.string(),virtualMcpId:ec.string(),pluginId:ec.string(),connectionId:ec.string().nullable(),settings:ec.record(ec.string(),ec.unknown()).nullable(),createdAt:ec.string(),updatedAt:ec.string()}),l0u=fi({name:"VIRTUAL_MCP_PLUGIN_CONFIG_UPDATE",description:"Set or update a plugin's configuration for a specific virtual MCP.",annotations:{title:"Update Virtual MCP Plugin Config",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:ec.object({virtualMcpId:ec.string().describe("Virtual MCP ID"),pluginId:ec.string().describe("Plugin ID"),connectionId:ec.string().nullable().optional().describe("MCP connection to bind"),settings:ec.record(ec.string(),ec.unknown()).nullable().optional().describe("Plugin-specific settings")}),outputSchema:ec.object({config:SIf}),handler:async(i,u)=>{Gi(u),await u.access.check();let{virtualMcpId:t,pluginId:f,connectionId:l,settings:c}=i,E=Hu(u),d=await u.storage.connections.findById(t);if(!d)throw Error(`Connection not found: ${t}`);let $=l?await u.storage.connections.findById(l):null;if(l&&d.organization_id&&!$&&Xh()){if(T6i(l,d.organization_id)){if(!E)throw Error("User ID required to create dev-assets connection");let h=PW(d.organization_id,H1());await u.storage.connections.create({...h,organization_id:d.organization_id,created_by:E})}}let w=await u.storage.virtualMcpPluginConfigs.upsert(t,f,{connectionId:l,settings:c});return{config:{id:w.id,virtualMcpId:w.virtualMcpId,pluginId:w.pluginId,connectionId:w.connectionId,settings:w.settings,createdAt:w.createdAt instanceof Date?w.createdAt.toISOString():w.createdAt,updatedAt:w.updatedAt instanceof Date?w.updatedAt.toISOString():w.updatedAt}}}})});import{z as Ed}from"zod";var jIf,c0u;var N90=g(()=>{cu();e2();jIf=Ed.object({connectionId:Ed.string(),toolName:Ed.string(),label:Ed.string(),icon:Ed.string().nullable().optional()}),c0u=fi({name:"VIRTUAL_MCP_PINNED_VIEWS_UPDATE",description:"Update the pinned sidebar views for a virtual MCP. Replaces all current pins.",annotations:{title:"Update Pinned Views",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:Ed.object({virtualMcpId:Ed.string().describe("Virtual MCP ID"),pinnedViews:Ed.array(jIf).describe("Pinned views to set for the virtual MCP sidebar"),layout:Ed.object({defaultMainView:Ed.object({type:Ed.string(),id:Ed.string().optional(),toolName:Ed.string().optional()}).nullable().optional(),chatDefaultOpen:Ed.boolean().nullable().optional()}).optional()}),outputSchema:Ed.object({item:Z6.nullable()}),handler:async(i,u)=>{Gi(u);let t=yi(u);await u.access.check();let{virtualMcpId:f,pinnedViews:l,layout:c}=i,E=Hu(u),d=await u.storage.virtualMcps.findById(f);if(!d)throw Error(`Virtual MCP not found: ${f}`);if(d.organization_id!==t.id)throw Error(`Virtual MCP not found: ${f}`);let $=d.metadata?.ui??{},w={...$,pinnedViews:l.length>0?l:null,layout:c??$.layout??null};return{item:await u.storage.virtualMcps.update(f,E??"system",{metadata:{...d.metadata,ui:w}})}}})});import{z as _D}from"zod";var KIf,JIf,E0u;var y90=g(()=>{cu();KIf=_D.object({ids:_D.array(_D.string()).describe("Virtual MCP ids to look up")}),JIf=_D.object({items:_D.array(_D.object({id:_D.string(),last_used_at:_D.string().optional(),last_used_by:_D.string().optional()}))}),E0u=fi({name:"VIRTUAL_MCP_LAST_USED_LIST",description:"Get last-used info (timestamp + user) for one or more virtual MCPs, derived from the most recent thread per agent.",annotations:{title:"List Virtual MCP Last Used",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:KIf,outputSchema:JIf,handler:async(i,u)=>{Gi(u),yi(u),await u.access.check();let t=await u.storage.threads.findLastUsedByVirtualMcpIds(i.ids);return{items:i.ids.map((f)=>({id:f,last_used_at:t.get(f)?.last_used_at,last_used_by:t.get(f)?.last_used_by}))}}})});var Z90=g(()=>{h90();_90();v90();n90();D90();g90();O90();N90();y90()});import{z as Fl}from"zod";var d0u;var T90=g(()=>{Hl();cu();d0u=fi({name:"MONITORING_LOG_GET",description:"Get a single monitoring log by ID with full input and output data.",annotations:{title:"Get Monitoring Log",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:Fl.object({id:Fl.string().describe("Log ID to fetch")}),outputSchema:Fl.object({log:Fl.object({id:Fl.string().optional(),organizationId:Fl.string(),connectionId:Fl.string(),toolName:Fl.string(),input:Fl.record(Fl.string(),Fl.unknown()),output:Fl.record(Fl.string(),Fl.unknown()),isError:Fl.boolean(),errorMessage:Fl.string().nullish(),durationMs:Fl.number(),timestamp:Fl.string(),userId:Fl.string().nullish(),requestId:Fl.string(),userAgent:Fl.string().nullish(),virtualMcpId:Fl.string().nullish(),properties:Fl.record(Fl.string(),Fl.string()).nullish()}).nullable().describe("The monitoring log, or null if not found")}),handler:async(i,u)=>{await u.access.check(),await qw();let t=yi(u),f=await u.storage.monitoring.getById(t.id,i.id);if(!f)return{log:null};return{log:{...f,timestamp:f.timestamp instanceof Date?f.timestamp.toISOString():f.timestamp}}}})});import{z as yt}from"zod";var LIf,$0u;var B90=g(()=>{Hl();cu();LIf=yt.object({id:yt.string().optional().describe("Unique log identifier"),organizationId:yt.string().describe("Organization ID"),connectionId:yt.string().describe("Connection ID"),toolName:yt.string().describe("Name of the tool that was called"),isError:yt.boolean().describe("Whether the call resulted in an error"),errorMessage:yt.string().nullish().describe("Error message if applicable"),durationMs:yt.number().describe("Call duration in milliseconds"),timestamp:yt.string().describe("ISO 8601 timestamp of the call"),userId:yt.string().nullish().describe("User who triggered the call"),requestId:yt.string().describe("Unique request identifier"),userAgent:yt.string().nullish().describe("Client identifier (x-mesh-client header)"),virtualMcpId:yt.string().nullish().describe("Virtual MCP (Agent) ID if routed through an agent"),properties:yt.record(yt.string(),yt.string()).nullish().describe("Custom key-value metadata attached to the log")}),$0u=fi({name:"MONITORING_LOGS_LIST",description:"List monitoring logs for tool calls with filtering and pagination.",annotations:{title:"List Monitoring Logs",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:yt.object({connectionId:yt.string().optional().describe("Filter by connection ID"),excludeConnectionIds:yt.array(yt.string()).optional().describe("Exclude logs from these connection IDs (e.g. system connections)"),virtualMcpId:yt.string().optional().describe("Filter by Virtual MCP (Agent) ID"),toolName:yt.string().optional().describe("Filter by tool name"),isError:yt.boolean().optional().describe("Filter by error status"),startDate:yt.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:yt.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)"),limit:yt.number().default(20).describe("Maximum number of results"),offset:yt.number().default(0).describe("Offset for pagination"),properties:yt.record(yt.string(),yt.string()).optional().describe("Filter by exact property key=value matches"),propertyKeys:yt.array(yt.string()).optional().describe("Filter by logs that have these property keys"),propertyPatterns:yt.record(yt.string(),yt.string()).optional().describe("Filter by property value patterns (SQL LIKE, use % as wildcard)"),propertyInValues:yt.record(yt.string(),yt.string()).optional().describe("Filter by exact match within comma-separated values (e.g., user_tags in 'Engineering')")}),outputSchema:yt.object({logs:yt.array(LIf).describe("Array of monitoring logs"),total:yt.number().describe("Total number of logs matching filters"),offset:yt.number().describe("Current offset for pagination"),limit:yt.number().describe("Current limit for pagination")}),handler:async(i,u)=>{await qw();let t=yi(u),l=i.properties||i.propertyKeys||i.propertyPatterns||i.propertyInValues?{properties:i.properties,propertyKeys:i.propertyKeys,propertyPatterns:i.propertyPatterns,propertyInValues:i.propertyInValues}:void 0,c={organizationId:t.id,connectionId:i.connectionId,excludeConnectionIds:i.excludeConnectionIds,virtualMcpId:i.virtualMcpId,toolName:i.toolName,isError:i.isError,startDate:i.startDate?new Date(i.startDate):void 0,endDate:i.endDate?new Date(i.endDate):void 0,limit:i.limit,offset:i.offset,propertyFilters:l},E=await u.storage.monitoring.query(c);return{logs:E.logs.map(({input:d,output:$,...w})=>({...w,timestamp:w.timestamp instanceof Date?w.timestamp.toISOString():w.timestamp})),total:E.total,offset:i.offset,limit:i.limit}}})});import{z as _0}from"zod";var w0u;var F90=g(()=>{Hl();cu();w0u=fi({name:"MONITORING_STATS",description:"Get aggregated statistics (counts, latency, error rates) for tool call monitoring.",annotations:{title:"Get Monitoring Stats",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:_0.object({startDate:_0.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:_0.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)"),interval:_0.string().regex(/^\d+[mhd]$/).optional().describe("Bucket interval for timeseries data (e.g. 1m, 5m, 2h, 1d). When provided, returns timeseries array."),connectionIds:_0.array(_0.string()).max(100).optional().describe("Filter by specific connection IDs (max 100)"),excludeConnectionIds:_0.array(_0.string()).max(100).optional().describe("Exclude specific connection IDs (max 100)"),toolNames:_0.array(_0.string()).max(100).optional().describe("Filter by specific tool names (max 100)"),status:_0.enum(["success","error"]).optional().describe("Filter metrics by execution status"),topN:_0.number().int().min(1).max(20).optional().describe("When provided with interval, also return top tools and their timeseries"),userIds:_0.array(_0.string()).max(100).optional().describe("Filter LLM usage by user IDs (only applied when llmUsage is true)"),llmUsage:_0.boolean().optional().describe("Aggregate LLM-call usage (tokens + USD cost) from raw log rows for the given connection. Returns token/cost totals and timeseries. Requires interval.")}),outputSchema:_0.object({totalCalls:_0.number().describe("Total number of tool calls"),errorRate:_0.number().optional().describe("Error rate as a decimal (0 to 1)"),avgDurationMs:_0.number().describe("Average call duration in milliseconds"),errorRatePercent:_0.string().optional().describe("Error rate as a percentage string"),totalErrors:_0.number().optional().describe("Total number of errors"),p50DurationMs:_0.number().optional().describe("50th percentile duration in milliseconds"),p95DurationMs:_0.number().optional().describe("95th percentile duration in milliseconds"),connectionBreakdown:_0.array(_0.object({connectionId:_0.string(),calls:_0.number(),errors:_0.number(),errorRate:_0.number(),avgDurationMs:_0.number()})).optional().describe("Per-connection metric breakdown"),totalInputTokens:_0.number().optional().describe("Total input tokens (LLM usage mode)"),totalOutputTokens:_0.number().optional().describe("Total output tokens (LLM usage mode)"),totalTokens:_0.number().optional().describe("Total tokens (LLM usage mode)"),totalCostUsd:_0.number().optional().describe("Total USD cost (LLM usage mode; only non-zero for providers that report cost)"),topTools:_0.array(_0.object({toolName:_0.string(),connectionId:_0.string().nullable(),calls:_0.number(),inputTokens:_0.number().optional(),outputTokens:_0.number().optional(),costUsd:_0.number().optional()})).optional().describe("Top tools ranked by calls"),topToolsTimeseries:_0.array(_0.object({timestamp:_0.string(),toolName:_0.string(),calls:_0.number(),errors:_0.number(),avg:_0.number(),p95:_0.number()})).optional().describe("Per-tool metric timeseries for the top tools"),timeseries:_0.array(_0.object({timestamp:_0.string(),calls:_0.number(),errors:_0.number(),errorRate:_0.number(),avg:_0.number(),p50:_0.number(),p95:_0.number(),inputTokens:_0.number().optional(),outputTokens:_0.number().optional(),totalTokens:_0.number().optional(),costUsd:_0.number().optional()})).optional().describe("Timeseries data points bucketed by interval")}),handler:async(i,u)=>{let t=yi(u);if(await u.access.check(),await qw(),i.interval&&i.llmUsage)return u.storage.monitoring.queryLlmUsageStats({organizationId:t.id,interval:i.interval,connectionId:i.connectionIds?.[0]??"decopilot",startDate:i.startDate?new Date(i.startDate):void 0,endDate:i.endDate?new Date(i.endDate):void 0,userIds:i.userIds,topN:i.topN});if(i.interval){let l=await u.storage.monitoring.queryMetricTimeseries({organizationId:t.id,interval:i.interval,startDate:i.startDate?new Date(i.startDate):void 0,endDate:i.endDate?new Date(i.endDate):void 0,filters:{connectionIds:i.connectionIds,excludeConnectionIds:i.excludeConnectionIds,toolNames:i.toolNames,status:i.status}});if(!i.topN)return l;let c=await u.storage.monitoring.queryMetricTopToolsTimeseries({organizationId:t.id,interval:i.interval,startDate:i.startDate?new Date(i.startDate):void 0,endDate:i.endDate?new Date(i.endDate):void 0,topN:i.topN,filters:{connectionIds:i.connectionIds,excludeConnectionIds:i.excludeConnectionIds,toolNames:i.toolNames,status:i.status}});return{...l,topTools:c.topTools,topToolsTimeseries:c.timeseries}}let f=await u.storage.monitoring.getStats({organizationId:t.id,startDate:i.startDate?new Date(i.startDate):void 0,endDate:i.endDate?new Date(i.endDate):void 0});return{...f,errorRatePercent:(f.errorRate*100).toFixed(2)}}})});import{z as dd}from"zod";var h0u;var U90=g(()=>{Hl();cu();h0u=fi({name:"MONITORING_THREAD_USAGE",description:"Aggregate LLM token usage and USD cost per thread for the given thread IDs.",annotations:{title:"Get Thread Usage",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:dd.object({threadIds:dd.array(dd.string()).min(1).max(500).describe("Thread IDs to aggregate usage for (max 500)"),connectionId:dd.string().optional().describe("LLM connection ID (defaults to 'decopilot')"),startDate:dd.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:dd.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)")}),outputSchema:dd.object({items:dd.array(dd.object({threadId:dd.string(),calls:dd.number(),inputTokens:dd.number(),outputTokens:dd.number(),totalTokens:dd.number(),costUsd:dd.number()}))}),handler:async(i,u)=>{let t=yi(u);return await u.access.check(),await qw(),{items:await u.storage.monitoring.queryThreadUsage({organizationId:t.id,connectionId:i.connectionId??"decopilot",threadIds:i.threadIds,startDate:i.startDate?new Date(i.startDate):void 0,endDate:i.endDate?new Date(i.endDate):void 0})}}})});var I90=g(()=>{T90();B90();F90();U90()});import{z as ww}from"zod";var _0u;var P90=g(()=>{cu();_0u=fi({name:"ORGANIZATION_CREATE",description:"Create a new organization. The caller becomes the owner automatically.",annotations:{title:"Create Organization",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:ww.object({slug:ww.string().min(1).max(50).regex(/^[a-z0-9-]+$/,"Slug must be lowercase alphanumeric with hyphens"),name:ww.string().min(1).max(255),description:ww.string().optional()}),outputSchema:ww.object({id:ww.string(),name:ww.string(),slug:ww.string(),logo:ww.string().nullable().optional(),metadata:ww.any().optional(),createdAt:ww.string().datetime().describe("ISO 8601 timestamp"),members:ww.array(ww.any()).optional()}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=Hu(u);if(!t)throw Error("User ID required to create organization");let f=await u.boundAuth.organization.create({name:i.name,slug:i.slug,metadata:i.description?{description:i.description}:void 0,userId:t});if(!f)throw Error("Failed to create organization");return{...f,createdAt:f.createdAt instanceof Date?f.createdAt.toISOString():f.createdAt}}})});import{z as E_}from"zod";var v0u;var A90=g(()=>{cu();v0u=fi({name:"ORGANIZATION_LIST",description:"List organizations the current user belongs to.",annotations:{title:"List Organizations",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},_meta:{ui:{visibility:"app"}},inputSchema:E_.object({userId:E_.string().optional()}),outputSchema:E_.object({organizations:E_.array(E_.object({id:E_.string(),name:E_.string(),slug:E_.string(),logo:E_.string().nullable().optional(),metadata:E_.any().optional(),createdAt:E_.string().datetime().describe("ISO 8601 timestamp")}))}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=Hu(u),f=i.userId||t;if(!f)throw Error("User ID required to list organizations");return{organizations:(await u.boundAuth.organization.list(f)).map((c)=>({...c,createdAt:c.createdAt instanceof Date?c.createdAt.toISOString():c.createdAt}))}}})});import{z as U3}from"zod";var n0u;var x90=g(()=>{cu();n0u=fi({name:"ORGANIZATION_GET",description:"Get an organization's details, members, and settings by slug or ID.",annotations:{title:"Get Organization",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:U3.object({}),outputSchema:U3.object({id:U3.string(),name:U3.string(),slug:U3.string(),logo:U3.string().nullable().optional(),metadata:U3.any().optional(),createdAt:U3.string().datetime().describe("ISO 8601 timestamp"),members:U3.array(U3.any()).optional(),invitations:U3.array(U3.any()).optional()}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");let f=await u.boundAuth.organization.get(t);if(!f)throw Error("No active organization found");let l=new Date,c=f.invitations?.filter((E)=>new Date(E.expiresAt)>l);return{...f,invitations:c,createdAt:f.createdAt instanceof Date?f.createdAt.toISOString():f.createdAt}}})});import{z as d_}from"zod";var D0u;var k90=g(()=>{cu();D0u=fi({name:"ORGANIZATION_UPDATE",description:"Update an organization's name or description.",annotations:{title:"Update Organization",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:d_.object({id:d_.string(),name:d_.string().min(1).max(255).optional(),description:d_.string().optional()}),outputSchema:d_.object({id:d_.string(),name:d_.string(),slug:d_.string(),logo:d_.string().nullable().optional(),metadata:d_.any().optional(),createdAt:d_.string().datetime().describe("ISO 8601 timestamp")}),handler:async(i,u)=>{Gi(u),await u.access.check();let t={};if(i.name)t.name=i.name;if(i.description)t.metadata={description:i.description};let f=await u.boundAuth.organization.update({organizationId:i.id,data:t});if(!f)throw Error("Failed to update organization");return{...f,createdAt:f.createdAt instanceof Date?f.createdAt.toISOString():f.createdAt}}})});import{z as ia}from"zod";var g0u;var G90=g(()=>{cu();g0u=fi({name:"ORGANIZATION_DELETE",description:"Archive an organization (soft delete).",annotations:{title:"Delete Organization",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:ia.object({id:ia.string()}),outputSchema:ia.object({success:ia.boolean(),id:ia.string()}),handler:async(i,u)=>{return Gi(u),await u.access.check(),await u.boundAuth.organization.update({organizationId:i.id,data:{metadata:{archived:!0,archivedAt:new Date().toISOString()}}}),{success:!0,id:i.id}}})});import{z as R0}from"zod";var ua,ta,oz,S90,c3i,fa,la,pg;var vD=g(()=>{ua=R0.object({title:R0.string(),url:R0.string(),icon:R0.string()}),ta=R0.object({registries:R0.record(R0.string(),R0.object({enabled:R0.boolean()})).describe("Per-registry enabled/disabled state. Key is connection ID. Absent registries are treated as enabled."),blockedMcps:R0.array(R0.string()).describe("List of MCP app_name or app_id values to hide from the store.")}),oz=R0.object({keyId:R0.string(),modelId:R0.string(),title:R0.string().optional()}).nullable(),S90=R0.enum(["fast","smart","thinking","image","web_search","deep_research"]),c3i=R0.enum(["fast","smart","thinking"]),fa=R0.object({tiers:R0.object({fast:oz,smart:oz,thinking:oz,image:oz,web_search:oz,deep_research:oz})}),la=R0.object({ids:R0.array(R0.string()).describe("Ordered list of custom virtual MCP agent ids to show on the home view.")}),pg=R0.object({id:R0.string().describe("Brand context ID"),name:R0.string().describe("Company name"),domain:R0.string().describe("Company domain (e.g. example.com)"),overview:R0.string().describe("Company overview / description"),logo:R0.string().nullable().optional().describe("Logo URL"),favicon:R0.string().nullable().optional().describe("Favicon URL"),ogImage:R0.string().nullable().optional().describe("OG image URL"),fonts:R0.object({heading:R0.string().optional().describe("Font family for headings"),body:R0.string().optional().describe("Font family for body text"),code:R0.string().optional().describe("Font family for code / monospace")}).nullable().optional().describe("Font families by semantic role"),colors:R0.object({primary:R0.string().optional().describe("Primary brand color (hex)"),secondary:R0.string().optional().describe("Secondary brand color (hex)"),accent:R0.string().optional().describe("Accent / highlight color (hex)"),background:R0.string().optional().describe("Background color (hex)"),foreground:R0.string().optional().describe("Foreground / text color (hex)")}).nullable().optional().describe("Semantic color palette"),images:R0.array(R0.record(R0.string(),R0.unknown())).nullable().optional().describe("Brand images"),metadata:R0.record(R0.string(),R0.unknown()).nullable().optional().describe("Extra design tokens (typography, components, spacing, layout, tone, etc.)"),archivedAt:R0.string().nullable().optional().describe("Archive timestamp (null to unarchive)"),isDefault:R0.boolean().optional().describe("Whether this is the default brand for the organization")})});import{z as nD}from"zod";var O0u;var j90=g(()=>{cu();vD();O0u=fi({name:"ORGANIZATION_SETTINGS_GET",description:"Get organization-level settings including sidebar configuration, store registry settings, simple model mode, and default home agents.",annotations:{title:"Get Organization Settings",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:nD.object({}),outputSchema:nD.object({organizationId:nD.string(),sidebar_items:nD.array(ua).nullable().optional(),enabled_plugins:nD.array(nD.string()).nullable().optional(),registry_config:ta.nullable().optional(),simple_mode:fa.nullable().optional(),default_home_agents:la.nullable().optional(),task_board_enabled:nD.boolean().optional(),createdAt:nD.string().datetime().optional().describe("ISO 8601 timestamp"),updatedAt:nD.string().datetime().optional().describe("ISO 8601 timestamp")}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");let f=await u.storage.organizationSettings.get(t);if(!f)return{organizationId:t};return{...f,createdAt:f.createdAt instanceof Date?f.createdAt.toISOString():f.createdAt,updatedAt:f.updatedAt instanceof Date?f.updatedAt.toISOString():f.updatedAt}}})});import{z as f$}from"zod";var N0u;var K90=g(()=>{cu();vD();N0u=fi({name:"ORGANIZATION_SETTINGS_UPDATE",description:"Update organization-level settings such as sidebar configuration, store registry settings, simple model mode, and default home agents.",annotations:{title:"Update Organization Settings",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:f$.object({organizationId:f$.string(),sidebar_items:f$.array(ua).optional(),enabled_plugins:f$.array(f$.string()).optional(),registry_config:ta.optional(),simple_mode:fa.optional(),default_home_agents:la.optional(),task_board_enabled:f$.boolean().optional()}),outputSchema:f$.object({organizationId:f$.string(),sidebar_items:f$.array(ua).nullable().optional(),enabled_plugins:f$.array(f$.string()).nullable().optional(),registry_config:ta.nullable().optional(),simple_mode:fa.nullable().optional(),default_home_agents:la.nullable().optional(),task_board_enabled:f$.boolean().optional(),createdAt:f$.string().datetime().describe("ISO 8601 timestamp"),updatedAt:f$.string().datetime().describe("ISO 8601 timestamp")}),handler:async(i,u)=>{if(Gi(u),await u.access.check(),u.organization&&u.organization.id!==i.organizationId)throw Error("Cannot update settings for a different organization");let t=await u.storage.organizationSettings.upsert(i.organizationId,{sidebar_items:i.sidebar_items,enabled_plugins:i.enabled_plugins,registry_config:i.registry_config,simple_mode:i.simple_mode,default_home_agents:i.default_home_agents,task_board_enabled:i.task_board_enabled});return{...t,createdAt:t.createdAt instanceof Date?t.createdAt.toISOString():t.createdAt,updatedAt:t.updatedAt instanceof Date?t.updatedAt.toISOString():t.updatedAt}}})});import{z as $_}from"zod";var J90,y0u,Z0u;var X90=g(()=>{cu();vD();J90=pg.extend({organizationId:$_.string(),archivedAt:$_.string().nullable().optional().describe("ISO 8601 timestamp"),createdAt:$_.string().describe("ISO 8601 timestamp"),updatedAt:$_.string().describe("ISO 8601 timestamp")}),y0u=fi({name:"BRAND_CONTEXT_LIST",description:"List all brand contexts (company profiles) for the current organization.",annotations:{title:"List Brand Contexts",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:$_.object({includeArchived:$_.boolean().optional().describe("Include archived brands in the list")}),outputSchema:$_.object({items:$_.array(J90)}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");return{items:(await u.storage.brandContext.list(t,{includeArchived:i.includeArchived})).map((l)=>({...l,archivedAt:l.archivedAt instanceof Date?l.archivedAt.toISOString():l.archivedAt,createdAt:l.createdAt instanceof Date?l.createdAt.toISOString():l.createdAt,updatedAt:l.updatedAt instanceof Date?l.updatedAt.toISOString():l.updatedAt}))}}}),Z0u=fi({name:"BRAND_CONTEXT_GET",description:"Get a specific brand context by ID.",annotations:{title:"Get Brand Context",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:$_.object({id:$_.string().describe("Brand context ID")}),outputSchema:J90.extend({organizationId:$_.string()}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");let f=await u.storage.brandContext.get(i.id,t);if(!f)throw Error("Brand context not found");return{...f,archivedAt:f.archivedAt instanceof Date?f.archivedAt.toISOString():f.archivedAt,createdAt:f.createdAt instanceof Date?f.createdAt.toISOString():f.createdAt,updatedAt:f.updatedAt instanceof Date?f.updatedAt.toISOString():f.updatedAt}}})});import{z as Gy}from"zod";var L90,T0u,B0u,F0u;var W90=g(()=>{cu();vD();L90=pg.extend({organizationId:Gy.string(),createdAt:Gy.string().describe("ISO 8601 timestamp"),updatedAt:Gy.string().describe("ISO 8601 timestamp")}),T0u=fi({name:"BRAND_CONTEXT_CREATE",description:"Create a new brand context (company profile) for the current organization.",annotations:{title:"Create Brand Context",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!1},inputSchema:pg.omit({id:!0}),outputSchema:L90,handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");let f=await u.storage.brandContext.create(t,{name:i.name,domain:i.domain,overview:i.overview,logo:i.logo??null,favicon:i.favicon??null,ogImage:i.ogImage??null,fonts:i.fonts??null,colors:i.colors??null,images:i.images??null,metadata:i.metadata??null});return{...f,archivedAt:f.archivedAt instanceof Date?f.archivedAt.toISOString():f.archivedAt,createdAt:f.createdAt instanceof Date?f.createdAt.toISOString():f.createdAt,updatedAt:f.updatedAt instanceof Date?f.updatedAt.toISOString():f.updatedAt}}}),B0u=fi({name:"BRAND_CONTEXT_UPDATE",description:"Update an existing brand context by ID.",annotations:{title:"Update Brand Context",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:pg.partial().required({id:!0}),outputSchema:L90,handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");if(!await u.storage.brandContext.get(i.id,t))throw Error("Brand context not found");let{id:l,...c}=i;if(c.isDefault===!0)await u.storage.brandContext.setDefault(l,t);let E=await u.storage.brandContext.update(l,t,{name:c.name,domain:c.domain,overview:c.overview,logo:c.logo!==void 0?c.logo??null:void 0,favicon:c.favicon!==void 0?c.favicon??null:void 0,ogImage:c.ogImage!==void 0?c.ogImage??null:void 0,fonts:c.fonts!==void 0?c.fonts??null:void 0,colors:c.colors!==void 0?c.colors??null:void 0,images:c.images!==void 0?c.images??null:void 0,metadata:c.metadata!==void 0?c.metadata??null:void 0,archivedAt:c.archivedAt!==void 0?c.archivedAt??null:void 0,isDefault:c.isDefault===!1?!1:void 0});return{...E,archivedAt:E.archivedAt instanceof Date?E.archivedAt.toISOString():E.archivedAt,createdAt:E.createdAt instanceof Date?E.createdAt.toISOString():E.createdAt,updatedAt:E.updatedAt instanceof Date?E.updatedAt.toISOString():E.updatedAt}}}),F0u=fi({name:"BRAND_CONTEXT_DELETE",description:"Archive a brand context by ID (soft delete).",annotations:{title:"Archive Brand Context",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:Gy.object({id:Gy.string().describe("Brand context ID")}),outputSchema:Gy.object({success:Gy.boolean()}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");if(!await u.storage.brandContext.get(i.id,t))throw Error("Brand context not found");return await u.storage.brandContext.update(i.id,t,{archivedAt:new Date().toISOString(),isDefault:!1}),{success:!0}}})});async function E3i(i,u,t){let f=i.trim();if(!f.startsWith("http"))f=`https://${f}`;let l=await fetch("https://api.firecrawl.dev/v1/scrape",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${u}`},body:JSON.stringify({url:f,formats:["branding"]})});if(!l.ok){let v=await l.text().catch(()=>"");throw Error(`Firecrawl API error: ${l.status} ${v.slice(0,200)}`)}let c=await l.json();if(!c.success||!c.data?.branding)return null;let E=c.data.branding,d=c.data.metadata??{},$=QIf(E,d);return{name:d.title?.split(/[|\u2013\u2014]|\s+-\s+/).map((v)=>v.trim()).filter(Boolean)?.slice().sort((v,n)=>v.length-n.length)[0]??d.ogSiteName??t??i,domain:i,overview:d.description??"",logo:$.logo,favicon:$.favicon,ogImage:$.ogImage,fonts:$.fonts,colors:$.colors,images:null,metadata:Object.keys($.metadata).length>0?$.metadata:null}}function QIf(i,u){let t=i.images??{},f=i.colors??{},l={};for(let[h,_]of Object.entries(f))if(typeof _==="string"&&_&&YIf.has(h))l[h]=_;let c={},d=(i.typography??{}).fontFamilies??{};for(let[h,_]of Object.entries(d))if(typeof _==="string"&&_){let v=zIf[h.toLowerCase()];if(v&&!c[v])c[v]=_}let $=i.fonts;if(Array.isArray($))for(let h of $){let _=h.family;if(typeof _==="string"&&_&&!c.body)c.body=_}let w={};for(let h of["typography","components","spacing","layout","animations","icons","tone","personality","colorScheme"])if(i[h]!==void 0)w[h]=i[h];return{logo:t.logo??null,favicon:t.favicon??null,ogImage:t.ogImage??u.ogImage??null,fonts:Object.keys(c).length>0?c:null,colors:Object.keys(l).length>0?l:null,metadata:w}}var YIf,zIf;var U0u=g(()=>{YIf=new Set(["primary","secondary","accent","background","foreground"]),zIf={heading:"heading",headings:"heading",head:"heading",title:"heading",body:"body",primary:"body",text:"body",code:"code",monospace:"code",mono:"code"}});import{z as d3i}from"zod";var HIf,I0u;var Y90=g(()=>{cu();U0u();vD();HIf=pg.pick({id:!0,name:!0,domain:!0,overview:!0,logo:!0,favicon:!0,ogImage:!0,fonts:!0,colors:!0}).extend({success:d3i.boolean()}),I0u=fi({name:"BRAND_CONTEXT_EXTRACT",description:"Extract brand context (colors, fonts, logos) from a website URL using Firecrawl.",annotations:{title:"Extract Brand Context",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!0},inputSchema:d3i.object({domain:d3i.string().describe("Website domain to extract brand from"),brandId:d3i.string().optional().describe("Existing brand context ID to update (creates new if omitted)")}),outputSchema:HIf,modelSummary:(i)=>i.success?`Brand saved (id=${i.id}, name=${i.name}, domain=${i.domain}). The UI rendered the logo, colors, fonts, and overview.`:"Brand extraction failed.",handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");let f=u.firecrawlApiKey;if(!f)throw Error("FIRECRAWL_API_KEY is not configured. Set the environment variable to enable brand extraction.");let l=await E3i(i.domain,f,i.domain);if(!l)throw Error("Firecrawl did not return branding data for this URL");let c={name:l.name,domain:l.domain,overview:l.overview,logo:l.logo,favicon:l.favicon,ogImage:l.ogImage,fonts:l.fonts,colors:l.colors,images:l.images,metadata:l.metadata},E=i.brandId?await(async()=>{if(!await u.storage.brandContext.get(i.brandId,t))throw Error("Brand context not found");return u.storage.brandContext.update(i.brandId,t,c)})():await u.storage.brandContext.create(t,c);return{id:E.id,name:E.name,domain:E.domain,overview:E.overview,logo:E.logo,favicon:E.favicon,ogImage:E.ogImage,fonts:E.fonts,colors:E.colors,success:!0}}})});function z90(i){let u=i.metadata??{};return{id:i.id,name:i.name,domain:i.domain||void 0,colors:i.colors??void 0,fonts:i.fonts??void 0,assets:i.logo||i.favicon||i.ogImage?{logo:i.logo??void 0,favicon:i.favicon??void 0,ogImage:i.ogImage??void 0}:void 0,overview:i.overview||void 0,tagline:typeof u.tagline==="string"?u.tagline:void 0,tone:typeof u.tone==="string"?u.tone:void 0,metadata:(()=>{let t=Object.fromEntries(Object.entries(u).filter(([f])=>f!=="tagline"&&f!=="tone"));return Object.keys(t).length>0?t:void 0})()}}var P0u,A0u;var Q90=g(()=>{Quu();cu();P0u=fi({name:"BRAND_GET",description:"Get a brand context by ID. Omit the ID to get the default brand for the organization.",annotations:{title:"Get Brand",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:owi,outputSchema:oe,handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");let f=i.id?await u.storage.brandContext.get(i.id,t):await u.storage.brandContext.getDefault(t);if(!f)throw Error(i.id?"Brand not found":"No default brand configured");return z90(f)}}),A0u=fi({name:"BRAND_LIST",description:"List all active brands for the current organization.",annotations:{title:"List Brands",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:swi,outputSchema:pwi,handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");return{items:(await u.storage.brandContext.list(t)).map(z90)}}})});import{resolveTxt as bIf}from"dns/promises";function x0u(i){return`${RIf}.${i.toLowerCase()}`}function H90(){return`deco-verify-${crypto.randomUUID().replace(/-/g,"")}`}async function b90(i,u,t=bIf){if(!u)return!1;try{return(await t(x0u(i))).some((l)=>l.join("").trim()===u)}catch{return!1}}var RIf="_deco-verify";var R90=()=>{};import{z as Xl}from"zod";function i7(i){let u=i.verificationStatus==="pending"&&Boolean(i.verificationToken);return{id:i.id,domain:i.domain,joinMode:i.joinMode,verificationStatus:i.verificationStatus,verificationMethod:i.verificationMethod,verifiedAt:i.verifiedAt?new Date(i.verifiedAt).toISOString():null,recordName:u?x0u(i.domain):null,recordValue:u?i.verificationToken:null}}function MIf(i){let u=i.toLowerCase().trim();if(!CIf.test(u))throw Error(`Invalid domain format: "${u}". Must be a valid domain like "acme.com"`);if(w_.has(u))throw Error(`Cannot claim generic email domain "${u}". Only corporate domains are allowed.`);return u}var CIf,k0u,$3i,G0u,S0u,j0u,K0u,J0u;var C90=g(()=>{DD();R90();cu();CIf=/^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+$/,k0u=Xl.enum(["off","auto","request"]),$3i=Xl.object({id:Xl.string(),domain:Xl.string(),joinMode:k0u,verificationStatus:Xl.enum(["pending","verified"]),verificationMethod:Xl.enum(["email","dns"]).nullable(),verifiedAt:Xl.string().nullable(),recordName:Xl.string().nullable(),recordValue:Xl.string().nullable()});G0u=fi({name:"ORGANIZATION_DOMAIN_LIST",description:"List the email domains claimed by an organization.",annotations:{title:"List Organization Domains",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:Xl.object({}),outputSchema:Xl.object({domains:Xl.array($3i)}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=yi(u);return{domains:(await u.storage.organizationDomains.listByOrganizationId(t.id)).map(i7)}}}),S0u=fi({name:"ORGANIZATION_DOMAIN_ADD",description:"Claim an email domain for an organization. If the caller's verified email matches the domain it is trusted immediately; otherwise it requires DNS verification.",annotations:{title:"Add Organization Domain",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:Xl.object({domain:Xl.string().min(1).max(255).describe("Domain to claim, e.g. acme.com"),joinMode:k0u.optional().describe("Initial join mode (only applied when the domain is trusted immediately via email match).")}),outputSchema:$3i,handler:async(i,u)=>{Gi(u),await u.access.check();let t=yi(u),f=MIf(i.domain),c=u.auth.user?.email?.split("@")[1]?.toLowerCase(),E=Boolean(u.auth.user?.emailVerified)&&c===f,d=await u.storage.organizationDomains.getByOrgAndDomain(t.id,f);if(d){if(d.verificationStatus!=="verified"&&E){let w=await u.storage.organizationDomains.markVerified(d.id,"email");return i7(w)}return i7(d)}let $=E?await u.storage.organizationDomains.add(t.id,f,{joinMode:i.joinMode??"off",verificationStatus:"verified",verificationMethod:"email"}):await u.storage.organizationDomains.add(t.id,f,{joinMode:"off",verificationStatus:"pending",verificationToken:H90()});return i7($)}}),j0u=fi({name:"ORGANIZATION_DOMAIN_UPDATE",description:"Set the join mode for a claimed domain. Discoverable modes (auto/request) require the domain to be verified.",annotations:{title:"Update Organization Domain",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:Xl.object({id:Xl.string(),joinMode:k0u}),outputSchema:$3i,handler:async(i,u)=>{Gi(u),await u.access.check();let t=yi(u),f=await u.storage.organizationDomains.getById(i.id);if(!f||f.organizationId!==t.id)throw Error("Domain not found");if(i.joinMode!=="off"&&f.verificationStatus!=="verified")throw Error("Verify the domain before enabling auto-join or requests.");let l=await u.storage.organizationDomains.updateJoinMode(i.id,i.joinMode);return i7(l)}}),K0u=fi({name:"ORGANIZATION_DOMAIN_VERIFY",description:"Check the DNS TXT record for a pending domain and mark it verified if present.",annotations:{title:"Verify Organization Domain",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!0},inputSchema:Xl.object({id:Xl.string()}),outputSchema:Xl.object({verified:Xl.boolean(),domain:$3i}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=yi(u),f=await u.storage.organizationDomains.getById(i.id);if(!f||f.organizationId!==t.id)throw Error("Domain not found");if(f.verificationStatus==="verified")return{verified:!0,domain:i7(f)};if(!f.verificationToken)throw Error("Domain has no pending DNS verification.");if(!await b90(f.domain,f.verificationToken))return{verified:!1,domain:i7(f)};let c=await u.storage.organizationDomains.markVerified(i.id,"dns");return{verified:!0,domain:i7(c)}}}),J0u=fi({name:"ORGANIZATION_DOMAIN_REMOVE",description:"Remove a claimed domain from an organization.",annotations:{title:"Remove Organization Domain",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:Xl.object({id:Xl.string()}),outputSchema:Xl.object({success:Xl.boolean()}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=yi(u),f=await u.storage.organizationDomains.getById(i.id);if(!f||f.organizationId!==t.id)throw Error("Domain not found");return await u.storage.organizationDomains.removeById(i.id),{success:!0}}})});import{z as K1}from"zod";var qIf,X0u,L0u,W0u;var M90=g(()=>{cu();o4();qIf=K1.object({id:K1.string(),userId:K1.string(),status:K1.enum(["pending","approved","denied"]),createdAt:K1.string(),user:K1.object({id:K1.string(),name:K1.string(),email:K1.string(),image:K1.string().nullable()}).nullable()}),X0u=fi({name:"ORGANIZATION_JOIN_REQUEST_LIST",description:"List pending requests to join the organization.",annotations:{title:"List Join Requests",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:K1.object({}),outputSchema:K1.object({requests:K1.array(qIf)}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=yi(u);return{requests:(await u.storage.organizationJoinRequests.listPendingWithUser(t.id)).map((l)=>({id:l.id,userId:l.userId,status:l.status,createdAt:new Date(l.createdAt).toISOString(),user:l.user}))}}}),L0u=fi({name:"ORGANIZATION_JOIN_REQUEST_APPROVE",description:"Approve a pending join request, adding the user as a member.",annotations:{title:"Approve Join Request",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:K1.object({requestId:K1.string()}),outputSchema:K1.object({success:K1.boolean()}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=yi(u),f=await u.storage.organizationJoinRequests.getById(i.requestId);if(!f||f.organizationId!==t.id)throw Error("Join request not found");if(f.status!=="pending")throw Error("Join request has already been decided");let l=Hu(u);if(!await u.storage.organizationJoinRequests.decide(f.id,"approved",l??f.userId))return{success:!0};try{await u.boundAuth.organization.addMember({organizationId:t.id,userId:f.userId,role:["user"]})}catch(E){if(!(E instanceof Error?E.message.toLowerCase():"").includes("already a member"))throw E}if(l)su.capture({distinctId:l,event:"organization_join_request_approved",groups:{organization:t.id},properties:{organization_id:t.id,user_id:f.userId}});return{success:!0}}}),W0u=fi({name:"ORGANIZATION_JOIN_REQUEST_DENY",description:"Deny a pending join request.",annotations:{title:"Deny Join Request",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:K1.object({requestId:K1.string()}),outputSchema:K1.object({success:K1.boolean()}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=yi(u),f=await u.storage.organizationJoinRequests.getById(i.requestId);if(!f||f.organizationId!==t.id)throw Error("Join request not found");if(f.status!=="pending")throw Error("Join request has already been decided");let l=Hu(u);if(await u.storage.organizationJoinRequests.decide(f.id,"denied",l??f.userId)&&l)su.capture({distinctId:l,event:"organization_join_request_denied",groups:{organization:t.id},properties:{organization_id:t.id,user_id:f.userId}});return{success:!0}}})});import{z as l$}from"zod";var Y0u;var q90=g(()=>{o4();cu();Gv();Y0u=fi({name:"ORGANIZATION_MEMBER_ADD",description:"Invite a member to the organization by email with an assigned role.",annotations:{title:"Add Organization Member",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:l$.object({organizationId:l$.string().optional(),userId:l$.string(),role:l$.array(l$.string())}),outputSchema:l$.object({id:l$.string(),organizationId:l$.string(),userId:l$.string(),role:l$.union([l$.string(),l$.array(l$.string())]),createdAt:l$.string().datetime().describe("ISO 8601 timestamp")}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=i.organizationId||u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");if(t!==u.organization?.id)throw Error("Organization ID does not match authenticated organization");let f=Array.isArray(i.role)?i.role[0]:i.role;if(f&&!t$i(u.auth.user?.role,f))throw Error(`Insufficient privileges to assign role "${f}"`);let l=await u.boundAuth.organization.addMember({organizationId:t,userId:i.userId,role:i.role});if(!l)throw Error("Failed to add member");let c=Hu(u);if(c)su.capture({distinctId:c,event:"organization_member_added",groups:{organization:t},properties:{organization_id:t,added_user_id:i.userId,role:i.role}});return{...l,role:l.role,createdAt:l.createdAt instanceof Date?l.createdAt.toISOString():l.createdAt}}})});import{z as sz}from"zod";var z0u;var V90=g(()=>{o4();cu();z0u=fi({name:"ORGANIZATION_MEMBER_REMOVE",description:"Remove a member from the organization. Revokes all their access immediately.",annotations:{title:"Remove Organization Member",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:sz.object({organizationId:sz.string().optional(),memberIdOrEmail:sz.string()}),outputSchema:sz.object({success:sz.boolean(),memberIdOrEmail:sz.string()}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=i.organizationId||u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");await u.boundAuth.organization.removeMember({organizationId:t,memberIdOrEmail:i.memberIdOrEmail});let f=Hu(u);if(f)su.capture({distinctId:f,event:"organization_member_removed",groups:{organization:t},properties:{organization_id:t,member_id_or_email:i.memberIdOrEmail}});return{success:!0,memberIdOrEmail:i.memberIdOrEmail}}})});import{z as yE}from"zod";var Q0u;var r90=g(()=>{cu();Q0u=fi({name:"ORGANIZATION_MEMBER_LIST",description:"List all members in the organization with their roles.",annotations:{title:"List Organization Members",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:yE.object({limit:yE.number().optional(),offset:yE.number().optional()}),outputSchema:yE.object({members:yE.array(yE.object({id:yE.string(),organizationId:yE.string(),userId:yE.string(),role:yE.string(),createdAt:yE.string().datetime().describe("ISO 8601 timestamp"),user:yE.object({id:yE.string(),name:yE.string(),email:yE.string(),image:yE.string().optional()}).optional()}))}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");let f=await u.boundAuth.organization.listMembers({organizationId:t,limit:i.limit,offset:i.offset});return{members:(Array.isArray(f)?f:[]).map((c)=>({...c,createdAt:c.createdAt instanceof Date?c.createdAt.toISOString():c.createdAt}))}}})});import{z as ac}from"zod";var H0u;var m90=g(()=>{o4();cu();Gv();H0u=fi({name:"ORGANIZATION_MEMBER_UPDATE_ROLE",description:"Change a member's role (e.g., admin, member) within the organization.",annotations:{title:"Update Member Role",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:ac.object({organizationId:ac.string().optional(),memberId:ac.string(),role:ac.array(ac.string())}),outputSchema:ac.object({id:ac.string(),organizationId:ac.string(),userId:ac.string(),role:ac.union([ac.literal("admin"),ac.literal("member"),ac.literal("owner")]),createdAt:ac.string().datetime().describe("ISO 8601 timestamp"),user:ac.object({email:ac.string(),name:ac.string(),image:ac.string().optional()})}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=i.organizationId||u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");let f=Array.isArray(i.role)?i.role[0]:i.role;if(f&&!t$i(u.auth.user?.role,f))throw Error(`Insufficient privileges to assign role "${f}"`);let l=await u.boundAuth.organization.updateMemberRole({organizationId:t,memberId:i.memberId,role:i.role});if(!l)throw Error("Failed to update member role");u.invalidateMemberRole?.(l.userId,t);let c=Hu(u);if(c)su.capture({distinctId:c,event:"organization_member_role_updated",groups:{organization:t},properties:{organization_id:t,member_id:i.memberId,target_user_id:l.userId,new_role:Array.isArray(i.role)?i.role.join(","):i.role}});return{...l,createdAt:l.createdAt instanceof Date?l.createdAt.toISOString():l.createdAt}}})});var e90=g(()=>{P90();A90();x90();k90();G90();j90();K90();X90();W90();Y90();Q90();C90();M90();q90();V90();r90();m90()});import{z as hw}from"zod";var ca,Ea,pz;var w3i=g(()=>{ca=hw.enum(["triage","todo","in_progress","in_review","done"]),Ea=hw.enum(["low","medium","high","urgent"]),pz=hw.object({id:hw.string(),organizationId:hw.string(),title:hw.string(),description:hw.string().nullable(),status:ca,priority:Ea,assigneeId:hw.string().nullable(),dueDate:hw.string().datetime().nullable(),createdBy:hw.string(),createdAt:hw.string().datetime(),updatedBy:hw.string(),updatedAt:hw.string().datetime()})});async function h3i(i,u,t){let{members:f}=await i.boundAuth.organization.listMembers({organizationId:u,filterField:"userId",filterValue:t});if(!f.some((l)=>l.userId===t))throw Error("assigneeId is not a member of the organization")}async function u7(i,u){if(!(await i.storage.organizationSettings.get(u))?.task_board_enabled)throw Error("Task board is not enabled for this organization")}import{z as iQ}from"zod";var b0u;var a90=g(()=>{cu();w3i();b0u=fi({name:"TASK_BOARD_ITEM_CREATE",description:"Create a new task board item for the organization.",annotations:{title:"Create Task Board Item",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!1},inputSchema:iQ.object({title:iQ.string().min(1),description:iQ.string().nullable().optional(),status:ca.optional(),priority:Ea.optional(),assigneeId:iQ.string().nullable().optional(),dueDate:iQ.string().datetime().nullable().optional()}),outputSchema:iQ.object({item:pz}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");if(await u7(u,t),i.assigneeId)await h3i(u,t,i.assigneeId);return{item:await u.storage.taskBoard.create({organizationId:t,title:i.title,description:i.description??null,status:i.status,priority:i.priority,assigneeId:i.assigneeId??null,dueDate:i.dueDate??null,by:Hu(u)})}}})});import{z as R0u}from"zod";var C0u;var o90=g(()=>{cu();w3i();C0u=fi({name:"TASK_BOARD_ITEM_LIST",description:"List all task board items for the organization.",annotations:{title:"List Task Board Items",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:R0u.object({}),outputSchema:R0u.object({items:R0u.array(pz)}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");return await u7(u,t),{items:await u.storage.taskBoard.list(t)}}})});import{z as Sy}from"zod";var M0u;var s90=g(()=>{cu();w3i();M0u=fi({name:"TASK_BOARD_ITEM_UPDATE",description:"Update a task board item's fields (title, description, status, priority, assignee).",annotations:{title:"Update Task Board Item",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:Sy.object({id:Sy.string(),title:Sy.string().min(1).optional(),description:Sy.string().nullable().optional(),status:ca.optional(),priority:Ea.optional(),assigneeId:Sy.string().nullable().optional(),dueDate:Sy.string().datetime().nullable().optional()}),outputSchema:Sy.object({item:pz}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");if(await u7(u,t),i.assigneeId)await h3i(u,t,i.assigneeId);return{item:await u.storage.taskBoard.update(i.id,t,{title:i.title,description:i.description,status:i.status,priority:i.priority,assigneeId:i.assigneeId,dueDate:i.dueDate},Hu(u))}}})});import{z as _3i}from"zod";var q0u;var p90=g(()=>{cu();q0u=fi({name:"TASK_BOARD_ITEM_DELETE",description:"Delete a task board item.",annotations:{title:"Delete Task Board Item",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:_3i.object({id:_3i.string()}),outputSchema:_3i.object({success:_3i.boolean()}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=u.organization?.id;if(!t)throw Error("Organization ID required (no active organization in context)");return await u7(u,t),await u.storage.taskBoard.delete(i.id,t),{success:!0}}})});var iO0=g(()=>{a90();o90();s90();p90()});import{z as t7}from"zod";var V0u;var uO0=g(()=>{cu();V0u=fi({name:"TAGS_LIST",description:"List all tags available in the organization.",annotations:{title:"List Tags",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:t7.object({}),outputSchema:t7.object({tags:t7.array(t7.object({id:t7.string(),organizationId:t7.string(),name:t7.string(),createdAt:t7.string().describe("ISO 8601 timestamp")}))}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=yi(u);return{tags:(await u.storage.tags.listOrgTags(t.id)).map((l)=>({...l,createdAt:l.createdAt instanceof Date?l.createdAt.toISOString():String(l.createdAt)}))}}})});import{z as f7}from"zod";var r0u;var tO0=g(()=>{cu();r0u=fi({name:"TAGS_CREATE",description:"Create a new tag that can be assigned to organization members.",annotations:{title:"Create Tag",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:f7.object({name:f7.string().min(1).max(50).describe("Tag name")}),outputSchema:f7.object({tag:f7.object({id:f7.string(),organizationId:f7.string(),name:f7.string(),createdAt:f7.string().describe("ISO 8601 timestamp")})}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=yi(u),f=await u.storage.tags.createTag(t.id,i.name);return{tag:{...f,createdAt:f.createdAt instanceof Date?f.createdAt.toISOString():String(f.createdAt)}}}})});import{z as v3i}from"zod";var m0u;var fO0=g(()=>{cu();m0u=fi({name:"TAGS_DELETE",description:"Delete a tag and automatically remove it from all assigned members.",annotations:{title:"Delete Tag",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:v3i.object({tagId:v3i.string().describe("Tag ID to delete")}),outputSchema:v3i.object({success:v3i.boolean()}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=yi(u),f=await u.storage.tags.getTag(i.tagId);if(!f)throw Error("Tag not found");if(f.organizationId!==t.id)throw Error("Tag does not belong to this organization");return await u.storage.tags.deleteTag(i.tagId),{success:!0}}})});import{z as gD}from"zod";var e0u;var lO0=g(()=>{cu();e0u=fi({name:"MEMBER_TAGS_GET",description:"Get all tags currently assigned to a specific member.",annotations:{title:"Get Member Tags",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:gD.object({memberId:gD.string().describe("Member ID")}),outputSchema:gD.object({tags:gD.array(gD.object({id:gD.string(),organizationId:gD.string(),name:gD.string(),createdAt:gD.string().describe("ISO 8601 timestamp")}))}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=yi(u);if(!await u.storage.tags.verifyMemberOrg(i.memberId,t.id))throw Error(`Member not found in this organization: ${i.memberId}`);return{tags:(await u.storage.tags.getMemberTags(i.memberId)).map((c)=>({...c,createdAt:c.createdAt instanceof Date?c.createdAt.toISOString():String(c.createdAt)}))}}})});import{z as I3}from"zod";var a0u;var cO0=g(()=>{cu();a0u=fi({name:"MEMBER_TAGS_SET",description:"Replace all tags on a member with the given set. Pass empty array to clear.",annotations:{title:"Set Member Tags",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:I3.object({memberId:I3.string().describe("Member ID"),tagIds:I3.array(I3.string()).describe("Array of tag IDs to assign")}),outputSchema:I3.object({success:I3.boolean(),tags:I3.array(I3.object({id:I3.string(),organizationId:I3.string(),name:I3.string(),createdAt:I3.string().describe("ISO 8601 timestamp")}))}),handler:async(i,u)=>{Gi(u),await u.access.check();let t=yi(u);if(!await u.storage.tags.verifyMemberOrg(i.memberId,t.id))throw Error(`Member not found in this organization: ${i.memberId}`);for(let c of i.tagIds){let E=await u.storage.tags.getTag(c);if(!E)throw Error(`Tag not found: ${c}`);if(E.organizationId!==t.id)throw Error(`Tag does not belong to this organization: ${c}`)}return await u.storage.tags.setMemberTags(i.memberId,i.tagIds),{success:!0,tags:(await u.storage.tags.getMemberTags(i.memberId)).map((c)=>({...c,createdAt:c.createdAt instanceof Date?c.createdAt.toISOString():String(c.createdAt)}))}}})});var EO0=g(()=>{uO0();tO0();fO0();lO0();cO0()});function ev(i,u=Date.now()){let t=i.status;if(t==="in_progress"){let f=new Date(i.updated_at).getTime();if(!Number.isFinite(f)||u-f>1800000)t="expired"}return{id:i.id,organization_id:i.organization_id,title:i.title,description:i.description,created_at:i.created_at,updated_at:i.updated_at,created_by:i.created_by,updated_by:i.updated_by,hidden:i.hidden??!1,status:t,virtual_mcp_id:i.virtual_mcp_id||void 0,trigger_id:i.trigger_id,branch:i.branch,sandbox_provider_kind:i.sandbox_provider_kind,harness_id:i.harness_id,metadata:i.metadata&&Object.keys(i.metadata).length>0?i.metadata:void 0,run_config:i.run_config}}var dO0=g(()=>{ff()});import{z as j0}from"zod";var $O0,eIf,wO0,av,hO0,_O0;var jy=g(()=>{dO0();$O0=j0.object({id:j0.string().describe("Unique message ID"),thread_id:j0.string().describe("ID of the parent thread"),metadata:j0.unknown().optional().describe("Optional message metadata"),parts:j0.array(j0.record(j0.string(),j0.unknown())).describe("Message content parts (AI SDK UIMessagePart format)"),role:j0.enum(["user","assistant","system"]).describe("Message role"),created_at:j0.string().datetime().describe("Timestamp of creation"),updated_at:j0.string().datetime().describe("Timestamp of last update")}),eIf=j0.object({toolName:j0.string().describe("Fully qualified tool name"),appId:j0.string().describe("App ID that owns the tool"),args:j0.record(j0.string(),j0.unknown()).describe("Arguments used when expanding the tool"),expandedAt:j0.string().datetime().describe("When the tool was expanded")}),wO0=j0.object({expanded_tools:j0.array(eIf).optional()}).catchall(j0.unknown()),av=j0.object({id:j0.string().describe("Unique thread ID"),organization_id:j0.string().describe("Organization this thread belongs to"),title:j0.string().describe("Thread title"),description:j0.string().nullable().describe("Thread description"),created_at:j0.string().datetime().describe("Timestamp of creation"),updated_at:j0.string().datetime().describe("Timestamp of last update"),hidden:j0.boolean().optional().describe("Whether the thread is hidden"),status:j0.enum([...yW,"expired"]).describe("Thread execution status. 'expired' is virtual -- computed at read time for stale in_progress threads"),created_by:j0.string().describe("User ID who created the thread"),updated_by:j0.string().optional().describe("User ID who last updated the thread"),virtual_mcp_id:j0.string().optional().describe("Virtual MCP (agent) this thread was initiated with"),trigger_id:j0.string().nullable().optional().describe("Automation trigger that created this thread; null/absent for human-initiated threads."),branch:j0.string().nullable().optional().describe("Git branch this thread is pinned to (GitHub-linked vms only)"),sandbox_provider_kind:j0.string().nullable().optional().describe("Pinned on first message; identifies which sandbox provider to dispatch to (e.g. 'agent-sandbox', 'user-desktop')."),harness_id:j0.string().nullable().optional().describe("Pinned on first message; selects which harness runs the thread (e.g. 'claude-code', 'codex', 'decopilot')."),metadata:wO0.optional().describe("Free-form per-thread UI state (e.g. expanded_tools)"),run_config:j0.record(j0.string(),j0.unknown()).nullable().optional().describe("Persisted run configuration (contains agent and model info)")}),hO0=j0.object({id:j0.string().optional().describe("Optional custom ID for the thread"),title:j0.string().optional().describe("Thread title"),description:j0.string().nullish().describe("Thread description"),virtual_mcp_id:j0.string().describe("Virtual MCP (agent) this thread is bound to"),branch:j0.string().min(1).optional().describe("Preferred branch. Used only when the vMCP has a githubRepo; ignored otherwise. When omitted, the server picks the most-recently-touched branch from the user's sandboxMap, falling back to a freshly generated name.")}),_O0=j0.object({title:j0.string().optional().describe("New thread title"),description:j0.string().nullish().describe("New thread description"),hidden:j0.boolean().optional().describe("Whether the thread is hidden"),status:j0.enum(["requires_action","failed","in_progress","completed"]).optional().describe("New thread status (user-set override). 'expired' is a computed virtual status and cannot be set directly."),metadata:wO0.optional().describe("Full replacement of the thread's metadata object"),branch:j0.string().nullish().describe("New git branch for this thread"),virtual_mcp_id:j0.string().optional().describe("Re-point the thread at a different agent. Only meaningful for an unsent thread (changing the recipient of a new chat); the UI restricts it accordingly.")})});function aIf(i){return(i??"").normalize("NFKD").replace(/[\u0300-\u036F]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"user"}function n3i(i){let u=aIf(i),t=Date.now().toString(36).split("").reverse().join("");return`${u}-${t}`}import{z as vO0}from"zod";function pIf(i,u){let t=i?.[u];if(!t)return;return Object.entries(t).sort(([,l],[,c])=>{let E=Math.max(0,...Object.values(l).map(($)=>$.createdAt??0));return Math.max(0,...Object.values(c).map(($)=>$.createdAt??0))-E})[0]?.[0]}var oIf,sIf,o0u;var nO0=g(()=>{o4();cu();jy();id();oIf=vO0.object({data:hO0.describe("Data for the new thread (id is auto-generated if not provided)")}),sIf=vO0.object({item:av.describe("The created thread entity")});o0u=fi({name:"COLLECTION_THREADS_CREATE",description:"Create a new thread for organizing messages and conversations.",annotations:{title:"Create Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:oIf,outputSchema:sIf,handler:async(i,u)=>{Gi(u);let t=yi(u);await u.access.check();let f=Hu(u);if(!f)throw Error("User ID required to create thread");let{data:l}=i,c=l.id??Gf("thrd"),E=await u.storage.virtualMcps.findById(l.virtual_mcp_id,t.id);if(!E)throw Error(`Virtual MCP not found: ${l.virtual_mcp_id}`);let d=E.metadata,$=d?.githubRepo,w=null;if($)w=l.branch??pIf(d?.sandboxMap,f)??n3i(u.auth.user?.name??u.auth.user?.email?.split("@")[0]);let h=await u.storage.threads.create({id:c,organization_id:t.id,title:l.title,description:l.description,virtual_mcp_id:l.virtual_mcp_id,branch:w,created_by:f});return su.capture({distinctId:f,event:"chat_started",groups:{organization:t.id},properties:{organization_id:t.id,thread_id:c,has_title:!!i.data.title,created_via:"tool"}}),{item:ev(h)}}})});import{z as _w}from"zod";var iPf,uPf,s0u;var DO0=g(()=>{$w();cu();jy();iPf=c_.extend({where:_w.object({created_by:_w.string().optional(),trigger_ids:_w.array(_w.string()).optional(),virtual_mcp_id:_w.string().optional(),hidden:_w.boolean().optional(),has_trigger:_w.boolean().optional()}).optional(),startDate:_w.string().datetime().optional().describe("Filter threads updated at or after this ISO timestamp"),endDate:_w.string().datetime().optional().describe("Filter threads updated at or before this ISO timestamp"),search:_w.string().optional().describe("Full-text search on thread title (case-insensitive)"),status:_w.string().optional().describe("Filter by thread status (e.g. completed, failed, in_progress)"),userId:_w.string().optional().describe("Filter by the user who created the thread"),agentId:_w.string().optional().describe("Filter by agent (connection or virtual MCP) ID")}),uPf=wD(av),s0u=fi({name:"COLLECTION_THREADS_LIST",description:"List threads with filtering, sorting, and pagination.",annotations:{title:"List Threads",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:iPf,outputSchema:uPf,handler:async(i,u)=>{await u.access.check();let t=u.auth.user?.id;if(!t)throw Error("User ID required to list threads");yi(u);let f=i.offset??0,l=i.limit??100,c=i.where?.trigger_ids,E=i.where?.virtual_mcp_id,d=i.userId??(i.where?.created_by==="me"?t:i.where?.created_by),{threads:$,total:w}=c?.length?await u.storage.threads.listByTriggerIds(c,{limit:l,offset:f}):await u.storage.threads.list(d,{limit:l,offset:f,virtualMcpId:E,startDate:i.startDate,endDate:i.endDate,search:i.search,status:i.status,agentId:i.agentId,includeArchived:i.where?.hidden,hasTrigger:i.where?.has_trigger}),h=f+l<w,_=Date.now();return{items:$.map((v)=>ev(v,_)),totalCount:w,hasMore:h}}})});var tPf,p0u;var gO0=g(()=>{$w();cu();jy();tPf=me(av),p0u=fi({name:"COLLECTION_THREADS_GET",description:"Get a thread's details and metadata by ID.",annotations:{title:"Get Thread",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:re,outputSchema:tPf,handler:async(i,u)=>{Gi(u),yi(u),await u.access.check();let t=await u.storage.threads.get(i.id);if(!t)return{item:null};return{item:ev(t)}}})});import{z as itu}from"zod";var fPf,lPf,utu;var OO0=g(()=>{o4();cu();jy();fPf=itu.object({id:itu.string().describe("ID of the thread to update"),data:_O0.describe("Partial thread data to update")}),lPf=itu.object({item:av.describe("The updated thread entity")}),utu=fi({name:"COLLECTION_THREADS_UPDATE",description:"Update a thread's title, description, or visibility.",annotations:{title:"Update Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:fPf,outputSchema:lPf,handler:async(i,u)=>{Gi(u);let t=yi(u);await u.access.check();let f=Hu(u);if(!f)throw Error("User ID required to update thread");let{id:l,data:c}=i,E=await u.storage.threads.get(l);if(!E)throw Error("Thread not found in organization");if(c.branch===null&&E.virtual_mcp_id){if((await u.storage.virtualMcps.findById(E.virtual_mcp_id,yi(u).id))?.metadata?.githubRepo)throw Error("Cannot set branch=null on a github-linked thread (vMCP has githubRepo)")}let d={title:c.title,description:c.description,hidden:c.hidden,updated_by:f};if(c.status)d.status=c.status;if(c.metadata!==void 0)d.metadata=c.metadata;if(c.branch!==void 0)d.branch=c.branch;if(c.virtual_mcp_id!==void 0)d.virtual_mcp_id=c.virtual_mcp_id;let $=await u.storage.threads.update(l,d);if(c.hidden!==void 0&&c.hidden!==E.hidden)su.capture({distinctId:f,event:c.hidden?"chat_archived":"chat_unarchived",groups:{organization:t.id},properties:{organization_id:t.id,thread_id:l}});return{item:ev($)}}})});var ttu;var NO0=g(()=>{$w();o4();cu();jy();ttu=fi({name:"COLLECTION_THREADS_DELETE",description:"Permanently delete a thread and all its messages.",annotations:{title:"Delete Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:ee,outputSchema:ae(av),handler:async(i,u)=>{Gi(u);let t=yi(u);await u.access.check();let f=await u.storage.threads.get(i.id);if(!f)throw Error(`Thread not found: ${i.id}`);await u.storage.threads.delete(i.id);let l=Hu(u);if(l)su.capture({distinctId:l,event:"chat_deleted",groups:{organization:t.id},properties:{organization_id:t.id,thread_id:i.id}});return{item:ev(f)}}})});import{z as cPf}from"zod";function yO0(i){if(!i)return null;if("field"in i&&i.field[0]==="thread_id"&&i.operator==="eq")return String(i.value);if("conditions"in i&&(i.operator==="and"||i.operator==="or"))for(let u of i.conditions){let t=yO0(u);if(t)return t}return null}var EPf,dPf,ftu;var ZO0=g(()=>{$w();cu();jy();EPf=c_.extend({thread_id:cPf.string().optional().describe("ID of the thread to list messages for (required)")}),dPf=wD($O0),ftu=fi({name:"COLLECTION_THREAD_MESSAGES_LIST",description:"List messages in a thread with pagination. Requires thread_id. Returns messages in chronological order.",annotations:{title:"List Thread Messages",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:EPf,outputSchema:dPf,handler:async(i,u)=>{yi(u),await u.access.check();let t=i.thread_id??yO0(i.where);if(!t)throw Error("thread_id is required (provide as top-level param or in where clause)");let f=i.offset??0,l=i.limit??100,c=i.orderBy?.[0]?.direction??"asc",E=await u.storage.threads.get(t);if(!E)return{items:[],totalCount:0,hasMore:!1};if(E.message_storage_version===2){let{messages:h,total:_}=await u.storage.threads.messageParts().loadWindow(t,{limit:l,offset:f});return{items:h.map((v)=>({id:v.id,thread_id:t,role:v.role,parts:v.parts,metadata:v.metadata??null,created_at:v.created_at,updated_at:v.created_at})),totalCount:_,hasMore:f+l<_}}let{messages:d,total:$}=await u.storage.threads.listMessages(t,{limit:l,offset:f,sort:c}),w=f+l<$;return{items:d,totalCount:$,hasMore:w}}})});function TO0(i){return i!==null}function D3i(i,u){if(i===null)return!0;return i===u}function g3i(i){return i.sandboxProviderKind==="agent-sandbox"&&i.harnessId==="decopilot"}function BO0(i){return i.harnessId==="decopilot"&&(i.sandboxProviderKind==null||i.sandboxProviderKind==="agent-sandbox")}function wPf(i){return{type:"data-run-status",id:"run-status",data:{stage:i}}}function FO0(i){if(!i||typeof i!=="object")return!1;return i.type==="data-run-status"}async function OD(i,u,t){if(!i)return;try{await i.publishRawChunk(u,wPf(t))}catch{}}var $Pf,da,jal;var $a=g(()=>{$Pf=["waiting-runner","starting-run","gathering-context","preparing-tools","starting-assistant","analyzing-scope"],da=["gathering-context","preparing-tools","starting-assistant","analyzing-scope"],jal=new Set($Pf)});function O3i(){return crypto.randomUUID()}var ctu=K((Xal,PO0)=>{var{defineProperty:ltu,getOwnPropertyDescriptor:hPf,getOwnPropertyNames:_Pf}=Object,vPf=Object.prototype.hasOwnProperty,nPf=(i,u)=>{for(var t in u)ltu(i,t,{get:u[t],enumerable:!0})},DPf=(i,u,t,f)=>{if(u&&typeof u==="object"||typeof u==="function"){for(let l of _Pf(u))if(!vPf.call(i,l)&&l!==t)ltu(i,l,{get:()=>u[l],enumerable:!(f=hPf(u,l))||f.enumerable})}return i},gPf=(i)=>DPf(ltu({},"__esModule",{value:!0}),i),UO0={};nPf(UO0,{SYMBOL_FOR_REQ_CONTEXT:()=>IO0,getContext:()=>OPf});PO0.exports=gPf(UO0);var IO0=Symbol.for("@vercel/request-context");function OPf(){return globalThis[IO0]?.get?.()??{}}});var wa=K((Lal,kO0)=>{var{defineProperty:Etu,getOwnPropertyDescriptor:NPf,getOwnPropertyNames:yPf}=Object,ZPf=Object.prototype.hasOwnProperty,TPf=(i,u)=>{for(var t in u)Etu(i,t,{get:u[t],enumerable:!0})},BPf=(i,u,t,f)=>{if(u&&typeof u==="object"||typeof u==="function"){for(let l of yPf(u))if(!ZPf.call(i,l)&&l!==t)Etu(i,l,{get:()=>u[l],enumerable:!(f=NPf(u,l))||f.enumerable})}return i},FPf=(i)=>BPf(Etu({},"__esModule",{value:!0}),i),AO0={};TPf(AO0,{VercelOidcTokenError:()=>xO0});kO0.exports=FPf(AO0);class xO0 extends Error{constructor(i,u){super(i);this.name="VercelOidcTokenError",this.cause=u}toString(){if(this.cause)return`${this.name}: ${this.message}: ${this.cause}`;return`${this.name}: ${this.message}`}}});var KO0=K((Wal,jO0)=>{var{create:UPf,defineProperty:N3i,getOwnPropertyDescriptor:IPf,getOwnPropertyNames:PPf,getPrototypeOf:APf}=Object,xPf=Object.prototype.hasOwnProperty,kPf=(i,u)=>{for(var t in u)N3i(i,t,{get:u[t],enumerable:!0})},GO0=(i,u,t,f)=>{if(u&&typeof u==="object"||typeof u==="function"){for(let l of PPf(u))if(!xPf.call(i,l)&&l!==t)N3i(i,l,{get:()=>u[l],enumerable:!(f=IPf(u,l))||f.enumerable})}return i},$tu=(i,u,t)=>(t=i!=null?UPf(APf(i)):{},GO0(u||!i||!i.__esModule?N3i(t,"default",{value:i,enumerable:!0}):t,i)),GPf=(i)=>GO0(N3i({},"__esModule",{value:!0}),i),SO0={};kPf(SO0,{findRootDir:()=>KPf,getUserDataDir:()=>JPf});jO0.exports=GPf(SO0);var ha=$tu(Ni("path")),SPf=$tu(Ni("fs")),dtu=$tu(Ni("os")),jPf=wa();function KPf(){try{let i=process.cwd();while(i!==ha.default.dirname(i)){let u=ha.default.join(i,".vercel");if(SPf.default.existsSync(u))return i;i=ha.default.dirname(i)}}catch(i){throw new jPf.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}function JPf(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(dtu.default.platform()){case"darwin":return ha.default.join(dtu.default.homedir(),"Library/Application Support");case"linux":return ha.default.join(dtu.default.homedir(),".local/share");case"win32":if(process.env.LOCALAPPDATA)return process.env.LOCALAPPDATA;return null;default:return null}}});var QO0=K((Yal,zO0)=>{var{create:XPf,defineProperty:y3i,getOwnPropertyDescriptor:LPf,getOwnPropertyNames:WPf,getPrototypeOf:YPf}=Object,zPf=Object.prototype.hasOwnProperty,QPf=(i,u)=>{for(var t in u)y3i(i,t,{get:u[t],enumerable:!0})},JO0=(i,u,t,f)=>{if(u&&typeof u==="object"||typeof u==="function"){for(let l of WPf(u))if(!zPf.call(i,l)&&l!==t)y3i(i,l,{get:()=>u[l],enumerable:!(f=LPf(u,l))||f.enumerable})}return i},XO0=(i,u,t)=>(t=i!=null?XPf(YPf(i)):{},JO0(u||!i||!i.__esModule?y3i(t,"default",{value:i,enumerable:!0}):t,i)),HPf=(i)=>JO0(y3i({},"__esModule",{value:!0}),i),LO0={};QPf(LO0,{isValidAccessToken:()=>MPf,readAuthConfig:()=>RPf,writeAuthConfig:()=>CPf});zO0.exports=HPf(LO0);var _a=XO0(Ni("fs")),WO0=XO0(Ni("path")),bPf=va();function YO0(){let i=(0,bPf.getVercelDataDir)();if(!i)throw Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return WO0.join(i,"auth.json")}function RPf(){try{let i=YO0();if(!_a.existsSync(i))return null;let u=_a.readFileSync(i,"utf8");if(!u)return null;return JSON.parse(u)}catch(i){return null}}function CPf(i){let u=YO0(),t=WO0.dirname(u);if(!_a.existsSync(t))_a.mkdirSync(t,{mode:504,recursive:!0});_a.writeFileSync(u,JSON.stringify(i,null,2),{mode:384})}function MPf(i,u=0){if(!i.token)return!1;if(typeof i.expiresAt!=="number")return!0;let t=Math.floor(Date.now()/1000),f=u/1000;return i.expiresAt>=t+f}});var CO0=K((zal,RO0)=>{var{defineProperty:_tu,getOwnPropertyDescriptor:qPf,getOwnPropertyNames:VPf}=Object,rPf=Object.prototype.hasOwnProperty,mPf=(i,u)=>{for(var t in u)_tu(i,t,{get:u[t],enumerable:!0})},ePf=(i,u,t,f)=>{if(u&&typeof u==="object"||typeof u==="function"){for(let l of VPf(u))if(!rPf.call(i,l)&&l!==t)_tu(i,l,{get:()=>u[l],enumerable:!(f=qPf(u,l))||f.enumerable})}return i},aPf=(i)=>ePf(_tu({},"__esModule",{value:!0}),i),HO0={};mPf(HO0,{processTokenResponse:()=>uAf,refreshTokenRequest:()=>iAf});RO0.exports=aPf(HO0);var wtu=Ni("os"),oPf="https://vercel.com",sPf="cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",bO0=`@vercel/oidc node-${process.version} ${(0,wtu.platform)()} (${(0,wtu.arch)()}) ${(0,wtu.hostname)()}`,htu=null;async function pPf(){if(htu)return htu;let i=`${oPf}/.well-known/openid-configuration`,u=await fetch(i,{headers:{"user-agent":bO0}});if(!u.ok)throw Error("Failed to discover OAuth endpoints");let t=await u.json();if(!t||typeof t.token_endpoint!=="string")throw Error("Invalid OAuth discovery response");let f=t.token_endpoint;return htu=f,f}async function iAf(i){let u=await pPf();return await fetch(u,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":bO0},body:new URLSearchParams({client_id:sPf,grant_type:"refresh_token",...i})})}async function uAf(i){let u=await i.json();if(!i.ok){let t=typeof u==="object"&&u&&"error"in u?String(u.error):"Token refresh failed";return[Error(t)]}if(typeof u!=="object"||u===null)return[Error("Invalid token response")];if(typeof u.access_token!=="string")return[Error("Missing access_token in response")];if(u.token_type!=="Bearer")return[Error("Invalid token_type in response")];if(typeof u.expires_in!=="number")return[Error("Missing expires_in in response")];return[null,u]}});var ntu=K((Qal,rO0)=>{var{defineProperty:vtu,getOwnPropertyDescriptor:tAf,getOwnPropertyNames:fAf}=Object,lAf=Object.prototype.hasOwnProperty,cAf=(i,u)=>{for(var t in u)vtu(i,t,{get:u[t],enumerable:!0})},EAf=(i,u,t,f)=>{if(u&&typeof u==="object"||typeof u==="function"){for(let l of fAf(u))if(!lAf.call(i,l)&&l!==t)vtu(i,l,{get:()=>u[l],enumerable:!(f=tAf(u,l))||f.enumerable})}return i},dAf=(i)=>EAf(vtu({},"__esModule",{value:!0}),i),MO0={};cAf(MO0,{AccessTokenMissingError:()=>qO0,RefreshAccessTokenFailedError:()=>VO0});rO0.exports=dAf(MO0);class qO0 extends Error{constructor(){super("No authentication found. Please log in with the Vercel CLI (vercel login).");this.name="AccessTokenMissingError"}}class VO0 extends Error{constructor(i){super("Failed to refresh authentication token.",{cause:i});this.name="RefreshAccessTokenFailedError"}}});var va=K((Hal,sO0)=>{var{create:$Af,defineProperty:Z3i,getOwnPropertyDescriptor:wAf,getOwnPropertyNames:hAf,getPrototypeOf:_Af}=Object,vAf=Object.prototype.hasOwnProperty,nAf=(i,u)=>{for(var t in u)Z3i(i,t,{get:u[t],enumerable:!0})},eO0=(i,u,t,f)=>{if(u&&typeof u==="object"||typeof u==="function"){for(let l of hAf(u))if(!vAf.call(i,l)&&l!==t)Z3i(i,l,{get:()=>u[l],enumerable:!(f=wAf(u,l))||f.enumerable})}return i},aO0=(i,u,t)=>(t=i!=null?$Af(_Af(i)):{},eO0(u||!i||!i.__esModule?Z3i(t,"default",{value:i,enumerable:!0}):t,i)),DAf=(i)=>eO0(Z3i({},"__esModule",{value:!0}),i),oO0={};nAf(oO0,{assertVercelOidcTokenResponse:()=>Dtu,findProjectInfo:()=>yAf,getTokenPayload:()=>BAf,getVercelDataDir:()=>gAf,getVercelOidcToken:()=>NAf,getVercelToken:()=>OAf,isExpired:()=>FAf,loadToken:()=>TAf,saveToken:()=>ZAf});sO0.exports=DAf(oO0);var na=aO0(Ni("path")),Ky=aO0(Ni("fs")),fQ=wa(),T3i=KO0(),uQ=QO0(),mO0=CO0(),tQ=ntu();function gAf(){let u=(0,T3i.getUserDataDir)();if(!u)return null;return na.join(u,"com.vercel.cli")}async function OAf(i){let u=(0,uQ.readAuthConfig)();if(!u?.token)throw new tQ.AccessTokenMissingError;if((0,uQ.isValidAccessToken)(u,i?.expirationBufferMs))return u.token;if(!u.refreshToken)throw(0,uQ.writeAuthConfig)({}),new tQ.RefreshAccessTokenFailedError("No refresh token available");try{let t=await(0,mO0.refreshTokenRequest)({refresh_token:u.refreshToken}),[f,l]=await(0,mO0.processTokenResponse)(t);if(f||!l)throw(0,uQ.writeAuthConfig)({}),new tQ.RefreshAccessTokenFailedError(f);let c={token:l.access_token,expiresAt:Math.floor(Date.now()/1000)+l.expires_in};if(l.refresh_token)c.refreshToken=l.refresh_token;return(0,uQ.writeAuthConfig)(c),c.token}catch(t){if((0,uQ.writeAuthConfig)({}),t instanceof tQ.AccessTokenMissingError||t instanceof tQ.RefreshAccessTokenFailedError)throw t;throw new tQ.RefreshAccessTokenFailedError(t)}}async function NAf(i,u,t){let f=`https://api.vercel.com/v1/projects/${u}/token?source=vercel-oidc-refresh${t?`&teamId=${t}`:""}`,l=await fetch(f,{method:"POST",headers:{Authorization:`Bearer ${i}`}});if(!l.ok)throw new fQ.VercelOidcTokenError(`Failed to refresh OIDC token: ${l.statusText}`);let c=await l.json();return Dtu(c),c}function Dtu(i){if(!i||typeof i!=="object")throw TypeError("Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again");if(!("token"in i)||typeof i.token!=="string")throw TypeError("Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again")}function yAf(){let i=(0,T3i.findRootDir)();if(!i)throw new fQ.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let u=na.join(i,".vercel","project.json");if(!Ky.existsSync(u))throw new fQ.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let t=JSON.parse(Ky.readFileSync(u,"utf8"));if(typeof t.projectId!=="string"&&typeof t.orgId!=="string")throw TypeError("Expected a string-valued projectId property. Try running `vc link` to re-link your project.");return{projectId:t.projectId,teamId:t.orgId}}function ZAf(i,u){let t=(0,T3i.getUserDataDir)();if(!t)throw new fQ.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let f=na.join(t,"com.vercel.token",`${u}.json`),l=JSON.stringify(i);Ky.mkdirSync(na.dirname(f),{mode:504,recursive:!0}),Ky.writeFileSync(f,l),Ky.chmodSync(f,432);return}function TAf(i){let u=(0,T3i.getUserDataDir)();if(!u)throw new fQ.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let t=na.join(u,"com.vercel.token",`${i}.json`);if(!Ky.existsSync(t))return null;let f=JSON.parse(Ky.readFileSync(t,"utf8"));return Dtu(f),f}function BAf(i){let u=i.split(".");if(u.length!==3)throw new fQ.VercelOidcTokenError("Invalid token. Please run `vc env pull` and try again");let t=u[1].replace(/-/g,"+").replace(/_/g,"/"),f=t.padEnd(t.length+(4-t.length%4)%4,"=");return JSON.parse(Buffer.from(f,"base64").toString("utf8"))}function FAf(i,u=0){return i.exp*1000<Date.now()+u}});var tN0=K((bal,uN0)=>{var{defineProperty:gtu,getOwnPropertyDescriptor:UAf,getOwnPropertyNames:IAf}=Object,PAf=Object.prototype.hasOwnProperty,AAf=(i,u)=>{for(var t in u)gtu(i,t,{get:u[t],enumerable:!0})},xAf=(i,u,t,f)=>{if(u&&typeof u==="object"||typeof u==="function"){for(let l of IAf(u))if(!PAf.call(i,l)&&l!==t)gtu(i,l,{get:()=>u[l],enumerable:!(f=UAf(u,l))||f.enumerable})}return i},kAf=(i)=>xAf(gtu({},"__esModule",{value:!0}),i),iN0={};AAf(iN0,{refreshToken:()=>GAf});uN0.exports=kAf(iN0);var pO0=wa(),l7=va();async function GAf(i){let u=i?.project,t=i?.team;if(!u&&!t){let l=(0,l7.findProjectInfo)();u=l.projectId,t=l.teamId}else if(!u||!t){let l=(0,l7.findProjectInfo)();u=u??l.projectId,t=t??l.teamId}if(!u)throw new pO0.VercelOidcTokenError("Failed to refresh OIDC token: No project specified. Try re-linking your project with `vc link`");let f=(0,l7.loadToken)(u);if(!f||(0,l7.isExpired)((0,l7.getTokenPayload)(f.token),i?.expirationBufferMs)){let l=await(0,l7.getVercelToken)({expirationBufferMs:i?.expirationBufferMs});if(f=await(0,l7.getVercelOidcToken)(l,u,t),!f)throw new pO0.VercelOidcTokenError("Failed to refresh OIDC token");(0,l7.saveToken)(f,u)}process.env.VERCEL_OIDC_TOKEN=f.token;return}});var cN0=K((Ral,lN0)=>{var{defineProperty:Ntu,getOwnPropertyDescriptor:SAf,getOwnPropertyNames:jAf}=Object,KAf=Object.prototype.hasOwnProperty,JAf=(i,u)=>{for(var t in u)Ntu(i,t,{get:u[t],enumerable:!0})},XAf=(i,u,t,f)=>{if(u&&typeof u==="object"||typeof u==="function"){for(let l of jAf(u))if(!KAf.call(i,l)&&l!==t)Ntu(i,l,{get:()=>u[l],enumerable:!(f=SAf(u,l))||f.enumerable})}return i},LAf=(i)=>XAf(Ntu({},"__esModule",{value:!0}),i),fN0={};JAf(fN0,{getVercelOidcToken:()=>zAf,getVercelOidcTokenSync:()=>Otu});lN0.exports=LAf(fN0);var WAf=ctu(),YAf=wa();async function zAf(i){let u="",t;try{u=Otu()}catch(f){t=f}try{let[{getTokenPayload:f,isExpired:l},{refreshToken:c}]=await Promise.all([await Promise.resolve().then(() => G(va())),await Promise.resolve().then(() => G(tN0()))]);if(!u||l(f(u),i?.expirationBufferMs))await c(i),u=Otu()}catch(f){let l=t instanceof Error?t.message:"";if(f instanceof Error)l=`${l}
|
|
86401
86401
|
${f.message}`;if(l)throw new YAf.VercelOidcTokenError(l);throw f}return u}function Otu(){let i=(0,WAf.getContext)().headers?.["x-vercel-oidc-token"]??process.env.VERCEL_OIDC_TOKEN;if(!i)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 i}});var Ztu=K((Cal,wN0)=>{var{defineProperty:ytu,getOwnPropertyDescriptor:QAf,getOwnPropertyNames:HAf}=Object,bAf=Object.prototype.hasOwnProperty,RAf=(i,u)=>{for(var t in u)ytu(i,t,{get:u[t],enumerable:!0})},CAf=(i,u,t,f)=>{if(u&&typeof u==="object"||typeof u==="function"){for(let l of HAf(u))if(!bAf.call(i,l)&&l!==t)ytu(i,l,{get:()=>u[l],enumerable:!(f=QAf(u,l))||f.enumerable})}return i},MAf=(i)=>CAf(ytu({},"__esModule",{value:!0}),i),$N0={};RAf($N0,{AccessTokenMissingError:()=>dN0.AccessTokenMissingError,RefreshAccessTokenFailedError:()=>dN0.RefreshAccessTokenFailedError,getContext:()=>qAf.getContext,getVercelOidcToken:()=>EN0.getVercelOidcToken,getVercelOidcTokenSync:()=>EN0.getVercelOidcTokenSync,getVercelToken:()=>VAf.getVercelToken});wN0.exports=MAf($N0);var EN0=cN0(),qAf=ctu(),dN0=ntu(),VAf=va()});import{z as ND}from"zod/v4";import{z as BN0}from"zod/v4";import{z as Btu}from"zod/v4";import{z as X1}from"zod/v4";import{z as Bc}from"zod/v4";import{z as J1}from"zod/v4";import{z as B3i}from"zod/v4";import{z as Ul}from"zod/v4";import{z as il}from"zod/v4";import{z as ot}from"zod/v4";import{z as Ll}from"zod/v4";import{z as w4}from"zod";import{z as l4}from"zod";async function zN0({response:i,statusCode:u,defaultMessage:t="Gateway request failed",cause:f,authMethod:l}){var c;let E=await w1({value:i,schema:wxf});if(!E.success){let _=typeof i==="object"&&i!==null&&"generationId"in i?i.generationId:void 0;return new $xf({message:`Invalid error response format: ${t}`,statusCode:u,response:i,validationError:E.error,cause:f,generationId:_})}let d=E.value,$=d.error.type,w=d.error.message,h=(c=d.generationId)!=null?c:void 0;switch($){case"authentication_error":return F3i.createContextualError({apiKeyProvided:l==="api-key",oidcTokenProvided:l==="oidc",statusCode:u,cause:f,generationId:h});case"invalid_request_error":return new aAf({message:w,statusCode:u,cause:f,generationId:h});case"rate_limit_exceeded":return new sAf({message:w,statusCode:u,cause:f,generationId:h});case"model_not_found":{let _=await w1({value:d.error.param,schema:ixf});return new uxf({message:w,statusCode:u,modelId:_.success?_.value.modelId:void 0,cause:f,generationId:h})}case"internal_server_error":return new kN0({message:w,statusCode:u,cause:f,generationId:h});case"failed_dependency":return new lxf({message:w,statusCode:u,cause:f,generationId:h});case"forbidden":return new Exf({message:w,statusCode:u,cause:f,generationId:h});default:return new kN0({message:w,statusCode:u,cause:f,generationId:h})}}function hxf(i){if(i.data!==void 0)return i.data;if(i.responseBody!=null)try{return JSON.parse(i.responseBody)}catch(u){return i.responseBody}return{}}function CN0(i){if(!(i instanceof Error))return!1;let u=i.code;if(typeof u==="string")return["UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"].includes(u);return!1}async function c$(i,u){var t;if(L1.isInstance(i))return i;if(CN0(i))return RN0.createTimeoutError({originalMessage:i instanceof Error?i.message:"Unknown error",cause:i});if(_t.isInstance(i)){if(i.cause&&CN0(i.cause))return RN0.createTimeoutError({originalMessage:i.message,cause:i});return await zN0({response:hxf(i),statusCode:(t=i.statusCode)!=null?t:500,defaultMessage:"Gateway request failed",cause:i,authMethod:u})}return await zN0({response:{},statusCode:500,defaultMessage:i instanceof Error?`Gateway request failed: ${i.message}`:"Unknown Gateway error",cause:i,authMethod:u})}async function ov(i){let u=await w1({value:i[uy0],schema:vxf});return u.success?u.value:void 0}function qN0(i){if(i.type==="file"&&i.data instanceof Uint8Array)return{...i,data:md(i.data)};return i}function Sxf(i){if(i.type==="file"&&i.data instanceof Uint8Array)return{...i,data:md(i.data)};return i}async function rxf(){var i;return(i=ty0.getContext().headers)==null?void 0:i["x-vercel-id"]}function Ftu(i={}){var u,t;let f=null,l=null,c=(u=i.metadataCacheRefreshMillis)!=null?u:300000,E=0,d=(t=Kg(i.baseURL))!=null?t:"https://ai-gateway.vercel.sh/v3/ai",$=async()=>{try{let Z=await axf(i);return f4({Authorization:`Bearer ${Z.token}`,"ai-gateway-protocol-version":exf,[uy0]:Z.authMethod,...i.headers},`ai-sdk/gateway/${mxf}`)}catch(Z){throw F3i.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:Z})}},w=()=>{let Z=Kv({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),T=Kv({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),B=Kv({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),F=Kv({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let P=await rxf();return{...Z&&{"ai-o11y-deployment-id":Z},...T&&{"ai-o11y-environment":T},...B&&{"ai-o11y-region":B},...P&&{"ai-o11y-request-id":P},...F&&{"ai-o11y-project-id":F}}}},h=(Z)=>{return new Txf(Z,{provider:"gateway",baseURL:d,headers:$,fetch:i.fetch,o11yHeaders:w()})},_=async()=>{var Z,T,B;let F=(B=(T=(Z=i._internal)==null?void 0:Z.currentDate)==null?void 0:T.call(Z).getTime())!=null?B:Date.now();if(!f||F-E>c)E=F,f=new MN0({baseURL:d,headers:$,fetch:i.fetch}).getAvailableModels().then((P)=>{return l=P,P}).catch(async(P)=>{throw await c$(P,await ov(await $()))});return l?Promise.resolve(l):f},v=async()=>{return new MN0({baseURL:d,headers:$,fetch:i.fetch}).getCredits().catch(async(Z)=>{throw await c$(Z,await ov(await $()))})},n=async(Z)=>{return new Oxf({baseURL:d,headers:$,fetch:i.fetch}).getSpendReport(Z).catch(async(T)=>{throw await c$(T,await ov(await $()))})},D=async(Z)=>{return new yxf({baseURL:d,headers:$,fetch:i.fetch}).getGenerationInfo(Z).catch(async(T)=>{throw await c$(T,await ov(await $()))})},O=function(Z){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return h(Z)};O.specificationVersion="v3",O.getAvailableModels=_,O.getCredits=v,O.getSpendReport=n,O.getGenerationInfo=D,O.imageModel=(Z)=>{return new Ixf(Z,{provider:"gateway",baseURL:d,headers:$,fetch:i.fetch,o11yHeaders:w()})},O.languageModel=h;let N=(Z)=>{return new Bxf(Z,{provider:"gateway",baseURL:d,headers:$,fetch:i.fetch,o11yHeaders:w()})};O.embeddingModel=N,O.textEmbeddingModel=N,O.videoModel=(Z)=>{return new Gxf(Z,{provider:"gateway",baseURL:d,headers:$,fetch:i.fetch,o11yHeaders:w()})};let y=(Z)=>{return new Lxf(Z,{provider:"gateway",baseURL:d,headers:$,fetch:i.fetch,o11yHeaders:w()})};return O.rerankingModel=y,O.reranking=y,O.chat=O.languageModel,O.embedding=O.embeddingModel,O.image=O.imageModel,O.video=O.videoModel,O.tools=Vxf,O}async function axf(i){let u=Kv({settingValue:i.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(u)return{token:u,authMethod:"api-key"};return{token:await fy0.getVercelOidcToken(),authMethod:"oidc"}}var ty0,fy0,rAf="vercel.ai.gateway.error",Ttu,hN0,_N0,L1,VN0="GatewayAuthenticationError",mAf,vN0,nN0,DN0,F3i,rN0="GatewayInvalidRequestError",eAf,gN0,ON0,NN0,aAf,mN0="GatewayRateLimitError",oAf,yN0,ZN0,TN0,sAf,eN0="GatewayModelNotFoundError",pAf,FN0,ixf,UN0,IN0,uxf,aN0="GatewayInternalServerError",txf,PN0,AN0,xN0,kN0,oN0="GatewayFailedDependencyError",fxf,GN0,SN0,jN0,lxf,sN0="GatewayForbiddenError",cxf,KN0,JN0,XN0,Exf,pN0="GatewayResponseError",dxf,LN0,WN0,YN0,$xf,wxf,iy0="GatewayTimeoutError",_xf,QN0,HN0,bN0,RN0,uy0="ai-gateway-auth-method",vxf,nxf,MN0=class{constructor(i){this.config=i}async getAvailableModels(){try{let{value:i}=await iw({url:`${this.config.baseURL}/config`,headers:await Q0(this.config.headers()),successfulResponseHandler:dt(Dxf),failedResponseHandler:Jl({errorSchema:X1.any(),errorToMessage:(u)=>u}),fetch:this.config.fetch});return i}catch(i){throw await c$(i)}}async getCredits(){try{let i=new URL(this.config.baseURL),{value:u}=await iw({url:`${i.origin}/v1/credits`,headers:await Q0(this.config.headers()),successfulResponseHandler:dt(gxf),failedResponseHandler:Jl({errorSchema:X1.any(),errorToMessage:(t)=>t}),fetch:this.config.fetch});return u}catch(i){throw await c$(i)}}},Dxf,gxf,Oxf=class{constructor(i){this.config=i}async getSpendReport(i){try{let u=new URL(this.config.baseURL),t=new URLSearchParams;if(t.set("start_date",i.startDate),t.set("end_date",i.endDate),i.groupBy)t.set("group_by",i.groupBy);if(i.datePart)t.set("date_part",i.datePart);if(i.userId)t.set("user_id",i.userId);if(i.model)t.set("model",i.model);if(i.provider)t.set("provider",i.provider);if(i.credentialType)t.set("credential_type",i.credentialType);if(i.tags&&i.tags.length>0)t.set("tags",i.tags.join(","));let{value:f}=await iw({url:`${u.origin}/v1/report?${t.toString()}`,headers:await Q0(this.config.headers()),successfulResponseHandler:dt(Nxf),failedResponseHandler:Jl({errorSchema:Bc.any(),errorToMessage:(l)=>l}),fetch:this.config.fetch});return f}catch(u){throw await c$(u)}}},Nxf,yxf=class{constructor(i){this.config=i}async getGenerationInfo(i){try{let u=new URL(this.config.baseURL),{value:t}=await iw({url:`${u.origin}/v1/generation?id=${encodeURIComponent(i.id)}`,headers:await Q0(this.config.headers()),successfulResponseHandler:dt(Zxf),failedResponseHandler:Jl({errorSchema:J1.any(),errorToMessage:(f)=>f}),fetch:this.config.fetch});return t}catch(u){throw await c$(u)}}},Zxf,Txf=class{constructor(i,u){this.modelId=i,this.config=u,this.specificationVersion="v3",this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(i){let{abortSignal:u,...t}=i;return{args:this.maybeEncodeFileParts(t),warnings:[]}}async doGenerate(i){let{args:u,warnings:t}=await this.getArgs(i),{abortSignal:f}=i,l=await Q0(this.config.headers());try{let{responseHeaders:c,value:E,rawValue:d}=await Nt({url:this.getUrl(),headers:s0(l,i.headers,this.getModelConfigHeaders(this.modelId,!1),await Q0(this.config.o11yHeaders)),body:u,successfulResponseHandler:dt(B3i.any()),failedResponseHandler:Jl({errorSchema:B3i.any(),errorToMessage:($)=>$}),...f&&{abortSignal:f},fetch:this.config.fetch});return{...E,request:{body:u},response:{headers:c,body:d},warnings:t}}catch(c){throw await c$(c,await ov(l))}}async doStream(i){let{args:u,warnings:t}=await this.getArgs(i),{abortSignal:f}=i,l=await Q0(this.config.headers());try{let{value:c,responseHeaders:E}=await Nt({url:this.getUrl(),headers:s0(l,i.headers,this.getModelConfigHeaders(this.modelId,!0),await Q0(this.config.o11yHeaders)),body:u,successfulResponseHandler:wE(B3i.any()),failedResponseHandler:Jl({errorSchema:B3i.any(),errorToMessage:(d)=>d}),...f&&{abortSignal:f},fetch:this.config.fetch});return{stream:c.pipeThrough(new TransformStream({start(d){if(t.length>0)d.enqueue({type:"stream-start",warnings:t})},transform(d,$){if(d.success){let w=d.value;if(w.type==="raw"&&!i.includeRawChunks)return;if(w.type==="response-metadata"&&w.timestamp&&typeof w.timestamp==="string")w.timestamp=new Date(w.timestamp);$.enqueue(w)}else $.error(d.error)}})),request:{body:u},response:{headers:E}}}catch(c){throw await c$(c,await ov(l))}}isFilePart(i){return i&&typeof i==="object"&&"type"in i&&i.type==="file"}maybeEncodeFileParts(i){for(let u of i.prompt)for(let t of u.content)if(this.isFilePart(t)){let f=t;if(f.data instanceof Uint8Array){let l=Uint8Array.from(f.data),c=Buffer.from(l).toString("base64");f.data=new URL(`data:${f.mediaType||"application/octet-stream"};base64,${c}`)}}return i}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(i,u){return{"ai-language-model-specification-version":"3","ai-language-model-id":i,"ai-language-model-streaming":String(u)}}},Bxf=class{constructor(i,u){this.modelId=i,this.config=u,this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values:i,headers:u,abortSignal:t,providerOptions:f}){var l,c;let E=await Q0(this.config.headers());try{let{responseHeaders:d,value:$,rawValue:w}=await Nt({url:this.getUrl(),headers:s0(E,u!=null?u:{},this.getModelConfigHeaders(),await Q0(this.config.o11yHeaders)),body:{values:i,...f?{providerOptions:f}:{}},successfulResponseHandler:dt(Uxf),failedResponseHandler:Jl({errorSchema:Ul.any(),errorToMessage:(h)=>h}),...t&&{abortSignal:t},fetch:this.config.fetch});return{embeddings:$.embeddings,usage:(l=$.usage)!=null?l:void 0,providerMetadata:$.providerMetadata,response:{headers:d,body:w},warnings:(c=$.warnings)!=null?c:[]}}catch(d){throw await c$(d,await ov(E))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},Fxf,Uxf,Ixf=class{constructor(i,u){this.modelId=i,this.config=u,this.specificationVersion="v3",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:i,n:u,size:t,aspectRatio:f,seed:l,files:c,mask:E,providerOptions:d,headers:$,abortSignal:w}){var h,_,v,n;let D=await Q0(this.config.headers());try{let{responseHeaders:O,value:N,rawValue:y}=await Nt({url:this.getUrl(),headers:s0(D,$!=null?$:{},this.getModelConfigHeaders(),await Q0(this.config.o11yHeaders)),body:{prompt:i,n:u,...t&&{size:t},...f&&{aspectRatio:f},...l&&{seed:l},...d&&{providerOptions:d},...c&&{files:c.map((Z)=>qN0(Z))},...E&&{mask:qN0(E)}},successfulResponseHandler:dt(kxf),failedResponseHandler:Jl({errorSchema:il.any(),errorToMessage:(Z)=>Z}),...w&&{abortSignal:w},fetch:this.config.fetch});return{images:N.images,warnings:(h=N.warnings)!=null?h:[],providerMetadata:N.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:O},...N.usage!=null&&{usage:{inputTokens:(_=N.usage.inputTokens)!=null?_:void 0,outputTokens:(v=N.usage.outputTokens)!=null?v:void 0,totalTokens:(n=N.usage.totalTokens)!=null?n:void 0}}}}catch(O){throw await c$(O,await ov(D))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}},Pxf,Axf,xxf,kxf,Gxf=class{constructor(i,u){this.modelId=i,this.config=u,this.specificationVersion="v3",this.maxVideosPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:i,n:u,aspectRatio:t,resolution:f,duration:l,fps:c,seed:E,image:d,providerOptions:$,headers:w,abortSignal:h}){var _;let v=await Q0(this.config.headers());try{let{responseHeaders:n,value:D}=await Nt({url:this.getUrl(),headers:s0(v,w!=null?w:{},this.getModelConfigHeaders(),await Q0(this.config.o11yHeaders),{accept:"text/event-stream"}),body:{prompt:i,n:u,...t&&{aspectRatio:t},...f&&{resolution:f},...l&&{duration:l},...c&&{fps:c},...E&&{seed:E},...$&&{providerOptions:$},...d&&{image:Sxf(d)}},successfulResponseHandler:async({response:O,url:N,requestBodyValues:y})=>{if(O.body==null)throw new _t({message:"SSE response body is empty",url:N,requestBodyValues:y,statusCode:O.status});let T=pn({stream:O.body,schema:Xxf}).getReader(),{done:B,value:F}=await T.read();if(T.releaseLock(),B||!F)throw new _t({message:"SSE stream ended without a data event",url:N,requestBodyValues:y,statusCode:O.status});if(!F.success)throw new _t({message:"Failed to parse video SSE event",cause:F.error,url:N,requestBodyValues:y,statusCode:O.status});let P=F.value;if(P.type==="error")throw new _t({message:P.message,statusCode:P.statusCode,url:N,requestBodyValues:y,responseHeaders:Object.fromEntries([...O.headers]),responseBody:JSON.stringify(P),data:{error:{message:P.message,type:P.errorType,param:P.param}}});return{value:{videos:P.videos,warnings:P.warnings,providerMetadata:P.providerMetadata},responseHeaders:Object.fromEntries([...O.headers])}},failedResponseHandler:Jl({errorSchema:ot.any(),errorToMessage:(O)=>O}),...h&&{abortSignal:h},fetch:this.config.fetch});return{videos:D.videos,warnings:(_=D.warnings)!=null?_:[],providerMetadata:D.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:n}}}catch(n){throw await c$(n,await ov(v))}}getUrl(){return`${this.config.baseURL}/video-model`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"3","ai-model-id":this.modelId}}},jxf,Kxf,Jxf,Xxf,Lxf=class{constructor(i,u){this.modelId=i,this.config=u,this.specificationVersion="v3"}get provider(){return this.config.provider}async doRerank({documents:i,query:u,topN:t,headers:f,abortSignal:l,providerOptions:c}){var E;let d=await Q0(this.config.headers());try{let{responseHeaders:$,value:w,rawValue:h}=await Nt({url:this.getUrl(),headers:s0(d,f!=null?f:{},this.getModelConfigHeaders(),await Q0(this.config.o11yHeaders)),body:{documents:i,query:u,...t!=null?{topN:t}:{},...c?{providerOptions:c}:{}},successfulResponseHandler:dt(Yxf),failedResponseHandler:Jl({errorSchema:Ll.any(),errorToMessage:(_)=>_}),...l&&{abortSignal:l},fetch:this.config.fetch});return{ranking:w.ranking,providerMetadata:w.providerMetadata,response:{headers:$,body:h},warnings:(E=w.warnings)!=null?E:[]}}catch($){throw await c$($,await ov(d))}}getUrl(){return`${this.config.baseURL}/reranking-model`}getModelConfigHeaders(){return{"ai-reranking-model-specification-version":"3","ai-model-id":this.modelId}}},Wxf,Yxf,zxf,Qxf,Hxf,bxf=(i={})=>Hxf(i),Rxf,Cxf,Mxf,qxf=(i={})=>Mxf(i),Vxf,mxf="3.0.133",exf="0.0.1",U3i;var Da=g(()=>{uu();ru();uu();uu();uu();uu();uu();uu();uu();uu();uu();ru();uu();uu();uu();uu();ty0=G(Ztu(),1),fy0=G(Ztu(),1),Ttu=Symbol.for(rAf),L1=class i extends(_N0=Error,hN0=Ttu,_N0){constructor({message:u,statusCode:t=500,cause:f,generationId:l,isRetryable:c=t!=null&&(t===408||t===409||t===429||t>=500)}){super(l?`${u} [${l}]`:u);this[hN0]=!0,this.statusCode=t,this.cause=f,this.generationId=l,this.isRetryable=c}static isInstance(u){return i.hasMarker(u)}static hasMarker(u){return typeof u==="object"&&u!==null&&Ttu in u&&u[Ttu]===!0}},mAf=`vercel.ai.gateway.error.${VN0}`,vN0=Symbol.for(mAf),F3i=class i extends(DN0=L1,nN0=vN0,DN0){constructor({message:u="Authentication failed",statusCode:t=401,cause:f,generationId:l}={}){super({message:u,statusCode:t,cause:f,generationId:l});this[nN0]=!0,this.name=VN0,this.type="authentication_error"}static isInstance(u){return L1.hasMarker(u)&&vN0 in u}static createContextualError({apiKeyProvided:u,oidcTokenProvided:t,message:f="Authentication failed",statusCode:l=401,cause:c,generationId:E}){let d;if(u)d=`AI Gateway authentication failed: Invalid API key.
|
|
86402
86402
|
|
|
86403
86403
|
Create a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
|